MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
harwout.c
Go to the documentation of this file.
1 /* $Header: /var/cvs/mbdyn/mbdyn/mbdyn-1.0/libraries/libmbwrap/harwout.c,v 1.20 2017/01/12 14:44:25 masarati Exp $ */
2 /*
3  * MBDyn (C) is a multibody analysis code.
4  * http://www.mbdyn.org
5  *
6  * Copyright (C) 1996-2017
7  *
8  * Pierangelo Masarati <masarati@aero.polimi.it>
9  * Paolo Mantegazza <mantegazza@aero.polimi.it>
10  *
11  * Dipartimento di Ingegneria Aerospaziale - Politecnico di Milano
12  * via La Masa, 34 - 20156 Milano, Italy
13  * http://www.aero.polimi.it
14  *
15  * Changing this copyright notice is forbidden.
16  *
17  * This program is free software; you can redistribute it and/or modify
18  * it under the terms of the GNU General Public License as published by
19  * the Free Software Foundation (version 2 of the License).
20  *
21  *
22  * This program is distributed in the hope that it will be useful,
23  * but WITHOUT ANY WARRANTY; without even the implied warranty of
24  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25  * GNU General Public License for more details.
26  *
27  * You should have received a copy of the GNU General Public License
28  * along with this program; if not, write to the Free Software
29  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30  */
31 
32 #include "mbconfig.h" /* This goes first in every *.c,*.cc file */
33 
34 #ifdef USE_HARWELL
35 
36 #include <stdlib.h>
37 #include <stdio.h>
38 #include "ac/f2c.h"
39 
40 #include "harwout.h"
41 
42 /* ma28ad - begin */
43 
44 int __FC_DECL__(w28ad9)(integer* lp, integer* i)
45 {
46 #ifdef __cplusplus
47  char* v[4];
48  char buf_i[256];
49 
50  sprintf(buf_i, "%10d", *i);
51  v[0] = " ERROR RETURN FROM MA28A/AD BECAUSE N OUT OF RANGE = ";
52  v[1] = buf_i;
53  v[2] = "\n";
54  v[3] = NULL;
55 
56  harwell_error(MA28AD_99999, v);
57 #else /* !__cplusplus */
58  printf(" ERROR RETURN FROM MA28A/AD BECAUSE N OUT OF RANGE = %10d\n", *i);
59 #endif /* !__cplusplus */
60  return 0;
61 }
62 
63 int __FC_DECL__(w28ad8)(integer* lp, integer* i)
64 {
65 #ifdef __cplusplus
66  char* v[4];
67  char buf_i[256];
68 
69  sprintf(buf_i, "%10d", *i);
70  v[0] = " ERROR RETURN FROM MA28A/AD BECAUSE NZ NON POSITIVE = ";
71  v[1] = buf_i;
72  v[2] = "\n";
73  v[3] = NULL;
74 
75  harwell_error(MA28AD_99998, v);
76 #else /* !__cplusplus */
77  printf(" ERROR RETURN FROM MA28A/AD BECAUSE NZ NON POSITIVE = %10d\n", *i);
78 #endif /* !__cplusplus */
79  return 0;
80 }
81 
82 int __FC_DECL__(w28ad7)(integer* lp, integer* i)
83 {
84 #ifdef __cplusplus
85  char* v[4];
86  char buf_i[256];
87 
88  sprintf(buf_i, "%10d", *i);
89  v[0] = " ERROR RETURN FROM MA28A/AD BECAUSE LICN TOO SMALL = ";
90  v[1] = buf_i;
91  v[2] = "\n";
92  v[3] = NULL;
93 
94  harwell_error(MA28AD_99997, v);
95 #else /* !__cplusplus */
96  printf(" ERROR RETURN FROM MA28A/AD BECAUSE LICN TOO SMALL = %10d\n", *i);
97 #endif /* !__cplusplus */
98  return 0;
99 }
100 
101 int __FC_DECL__(w28ad6)(integer* lp, integer* i)
102 {
103 #ifdef __cplusplus
104  char* v[4];
105  char buf_i[256];
106 
107  sprintf(buf_i, "%10d", *i);
108  v[0] = " ERROR RETURN FROM MA28A/AD BECAUSE LIRN TOO SMALL = ";
109  v[1] = buf_i;
110  v[2] = "\n";
111  v[3] = NULL;
112 
113  harwell_error(MA28AD_99996, v);
114 #else /* !__cplusplus */
115  printf(" ERROR RETURN FROM MA28A/AD BECAUSE LIRN TOO SMALL = %10d\n", *i);
116 #endif /* !__cplusplus */
117  return 0;
118 }
119 
120 int __FC_DECL__(w28ad5)(integer* lp)
121 {
122 #ifdef __cplusplus
123  char* v[3];
124 
125  v[0] = " ERROR RETURN FROM MA28A/AD BECAUSE INDICES FOUND OUT OF RANGE";
126  v[1] = "\n";
127  v[2] = NULL;
128 
129  harwell_error(MA28AD_99995, v);
130 #else /* !__cplusplus */
131  printf(" ERROR RETURN FROM MA28A/AD BECAUSE INDICES FOUND OUT OF RANGE\n");
132 #endif /* !__cplusplus */
133  return 0;
134 }
135 
136 int __FC_DECL__(w28ad4)(integer* lp,
137  integer* i1, doublereal* d, integer* i2, integer* i3)
138 {
139 #ifdef __cplusplus
140  char* v[11];
141  char buf_i1[256];
142  char buf_d[256];
143  char buf_i2[256];
144  char buf_i3[256];
145 
146  sprintf(buf_i1, "%6d", *i1);
147  sprintf(buf_d, "%12.4e", *d);
148  sprintf(buf_i2, "%8d", *i2);
149  sprintf(buf_i3, "%8d", *i3);
150 
151  v[0] = " ";
152  v[1] = buf_i1;
153  v[2] = "TH ELEMENT WITH VALUE ";
154  v[3] = buf_d;
155  v[4] = "\n";
156  v[5] = " IS OUT OF RANGE WITH INDICES ";
157  v[6] = buf_i2;
158  v[7] = ", ";
159  v[8] = buf_i3;
160  v[9] = "\n";
161  v[10] = NULL;
162 
163  harwell_error(MA28AD_99994, v);
164 #else /* !__cplusplus */
165  printf(" %6dTH ELEMENT WITH VALUE %12.4e\n"
166  " IS OUT OF RANGE WITH INDICES %8d, %8d\n",
167  *i1, *d, *i2, *i3);
168 #endif /* !__cplusplus */
169  return 0;
170 }
171 
172 int __FC_DECL__(w28ad3)(integer* lp, integer* i1, integer* i2, doublereal* d)
173 {
174 #ifdef __cplusplus
175  char* v[8];
176  char buf_i1[256];
177  char buf_i2[256];
178  char buf_d[256];
179 
180  sprintf(buf_i1, "%8d", *i1);
181  sprintf(buf_i2, "%8d", *i2);
182  sprintf(buf_d, "%12.4e", *d);
183 
184  v[0] = " DUPLICATE ELEMENT IN POSITION ";
185  v[1] = buf_i1;
186  v[2] = ",";
187  v[3] = buf_i1;
188  v[4] = " WITH VALUE ";
189  v[5] = buf_d;
190  v[6] = "\n";
191  v[7] = NULL;
192 
193  harwell_error(MA28AD_99993, v);
194 #else /* !__cplusplus */
195  printf(" DUPLICATE ELEMENT IN POSITION %8d,%8d WITH VALUE %12.4e\n",
196  *i1, *i2, *d);
197 #endif /* !__cplusplus */
198  return 0;
199 }
200 
201 int __FC_DECL__(w28ad2)(integer* lp)
202 {
203 #ifdef __cplusplus
204  char* v[3];
205 
206  v[0] = " ERROR RETURN FROM MA28A/AD BECAUSE ERROR RETURN FROM MC23A/AD";
207  v[1] = "\n";
208  v[2] = NULL;
209 
210  harwell_error(MA28AD_99992, v);
211 #else /* !__cplusplus */
212  printf(" ERROR RETURN FROM MA28A/AD BECAUSE ERROR RETURN FROM MC23A/AD\n");
213 #endif /* !__cplusplus */
214  return 0;
215 }
216 
217 int __FC_DECL__(w28ad1)(integer* lp)
218 {
219 #ifdef __cplusplus
220  char* v[3];
221 
222  v[0] = " ERROR RETURN FROM MA28A/AD BECAUSE ERROR RETURN FROM MA30A/AD";
223  v[1] = "\n";
224  v[2] = NULL;
225 
226  harwell_error(MA28AD_99991, v);
227 #else /* !__cplusplus */
228  printf(" ERROR RETURN FROM MA28A/AD BECAUSE ERROR RETURN FROM MA30A/AD\n");
229 #endif /* !__cplusplus */
230  return 0;
231 }
232 
233 /* ma28ad - end */
234 
235 
236 /* ma28bd - begin */
237 
238 int __FC_DECL__(w28bd9)(integer* lp, integer* i1, integer* i2)
239 {
240 #ifdef __cplusplus
241  char* v[7];
242  char buf_i1[256];
243  char buf_i2[256];
244 
245  sprintf(buf_i1, "%4d", *i1);
246  sprintf(buf_i2, "%7d", *i2);
247 
248  v[0] = " ERROR RETURN FROM MA28B/BD WITH IFLAG=";
249  v[1] = buf_i1;
250  v[2] = "\n";
251  v[3] = buf_i1;
252  v[4] = " ENTRIES DROPPED FROM STRUCTURE BY MA28A/AD";
253  v[5] = "\n";
254  v[6] = NULL;
255 
256  harwell_error(MA28BD_99999, v);
257 #else /* !__cplusplus */
258  printf(" ERROR RETURN FROM MA28B/BD WITH IFLAG=%4d\n"
259  "%7d ENTRIES DROPPED FROM STRUCTURE BY MA28A/AD\n",
260  *i1, *i2);
261 #endif /* !__cplusplus */
262  return 0;
263 }
264 
265 int __FC_DECL__(w28bd8)(integer* lp, integer* i)
266 {
267 #ifdef __cplusplus
268  char* v[4];
269  char buf_i[256];
270 
271  sprintf(buf_i, "%10d", *i);
272  v[0] = " ERROR RETURN FROM MA28B/BD BECAUSE N OUT OF RANGE = ";
273  v[1] = buf_i;
274  v[2] = "\n";
275  v[3] = NULL;
276 
277  harwell_error(MA28BD_99998, v);
278 #else /* !__cplusplus */
279  printf(" ERROR RETURN FROM MA28B/BD BECAUSE N OUT OF RANGE = %10d\n", *i);
280 #endif /* !__cplusplus */
281  return 0;
282 }
283 
284 int __FC_DECL__(w28bd7)(integer* lp, integer* i)
285 {
286 #ifdef __cplusplus
287  char* v[4];
288  char buf_i[256];
289 
290  sprintf(buf_i, "%10d", *i);
291  v[0] = " ERROR RETURN FROM MA28B/BD BECAUSE NZ NON POSITIVE = ";
292  v[1] = buf_i;
293  v[2] = "\n";
294  v[3] = NULL;
295 
296  harwell_error(MA28BD_99997, v);
297 #else /* !__cplusplus */
298  printf(" ERROR RETURN FROM MA28B/BD BECAUSE NZ NON POSITIVE = %10d\n", *i);
299 #endif /* !__cplusplus */
300  return 0;
301 }
302 
303 int __FC_DECL__(w28bd6)(integer* lp, integer* i)
304 {
305 #ifdef __cplusplus
306  char* v[4];
307  char buf_i[256];
308 
309  sprintf(buf_i, "%10d", *i);
310  v[0] = " ERROR RETURN FROM MA28B/BD BECAUSE LICN TOO SMALL = ";
311  v[1] = buf_i;
312  v[2] = "\n";
313  v[3] = NULL;
314 
315  harwell_error(MA28BD_99996, v);
316 #else /* !__cplusplus */
317  printf(" ERROR RETURN FROM MA28B/BD BECAUSE LICN TOO SMALL = %10d\n", *i);
318 #endif /* !__cplusplus */
319  return 0;
320 }
321 
322 int __FC_DECL__(w28bd5)(integer* lp)
323 {
324 #ifdef __cplusplus
325  char* v[3];
326 
327  v[0] = " ERROR RETURN FROM MA28B/BD BECAUSE ERROR RETURN FROM MA30B/BD";
328  v[1] = "\n";
329  v[2] = NULL;
330 
331  harwell_error(MA28BD_99995, v);
332 #else /* !__cplusplus */
333  printf(" ERROR RETURN FROM MA28B/BD BECAUSE ERROR RETURN FROM MA30B/BD\n");
334 #endif /* !__cplusplus */
335  return 0;
336 }
337 
338 int __FC_DECL__(w28bd4)(integer* lp)
339 {
340 #ifdef __cplusplus
341  char* v[3];
342 
343  v[0] = " ERROR RETURN FROM MA28B/BD";
344  v[1] = "\n";
345  v[2] = NULL;
346 
347  harwell_error(MA28BD_99994, v);
348 #else /* !__cplusplus */
349  printf(" ERROR RETURN FROM MA28B/BD\n");
350 #endif /* !__cplusplus */
351  return 0;
352 }
353 
354 /* ma28bd - end */
355 
356 #endif /* USE_HARWELL */
357 
double doublereal
Definition: colamd.c:52
long int integer
Definition: colamd.c:51