1 /*     CALCULIX - A 3-dimensional finite element program                 */
2 /*              Copyright (C) 1998-2021 Guido Dhondt                     */
3 
4 /*     This program is free software; you can redistribute it and/or     */
5 /*     modify it under the terms of the GNU General Public License as    */
6 /*     published by the Free Software Foundation; either version 2 of    */
7 /*     the License, or (at your option) any later version.               */
8 
9 /*     This program is distributed in the hope that it will be useful,   */
10 /*     but WITHOUT ANY WARRANTY; without even the implied warranty of    */
11 /*     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the      */
12 /*     GNU General Public License for more details.                      */
13 
14 /*     You should have received a copy of the GNU General Public License */
15 /*     along with this program; if not, write to the Free Software       */
16 /*     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.         */
17 
18 #include <pthread.h>
19 
20 #include <pthread.h>
21 
22 #define DragonFly 1
23 #define IRIX 2
24 #define IRIX64 3
25 #define HP 4
26 
27 #if ARCH == DragonFly
28 #define FORTRAN(A,B) A##_  B
29 #elif ARCH == IRIX || ARCH == IRIX64
30 #define FORTRAN(A,B) A##_##B
31 #elif ARCH == HP
32 #define FORTRAN(A,B) A##B
33 #endif
34 
35 #if ARCH == DragonFly
36 #define CEE(A,B) A##_  B
37 #elif ARCH == IRIX || ARCH == IRIX64
38 #define CEE(A,B) A##_##B
39 #elif ARCH == HP
40 #define CEE(A,B) A##B
41 #endif
42 
43 /* setting arrays to constant values */
44 
45 /* serial */
46 #define DMEMSET(a,b,c,d) for(im=b;im<c;im++)a[im]=d
47 /* parallel */
48 #define DOUMEMSET(a,b,c,d) setpardou(&a[b],d,c-b,num_cpus)
49 #define ITGMEMSET(a,b,c,d) setparitg(&a[b],d,c-b,num_cpus)
50 
51 /* memory allocation, reallocation, freeing */
52 
53 /* allocating memory for double reals and initializing it to zero (parallell) */
54 #define DNEW(a,b,c) {a=(b *)u_malloc((c)*sizeof(b),__FILE__,__LINE__,#a); \
55         DOUMEMSET(a,0,c,0.);}
56 /* allocating memory for ITG and initializing it to zero (parallell) */
57 #define INEW(a,b,c) {a=(b *)u_malloc((c)*sizeof(b),__FILE__,__LINE__,#a); \
58         ITGMEMSET(a,0,c,0);}
59 /* allocating memory without initialization */
60 #define MNEW(a,b,c) a=(b *)u_malloc((c)*sizeof(b),__FILE__,__LINE__,#a)
61 /* allocating memory and initializing it to zero (serial) */
62 #define NNEW(a,b,c) a=(b *)u_calloc((c),sizeof(b),__FILE__,__LINE__,#a)
63 /* reallocating memory; no initialization */
64 #define RENEW(a,b,c) a=(b *)u_realloc((b *)(a),(c)*sizeof(b),__FILE__,__LINE__,#a)
65 /* freeing memory */
66 #define SFREE(a) u_free(a,__FILE__,__LINE__,#a)
67 
68 #ifdef LONGLONG
69 #define ITG long long
70 #define ITGFORMAT "lld"
71 #else
72 #define ITG int
73 #define ITGFORMAT "d"
74 #endif
75 
76 void FORTRAN(actideacti,(char *set,ITG *nset,ITG *istartset,ITG *iendset,
77                          ITG *ialset,char *objectset,ITG *ipkon,ITG *ibject,
78                          ITG *ne));
79 
80 void FORTRAN(actideactistr,(char *set,ITG *nset,ITG *istartset,ITG *iendset,
81              ITG *ialset,char *objectset,ITG *ipkon,ITG *iobject,ITG *ne,
82              ITG *neinset,ITG *iponoel,ITG *inoel,ITG *nepar,
83              ITG *nkinsetinv,ITG *nk));
84 
85 void FORTRAN(adaptfields,(ITG *ipkonf,ITG *ipnei,ITG *ielmatf,ITG *ielorienf,
86                           ITG *neiel,ITG *neifa,ITG *neij,ITG *ipkonfcp,
87                           ITG *ipneicp,ITG *ielmatfcp,ITG *ielorienfcp,
88                           ITG *neielcp,ITG *neifacp,ITG *neijcp,ITG *mmm,
89                           ITG *nnn,ITG *nactdoh,ITG *nactdohinv,ITG *mi,
90                           ITG *nef,ITG *nface,ITG *ielfa,ITG *ielfacp,
91                           ITG *norien,char *lakonf,char *lakonfcp));
92 
93 void FORTRAN(addimdnodecload,(ITG *nodeforc,ITG *i,ITG *imdnode,
94              ITG *nmdnode,double *xforc,ITG *ikmpc,ITG *ilmpc,
95              ITG *ipompc,ITG *nodempc,ITG *nmpc,ITG *imddof,ITG *nmddof,
96              ITG *nactdof,ITG *mi,ITG *imdmpc,ITG *nmdmpc,ITG *imdboun,
97              ITG *nmdboun,ITG *ikboun,ITG *nboun,ITG *ilboun,ITG *ithermal));
98 
99 void FORTRAN(addimdnodedload,(ITG *nelemload,char *sideload,ITG *ipkon,
100              ITG *kon,char *lakon,ITG *i,ITG *imdnode,ITG *nmdnode,
101              ITG *ikmpc,ITG *ilmpc,
102              ITG *ipompc,ITG *nodempc,ITG *nmpc,ITG *imddof,ITG *nmddof,
103              ITG *nactdof,ITG *mi,ITG *imdmpc,ITG *nmdmpc,ITG *imdboun,
104              ITG *nmdboun,ITG *ikboun,ITG *nboun,ITG *ilboun,ITG *ithermal));
105 
106 void FORTRAN(addizdofcload,(ITG *nodeforc,ITG *ndirforc,ITG *nactdof,
107              ITG *mi,ITG *izdof,ITG *nzdof,ITG *i,ITG *iznode,ITG *nznode,
108              ITG *nk,ITG *imdnode,ITG *nmdnode,double *xforc,
109              ITG *ntrans,ITG *inotr));
110 
111 void FORTRAN(addizdofdload,(ITG *nelemload,char *sideload,ITG *ipkon,
112              ITG *kon,char *lakon,ITG *nactdof,ITG *izdof,ITG *nzdof,
113              ITG *mi,ITG *i,ITG *iznode,ITG *nznode,ITG *nk,
114              ITG *imdnode,ITG *nmdnode));
115 
116 void FORTRAN(adjacentbounodes,(ITG *ifront,ITG *ifrontrel,ITG *nfront,
117 			       ITG *iedno,ITG *iedg,ITG *nnfront,ITG *ifront2,
118 			       ITG *ifrontrel2,ITG *ibounnod,ITG *nbounnod,
119 			       ITG *istartfront,ITG *iendfront,ITG *ibounedg,
120 			       ITG *istartcrackfro,ITG *iendcrackfro,
121 			       ITG *ncrack,ITG *ibounnod2,ITG *istartcrackbou,
122 			       ITG *iendcrackbou,ITG *isubsurffront,
123 			       ITG *iedno2,double *stress,double *stress2,
124 			       ITG *iresort,ITG *ieled,ITG *kontri,
125 			       double *costruc,double *costruc2,double *temp,
126 			       double *temp2,ITG *nstep,ITG *ier));
127 
128 void FORTRAN(adjustcontactnodes,(char *tieset,ITG *ntie,ITG *itietri,double *cg,
129              double *straight,double *co,double *vold,double *xo,double *yo,
130              double *zo,double *x,double *y,double *z,ITG *nx,ITG *ny,
131              ITG *nz,ITG *istep,ITG *iinc,ITG *iit,ITG *mi,ITG *imastop,
132              ITG *nslavnode,ITG *islavnode,char *set,ITG *nset,ITG *istartset,
133              ITG *iendset,ITG *ialset,double *tietol,double *clearini,
134              double *clearslavnode,ITG *itiefac,ITG *ipkon,ITG *kon,
135              char *lakon,ITG *islavsurf));
136 
137 void FORTRAN(allocation,(ITG *nload_,ITG *nforc_,ITG *nboun_,
138 			 ITG *nk_,ITG *ne_,ITG *nmpc_,ITG *nset_,ITG *nalset_,
139 			 ITG *nmat_,ITG *ntmat_,ITG *npmat_,ITG *norien_,
140 			 ITG *nam_,ITG *nprint_,ITG *mi,ITG *ntrans_,
141 			 char *set,ITG *meminset,
142 			 ITG *rmeminset,ITG *ncs_,ITG *namtot_,ITG *ncmat_,
143 			 ITG *memmpc_,ITG *ne1d,ITG *ne2d,ITG *nflow,
144 			 char *jobnamec,ITG *irstrt,ITG *ithermal,ITG *nener,
145 			 ITG *nstate_,ITG *istep,char *inpc,
146 			 ITG *ipoinp,ITG *inp,ITG *ntie_,ITG *nbody_,
147 			 ITG *nprop_,ITG *ipoinpc,ITG *nevdamp,ITG *npt_,
148 			 ITG *nslavsm,ITG *nkon_,ITG *mcs,ITG *mortar,
149 			 ITG *ifacecount,ITG *nintpoint,ITG *infree,
150 			 ITG *nheading_,ITG *nobject_,
151 			 ITG *iuel,ITG *iprestr,ITG *nstam,ITG *ndamp,ITG *nef,
152 			 ITG *nbounold,ITG *nforcold,ITG *nloadold,
153 			 ITG *nbodyold,ITG *mpcend,ITG *irobustdesign));
154 
155 void FORTRAN(allocation_rfn,(ITG *nk_,ITG *ne_,ITG *nkon_,ITG *ipoinp,
156 			    ITG *ipoinpc,char *inpc,ITG *inp));
157 
158 void FORTRAN(allocont,(ITG *ncont,ITG *ntie,char *tieset,ITG *nset,
159              char *set,ITG *istartset,ITG *iendset,ITG *ialset,
160              char *lakon,ITG *ncone,double *tietol,ITG *ismallsliding,
161              char *kind1,char *kind2,ITG *mortar,ITG *istep));
162 
163 void FORTRAN(applyboun,(ITG *ifaext,ITG *nfaext,ITG *ielfa,ITG *ikboun,
164              ITG *ilboun,ITG *nboun,char *typeboun,ITG *nelemload,
165              ITG *nload,char *sideload,ITG *isolidsurf,ITG *nsolidsurf,
166              ITG *ifabou,ITG *nfabou,ITG *nface,ITG *nodeboun,ITG *ndirboun,
167              ITG *ikmpc,ITG *ilmpc,char *labmpc,ITG *nmpc,ITG *nactdohinv,
168              ITG *compressible,ITG *iatleastonepressurebc,ITG *ipkonf,
169              ITG *kon,ITG *konf,ITG *inlet));
170 
171 void FORTRAN(applybounfem,(ITG *nodeboun,ITG *ndirboun,ITG *nboun,
172        double *xbounact,ITG *ithermal,ITG *nk,
173        double *vold,ITG *isolidsurf,
174        ITG *nsolidsurf,double *xsolidsurf,ITG *nfreestream,ITG *ifreestream,
175        ITG *turbulent,double *vcon,double *shcon,ITG *nshcon,
176        double *rhcon,ITG *nrhcon,ITG *ntmat_,double *physcon,
177        double *v,ITG *compressible,ITG *nmpc,ITG *nodempc,
178        ITG *ipompc,double *coefmpc,ITG *inomat,ITG *mi,
179        ITG *ilboun,ITG *ilmpc,char *labmpc,
180        double *coefmodmpc,ITG *ifreesurface,ITG *ierr,double *dgravity,
181        double *depth,ITG *iexplicit));
182 
183 void FORTRAN(applybounp,(ITG *nodeboun,ITG *ndirboun,ITG *nboun,
184 			 double *xbounact,ITG *nk,double *vold,double *v,
185 			 ITG *ipompc,ITG *nodempc,double *coefmpc,ITG *nmpc,
186 			 ITG *inomat,ITG *mi));
187 
188 void FORTRAN(applybounv,(ITG *nodeboun,ITG *ndirboun,ITG *nboun,double *v,
189 			 ITG *compressible,ITG *nmpc,ITG *nodempc,ITG *ipompc,
190 			 double *coefmpc,ITG *inomat,ITG *mi,
191 			 double *coefmodmpc));
192 
193 void FORTRAN(applympc,(ITG *nface,ITG *ielfa,ITG *is,ITG *ie,ITG *ifabou,
194                        ITG *ipompc,double *vfa,double *coefmpc,ITG *nodempc,
195                        ITG *ipnei,ITG *neifa,char *labmpc,double *xbounact,
196                        ITG *nactdoh,ITG *ifaext,ITG *nfaext));
197 
198 void FORTRAN(applympc_dpel,(ITG *nface,ITG *ielfa,double *xrlfa,double *vel,
199              double *vfa,ITG *ifabou,double *xbounact,ITG *nef,
200              double *gradpcel,double *gradpcfa,ITG *neifa,double *rf,
201              double *area,double *volume,double *xle,double *xxi,
202              ITG *icyclic,double *xxn,ITG *ipnei,ITG *ifatie,
203              double *coefmpc,ITG *nmpc,char *labmpc,ITG *ipompc,
204              ITG *nodempc,ITG *ifaext,ITG *nfaext,ITG *nactdoh,
205              ITG *iflag,double *xxj,double *xlet));
206 
207 void FORTRAN(applympc_hfa,(ITG *nface,ITG *ielfa,ITG *is,ITG *ie,ITG *ifabou,
208                        ITG *ipompc,double *hfa,double *coefmpc,ITG *nodempc,
209                        ITG *ipnei,ITG *neifa,char *labmpc,double *xbounact,
210                        ITG *nactdoh));
211 
212 void arpack(double *co,ITG *nk,ITG **konp,ITG **ipkonp,char **lakonp,
213              ITG *ne,
214              ITG *nodeboun,ITG *ndirboun,double *xboun,ITG *nboun,
215              ITG *ipompc,ITG *nodempc,double *coefmpc,char *labmpc,
216              ITG *nmpc,
217              ITG *nodeforc,ITG *ndirforc,double *xforc,ITG *nforc,
218              ITG *nelemload,char *sideload,double *xload,
219              ITG *nload,
220              ITG *nactdof,
221              ITG *icol,ITG *jq,ITG **irowp,ITG *neq,ITG *nzl,
222              ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
223              ITG *ilboun,
224              double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
225              double *shcon,ITG *nshcon,double *cocon,ITG *ncocon,
226              double *alcon,ITG *nalcon,double *alzero,ITG **ielmatp,
227              ITG **ielorienp,ITG *norien,double *orab,ITG *ntmat_,
228              double *t0,double *t1,double *t1old,
229              ITG *ithermal,double *prestr,ITG *iprestr,
230              double *vold,ITG *iperturb,double *sti,ITG *nzs,
231              ITG *kode,ITG *mei,double *fei,char *filab,
232              ITG *iexpl,double *plicon,ITG *nplicon,double *plkcon,
233              ITG *nplkcon,
234              double **xstatep,ITG *npmat_,char *matname,ITG *mi,
235              ITG *ncmat_,ITG *nstate_,double **enerp,char *jobnamec,
236              char *output,char *set,ITG *nset,ITG *istartset,
237              ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
238              char *prset,ITG *nener,ITG *isolver,double *trab,
239              ITG *inotr,ITG *ntrans,double *ttime,double *fmpc,
240              ITG *ipobody,ITG *ibody,double *xbody,ITG *nbody,double *thicke,
241              ITG *nslavs,double *tietol,ITG *nkon,ITG *mpcinfo,ITG *ntie,
242              ITG *istep,ITG *mcs,ITG *ics,char *tieset,
243              double *cs,ITG *nintpoint,ITG *mortar,ITG *ifacecount,
244              ITG **islavsurfp,double **pslavsurfp,double **clearinip,
245              ITG *nmat,char *typeboun,ITG *ielprop,double *prop,
246 	    char *orname,ITG *inewton,double *t0g,double *t1g);
247 
248 void arpackbu(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
249 	      ITG *ne,
250 	      ITG *nodeboun,ITG *ndirboun,double *xboun,ITG *nboun,
251 	      ITG *ipompc,ITG *nodempc,double *coefmpc,char *labmpc,
252 	      ITG *nmpc,
253 	      ITG *nodeforc,ITG *ndirforc,double *xforc,ITG *nforc,
254 	      ITG *nelemload,char *sideload,double *xload,
255 	      ITG *nload,
256 	      ITG *nactdof,
257 	      ITG *icol,ITG *jq,ITG *irow,ITG *neq,ITG *nzl,
258 	      ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
259 	      ITG *ilboun,
260 	      double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
261 	      double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
262 	      ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
263 	      double *t0,double *t1,double *t1old,
264 	      ITG *ithermal,double *prestr,ITG *iprestr,
265 	      double *vold,ITG *iperturb,double *sti,ITG *nzs,
266 	      ITG *kode,ITG *mei,double *fei,
267 	      char *filab,double *eme,
268 	      ITG *iexpl,double *plicon,ITG *nplicon,double *plkcon,
269 	      ITG *nplkcon,
270 	      double *xstate,ITG *npmat_,char *matname,ITG *mi,
271 	      ITG *ncmat_,ITG *nstate_,double *ener,char *output,
272 	      char *set,ITG *nset,ITG *istartset,
273 	      ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
274 	      char *prset,ITG *nener,ITG *isolver,double *trab,
275 	      ITG *inotr,ITG *ntrans,double *ttime,double *fmpc,
276 	      ITG *ipobody,ITG *ibody,double *xbody,ITG *nbody,
277 	      double *thicke,char *jobnamec,ITG *nmat,ITG *ielprop,
278 	      double *prop,char *orname,char *typeboun,double *t0g,
279 	      double *t1g);
280 
281 void arpackcs(double *co,ITG *nk,ITG **konp,ITG **ipkonp,char **lakonp,
282              ITG *ne,
283              ITG *nodeboun,ITG *ndirboun,double *xboun,ITG *nboun,
284              ITG *ipompc,ITG *nodempc,double *coefmpc,char *labmpc,
285              ITG *nmpc,
286              ITG *nodeforc,ITG *ndirforc,double *xforc,ITG *nforc,
287              ITG *nelemload,char *sideload,double *xload,
288              ITG *nload,ITG *nactdof,
289              ITG *icol,ITG *jq,ITG **irowp,ITG *neq,ITG *nzl,
290              ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
291              ITG *ilboun,
292              double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
293              double *alcon,ITG *nalcon,double *alzero,ITG **ielmatp,
294              ITG **ielorienp,ITG *norien,double *orab,ITG *ntmat_,
295              double *t0,double *t1,double *t1old,
296              ITG *ithermal,double *prestr,ITG *iprestr,
297              double *vold,ITG *iperturb,double *sti,ITG *nzs,
298              ITG *kode,ITG *mei,double *fei,
299              char *filab,
300              ITG *iexpl,double *plicon,ITG *nplicon,double *plkcon,
301              ITG *nplkcon,
302              double **xstatep,ITG *npmat_,char *matname,ITG *mi,
303              ITG *ics,double *cs,ITG *mpcend,ITG *ncmat_,ITG *nstate_,
304              ITG *mcs,ITG *nkon,char *jobnamec,
305              char *output,char *set,ITG *nset,ITG *istartset,
306              ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
307              char *prset,ITG *nener,ITG *isolver,double *trab,
308              ITG *inotr,ITG *ntrans,double *ttime,double *fmpc,
309              ITG *ipobody,ITG *ibody,double *xbody,ITG *nbody,
310              ITG *nevtot,double *thicke,ITG *nslavs,double *tietol,
311              ITG *mpcinfo,ITG *ntie,ITG *istep,
312              char *tieset,ITG *nintpoint,ITG *mortar,ITG *ifacecount,
313              ITG **islavsurfp,double **pslavsurfp,double **clearinip,
314              ITG *nmat,char *typeboun,ITG *ielprop,double *prop,
315 	      char *orname,ITG *inewton,double *t0g,double *t1g);
316 
317 void FORTRAN(assigndomtonodes,(ITG *ne,char *lakon,ITG *ipkon,ITG *kon,
318              ITG *ielmat,ITG *inomat,double *elcon,ITG *ncmat_,ITG *ntmat_,
319              ITG *mi,ITG *ne2));
320 
321 void FORTRAN(autocovmatrix,(double *co,double *ad,double *au,ITG *jqs,
322 			    ITG *irows,ITG *ndesi,ITG *nodedesi,double *corrlen,
323 			    double *randomval,ITG *irobustdesign));
324 
325 void FORTRAN(basis,(double *x,double *y,double *z,double *xo,double *yo,
326                     double *zo,ITG *nx,ITG *ny,ITG *nz,double *planfa,
327                     ITG *ifatet,ITG *nktet,ITG *netet,double *field,
328                     ITG *nfield,double *cotet,ITG *kontyp,ITG *ipkon,
329                     ITG *kon,ITG *iparent,double *xp,double *yp,double *zp,
330                     double *value,double *ratio,ITG *iselect,ITG *nselect,
331                     ITG *istartset,ITG *iendset,ITG *ialset,ITG *imastset,
332                     ITG *ielemnr,ITG *nterms,ITG *konl));
333 
334 void biosav(ITG *ipkon,ITG *kon,char *lakon,ITG *ne,double *co,
335             double *qfx,double *h0,ITG *mi,ITG *inomat,ITG *nk);
336 
337 void FORTRAN(biotsavart,(ITG *ipkon,ITG *kon,char *lakon,ITG *ne,double *co,
338                          double *qfx,double *h0,ITG *mi,ITG *nka,ITG *nkb));
339 
340 void *biotsavartmt(ITG *i);
341 
342 void FORTRAN(blockanalysis,(char *set,ITG *nset,ITG *istartset,ITG *iendset,
343              ITG *ialset,ITG *nblk,ITG *ipkon,ITG *kon,ITG *ielfa,
344              ITG *nodface,ITG *neiel,ITG *neij,ITG *neifa,ITG *ipoface,
345              ITG *ipnei,ITG *konf,ITG *istartblk,ITG *iendblk,ITG *nactdoh,
346              ITG *nblket,ITG *nblkze,ITG *nef,ITG *ielblk,ITG *nk,
347              ITG *nactdohinv));
348 
349 void FORTRAN(bodyforce,(char *cbody,ITG *ibody,ITG *ipobody,ITG *nbody,
350              char *set,ITG *istartset,ITG *iendset,ITG *ialset,
351              ITG *inewton,ITG *nset,ITG *ifreebody,ITG *k));
352 
353 void FORTRAN(calcbody,(ITG *nef,double *body,ITG *ipobody,ITG *ibody,
354                        double *xbody,double *coel,double *vel,char *lakon,
355                        ITG *nactdohinv));
356 
357 void FORTRAN(calcdatarget,(ITG *ifront,double *co,ITG *nnfront,
358 			   ITG *istartfront,ITG *iendfront,ITG *isubsurffront,
359 			   double *tinc,double *datarget,double *acrack,
360 			   ITG *nstep));
361 
362 void FORTRAN(calcenergy,(ITG *ipkon,char *lakon,ITG *kon,double *co,
363                          double *ener,ITG *mi,ITG *ne,double *thicke,
364                          ITG *ielmat,
365                          double *energy,ITG *ielprop,double *prop,ITG *nea,
366                          ITG *neb));
367 
368 void *calcenergymt(ITG *i);
369 
370 void FORTRAN(calcexternalwork,(double *co,double *vold,ITG *istartset,
371 			       ITG *iendset,ITG *ipkon,char *lakon,ITG *kon,
372 			       ITG *ialset,ITG *nset,char *set,ITG *mi,
373 			       char *externalfaces,ITG *nelemload,ITG *nload,
374 			       double *xload,char *sideload,
375 			       double *delexternalwork,double *voldprev));
376 
377 void FORTRAN(calcflux,(double *area,double *vfa,double *xxna,ITG *ipnei,
378                         ITG *nef,ITG *neifa,double *flux,double *xxj,
379                         double *gradpfa,double *xlet,double *xle,double *vel,
380                         double *advfa,ITG *ielfa,ITG *neiel,ITG *ifabou,
381                         double *hfa,ITG *nefa,ITG *nefb));
382 
383 void *calcflux1mt(ITG *i);
384 
385 void calcfluxmain(double *area,double *vfa,double *xxna,ITG *ipnei,
386                   ITG *nef,ITG *neifa,double *flux,double *xxj,
387                   double *gradpfa,double *xlet,double *xle,double *vel,
388                   double *advfa,ITG *ielfa,ITG *neiel,ITG *ifabou,
389                   double *hfa,ITG *num_cpus);
390 
391 void FORTRAN(calcinitialflux,(double *area,double *vfa,double *xxna,
392                               ITG *ipnei,ITG *nef,ITG *neifa,char *lakonf,
393                               double *flux));
394 
395 void FORTRAN(calccvel,(ITG *nef,double *vel,double *shcon,
396                        ITG *nshcon,ITG *ielmatf,ITG *ntmat_,
397                        ITG *mi,double *cvel,double *physcon));
398 
399 void FORTRAN(calccvelcomp,(ITG *nef,double *vel,double *shcon,
400                        ITG *nshcon,ITG *ielmatf,ITG *ntmat_,
401                        ITG *mi,double *cvel,double *physcon));
402 
403 void FORTRAN(calccvfa,(ITG *nface,double *vfa,double *shcon,
404                         ITG *nshcon,ITG *ielmatf,ITG *ntmat_,
405                        ITG *mi,ITG *ielfa,double *cvfa,double *physcon));
406 
407 void FORTRAN(calccvfacomp,(ITG *nface,double *vfa,double *shcon,
408                         ITG *nshcon,ITG *ielmatf,ITG *ntmat_,
409                        ITG *mi,ITG *ielfa,double *cvfa,double *physcon));
410 
411 void FORTRAN(calcgammak,(ITG *nface,ITG *ielfa,double *vel,double *gradkel,
412                         double *gamma,double *xlet,double *xxn,double *xxj,
413                          ITG *ipnei,double *betam,ITG *nef,double *flux));
414 
415 void FORTRAN(calcgammao,(ITG *nface,ITG *ielfa,double *vel,double *gradoel,
416                         double *gamma,double *xlet,double *xxn,double *xxj,
417                          ITG *ipnei,double *betam,ITG *nef,double *flux));
418 
419 void FORTRAN(calcgammap,(ITG *nface,ITG *ielfa,double *vel,double *gradpel,
420                         double *gamma,double *xlet,double *xxn,double *xxj,
421                          ITG *ipnei,double *betam,ITG *nef,double *flux));
422 
423 void FORTRAN(calcgammat,(ITG *ielfa,double *vel,double *gradtel,
424                         double *gamma,double *xlet,double *xxj,
425                         ITG *ipnei,double *betam,ITG *nef,double *flux,
426                         ITG *nfacea,ITG *nfaceb));
427 
428 void *calcgammat1mt(ITG *i);
429 
430 void calcgammatmain(ITG *nface,ITG *ielfa,double *vel,double *gradtel,
431                     double *gamma,double *xlet,double *xxj,
432                     ITG *ipnei,double *betam,ITG *nef,double *flux,
433                     ITG *num_cpus);
434 
435 void FORTRAN(calcgammav,(ITG *ielfa,double *vel,double *gradvel,
436                         double *gamma,double *xlet,double *xxj,
437                         ITG *ipnei,double *betam,ITG *nef,double *flux,
438                         ITG *nfacea,ITG *nfaceb));
439 
440 void *calcgammav1mt(ITG *i);
441 
442 void calcgammavmain(ITG *nface,ITG *ielfa,double *vel,double *gradvel,
443                     double *gamma,double *xlet,double *xxj,
444                     ITG *ipnei,double *betam,ITG *nef,double *flux,
445                     ITG *num_cpus);
446 
447 void FORTRAN(calchcel,(double *vel,double *cocon,ITG *ncocon,ITG *ielmatf,
448                        ITG *ntmat_,ITG *mi,double *hcel,ITG *nef));
449 
450 void FORTRAN(calchcfa,(ITG *nface,double *vfa,double *cocon,
451                         ITG *ncocon,ITG *ielmatf,ITG *ntmat_,
452                         ITG *mi,ITG *ielfa,double *hcfa));
453 
454 void FORTRAN(calch0interface,(ITG *nmpc,ITG *ipompc,ITG *nodempc,
455                               double *coefmpc,double *h0));
456 
457 void FORTRAN(calcmac,(ITG *neq,double *z,double *zz,ITG *nev,double *mac,
458                       double* maccpx,ITG *istartnmd,ITG *iendnmd,ITG *nmd,
459                       ITG *cyclicsymmetry,ITG *neqact,double *bett,
460                       double *betm,ITG *nevcomplex));
461 
462 void FORTRAN(calcmach,(double *vold,double *v,ITG *nk,ITG *ntmat_,
463 		       double *shcon,ITG *nshcon,double *physcon,ITG *inomat,
464 		       ITG *mi));
465 
466 void FORTRAN(calcmass,(ITG *ipkon,char *lakon,ITG *kon,double *co,ITG *mi,
467              ITG *nelem,ITG *ne,double *thicke,ITG *ielmat,
468              ITG *nope,double *t0,double *rhcon,
469              ITG *nrhcon,ITG *ntmat_,ITG *ithermal,double *csmass,
470              ITG *ielprop,double *prop));
471 
472 void FORTRAN(calcpel,(ITG *ne,ITG *nactdoh,double *vel,double *b,ITG *nef));
473 
474 void FORTRAN(calcresfluid,(ITG *n,double *a,double *b,double *au,ITG *ia,
475                            ITG *ja,double *x,double *res));
476 
477 void FORTRAN(calcrespfluid,(ITG *n,double *b,double *au,
478                             double *x,double *res));
479 
480 void FORTRAN(calcrestfluid,(ITG *n,double *a,double *b,double *au,ITG *ia,
481                             ITG *ja,double *x,double *res,double *xmin,
482                             double *xmax));
483 
484 void calcrestfluidmain(ITG *n,double *a,double *b,double *au,ITG *ia,
485                        ITG *ja,double *x,double *res,ITG *nestart,
486                        ITG *num_cpus);
487 
488 void *calcrestfluidmt(ITG *i);
489 
490 void FORTRAN(calcresvfluid,(ITG *n,double *a,double *b,double *au,ITG *ia,
491                             ITG *ja,double *x,double *res));
492 
493 void FORTRAN(calcresvfluid1,(ITG *n,double *a,double *b,double *au,ITG *ia,
494                              ITG *ja,double *x,double *res));
495 
496 void *calcresvfluid1mt(ITG *i);
497 
498 void calcresvfluidmain(ITG *n,double *a,double *b,double *au,ITG *ia,
499                        ITG *ja,double *x,double *res,ITG *nestart,
500                        ITG *num_cpus,ITG *ncfd);
501 
502 void FORTRAN(calcresvfluid2,(ITG *n,double *x,double *xmax,ITG *nef));
503 
504 void *calcresvfluid2mt(ITG *i);
505 
506 void calcresidual(ITG *nmethod,ITG *neq,double *b,double *fext,double *f,
507         ITG *iexpl,ITG *nactdof,double *aux2,double *vold,
508         double *vini,double *dtime,double *accold,ITG *nk,double *adb,
509         double *aub,ITG *icol,ITG *irow,ITG *nzl,double *alpha,
510         double *fextini,double *fini,ITG *islavnode,ITG *nslavnode,
511         ITG *mortar,ITG *ntie,
512         double *f_cm,double *f_cs,ITG *mi,ITG *nzs,ITG *nasym,
513         ITG *idamping,double *veold,double *adc,double *auc,double *cvini,
514         double *cv,double *alpham,ITG *num_cpus);
515 
516 void calcresidual_em(ITG *nmethod,ITG *neq,double *b,double *fext,double *f,
517         ITG *iexpl,ITG *nactdof,double *aux1,double *aux2,double *vold,
518         double *vini,double *dtime,double *accold,ITG *nk,double *adb,
519         double *aub,ITG *icol,ITG *irow,ITG *nzl,double *alpha,
520         double *fextini,double *fini,ITG *islavnode,ITG *nslavnode,
521         ITG *mortar,ITG *ntie,
522         double *f_cm,double *f_cs,ITG *mi,ITG *nzs,ITG *nasym,ITG *ithermal);
523 
524 void FORTRAN(calcrhoel,(ITG *nef,double *vel,double *rhcon,
525                         ITG *nrhcon,ITG *ielmatf,ITG *ntmat_,ITG *ithermal,
526                         ITG *mi));
527 
528 void FORTRAN(calcrhoel1,(ITG *nef,double *vel,double *rhcon,
529                          ITG *nrhcon,ITG *ielmatf,ITG *ntmat_,ITG *ithermal,
530                          ITG *mi,ITG *nefa,ITG *nefb));
531 
532 void *calcrhoel1mt(ITG *i);
533 
534 void calcrhoelmain(ITG *nef,double *vel,double *rhcon,
535                    ITG *nrhcon,ITG *ielmatf,ITG *ntmat_,ITG *ithermal,
536                    ITG *mi,ITG *num_cpus);
537 
538 void FORTRAN(calcrhoelcomp,(ITG *nef,double *vel,double *shcon,
539                              ITG *ielmatf,ITG *ntmat_,ITG *mi,
540                              ITG *nefa,ITG *nefb));
541 
542 void *calcrhoelcomp1mt(ITG *i);
543 
544 void calcrhoelcompmain(ITG *nef,double *vel,double *shcon,
545                                 ITG *ielmatf,ITG *ntmat_,ITG *mi,
546                                 ITG *num_cpus);
547 
548 void FORTRAN(calcrhofa,(ITG *nface,double *vfa,double *rhcon,
549                         ITG *nrhcon,ITG *ielmatf,ITG *ntmat_,ITG *ithermal,
550                         ITG *mi,ITG *ielfa));
551 
552 void *calcrhofa1mt(ITG *i);
553 
554 void calcrhofamain(ITG *nface,double *vfa,double *rhcon,
555                    ITG *nrhcon,ITG *ielmatf,ITG *ntmat_,ITG *ithermal,
556                    ITG *mi,ITG *ielfa,ITG *num_cpus);
557 
558 void calcshapef(ITG *nvar_,ITG *ipvar,double **var,ITG *ne,
559 		char *lakon,double *co,ITG *ipkon,ITG *kon,
560 		ITG *nelemface,char *sideface,ITG *nface,
561 		ITG *nvarf_,ITG *ipvarf,double **varfp,
562 		ITG *iturbulent,double *yy);
563 
564 void FORTRAN(calcstabletimeinccont,(ITG *ne,char *lakon,ITG *kon,ITG *ipkon,
565              ITG *mi,ITG *ielmat,double *elcon,ITG *mortar,double *adb,
566              double *alpha,ITG *nactdof,double *springarea,ITG *ne0,
567              ITG *ntmat_,ITG *ncmat_,double *dtcont,double *smscale,
568              double *dtset,ITG *mscalmethod));
569 
570 void FORTRAN(calcstabletimeincvol,(ITG *ne0,double *elcon,ITG *nelcon,
571             double *rhcon,ITG *nrhcon,double *alcon,ITG *nalcon,double *orab,
572             ITG *ntmat_,ITG *ithermal,double *alzero,double *plicon,
573             ITG *nplicon,double *plkcon,ITG *nplkcon,ITG *npmat_,ITG *mi,
574             double *dtime,double *xstiff,ITG *ncmat_,double *vold,ITG *ielmat,
575             double *t0,double *t1,char *matname,char *lakon,
576             double *xmatwavespeed,ITG *nmat,ITG *ipkon,double *co,ITG *kon,
577             double *dtvol,double *alpha,double *smscale,double *dtset,
578             ITG *mscalmethod));
579 
580 void FORTRAN(calcstressheatflux,(double *sti,double *umel,double *gradvel,
581              double *qfx,double *hcel,double *gradtel,ITG *nef,ITG *isti,
582              ITG *iqfx,ITG *mi));
583 
584 void FORTRAN(calcstressheatfluxfem,(ITG *kon,char *lakon,ITG *ipkon,ITG *ielmat,
585              ITG *ntmat_,double *vold,char *matname,ITG *mi,double *shcon,
586              ITG *nshcon,ITG *turbulent,ITG *compressible,ITG *ipvar,
587              double *var,double *sti,double *qfx,double *cocon,ITG *ncocon,
588 	     ITG *ne,ITG *isti,ITG *iqfx,ITG *ithermal,double *rhcon,
589 	     ITG *nrhcon,double *vcon,ITG *nk));
590 
591 void FORTRAN(calcttel,(ITG *nef,double *vel,double *shcon,ITG *nshcon,
592                        ITG *ielmatf,ITG *ntmat_,ITG *mi,double *physcon,
593                        double *ttel));
594 
595 void FORTRAN(calcttfaext,(ITG *nfaext,double *vfa,double *shcon,ITG *nshcon,
596                           ITG *ielmatf,ITG *ntmat_,ITG *mi,double *physcon,
597                           double *ttfa,ITG *ifaext,ITG *ielfa));
598 
599 void FORTRAN(calculated,(ITG *nktet,double *d,double *dmin,
600                              ITG *ipoed,ITG *iedg,double *cotet));
601 
602 void FORTRAN(calculateh,(ITG *nk,double *v,double *veold,double *stn,
603                          double *een,double *emn,double *epn,double *enern,
604                          double *qfn,double *errn,double *h,char *filab,
605                          ITG *mi,double *d,ITG *nh,double *dmin,ITG *ipoed,
606                          ITG *iedg,double *cotet,ITG *jfix));
607 
608 void FORTRAN(calculatehmid,(ITG *nktet_,double *h,ITG *ipoed,ITG *iedg,
609 			    ITG *iedgmid));
610 
611 void CalculiXstep(int argc,char argv[][133],ITG **nelemloadp,double **xloadp,
612 		  ITG *nload,char **sideloadp,double *timepar,ITG *ne,
613                   ITG **ipkonp,ITG **konp,char **lakonp,ITG *nk,double **cop,
614                   double **voldp,double **veoldp,double **accoldp,
615                   ITG *nboun,ITG **ikbounp,ITG **ilbounp,double **xbounp,
616                   ITG *nmethod,char *externalfaces,double *delexternalwork,
617                   ITG *inputsteps,ITG *iperturb,ITG *irstrt,char **filabp,
618                   ITG *nlabel);
619 
620 void FORTRAN(calcumel,(ITG *nef,double *vel,double *shcon,
621                        ITG *nshcon,ITG *ielmatf,ITG *ntmat_,ITG *ithermal,
622                        ITG *mi,double *umel));
623 
624 void FORTRAN(calcumfa,(ITG *nface,double *vfa,double *shcon,
625                         ITG *nshcon,ITG *ielmatf,ITG *ntmat_,ITG *ithermal,
626                         ITG *mi,ITG *ielfa,double *umfa));
627 
628 void FORTRAN(calcvel,(ITG *ne,ITG *nactdoh,double *vel,double *b,
629                       ITG *neq,ITG *nef));
630 
631 void FORTRAN(calcview,(char *sideload,double *vold,double *co,
632              double *pmid,double *e1,double *e2,double *e3,
633              ITG *kontri,ITG *nloadtr,double *adview,double *auview,
634              double *dist,ITG *idist,double *area,ITG *ntrit,ITG *mi,ITG *jqrad,
635              ITG *irowrad,ITG *nzsrad,double *sidemean,ITG *ntria,
636              ITG *ntrib,char *covered,ITG *ng));
637 
638 void *calcviewmt(ITG *i);
639 
640 void FORTRAN(calinput,(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
641 		       ITG *nkon,ITG *ne,
642 		       ITG *nodeboun,ITG *ndirboun,double *xboun,ITG *nboun,
643 		       ITG *ipompc,ITG *nodempc,double *coefmpc,ITG *nmpc,
644 		       ITG *nmpc_,ITG *nodeforc,ITG *ndirforc,double *xforc,
645 		       ITG *nforc,ITG *nforc_,ITG *nelemload,char *sideload,
646 		       double *xload,ITG *nload,ITG *nload_,
647 		       ITG *nprint,char *prlab,char *prset,ITG *mpcfree,
648 		       ITG *nboun_,
649 		       ITG *mei,char *set,ITG *istartset,
650 		       ITG *iendset,ITG *ialset,ITG *nset,ITG *nalset,
651 		       double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
652 		       double *alcon,ITG *nalcon,double *alzero,double *t0,
653 		       double *t1,char *matname,
654 		       ITG *ielmat,char *orname,double *orab,ITG *ielorien,
655 		       char *amname,double *amta,ITG *namta,ITG *nam,
656 		       ITG *nmethod,ITG *iamforc,ITG *iamload,
657 		       ITG *iamt1,ITG *ithermal,ITG *iperturb,
658 		       ITG *istat,ITG *istep,ITG *nmat,
659 		       ITG *ntmat_,ITG *norien,double *prestr,ITG *iprestr,
660 		       ITG *isolver,double *fei,double *veold,double *timepar,
661 		       double *xmodal,char *filab,ITG *jout,ITG *nlabel,
662 		       ITG *idrct,ITG *jmax,ITG *iexpl,double *alpha,
663 		       ITG *iamboun,
664 		       double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
665 		       ITG *iplas,ITG *npmat_,ITG *mi,ITG *nk_,
666 		       double *trab,ITG *inotr,ITG *ntrans,ITG *ikboun,
667 		       ITG *ilboun,ITG *ikmpc,ITG *ilmpc,ITG *ics,
668 		       double *dcs,ITG *ncs_,ITG *namtot_,double *cs,
669 		       ITG *nstate_,ITG *ncmat_,ITG *iumat,ITG *mcs,
670 		       char *labmpc,ITG *iponor,double *xnor,ITG *knor,
671 		       double *thickn,double *thicke,ITG *ikforc,ITG *ilforc,
672 		       double *offset,ITG *iponoel,ITG *inoel,ITG *rig,
673 		       ITG *infree,ITG *nshcon,double *shcon,double *cocon,
674 		       ITG *ncocon,double *physcon,ITG *nflow,double *ctrl,
675 		       ITG *maxlenmpc,ITG *ne1d,ITG *ne2d,ITG *nener,
676 		       double *vold,ITG *nodebounold,
677 		       ITG *ndirbounold,double *xbounold,double *xforcold,
678 		       double *xloadold,double *t1old,double *eme,
679 		       double *sti,double *ener,
680 		       double *xstate,char *jobnamec,ITG *irstrt,
681 		       double *ttime,double *qaold,
682 		       char *output,char *typeboun,char *inpc,
683 		       ITG *ipoinp,ITG *inp,char *tieset,double *tietol,
684 		       ITG *ntie,double *fmpc,char *cbody,ITG *ibody,
685 		       double *xbody,
686 		       ITG *nbody,ITG *nbody_,double *xbodyold,ITG *nam_,
687 		       ITG *ielprop,ITG *nprop,ITG *nprop_,double *prop,
688 		       ITG *itpamp,ITG *iviewfile,ITG *ipoinpc,
689 		       ITG *nslavs,double *t0g,double *t1g,ITG *network,
690 		       ITG *cyclicsymmetry,ITG *idefforc,ITG *idefload,
691 		       ITG *idefbody,ITG *mortar,ITG *ifacecount,ITG *islavsurf,
692 		       double *pslavsurf,double *clearini,char *heading,
693 		       ITG *iaxial,ITG *nobject,char *objectset,ITG *nprint_,
694 		       ITG *iuel,ITG *nuel_,ITG *nodempcref,double *coefmpcref,
695 		       ITG *ikmpcref,ITG *memmpcref_,ITG *mpcfreeref,
696 		       ITG *maxlenmpcref,ITG *memmpc_,ITG *isens,ITG *namtot,
697 		       ITG *stam,double *dacon,double *vel,ITG *nef,
698 		       double *velo,double *veloo,ITG *ne2boun,ITG *itempuser,
699 		       ITG *irobustdesign,ITG *irandomtype,double *randomval));
700 
701 void FORTRAN(calinput_rfn,(double *co,char *filab,char *set,ITG *istartset,
702 			   ITG *iendset,ITG *ialset,ITG *nset,ITG *nset_,
703 			   ITG *nalset,ITG *nalset_,ITG *mi,ITG *kon,
704 			   ITG *ipkon,char *lakon,ITG *nkon,ITG *ne,ITG *ne_,
705 			   ITG *iponor,double *xnor,ITG *istep,
706 			   ITG *ipoinp,ITG *inp,ITG *iaxial,ITG *ipoinpc,
707 			   ITG *network,ITG *nlabel,ITG *iuel,ITG *nuel_,
708 			   ITG *ielmat,char *inpc,ITG *iperturb,ITG *iprestr,
709 			   ITG *nk,ITG *nk_,ITG *ntie,char *tieset,
710 			   ITG *iparentel));
711 
712 void cascade(ITG *ipompc,double **coefmpcp,ITG **nodempcp,ITG *nmpc,
713    ITG *mpcfree,ITG *nodeboun,ITG *ndirboun,ITG*nboun,ITG*ikmpc,
714    ITG *ilmpc,ITG *ikboun,ITG *ilboun,ITG *mpcend,
715    char *labmpc,ITG *nk,ITG *memmpc_,ITG *icascade,ITG *maxlenmpc,
716    ITG *callfrommain,ITG *iperturb,ITG *ithermal);
717 
718 void cascadefem(ITG *ipompc,double **coefmpcp,ITG **nodempcp,ITG *nmpc,
719    ITG *mpcfree,ITG *nodeboun,ITG *ndirboun,ITG*nboun,ITG*ikmpc,
720    ITG *ilmpc,ITG *ikboun,ITG *ilboun,ITG *mpcend,ITG *mpcmult,
721    char *labmpc,ITG *nk,ITG *memmpc_,ITG *icascade,ITG *maxlenmpc,
722    ITG *callfrommain,ITG *iperturb,ITG *ithermal);
723 
724 void FORTRAN(cataloguenodes,(ITG *ipofano,ITG *ifano,ITG *ifreefa,ITG *ielfa,
725              ITG *ifaboun,ITG *ipkon,ITG *kon,char *lakon,ITG *nface,ITG *ne));
726 
727 void FORTRAN(catedges_crackprop,(ITG *ipoed,ITG *iedg,ITG *ntri,ITG *ieled,
728 				 ITG *kontri,ITG *nedg,ITG *ier));
729 
730 void FORTRAN(catedges_mesh,(ITG *kontet,ITG *netet_,ITG *iedg,ITG *ipoed,
731 			    ITG *ifreeed,ITG *ifac,
732 			    ITG *ipoeled,ITG *ieled,ITG *ifreele,
733 			    ITG *iedtet,ITG *iexternfa,ITG *iexternedg,
734 			    ITG *nktet,ITG *ipofa));
735 
736 void FORTRAN(catedges_refine,(ITG *netet_,ITG *iedg,ITG *kontet,ITG *ipoed,
737                        ITG *ifreeed,ITG *iedtet,ITG *ipoeled,ITG *ieled,
738                        ITG *ifreele));
739 
740 void FORTRAN(catnodes,(ITG *ifreenn,ITG *inn,ITG *iponn,ITG *iedg,ITG *ipoed,
741 		       ITG *nktet_,ITG *iexternnode,ITG *idimsh,ITG *sharp,
742 		       ITG *iexternedg));
743 
744 void FORTRAN(cattet,(ITG *kontet,ITG *netet_,ITG *ifac,ITG *ne,ITG *ipkon,
745                      ITG *kon,ITG *ifatet,ITG *ifreetet,double *bc,
746                      ITG *itetfa,ITG *ifreefa,double *planfa,ITG *ipofa,
747                      double *cotet,double *cg,ITG *ipoeln,ITG *ieln,
748                      ITG *ifreeln,char *lakon,ITG *kontetor,ITG *iquad,
749 		     ITG *istartset,ITG *iendset,ITG *ialset,char *set,
750 		     ITG *nset,char *filab,ITG *jfix,ITG *iparentel,
751 		     char *jobnamec));
752 
753 void FORTRAN(cattri,(ITG *ne,char *lakon,ITG *ipkon,ITG *kon,ITG *kontri,
754 		     ITG *ntri));
755 
756 void FORTRAN(cavity_mesh,(ITG *kontet,ITG *ifatet,ITG *ifreetet,double *bc,
757 			  ITG *ifac,ITG *itetfa,ITG *ifreefa,double *planfa,
758 			  ITG *ipofa,ITG *nodes,double *cotet,ITG *ipocatt,
759 			  ITG *ncat_,double *xmin,double *ymin,double *zmin,
760 			  double *charlen,ITG *ndx,ITG *ndy,ITG *ndz,
761 			  ITG *ibase,ITG *node,ITG *ifree,ITG *iexternfa,
762 			  ITG *netet_,ITG *ierr));
763 
764 void FORTRAN(cavity_refine,(ITG *kontet,ITG *ifatet,ITG *ifreetet,double *bc,
765 			    ITG *ifac,ITG *itetfa,ITG *ifreefa,double *planfa,
766 			    ITG *ipofa,double *cotet,ITG *ibase,ITG *node,
767 			    ITG *iexternfa,ITG *ipoed,ITG *iedg,ITG *ifreeed,
768 			    ITG *ipoeled,ITG *ieled,ITG *ifreele,ITG *nktet,
769 			    ITG *netet_,ITG *ibasenewnodes,double *conewnodes,
770 			    ITG *ipoeln,ITG *ieln,ITG *ifreeln,ITG *nnewnodes,
771 			    ITG *iexternedg,ITG *iedtet,double *cg,
772 			    double *height,ITG *iparentel));
773 
774 void FORTRAN(cavityext_refine,(ITG *kontet,ITG *ifatet,ITG *ifreetet,double *bc,
775 			       ITG *ifac,ITG *itetfa,ITG *ifreefa,
776 			       double *planfa,ITG *ipofa,double *cotet,
777 			       ITG *ibase,ITG *node,ITG *iexternfa,ITG *ipoed,
778 			       ITG *iedg,ITG *ifreeed,ITG *ipoeled,ITG *ieled,
779 			       ITG *ifreele,ITG *nktet,ITG *netet_,
780 			       ITG *ibasenewnodes,double *conewnodes,
781 			       ITG *ipoeln,ITG *ieln,ITG *ifreeln,
782 			       ITG *nnewnodes,ITG *iexternedg,ITG *iedtet,
783 			       double *cotetorig,ITG *iedge,ITG *iexternnode,
784 			       double *cg,double *height,ITG *iparentel));
785 
786 void FORTRAN(cfdconv,(double *vold,double *vcon,double *v,ITG *nk,
787 		      ITG *nmethod,ITG *iconvergence,ITG *ithermal,ITG *iit,
788 		      ITG *turbulent,ITG *mi,double *dtimef,double *vconmax,
789 		      ITG *iexplicit));
790 
791 ITG cgsolver(double *A,double *x,double *b,ITG neq,ITG len,ITG *ia,ITG *iz,
792                                 double *eps,ITG *niter,ITG precFlg);
793 
794 void FORTRAN(characteristiclength,(double *co,ITG *istartcrackfro,
795 				   ITG *iendcrackfro,ITG *ncrack,ITG *ifront,
796 				   double *charlen,double *datarget));
797 
798 void checkconvergence(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
799           ITG *ne,double *stn,ITG *nmethod,
800           ITG *kode,char *filab,double *een,double *t1act,
801           double *time,double *epn,ITG *ielmat,char *matname,
802           double *enern,double *xstaten,ITG *nstate_,ITG *istep,
803           ITG *iinc,ITG *iperturb,double *ener,ITG *mi,char *output,
804           ITG *ithermal,double *qfn,ITG *mode,ITG *noddiam,double *trab,
805           ITG *inotr,ITG *ntrans,double *orab,ITG *ielorien,ITG *norien,
806           char *description,double *sti,
807           ITG *icutb,ITG *iit,double *dtime,double *qa,double *vold,
808           double *qam,double *ram1,double *ram2,double *ram,
809           double *cam,double *uam,ITG *ntg,double *ttime,
810           ITG *icntrl,double *theta,double *dtheta,double *veold,
811           double *vini,ITG *idrct,double *tper,ITG *istab,double *tmax,
812           ITG *nactdof,double *b,double *tmin,double *ctrl,double *amta,
813           ITG *namta,ITG *itpamp,ITG *inext,double *dthetaref,ITG *itp,
814           ITG *jprint,ITG *jout,ITG *uncoupled,double *t1,ITG *iitterm,
815           ITG *nelemload,ITG *nload,ITG *nodeboun,ITG *nboun,ITG *itg,
816           ITG *ndirboun,double *deltmx,ITG *iflagact,char *set,ITG *nset,
817           ITG *istartset,ITG *iendset,ITG *ialset,double *emn,double *thicke,
818           char *jobnamec,ITG *mortar,ITG *nmat,ITG *ielprop,double *prop,
819           ITG *ialeatoric,ITG *kscale,
820           double *energy,double *allwk,double *energyref,
821           double *emax,double *enres,double *enetoll,double *energyini,
822           double *allwkini,double *temax,double *reswk,ITG *ne0,
823           ITG *neini,double *dampwk,double *dampwkini,double *energystartstep);
824 
825 void checkconvnet(ITG *icutb,ITG *iin,
826                   double *cam1t,double *cam1f,double *cam1p,
827                   double *cam2t,double *cam2f,double *cam2p,
828                   double *camt,double *camf,double *camp,
829                   ITG *icntrl,double *dtheta,double *ctrl,
830                   double *cam1a,double *cam2a,double *cama,
831                   double *vamt,double *vamf,double *vamp,double *vama,
832                   double *qa,double *qamt,double *qamf,double *ramt,
833                   double *ramf,double *ramp,ITG *iplausi,ITG *ichannel,
834 		  ITG *iaxial);
835 
836 void FORTRAN(checkconstraint,(ITG *nobject,char *objectset,double *g0,
837 			      ITG *nactive,ITG *nnlconst,ITG *ipoacti,
838 			      ITG *ndesi,double *dgdxglob,ITG *nk,
839 			      ITG *nodedesi,ITG *iconstacti,double *objnorm,
840 			      ITG *inameacti));
841 
842 void checkdivergence(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
843           ITG *ne,double *stn,ITG *nmethod,
844           ITG *kode,char *filab,double *een,double *t1act,
845           double *time,double *epn,ITG *ielmat,char *matname,
846           double *enern,double *xstaten,ITG *nstate_,ITG *istep,
847           ITG *iinc,ITG *iperturb,double *ener,ITG *mi,char *output,
848           ITG *ithermal,double *qfn,ITG *mode,ITG *noddiam,double *trab,
849           ITG *inotr,ITG *ntrans,double *orab,ITG *ielorien,ITG *norien,
850           char *description,double *sti,
851           ITG *icutb,ITG *iit,double *dtime,double *qa,double *vold,
852           double *qam,double *ram1,double *ram2,double *ram,
853           double *cam,double *uam,ITG *ntg,double *ttime,
854           ITG *icntrl,double *theta,double *dtheta,double *veold,
855           double *vini,ITG *idrct,double *tper,ITG *istab,double *tmax,
856           ITG *nactdof,double *b,double *tmin,double *ctrl,double *amta,
857           ITG *namta,ITG *itpamp,ITG *inext,double *dthetaref,ITG *itp,
858           ITG *jprint,ITG *jout,ITG *uncoupled,double *t1,ITG *iitterm,
859           ITG *nelemload,ITG *nload,ITG *nodeboun,ITG *nboun,ITG *itg,
860           ITG *ndirboun,double *deltmx,ITG *iflagact,char *set,ITG *nset,
861           ITG *istartset,ITG *iendset,ITG *ialset,double *emn,double *thicke,
862           char *jobnamec,ITG *mortar,ITG *nmat,ITG *ielprop,double *prop,
863           ITG *ialeatoric,ITG *kscale,
864           double *energy,double *allwk,double *energyref,
865           double *emax,double *enres,double *enetoll,double *energyini,
866           double *allwkini,double *temax,double *reswk,ITG *ne0,
867           ITG *neini,double *dampwk,double *dampwkini,double *energystartstep);
868 
869 void FORTRAN(checkexiedge,(ITG *n1newnodes,ITG *n2newnodes,ITG *ipoed,ITG *iedg,
870 		   ITG *node));
871 
872 void checkinclength(double *time,double *ttime,double *theta,double *dtheta,
873           ITG *idrct,double *tper,double *tmax,double *tmin,double *ctrl,
874           double *amta,ITG *namta,ITG *itpamp,ITG *inext,double *dthetaref,
875           ITG *itp,ITG *jprint,ITG *jout);
876 
877 void FORTRAN(checkimpacts,(ITG *ne,ITG *neini,double *temax,
878                    double *sizemaxinc,double *energyref,double *tmin,
879                    double *tper,
880                    ITG *idivergence,ITG *idirinctime,ITG *istab,
881                    double *dtheta,double *enres,double *energy,
882                    double *energyini,double *allwk,double *allwkini,
883                    double *dampwk,double *dampwkini,double *emax,
884                    ITG *mortar,double *maxdecay,double *enetoll));
885 
886 void FORTRAN(checkinputvaluesnet,(ITG *ieg,ITG *nflow,double *prop,
887                                   ITG *ielprop,char *lakon));
888 
889 void FORTRAN(checkprojectgrad,(ITG *nactiveold,ITG *nactive,ITG *ipoacti,
890                                ITG *ipoactiold,char *objectset,double *lambda,
891                                ITG *nnlconst,ITG *iconstacti,ITG *iconstactiold,
892                                ITG *inameacti,ITG *inameactiold,double *g0,
893 		               ITG *nobject,ITG *ndesi,ITG *nodedesi,
894 			       double *dgdxglob,ITG *nk));
895 
896 void FORTRAN(checksharp,(ITG *nexternedg,ITG *iedgextfa,double *cotet,
897 			 ITG *ifacext,ITG *isharp));
898 
899 void FORTRAN(checktime,(ITG *itpamp,ITG *namta,double *tinc,double *ttime,
900              double *amta,double *tmin,ITG *inext,ITG *itp,ITG *istep,
901              double *tper));
902 
903 void FORTRAN(checktruecontact,(ITG *ntie,char *tieset,double *tietol,
904              double *elcon,ITG *itruecontact,ITG *ncmat_,ITG *ntmat_));
905 
906 void FORTRAN(clonesensitivies,(ITG *nobject,ITG *nk,char *objectset,
907 			       double *g0,double *dgdxglob));
908 
909 void FORTRAN(closefile,());
910 
911 void FORTRAN(closefilefluid,());
912 
913 void FORTRAN(cmatrix,(double *ad,double *au,ITG *jqs,ITG *irows,ITG *icols,
914 		      ITG *ndesi,ITG *nodedesi,double *auc,ITG *jqc,
915 		      ITG *irowc,ITG *nodedesibou));
916 
917 void FORTRAN(compdt,(ITG *nk,double *dt,ITG *nshcon,double *shcon,
918 		     double *vold,ITG *ntmat_,ITG *iponoel,
919 		     ITG *inoel,double *dtimef,ITG *ielmat,
920 		     double *dh,double *cocon,ITG *ncocon,
921 		     ITG *ithermal,ITG *mi,
922 		     double *vcon,ITG *compressible,double *tincf,
923 		     ITG *ierr,ITG *ifreesurface,double *dgravity,
924 		     ITG *iit));
925 
926 void compfluid(double **cop,ITG *nk,ITG **ipkonp,ITG *konf,char **lakonp,
927     char **sideface,ITG *ifreestream,
928     ITG *nfreestream,ITG *isolidsurf,ITG *neighsolidsurf,
929     ITG *nsolidsurf,ITG *nshcon,double *shcon,
930     ITG *nrhcon,double *rhcon,double **voldp,ITG *ntmat_,ITG *nodeboun,
931     ITG *ndirboun,ITG *nboun,ITG *ipompc,ITG *nodempc,ITG *nmpc,
932     ITG *ikmpc,ITG *ilmpc,ITG *ithermal,ITG *ikboun,ITG *ilboun,
933     ITG *turbulent,ITG *isolver,ITG *iexpl,double *ttime,
934     double *time,double *dtime,ITG *nodeforc,ITG *ndirforc,double *xforc,
935     ITG *nforc,ITG *nelemload,char *sideload,double *xload,ITG *nload,
936     double *xbody,ITG *ipobody,ITG *nbody,ITG *ielmatf,char *matname,
937     ITG *mi,ITG *ncmat_,double *physcon,ITG *istep,ITG *iinc,
938     ITG *ibody,double *xloadold,double *xboun,
939     double *coefmpc,ITG *nmethod,double *xforcold,double *xforcact,
940     ITG *iamforc,ITG *iamload,double *xbodyold,double *xbodyact,
941     double *t1old,double *t1,double *t1act,ITG *iamt1,double *amta,
942     ITG *namta,ITG *nam,double *ampli,double *xbounold,double *xbounact,
943     ITG *iamboun,ITG *itg,ITG *ntg,char *amname,double *t0,ITG **nelemface,
944     ITG *nface,double *cocon,ITG *ncocon,double *xloadact,double *tper,
945     ITG *jmax,ITG *jout,char *set,ITG *nset,ITG *istartset,
946     ITG *iendset,ITG *ialset,char *prset,char *prlab,ITG *nprint,
947     double *trab,ITG *inotr,ITG *ntrans,char *filab,char *labmpc,
948     double *sti,ITG *norien,double *orab,char *jobnamef,char *tieset,
949     ITG *ntie,ITG *mcs,ITG *ics,double *cs,ITG *nkon,ITG *mpcfree,
950     ITG *memmpc_,double *fmpc,ITG *nef,ITG **inomat,double *qfx,
951     ITG *neifa,ITG *neiel,ITG *ielfa,ITG *ifaext,double *vfa,double *vel,
952     ITG *ipnei,ITG *nflnei,ITG *nfaext,char *typeboun,ITG *neij,
953     double *tincf,ITG *nactdoh,ITG *nactdohinv,ITG *ielorien,
954     char *jobnamec,ITG *ifatie,ITG *nstate_,double *xstate,char *orname,
955     ITG *kon,double *ctrl,ITG *kode,double *velo,double *veloo,
956     ITG *initial);
957 
958 void compfluidfem(double **cop,ITG *nk,ITG **ipkonp,ITG **konp,char **lakonp,
959     ITG *ne,char **sideface,ITG *ifreestream,
960     ITG *nfreestream,ITG *isolidsurf,ITG *neighsolidsurf,
961     ITG *nsolidsurf,ITG *iponoel,ITG *inoel,ITG *nshcon,double *shcon,
962     ITG *nrhcon,double *rhcon,double **voldp,ITG *ntmat_,ITG *nodeboun,
963     ITG *ndirboun,ITG *nboun,ITG **ipompcp,ITG **nodempcp,ITG *nmpc,
964     ITG **ikmpcp,ITG **ilmpcp,ITG *ithermal,ITG *ikboun,ITG *ilboun,
965     ITG *turbulent,ITG *isolver,ITG *iexpl,double *ttime,
966     double *time,double *dtime,ITG *nodeforc,ITG *ndirforc,double *xforc,
967     ITG *nforc,ITG *nelemload,char *sideload,double *xload,ITG *nload,
968     double *xbody,ITG *ipobody,ITG *nbody,ITG **ielmatp,char *matname,
969     ITG *mi,ITG *ncmat_,double *physcon,ITG *istep,ITG *iinc,
970     ITG *ibody,double *xloadold,double *xboun,
971     double **coefmpcp,ITG *nmethod,double *xforcold,double *xforcact,
972     ITG *iamforc,ITG *iamload,double *xbodyold,double *xbodyact,
973     double *t1old,double *t1,double *t1act,ITG *iamt1,double *amta,
974     ITG *namta,ITG *nam,double *ampli,double *xbounold,double *xbounact,
975     ITG *iamboun,ITG *itg,ITG *ntg,char *amname,double *t0,ITG **nelemface,
976     ITG *nface,double *cocon,ITG *ncocon,double *xloadact,double *tper,
977     ITG *jmax,ITG *jout,char *set,ITG *nset,ITG *istartset,
978     ITG *iendset,ITG *ialset,char *prset,char *prlab,ITG *nprint,
979     double *trab,ITG *inotr,ITG *ntrans,char *filab,char **labmpcp,
980     double *sti,ITG *norien,double *orab,char *jobnamef,char *tieset,
981     ITG *ntie,ITG *mcs,ITG *ics,double *cs,ITG *nkon,ITG *mpcfree,
982     ITG *memmpc_,double **fmpcp,ITG *nef,ITG **inomat,double *qfx,
983     ITG *kode,ITG *ipface,ITG *ielprop,double *prop,char *orname,
984     double *tincf,ITG *ifreesurface,ITG *nkftot,ITG *ielorien,
985     ITG *nelold,ITG *nkold,ITG *nknew,ITG *nelnew);
986 
987 void FORTRAN(complete_hel,(ITG *neq,double *b,double *hel,double *ad,
988              double *au,ITG *jq,ITG *irow,ITG *nzs));
989 
990 void FORTRAN(complete_hel_blk,(double *vel,double *hel,double *auv6,
991              ITG *ipnei,ITG *neiel,ITG *nef,ITG *nactdohinv));
992 
993 void FORTRAN(complete_hel_cyclic,(ITG *neq,double *b,double *hel,double *ad,
994              double *au,ITG *jq,ITG *irow,ITG *ipnei,ITG *neiel,
995              ITG *ifatie,double *c,char *lakonf,ITG *neifa,ITG *nzs));
996 
997 void FORTRAN(complete_hel_cyclic_blk,(double *vel,double *hel,double *auv6,
998              double *c,ITG *ipnei,ITG *neiel,ITG *neifa,ITG *ifatie,
999              ITG *nef));
1000 
1001 void complete_hel_blk_main(double *vel,double *hel,double *auv6,double *c,
1002       ITG *ipnei,ITG *neiel,ITG *neifa,ITG *ifatie,ITG *nef);
1003 
1004 void complexfreq(double **cop,ITG *nk,ITG **konp,ITG **ipkonp,char **lakonp,ITG *ne,
1005                ITG **nodebounp,ITG **ndirbounp,double **xbounp,ITG *nboun,
1006                ITG **ipompcp,ITG **nodempcp,double **coefmpcp,char **labmpcp,
1007                ITG *nmpc,ITG *nodeforc,ITG *ndirforc,double *xforc,
1008                ITG *nforc,ITG *nelemload,char *sideload,double *xload,
1009                ITG *nload,
1010                ITG **nactdofp,ITG *neq,ITG *nzl,ITG *icol,ITG *irow,
1011                ITG *nmethod,ITG **ikmpcp,ITG **ilmpcp,ITG **ikbounp,
1012                ITG **ilbounp,double *elcon,ITG *nelcon,double *rhcon,
1013                ITG *nrhcon,double *cocon,ITG *ncocon,
1014                double *alcon,ITG *nalcon,double *alzero,
1015                ITG **ielmatp,ITG **ielorienp,ITG *norien,double *orab,
1016                ITG *ntmat_,double **t0p,
1017                double **t1p,ITG *ithermal,double *prestr,ITG *iprestr,
1018                double **voldp,ITG *iperturb,double **stip,ITG *nzs,
1019                double *timepar,double *xmodal,
1020                double **veoldp,char *amname,double *amta,
1021                ITG *namta,ITG *nam,ITG *iamforc,ITG *iamload,
1022                ITG **iamt1p,ITG *jout,
1023                ITG *kode,char *filab,double **emep,double *xforcold,
1024                double *xloadold,
1025                double **t1oldp,ITG **iambounp,double **xbounoldp,ITG *iexpl,
1026                double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
1027                double *xstate,ITG *npmat_,char *matname,ITG *mi,
1028                ITG *ncmat_,ITG *nstate_,double **enerp,char *jobnamec,
1029                double *ttime,char *set,ITG *nset,ITG *istartset,
1030                ITG *iendset,ITG **ialsetp,ITG *nprint,char *prlab,
1031                char *prset,ITG *nener,double *trab,
1032                ITG **inotrp,ITG *ntrans,double **fmpcp,ITG *ipobody,ITG *ibody,
1033                double *xbody,ITG *nbody,double *xbodyold,ITG *istep,
1034                ITG *isolver,ITG *jq,char *output,ITG *mcs,ITG *nkon,
1035                ITG *mpcend,ITG *ics,double *cs,ITG *ntie,char *tieset,
1036                ITG *idrct,ITG *jmax,
1037                double *ctrl,ITG *itpamp,double *tietol,ITG *nalset,
1038                ITG *ikforc,ITG *ilforc,double *thicke,
1039                char *jobnamef,ITG *mei,ITG *nmat,ITG *ielprop,double *prop,
1040                char *orname,char *typeboun,double *t0g,double *t1g);
1041 
1042 void FORTRAN(con2phys,(double *vold,double *voldaux,ITG *nk,
1043            ITG *ntmat_,double *shcon,ITG *nshcon,double *rhcon,
1044 	   ITG *nrhcon,
1045            double *physcon,ITG *ithermal,
1046            ITG *compressible,
1047            ITG *turbulent,ITG *inomat,ITG *mi,
1048 	   ITG *ierr,ITG *ifreesurface,
1049 	   double *dgravity,double *depth));
1050 
1051 void FORTRAN(condrandomfield,(double *ad,double *au,ITG *jqs,ITG *irows,
1052 			      ITG *ndesi,double *rhs,double *vector,
1053 			      ITG *idesvar,ITG *jqc,double *auc,ITG *irowc));
1054 
1055 void contact(ITG *ncont,ITG *ntie,char *tieset,ITG *nset,char *set,
1056              ITG *istartset,ITG *iendset,ITG *ialset,ITG *itietri,
1057              char *lakon,ITG *ipkon,ITG *kon,ITG *koncont,ITG *ne,
1058              double *cg,double *straight,ITG *ifree,double *co,
1059              double *vold,ITG *ielmat,double *cs,double *elcon,
1060              ITG *istep,ITG *iinc,ITG *iit,ITG *ncmat_,ITG *ntmat_,
1061              ITG *ne0,double *vini,
1062              ITG *nmethod,
1063              ITG *iperturb,ITG *ikboun,ITG *nboun,ITG *mi,ITG *imastop,
1064              ITG *nslavnode,ITG *islavnode,ITG *islavsurf,ITG *itiefac,
1065              double *areaslav,ITG *iponoels,ITG *inoels,double *springarea,
1066              double *tietol,double *reltime,ITG *imastnode,ITG *nmastnode,
1067              double *xmastnor,char *filab,ITG *mcs,
1068              ITG *ics,ITG *nasym,double *xnoels,ITG *mortar,
1069              double *pslavsurf,double *pmastsurf,double *clearini,
1070              double *theta,double *xstateini,double *xstate,ITG *nstate_,
1071              ITG *icutb,ITG *ialeatoric,char *jobnamef,double *alea,
1072 	     double *auw,ITG *jqw,ITG *iroww,ITG *nzsw);
1073 
1074 void convert2rowbyrow(double *ad,double *au, ITG *icol,ITG *irow,
1075 		      ITG *jq,ITG *neq,ITG *nzs,double **aupardisop,
1076 		      ITG **pointersp,ITG **icolpardisop);
1077 
1078 void FORTRAN(convert2slapcol,(double *au,double *ad,
1079                               ITG *jq,ITG *nzs,ITG *nef,double *aua));
1080 
1081 void FORTRAN(coriolissolve,(double *cc,ITG *nev,double *aa,double *bb,
1082              double *xx,double *eiga,double *eigb,double *eigxx,
1083              ITG *iter,double *d,double *temp,ITG *nevcomplex));
1084 
1085 void FORTRAN(correctem,(double *stx,double *stn,
1086 			char *prlab,ITG *nprint,ITG *ne,ITG *ipkon,char *lakon,
1087 			double *elcon,ITG *ncmat_,ITG *ntmat_,ITG *nk,
1088 			double *om,char *filab,ITG *mi,ITG *ielmat));
1089 
1090 void FORTRAN(correctflux,(ITG *nef,ITG *ipnei,ITG *neifa,ITG *neiel,
1091                           double *flux,
1092                           double *vfa,double *advfa,double *area,double *vel,
1093                           double *alet,ITG *ielfa,double *ale,ITG *ifabou,
1094                           ITG *nefa,ITG *nefb,double *xxnj,double *gradpcfa));
1095 
1096 void *correctflux1mt(ITG *i);
1097 
1098 void correctfluxmain(ITG *nef,ITG *ipnei,ITG *neifa,ITG *neiel,
1099                      double *flux,
1100                      double *vfa,double *advfa,double *area,double *vel,
1101                      double *alet,ITG *ielfa,double *ale,ITG *ifabou,
1102                      ITG *num_cpus,double *xxnj,double *gradpcfa);
1103 
1104 void FORTRAN(correctfluxcomp,(ITG *nef,ITG *ipnei,ITG *neifa,ITG *neiel,
1105                               double *flux,
1106                               double *vfa,double *advfa,double *area,
1107                               double *vel,
1108                               double *alet,ITG *ielfa,double *ale,ITG *ifabou,
1109                               ITG *ielmatf,ITG *mi,double *shcon,ITG *ntmat_,
1110                               ITG *nefa,ITG *nefb,double *xxnj,
1111                               double *gradpcfa,ITG *inlet));
1112 
1113 void *correctfluxcomp1mt(ITG *i);
1114 
1115 void correctfluxcompmain(ITG *nef,ITG *ipnei,ITG *neifa,ITG *neiel,
1116                          double *flux,
1117                          double *vfa,double *advfa,double *area,double *vel,
1118                          double *alet,ITG *ielfa,double *ale,ITG *ifabou,
1119                          ITG *ielmatf,ITG *mi,double *shcon,ITG *ntmat_,
1120                          ITG *num_cpus,double *xxnj,double *gradpcfa,
1121                          ITG *inlet);
1122 
1123 void FORTRAN(correctrhoelcomp,(ITG *nef,double *vel,double *shcon,
1124                         ITG *ielmatf,ITG *ntmat_,ITG *mi));
1125 
1126 void FORTRAN(correctvel,(double *adv,ITG *nef,double *volume,double *gradpcel,
1127                           double *vel,ITG *nefa,ITG *nefb));
1128 
1129 void *correctvel1mt(ITG *i);
1130 
1131 void correctvelmain(double *adv,ITG *nef,double *volume,double *gradpcel,
1132                     double *vel,ITG *num_cpus);
1133 
1134 void FORTRAN(correctvel_simplec,(double *adv,ITG *nef,double *volume,double *gradpel,
1135                                  double *vel,ITG *ipnei,double *auv));
1136 
1137 void cpypardou(double *var1,double *var2,ITG *size,ITG *num_cpus);
1138 
1139 void *cpypardoumt(ITG *i);
1140 
1141 void cpyparitg(ITG *iva1,ITG *iva2,ITG *size,ITG *num_cpus);
1142 
1143 void *cpyparitgmt(ITG *i);
1144 
1145 void crackfrd(ITG *nk,ITG *ngraph,ITG *noddiam,double *cs,ITG *kode,ITG *inum,
1146 	      ITG *nmethod,double *time,ITG *istep,ITG *iinc,ITG *mode,
1147 	      char *description,char *set,ITG *nset,ITG *istartset,
1148 	      ITG *iendset,ITG *ialset,char *jobnamec,char *output,
1149 	      double *dkeqglob,double *dk1glob,double *dk2glob,double *dk3glob,
1150 	      double *phiglob,double *dadnglob,double *dnglob,
1151 	      double *acrackglob,double *xkeqminglob,double *xkeqmaxglob,
1152 	      ITG *iincglob,double *domstepglob);
1153 
1154 void FORTRAN(cracklength,(ITG *ncrack,ITG *istartcrackfro,ITG *iendcrackfro,
1155 			  double *co,ITG *istartcrackbou,ITG *iendcrackbou,
1156 			  double *coproj,ITG *ibounnod,double *xt,
1157 			  double *acrack,ITG *istartfront,ITG *iendfront,
1158 			  ITG *nnfront,ITG *isubcrackfront,ITG *ifrontrel,
1159 			  ITG *ifront,double *posfront,double *xaplane,
1160 			  double *doubleglob,ITG *integerglob,ITG *nstep,
1161 			  ITG *nproc,ITG *iinc,double *acrackglob,ITG *ier));
1162 
1163 void FORTRAN(cracklength_smoothing,(ITG *nnfront,ITG *isubsurffront,
1164 				    ITG *istartfront,ITG *iendfront,
1165 				    ITG *ifrontrel,double *costruc,double *dist,
1166 				    double *a,ITG *istartcrackfro,
1167 				    ITG *iendcrackfro,double *acrack,
1168 				    double *amin,ITG *nfront,ITG *ncrack,
1169 				    ITG *idist,ITG *nstep));
1170 
1171 void FORTRAN(crackplane,(ITG *ncrack,ITG *istartcrackfro,ITG *iendcrackfro,
1172 			 ITG *ifront,double *co,double *xa,
1173 			 double *xplanefront,ITG *istartcrackbou,
1174 			 ITG *iendcrackbou,ITG *ibounnod,
1175 			 double *xn,double *xt,ITG *ifrontrel,ITG *iedno,
1176 			 ITG *ibounedg,ITG *ieled,ITG *kontri,ITG *nfront,
1177 			 double *costruc,double *xnplane,double *xaplane,
1178 			 ITG *nstep,double *xm,double *xb));
1179 
1180 void FORTRAN(crackprop,(ITG *ifrontrel,ITG *ibounnod,
1181 			double *phi,double *da,double *co,double *costruc,
1182 			ITG *nk,double *xa,double *xn,ITG *nnfront,
1183 			ITG *istartfront,ITG *iendfront,double *doubleglob,
1184 			ITG *integerglob,ITG *isubsurffront,
1185 			double *dadn,ITG *ncyc,ITG *ifrontprop,
1186 			ITG *nstep,double *acrack,double *acrackglob,
1187 			double *datarget,ITG *ieqspace,ITG *iincglob,
1188 			ITG *iinc));
1189 
1190 void crackpropagation(ITG **ipkonp,ITG **konp,char **lakonp,ITG *ne,ITG *nk,
1191 		      char *jobnamec,ITG *nboun,ITG *iamboun,double *xboun,
1192 		      ITG *nload,char *sideload,ITG *iamload,ITG *nforc,
1193 		      ITG *iamforc,double *xforc,ITG *ithermal,double *t1,
1194 		      ITG *iamt1,double **cop,ITG *nkon,ITG *mi,ITG **ielmatp,
1195 		      char *matname,char *output,ITG *nmat,char *set,ITG *nset,
1196 		      ITG *istartset,ITG *iendset,ITG *ialset,ITG *jmax,
1197 		      double *timepar,ITG *nelcon,double *elcon,ITG *ncmat_,
1198 		      ITG *ntmat_,ITG *istep,char *filab,ITG *nmethod);
1199 
1200 void crackpropdata(char *jobnamec,ITG *nelcon,double *elcon,double **crconp,
1201 		   ITG *ncrconst,ITG *ncrtem,ITG *imat,char *matname,
1202 		   ITG *ntmat_,ITG *ncmat_,char **paramp,ITG *nparam,ITG *law);
1203 
1204 void FORTRAN(crackrate,(ITG *nfront,ITG *ifrontrel,double *xkeq,
1205 			double *phi,ITG *ifront,
1206 			double *dadn,ITG *ncyc,ITG *icritic,
1207 			double *datarget,double *crcon,
1208 			double *temp,ITG *ntmat_,double *crconloc,
1209 			ITG *ncrconst,double *dk1,double *dk2,double *dk3,
1210 			ITG *nstep,double *acrack,
1211 			double *wk1,double *wk2,double *wk3,double *xkeqmin,
1212 			double *xkeqmax,double *dkeq,double *dompstep,
1213 			double *domphi,char *param,ITG *nparam,ITG *law,
1214 			ITG *ier));
1215 
1216 void FORTRAN(crackshape,(ITG *nnfront,ITG *ifront,ITG *istartfront,
1217 			 ITG *iendfront,ITG *isubsurffront,double *angle,
1218 			 double *posfront,double *shape));
1219 
1220 void FORTRAN(create_contactdofs,(ITG *kslav,ITG *lslav,ITG *ktot,ITG *ltot,
1221 				 ITG *nslavs,ITG *islavnode,ITG *nmasts,
1222 				 ITG *imastnode,ITG *nactdof,ITG *mi,
1223 				 ITG *neqslav,ITG *neqtot));
1224 
1225 void FORTRAN(createblock,(ITG *nef,ITG *ipnei,ITG *neiel,ITG *iam,
1226                           ITG *jam,ITG *iamorig,ITG *nflnei,ITG *nz_num,
1227                           ITG *num_cpus,ITG *nestart,ITG *ineighblock,
1228                           ITG *neighblock,ITG *icyclic,ITG *neifa,
1229                           ITG *ifatie,ITG *nneighblock));
1230 
1231 void FORTRAN(createblock_struct,(ITG *neq,ITG *ipointers,ITG *icolpardiso,
1232                                 double *aupardiso,ITG *nestart,ITG *num_cpus,
1233                                 ITG *ja,ITG *nz_num));
1234 
1235 void FORTRAN(createbounf,(ITG *nkf,ITG *ikf,ITG *ithermal,ITG *ipofano,
1236 			  ITG *ipbount,ITG *ibount,double *xbount,ITG *nbpt,
1237 			  ITG *ipbounv1,ITG *ibounv1,double *xbounv1,
1238 			  ITG *nbpv1,ITG *ipbounv2,ITG *ibounv2,
1239 			  double *xbounv2,ITG *nbpv2,ITG *ipbounv3,
1240 			  ITG *ibounv3,double *xbounv3,ITG *nbpv3,ITG *ipbounp,
1241 			  ITG *ibounp,double *xbounp,ITG *nbpp,ITG *ifano,
1242 			  ITG *ielfa,ITG *nbt,ITG *nbv1,ITG *nbv2,ITG *nbv3,
1243 			  ITG *nbp,ITG *ifabou));
1244 
1245 void FORTRAN(createelemneigh,(ITG *nk,ITG *iponoel,ITG *inoel,
1246                           ITG *istartnneigh,ITG *ialnneigh,
1247                           ITG *icheckelems,ITG *istarteneigh,
1248                           ITG *ialeneigh));
1249 
1250 void FORTRAN(createfint,(ITG *ne,ITG *ipkon,char *lakon,ITG *kon,
1251                          ITG *nactdof,ITG *mi,double *fn0,double *fint));
1252 
1253 void FORTRAN(createialnk,(ITG *nk,ITG *iponoel,ITG *inoel,ITG *istartnk,
1254                           ITG *ialnk,ITG *ipkon));
1255 
1256 void FORTRAN(createinterfacempcs,(ITG *imastnode,double *xmastnor,
1257              ITG *nmastnode,ITG *ikmpc,ITG *ilmpc,ITG *nmpc,ITG *ipompc,
1258              ITG *nodempc,double *coefmpc,char *labmpc,ITG *mpcfree,
1259              ITG *ikboun,ITG *nboun));
1260 
1261 void FORTRAN(createinum,(ITG *ipkon,ITG *inum,ITG *kon,char *lakon,ITG *nk,
1262              ITG *ne,char *cflag,ITG *nelemload,ITG *nload,ITG *nodeboun,
1263              ITG *nboun,ITG *ndirboun,ITG *ithermal,double *co,
1264              double *vold,ITG *mi,ITG *ielmat,ITG *ielprop,double *prop));
1265 
1266 void FORTRAN(createlocalsys,(ITG *nnofront,ITG *istartnode,ITG *iendnode,
1267 			     ITG *ifront,double *co,double *xt,double *xn,
1268 			     double *xa,ITG *nfront,ITG *ifrontrel,
1269 			     double *stress,ITG *iedno,ITG *ibounedg,
1270 			     ITG *ieled,ITG *kontri,ITG *isubsurffront,
1271 			     ITG *istartcrackfro,ITG *iendcrackfro,
1272 			     ITG *ncrack,double *angle,ITG *nstep,
1273 			     ITG *ier));
1274 
1275 void FORTRAN(createmddof,(ITG *imddof,ITG *nmddof,ITG *istartset,
1276        ITG *iendset,ITG *ialset,ITG *nactdof,ITG *ithermal,ITG *mi,
1277        ITG *imdnode,ITG *nmdnode,ITG *ikmpc,ITG *ilmpc,ITG *ipompc,
1278        ITG *nodempc,ITG *nmpc,ITG *imdmpc,
1279        ITG *nmdmpc,ITG *imdboun,ITG *nmdboun,ITG *ikboun,ITG *nboun,
1280        ITG *nset,ITG *ntie,char *tieset,char *set,char *lakon,ITG *kon,
1281        ITG *ipkon,char *labmpc,ITG *ilboun,char *filab,char *prlab,
1282        char *prset,ITG *nprint,ITG *ne,ITG *cyclicsymmetry));
1283 
1284 void FORTRAN(createmdelem,(ITG *imdnode,ITG *nmdnode,
1285              ITG *ikmpc,ITG *ilmpc,ITG *ipompc,ITG *nodempc,ITG *nmpc,
1286              ITG *imddof,ITG *nmddof,ITG *nactdof,ITG *mi,ITG *imdmpc,
1287              ITG *nmdmpc,ITG *imdboun,ITG *nmdboun,ITG *ikboun,ITG *nboun,
1288              ITG *ilboun,ITG *ithermal,ITG *imdelem,ITG *nmdelem,
1289              ITG *iponoel,ITG *inoel,char *prlab,char *prset,ITG *nprint,
1290              char *lakon,char *set,ITG *nset,ITG *ialset,ITG *ipkon,
1291              ITG *kon,ITG *istartset,ITG *iendset,ITG *nforc,
1292              ITG *ikforc,ITG *ilforc));
1293 
1294 void FORTRAN(createnodeneigh,(ITG *nk,ITG *istartnk,
1295                           ITG *ialnk,ITG *istartnneigh,ITG *ialnneigh,
1296                           ITG *ichecknodes,char *lakon,ITG *ipkon,ITG *kon,
1297                           ITG *nkinsetinv,ITG *neielemtot));
1298 
1299 void FORTRAN(createparacfd,(ITG *nk,ITG *iponoel,ITG *inoel,ITG *ne,
1300 			    ITG *num_cpus,ITG *irowcpu,ITG *jqcpu));
1301 
1302 void FORTRAN(createtet,(ITG *kontet,ITG *ifatet,ITG *netet,
1303              ITG *inodfa,ITG *ifreefa,double *planfa,ITG *ipofa,
1304              ITG *nodes,double *cotet,ITG *iparentelement));
1305 
1306 void FORTRAN(createtiedsurfs,(ITG *nodface,ITG *ipoface,char *set,
1307              ITG *istartset,ITG *iendset,ITG *ialset,char *tieset,
1308              ITG *inomat,ITG *ne,ITG *ipkon,char *lakon,ITG *kon,
1309              ITG *ntie,double *tietol,ITG *nalset,ITG *nk,ITG *nset,
1310              ITG *iactive));
1311 
1312 void FORTRAN(create_iau6,(ITG *nef,ITG *ipnei,ITG *neiel,ITG *jq,
1313                           ITG *irow,ITG *nzs,ITG *iau6,char *lakonf));
1314 
1315 void FORTRAN(create_inoelf,(ITG *nef,ITG *ipkonf,char *lakonf,ITG *konf,
1316 			    ITG *iponoelf,ITG *inoelf,ITG *ifreenoelf));
1317 
1318 void FORTRAN(dattime,(char *date,char *clock));
1319 
1320 void CEE(ddotc,(ITG *n,double *dx,ITG *incx,double *dy,ITG *incy,
1321                 double *funcddot));
1322 
1323 void dam1parll(ITG *mt,ITG *nactdof,double *aux2,double *v,
1324                     double *vini,ITG *nk,ITG *num_cpus);
1325 
1326 void *dam1parllmt(ITG *i);
1327 
1328 void dam2parll(double *dampwk,double *cv,double *cvini,
1329                     double *aux2,ITG *neq0,ITG *num_cpus);
1330 
1331 void *dam2parllmt(ITG *i);
1332 
1333 void *ddotc1mt(ITG *i);
1334 
1335 void FORTRAN(deactiextfaces,(ITG *nktet,ITG *ipofa,ITG *ifac,double *planfa,
1336 			     ITG *iexternfa));
1337 
1338 void dealloc_cal(ITG *ncs_,ITG **icsp,ITG *mcs,double **csp,
1339 		 char **tiesetp,double **tietolp,double **cop,
1340 		 ITG **konp,ITG **ipkonp,char **lakonp,ITG **nodebounp,
1341 		 ITG **ndirbounp,char **typebounp,double **xbounp,
1342 		 ITG **ikbounp,ITG **ilbounp,ITG **nodebounoldp,
1343 		 ITG **ndirbounoldp,double **xbounoldp,ITG **ipompcp,
1344 		 char **labmpcp,ITG **ikmpcp,ITG **ilmpcp,
1345 		 double **fmpcp,ITG **nodempcp,double **coefmpcp,
1346 		 ITG **nodempcrefp,double **coefmpcrefp,ITG **ikmpcrefp,
1347 		 ITG **nodeforcp,ITG **ndirforc,double **xforcp,
1348 		 ITG **ikforcp,ITG **ilforcp,double **xforcoldp,
1349 		 ITG **nelemloadp,char **sideloadp,double **xloadp,
1350 		 double **xloadoldp,char **cbodyp,ITG **ibodyp,
1351 		 double **xbodyp,double **xbodyoldp,ITG *nam,
1352 		 ITG **iambounp,ITG **iamforcp,ITG **iamloadp,
1353 		 char **amnamep,double **amtap,ITG **namtap,char **setp,
1354 		 ITG **istartsetp,ITG **iendsetp,ITG **ialsetp,
1355 		 double **elconp,ITG **nelconp,double **rhconp,
1356 		 ITG **nrhconp,double **shconp,ITG **nshconp,
1357 		 double **coconp,ITG **ncoconp,double **alconp,
1358 		 ITG **nalconp,double **alzerop,ITG *nprop,
1359 		 ITG **ielpropp,double **propp,ITG *npmat_,
1360 		 double **pliconp,ITG **npliconp,double **plkconp,
1361 		 ITG **nplkconp,ITG *ndamp,double **daconp,ITG *norien,
1362 		 char **ornamep,double **orabp,ITG **ielorienp,
1363 		 ITG *ntrans,double **trabp,ITG **inotrp,ITG *iprestr,
1364 		 double **prestrp,ITG *ithermal,double **t0p,
1365 		 double **t1p,double **t1oldp,ITG **iamt1p,ITG *ne1d,
1366 		 ITG *ne2d,double **t0gp,double **t1gp,
1367 		 ITG *irobustdesign,ITG **irandomtypep,
1368 		 double **randompvalp,char **prlabp,char **prsetp,
1369 		 char **filabp,double **xmodalp,ITG **ielmatp,
1370 		 char **matnamep,double **stip,double **emep,
1371 		 double **enerp,double **xstatep,double **voldp,
1372 		 double **veoldp,double **velp,double **velop,
1373 		 double **veloop,ITG **iponorp,double **xnorp,
1374 		 ITG **knorp,double **thickep,double **offsetp,
1375 		 ITG **iponoelp,ITG **inoelp,ITG **rigp,
1376 		 ITG **ne2bounp,ITG **islavsurfp,ITG *mortar,
1377 		 double **pslavsurfp,double **clearinip,
1378 		 ITG *nobject_,char **objectsetp,ITG *nmethod,ITG *iperturb,
1379 		 ITG *irefineloop,ITG **iparentelp,ITG **iprfnp,ITG **konrfnp,
1380 		 double **ratiorfnp,char **headingp,ITG **nodedesip,
1381 		 double **dgdxglobp,double **g0p,ITG *nuel_,double **xdesip);
1382 
1383 void FORTRAN(desiperelem,(ITG *ndesi,ITG *istartdesi,ITG *ialdesi,
1384                           ITG *ipoeldi,ITG *ieldi,ITG *ne,
1385                           ITG *istartelem,ITG *ialelem));
1386 
1387 void FORTRAN(detectactivecont1,(double *vold,ITG *nk,ITG *mi,double *aubi,
1388 				ITG *irowbi,ITG *jqbi,ITG *neqtot,double *fext,
1389 				double *aubb,double *adbb,ITG *ltot,
1390 				ITG *irowbb,ITG *jqbb,double *auw,ITG *iroww,
1391 				ITG *jqw,ITG *neqslav,double *g0,
1392 				ITG *icontactv,double *auib,ITG *irowib,
1393 				ITG *jqib,double *g,ITG *icolbb,ITG *nactdof,
1394 				double *qtmp));
1395 
1396 void FORTRAN(determineextern,(ITG *ifac,ITG *itetfa,ITG *iedg,ITG *ipoed,
1397                               ITG *iexternedg,ITG *iexternfa,ITG *iexternnode,
1398                               ITG *nktet_,ITG *ipofa));
1399 
1400 void dfdbj(double *bcont,double **dbcontp,ITG *neq,ITG *nope,
1401            ITG *konl,ITG *nactdof,double *s,double *z,ITG *ikmpc,
1402            ITG *ilmpc,ITG *ipompc,ITG *nodempc,ITG *nmpc,
1403            double *coefmpc,double *fnl,ITG *nev,
1404            ITG **ikactcontp,ITG **ilactcontp,ITG *nactcont,ITG *nactcont_,
1405            ITG *mi,ITG *cyclicsymmetry,ITG *izdof,ITG *nzdof);
1406 
1407 void FORTRAN(dgesv,(ITG *nteq,ITG *nhrs,double *ac,ITG *lda,ITG *ipiv,
1408                      double *bc,ITG *ldb,ITG *info));
1409 
1410 void FORTRAN(dgetrs,(char *trans,ITG *nteq,ITG *nrhs,double *ac,ITG *lda,
1411                       ITG *ipiv,double *bc,ITG *ldb,ITG *info));
1412 
1413 void FORTRAN(dgmres1,(ITG *n,double *b,double *x,ITG *nelt,ITG *ia,ITG *ja,
1414              double *a,ITG *isym,ITG *itol,double *tol,ITG *itmax,ITG *iter,
1415              double *err,ITG *ierr,ITG *iunit,double *sb,double *sx,
1416              double *rgwk,ITG *lrgw,ITG *igwk,ITG *ligw,double *rwork,
1417              ITG *iwork));
1418 
1419 void dgmresmain(ITG *n,double *b,double *x,ITG *nelt,ITG *ia,ITG *ja,
1420              double *a,ITG *isym,ITG *itol,double *tol,ITG *itmax,ITG *iter,
1421              double *err,ITG *ierr,ITG *iunit,double *sb,double *sx,
1422              double *rgwk,ITG *lrgw,ITG *igwk,ITG *ligw,double *rwork,
1423 	     ITG *iwork,ITG *nestart,ITG *num_cpus,double *dgmrestol);
1424 
1425 void *dgmres1mt(ITG *i);
1426 
1427 void FORTRAN(disp_sen_dv,(ITG *nodeset,ITG *istartset,ITG *iendset,ITG *ialset,
1428                           ITG *iobject,ITG *mi,ITG *nactdof,double *dgdu,
1429                           double *vold,char *objectset,ITG *nactdofinv,
1430                           ITG *neq,double *g0));
1431 
1432 void FORTRAN(distributesens,(ITG *istartdesi,ITG *ialdesi,ITG *ipkon,
1433             char *lakon,ITG *ipoface,ITG *ndesi,ITG *nodedesi,ITG *nodface,
1434             ITG *kon,double *co,double *dgdx,ITG *nobject,
1435             double *weightformgrad,ITG *nodedesiinv,ITG *noregion,
1436             char *objectset,double *dgdxglob,ITG *nk,double *physcon,
1437 	    ITG* nobjectstart));
1438 
1439 void divparll(double *var1,double *var2,ITG *size,ITG *num_cpus);
1440 
1441 void *divparllmt(ITG *i);
1442 
1443 void FORTRAN(dmatrix,(double *ad,double *au,ITG *jqs,ITG *irows,ITG *icols,
1444 		      ITG *ndesi,ITG *nodedesi,double *add,double *aud,
1445 		      ITG *jqd,ITG *irowd,ITG *ndesibou,ITG *nodedesibou));
1446 
1447 void FORTRAN(drfftf,(ITG *ndata,double *r,double *wsave,ITG *isave));
1448 
1449 void FORTRAN(drffti,(ITG *ndata,double *wsave,ITG *isave));
1450 
1451 void FORTRAN(dnaupd,(ITG *ido,char *bmat,ITG *n,char *which,ITG *nev,
1452              double *tol,double *resid,ITG *ncv,double *z,ITG *ldz,
1453              ITG *iparam,ITG *ipntr,double *workd,double *workl,
1454              ITG *lworkl,ITG *info));
1455 
1456 void FORTRAN(dsaupd,(ITG *ido,char *bmat,ITG *n,char *which,ITG *nev,
1457              double *tol,double *resid,ITG *ncv,double *z,ITG *ldz,
1458              ITG *iparam,ITG *ipntr,double *workd,double *workl,
1459              ITG *lworkl,ITG *info));
1460 
1461 void FORTRAN(dneupd,(ITG *rvec,char *howmny,ITG *select,double *d,
1462              double *di,double *z,ITG *ldz,double *sigma,double *sigmai,
1463              double *workev,char *bmat,ITG *neq,char *which,
1464              ITG *nev,double *tol,double *resid,ITG *ncv,double *v,
1465              ITG *ldv,ITG *iparam,ITG *ipntr,double *workd,
1466              double *workl,ITG *lworkl,ITG *info));
1467 
1468 void FORTRAN(dseupd,(ITG *rvec,char *howmny,ITG *select,double *d,double *z,
1469              ITG *ldz,double *sigma,char *bmat,ITG *neq,char *which,
1470              ITG *nev,double *tol,double *resid,ITG *ncv,double *v,
1471              ITG *ldv,ITG *iparam,ITG *ipntr,double *workd,
1472              double *workl,ITG *lworkl,ITG *info));
1473 
1474 void FORTRAN(dslugm,(ITG *nef,double *b,double *vel,ITG *nelt,ITG *ia,
1475 		     ITG *ja,double *aua,ITG *isym,ITG *nsave,ITG *itol,
1476 		     double *tol,ITG *itmax,ITG *iter,double *err,
1477 		     ITG *ierr,ITG *iunit,double *rgwk,ITG *lenw,
1478 		     ITG *igwk,ITG *leniw));
1479 
1480 void FORTRAN(dsort,(double *dx,ITG *iy,ITG *n,ITG *kflag));
1481 
1482 void dudsmain(ITG *isolver,double *au,double *ad,double *aub,double*adb,
1483 	 ITG *icol,ITG *irow,ITG *jq,ITG *neq,ITG *nzs,double *df,ITG *jqs,
1484 	      ITG *irows,ITG *ndesi,double *duds);
1485 
1486 void dyna(double **cop,ITG *nk,ITG **konp,ITG **ipkonp,char **lakonp,ITG *ne,
1487                ITG **nodebounp,ITG **ndirbounp,double **xbounp,ITG *nboun,
1488                ITG **ipompcp,ITG **nodempcp,double **coefmpcp,char **labmpcp,
1489                ITG *nmpc,ITG *nodeforc,ITG *ndirforc,double *xforc,
1490                ITG *nforc,ITG *nelemload,char *sideload,double *xload,
1491                ITG *nload,
1492                ITG **nactdofp,ITG *neq,ITG *nzl,ITG *icol,ITG *irow,
1493                ITG *nmethod,ITG **ikmpcp,ITG **ilmpcp,ITG **ikbounp,
1494                ITG **ilbounp,double *elcon,ITG *nelcon,double *rhcon,
1495                ITG *nrhcon,double *cocon,ITG *ncocon,
1496                double *alcon,ITG *nalcon,double *alzero,
1497                ITG **ielmatp,ITG **ielorienp,ITG *norien,double *orab,
1498                ITG *ntmat_,double **t0p,
1499                double **t1p,ITG *ithermal,double *prestr,ITG *iprestr,
1500                double **voldp,ITG *iperturb,double **stip,ITG *nzs,
1501                double *timepar,double *xmodal,
1502                double **veoldp,char *amname,double *amta,
1503                ITG *namta,ITG *nam,ITG *iamforc,ITG *iamload,
1504                ITG **iamt1p,ITG *jout,
1505                ITG *kode,char *filab,double **emep,double *xforcold,
1506                double *xloadold,
1507                double **t1oldp,ITG **iambounp,double **xbounoldp,ITG *iexpl,
1508                double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
1509                double **xstatep,ITG *npmat_,char *matname,ITG *mi,
1510                ITG *ncmat_,ITG *nstate_,double **enerp,char *jobnamec,
1511                double *ttime,char *set,ITG *nset,ITG *istartset,
1512                ITG *iendset,ITG **ialsetp,ITG *nprint,char *prlab,
1513                char *prset,ITG *nener,double *trab,
1514                ITG **inotrp,ITG *ntrans,double **fmpcp,ITG *ipobody,ITG *ibody,
1515                double *xbody,ITG *nbody,double *xbodyold,ITG *istep,
1516                ITG *isolver,ITG *jq,char *output,ITG *mcs,ITG *nkon,
1517                ITG *mpcend,ITG *ics,double *cs,ITG *ntie,char *tieset,
1518                ITG *idrct,ITG *jmax,
1519                double *ctrl,ITG *itpamp,double *tietol,ITG *nalset,
1520                ITG *ikforc,ITG *ilforc,double *thicke,
1521                ITG *nslavs,ITG *nmat,char *typeboun,ITG *ielprop,double *prop,
1522                char *orname,double *t0g,double *t1g);
1523 
1524 void dynacont(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
1525               ITG *nodeboun,ITG *ndirboun,double *xboun,ITG *nboun,
1526               ITG *ipompc,ITG *nodempc,double *coefmpc,char *labmpc,
1527               ITG *nmpc,ITG *nodeforc,ITG *ndirforc,double *xforc,
1528               ITG *nforc,ITG *nelemload,char *sideload,double *xload,
1529               ITG *nload,
1530               ITG *nactdof,ITG *neq,ITG *nzl,ITG *icol,ITG *irow,
1531               ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
1532               ITG *ilboun,double *elcon,ITG *nelcon,double *rhcon,
1533               ITG *nrhcon,double *cocon,ITG *ncocon,
1534               double *alcon,ITG *nalcon,double *alzero,
1535               ITG *ielmat,ITG *ielorien,ITG *norien,double *orab,
1536               ITG *ntmat_,double *t0,
1537               double *t1,ITG *ithermal,double *prestr,ITG *iprestr,
1538               double *vold,ITG *iperturb,double *sti,ITG *nzs,
1539               double *tinc,double *tper,double *xmodal,
1540               double *veold,char *amname,double *amta,
1541               ITG *namta,ITG *nam,ITG *iamforc,ITG *iamload,
1542               ITG *iamt1,ITG *jout,char *filab,double *eme,double *xforcold,
1543               double *xloadold,
1544               double *t1old,ITG *iamboun,double *xbounold,ITG *iexpl,
1545               double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
1546               double *xstate,ITG *npmat_,char *matname,ITG *mi,
1547               ITG *ncmat_,ITG *nstate_,double *ener,char *jobnamec,
1548               double *ttime,char *set,ITG *nset,ITG *istartset,
1549               ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
1550               char *prset,ITG *nener,double *trab,
1551               ITG *inotr,ITG *ntrans,double *fmpc,char *cbody,ITG *ibody,
1552               double *xbody,ITG *nbody,double *xbodyold,ITG *istep,
1553               ITG *isolver,ITG *jq,char *output,ITG *mcs,ITG *nkon,
1554               ITG *mpcend,ITG *ics,double *cs,ITG *ntie,char *tieset,
1555               ITG *idrct,ITG *jmax,double *tmin,double *tmax,
1556               double *ctrl,ITG *itpamp,double *tietol,ITG *iit,
1557               ITG *ncont,ITG *ne0,double *reltime,double *dtime,
1558               double *bcontini,double *bj,double *aux,ITG *iaux,
1559               double *bcont,ITG *nev,double *v,
1560               ITG *nkon0,double *deltmx,double *dtheta,double *theta,
1561               ITG *iprescribedboundary,ITG *mpcfree,ITG *memmpc_,
1562               ITG *itietri,ITG *koncont,double *cg,double *straight,
1563               ITG *iinc,double *vini,
1564               double *aa,double *bb,double *aanew,double *d,double *z,
1565               double *zeta,double *b,double *time0,double *time1,
1566               ITG *ipobody,
1567               double *xforcact,double *xloadact,double *t1act,
1568               double *xbounact,double *xbodyact,double *cd,double *cv,
1569               double *ampli,double *dthetaref,double *bjp,double *bp,
1570               double *cstr,ITG *imddof,
1571               ITG *nmddof,ITG **ikactcontp,ITG *nactcont,ITG *nactcont_,
1572               double *aamech,double *bprev,ITG *iprev,ITG *inonlinmpc,
1573               ITG **ikactmechp,ITG *nactmech,ITG *imdnode,ITG *nmdnode,
1574               ITG *imdboun,ITG *nmdboun,ITG *imdmpc,ITG *nmdmpc,
1575               ITG *itp,ITG *inext,
1576               ITG *imastop,ITG *nslavnode,ITG *islavnode,
1577               ITG *islavsurf,
1578               ITG *itiefac,double *areaslav,ITG *iponoels,ITG *inoels,
1579               double *springarea,ITG *izdof,ITG *nzdof,double *fn,
1580               ITG *imastnode,ITG *nmastnode,double *xmastnor,
1581               double *xstateini,ITG *nslavs,
1582               ITG *cyclicsymmetry,double *xnoels,ITG *ielas,ITG *ielprop,
1583               double *prop);
1584 
1585 void dynboun(double *amta,ITG *namta,ITG *nam,double *ampli,double *time,
1586              double *ttime,double *dtime,double *xbounold,double *xboun,
1587              double *xbounact,ITG *iamboun,ITG *nboun,ITG *nodeboun,
1588              ITG *ndirboun,double *ad,double *au,double *adb,
1589              double *aub,ITG *icol,ITG *irow,ITG *neq,ITG *nzs,
1590              double *sigma,double *b,ITG *isolver,
1591              double *alpham,double *betam,ITG *nzl,
1592              ITG *init,double *bact,double *bmin,ITG *jq,char *amname,
1593              double *bv,double *bprev,double *bdiff,
1594              ITG *nactmech,ITG *icorrect,ITG *iprev,double *reltime);
1595 
1596 void FORTRAN(dynresults,(ITG *nk,double *v,ITG *ithermal,ITG *nactdof,
1597              double *vold,ITG *nodeboun,ITG *ndirboun,double *xboun,
1598              ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
1599              char *labmpc,ITG *nmpc,double *b,double *bp,double *veold,
1600              double *dtime,ITG *mi,ITG *imdnode,ITG *nmdnode,ITG *imdboun,
1601              ITG *nmdboun,ITG *imdmpc,ITG *nmdmpc,ITG *nmethod,double *time));
1602 
1603 void FORTRAN(edgedivide,(ITG *nnewnodes,ITG *nktet_,ITG *ipoed,
1604                          ITG *iexternedg,ITG *iedg,double *d,
1605                          double *h,ITG *n,double *r,ITG *iext,
1606 			 ITG *jfix));
1607 
1608 void FORTRAN(effectivemodalmass,(ITG *neq,ITG *nactdof,ITG *mi,double *adb,
1609                         double *aub,ITG *jq,ITG *irow,ITG *nev,double *z,
1610                         double *co,ITG *nk));
1611 
1612 void electromagnetics(double **co,ITG *nk,ITG **konp,ITG **ipkonp,char **lakonp,
1613              ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,ITG *nboun,
1614              ITG **ipompcp,ITG **nodempcp,double **coefmpcp,char **labmpcp,
1615              ITG *nmpc,ITG *nodeforc,ITG *ndirforc,double *xforc,ITG *nforc,
1616              ITG **nelemloadp,char **sideloadp,double *xload,
1617              ITG *nload,ITG *nactdof,ITG **icolp,ITG **jqp,ITG **irowp,
1618              ITG *neq,ITG *nzl,ITG *nmethod,ITG **ikmpcp,ITG **ilmpcp,
1619              ITG *ikboun,ITG *ilboun,double *elcon,ITG *nelcon,
1620              double *rhcon,ITG *nrhcon,double *alcon,ITG *nalcon,
1621              double *alzero,ITG **ielmatp,ITG **ielorienp,ITG *norien,
1622              double *orab,ITG *ntmat_,double *t0,double *t1,double *t1old,
1623              ITG *ithermal,double *prestr,ITG *iprestr,double **vold,
1624              ITG *iperturb,double *sti,ITG *nzs,ITG *kode,char *filab,
1625              ITG *idrct,ITG *jmax,ITG *jout,double *timepar,double *eme,
1626              double *xbounold,double *xforcold,double *xloadold,
1627              double *veold,double *accold,char *amname,double *amta,
1628              ITG *namta,ITG *nam,ITG *iamforc,ITG **iamloadp,ITG *iamt1,
1629              double *alpha,ITG *iexpl,ITG *iamboun,double *plicon,
1630              ITG *nplicon,double *plkcon,ITG *nplkcon,
1631              double **xstatep,ITG *npmat_,ITG *istep,double *ttime,
1632              char *matname,double *qaold,ITG *mi,
1633              ITG *isolver,ITG *ncmat_,ITG *nstate_,ITG *iumat,
1634              double *cs,ITG *mcs,ITG *nkon,double **ener,ITG *mpcinfo,
1635              char *output,double *shcon,ITG *nshcon,double *cocon,ITG *ncocon,
1636              double *physcon,ITG *nflow,double *ctrl,
1637              char **setp,ITG *nset,ITG **istartsetp,
1638              ITG **iendsetp,ITG **ialsetp,ITG *nprint,char *prlab,
1639              char *prset,ITG *nener,ITG *ikforc,ITG *ilforc,double *trab,
1640              ITG *inotr,ITG *ntrans,double **fmpcp,ITG *ipobody,
1641              ITG *ibody,double *xbody,ITG *nbody,double *xbodyold,
1642              ITG *ielprop,double *prop,ITG *ntie,char **tiesetp,
1643              ITG *itpamp,ITG *iviewfile,char *jobnamec,double **tietolp,
1644              ITG *nslavs,double *thicke,ITG *ics,ITG *nalset,ITG *nmpc_,
1645              ITG *nmat,char *typeboun,ITG *iaxial,ITG *nload_,ITG *nprop,
1646              ITG *network,char *orname,double *t0g,double *t1g);
1647 
1648 void elementcpuload(ITG *neapar,ITG *nebpar,ITG *ne,ITG *ipkon,
1649                              ITG *num_cpus);
1650 
1651 void FORTRAN(elementpernode,(ITG *iponoel,ITG *inoel,char *lakon,ITG *ipkon,
1652                              ITG *kon,ITG *ne));
1653 
1654 void FORTRAN(elementpernodef,(ITG *iponoel,ITG *inoel,char *lakonf,ITG *ipkonf,
1655                              ITG *konf,ITG *nef));
1656 
1657 void FORTRAN(elemperorien,(ITG *ipoorel,ITG *iorel,ITG *ielorien,
1658                               ITG *ne,ITG *mi));
1659 
1660 void FORTRAN(elemperdesi,(ITG *ndesi,ITG *nodedesi,ITG *iponoel,
1661                             ITG *inoel,ITG *istartdesi,ITG *ialdesi,
1662                             char *lakon,ITG *ipkon,ITG *kon,ITG *nodedesiinv,
1663                             ITG *icoordinate,ITG *noregion));
1664 
1665 void FORTRAN(envtemp,(ITG *itg,ITG *ieg,ITG *ntg,ITG *ntr,char *sideload,
1666                       ITG *nelemload,ITG *ipkon,ITG *kon,char *lakon,
1667                       ITG *ielmat,ITG *ne,ITG *nload,
1668                       ITG *kontri,ITG *ntri,ITG *nloadtr,
1669                       ITG *nflow,ITG *ndirboun,ITG *nactdog,
1670                       ITG *nodeboun,ITG *nacteq,
1671                       ITG *nboun,ITG *ielprop,double *prop,ITG *nteq,
1672                       double *v,ITG *network,double *physcon,
1673                       double *shcon,ITG *ntmat_,double *co,
1674                       double *vold,char *set,ITG *nshcon,
1675                       double *rhcon,ITG *nrhcon,ITG *mi,ITG *nmpc,
1676                       ITG *nodempc,ITG *ipompc,char *labmpc,ITG *ikboun,
1677                       ITG *nasym,double *ttime,double *time,ITG *iaxial));
1678 
1679 void FORTRAN(eqspacednodes,(double *co,ITG *istartfront,ITG *iendfront,
1680 			    ITG *nnfront,ITG *ifrontprop,
1681 			    ITG *nk,ITG *nfront,ITG *ifronteq,
1682 			    double *charlen,ITG *istartfronteq,
1683 			    ITG *iendfronteq,ITG *nfronteq,
1684 			    double *acrackglob,ITG *ier,ITG *iendcrackfro,
1685 			    ITG *iincglob,ITG *iinc,double *dnglob,
1686 			    ITG *ncyc));
1687 
1688 void FORTRAN(equationcheck,(double *ac,ITG *nteq,ITG *nactdog,
1689                             ITG *itg,ITG *ntg,ITG *nacteq,ITG *network));
1690 
1691 void FORTRAN(errorestimator,(double *yi,double *yn,ITG *ipkon,
1692              ITG *kon,char *lakon,ITG *nk,ITG *ne,ITG *mi,ITG *ielmat,
1693              ITG *nterms,ITG *inum,double *co,double *vold,char *cflag,
1694              ITG *ielprop,double *prop));
1695 
1696 void expand(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
1697              ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,ITG *nboun,
1698              ITG *ipompc,ITG *nodempc,double *coefmpc,char *labmpc,
1699              ITG *nmpc,ITG *nodeforc,ITG *ndirforc,double *xforc,
1700              ITG *nforc,ITG *nelemload,char *sideload,double *xload,
1701              ITG *nload,ITG *nactdof,ITG *neq,
1702              ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,ITG *ilboun,
1703              double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
1704              double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
1705              ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
1706              double *t0,ITG *ithermal,double *prestr,ITG *iprestr,
1707              double *vold,ITG *iperturb,double *sti,ITG *nzs,
1708              double *adb,double *aub,char *filab,double *eme,
1709              double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
1710              double *xstate,ITG *npmat_,char *matname,ITG *mi,
1711              ITG *ics,double *cs,ITG *mpcend,ITG *ncmat_,
1712              ITG *nstate_,ITG *mcs,ITG *nkon,double *ener,
1713              char *jobnamec,char *output,char *set,ITG *nset,ITG *istartset,
1714              ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
1715              char *prset,ITG *nener,double *trab,
1716              ITG *inotr,ITG *ntrans,double *ttime,double *fmpc,
1717              ITG *nev,double **z,ITG *iamboun,double *xbounold,
1718              ITG *nsectors,ITG *nm,ITG *icol,ITG *irow,ITG *nzl,ITG *nam,
1719              ITG *ipompcold,ITG *nodempcold,double *coefmpcold,
1720              char *labmpcold,ITG *nmpcold,double *xloadold,ITG *iamload,
1721              double *t1old,double *t1,ITG *iamt1,double *xstiff,ITG **icolep,
1722              ITG **jqep,ITG **irowep,ITG *isolver,
1723              ITG *nzse,double **adbep,double **aubep,ITG *iexpl,ITG *ibody,
1724              double *xbody,ITG *nbody,double *cocon,ITG *ncocon,
1725              char* tieset,ITG* ntie,ITG *imddof,ITG *nmddof,
1726              ITG *imdnode,ITG *nmdnode,ITG *imdboun,ITG *nmdboun,
1727              ITG *imdmpc,ITG *nmdmpc,ITG **izdofp,ITG *nzdof,ITG *nherm,
1728              double *xmr,double *xmi,char *typeboun,ITG *ielprop,double *prop,
1729              char *orname,ITG *itiefac,double *t0g,double *t1g);
1730 
1731 void FORTRAN(expand_auw,(double *auw,ITG *jqw,ITG *iroww,ITG *nslavs,ITG *nzsw,
1732 			 double *auwnew,ITG *jqwnew,ITG *irowwnew,ITG *nzswnew,
1733 			 ITG *neqslav,ITG *lslav,ITG *ntie,ITG *nactdof,
1734 			 ITG *mi,ITG *ktot,ITG *neqtot,ITG *islavnode,
1735 			 ITG *nslavnode,ITG *imastnode));
1736 
1737 void FORTRAN(extendmesh,(ITG *nnfront,ITG *istartfront,ITG *iendfront,
1738 			 ITG *ifront,ITG *nkold,ITG *ne,ITG *nkon,char *lakon,
1739 			 ITG *ipkon,ITG *kon,ITG *isubsurffront,double *co,
1740 			 ITG *ifronteq,ITG *istartfronteq,ITG *iendfronteq,
1741 			 ITG *nfront,ITG *nfronteq));
1742 
1743 void FORTRAN(extern_crackprop,(ITG *ieled,ITG *nedg,ITG *iexternedg,
1744 			       ITG *nexternedg,ITG *iexternnod,
1745 			       ITG *nexternnod,ITG *iedg,ITG *iedno));
1746 
1747 void FORTRAN(extfacepernode,(ITG *iponoelfa,ITG *inoelfa,char *lakonfa,
1748                           ITG *ipkonfa,ITG *konfa,ITG *nsurfs,ITG *inoelsize));
1749 
1750 void FORTRAN(extract_matrices,(double *au,double *ad,ITG *jq,ITG *irow,
1751 			       ITG *neq,ITG *nzs,double *aubb,double *adbb,
1752 			       ITG *jqbb,ITG *irowbb,ITG *neqtot,ITG *nzsbb,
1753 			       ITG *islavnode,ITG *nslavs,ITG *imastnode,
1754 			       ITG *nmasts,double *aubi,ITG *jqbi,ITG *irowbi,
1755 			       ITG *nzsbi,double *auib,ITG *jqib,ITG *irowib,
1756 			       ITG *nzsib,ITG *kslav,ITG *ktot,ITG *icolbb));
1757 
1758 void FORTRAN(extrapol2dto3d,(double *dgdxglob,ITG *iponod2dto3d,ITG *ndesi,
1759                              ITG *nodedesi,ITG *nobject,ITG *nk,
1760                              double *xinterpol,ITG *nnodes,ITG *ipkon,
1761                              char *lakon,ITG *kon,ITG *ne,ITG *iponoel,
1762                              ITG *inoel));
1763 
1764 void FORTRAN(extrapolate,(double *yi,double *yn,ITG *ipkon,ITG *inum,
1765              ITG *kon,char *lakon,ITG *nfield,ITG *nk,ITG *ne,ITG *mi,
1766              ITG *ndim,double *orab,ITG *ielorien,double *co,ITG *iorienloc,
1767              char *cflag,double *vold,ITG *force,
1768              ITG *ielmat,double *thicke,ITG *ielprop,double *prop));
1769 
1770 void FORTRAN(extrapolatefem,(double *sti,double *stn,ITG *ipkon,ITG *inum,
1771              ITG *kon,char *lakon,ITG *nfield,ITG *nk,ITG *ne,ITG *mi,
1772              ITG *ndim,double *orab,ITG *ielorien,double *co,ITG *iorienglob));
1773 
1774 void FORTRAN(extrapolateshell,(double *yi,double *yn,ITG *ipkon,ITG *inum,
1775 			       ITG *kon,char *lakon,ITG *nfield,ITG *nk,
1776 			       ITG *ne,ITG *mi,ITG *ndim,double *orab,
1777 			       ITG *ielorien,double *co,ITG *iorienloc,
1778 			       char *cflag,ITG *ielmat,double *thicke,
1779 			       ITG *ielprop,double *prop,ITG *iflag));
1780 
1781 void FORTRAN(extrapolate_d_v_simple,(ITG *ielfa,double *xrlfa,
1782                               double *adv,double *advfa,double *hfa,
1783                               ITG *icyclic,double *c,ITG *ifatie,
1784                               double *vel,ITG *nef,double *volume,
1785                               ITG *nfacea,ITG *nfaceb,ITG *ncfd));
1786 
1787 void *extrapolate_d_v_simple1mt(ITG *i);
1788 
1789 void extrapolate_d_v_simplemain(ITG *nface,ITG *ielfa,double *xrlfa,
1790                                 double *adv,double *advfa,double *hfa,
1791                                 ITG *icyclic,double *c,ITG *ifatie,
1792                                 double *vel,ITG *nef,double *volume,
1793                                 ITG *num_cpus,ITG *ncfd);
1794 
1795 void FORTRAN(extrapolate_d_v_simplec,(ITG *ielfa,double *xrlfa,
1796                               double *adv,double *advfa,double *hfa,
1797                               ITG *icyclic,double *c,ITG *ifatie,
1798                               double *vel,ITG *nef,double *volume,
1799                               double *auv,ITG *ipnei,ITG *nfacea,
1800                               ITG *nfaceb,ITG *ncfd));
1801 
1802 void *extrapolate_d_v_simplec1mt(ITG *i);
1803 
1804 void extrapolate_d_v_simplecmain(ITG *nface,ITG *ielfa,double *xrlfa,
1805                               double *adv,double *advfa,double *hfa,
1806                               ITG *icyclic,double *c,ITG *ifatie,
1807                               double *vel,ITG *nef,double *volume,
1808                               double *auv,ITG *ipnei,ITG *num_cpus,
1809                               ITG *ncfd);
1810 
1811 void FORTRAN(extrapolate_se,(double *yi,double *yn,ITG *ipkon,ITG *inum,
1812              ITG *kon,char *lakon,ITG *nfield,ITG *nk,ITG *ne,ITG *mi,
1813              ITG *ndim,double *orab,ITG *ielorien,double *co,ITG *iorienloc,
1814              char *cflag,double *vold,ITG *force,
1815              ITG *ielmat,double *thicke,ITG *ielprop,double *prop,
1816              ITG *ialeneigh,ITG *neaneigh,ITG *nebneigh,ITG *ialnneigh,
1817              ITG *naneigh,ITG *nbneigh));
1818 
1819 void FORTRAN(extrapolatefluid,(ITG *nk,ITG *ipofano,ITG *ifano,ITG *inum,
1820              double *vfa,double *v,ITG *ielfa,ITG *ithermal,
1821              ITG *imach,ITG *ikappa,double *xmach,double *xkappa,
1822              double *shcon,ITG *nshcon,ITG *ntmat_,ITG *ielmatf,
1823              double *physcon,ITG *mi,ITG *iturb,double *xturb,
1824              double *gradtfa,double *gradvfa,double *gradpfa,
1825              double *gradkfa,double *gradofa,double *co,double *cofa,
1826              ITG *ifabou));
1827 
1828 void FORTRAN(extrapol_dpel,(ITG *nface,ITG *ielfa,double *xrlfa,double *vel,
1829              double *vfa,ITG *ifabou,double *xbounact,ITG *nef,
1830              double *gradpcel,double *gradpcfa,ITG *neifa,double *rf,
1831              double *area,double *volume,double *xle,double *xxi,
1832              ITG *icyclic,double *xxn,ITG *ipnei,ITG *ifatie,
1833              double *coefmpc,ITG *nmpc,char *labmpc,ITG *ipompc,
1834              ITG *nodempc,ITG *ifaext,ITG *nfaext,ITG *nactdoh,
1835              ITG *iflag,double *xxj,double *xlet,double *c));
1836 
1837 void extrapol_dpelmain(ITG *nface,ITG *ielfa,double *xrlfa,double *vel,
1838              double *vfa,ITG *ifabou,double *xbounact,ITG *nef,
1839              double *gradpcel,double *gradpcfa,ITG *neifa,double *rf,
1840              double *area,double *volume,double *xle,double *xxi,
1841              ITG *icyclic,double *xxn,ITG *ipnei,ITG *ifatie,
1842              double *coefmpc,ITG *nmpc,char *labmpc,ITG *ipompc,
1843              ITG *nodempc,ITG *ifaext,ITG *nfaext,ITG *nactdoh,
1844              ITG *iflag,double *xxj,double *xlet,double *c,
1845              ITG *num_cpus,double *xxna,ITG *ncfd,ITG *ip);
1846 
1847 void FORTRAN(extrapol_dpel1,(ITG *ielfa1,double *xrlfa1,double *vfap1,
1848                             double *vel1,ITG *ifabou1,
1849                              ITG *nef1,ITG *nfacea,ITG *nfaceb));
1850 
1851 void *extrapol_dpel1mt(ITG *i);
1852 
1853 void FORTRAN(extrapol_dpel2,(ITG *ipnei1,ITG *neifa1,double *vfap1,
1854                              double *area1,double *xxna1,double *volume1,
1855                              double *gradpcel1,ITG *nefa,ITG *nefb,
1856                              ITG *ncfd1));
1857 
1858 void *extrapol_dpel2mt(ITG *i);
1859 
1860 void FORTRAN(extrapol_dpel3,(ITG *ielfa1,double *xrlfa1,ITG *icyclic1,
1861                              ITG *ifatie1,double *gradpfa1,double *gradpel1,
1862                              double *c1,ITG *ipnei1,double *xxi1,ITG *nfacea,
1863                              ITG *nfaceb,ITG *ncfd1));
1864 
1865 void *extrapol_dpel3mt(ITG *i);
1866 
1867 void FORTRAN(extrapol_dpel5,(ITG *ielfa1,ITG *ipnei1,double *vel1,
1868                              double *xlet1,double *gradpcfa1,double *xxj1,
1869                              ITG *nef1,ITG *nfacea,ITG *nfaceb,ITG *ncfd1));
1870 
1871 void *extrapol_dpel5mt(ITG *i);
1872 
1873 void FORTRAN(extrapol_kel1,(ITG *ielfa1,double *xrlfa1,double *vfap1,
1874                             double *vel1,ITG *ifabou1,
1875                             ITG *nef1,double *umfa1,double *constant1,
1876                             ITG *inlet,ITG *nfacea,ITG *nfaceb));
1877 
1878 void *extrapol_kel1mt(ITG *i);
1879 
1880 void FORTRAN(extrapol_kel2,(ITG *ipnei1,ITG *neifa1,double *vfa1,
1881                             double *area1,double *xxna1,double *volume1,
1882                             double *gradkel1,ITG *nefa,ITG *nefb,
1883                             ITG *ncfd1));
1884 
1885 void *extrapol_kel2mt(ITG *i);
1886 
1887 void FORTRAN(extrapol_kel3,(ITG *ielfa1,double *xrlfa1,ITG *icyclic1,
1888                             ITG *ifatie1,double *gradkfa1,double *gradkel1,
1889                             double *c1,ITG *ipnei1,double *xxi1,
1890                             ITG *nfacea,ITG *nfaceb,ITG *ncfd1));
1891 
1892 void *extrapol_kel3mt(ITG *i);
1893 
1894 void FORTRAN(extrapol_kel4,(ITG *ielfa1,double *vfa1,double *vfap1,
1895                             double *gradkfa1,double *rf1,ITG *ifabou1,
1896                             ITG *ipnei1,double *vel1,
1897                             double *xxi1,double *xle1,ITG *nef1,
1898                             ITG *inlet1,ITG *nfacea,ITG *nfaceb));
1899 
1900 void *extrapol_kel4mt(ITG *i);
1901 
1902 void FORTRAN(extrapol_kel5,(ITG *ielfa1,ITG *ipnei1,double *vel1,
1903                             double *xlet1,double *gradkfa1,double *xxj1,
1904                             ITG *nef1,ITG *nfacea,ITG *nfaceb,ITG *ncfd1));
1905 
1906 void *extrapol_kel5mt(ITG *i);
1907 
1908 void extrapol_kelmain(ITG *nface,ITG *ielfa,double *xrlfa,double *vel,
1909              double *vfa,ITG *ifabou,double *xbounact,ITG *nef,
1910              double *gradkel,double *gradkfa,ITG *neifa,double *rf,
1911              double *area,double *volume,double *xle,double *xxi,
1912              ITG *icyclic,double *xxn,ITG *ipnei,ITG *ifatie,
1913              double *xlet,double *xxj,double *coefmpc,
1914              ITG *nmpc,char *labmpc,ITG *ipompc,ITG *nodempc,ITG *ifaext,
1915              ITG *nfaext,ITG *nactdoh,double *umfa,double *physcon,
1916              ITG *iitg,double *c,ITG *num_cpus,ITG *compressible,
1917              double *xxna,ITG *ncfd,ITG *inlet);
1918 
1919 void FORTRAN(extrapol_oel1,(ITG *ielfa1,double *xrlfa1,double *vfap1,
1920                             double *vel1,ITG *ifabou1,
1921                             ITG *nef1,double *umfa1,double *constant1,
1922                             double *dy1,double *vfa1,ITG *inlet1,
1923                             ITG *nfacea,ITG *nfaceb));
1924 
1925 void *extrapol_oel1mt(ITG *i);
1926 
1927 void FORTRAN(extrapol_oel2,(ITG *ipnei1,ITG *neifa1,double *vfa1,
1928                             double *area1,double *xxna1,double *volume1,
1929                             double *gradoel1,ITG *nefa,ITG *nefb,
1930                             ITG *ncfd1));
1931 
1932 void *extrapol_oel2mt(ITG *i);
1933 
1934 void FORTRAN(extrapol_oel3,(ITG *ielfa1,double *xrlfa1,ITG *icyclic1,
1935                             ITG *ifatie1,double *gradofa1,double *gradoel1,
1936                             double *c1,ITG *ipnei1,double *xxi1,
1937                             ITG *nfacea,ITG *nfaceb,ITG *ncfd1));
1938 
1939 void *extrapol_oel3mt(ITG *i);
1940 
1941 void FORTRAN(extrapol_oel4,(ITG *ielfa1,double *vfa1,double *vfap1,
1942                             double *gradofa1,double *rf1,ITG *ifabou1,
1943                             ITG *ipnei1,double *vel1,
1944                             double *xxi1,double *xle1,ITG *nef1,
1945                             ITG *inlet1,ITG *nfacea,ITG *nfaceb));
1946 
1947 void *extrapol_oel4mt(ITG *i);
1948 
1949 void FORTRAN(extrapol_oel5,(ITG *ielfa1,ITG *ipnei1,double *vel1,
1950                             double *xlet1,double *gradofa1,double *xxj1,
1951                             ITG *nef1,ITG *nfacea,ITG *nfaceb,ITG *ncfd1));
1952 
1953 void *extrapol_oel5mt(ITG *i);
1954 
1955 void extrapol_oelmain(ITG *nface,ITG *ielfa,double *xrlfa,double *vel,
1956              double *vfa,ITG *ifabou,double *xbounact,ITG *nef,
1957              double *gradoel,double *gradofa,ITG *neifa,double *rf,
1958              double *area,double *volume,double *xle,double *xxi,
1959              ITG *icyclic,double *xxn,ITG *ipnei,ITG *ifatie,
1960              double *xlet,double *xxj,double *coefmpc,
1961              ITG *nmpc,char *labmpc,ITG *ipompc,ITG *nodempc,ITG *ifaext,
1962              ITG *nfaext,ITG *nactdoh,double *umfa,double *physcon,
1963              ITG *iitg,double *c,double *dy,ITG *num_cpus,
1964              ITG *compressible,double *xxna,ITG *ncfd,ITG *inlet);
1965 
1966 void FORTRAN(extrapol_pel,(ITG *nface,ITG *ielfa,double *xrlfa,double *vel,
1967              double *vfa,ITG *ifabou,double *xbounact,ITG *nef,
1968              double *gradpel,double *gradpfa,ITG *neifa,double *rf,
1969              double *area,double *volume,double *xle,double *xxi,
1970              ITG *icyclic,double *xxn,ITG *ipnei,ITG *ifatie,
1971              double *coefmpc,ITG *nmpc,char *labmpc,ITG *ipompc,
1972              ITG *nodempc,ITG *ifaext,ITG *nfaext,ITG *nactdoh,
1973              ITG *iitg,double *c));
1974 
1975 void FORTRAN(extrapol_pel1,(ITG *ielfa1,double *xrlfa1,double *vfap1,
1976                             double *vel1,ITG *ifabou1,double *xbounact1,
1977                             ITG *nef1,ITG *nfacea,ITG *nfaceb));
1978 
1979 void *extrapol_pel1mt(ITG *i);
1980 
1981 void FORTRAN(extrapol_pel2,(ITG *ipnei1,ITG *neifa1,double *vfa1,
1982                             double *area1,double *xxna1,double *volume1,
1983                             double *gradpel1,ITG *nefa,ITG *nefb,
1984                             ITG *ncfd1));
1985 
1986 void *extrapol_pel2mt(ITG *i);
1987 
1988 void FORTRAN(extrapol_pel3,(ITG *ielfa1,double *xrlfa1,ITG *icyclic1,
1989                             ITG *ifatie1,double *gradpfa1,double *gradpel1,
1990                             double *c1,ITG *ipnei1,double *xxi1,ITG *nfacea,
1991                             ITG *nfaceb,ITG *ncfd1));
1992 
1993 void *extrapol_pel3mt(ITG *i);
1994 
1995 void FORTRAN(extrapol_pel4,(ITG *ielfa1,double *vfa1,double *vfap1,
1996                             double *gradpfa1,double *rf1,ITG *ifabou1,
1997                             ITG *ipnei1,double *vel1,
1998                             double *xxi1,double *xle1,ITG *nef1,
1999                             ITG *nfacea,ITG *nfaceb));
2000 
2001 void *extrapol_pel4mt(ITG *i);
2002 
2003 void extrapol_pelmain(ITG *nface,ITG *ielfa,double *xrlfa,double *vel,
2004              double *vfa,ITG *ifabou,double *xbounact,ITG *nef,
2005              double *gradpel,double *gradpfa,ITG *neifa,double *rf,
2006              double *area,double *volume,double *xle,double *xxi,
2007              ITG *icyclic,double *xxn,ITG *ipnei,ITG *ifatie,
2008              double *coefmpc,ITG *nmpc,char *labmpc,ITG *ipompc,
2009              ITG *nodempc,ITG *ifaext,ITG *nfaext,ITG *nactdoh,
2010              ITG *iitg,double *c,ITG *num_cpus,ITG *compressible,
2011              double *xxna,ITG *ncfd);
2012 
2013 void FORTRAN(extrapol_tel,(ITG *nface,ITG *ielfa,double *xrlfa,double *vel,
2014              double *vfa,ITG *ifabou,double *xbounact,ITG *nef,
2015              double *gradtel,double *gradtfa,ITG *neifa,double *rf,
2016              double *area,double *volume,double *xle,double *xxi,
2017              ITG *icyclic,double *xxn,ITG *ipnei,ITG *ifatie,
2018              double *xload,double *xlet,double *xxj,double *coefmpc,
2019              ITG *nmpc,char *labmpc,ITG *ipompc,ITG *nodempc,ITG *ifaext,
2020              ITG *nfaext,ITG *nactdoh,ITG *iitg,double *c));
2021 
2022 void FORTRAN(extrapol_tel1,(ITG *ielfa1,double *xrlfa1,double *vfap1,
2023                             double *vel1,ITG *ifabou1,double *xbounact1,
2024                             ITG *nef1,ITG *nfacea,ITG *nfaceb));
2025 
2026 void *extrapol_tel1mt(ITG *i);
2027 
2028 void FORTRAN(extrapol_tel2,(ITG *ipnei1,ITG *neifa1,double *vfa1,
2029                             double *area1,double *xxna1,double *volume1,
2030                             double *gradtel1,ITG *nefa,ITG *nefb,
2031                             ITG *ncfd1));
2032 
2033 void *extrapol_tel2mt(ITG *i);
2034 
2035 void FORTRAN(extrapol_tel3,(ITG *ielfa1,double *xrlfa1,ITG *icyclic1,
2036                             ITG *ifatie1,double *gradtfa1,double *gradtel1,
2037                             double *c1,ITG *ipnei1,double *xxi1,ITG *ifabou1,
2038                             double *xxn1,double *xload1,ITG *nfacea,
2039                             ITG *nfaceb,ITG *ncfd1));
2040 
2041 void *extrapol_tel3mt(ITG *i);
2042 
2043 void FORTRAN(extrapol_tel4,(ITG *ielfa1,double *vfa1,double *vfap1,
2044                             double *gradtfa1,double *rf1,ITG *ifabou1,
2045                             ITG *ipnei1,double *vel1,
2046                             double *xxi1,double *xle1,ITG *nef1,
2047                             ITG *nfacea,ITG *nfaceb));
2048 
2049 void *extrapol_tel4mt(ITG *i);
2050 
2051 void FORTRAN(extrapol_tel5,(ITG *ielfa1,ITG *ipnei1,double *vel1,
2052                             double *xlet1,double *gradtfa1,double *xxj1,
2053                             ITG *nef1,ITG *nfacea,ITG *nfaceb,ITG *ncfd1));
2054 
2055 void *extrapol_tel5mt(ITG *i);
2056 
2057 void extrapol_telmain(ITG *nface,ITG *ielfa,double *xrlfa,double *vel,
2058              double *vfa,ITG *ifabou,double *xbounact,ITG *nef,
2059              double *gradtel,double *gradtfa,ITG *neifa,double *rf,
2060              double *area,double *volume,double *xle,double *xxi,
2061              ITG *icyclic,double *xxn,ITG *ipnei,ITG *ifatie,
2062              double *xload,double *xlet,double *xxj,double *coefmpc,
2063              ITG *nmpc,char *labmpc,ITG *ipompc,ITG *nodempc,ITG *ifaext,
2064              ITG *nfaext,ITG *nactdoh,ITG *iitg,double *c,ITG *num_cpus,
2065              ITG *compressible,double *xxna,ITG *ncfd);
2066 
2067 void FORTRAN(extrapol_vel,(ITG *nface,ITG *ielfa,double *xrlfa,double *vel,
2068              double *vfa,ITG *ifabou,double *xbounact,ITG *ipnei,
2069              ITG *nef,ITG *icyclic,double *c,ITG *ifatie,double *xxn,
2070              double *gradvel,double *gradvfa,ITG *neifa,double *rf,
2071              double *area,double *volume,double *xle,double *xxi,
2072              double *xxj,double *xlet,double *coefmpc,ITG *nmpc,
2073              char *labmpc,ITG *ipompc,ITG *nodempc,ITG *ifaext,
2074              ITG *nfaext,ITG *nactdoh,ITG *iitg));
2075 
2076 void FORTRAN(extrapol_vel1,(ITG *ielfa1,double *xrlfa1,ITG *icyclic1,
2077                             ITG *ifatie1,double *vfap1,double *vel1,
2078                             double *c1,ITG *ifabou1,double *xbounact1,
2079                             ITG *ipnei1,double *xxn1,ITG *nef1,
2080                             ITG *nfacea,ITG *nfaceb,ITG *ncfd1));
2081 
2082 void *extrapol_vel1mt(ITG *i);
2083 
2084 void FORTRAN(extrapol_vel2,(ITG *ipnei1,ITG *neifa1,double *vfa1,
2085                             double *area1,double *xxna1,double *volume1,
2086                             double *gradvel1,ITG *nefa,ITG *nefb,ITG *ncfd1));
2087 
2088 void *extrapol_vel2mt(ITG *i);
2089 
2090 void FORTRAN(extrapol_vel3,(ITG *ielfa1,double *xrlfa1,ITG *icyclic1,
2091                             ITG *ifatie1,double *gradvfa1,double *gradvel1,
2092                             double *c1,ITG *ipnei1,double *xxi1,ITG *nfacea,
2093                             ITG *nfaceb,ITG *ncfd1));
2094 
2095 void *extrapol_vel3mt(ITG *i);
2096 
2097 void FORTRAN(extrapol_vel4,(ITG *ielfa1,double *vfa1,double *vfap1,
2098                             double *gradvfa1,double *rf1,ITG *ifabou1,
2099                             ITG *ipnei1,double *xxn1,double *vel1,
2100                             double *xxi1,double *xle1,ITG *nef1,
2101                             ITG *nfacea,ITG *nfaceb,ITG *ncfd1));
2102 
2103 void *extrapol_vel4mt(ITG *i);
2104 
2105 void FORTRAN(extrapol_vel5,(ITG *ielfa1,ITG *ipnei1,double *vel1,
2106                             double *xlet1,double *gradvfa1,double *xxj1,
2107                             ITG *nef1,ITG *nfacea,ITG *nfaceb,ITG *ncfd1));
2108 
2109 void *extrapol_vel5mt(ITG *i);
2110 
2111 void extrapol_velmain(ITG *nface,ITG *ielfa,double *xrlfa,double *vel,
2112                       double *vfa,ITG *ifabou,double *xbounact,ITG *ipnei,
2113                       ITG *nef,ITG *icyclic,double *c,ITG *ifatie,double *xxn,
2114                       double *gradvel,double *gradvfa,ITG *neifa,double *rf,
2115                       double *area,double *volume,double *xle,double *xxi,
2116                       double *xxj,double *xlet,double *coefmpc,ITG *nmpc,
2117                       char *labmpc,ITG *ipompc,ITG *nodempc,ITG *ifaext,
2118                       ITG *nfaext,ITG *nactdoh,ITG *iitg,ITG *num_cpus,
2119                       ITG *compressible,double *xxna,ITG *ncfd,double *cofa);
2120 
2121 void FORTRAN(extrapol_xel,(ITG *nface,ITG *ielfa,double *xrlfa,double *xel,
2122              double *xfa,ITG *ifabou,double *xbounact,ITG *nef,
2123              double *gradxel,double *gradxfa,ITG *neifa,double *rf,
2124              double *area,double *volume,double *xle,double *xxi,
2125              ITG *icyclic,double *xxn,ITG *ipnei,ITG *ifatie,
2126              double *xload,double *xlet,double *xxj,double *coefmpc,
2127              ITG *nmpc,char *labmpc,ITG *ipompc,ITG *nodempc,ITG *ifaext,
2128              ITG *nfaext,ITG *nactdoh,ITG *iitg));
2129 
2130 void FORTRAN(fcrit,(double *time,double *tend,double *aai,double *bbi,
2131                       double *zetaj,double *dj,double *ddj,
2132                       double *h1,double *h2,double *h3,double *h4,
2133                       double *func,double *funcp));
2134 
2135 void feasibledirection(ITG *nobject,char **objectsetp,double **dgdxglobp,
2136 		       double *g0,ITG *ndesi,ITG *nodedesi,ITG *nk,ITG *isolver,
2137 		       ITG **ipkonp,ITG **konp,char **lakonp,ITG *ne,
2138 		       ITG *nelemload,ITG *nload,ITG *nodeboun,ITG *nboun,
2139 		       ITG *ndirboun,ITG *ithermal,double *co,double *vold,
2140 		       ITG *mi,ITG **ielmatp,ITG *ielprop,double *prop,
2141 		       ITG *kode,ITG *nmethod,char *filab,ITG *nstate_,
2142 		       ITG *istep,double *cs,char *set,ITG *nset,
2143 		       ITG *istartset,ITG *iendset,ITG *ialset,char *jobnamec,
2144 		       char *output,ITG *ntrans,ITG *inotr,double *trab,
2145 		       char *orname,double *xdesi);
2146 
2147 void FORTRAN(fill_neiel,(ITG *nef,ITG *ipnei,ITG *neiel,ITG *neielcp));
2148 
2149 void FORTRAN(filter,(double *dgdxglob,ITG *nobject,ITG *nk,ITG *nodedesi,
2150                      ITG *ndesi,char *objectset,double *xo,double *yo,
2151                      double *zo,double *x,double *y,double *z,ITG *nx,
2152                      ITG *ny,ITG *nz,ITG *neighbor,double *r,ITG *ndesia,
2153                      ITG *ndesib,double *xdesi,double *distmin));
2154 
2155 void filtermain(double *co,double *dgdxglob,ITG *nobject,ITG *nk,
2156                 ITG *nodedesi,ITG *ndesi,char *objectset,double *xdesi,
2157                 double *distmin);
2158 
2159 void *filtermt(ITG *i);
2160 
2161 void FORTRAN(findextsurface,(ITG *nodface,ITG *ipoface,ITG *ne,ITG *ipkon,
2162                              char *lakon,ITG *kon,ITG *konfa,ITG *ipkonfa,
2163                              ITG *nk,char *lakonfa,ITG *nsurfs,ITG *ifreemax));
2164 
2165 void FORTRAN(findslavcfd,(ITG *nmpc,char *labmpc,ITG *ipompc,ITG *nodempc,
2166                           ITG *islav,ITG *nslav,ITG *inoslav,ITG *inomast,
2167                           ITG *ics,double *cs,ITG *imast,ITG *nmast,double *co,
2168                           ITG *inomat,ITG *nr,ITG *nz,double *rcs,double *zcs,
2169                           double *rcs0,double *zcs0,ITG *ncs));
2170 
2171 void FORTRAN(findsurface,(ITG *ipoface,ITG *nodface,ITG *ne,ITG *ipkon,ITG *kon,
2172                      char *lakon,ITG *ntie,char *tieset));
2173 
2174 void FORTRAN(fixnode,(ITG *nobject,ITG *nk,char *set,ITG *nset,ITG *istartset,
2175                       ITG *iendset,ITG *ialset,ITG *iobject,ITG *nodedesiinv,
2176                       double *dgdxglob,char *objectset));
2177 
2178 void FORTRAN (flowoutput,(ITG *itg,ITG *ieg,ITG *ntg,ITG *nteq,
2179                           double *bc,char *lakon,
2180                           ITG *ntmat_,double *v,double *shcon,ITG *nshcon,
2181                           ITG *ipkon,ITG *kon,double *co,ITG *nflow,
2182                           double *dtime,double *ttime,double *time,
2183                           ITG *ielmat,double *prop,
2184                           ITG *ielprop,ITG *nactdog,ITG *nacteq,ITG *iin,
2185                           double *physcon,double *camt,double *camf,double *camp,
2186                           double *rhcon,ITG *nrhcon,
2187                           double *vold,char *jobnamef,char *set,ITG *istartset,
2188                           ITG *iendset,ITG *ialset,ITG *nset,ITG *mi,
2189                           ITG *iaxial,ITG *istep,ITG *iit));
2190 
2191 void FORTRAN(flowresult,(ITG *ntg,ITG *itg,double *cam,double *vold,
2192               double *v,
2193               ITG *nload,char *sideload,ITG *nelemload,
2194               double *xloadact,ITG *nactdog,ITG *network,ITG *mi,
2195               ITG *ne,ITG *ipkon,char *lakon,ITG *kon));
2196 
2197 void FORTRAN(fluidnodes,(ITG *nef,ITG *ipkonf,char *lakonf,ITG *konf,ITG *ikf,
2198 			 ITG *nk,ITG *nkf));
2199 
2200 void FORTRAN(forcesolve,(double *zc,ITG *nev,double *aa,double *bb,
2201              double *xx,double *eiga,double *eigb,double *eigxx,
2202              ITG *iter,double *d,ITG *neq,double *z,ITG *istartnmd,
2203              ITG *iendnmd,ITG *nmd,ITG *cyclicsymmetry,ITG *neqact,
2204              ITG *igeneralizedforce));
2205 
2206 void forparll(ITG *mt,ITG *nactdof,double *aux2,double *veold,
2207                     ITG *nk,ITG *num_cpus);
2208 
2209 void *forparllmt(ITG *i);
2210 
2211 void frd(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,ITG *ne0,
2212          double *v,double *stn,ITG *inum,ITG *nmethod,ITG *kode,
2213          char *filab,double *een,double *t1,double *fn,double *time,
2214          double *epn,ITG *ielmat,char *matname,double *enern,
2215          double *xstaten,ITG *nstate_,ITG *istep,ITG *iinc,
2216          ITG *ithermal,double *qfn,ITG *mode,ITG *noddiam,
2217          double *trab,ITG *inotr,ITG *ntrans,double *orab,
2218          ITG *ielorien,ITG *norien,char *description,ITG *ipneigh,
2219          ITG *neigh,ITG *mi,double *stx,double *vr,double *vi,
2220          double *stnr,double *stni,double *vmax,double *stnmax,
2221          ITG *ngraph,double *veold,double *ener,ITG *ne,double *cs,
2222          char *set,ITG *nset,ITG *istartset,ITG *iendset,ITG *ialset,
2223          double *eenmax,double *fnr,double *fni,double *emn,
2224          double *thicke,char *jobnamec,char *output,double *qfx,
2225          double *cdn,ITG *mortar,double *cdnr,double *cdni,ITG *nmat,
2226          ITG *ielprop,double *prop,double *sti);
2227 
2228 void frdcyc(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,double *v,
2229             double *stn,ITG *inum,ITG *nmethod,ITG *kode,char *filab,
2230             double *een,double *t1,double *fn,double *time,double *epn,
2231             ITG *ielmat,char *matname,double *cs,ITG *mcs,ITG *nkon,
2232             double *enern,double *xstaten,ITG *nstate_,ITG *istep,
2233             ITG *iinc,ITG *iperturb,double *ener,ITG *mi,char *output,
2234             ITG *ithermal,double *qfn,ITG *ialset,ITG *istartset,
2235             ITG *iendset,double *trab,ITG *inotr,ITG *ntrans,double *orab,
2236             ITG *ielorien,ITG *norien,double *sti,double *veold,ITG *noddiam,
2237             char *set,ITG *nset,double *emn,double *thicke,char *jobnamec,
2238             ITG *ne0,double *cdn,ITG *mortar,ITG *nmat,double *qfx,
2239             ITG *ielprop,double *prop);
2240 
2241 void frd_norm_se(double *co,ITG *nk,double *stn,ITG *inum,ITG *nmethod,
2242          ITG *kode,char *filab,double *fn,double *time,ITG *nstate_,
2243          ITG *istep,ITG *iinc,ITG *mode,ITG *noddiam,char *description,
2244          ITG *mi,ITG *ngraph,ITG *ne,double *cs,char *set,ITG *nset,
2245          ITG *istartset,ITG *iendset,ITG *ialset,double *thicke,
2246          char *jobnamec,char *output,double *dgdxtotglob,ITG *numobject,
2247          char *objectset,double *extnor,ITG *ntrans,double *trab,
2248          ITG *inotr);
2249 
2250 void frd_sen(double *co,ITG *nk,double *dstn,ITG *inum,ITG *nmethod,
2251          ITG *kode,char *filab,double *time,ITG *nstate_,
2252          ITG *istep,ITG *iinc,ITG *mode,ITG *noddiam,char *description,
2253          ITG *mi,ITG *ngraph,ITG *ne,double *cs,char *set,ITG *nset,
2254          ITG *istartset,ITG *iendset,ITG *ialset,
2255          char *jobnamec,char *output,double *v,ITG *iobject,
2256          char *objectset,ITG *ntrans,ITG *inotr,double *trab,
2257          ITG *idesvar,char *orname,ITG *icoordinate,ITG *inorm,
2258          ITG *irand,ITG *ishape);
2259 
2260 void frd_sen_se(double *co,ITG *nk,double *stn,ITG *inum,ITG *nmethod,
2261          ITG *kode,char *filab,double *fn,double *time,ITG *nstate_,
2262          ITG *istep,ITG *iinc,ITG *mode,ITG *noddiam,char *description,
2263          ITG *mi,ITG *ngraph,ITG *ne,double *cs,char *set,ITG *nset,
2264          ITG *istartset,ITG *iendset,ITG *ialset,double *thicke,
2265          char *jobnamec,char *output,double *dgdxglob,ITG *iobject,
2266          char *objectset);
2267 
2268 void frd_orien_se(double *co,ITG *nk,double *stn,ITG *inum,ITG *nmethod,
2269          ITG *kode,char *filab,double *fn,double *time,ITG *nstate_,
2270          ITG *istep,ITG *iinc,ITG *mode,ITG *noddiam,char *description,
2271          ITG *mi,ITG *ngraph,ITG *ne,double *cs,char *set,ITG *nset,
2272          ITG *istartset,ITG *iendset,ITG *ialset,double *thicke,
2273          char *jobnamec,char *output,double *dgdxtotglob,ITG *numobject,
2274          char *objectset,ITG *ntrans,ITG *inotr,double *trab,
2275          ITG *idesvar,char *orname);
2276 
2277 void FORTRAN(frdfluid,(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
2278              ITG *ne,double *v,ITG *kode,double *time,
2279              ITG *ielmatf,char *matname,char *filab,
2280              ITG *inum,ITG *ntrans,ITG *inotr,double *trab,ITG *mi,
2281              ITG *istep,double *stn,double *qfn,ITG *nactdofinv,
2282              double *xmach,double *xkappa,double *physcon,double *xturb,
2283              double *coel,double *vel,double *cofa,double *vfa,ITG *nface));
2284 
2285 void FORTRAN(frdfluidfem,(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
2286 			  ITG *ne,double *v,double *vold,ITG *kode,double *time,
2287 			  ITG *ielmat,char *matname,ITG *nnstep,
2288 			  double *physcon,char *filab,ITG *inomat,ITG *ntrans,
2289 			  ITG *inotr,double *trab,ITG *mi,double *stn,
2290 			  double *qfn,ITG *istep,double *sa,ITG *compressible,
2291 			  ITG *nactdoh,double *yy,ITG *jyy,ITG *ithermal,
2292 			  double *shcon,ITG *nshcon,double *rhcon,ITG *nrhcon,
2293 			  ITG *ntmat_,double *vcon,double *depth,double *xg,
2294 			  ITG *nodfreesurf,double *dt,double *shockcoef,
2295 			  ITG *iexplicit,ITG *nkold,ITG *nelold));
2296 
2297 void frdgeneralvector(double *v,ITG *iset,ITG *ntrans,char * filabl,
2298                ITG *nkcoords,
2299                ITG *inum,char *m1,ITG *inotr,double *trab,double *co,
2300                ITG *istartset,ITG *iendset,ITG *ialset,ITG *mi,ITG *ngraph,
2301                FILE *f1,char *output,char *m3);
2302 
2303 void frdheader(ITG *icounter,double *oner,double *time,double *pi,
2304                ITG *noddiam,double *cs,ITG *null,ITG *mode,
2305                ITG *noutloc,char *description,ITG *kode,ITG *nmethod,
2306                FILE *f1,char *output,ITG *istep,ITG *iinc);
2307 
2308 void FORTRAN(frditeration,(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
2309              ITG *ne,double *v,double *time,ITG *ielmat,char *matname,
2310              ITG *mi,ITG *istep,ITG *iinc,ITG *ithermal));
2311 
2312 void frdselect(double *field1,double *field2,ITG *iset,ITG *nkcoords,ITG *inum,
2313      char *m1,ITG *istartset,ITG *iendset,ITG *ialset,ITG *ngraph,ITG *ncomp,
2314      ITG *ifield,ITG *icomp,ITG *nfield,ITG *iselect,char *m2,FILE *f1,
2315      char *output,char *m3);
2316 
2317 void frdset(char *filabl,char *set,ITG *iset,ITG *istartset,ITG *iendset,
2318             ITG *ialset,ITG *inum,ITG *noutloc,ITG *nout,ITG *nset,
2319             ITG *noutmin,ITG *noutplus,ITG *iselect,ITG *ngraph);
2320 
2321 void frdvector(double *v,ITG *iset,ITG *ntrans,char * filabl,ITG *nkcoords,
2322                ITG *inum,char *m1,ITG *inotr,double *trab,double *co,
2323                ITG *istartset,ITG *iendset,ITG *ialset,ITG *mi,ITG *ngraph,
2324                FILE *f1,char *output,char *m3);
2325 
2326 void FORTRAN(frictionheating,(ITG *ne0,ITG *ne,ITG *ipkon,char *lakon,ITG *ielmat,
2327                      ITG *mi,double *elcon,ITG *ncmat_,ITG *ntmat_,
2328                      ITG *kon,ITG *islavsurf,double *pmastsurf,
2329                      double *springarea,double *co,double *vold,
2330                      double *veold,double *pslavsurf,double *xload,
2331                      ITG *nload,ITG *nload_,ITG *nelemload,ITG *iamload,
2332                      ITG *idefload,char *sideload,double *stx,ITG *nam,
2333                      double *time,double *ttime,char *matname,ITG *istep,
2334                      ITG *iinc));
2335 
2336 void FORTRAN(fsub,(double *time,double *tend,double *aai,double *bbi,
2337                    double *ddj,double *h1,double *h2,double *h3,double *h4,
2338                    double *func,double *funcp));
2339 
2340 void FORTRAN(fsuper,(double *time,double *tend,double *aai,double *bbi,
2341                        double *h1,double *h2,double *h3,double *h4,
2342                        double *h5,double *h6,double *func,double *funcp));
2343 
2344 void FORTRAN(gasmechbc,(double *vold,ITG *nload,char *sideload,
2345                         ITG *nelemload,double *xload,ITG *mi));
2346 
2347 void FORTRAN(genadvecelem,(ITG *inodesd,ITG *ipkon,ITG *ne,char *lakon,
2348              ITG *kon,ITG *nload,char *sideload,ITG *nelemload,ITG *nkon,
2349              ITG *network));
2350 
2351 void FORTRAN(gencontelem_f2f,(char *tieset,ITG *ntie,ITG *itietri,ITG *ne,
2352              ITG *ipkon,ITG *kon,char *lakon,double *cg,double *straight,
2353              ITG *ifree,ITG *koncont,double *co,double *vold,double *xo,
2354              double *yo,double *zo,double *x,double *y,double *z,ITG *nx,
2355              ITG *ny,ITG *nz,ITG *ielmat,double *elcon,ITG *istep,ITG *iinc,
2356              ITG *iit,ITG *ncmat_,ITG *ntmat_,ITG *mi,ITG *imastop,
2357              ITG *islavsurf,ITG *itiefac,double *springarea,double *tietol,
2358              double *reltime,char *filab,ITG *nasym,
2359              double *pslavsurf,double *pmastsurf,double *clearini,
2360              double *theta,double *xstateini,double *xstate,ITG *nstate_,
2361              ITG *ne0,ITG *icutb,ITG *ialeatoric,ITG *nmethod,
2362              char *jobnamef,double *alea));
2363 
2364 void FORTRAN(gencontelem_n2f,(char *tieset,ITG *ntie,ITG *itietri,ITG *ne,
2365      ITG *ipkon,ITG *kon,char *lakon,
2366      double *cg,double *straight,ITG *ifree,ITG *koncont,
2367      double *co,double *vold,double *xo,double *yo,double *zo,
2368      double *x,double *y,double *z,ITG *nx,ITG *ny,ITG *nz,
2369      ITG *ielmat,double *elcon,ITG *istep,ITG *iinc,ITG *iit,
2370      ITG *ncmat_,ITG *ntmat_,
2371      ITG *nmethod,ITG *mi,ITG *imastop,ITG *nslavnode,
2372      ITG *islavnode,ITG *islavsurf,ITG *itiefac,double *areaslav,
2373      ITG *iponoels,ITG *inoels,double *springarea,
2374      char *set,ITG *nset,ITG *istartset,ITG *iendset,ITG *ialset,
2375      double *tietol,double *reltime,
2376      char* filab,ITG *nasym,double *xnoels,ITG *icutb,ITG *ne0,
2377      char *jobnamef,ITG *mortar,double *auw,ITG *jqw,ITG *iroww,ITG *nzsw,
2378      ITG *imastnode,ITG *nmastnode));
2379 
2380 void FORTRAN(gencycsymelemcfd,(double *cs,ITG *islav,ITG *nslav,
2381          ITG *imast,ITG *nmast,ITG *inomat,ITG *nk,double *co,ITG *ne,
2382          ITG *ipkon,char *lakon,ITG *kon,ITG *nkon,ITG *mi,ITG *ielmat,
2383          double *vold,ITG *ielslav,ITG *ielmast,ITG *inoslav,ITG *inomast,
2384          ITG *iponoel,ITG *inoel));
2385 
2386 void FORTRAN(generateeminterfaces,(ITG *istartset,ITG *iendset,
2387              ITG *ialset,ITG *iactive,ITG *ipkon,char *lakon,ITG *kon,
2388              ITG *ikmpc,ITG *nmpc,ITG *nafaces));
2389 
2390 void FORTRAN(generateglob,(ITG *kontet,ITG *ifatet,ITG *ifreetet,
2391 			   double *bc,ITG *ifac,ITG *itetfa,ITG *ifreefa,
2392 			   double *planfa,ITG *ipofa,ITG *nodes,double *cotet,
2393 			   ITG *nktet,ITG *ipocatt,ITG *ncat_,double *xmin,
2394 			   double *ymin,double *zmin,double *charlen,
2395 			   ITG *iexternalfa));
2396 
2397 void FORTRAN(genmidnodes,(ITG *nktet_,ITG *ipoed,ITG *iedgmid,ITG *iexternedg,
2398 			  ITG *iedgext,double *cotet,ITG *nktet,ITG *iedg,
2399 			  ITG *jfix,ITG *ipoeled,ITG *ieled,ITG *kontet,
2400 			  ITG *iedtet,ITG *iwrite));
2401 
2402 void FORTRAN(genmpc,(ITG *inodestet,ITG *nnodestet,double *co,
2403 		     double *doubleglob,ITG *integerglob,ITG *ipompc,
2404 		     ITG *nodempc,double *coefmpc,ITG *nmpc,ITG *nmpc_,
2405 		     char *labmpc,ITG *mpcfree,ITG *ikmpc,ITG *ilmpc));
2406 
2407 void FORTRAN(gennactdofinv,(ITG *nactdof,ITG *nactdofinv,ITG *nk,
2408        ITG *mi,ITG *nodorig,ITG *ipkon,char *lakon,ITG *kon,ITG *ne));
2409 
2410 unsigned long genrand();
2411 
2412 void FORTRAN(genratio,(double *co,double *doubleglob,ITG *integerglob,
2413 		       ITG *nkold,ITG *nk,ITG *iprfn,ITG *konrfn,
2414 		       double *ratiorfn));
2415 
2416 void FORTRAN(gentiedmpc,(char *tieset,ITG *ntie,ITG *itietri,
2417           ITG *ipkon,ITG *kon,char *lakon,char *set,ITG *istartset,
2418           ITG *iendset,ITG *ialset,double *cg,double *straight,
2419           ITG *koncont,double *co,double *xo,double *yo,double *zo,
2420           double *x,double *y,double *z,ITG *nx,ITG *ny,ITG *nz,ITG *nset,
2421           ITG *ifaceslave,ITG *istartfield,ITG *iendfield,ITG *ifield,
2422           ITG *ipompc,ITG *nodempc,double *coefmpc,ITG *nmpc,ITG *nmpc_,
2423           ITG *mpcfree,ITG *ikmpc,ITG *ilmpc,char *labmpc,ITG *ithermal,
2424           double *tietol,ITG *icfd,ITG *ncont,ITG *imastop,ITG *ikboun,
2425           ITG *nboun,char *kind));
2426 
2427 void FORTRAN(geocfd,(ITG *ne,ITG *ipkon,ITG *kon,char *lakon,
2428              double *co,double *coel,double *cofa,ITG *nface,ITG *ielfa,
2429              double *area,ITG *ipnei,ITG *neiel,double *xxn,double *xxi,
2430              double *xle,double *xlen,double *xlet,double *xrlfa,double *cosa,
2431              double *volume,ITG *neifa,double *xxj,double *cosb,
2432              double *dmin,ITG *ifatie,double *cs,char *tieset,ITG *icyclic,
2433              double *c,ITG *neij,double *physcon,ITG *isolidsurf,
2434              ITG *nsolidsurf,double *dy,double *xxni,double *xxnj,
2435              double *xxicn,ITG *nflnei,ITG *iturbulent,double *rf,
2436              double *yy,double *vel,double *velo,double *veloo,
2437              double *xxna,double *ale,double *alet,double *h));
2438 
2439 void FORTRAN(geomview,(double *vold,double *co,double *pmid,double *e1,
2440              double *e2,double *e3,ITG *kontri,double *area,double *cs,
2441              ITG *mcs,ITG *inocs,ITG *ntrit,ITG *nk,ITG *mi,double *sidemean));
2442 
2443 void FORTRAN(getbasis,(double *xmin,double *ymin,double *zmin,double *charlen,
2444 		       ITG *node,double *cotet,ITG *ifatet,ITG *itetfa,
2445 		       ITG *ibase,ITG *istock,ITG *ipocatt,ITG *ncat_,
2446 		       double *planfa));
2447 
2448 void getuncrackedresults(char *masterfile,ITG **integerglobp,
2449 			 double **doubleglobp,
2450 			 ITG *nboun,ITG *iamboun,double *xboun,ITG *nload,
2451 			 char *sideload,ITG *iamload,ITG *iglob,ITG *nforc,
2452 			 ITG *iamforc,double *xforc,ITG *ithermal,ITG *nk,
2453 			 double *t1,ITG *iamt1,double *sigma,ITG *nstep);
2454 
2455 void FORTRAN(getdesiinfo2d,(char *set,ITG *istartset,ITG *iendset,ITG *ialset,
2456             ITG *nset,ITG *mi,ITG *nactdof,ITG *ndesi,
2457             ITG *nodedesi,ITG *ntie,char *tieset,ITG *nodedesiinv,
2458             char *lakon,ITG *ipkon,ITG *kon,ITG *iponoelfa,ITG *iponod2dto3d,
2459             ITG *iponor2d,ITG *knor2d,ITG *iponoel2d,ITG *inoel2d,ITG *nobject,
2460             char *objectset,ITG *iponk2dto3d,ITG *ne));
2461 
2462 void FORTRAN(getdesiinfo3d,(char *set,ITG *istartset,ITG *iendset,ITG *ialset,
2463             ITG *nset,ITG *mi,ITG *nactdof,ITG *ndesi,
2464             ITG *nodedesi,ITG *ntie,char *tieset,ITG *itmp,ITG *nmpc,
2465             ITG *nodempc,ITG *ipompc,ITG *nodedesiinv,ITG *iponoel,
2466             ITG *inoel,char *lakon,ITG *ipkon,ITG *kon,ITG *noregion,
2467             ITG *ipoface,ITG *nodface,ITG *nk));
2468 
2469 void FORTRAN(getdesiinfo3d_robust,(char *set,ITG *istartset,ITG *iendset,
2470 				   ITG *ialset,ITG *nset,ITG *mi,ITG *nactdof,
2471 				   ITG *ndesi,ITG *nodedesi,ITG *ntie,
2472 				   char *tieset,ITG *itmp,ITG *nmpc,
2473 				   ITG *nodempc,ITG *ipompc,ITG *nodedesiinv,
2474 				   ITG *iponoel,ITG *inoel,char *lakon,
2475 				   ITG *ipkon,ITG *kon,ITG *noregion,
2476 				   ITG *ipoface,ITG *nodface,ITG *nk,
2477 				   ITG *irandomtype));
2478 
2479 void FORTRAN(getdesiinfobou,(ITG *ndesibou,ITG *nodedesibou,ITG *nodedesiinv,
2480 			     char *lakon,ITG *ipkon,ITG *kon,ITG *ipoface,
2481 			     ITG *nodface,ITG *nodedesiinvbou,ITG *ndesi,
2482 			     ITG *nodedesi,ITG *nk));
2483 
2484 void getglobalresults (char *masterfile,ITG **integerglobp,double **doubleglobp,
2485                        ITG *nboun,ITG *iamboun,double *xboun,ITG *nload,
2486                        char *sideload,ITG *iamload,ITG *iglob,ITG *nforc,
2487                        ITG *iamforc,double *xforc,ITG *ithermal,ITG *nk,
2488                        double *t1,ITG *iamt1,double *sigma,ITG *irefine);
2489 
2490 void getlocalresults(ITG **integerglobp,double **doubleglobp,ITG *nktet,
2491                      double *cotet,double *h,ITG *netet_,ITG *kontet,
2492                      ITG *ifatet,double *planfa,ITG *kontetor);
2493 
2494 void FORTRAN(getnodesinitetmesh,(ITG *ne,char *lakon,ITG *ipkon,ITG *kon,
2495 				 ITG *istartset,ITG *iendset,ITG *ialset,
2496 				 char *set,ITG *nset,char *filab,
2497 				 ITG *inodestet,ITG *nnodestet,ITG *nodface,
2498 				 ITG *ipoface,ITG *nk));
2499 
2500 ITG getSystemCPUs();;
2501 
2502 void FORTRAN(globalcrackresults,(ITG *nfront,ITG *ifront,double *wk1,
2503 				 double *wk2,double *wk3,double *dkeq,
2504 				 double *domphi,double *dadn,ITG *ncyc,
2505 				 double *dk1glob,double *dk2glob,
2506 				 double *dk3glob,double *dkeqglob,
2507 				 double *phiglob,double *dadnglob,
2508 				 double *dnglob,double *acrack,
2509 				 double *acrackglob,ITG *nstep,
2510 				 double *xkeqmin,double *xkeqmax,
2511 				 double *xkeqminglob,double *xkeqmaxglob,
2512 				 ITG *iinc,ITG *iincglob,double *domstep,
2513 				 double *domstepglob));
2514 
2515 void FORTRAN(gradcoefficients,(ITG *nef,char *lakonf,ITG *ipkonf,ITG *konf,
2516 			       double *gradelsh,ITG *ipogradfa,double *gradfash,
2517 			       ITG *ngradfash,ITG *ipnei,double *co));
2518 
2519 void FORTRAN(hrk_ud,(ITG *ielfa,double *vel,
2520                       ITG *ipnei,ITG *nef,double *flux,
2521                       double *vfa,ITG *nfacea,ITG *nfaceb));
2522 
2523 void *hrk_ud1mt(ITG *i);
2524 
2525 void hrk_udmain(ITG *nface,ITG *ielfa,double *vel,
2526                 ITG *ipnei,ITG *nef,double *flux,
2527                 double *vfa,ITG *num_cpus);
2528 
2529 void FORTRAN(hro_ud,(ITG *ielfa,double *vel,
2530                       ITG *ipnei,ITG *nef,double *flux,
2531                       double *vfa,ITG *nfacea,ITG *nfaceb));
2532 
2533 void *hro_ud1mt(ITG *i);
2534 
2535 void hro_udmain(ITG *nface,ITG *ielfa,double *vel,
2536                 ITG *ipnei,ITG *nef,double *flux,
2537                 double *vfa,ITG *num_cpus);
2538 
2539 void FORTRAN(hrp_mod_smart,(ITG *ielfa,double *vel,double *gradvel,
2540 			    double *xlet,double *xxj,
2541 			    ITG *ipnei,ITG *nef,double *flux,
2542 			    double *vfa,ITG *nfacea,ITG *nfaceb));
2543 
2544 void *hrp_mod_smart1mt(ITG *i);
2545 
2546 void hrp_mod_smartmain(ITG *nface,ITG *ielfa,double *vel,double *gradvel,
2547                         double *xlet,double *xxj,
2548                         ITG *ipnei,ITG *nef,double *flux,
2549                        double *vfa,ITG *num_cpus);
2550 
2551 void FORTRAN(hrp_ud,(ITG *ielfa,double *vel,
2552                       ITG *ipnei,ITG *nef,double *flux,
2553                       double *vfa,ITG *nfacea,ITG *nfaceb,
2554                       double *xxi1,double *xle1,double *gradpel1,
2555                       ITG *neij1));
2556 
2557 void *hrp_ud1mt(ITG *i);
2558 
2559 void hrp_udmain(ITG *nface,ITG *ielfa,double *vel,
2560                 ITG *ipnei,ITG *nef,double *flux,
2561                 double *vfa,ITG *num_cpus,double *xxi,
2562                 double *xle,double *gradpel,ITG *neij);
2563 
2564 void FORTRAN(hrr,(double *vfa,double *shcon,
2565                             ITG *ielmatf,ITG *ntmat_,ITG *mi,
2566                             ITG *ielfa,ITG *nfacea,ITG *nfaceb));
2567 
2568 void *hrr1mt(ITG *i);
2569 
2570 void hrrmain(ITG *nface,double *vfa,double *shcon,
2571                        ITG *ielmatf,ITG *ntmat_,ITG *mi,
2572                        ITG *ielfa,ITG *num_cpus);
2573 
2574 void FORTRAN(hrr_mod_smart,(double *vfa,double *shcon,
2575                             ITG *ielmatf,ITG *ntmat_,ITG *mi,ITG *ielfa,
2576                             ITG *ipnei,double *vel,ITG *nef,double *flux,
2577                             double *gradpel,double *gradtel,double *xxj,
2578                             double *xlet,ITG *nfacea,ITG *nfaceb));
2579 
2580 void *hrr_mod_smart1mt(ITG *i);
2581 
2582 void hrr_mod_smartmain(ITG *nface,double *vfa,double *shcon,
2583                                  ITG *ielmatf,ITG *ntmat_,ITG *mi,ITG *ielfa,
2584                                  ITG *ipnei,double *vel,ITG *nef,double *flux,
2585                                  double *gradpel,double *gradtel,double *xxj,
2586                                  double *xlet,ITG *num_cpus);
2587 
2588 void FORTRAN(hrr_ud,(double *vfa,double *shcon,
2589                                 ITG *ielmatf,ITG *ntmat_,ITG *mi,ITG *ielfa,
2590                                 ITG *ipnei,double *vel,ITG *nef,double *flux,
2591                                 ITG *nfacea,ITG *nfaceb,double *xxi1,
2592                                 double *xle1,double *gradpel1,double *gradtel1,
2593                                 ITG *neij1));
2594 
2595 void *hrr_ud1mt(ITG *i);
2596 
2597 void hrr_udmain(ITG *nface,double *vfa,double *shcon,
2598                           ITG *ielmatf,ITG *ntmat_,ITG *mi,ITG *ielfa,
2599                           ITG *ipnei,double *vel,ITG *nef,double *flux,
2600                           ITG *num_cpus,double *xxi,double *xle,
2601                           double *gradpel,double *gradtel,ITG *neij);
2602 
2603 void FORTRAN(hrt_ud,(ITG *ielfa,double *vel,
2604                       ITG *ipnei,ITG *nef,double *flux,
2605                       double *vfa,ITG *nfacea,ITG *nfaceb,
2606                       double *xxi1,double *xle1,double *gradtel1,
2607                       ITG *neij1));
2608 
2609 void *hrt_ud1mt(ITG *i);
2610 
2611 void hrt_udmain(ITG *nface,ITG *ielfa,double *vel,
2612                 ITG *ipnei,ITG *nef,double *flux,
2613                 double *vfa,ITG *num_cpus,double *xxi,
2614                 double *xle,double *gradtel,ITG *neij);
2615 
2616 void FORTRAN(hrv_mod_smart,(ITG *ielfa,double *vel,double *gradvel,
2617                              double *xlet,double *xxj,
2618                              ITG *ipnei,ITG *nef,double *flux,
2619                              double *vfa,ITG *nfacea,ITG *nfaceb));
2620 
2621 void *hrv_mod_smart1mt(ITG *i);
2622 
2623 void hrv_mod_smartmain(ITG *nface,ITG *ielfa,double *vel,double *gradvel,
2624                         double *xlet,double *xxj,
2625                         ITG *ipnei,ITG *nef,double *flux,
2626                        double *vfa,ITG *num_cpus);
2627 
2628 void FORTRAN(hrv_ud,(ITG *ielfa1,double *vel1,ITG *ipnei1,ITG *nef1,
2629                       double *flux1,double *vfa1,ITG *nfacea,ITG *nfaceb,
2630                       double *xxi1,double *xle1,double *gradvel1,ITG *neij1));
2631 
2632 void *hrv_ud1mt(ITG *i);
2633 
2634 void hrv_udmain(ITG *nface,ITG *ielfa,double *vel,ITG *ipnei,ITG *nef,
2635                 double *flux,double *vfa,ITG *num_cpus,double *xxi,
2636                 double *xle,double *gradvel,ITG *neij);
2637 
2638 void FORTRAN(identamta,(double *amta,double *reftime,ITG *istart,ITG *iend,
2639                ITG *id));
2640 
2641 void FORTRAN(identifytiedface,(char *tieset,ITG *ntie,char *set,ITG *nset,
2642                                ITG *faceslave,char *kind));
2643 
2644 void FORTRAN(includefilename,(char *buff,char *includefn,ITG *lincludefn));
2645 
2646 void FORTRAN(inicalcbody,(ITG *nef,double *body,ITG *ipobody,ITG *ibody,
2647                           double *xbody,double *coel,double *vel,char *lakon,
2648                           ITG *nactdohinv,ITG *icent));
2649 
2650 void inicont(ITG* nk,ITG *ncont,ITG *ntie,char *tieset,ITG *nset,char *set,
2651              ITG *istartset,ITG *iendset,ITG *ialset,ITG **itietrip,
2652              char *lakon,ITG *ipkon,ITG *kon,ITG **koncontp,
2653              ITG *ncone,double *tietol,ITG *ismallsliding,ITG **itiefacp,
2654              ITG **islavsurfp,ITG **islavnodep,ITG **imastnodep,
2655              ITG **nslavnodep,ITG **nmastnodep,ITG *mortar,
2656              ITG **imastopp,ITG *nkon,ITG **iponoels,ITG **inoelsp,
2657              ITG **ipep,ITG **imep,ITG *ne,ITG *ifacecount,
2658              ITG *iperturb,ITG *ikboun,ITG *nboun,double *co,ITG *istep,
2659              double **xnoelsp);
2660 
2661 void iniparll(ITG *mt,ITG *nactdof,double *b,double *v,
2662               double *veold,double *accold,double *bet,
2663               double *gam,double *dtime,double *cam,
2664               ITG *nk,ITG *num_cpus);
2665 
2666 void *iniparllmt(ITG *i);
2667 
2668 void FORTRAN(init_mesh,(double *cotet,ITG *nktet,double *xmin,double *ymin,
2669 			double *zmin,double *charlen,ITG *ndx,ITG *ndy,
2670 			ITG *ndz,ITG *ncat_,ITG *kontet,ITG *ifac,
2671 			ITG *nktet_,ITG *netet_));
2672 
2673 void FORTRAN(init_submodel,(ITG *nktet,ITG *inodfa,ITG *ipofa,ITG *netet_));
2674 
2675 void FORTRAN(initialcfdfem,(double *yy,ITG *nk,double *co,ITG *ne,ITG *ipkon,
2676 			    ITG *kon,char *lakon,double *x,double *y,double *z,
2677 			    double *xo,double *yo,double *zo,ITG *nx,ITG *ny,
2678 			    ITG *nz,ITG *isolidsurf,ITG *neighsolidsurf,
2679 			    double *xsolidsurf,double *dh,ITG *nshcon,
2680 			    double *shcon,ITG *nrhcon,double *rhcon,
2681 			    double *vold,double *vcon,ITG *ntmat_,ITG *iponoel,
2682 			    ITG *inoel,ITG *nsolidsurf,
2683 			    ITG *iturbulent,double *physcon,ITG *compressible,
2684 			    char *matname,ITG *inomat,ITG *mi,
2685 			    ITG *ithermal,double *dhel,ITG *jyy,
2686 			    ITG *ifreesurface,ITG *nbody,ITG *ipobody,
2687 			    ITG *ibody,double *xbody,double *depth,
2688 			    ITG *nodfreesurf,double *dgravity,double *xg));
2689 
2690 void FORTRAN(initialchannel,(ITG *itg,ITG *ieg,ITG *ntg,double *ac,double *bc,
2691                          char *lakon,double *v,ITG * ipkon,ITG *kon,
2692                          ITG *nflow,ITG *ikboun,ITG *nboun,double *prop,
2693                          ITG *ielprop,ITG *nactdog,ITG *ndirboun,
2694                          ITG *nodeboun,double *xbounact,ITG *ielmat,
2695                          ITG *ntmat_,double *shcon,ITG *nshcon,
2696                          double *physcon,ITG *ipiv,ITG *nteq,
2697                          double *rhcon,ITG *nrhcon,ITG *ipobody,ITG *ibody,
2698                          double *xbody,double *co,ITG *nbody,ITG *network,
2699                          ITG *iin_abs,double *vold,char *set,ITG *istep,
2700                          ITG *iit,ITG *mi,ITG *ineighe,ITG *ilboun,
2701                          double *ttime,double *time,ITG *iaxial));
2702 
2703 void FORTRAN(initialnet,(ITG *itg,ITG *ieg,ITG *ntg,double *ac,double *bc,
2704                          char *lakon,double *v,ITG * ipkon,ITG *kon,
2705                          ITG *nflow,ITG *ikboun,ITG *nboun,double *prop,
2706                          ITG *ielprop,ITG *nactdog,ITG *ndirboun,
2707                          ITG *nodeboun,double *xbounact,ITG *ielmat,
2708                          ITG *ntmat_,double *shcon,ITG *nshcon,
2709                          double *physcon,ITG *ipiv,ITG *nteq,
2710                          double *rhcon,ITG *nrhcon,ITG *ipobody,ITG *ibody,
2711                          double *xbody,double *co,ITG *nbody,ITG *network,
2712                          ITG *iin_abs,double *vold,char *set,ITG *istep,
2713                          ITG *iit,ITG *mi,ITG *ineighe,ITG *ilboun,
2714                          ITG *channel,ITG *iaxial,ITG *nmpc,char *labmpc,
2715                          ITG *ipompc,ITG *nodempc,double *coefmpc,
2716                          double *ttime,double *time,ITG *iponoel,ITG *inoel));
2717 
2718 void FORTRAN(initincf,(ITG *nface,double *dmin,double *vfa,
2719 		       double *umfa,double *cvfa,double *hcfa,
2720 		       ITG *ithermal,double *tincfguess,
2721 		       ITG *compressible));
2722 
2723 void ini_cal(char *jobnamec,char *output,char *fneig,char *kind1,char *kind2,
2724 	     ITG *itempuser,ITG *irobustdesign,ITG *nprint,
2725 	     ITG *neq,ITG *mpcfree,ITG *nbounold,ITG *nforcold,ITG *nloadold,
2726 	     ITG *nbody_,ITG *nbodyold,ITG *network,ITG *nheading_,ITG *nmpc_,
2727 	     ITG *nload_,ITG *nforc_,ITG *nboun_,ITG *nintpoint,ITG *iperturb,
2728 	     ITG *ntmat_,ITG *ithermal,ITG *isolver,ITG *nslavs,ITG *nkon_,
2729 	     ITG *mortar,ITG *jout,ITG *nkon,ITG *nevtot,ITG *ifacecount,
2730 	     ITG *iplas,ITG *npmat_,ITG *mi,ITG *mpcend,ITG *namtot_,ITG *iumat,
2731 	     ITG *icascade,ITG *ne1d,ITG *ne2d,ITG *infree,ITG *nflow,
2732 	     ITG *irstrt,ITG *nener,ITG *jrstrt,ITG *ntie_,ITG *mcs,ITG *nprop_,
2733 	     ITG *nprop,ITG *itpamp,ITG *nevdamp_,ITG *npt_,ITG *iaxial,
2734 	     ITG *inext,ITG *icontact,ITG *nobject,ITG *nobject_,ITG *iit,
2735 	     ITG *mpcfreeref,ITG *isens,ITG *namtot,ITG *nstam,ITG *ndamp,
2736 	     ITG *nef,ITG *nk_,ITG *ne_,ITG *nalset_,
2737 	     ITG *nmat_,ITG *norien_,ITG *nam_,ITG *ntrans_,ITG *ncs_,
2738 	     ITG *nstate_,ITG *ncmat_,ITG *memmpc_,ITG *nprint_,double *energy,
2739 	     double *ctrl,double *alpha,double *qaold,double *physcon,
2740 	     ITG *istep,ITG *istat,ITG *iprestr,ITG *kode,ITG *nload,
2741 	     ITG *nbody,ITG *nforc,ITG *nboun,ITG *nk,ITG *nmpc,ITG *nam,
2742 	     ITG *nzs_,ITG *nlabel,double *ttime,ITG *iheading);
2743 
2744 void insert_cmatrix(ITG *ipointer,ITG **mast1p,ITG **nextp,ITG *i1,
2745 		    ITG *i2,ITG *ifree,ITG *nzs_);
2746 
2747 void insert(ITG *ipointer,ITG **mast1p,ITG **mast2p,ITG *i1,
2748             ITG *i2,ITG *ifree,ITG *nzs_);
2749 
2750 void insertcbs(ITG *ipointer, ITG **irowp, ITG **nextp, ITG *i1,
2751 	    ITG *i2, ITG *ifree, ITG *nzs_);
2752 
2753 void insertfem(ITG *ipointer,ITG **mast1p,ITG **mast2p,ITG *i1,
2754 	       ITG *i2,ITG *ifree,ITG *nzs_);
2755 
2756 void insertfreq(ITG *ipointer,ITG **mast1p,ITG **nextp,ITG *i1,
2757                 ITG *i2,ITG *ifree,ITG *nzs_);
2758 
2759 void insertrad(ITG *ipointer,ITG **mast1p,ITG **mast2p,ITG *i1,
2760 	       ITG *i2,ITG *ifree,ITG *nzs_);
2761 
2762 void FORTRAN(integral_boundary,(double *sumfix,double *sumfree,ITG *ifaext,
2763                                 ITG *nfaext,ITG *ielfa,ITG *ifabou,double *vfa,
2764 				ITG *ipnei,double *xxn));
2765 
2766 void FORTRAN(interpolateinface,(ITG *kk,double *xstate1,double *xstateini1,
2767 				ITG *numpts,ITG *nstate1_,ITG *mi1,
2768 				ITG *islavsurf1,double *pslavsurf1,ITG *ne01,
2769 				ITG *islavsurfold1,double *pslavsurfold1));
2770 
2771 void FORTRAN(interpolatestate,(ITG *ne,ITG *ipkon,ITG *kon,char *lakon,
2772              ITG *ne0,ITG *mi,double *xstate,
2773              double *pslavsurf,ITG *nstate_,double *xstateini,
2774              ITG *islavsurf,ITG *islavsurfold,
2775              double *pslavsurfold,char *tieset,ITG *ntie,ITG *itiefac));
2776 
2777 void interpolatestatemain(ITG *ne,ITG *ipkon,ITG *kon,char *lakon,ITG *ne0,
2778 			  ITG *mi,double *xstate,double *pslavsurf,
2779 			  ITG *nstate_,double *xstateini,ITG *islavsurf,
2780 			  ITG *islavsurfold,double *pslavsurfold,char *tieset,
2781 			  ITG *ntie,ITG *itiefac);
2782 
2783 void *interpolatestatemainmt(ITG *i);
2784 
2785 void interpolcycsymcfd(ITG *nkold,double *cotet,ITG *neold,ITG *ipkon,
2786      ITG *kon,ITG **nodempcp,ITG *ipompc,ITG *nmpc,
2787      ITG *ikmpc,ITG *ilmpc,double **coefmpcp,char *labmpc,
2788      ITG *mpcfree,ITG *memmpc_,char *lakon,ITG *ncs,ITG *nslav,
2789      ITG *ithermal,double *cs,ITG *inoslav,ITG *inomast,ITG *ics,ITG *islav);
2790 
2791 void FORTRAN(interpolextnodes,(ITG *iexternnod,ITG *nexternnod,double *co,
2792 			       double *doubleglob,ITG *integerglob,
2793 			       double *stress,ITG *ifront,ITG *nfront,
2794 			       ITG *ifrontrel,double *costruc,double *temp,
2795 			       ITG *nstep));
2796 
2797 void FORTRAN(interpoltet,(double *x,double *y,double *z,double *xo,double *yo,
2798 			  double *zo,ITG *nx,ITG *ny,ITG *nz,double *planfa,
2799 			  ITG *ifatet,ITG *netet,ITG *kontet,double *cotet,
2800 			  ITG *iparent,double *co,ITG *nkfa,ITG *nkfb,
2801 			  ITG *konl,double *ratio,ITG *ikf));
2802 
2803 void interpoltetmain(double *plafa,ITG *ifatet,ITG *netet_,ITG *kontet,
2804 		     double *cotet,ITG *iparent,double *bc,double *co,
2805 		     ITG *nkf,ITG *ikf,ITG *konl,double *ratio);
2806 
2807 void *interpoltetmt(ITG *i);
2808 
2809 void FORTRAN(islavactive,(char *tieset,ITG *ntie,ITG *itietri,double *cg,
2810               double *straight,double *co,double *vold,double *xo,
2811               double *yo,double *zo,double *x,double *y,double *z,
2812               ITG *nx,ITG *ny,ITG *nz,ITG *mi,ITG *imastop,ITG *nslavnode,
2813               ITG *islavnode,ITG *islavact));
2814 
2815 void FORTRAN(isortid,(ITG *ix,double *dy,ITG *n,ITG *kflag));
2816 
2817 void FORTRAN(isortii,(ITG *ix,ITG *iy,ITG *n,ITG *kflag));
2818 
2819 void FORTRAN(isortiid,(ITG *ix,ITG *iy,double *dy,ITG *n,ITG *kflag));
2820 
2821 void FORTRAN(isortiddc,(ITG *ix,double *dy1,double *dy2,char *cy,ITG *n,
2822                          ITG *kflag));
2823 
2824 void FORTRAN(isortiiddc,(ITG *ix1,ITG *ix2,double *dy1,double *dy2,
2825                          char *cy,ITG *n,ITG *kflag));
2826 
2827 void FORTRAN(jouleheating,(ITG *ipkon,char *lakon,ITG *kon,double *co,
2828 			   double *elcon,ITG *nelcon,ITG *mi,ITG *ne,
2829 			   double *sti,ITG *ielmat,ITG *nelemload,
2830 			   char *sideload,double *xload,ITG *nload,ITG *nload_,
2831 			   ITG *iamload,ITG *nam,ITG *idefload,ITG *ncmat_,
2832 			   ITG *ntmat_,double *alcon,ITG *nalcon,ITG *ithermal,
2833 			   double *vold,double *t1,ITG *nmethod));
2834 
2835 void FORTRAN(keystart,(ITG *ifreeinp,ITG *ipoinp,ITG *inp,char *name,
2836            ITG *iline,ITG *ikey));
2837 
2838 void linstatic(double *co,ITG *nk,ITG **konp,ITG **ipkonp,char **lakonp,
2839              ITG *ne,
2840              ITG *nodeboun,ITG *ndirboun,double *xboun,ITG *nboun,
2841              ITG *ipompc,ITG *nodempc,double *coefmpc,char *labmpc,
2842              ITG *nmpc,
2843              ITG *nodeforc,ITG *ndirforc,double *xforc,ITG *nforc,
2844              ITG *nelemload,char *sideload,double *xload,
2845              ITG *nload,ITG *nactdof,
2846              ITG **icolp,ITG *jq,ITG **irowp,ITG *neq,ITG *nzl,
2847              ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
2848              ITG *ilboun,
2849              double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
2850              double *alcon,ITG *nalcon,double *alzero,ITG **ielmatp,
2851              ITG **ielorienp,ITG *norien,double *orab,ITG *ntmat_,
2852              double *t0,double *t1,double *t1old,
2853              ITG *ithermal,double *prestr,ITG *iprestr,
2854              double *vold,ITG *iperturb,double *sti,ITG *nzs,
2855              ITG *kode,char *filab,double *eme,
2856              ITG *iexpl,double *plicon,ITG *nplicon,double *plkcon,
2857              ITG *nplkcon,
2858              double **xstatep,ITG *npmat_,char *matname,ITG *isolver,
2859              ITG *mi,ITG *ncmat_,ITG *nstate_,double *cs,ITG *mcs,
2860              ITG *nkon,double **enerp,double *xbounold,
2861              double *xforcold,double *xloadold,
2862              char *amname,double *amta,ITG *namta,
2863              ITG *nam,ITG *iamforc,ITG *iamload,
2864              ITG *iamt1,ITG *iamboun,double *ttime,char *output,
2865              char *set,ITG *nset,ITG *istartset,
2866              ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
2867              char *prset,ITG *nener,double *trab,
2868              ITG *inotr,ITG *ntrans,double *fmpc,ITG *ipobody,ITG *ibody,
2869              double *xbody,ITG *nbody,double *xbodyold,double *timepar,
2870              double *thicke,char *jobnamec,char *tieset,ITG *ntie,
2871              ITG *istep,ITG *nmat,ITG *ielprop,double *prop,char *typeboun,
2872              ITG *mortar,ITG *mpcinfo,double *tietol,ITG *ics,
2873              char *orname,ITG *itempuser,double *t0g,double *t1g);
2874 
2875 void FORTRAN(localaxes,(ITG *ibody,ITG *nbody,double *xbody,double *e1,
2876                         double *e2,double *xn));
2877 
2878 void FORTRAN(localaxescs,(double *cs,ITG *mcs,double *e1,
2879                         double *e2,double *xn));
2880 
2881 void FORTRAN(lump,(double *adb,double *aub,double *adl,ITG *irow,ITG *jq,
2882                    ITG *neq));
2883 
2884 void FORTRAN(mafillcorio,(double *co,ITG *nk,ITG *kon,ITG *ipkon,
2885                char *lakon,
2886                ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,
2887                ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
2888                ITG *nmpc,ITG *nodeforc,ITG *ndirforc,
2889                double *xforc,ITG *nforc,ITG *nelemload,char *sideload,
2890                double *xload,ITG *nload,double *xbody,ITG *ipobody,
2891                ITG *nbody,double *cgr,
2892                double *ad,double *au,ITG *nactdof,
2893                ITG *icol,ITG *jq,ITG *irow,ITG *neq,ITG *nzl,
2894                ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
2895                ITG *ilboun,
2896                double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
2897                double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
2898                ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
2899                double *t0,double *t1,ITG *ithermal,
2900                double *prestr,ITG *iprestr,double *vold,
2901                ITG *iperturb,double *sti,ITG *nzs,double *stx,
2902                double *adb,double *aub,ITG *iexpl,
2903                double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
2904                double *xstiff,
2905                ITG *npmat_,double *dtime,char *matname,ITG *mi,
2906                ITG *ncmat_,double *ttime,double *time,
2907                ITG *istep,ITG *kinc,ITG *ibody,ITG *ielprop,double *prop));
2908 
2909 void FORTRAN(mafilldm,(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
2910                ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,
2911                ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
2912                ITG *nmpc,ITG *nodeforc,ITG *ndirforc,
2913                double *xforc,ITG *nforc,ITG *nelemload,char *sideload,
2914                double *xload,ITG *nload,double *xbody,ITG *ipobody,
2915                ITG *nbody,double *cgr,
2916                double *ad,double *au,ITG *nactdof,
2917                ITG *icol,ITG *jq,ITG *irow,ITG *neq,ITG *nzl,
2918                ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
2919                ITG *ilboun,
2920                double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
2921                double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
2922                ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
2923                double *t0,double *t1,ITG *ithermal,
2924                double *prestr,ITG *iprestr,double *vold,
2925                ITG *iperturb,double *sti,ITG *nzs,double *stx,
2926                double *adb,double *aub,ITG *iexpl,
2927                double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
2928                double *xstiff,
2929                ITG *npmat_,double *dtime,char *matname,ITG *mi,
2930                ITG *ncmat_,double *ttime,double *time,
2931                ITG *istep,ITG *kinc,ITG *ibody,double *clearini,
2932                ITG *mortar,double *springarea,double *pslavsurf,
2933                double *pmastsurf,double *reltime,ITG *nasym));
2934 
2935 void FORTRAN(mafilldmss,(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
2936                ITG *ne,
2937                ITG *ipompc,ITG *nodempc,double *coefmpc,
2938                ITG *nmpc,ITG *nelemload,char *sideload,
2939                double *xload,ITG *nload,double *xbody,ITG *ipobody,
2940                ITG *nbody,double *cgr,
2941                double *ad,double *au,ITG *nactdof,
2942                ITG *jq,ITG *irow,ITG *neq,
2943                ITG *nmethod,ITG *ikmpc,ITG *ilmpc,
2944                double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
2945                double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
2946                ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
2947                double *t0,double *t1,ITG *ithermal,double *vold,
2948                ITG *iperturb,double *sti,double *stx,
2949                ITG *iexpl,
2950                double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
2951                double *xstiff,
2952                ITG *npmat_,double *dtime,char *matname,ITG *mi,
2953                ITG *ncmat_,double *physcon,
2954                double *ttime,double *time,
2955                ITG *istep,ITG *kinc,ITG *ibody,
2956                double *xloadold,double *reltime,double *veold,
2957                double *springarea,ITG *nstate_,double *xstateini,
2958                double *xstate,double *thicke,
2959                ITG *integerglob,double *doubleglob,char *tieset,
2960                ITG *istartset,ITG *iendset,ITG *ialset,ITG *ntie,
2961                ITG *nasym,double *pslavsurf,double *pmastsurf,ITG *mortar,
2962                double *clearini,ITG *ielprop,double *prop,ITG *ne0,
2963                ITG *nea,ITG *neb,
2964 	       double *freq,ITG *ndamp,double *dacon,char *set,ITG *nset));
2965 
2966 void mafilldmssmain(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
2967                ITG *ne,ITG *ipompc,ITG *nodempc,double *coefmpc,
2968                ITG *nmpc,ITG *nelemload,char *sideload,
2969                double *xload,ITG *nload,double *xbody,ITG *ipobody,
2970                ITG *nbody,double *cgr,
2971                double *ad,double *au,ITG *nactdof,
2972                ITG *jq,ITG *irow,ITG *neq,
2973                ITG *nmethod,ITG *ikmpc,ITG *ilmpc,
2974                double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
2975                double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
2976                ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
2977                double *t0,double *t1,ITG *ithermal,double *vold,
2978                ITG *iperturb,double *sti,ITG *nzs,double *stx,
2979                ITG *iexpl,
2980                double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
2981                double *xstiff,
2982                ITG *npmat_,double *dtime,char *matname,ITG *mi,
2983                ITG *ncmat_,double *physcon,double *ttime,double *time,
2984                ITG *istep,ITG *kinc,ITG *ibody,
2985                double *xloadold,double *reltime,double *veold,
2986                double *springarea,ITG *nstate_,double *xstateini,
2987                double *xstate,double *thicke,
2988                ITG *integerglob,double *doubleglob,char *tieset,
2989                ITG *istartset,ITG *iendset,ITG *ialset,ITG *ntie,
2990                ITG *nasym,double *pslavsurf,double *pmastsurf,ITG *mortar,
2991                double *clearini,ITG *ielprop,double *prop,ITG *ne0,
2992 	       double *freq,ITG *ndamp,double *dacon,char *set,ITG *nset);
2993 
2994 void *mafilldmssmt(ITG *i);
2995 
2996 void FORTRAN(mafillem,(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
2997                ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,
2998                ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
2999                ITG *nmpc,ITG *nodeforc,ITG *ndirforc,
3000                double *xforc,ITG *nforc,ITG *nelemload,char *sideload,
3001                double *xload,ITG *nload,double *xbody,ITG *ipobody,
3002                ITG *nbody,double *cgr,
3003                double *ad,double *au,double *bb,ITG *nactdof,
3004                ITG *icol,ITG *jq,ITG *irow,ITG *neq,ITG *nzl,
3005                ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
3006                ITG *ilboun,
3007                double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
3008                double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
3009                ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
3010                double *t0,double *t1,ITG *ithermal,
3011                double *prestr,ITG *iprestr,double *vold,
3012                ITG *iperturb,double *sti,ITG *nzs,double *stx,
3013                double *adb,double *aub,ITG *iexpl,
3014                double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
3015                double *xstiff,
3016                ITG *npmat_,double *dtime,char *matname,ITG *mi,
3017                ITG *ncmat_,ITG *mass,ITG *stiffness,ITG *buckling,ITG *rhs,
3018                ITG *intscheme,double *physcon,double *shcon,ITG *nshcon,
3019                double *cocon,ITG *ncocon,double *ttime,double *time,
3020                ITG *istep,ITG *kinc,ITG *coriolis,ITG *ibody,
3021                double *xloadold,double *reltime,double *veold,
3022                double *springarea,ITG *nstate_,double *xstateini,
3023                double *xstate,double *thicke,
3024                ITG *integerglob,double *doubleglob,char *tieset,
3025                ITG *istartset,ITG *iendset,ITG *ialset,ITG *ntie,
3026                ITG *nasym,ITG *iactive,double *h0,double *pslavsurf,
3027                double *pmastsurf,ITG *mortar,double *clearini,
3028                ITG *ielprop,double *prop,ITG *iponoel,ITG *inoel,
3029                ITG *network));
3030 
3031 void FORTRAN(mafillfreq_em,(double *ad,double *au,double *adb,double *aub,
3032              ITG *irow,ITG *jq,ITG *neq,double *adfreq,double *aubfreq,
3033              ITG *irowfreq,ITG *iaux,ITG *jqfreq,ITG *icolfreq,ITG *neqfreq,
3034              ITG *nzsfreq,double *om,ITG *symmetryflag,ITG *inputformat,
3035              double *b,double *bfreq));
3036 
3037 void FORTRAN(mafillk,(ITG *nef,ITG *ipnei,ITG *neifa,
3038                ITG *neiel,double *vfa,double *xxn,double *area,
3039                double *au,double *ad,ITG *jq,ITG *irow,ITG *nzs,
3040                double *b,double *vel,double *umfa,double *alet,
3041                double *ale,double *gradkfa,double *xxi,double *body,
3042                double *volume,ITG *ielfa,char *lakonf,
3043                ITG *ifabou,ITG *nbody,ITG *neq,double *dtimef,double *velo,
3044                double *veloo,double *cpfa,double *hcfa,double *cvel,
3045                double *gradvel,double *xload,double *gammat,double *xrlfa,
3046                double *xxj,ITG *nactdohinv,double *a1,double *a2,double *a3,
3047                double *flux,ITG *nefa,ITG *nefb,ITG *iau6,double *xxni,
3048                double *xxnj,ITG *iturbulent,double *f1,double *of2,
3049 	       double *yy,double *umel,double *gradkel,double *gradoel,
3050 	       double *sc));
3051 
3052 void FORTRAN(mafillkcomp,(ITG *nef,ITG *ipnei,ITG *neifa,
3053                ITG *neiel,double *vfa,double *xxn,double *area,
3054                double *au,double *ad,ITG *jq,ITG *irow,ITG *nzs,
3055                double *b,double *vel,double *umfa,double *alet,
3056                double *ale,double *gradkfa,double *xxi,double *body,
3057                double *volume,ITG *ielfa,char *lakonf,
3058                ITG *ifabou,ITG *nbody,ITG *neq,double *dtimef,double *velo,
3059                double *veloo,double *cvfa,double *hcfa,double *cvel,
3060                double *gradvel,double *xload,double *xrlfa,
3061                double *xxj,ITG *nactdohinv,double *a1,double *a2,double *a3,
3062                double *flux,ITG *nefa,ITG *nefb,ITG *iau6,double *xxni,
3063                double *xxnj,ITG *iturbulent,double *f1,double *of2,
3064                double *yy,double *umel,double *gradkel,double *gradoel,
3065 	       ITG *inlet,double *sc));
3066 
3067 void mafillkcompmain(ITG *nef,ITG *ipnei,ITG *neifa,
3068                ITG *neiel,double *vfa,double *xxn,double *area,
3069                double *au,double *ad,ITG *jq,ITG *irow,ITG *nzs,
3070                double *b,double *vel,double *umfa,double *alet,
3071                double *ale,double *gradkfa,double *xxi,double *body,
3072                double *volume,ITG *ielfa,char *lakonf,
3073                ITG *ifabou,ITG *nbody,ITG *neq,double *dtimef,double *velo,
3074                double *veloo,double *cpfa,double *hcfa,double *cvel,
3075                double *gradvel,double *xload,double *xrlfa,
3076                double *xxj,ITG *nactdohinv,double *a1,double *a2,double *a3,
3077                double *flux,ITG *iau6,double *xxni,double *xxnj,
3078                ITG *iturbulent,double *f1,double *of2,double *yy,
3079                double *umel,double *gradkel,double *gradoel,ITG *inlet,
3080 	       double *sc);
3081 
3082 void *mafillkcompmt(ITG *i);
3083 
3084 void mafillkmain(ITG *nef,ITG *ipnei,ITG *neifa,
3085                ITG *neiel,double *vfa,double *xxn,double *area,
3086                double *au,double *ad,ITG *jq,ITG *irow,ITG *nzs,
3087                double *b,double *vel,double *umfa,double *alet,
3088                double *ale,double *gradkfa,double *xxi,double *body,
3089                double *volume,ITG *ielfa,char *lakonf,
3090                ITG *ifabou,ITG *nbody,ITG *neq,double *dtimef,double *velo,
3091                double *veloo,double *cpfa,double *hcfa,double *cvel,
3092                double *gradvel,double *xload,double *gammat,double *xrlfa,
3093                double *xxj,ITG *nactdohinv,double *a1,double *a2,double *a3,
3094                double *flux,ITG *iau6,double *xxni,double *xxnj,
3095                ITG *iturbulent,double *f1,double *of2,double *yy,
3096 	       double *umel,double *gradkel,double *gradoel,double *sc);
3097 
3098 void FORTRAN(mafillklhs,(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
3099 			 ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,
3100 			 ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
3101 			 ITG *nmpc,ITG *nactdok,ITG *icolk,ITG *jqk,ITG *irowk,
3102 			 ITG *neqk,ITG *nzlk,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
3103 			 ITG *ilboun,ITG *nzsk,double *adbk,double *aubk,
3104 			 ITG *ipvar,double *var));
3105 
3106 void *mafillkmt(ITG *i);
3107 
3108 void FORTRAN(mafillkrhs,(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
3109         ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,ITG *nboun,
3110         ITG *ipompc,ITG *nodempc,double *coefmpc,ITG *nmpc,ITG *nelemface,
3111         char *sideface,ITG *nface,ITG *nactdok,ITG *neqk,ITG *nmethod,
3112         ITG *ikmpc,ITG *ilmpc,ITG *ikboun,ITG *ilboun,double *rhcon,
3113         ITG *nrhcon,ITG *ielmat,ITG *ntmat_,double *vold,double *voldaux,
3114         ITG *nzsk,double *dtimef,char *matname,ITG *mi,ITG *ncmat_,
3115         double *shcon,ITG *nshcon,double *theta1,double *bk,
3116         double *bt,ITG *isolidsurf,ITG *nsolidsurf,
3117         ITG *ifreestream,ITG *nfreestream,double *xsolidsurf,double *yy,
3118 	ITG *compressible,ITG *turbulent,ITG *ithermal,ITG *ipvar,
3119 	double *var,ITG *ipvarf,double *varf,ITG *nea,ITG *neb,
3120 	double *dt,double *ck,double *ct,double *physcon,ITG *ipface));
3121 
3122 void *mafillkrhsmt(ITG *i);
3123 
3124 void FORTRAN(mafillnet,(ITG *itg,ITG *ieg,ITG *ntg,
3125                         double *ac,ITG *nload,char *sideload,
3126                         ITG *nelemload,double *xloadact,char *lakon,
3127                         ITG *ntmat_,double *v,double *shcon,ITG *nshcon,
3128                         ITG *ipkon,ITG *kon,double *co,ITG *nflow,
3129                         ITG *iinc,ITG *istep,
3130                         double *dtime,double *ttime,double *time,
3131                         ITG *ielmat,ITG *nteq,double *prop,
3132                         ITG *ielprop,ITG *nactdog,ITG *nacteq,
3133                         double *physcon,double *rhcon,ITG *nrhcon,
3134                         ITG *ipobody,ITG *ibody,double *xbody,ITG *nbody,
3135                         double *vold,double *xloadold,double *reltime,
3136                         ITG *nmethod,char *set,ITG *mi,ITG *nmpc,
3137                         ITG *nodempc,ITG *ipompc,double *coefmpc,
3138                         char *labmpc,ITG *iaxial,double *cocon,ITG *ncocon,
3139                         ITG *iponoel,ITG *inoel));
3140 
3141 void FORTRAN(mafillo,(ITG *nef,ITG *ipnei,ITG *neifa,
3142                ITG *neiel,double *vfa,double *xxn,double *area,
3143                double *au,double *ad,ITG *jq,ITG *irow,ITG *nzs,
3144                double *b,double *vel,double *umfa,double *alet,
3145                double *ale,double *gradofa,double *xxi,double *body,
3146                double *volume,ITG *ielfa,char *lakonf,
3147                ITG *ifabou,ITG *nbody,ITG *neq,double *dtimef,double *velo,
3148                double *veloo,double *cpfa,double *hcfa,double *cvel,
3149                double *gradvel,double *xload,double *gammat,double *xrlfa,
3150                double *xxj,ITG *nactdohinv,double *a1,double *a2,double *a3,
3151                double *flux,ITG *nefa,ITG *nefb,ITG *iau6,double *xxni,
3152                double *xxnj,ITG *iturbulent,double *f1,double *of2,
3153 	       double *gradkel,double *gradoel,double *sc));
3154 
3155 void FORTRAN(mafillocomp,(ITG *nef,ITG *ipnei,ITG *neifa,
3156                ITG *neiel,double *vfa,double *xxn,double *area,
3157                double *au,double *ad,ITG *jq,ITG *irow,ITG *nzs,
3158                double *b,double *vel,double *umfa,double *alet,
3159                double *ale,double *gradofa,double *xxi,double *body,
3160                double *volume,ITG *ielfa,char *lakonf,
3161                ITG *ifabou,ITG *nbody,ITG *neq,double *dtimef,double *velo,
3162                double *veloo,double *cpfa,double *hcfa,double *cvel,
3163                double *gradvel,double *xload,double *xrlfa,
3164                double *xxj,ITG *nactdohinv,double *a1,double *a2,double *a3,
3165                double *flux,ITG *nefa,ITG *nefb,ITG *iau6,double *xxni,
3166                double *xxnj,ITG *iturbulent,double *f1,double *of2,
3167                double *gradkel,double *gradoel,ITG *inlet,double *sc));
3168 
3169 void mafillocompmain(ITG *nef,ITG *ipnei,ITG *neifa,
3170                ITG *neiel,double *vfa,double *xxn,double *area,
3171                double *au,double *ad,ITG *jq,ITG *irow,ITG *nzs,
3172                double *b,double *vel,double *umel,double *alet,
3173                double *ale,double *gradofa,double *xxi,double *body,
3174                double *volume,ITG *ielfa,char *lakonf,
3175                ITG *ifabou,ITG *nbody,ITG *neq,double *dtimef,double *velo,
3176                double *veloo,double *cpfa,double *hcfa,double *cvel,
3177                double *gradvel,double *xload,double *xrlfa,
3178                double *xxj,ITG *nactdohinv,double *a1,double *a2,double *a3,
3179                double *flux,ITG *iau6,double *xxni,double *xxnj,
3180                ITG *iturbulent,double *f1,double *of2,double *gradkel,
3181                double *gradoel,ITG *inlet,double *sc);
3182 
3183 void *mafillocompmt(ITG *i);
3184 
3185 void mafillomain(ITG *nef,ITG *ipnei,ITG *neifa,
3186                ITG *neiel,double *vfa,double *xxn,double *area,
3187                double *au,double *ad,ITG *jq,ITG *irow,ITG *nzs,
3188                double *b,double *vel,double *umel,double *alet,
3189                double *ale,double *gradofa,double *xxi,double *body,
3190                double *volume,ITG *ielfa,char *lakonf,
3191                ITG *ifabou,ITG *nbody,ITG *neq,double *dtimef,double *velo,
3192                double *veloo,double *cpfa,double *hcfa,double *cvel,
3193                double *gradvel,double *xload,double *gammat,double *xrlfa,
3194                double *xxj,ITG *nactdohinv,double *a1,double *a2,double *a3,
3195                double *flux,ITG *iau6,double *xxni,double *xxnj,
3196                ITG *iturbulent,double *f1,double *of2,double *gradkel,
3197 	       double *gradoel,double *sc);
3198 
3199 void *mafillomt(ITG *i);
3200 
3201 void FORTRAN(mafillp,(ITG *ne,char *lakonf,ITG *ipnei,
3202              ITG *neifa,ITG *neiel,double *vfa,double *area,double *adfa,
3203              double *xlet,double *cosa,double *volume,double *au,double *ad,
3204              ITG *jq,ITG *irow,double *ap,ITG *ielfa,ITG *ifabou,
3205              double *xle,double *b,double *xxn,
3206              ITG *neq,ITG *nzs,double *hfa,double *gradpel,
3207              double *bp,double *xxi,ITG *neij,double *xlen,double *cosb,
3208              ITG *nefa,ITG *nefb,ITG *iau6,double *xxicn,double *flux));
3209 
3210 void FORTRAN(mafillpbc,(ITG *nef,double *au,double *ad,ITG *jq,ITG *irow,
3211                         double *b,ITG *iatleastonepressurebc,ITG *nzs));
3212 
3213 void FORTRAN(mafillpcomp,(ITG *ne,char *lakonf,ITG *ipnei,
3214              ITG *neifa,ITG *neiel,double *vfa,double *area,double *adfa,
3215              double *xlet,double *cosa,double *volume,double *au,double *ad,
3216              ITG *jq,ITG *irow,double *ap,ITG *ielfa,ITG *ifabou,
3217              double *xle,double *b,double *xxn,ITG *neq,
3218              ITG *nzs,double *hfa,double *gradpel,
3219              double *bp,double *xxi,ITG *neij,double *xlen,double *cosb,
3220              ITG *ielmatf,ITG *mi,double *a1,double *a2,double *a3,double *velo,
3221              double *veloo,double *dtimef,double *shcon,ITG *ntmat_,double *vel,
3222              ITG *nactdohinv,double *xrlfa,double *flux,ITG *nefa,ITG *nefb,
3223              ITG *iau6,double *xxicn,double *gamma,ITG *inlet));
3224 
3225 void mafillpcompmain(ITG *ne,char *lakonf,ITG *ipnei,
3226              ITG *neifa,ITG *neiel,double *vfa,double *area,double *adfa,
3227              double *xlet,double *cosa,double *volume,double *au,double *ad,
3228              ITG *jq,ITG *irow,double *ap,ITG *ielfa,ITG *ifabou,
3229              double *xle,double *b,double *xxn,ITG *neq,
3230              ITG *nzs,double *hfa,double *gradpel,
3231              double *bp,double *xxi,ITG *neij,double *xlen,double *cosb,
3232              ITG *ielmatf,ITG *mi,double *a1,double *a2,double *a3,double *velo,
3233              double *veloo,double *dtimef,double *shcon,ITG *ntmat_,double *vel,
3234              ITG *nactdohinv,double *xrlfa,double *flux,ITG *iau6,
3235              double *xxicn,double *gamma,ITG *inlet);
3236 
3237 void *mafillpcompmt(ITG *i);
3238 
3239 void FORTRAN(mafillplhs,(ITG *kon,ITG *ipkon,char *lakon,ITG *ne,ITG *ipompc,
3240 			 ITG *nodempc,double *coefmpc,ITG *nmpc,ITG *nactdoh,
3241 			 ITG *icolp,ITG *jqp,ITG *irowp,ITG *neqp,ITG *nzlp,
3242 			 ITG *nzsp,double *adbp,double *aubp,ITG *ipvar,
3243 			 double *var));
3244 
3245 void mafillpmain(ITG *ne,char *lakonf,ITG *ipnei,
3246              ITG *neifa,ITG *neiel,double *vfa,double *area,double *adfa,
3247              double *xlet,double *cosa,double *volume,double *au,double *ad,
3248              ITG *jq,ITG *irow,double *ap,ITG *ielfa,ITG *ifabou,
3249              double *xle,double *b,double *xxn,
3250              ITG *neq,ITG *nzs,double *hfa,double *gradpel,
3251              double *bp,double *xxi,ITG *neij,double *xlen,double *cosb,
3252              ITG *iatleastonepressurebc,ITG *iau6,double *xxicn,
3253              double *flux);
3254 
3255 void *mafillpmt(ITG *i);
3256 
3257 void FORTRAN(mafillprhs,(ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
3258 			 ITG *ipompc,ITG *nodempc,double *coefmpc,ITG *nmpc,
3259 			 double *b,ITG *nactdoh,ITG *mi,double *v,
3260 			 double *theta1,ITG *nea,ITG *neb,double *dtimef,
3261 			 ITG *ipvar,double *var,ITG *compressible));
3262 
3263 void *mafillprhsmt(ITG *i);
3264 
3265 void FORTRAN(mafillsm,(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
3266                ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,
3267                ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
3268                ITG *nmpc,ITG *nodeforc,ITG *ndirforc,
3269                double *xforc,ITG *nforc,ITG *nelemload,char *sideload,
3270                double *xload,ITG *nload,double *xbody,ITG *ipobody,
3271                ITG *nbody,double *cgr,
3272                double *ad,double *au,double *bb,ITG *nactdof,
3273                ITG *icol,ITG *jq,ITG *irow,ITG *neq,ITG *nzl,
3274                ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
3275                ITG *ilboun,
3276                double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
3277                double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
3278                ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
3279                double *t0,double *t1,ITG *ithermal,
3280                double *prestr,ITG *iprestr,double *vold,
3281                ITG *iperturb,double *sti,ITG *nzs,double *stx,
3282                double *adb,double *aub,ITG *iexpl,
3283                double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
3284                double *xstiff,
3285                ITG *npmat_,double *dtime,char *matname,ITG *mi,
3286                ITG *ncmat_,ITG *mass,ITG *stiffness,ITG *buckling,ITG *rhs,
3287                ITG *intscheme,double *physcon,double *shcon,ITG *nshcon,
3288                double *cocon,ITG *ncocon,double *ttime,double *time,
3289                ITG *istep,ITG *kinc,ITG *coriolis,ITG *ibody,
3290                double *xloadold,double *reltime,double *veold,
3291                double *springarea,ITG *nstate_,double *xstateini,
3292                double *xstate,double *thicke,
3293                ITG *integerglob,double *doubleglob,char *tieset,
3294                ITG *istartset,ITG *iendset,ITG *ialset,ITG *ntie,
3295                ITG *nasym,double *pslavsurf,double *pmastsurf,ITG *mortar,
3296                double *clearini,ITG *ielprop,double *prop,ITG *ne0,
3297                double *fnext,ITG *nea,ITG *neb,ITG *kscale,ITG *iponoel,
3298                ITG *inoel,ITG *network,double *smscale,ITG *mscalmethod,
3299 	       char *set,ITG *nset,ITG *islavelinv,
3300 	       double *autloc,ITG *irowtloc,ITG *jqtloc,ITG *mortartrafoflag));
3301 
3302 void FORTRAN(mafillsmcsse,(double *co,ITG *kon,ITG *ipkon,char *lakon,
3303                ITG *ne,ITG *ipompc,ITG *nodempc,double *coefmpc,
3304                ITG *nmpc,ITG *nelemload,char *sideload,double *xload,
3305                ITG *nload,double *xbody,ITG *ipobody,ITG *nbody,
3306                double *cgr,ITG *nactdof,ITG *neq,ITG *nmethod,ITG *ikmpc,
3307                ITG *ilmpc,double *elcon,ITG *nelcon,double *rhcon,
3308                ITG *nrhcon,double *alcon,ITG *nalcon,double *alzero,
3309                ITG *ielmat,ITG *ielorien,ITG *norien,double *orab,
3310                ITG *ntmat_,double *t0,double *t1,ITG *ithermal,
3311                ITG *iprestr,double *vold,ITG *iperturb,double *sti,
3312                double *stx,ITG *iexpl,double *plicon,ITG *nplicon,
3313                double *plkcon,ITG *nplkcon,double *xstiff,ITG *npmat_,
3314                double *dtime,char *matname,ITG *mi,ITG *ncmat_,ITG *mass,
3315                ITG *stiffness,ITG *buckling,ITG *rhs,
3316                ITG *intscheme,double *physcon,double *ttime,double *time,
3317                ITG *istep,ITG *iinc,ITG *coriolis,ITG *ibody,
3318                double *xloadold,double *reltime,double *veold,
3319                double *springarea,ITG *nstate_,double *xstateini,
3320                double *xstate,double *thicke,
3321                ITG *integerglob,double *doubleglob,char *tieset,
3322                ITG *istartset,ITG *iendset,ITG *ialset,ITG *ntie,
3323                ITG *nasym,double *pslavsurf,double *pmastsurf,ITG *mortar,
3324                double *clearini,ITG *ielprop,double *prop,ITG *ne0,
3325                ITG *nea,ITG *neb,double *distmin,ITG *ndesi,
3326                ITG *nodedesi,double *df,ITG *jqs,
3327                ITG *irows,double *dfminds,ITG *icoordinate,
3328                double *dxstiff,double *xdesi,ITG *istartelem,ITG *ialelem,
3329                double *v,double *sigma,char *labmpc,ITG *ics,double *cs,
3330                ITG *mcs,ITG *nk,ITG *nzss,char *set,ITG *nset));
3331 
3332 void *mafillsmdudsmt(ITG *i);
3333 
3334 void FORTRAN(mafillsmse,(double *co,ITG *kon,ITG *ipkon,char *lakon,
3335                ITG *ne,ITG *ipompc,ITG *nodempc,double *coefmpc,
3336                ITG *nmpc,ITG *nelemload,char *sideload,double *xload,
3337                ITG *nload,double *xbody,ITG *ipobody,ITG *nbody,
3338                double *cgr,ITG *nactdof,ITG *neq,ITG *nmethod,ITG *ikmpc,
3339                ITG *ilmpc,double *elcon,ITG *nelcon,double *rhcon,
3340                ITG *nrhcon,double *alcon,ITG *nalcon,double *alzero,
3341                ITG *ielmat,ITG *ielorien,ITG *norien,double *orab,
3342                ITG *ntmat_,double *t0,double *t1,ITG *ithermal,
3343                ITG *iprestr,double *vold,ITG *iperturb,double *sti,
3344                double *stx,ITG *iexpl,double *plicon,ITG *nplicon,
3345                double *plkcon,ITG *nplkcon,double *xstiff,ITG *npmat_,
3346                double *dtime,char *matname,ITG *mi,ITG *ncmat_,ITG *mass,
3347                ITG *stiffness,ITG *buckling,ITG *rhs,
3348                ITG *intscheme,double *physcon,double *ttime,double *time,
3349                ITG *istep,ITG *iinc,ITG *coriolis,ITG *ibody,
3350                double *xloadold,double *reltime,double *veold,
3351                double *springarea,ITG *nstate_,double *xstateini,
3352                double *xstate,double *thicke,
3353                ITG *integerglob,double *doubleglob,char *tieset,
3354                ITG *istartset,ITG *iendset,ITG *ialset,ITG *ntie,
3355                ITG *nasym,double *pslavsurf,double *pmastsurf,ITG *mortar,
3356                double *clearini,ITG *ielprop,double *prop,ITG *ne0,
3357                ITG *nea,ITG *neb,double *distmin,ITG *ndesi,
3358                ITG *nodedesi,double *df,ITG *jqs,
3359                ITG *irows,double *dfl,ITG *icoordinate,
3360                double *dxstiff,double *xdesi,ITG *istartelem,ITG *ialelem,
3361                double *v,double *sigma,ITG *ieigenfrequency,char *set,
3362 	       ITG *nset,double *sigmak));
3363 
3364 void *mafillsmmt(ITG *i);
3365 
3366 void *mafillsmse2mt(ITG *i);
3367 
3368 void *mafillsmsemt(ITG *i);
3369 
3370 void mafillsmmain(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
3371                ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,
3372                ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
3373                ITG *nmpc,ITG *nodeforc,ITG *ndirforc,
3374                double *xforc,ITG *nforc,ITG *nelemload,char *sideload,
3375                double *xload,ITG *nload,double *xbody,ITG *ipobody,
3376                ITG *nbody,double *cgr,
3377                double *ad,double *au,double *bb,ITG *nactdof,
3378                ITG *icol,ITG *jq,ITG *irow,ITG *neq,ITG *nzl,
3379                ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
3380                ITG *ilboun,
3381                double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
3382                double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
3383                ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
3384                double *t0,double *t1,ITG *ithermal,
3385                double *prestr,ITG *iprestr,double *vold,
3386                ITG *iperturb,double *sti,ITG *nzs,double *stx,
3387                double *adb,double *aub,ITG *iexpl,
3388                double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
3389                double *xstiff,
3390                ITG *npmat_,double *dtime,char *matname,ITG *mi,
3391                ITG *ncmat_,ITG *mass,ITG *stiffness,ITG *buckling,ITG *rhs,
3392                ITG *intscheme,double *physcon,double *shcon,ITG *nshcon,
3393                double *cocon,ITG *ncocon,double *ttime,double *time,
3394                ITG *istep,ITG *kinc,ITG *coriolis,ITG *ibody,
3395                double *xloadold,double *reltime,double *veold,
3396                double *springarea,ITG *nstate_,double *xstateini,
3397                double *xstate,double *thicke,
3398                ITG *integerglob,double *doubleglob,char *tieset,
3399                ITG *istartset,ITG *iendset,ITG *ialset,ITG *ntie,
3400                ITG *nasym,double *pslavsurf,double *pmastsurf,ITG *mortar,
3401                double *clearini,ITG *ielprop,double *prop,ITG *ne0,
3402                double *fnext,ITG *kscale,ITG *iponoel,ITG *inoel,
3403                ITG *network,ITG *ntrans,ITG *inotr,double *trab,
3404 	       double *smscale,ITG *mscalmethod,char *set,ITG *nset,
3405 	       ITG *islavelinv,
3406 	       double *autloc,ITG *irowtloc,ITG *jqtloc,ITG *mortartrafoflag);
3407 
3408 void mafillsmmain_duds(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
3409 	       ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,
3410 	       ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
3411 	       ITG *nmpc,ITG *nodeforc,ITG *ndirforc,
3412 	       double *xforc,ITG *nforc,ITG *nelemload,char *sideload,
3413 	       double *xload,ITG *nload,double *xbody,ITG *ipobody,
3414 	       ITG *nbody,double *cgr,ITG *nactdof,
3415 	       ITG *neq,ITG *nmethod,ITG *ikmpc,ITG *ilmpc,
3416                ITG *ikboun,ITG *ilboun,
3417 	       double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
3418 	       double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
3419 	       ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
3420 	       double *t0,double *t1,ITG *ithermal,
3421 	       double *prestr,ITG *iprestr,double *vold,
3422 	       ITG *iperturb,double *sti,double *stx,
3423 	       ITG *iexpl,
3424                double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
3425                double *xstiff,
3426 	       ITG *npmat_,double *dtime,char *matname,ITG *mi,
3427                ITG *ncmat_,ITG *mass,ITG *stiffness,ITG *buckling,ITG *rhsi,
3428                ITG *intscheme,double *physcon,double *shcon,ITG *nshcon,
3429                double *cocon,ITG *ncocon,double *ttime,double *time,
3430                ITG *istep,ITG *iinc,ITG *coriolis,ITG *ibody,
3431 	       double *xloadold,double *reltime,double *veold,
3432                double *springarea,ITG *nstate_,double *xstateini,
3433 	       double *xstate,double *thicke,
3434                ITG *integerglob,double *doubleglob,char *tieset,
3435 	       ITG *istartset,ITG *iendset,ITG *ialset,ITG *ntie,
3436 	       ITG *nasym,double *pslavsurf,double *pmastsurf,ITG *mortar,
3437 	       double *clearini,ITG *ielprop,double *prop,ITG *ne0,
3438                double *fnext,double *distmin,ITG *ndesi,ITG *nodedesi,
3439 	       double *df2,ITG *nzss2,ITG *jqs2,ITG *irows2,
3440 	       ITG *icoordinate,double *dxstiff,double *xdesi,
3441 	       ITG *istartelem,ITG *ialelem,double *v,double *sigma,
3442 	       ITG *cyclicsymmetry,char *labmpc,ITG *ics,double *cs,
3443 	       ITG *mcs,ITG *ieigenfrequency,double *duds,char *set,ITG *nset);
3444 
3445 void mafillsmmain_se(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
3446                ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,
3447                ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
3448                ITG *nmpc,ITG *nodeforc,ITG *ndirforc,
3449                double *xforc,ITG *nforc,ITG *nelemload,char *sideload,
3450                double *xload,ITG *nload,double *xbody,ITG *ipobody,
3451                ITG *nbody,double *cgr,ITG *nactdof,ITG *neq,
3452                ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
3453                ITG *ilboun,
3454                double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
3455                double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
3456                ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
3457                double *t0,double *t1,ITG *ithermal,
3458                double *prestr,ITG *iprestr,double *vold,
3459                ITG *iperturb,double *sti,double *stx,
3460                ITG *iexpl,
3461                double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
3462                double *xstiff,
3463                ITG *npmat_,double *dtime,char *matname,ITG *mi,
3464                ITG *ncmat_,ITG *mass,ITG *stiffness,ITG *buckling,ITG *rhs,
3465                ITG *intscheme,double *physcon,double *shcon,ITG *nshcon,
3466                double *cocon,ITG *ncocon,double *ttime,double *time,
3467                ITG *istep,ITG *kinc,ITG *coriolis,ITG *ibody,
3468                double *xloadold,double *reltime,double *veold,
3469                double *springarea,ITG *nstate_,double *xstateini,
3470                double *xstate,double *thicke,
3471                ITG *integerglob,double *doubleglob,char *tieset,
3472                ITG *istartset,ITG *iendset,ITG *ialset,ITG *ntie,
3473                ITG *nasym,double *pslavsurf,double *pmastsurf,ITG *mortar,
3474                double *clearini,ITG *ielprop,double *prop,ITG *ne0,
3475                double *fnext,double *distmin,ITG *ndesi,ITG *nodedesi,
3476                double *df,ITG *nzss,ITG *jqs,ITG *irows,
3477                ITG *icoordinate,double *dxstiff,double *xdesi,
3478                ITG *istartelem,ITG *ialelem,double *v,double *sigma,
3479                ITG *cyclicsymmetry,char *labmpc,ITG *ics,double *cs,
3480 	       ITG *mcs,ITG *ieigenfrequency,char *set,ITG *nset,
3481 	       double *sigmak);
3482 
3483 void FORTRAN(mafillsmas,(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
3484                ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,
3485                ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
3486                ITG *nmpc,ITG *nodeforc,ITG *ndirforc,
3487                double *xforc,ITG *nforc,ITG *nelemload,char *sideload,
3488                double *xload,ITG *nload,double *xbody,ITG *ipobody,
3489                ITG *nbody,double *cgr,
3490                double *ad,double *au,double *bb,ITG *nactdof,
3491                ITG *icol,ITG *jq,ITG *irow,ITG *neq,ITG *nzl,
3492                ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
3493                ITG *ilboun,
3494                double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
3495                double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
3496                ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
3497                double *t0,double *t1,ITG *ithermal,
3498                double *prestr,ITG *iprestr,double *vold,
3499                ITG *iperturb,double *sti,ITG *nzs,double *stx,
3500                double *adb,double *aub,ITG *iexpl,
3501                double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
3502                double *xstiff,
3503                ITG *npmat_,double *dtime,char *matname,ITG *mi,
3504                ITG *ncmat_,ITG *mass,ITG *stiffness,ITG *buckling,ITG *rhs,
3505                ITG *intscheme,double *physcon,double *shcon,ITG *nshcon,
3506                double *cocon,ITG *ncocon,double *ttime,double *time,
3507                ITG *istep,ITG *kinc,ITG *coriolis,ITG *ibody,
3508                double *xloadold,double *reltime,double *veold,
3509                double *springarea,ITG *nstate_,double *xstateini,
3510                double *xstate,double *thicke,
3511                ITG *integerglob,double *doubleglob,char *tieset,
3512                ITG *istartset,ITG *iendset,ITG *ialset,ITG *ntie,
3513                ITG *nasym,double *pslavsurf,double *pmastsurf,ITG *mortar,
3514                double *clearini,ITG *ielprop,double *prop,ITG *ne0,
3515 	       ITG *kscale,ITG *iponoel,ITG *inoel,ITG *network,
3516 	       ITG *neam,ITG *nebm,ITG *neat,ITG *nebt,char *set,ITG *nset));
3517 
3518 void mafillsmasmain(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
3519 		ITG *nodeboun,ITG *ndirboun,double *xboun,ITG *nboun,
3520 		ITG *ipompc,ITG *nodempc,double *coefmpc,ITG *nmpc,
3521 		ITG *nodeforc,ITG *ndirforc,double *xforc,ITG *nforc,
3522 		ITG *nelemload,char *sideload,double *xload,ITG *nload,
3523 		double *xbody,ITG *ipobody,ITG *nbody,double *cgr,double *ad,
3524 		double *au,double *bb,ITG *nactdof,ITG *icol,ITG *jq,
3525 		ITG *irow,ITG *neq,ITG *nzl,ITG *nmethod,ITG *ikmpc,
3526 		ITG *ilmpc,ITG *ikboun,ITG *ilboun,double *elcon,ITG *nelcon,
3527 		double *rhcon,ITG *nrhcon,double *alcon,ITG *nalcon,
3528 		double *alzero,ITG *ielmat,ITG *ielorien,ITG *norien,
3529 		double *orab,ITG *ntmat_,double *t0,double *t1,ITG *ithermal,
3530 		double *prestr,ITG *iprestr,double *vold,ITG *iperturb,
3531 		double *sti,ITG *nzs,double *stx,double *adb,double *aub,
3532 		ITG *iexpl,double *plicon,ITG *nplicon,double *plkcon,
3533 		ITG *nplkcon,double *xstiff,ITG *npmat_,double *dtime,
3534 		char *matname,ITG *mi,ITG *ncmat_,ITG *mass,ITG *stiffness,
3535 		ITG *buckling,ITG *rhsi,ITG *intscheme,double *physcon,
3536 		double *shcon,ITG *nshcon,double *cocon,ITG *ncocon,
3537 		double *ttime,double *time,ITG *istep,ITG *iinc,
3538 		ITG *coriolis,ITG *ibody,double *xloadold,double *reltime,
3539 		double *veold,double *springarea,ITG *nstate_,
3540 		double *xstateini,double *xstate,double *thicke,
3541 		ITG *integerglob,double *doubleglob,char *tieset,
3542 		ITG *istartset,ITG *iendset,ITG *ialset,ITG *ntie,
3543 		ITG *nasym,double *pslavsurf,double *pmastsurf,ITG *mortar,
3544 		double *clearini,ITG *ielprop,double *prop,ITG *ne0,
3545 		ITG *kscale,ITG *iponoel,ITG *inoel,ITG *network,char *set,
3546 		ITG *nset);
3547 
3548 void *mafillsmasmt(ITG *i);
3549 
3550 void FORTRAN(mafillsmcs,(double *co,ITG *nk,ITG *kon,ITG *ipkon,
3551                char *lakon,
3552                ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,
3553                ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
3554                ITG *nmpc,ITG *nodeforc,ITG *ndirforc,
3555                double *xforc,ITG *nforc,ITG *nelemload,char *sideload,
3556                double *xload,ITG *nload,double *xbody,ITG *ipobody,
3557                ITG *nbody,double *cgr,
3558                double *ad,double *au,double *bb,ITG *nactdof,
3559                ITG *icol,ITG *jq,ITG *irow,ITG *neq,ITG *nzl,
3560                ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
3561                ITG *ilboun,
3562                double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
3563                double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
3564                ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
3565                double *t0,double *t1,ITG *ithermal,
3566                double *prestr,ITG *iprestr,double *vold,
3567                ITG *iperturb,double *sti,ITG *nzs,double *stx,
3568                double *adb,double *aub,ITG *iexpl,double *plicon,
3569                ITG *nplicon,double *plkcon,ITG *nplkcon,double *xstiff,
3570                ITG *npmat_,double *dtime,char *matname,ITG *mi,
3571                ITG *ics,double *cs,ITG *nm,ITG *ncmat_,char *labmpc,
3572                ITG *mass,ITG *stiffness,ITG *buckling,ITG *rhs,
3573                ITG *intscheme,ITG *mcs,ITG *coriolis,ITG *ibody,
3574                double *xloadold,double *reltime,ITG *ielcs,double *veold,
3575                double *springarea,double *thicke,
3576                ITG *integerglob,double *doubleglob,char *tieset,
3577                ITG *istartset,ITG *iendset,ITG *ialset,ITG *ntie,
3578                ITG *nasym,double *pslavsurf,double *pmastsurf,ITG *mortar,
3579                double *clearini,ITG *ielprop,double *prop,ITG *ne0,
3580                ITG *kscale,double *xstateini,double *xstate,ITG *nstate_,
3581 	       char *set,ITG *nset));
3582 
3583 void FORTRAN(mafillsmcsas,(double *co,ITG *nk,ITG *kon,ITG *ipkon,
3584                char *lakon,
3585                ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,
3586                ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
3587                ITG *nmpc,ITG *nodeforc,ITG *ndirforc,
3588                double *xforc,ITG *nforc,ITG *nelemload,char *sideload,
3589                double *xload,ITG *nload,double *xbody,ITG *ipobody,
3590                ITG *nbody,double *cgr,
3591                double *ad,double *au,double *bb,ITG *nactdof,
3592                ITG *icol,ITG *jq,ITG *irow,ITG *neq,ITG *nzl,
3593                ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
3594                ITG *ilboun,
3595                double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
3596                double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
3597                ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
3598                double *t0,double *t1,ITG *ithermal,
3599                double *prestr,ITG *iprestr,double *vold,
3600                ITG *iperturb,double *sti,ITG *nzs,double *stx,
3601                double *adb,double *aub,ITG *iexpl,double *plicon,
3602                ITG *nplicon,double *plkcon,ITG *nplkcon,double *xstiff,
3603                ITG *npmat_,double *dtime,char *matname,ITG *mi,
3604                ITG *ics,double *cs,ITG *nm,ITG *ncmat_,char *labmpc,
3605                ITG *mass,ITG *stiffness,ITG *buckling,ITG *rhs,
3606                ITG *intscheme,ITG *mcs,ITG *coriolis,ITG *ibody,
3607                double *xloadold,double *reltime,ITG *ielcs,double *veold,
3608                double *springarea,double *thicke,
3609                ITG *integerglob,double *doubleglob,char *tieset,
3610                ITG *istartset,ITG *iendset,ITG *ialset,ITG *ntie,
3611                ITG *nasym,ITG *nstate_,double *xstateini,double *xstate,
3612                double *pslavsurf,double *pmastsurf,ITG *mortar,
3613                double *clearini,ITG *ielprop,double *prop,ITG *ne0,
3614                ITG *kscale,char *set,ITG *nset));
3615 
3616 void FORTRAN(mafillsmforc,(ITG *nforc,ITG *ndirforc,ITG *nodeforc,
3617              double *xforc,ITG *nactdof,double *fext,ITG *ipompc,
3618              ITG *nodempc,double *coefmpc,ITG *mi,ITG *rhsi,double *fnext,
3619              ITG *nmethod,ITG *ntrans,ITG *inotr,double *trab,double *co));
3620 
3621 void FORTRAN(mafillsm_company,(double *co,ITG *nk,ITG *kon,ITG *ipkon,
3622                char *lakon,
3623                ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,
3624                ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
3625                ITG *nmpc,ITG *nodeforc,ITG *ndirforc,
3626                double *xforc,ITG *nforc,ITG *nelemload,char *sideload,
3627                double *xload,ITG *nload,double *xbody,ITG *ipobody,
3628                ITG *nbody,double *cgr,
3629                double *ad,double *au,double *bb,ITG *nactdof,
3630                ITG *icol,ITG *jq,ITG *irow,ITG *neq,ITG *nzl,
3631                ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
3632                ITG *ilboun,
3633                double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
3634                double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
3635                ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
3636                double *t0,double *t1,ITG *ithermal,
3637                double *prestr,ITG *iprestr,double *vold,
3638                ITG *iperturb,double *sti,ITG *nzs,double *stx,
3639                double *adb,double *aub,ITG *iexpl,
3640                double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
3641                double *xstiff,
3642                ITG *npmat_,double *dtime,char *matname,ITG *mi,
3643                ITG *ncmat_,ITG *mass,ITG *stiffness,ITG *buckling,ITG *rhs,
3644                ITG *intscheme,double *physcon,double *shcon,ITG *nshcon,
3645                double *cocon,ITG *ncocon,double *ttime,double *time,
3646                ITG *istep,ITG *kinc,ITG *coriolis,ITG *ibody,
3647                double *xloadold,double *reltime,double *veold,
3648                double *springarea,ITG *nstate_,double *xstateini,
3649                double *xstate,double *thicke,
3650                ITG *integerglob,double *doubleglob,char *tieset,
3651                ITG *istartset,ITG *iendset,ITG *ialset,ITG *ntie,
3652                ITG *nasym,double *pslavsurf,double *pmastsurf,ITG *mortar,
3653                double *clearini,ITG *ielprop,double *prop,ITG *ne0,
3654                double *fnext,ITG *kscale,ITG *iponoel,
3655                ITG *inoel,ITG *network,ITG *ntrans,ITG *inotr,double *trab));
3656 
3657 void FORTRAN(mafillt,(ITG *nef,ITG *ipnei,ITG *neifa,
3658                ITG *neiel,double *vfa,double *xxn,double *area,
3659                double *au,double *ad,ITG *jq,ITG *irow,ITG *nzs,
3660                double *b,double *vel,double *umel,double *alet,
3661                double *ale,double *gradtfa,double *xxi,double *body,
3662                double *volume,ITG *ielfa,char *lakonf,
3663                ITG *ifabou,ITG *nbody,ITG *neq,double *dtimef,double *velo,
3664                double *veloo,double *cpfa,double *hcfa,double *cvel,
3665                double *gradvel,double *xload,double *gammat,double *xrlfa,
3666                double *xxj,ITG *nactdohinv,double *a1,double *a2,double *a3,
3667                double *flux,ITG *nefa,ITG *nefb,ITG *iau6,double *xxni,
3668                double *xxnj,ITG *iturbulent,double *of2,double *sc));
3669 
3670 void FORTRAN(mafilltcomp,(ITG *nef,ITG *ipnei,ITG *neifa,
3671                ITG *neiel,double *vfa,double *xxn,double *area,
3672                double *au,double *ad,ITG *jq,ITG *irow,ITG *nzs,
3673                double *b,double *vel,double *umel,double *alet,
3674                double *ale,double *gradtfa,double *xxi,double *body,
3675                double *volume,ITG *ielfa,char *lakonf,
3676                ITG *ifabou,ITG *nbody,ITG *neq,double *dtimef,double *velo,
3677                double *veloo,double *cpfa,double *hcfa,double *cvel,
3678                double *gradvel,double *xload,double *gammat,double *xrlfa,
3679                double *xxj,ITG *nactdohinv,double *a1,double *a2,double *a3,
3680                double *flux,ITG *nefa,ITG *nefb,ITG *iau6,double *xxni,
3681 	       double *xxnj,ITG *iturbulent,double *of2,double *sc));
3682 
3683 void mafilltcompmain(ITG *nef,ITG *ipnei,ITG *neifa,
3684                ITG *neiel,double *vfa,double *xxn,double *area,
3685                double *au,double *ad,ITG *jq,ITG *irow,ITG *nzs,
3686                double *b,double *vel,double *umel,double *alet,
3687                double *ale,double *gradtfa,double *xxi,double *body,
3688                double *volume,ITG *ielfa,char *lakonf,
3689                ITG *ifabou,ITG *nbody,ITG *neq,double *dtimef,double *velo,
3690                double *veloo,double *cpfa,double *hcfa,double *cvel,
3691                double *gradvel,double *xload,double *gammat,double *xrlfa,
3692                double *xxj,ITG *nactdohinv,double *a1,double *a2,double *a3,
3693                double *flux,ITG *iau6,double *xxni,double *xxnj,
3694 	       ITG *iturbulent,double *of2,double *sc);
3695 
3696 void *mafilltcompmt(ITG *i);
3697 
3698 void FORTRAN(mafilltlhs,(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
3699 			 ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,
3700 			 ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
3701 			 ITG *nmpc,ITG *nactdoh,ITG *icolt,ITG *jqt,ITG *irowt,
3702 			 ITG *neqt,ITG *nzlt,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
3703 			 ITG *ilboun,ITG *nzst,double *adbt,double *aubt,
3704 			 ITG *ipvar,double *var,double *dhel));
3705 
3706 void mafilltmain(ITG *nef,ITG *ipnei,ITG *neifa,
3707                ITG *neiel,double *vfa,double *xxn,double *area,
3708                double *au,double *ad,ITG *jq,ITG *irow,ITG *nzs,
3709                double *b,double *vel,double *umel,double *alet,
3710                double *ale,double *gradtfa,double *xxi,double *body,
3711                double *volume,ITG *ielfa,char *lakonf,
3712                ITG *ifabou,ITG *nbody,ITG *neq,double *dtimef,double *velo,
3713                double *veloo,double *cpfa,double *hcfa,double *cvel,
3714                double *gradvel,double *xload,double *gammat,double *xrlfa,
3715                double *xxj,ITG *nactdohinv,double *a1,double *a2,double *a3,
3716                double *flux,ITG *iau6,double *xxni,double *xxnj,
3717                ITG *iturbulent,double *of2,double *sc);
3718 
3719 void *mafilltmt(ITG *i);
3720 
3721 void FORTRAN(mafilltrhs,(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
3722              ITG *ne,ITG *nodeboun,ITG *ndirboun,double *xboun,ITG *nboun,
3723              ITG *ipompc,ITG *nodempc,double *coefmpc,ITG *nmpc,
3724              ITG *nodeforc,ITG *ndirforc,double *xforc,ITG *nforc,
3725              ITG *nelemload,char *sideload,double *xload,ITG *nload,
3726              double *xbody,ITG *ipobody,ITG *nbody,double *b,ITG *nactdoh,
3727              ITG *neqt,ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
3728              ITG *ilboun,double *rhcon,ITG *nrhcon,ITG *ielmat,ITG *ntmat_,
3729              double *t0,ITG *ithermal,double *vold,double *voldaux,ITG *nzst,
3730 	     double *dt,char *matname,ITG *mi,ITG *ncmat_,
3731              double *physcon,double *shcon,ITG *nshcon,double *ttime,
3732              double *timef,ITG *istep,ITG *iinc,ITG *ibody,double *xloadold,
3733              double *reltime,double *cocon,ITG *ncocon,ITG *nelemface,
3734 	     char *sideface,ITG *nface,ITG *compressible,
3735 	     double *yy,ITG *turbulent,ITG *nea,ITG *neb,
3736 	     double *dtimef,ITG *ipvar,double *var,ITG *ipvarf,double *varf,
3737 	     ITG *ipface));
3738 
3739 void *mafilltrhsmt(ITG *i);
3740 
3741 void FORTRAN(mafillv,(ITG *nef,ITG *ipnei,ITG *neifa,ITG *neiel,
3742              double *vfa,double *xxn,double *area,double *au,double *ad,
3743              ITG *jq,ITG *irow,ITG *nzs,double *b,double *vel,double *cosa,
3744              double *umfa,double *alet,double *ale,double *gradvfa,
3745              double *xxi,double *body,double *volume,
3746              ITG *ielfa,char *lakonf,ITG *ifabou,ITG *nbody,
3747              double *dtimef,double *velo,double *veloo,
3748              double *sel,double *xrlfa,double *gamma,double *xxj,
3749              ITG *nactdohinv,double *a1,double *a2,double *a3,double *flux,
3750              ITG *nefa,ITG *nefb,ITG *icyclic,double *c,ITG *ifatie,
3751              ITG *iau6,double *xxna,double *xxnj,ITG *iturbulent,
3752              double *gradvel,double *of2,double *yy,double *umel,
3753 	     ITG *ncfd,ITG *inlet,double *sc));
3754 
3755 void FORTRAN(mafillv1rhs,(double *co,ITG *nk,ITG *kon,ITG *ipkon,
3756          char *lakon,ITG *ne,
3757 	 ITG *ipompc,ITG *nodempc,double *coefmpc,
3758          ITG *nmpc,
3759 	 ITG *nelemload,char *sideload,double *xload,
3760          ITG *nload,double *xbody,ITG *ipobody,ITG *nbody,
3761          double *b,ITG *nactdoh,
3762          ITG *nmethod,ITG *ikmpc,ITG *ilmpc,
3763          double *rhcon,ITG *nrhcon,ITG *ielmat,
3764          ITG *ntmat_,ITG *ithermal,double *vold,
3765 	 double *vcon,
3766          ITG *mi,double *physcon,double *shcon,ITG *nshcon,
3767          double *ttime,double *timef,ITG *istep,ITG *ibody,
3768          double *xloadold,ITG *turbulent,
3769 	 ITG *nelemface,char *sideface,ITG *nface,ITG *compressible,
3770 	 ITG *nea,ITG *neb,double *dtimef,ITG *ipvar,double *var,
3771 	 ITG *ipvarf,double *varf,ITG *ipface,ITG *ifreesurface,
3772 	 double *depth,double *dgravity,double *cocon,ITG *ncocon,ITG *inc,
3773 	 double *theta1,double *reltimef,double *v));
3774 
3775 void *mafillv1rhsmt(ITG *i);
3776 
3777 void FORTRAN(mafillv2rhs,(ITG *kon,ITG *ipkon,char *lakon,double *b2,double *v,
3778 			  ITG *nea,ITG *neb,ITG *mi,double *dtimef,ITG *ipvar,
3779 			  double *var,ITG *ne));
3780 
3781 void *mafillv2rhsmt(ITG *i);
3782 
3783 void FORTRAN(mafillvcomp,(ITG *nef,ITG *ipnei,ITG *neifa,ITG *neiel,
3784              double *vfa,double *xxn,double *area,double *au,double *ad,
3785              ITG *jq,ITG *irow,ITG *nzs,double *b,double *vel,double *cosa,
3786              double *umfa,double *alet,double *ale,double *gradvfa,
3787              double *xxi,double *body,double *volume,
3788              ITG *ielfa,char *lakonf,ITG *ifabou,ITG *nbody,
3789              double *dtimef,double *velo,double *veloo,
3790              double *sel,double *xrlfa,double *gamma,double *xxj,
3791              ITG *nactdohinv,double *a1,double *a2,double *a3,double *flux,
3792              ITG *nefa,ITG *nefb,ITG *icyclic,double *c,ITG *ifatie,
3793              ITG *iau6,double *xxni,double *xxnj,ITG *iturbulent,
3794              double *gradvel,double *of2,double *yy,double *umel,
3795 	     ITG *ncfd,ITG *inlet,double *sc));
3796 
3797 void mafillvcompmain(ITG *nef,ITG *ipnei,ITG *neifa,ITG *neiel,
3798              double *vfa,double *xxn,double *area,double *au,double *ad,
3799              ITG *jq,ITG *irow,ITG *nzs,double *b,double *vel,double *cosa,
3800              double *umfa,double *alet,double *ale,double *gradvfa,
3801              double *xxi,double *body,double *volume,
3802              ITG *ielfa,char *lakonf,ITG *ifabou,ITG *nbody,
3803              double *dtimef,double *velo,double *veloo,
3804              double *sel,double *xrlfa,double *gamma,double *xxj,
3805              ITG *nactdohinv,double *a1,double *a2,double *a3,
3806              double *flux,ITG *icyclic,double *c,ITG *ifatie,ITG *iau6,
3807              double *xxna,double *xxnj,ITG *iturbulent,double *gradvel,
3808 	     double *of2,double *yy,double *umel,ITG *ncfd,ITG *inlet,
3809 	     double *sc);
3810 
3811 void *mafillvcompmt(ITG *i);
3812 
3813 void FORTRAN(mafillvlhs,(ITG *nk,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
3814 			 ITG *icolv,ITG *jqv,ITG *irowv,ITG *nzsv,double *adbv,
3815 			 double *aubv,ITG *ipvar,double *var));
3816 
3817 void mafillvmain(ITG *nef,ITG *ipnei,ITG *neifa,ITG *neiel,
3818              double *vfa,double *xxn,double *area,double *au,double *ad,
3819              ITG *jq,ITG *irow,ITG *nzs,double *b,double *vel,double *cosa,
3820              double *umfa,double *alet,double *ale,double *gradvfa,
3821              double *xxi,double *body,double *volume,
3822              ITG *ielfa,char *lakonf,ITG *ifabou,ITG *nbody,
3823              double *dtimef,double *velo,double *veloo,
3824              double *sel,double *xrlfa,double *gamma,double *xxj,
3825              ITG *nactdohinv,double *a1,double *a2,double *a3,
3826              double *flux,ITG *icyclic,double *c,ITG *ifatie,
3827              ITG *iau6,double *xxni,double *xxnj,ITG *iturbulent,
3828              double *gradvel,double *of2,double *yy,double *umel,
3829              ITG *ncfd,ITG *inlet,double *sc);
3830 
3831 void *mafillvmt(ITG *i);
3832 
3833 void FORTRAN(map3dto1d2d,(double *extnor,ITG *ipkon,ITG *inum,ITG *kon,
3834                           char *lakon,ITG *nfield,ITG *nk,ITG *ne,
3835                           char *cflag,double *co,double *vold,ITG *iforce,
3836                           ITG *mi,ITG *ielprop,double *prop));
3837 
3838 void mastruct(ITG *nk,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
3839               ITG *nodeboun,ITG *ndirboun,ITG *nboun,ITG *ipompc,
3840               ITG *nodempc,ITG *nmpc,ITG *nactdof,ITG *icol,
3841               ITG *jq,ITG **mast1p,ITG **irowp,ITG *isolver,ITG *neq,
3842               ITG *ikmpc,ITG *ilmpc,ITG *ipointer,ITG *nzs,ITG *nmethod,
3843               ITG *ithermal,ITG *ikboun,ITG *ilboun,ITG *iperturb,
3844               ITG *mi,ITG *mortar,char *typeboun,char *labmpc,
3845               ITG *iit,ITG *icascade,ITG *network,ITG *iexpl);
3846 
3847 void mastructcmatrix(ITG *icolc,ITG *jqc,ITG **mast1p,ITG **irowcp,
3848 		     ITG *ipointer,ITG *nzsc,ITG *ndesibou,ITG *nodedesibou,
3849 		     ITG *nodedesiinvbou,ITG *jqs,ITG *irows,ITG *icols,
3850 		     ITG *ndesi,ITG *nodedesi);
3851 
3852 void mastructcs(ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
3853                ITG *ne,ITG *nodeboun,
3854                ITG *ndirboun,ITG *nboun,ITG *ipompc,ITG *nodempc,
3855                ITG *nmpc,ITG *nactdof,ITG *icol,ITG *jq,ITG **mast1p,
3856                ITG **irowp,ITG *isolver,ITG *neq,
3857                ITG *ikmpc,ITG *ilmpc,ITG *ipointer,
3858                ITG *nzs,ITG *nmethod,ITG *ics,double *cs,
3859                char *labmpc,ITG *mcs,ITG *mi,ITG *mortar);
3860 
3861 void mastructdmatrix(ITG *icold,ITG *jqd,ITG **mast1p,ITG **irowdp,
3862 		     ITG *ipointer,ITG *nzss,ITG *ndesibou,ITG *nodedesibou,
3863 		     ITG *nodedesiinvbou,ITG *jqs,ITG *irows,ITG *icols,
3864 		     ITG *ndesi,ITG *nodedesi);
3865 
3866 void mastructem(ITG *nk,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
3867               ITG *nodeboun,ITG *ndirboun,ITG *nboun,ITG *ipompc,
3868               ITG *nodempc,ITG *nmpc,ITG *nactdof,ITG *icol,
3869               ITG *jq,ITG **mast1p,ITG **irowp,ITG *isolver,ITG *neq,
3870               ITG *ikmpc,ITG *ilmpc,ITG *ipointer,ITG *nzs,
3871               ITG *ithermal,ITG *mi,ITG *ielmat,double *elcon,ITG *ncmat_,
3872               ITG *ntmat_,ITG *inomat,ITG *network);
3873 
3874 void mastructf(ITG *nk,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
3875                ITG *icol,ITG *jq,ITG **mast1p,ITG **irowp,
3876                ITG *isolver,ITG *ipointer,ITG *nzs,
3877                ITG *ipnei,ITG *ineiel,ITG *mi);
3878 
3879 void mastructffem(ITG *nk,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
3880               ITG *nodeboun,ITG *ndirboun,ITG *nboun,ITG *ipompc,
3881               ITG *nodempc,ITG *nmpc,ITG *nactdoh,
3882               ITG *icolv,ITG *icolp,ITG *jqv,ITG *jqp,
3883               ITG **mast1p,ITG **irowvp,ITG **irowpp,
3884               ITG *neqp,ITG *ipointer,ITG *nzsv,ITG *nzsp,
3885               ITG *nzs,ITG *compressible,ITG *inomat);
3886 
3887 void mastructnmatrix(ITG *icols,ITG *jqs,ITG **mast1p,ITG **irowsp,
3888 		     ITG *ipointer,ITG *nzss,ITG *nactive,ITG *nnlconst);
3889 
3890 void mastructrad(ITG *ntr,ITG *nloadtr,char *sideload,ITG *ipointerrad,
3891               ITG **mast1radp,ITG **irowradp,ITG *nzsrad,
3892               ITG *jqrad,ITG *icolrad);
3893 
3894 void mastructrand(ITG *icols,ITG *jqs,ITG **mast1p,ITG **irowsp,
3895                   ITG *ipointer,ITG *nzss,
3896                   ITG *ndesi,double *physcon,double *xo,double *yo,
3897                   double *zo,double *x,double *y,double *z,ITG *nx,
3898                   ITG *ny,ITG *nz);
3899 
3900 void mastructse(ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
3901               ITG *ipompc,ITG *nodempc,ITG *nmpc,
3902               ITG *nactdof,ITG *jqs,ITG **mast1p,ITG **irowsp,
3903               ITG *ipointer,ITG *nzss,ITG *mi,ITG *mortar,
3904               ITG *nodedesi,ITG *ndesi,ITG *icoordinate,ITG *ielorien,
3905               ITG *istartdesi,ITG *ialdesi);
3906 
3907 void FORTRAN(materialdata_cfd,(ITG *nef,double *vel,double *shcon,
3908              ITG *nshcon,ITG *ielmat,ITG *ntmat_,ITG *mi,double *cvel,
3909              double *vfa,double *cocon,ITG *ncocon,double *physcon,
3910              double *cvfa,ITG *ithermal,ITG *nface,double *umel,
3911              double *umfa,ITG *ielfa,double *hcfa,double *rhcon,
3912              ITG *nrhcon));
3913 
3914 void FORTRAN(materialdata_cfd1,(ITG *nef,double *vel,double *shcon,
3915              ITG *nshcon,ITG *ielmat,ITG *ntmat_,ITG *mi,double *cvel,
3916              double *physcon,ITG *ithermal,double *umel,double *rhcon,
3917              ITG *nrhcon,ITG *nefa,ITG *nefb));
3918 
3919 void *materialdata_cfd1mt(ITG *i);
3920 
3921 void FORTRAN(materialdata_cfd2,(double *shcon,
3922              ITG *nshcon,ITG *ielmat,ITG *ntmat_,ITG *mi,
3923              double *vfa,double *cocon,ITG *ncocon,double *physcon,
3924              double *cvfa,ITG *ithermal,
3925              double *umfa,ITG *ielfa,double *hcfa,double *rhcon,
3926              ITG *nrhcon,ITG *nfacea,ITG *nfaceb));
3927 
3928 void *materialdata_cfd2mt(ITG *i);
3929 
3930 void FORTRAN(materialdata_cfd_comp,(ITG *nef,double *vel,double *shcon,
3931              ITG *nshcon,ITG *ielmat,ITG *ntmat_,ITG *mi,double *cvel,
3932              double *vfa,double *cocon,ITG *ncocon,double *physcon,
3933              double *cvfa,ITG *ithermal,ITG *nface,double *umel,
3934              double *umfa,ITG *ielfa,double *hcfa));
3935 
3936 void FORTRAN(materialdata_cfd_comp1,(ITG *nef,double *vel,double *shcon,
3937              ITG *nshcon,ITG *ielmat,ITG *ntmat_,ITG *mi,double *cvel,
3938              double *physcon,ITG *ithermal,double *umel,
3939              ITG *nefa,ITG *nefb));
3940 
3941 void *materialdata_cfd_comp1mt(ITG *i);
3942 
3943 void FORTRAN(materialdata_cfd_comp2,(double *shcon,
3944              ITG *nshcon,ITG *ielmat,ITG *ntmat_,ITG *mi,
3945              double *vfa,double *cocon,ITG *ncocon,double *physcon,
3946              double *cvfa,ITG *ithermal,double *umfa,ITG *ielfa,
3947              double *hcfa,ITG *nfacea,ITG *nfaceb));
3948 
3949 void *materialdata_cfd_comp2mt(ITG *i);
3950 
3951 void materialdata_cfd_compmain(ITG *nef,double *vel,double *shcon,
3952              ITG *nshcon,ITG *ielmatf,ITG *ntmat_,ITG *mi,double *cvel,
3953              double *vfa,double *cocon,ITG *ncocon,double *physcon,
3954              double *cvfa,ITG *ithermal,ITG *nface,double *umel,
3955              double *umfa,ITG *ielfa,double *hcfa,ITG *num_cpus);
3956 
3957 void materialdata_cfdmain(ITG *nef,double *vel,double *shcon,
3958              ITG *nshcon,ITG *ielmatf,ITG *ntmat_,ITG *mi,double *cvel,
3959              double *vfa,double *cocon,ITG *ncocon,double *physcon,
3960              double *cvfa,ITG *ithermal,ITG *nface,double *umel,
3961              double *umfa,ITG *ielfa,double *hcfa,double *rhcon,
3962              ITG *nrhcon,ITG *num_cpus);
3963 
3964 void matrixstorage(double *ad,double **aup,double *adb,double *aub,
3965                 double *sigma,ITG *icol,ITG **irowp,
3966                 ITG *neq,ITG *nzs,ITG *ntrans,ITG *inotr,
3967                 double *trab,double *co,ITG *nk,ITG *nactdof,
3968                 char *jobnamec,ITG *mi,ITG *ipkon,char *lakon,
3969                 ITG *kon,ITG *ne,ITG *mei,ITG *nboun,ITG *nmpc,
3970                 double *cs,ITG *mcs,ITG *ithermal,ITG *nmethod);
3971 
3972 void FORTRAN(meannode,(ITG *nk,ITG *inum,double *v));
3973 
3974 void FORTRAN(merge_ikactmech1,(ITG *ikactmech1,ITG *nactmech1,ITG *neq,
3975 			       ITG *ikactmech,ITG *nactmech,ITG *num_cpu));
3976 
3977 void FORTRAN(meshquality,(ITG *netet_,ITG *kontet,double *cotet,
3978 			  double *quality,ITG *ielem));
3979 
3980 void FORTRAN(meshqualitycavity,(ITG *no1,ITG *no2,ITG *no3,ITG *no4,
3981 				double *cotet,double *quality,double *volume));
3982 
3983 void FORTRAN(midexternaledges,(ITG *iexternedg,ITG *nexternedg,ITG *iedgext,
3984                               ITG *ifreeed,ITG *ieled,ITG *ipoeled,
3985                               ITG *iedg,ITG *iedtet,ITG *kontetor));
3986 
3987 void FORTRAN(midexternalfaces,(ITG *iexternfa,ITG *nexternfa,ITG *ifacext,
3988                                ITG *ifreefa,ITG *itetfa,
3989                                ITG *ifac,ITG *kontet,ITG *kontetor,
3990                                ITG *ialsetexternel,ITG *nexternel,
3991                                ITG *iedgextfa,ITG *ifacexted,
3992                                ITG *ipoed,ITG *iedg,ITG *iexternedg));
3993 
3994 void FORTRAN(modifympc,(ITG *inodestet,ITG *nnodestet,double *co,
3995 			double *doubleglob,ITG *integerglob,ITG *ipompc,
3996 			ITG *nodempc,double *coefmpc,ITG *nmpc,ITG *nmpc_,
3997 			char *labmpc,ITG *mpcfree,ITG *ikmpc,ITG *ilmpc,
3998 			ITG *jq,ITG *irow,ITG *icol,
3999 			ITG *iloc,ITG *kloc,ITG *jloc,ITG *itemp,
4000 			double *au,ITG *ixcol,ITG *ikboun,ITG *nboun,
4001 			ITG *nodeboun,ITG *mpcrfna,ITG *mpcrfnb,
4002 			ITG *nodempcref,double *coefmpcref,ITG *memmpcref_,
4003 			ITG *mpcfreeref,ITG *maxlenmpcref,ITG *memmpc_,
4004 			ITG *maxlenmpc,ITG *istep));
4005 
4006 void FORTRAN(mpcrem,(ITG *i,ITG *mpcfree,ITG *nodempc,ITG *nmpc,ITG *ikmpc,
4007                      ITG *ilmpc,char *labmpc,double *coefmpc,ITG *ipompc));
4008 
4009 void mtseed(ITG *iseed);
4010 
4011 void FORTRAN(mult,(double *matrix,double *trans,ITG *n));
4012 
4013 void FORTRAN(near3d_se,(double *xo,double *yo,double *zo,double *x,
4014 			double *y,double *z,ITG *nx,ITG *ny,ITG *nz,
4015 			double *xp,double *yp,double *zp,ITG *n,
4016 			ITG *ir,double *r,ITG *nr,double *radius));
4017 
4018 void FORTRAN(negativepressure,(ITG *ne0,ITG *ne,ITG *mi,double *stx,
4019                                double *pressureratio));
4020 
4021 void FORTRAN(networkelementpernode,(ITG *iponoel,ITG *inoel,char *lakon,
4022              ITG *ipkon,ITG *kon,ITG *inoelsize,ITG *nflow,ITG *ieg,
4023              ITG *ne,ITG *network));
4024 
4025 void FORTRAN(networkinum,(ITG *ipkon,ITG *inum,ITG *kon,char *lakon,
4026        ITG *ne,ITG *itg,ITG *ntg));
4027 
4028 void FORTRAN(newnodes,(ITG *nktet_,ITG *ipoed,ITG *n,
4029                        ITG *iedg,double *h,double *d,double *r,
4030                        double *conewnodes,double *cotet,ITG *ibasenewnodes,
4031                        ITG *ipoeled,ITG *ieled,double *doubleglob,
4032                        ITG *integerglob,ITG *nnewnodes,ITG *iedgnewnodes,
4033                        double *hnewnodes,ITG *n1newnodes,ITG *n2newnodes));
4034 
4035 void FORTRAN(newtincf,(ITG *ithermal,double *tincfguess,
4036                        ITG *compressible,double *vel,double *hcel,
4037                        double *umel,double *cvel,double *h,
4038                        double *sc,ITG *iturbulent,ITG *ipkonf,
4039                        ITG *nmethod,ITG *nef,char *lakonf,
4040                        double *xxn,ITG *ipnei));
4041 
4042 void FORTRAN(nident,(ITG *x,ITG *px,ITG *n,ITG *id));
4043 
4044 void FORTRAN(nidentll,(long long *x,long long *px,ITG *n,ITG *id));
4045 
4046 void FORTRAN(nmatrix,(double *ad,double *au,ITG *jqs,ITG *irows,ITG *ndesi,
4047 		      ITG *nodedesi,double *dgdxglob,ITG *nactive,ITG *nobject,
4048 		      ITG *nnlconst,ITG *ipoacti,ITG *nk));
4049 
4050 void FORTRAN(nodesperface,(ITG *ipkonf,ITG *konf,char *lakonf,ITG *nface,
4051 			   ITG *ielfa,ITG *iponofa,ITG *inofa));
4052 
4053 void FORTRAN(nodestiedface,(char *tieset,ITG *ntie,ITG *ipkon,ITG *kon,
4054        char *lakon,char *set,ITG *istartset,ITG *iendset,ITG *ialset,
4055        ITG *nset,ITG *faceslave,ITG *istartfield,ITG *iendfield,
4056        ITG *ifield,ITG *nconf,ITG *ncone,char *kind));
4057 
4058 void nonlingeo(double **co,ITG *nk,ITG **konp,ITG **ipkonp,char **lakonp,
4059 	       ITG *ne,
4060 	       ITG *nodeboun,ITG *ndirboun,double *xboun,ITG *nboun,
4061 	       ITG **ipompcp,ITG **nodempcp,double **coefmpcp,char **labmpcp,
4062 	       ITG *nmpc,
4063 	       ITG *nodeforc,ITG *ndirforc,double *xforc,ITG *nforc,
4064 	       ITG **nelemloadp,char **sideloadp,double *xload,
4065 	       ITG *nload,ITG *nactdof,
4066 	       ITG **icolp,ITG *jq,ITG **irowp,ITG *neq,ITG *nzl,
4067 	       ITG *nmethod,ITG **ikmpcp,ITG **ilmpcp,ITG *ikboun,
4068 	       ITG *ilboun,
4069 	       double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
4070 	       double *alcon,ITG *nalcon,double *alzero,ITG **ielmatp,
4071 	       ITG **ielorienp,ITG *norien,double *orab,ITG *ntmat_,
4072 	       double *t0,double *t1,double *t1old,
4073 	       ITG *ithermal,double *prestr,ITG *iprestr,
4074 	       double **vold,ITG *iperturb,double *sti,ITG *nzs,
4075 	       ITG *kode,char *filab,ITG *idrct,
4076 	       ITG *jmax,ITG *jout,double *timepar,
4077 	       double *eme,double *xbounold,
4078 	       double *xforcold,double *xloadold,
4079 	       double *veold,double *accold,
4080 	       char *amname,double *amta,ITG *namta,ITG *nam,
4081 	       ITG *iamforc,ITG **iamloadp,
4082 	       ITG *iamt1,double *alpha,ITG *iexpl,
4083 	       ITG *iamboun,double *plicon,ITG *nplicon,double *plkcon,
4084 	       ITG *nplkcon,
4085 	       double **xstatep,ITG *npmat_,ITG *istep,double *ttime,
4086 	       char *matname,double *qaold,ITG *mi,
4087 	       ITG *isolver,ITG *ncmat_,ITG *nstate_,ITG *iumat,
4088 	       double *cs,ITG *mcs,ITG *nkon,double **ener,ITG *mpcinfo,
4089 	       char *output,
4090 	       double *shcon,ITG *nshcon,double *cocon,ITG *ncocon,
4091 	       double *physcon,ITG *nflow,double *ctrl,
4092 	       char *set,ITG *nset,ITG *istartset,
4093 	       ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
4094 	       char *prset,ITG *nener,ITG *ikforc,ITG *ilforc,double *trab,
4095 	       ITG *inotr,ITG *ntrans,double **fmpcp,char *cbody,
4096 	       ITG *ibody,double *xbody,ITG *nbody,double *xbodyold,
4097 	       ITG *ielprop,double *prop,ITG *ntie,char *tieset,
4098 	       ITG *itpamp,ITG *iviewfile,char *jobnamec,double *tietol,
4099 	       ITG *nslavs,double *thicke,ITG *ics,
4100 	       ITG *nintpoint,ITG *mortar,ITG *ifacecount,char *typeboun,
4101 	       ITG **islavsurfp,double **pslavsurfp,double **clearinip,
4102 	       ITG *nmat,double *xmodal,ITG *iaxial,ITG *inext,ITG *nprop,
4103 	       ITG *network,char *orname,double *vel,ITG *nef,
4104 	       double *velo,double *veloo,double *energy,ITG *itempuser,
4105 	       ITG *ipobody,ITG *inewton,double *t0g,double *t1g,
4106 	       ITG *ifreebody);
4107 
4108 void FORTRAN(nonlinmpc,(double *co,double *vold,ITG *ipompc,ITG *nodempc,
4109 			double *coefmpc,char *labmpc,ITG *nmpc,ITG *ikboun,
4110 			ITG *ilboun,ITG *nboun,double *xbounact,double *aux,
4111 			ITG *iaux,ITG *maxlenmpc,ITG *ikmpc,ITG *ilmpc,
4112 			ITG *icascade,ITG *kon,ITG *ipkon,char *lakon,
4113 			ITG *ne,double *reltime,ITG *newstep,double *xboun,
4114 			double *fmpc,ITG *newinc,ITG *idiscon,ITG *ncont,
4115 			double *trab,ITG *ntrans,ITG *ithermal,ITG *mi,
4116 			ITG *kchdep));
4117 
4118 void FORTRAN(norm,(double *vel,double *velnorm,ITG *nef));
4119 
4120 void FORTRAN(normmpc,(ITG *nmpc,ITG *ipompc,ITG *nodempc,double *coefmpc,
4121 		      ITG *inomat,double *coefmodmpc,ITG *ikboun,ITG *nboun));
4122 
4123 void FORTRAN(normalsforequ_se,(ITG *nk,double *co,ITG *iponoelfa,
4124                                ITG *inoelfa,ITG *konfa,ITG *ipkonfa,
4125                                char *lakonfa,ITG *ne,ITG *ipnor,
4126                                double *xnor,ITG *nodedesiinv,char *jobnamef,
4127                                ITG *iponexp,ITG *nmpc,char *labmpc,
4128                                ITG *ipompc,ITG *nodempc,ITG *ipretinfo,
4129                                ITG *kon,ITG *ipkon,char *lakon,ITG *iponoel,
4130                                ITG *inoel,ITG *iponor2d,ITG *knor2d,
4131                                ITG *iponod2dto3d,ITG *ipoface,ITG *nodeface));
4132 
4133 void FORTRAN(normalsoninterface,(ITG *istartset,ITG *iendset,
4134              ITG *ialset,ITG *imast,ITG *ipkon,ITG *kon,char *lakon,
4135              ITG *imastnode,ITG *nmastnode,double *xmastnor,double *co));
4136 
4137 void FORTRAN(normalsonsurface_se,(ITG *ipkon,ITG *kon,char*lakon,
4138              double *extnor,double *co,ITG *nk,ITG *ipoface,
4139              ITG *nodface,ITG *nactdof,ITG *mi,ITG *nodedesiinv,
4140              ITG *iregion,ITG *iponoelfa,ITG *ndesi,ITG *nodedesi,
4141              ITG *iponod2dto3d,ITG *ikboun,ITG *nboun,ITG *ne2d));
4142 
4143 void FORTRAN(normalsonsurface_robust,(ITG *ipkon,ITG *kon,char *lakon,
4144 				      double *extnor,double *co,ITG *nk,
4145 				      ITG *ipoface,ITG *nodface,ITG *nactdof,
4146 				      ITG *mi,ITG *nodedesiinv,ITG *iregion,
4147 				      ITG *iponoelfa,ITG *ndesi,ITG *nodedesi,
4148 				      ITG *iponod2dto3d,ITG *ikboun,ITG *nboun,
4149 				      ITG *ne2d));
4150 
4151 void FORTRAN(objective_disp_tot,(double *dgdx,double *df,ITG *ndesi,
4152                                  ITG *iobject,ITG *jqs,ITG *irows,
4153                                  double *dgdu));
4154 
4155 void objectivemain_se(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
4156              ITG *ne,double *v,double *stn,ITG *inum,
4157              double *stx,
4158              double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
4159              double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
4160              ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
4161              double *t0,double *t1,ITG *ithermal,double *prestr,
4162              ITG *iprestr,char *filab,double *eme,double *emn,
4163              double *een,ITG *iperturb,double *f,double *fn,ITG *nactdof,
4164              ITG *iout,double *qa,
4165              double *vold,ITG *nodeboun,ITG *ndirboun,
4166              double *xboun,ITG *nboun,ITG *ipompc,ITG *nodempc,
4167              double *coefmpc,char *labmpc,ITG *nmpc,ITG *nmethod,
4168              double *cam,ITG *neq,double *veold,double *accold,
4169              double *bet,double *gam,double *dtime,double *time,
4170              double *ttime,double *plicon,
4171              ITG *nplicon,double *plkcon,ITG *nplkcon,
4172              double *xstateini,double *xstiff,double *xstate,ITG *npmat_,
4173              double *epn,char *matname,ITG *mi,ITG *ielas,
4174              ITG *icmd,ITG *ncmat_,ITG *nstate_,double *stiini,
4175              double *vini,ITG *ikboun,ITG *ilboun,double *ener,
4176              double *enern,double *emeini,double *xstaten,double *eei,
4177              double *enerini,double *cocon,ITG *ncocon,char *set,
4178              ITG *nset,ITG *istartset,
4179              ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
4180              char *prset,double *qfx,double *qfn,double *trab,
4181              ITG *inotr,ITG *ntrans,double *fmpc,ITG *nelemload,
4182              ITG *nload,ITG *ikmpc,ITG *ilmpc,ITG *istep,ITG *iinc,
4183              double *springarea,double *reltime,ITG *ne0,double *xforc,
4184              ITG *nforc,double *thicke,
4185              double *shcon,ITG *nshcon,char *sideload,double *xload,
4186              double *xloadold,ITG *icfd,ITG *inomat,double *pslavsurf,
4187              double *pmastsurf,ITG *mortar,ITG *islavact,double *cdn,
4188              ITG *islavnode,ITG *nslavnode,ITG *ntie,double *clearini,
4189              ITG *islavsurf,ITG *ielprop,double *prop,double *energyini,
4190              double *energy,double *distmin,
4191              ITG *ndesi,ITG *nodedesi,ITG *nobject,
4192              char *objectset,double *g0,double *dgdx,double *sti,
4193              double *df,ITG *nactdofinv,ITG *jqs,ITG *irows,
4194              ITG *idisplacement,ITG *nzs,char *jobnamec,ITG *isolver,
4195              ITG *icol,ITG *irow,ITG *jq,ITG *kode,double *cs,char *output,
4196              ITG *istartdesi,ITG *ialdesi,double *xdesi,char *orname,
4197              ITG *icoordinate,ITG *iev,double *d,double *z,double *au,
4198              double *ad,double *aub,double *adb,ITG *cyclicsymmetry,
4199              ITG *nzss,ITG *nev,ITG *ishapeenergy,double *fint,
4200              ITG *nlabel,ITG *igreen,ITG *nasym,ITG *iponoel,ITG *inoel,
4201              ITG *nodedesiinv,double *dgdxglob,
4202              ITG *nkon,ITG *iponod2dto3d,ITG *iponk2dto3d,ITG *ics,
4203              ITG *mcs,ITG *mpcend,ITG *noddiam,ITG *ipobody,ITG *ibody,
4204 	     double *xbody,ITG *nbody,ITG *nobjectstart,double *dfm);
4205 
4206 void *objectivemt_shapeener_dx(ITG *i);
4207 
4208 void *objectivemt_mass_dx(ITG *i);
4209 
4210 void FORTRAN(objective_disp,(ITG *nodeset,ITG *istartset,ITG *iendset,
4211              ITG *ialset,ITG *nk,ITG *idesvar,ITG *iobject,ITG *mi,
4212              double *g0,ITG *nobject,double *vold,char *objectset));
4213 
4214 void FORTRAN(objective_disp_dx,(ITG *nodeset,ITG *istartset,ITG *iendset,
4215              ITG *ialset,ITG *nk,ITG *idesvar,ITG *iobject,ITG *mi,
4216              ITG *nactdof,double *dgdx,ITG *ndesi,ITG *nobject,
4217              double *vold,double *b,char *objectset));
4218 
4219 void FORTRAN(objective_freq,(double *dgdx,double *df,double *vold,
4220              ITG *ndesi,ITG *iobject,ITG *mi,ITG *nactdofinv,ITG *jqs,
4221              ITG *irows));
4222 
4223 void FORTRAN(objective_freq_cs,(double *dgdx,double *df,double *vold,
4224              ITG *ndesi,ITG *iobject,ITG *mi,ITG *nactdofinv,ITG *jqs,
4225              ITG *irows,ITG *nk,ITG *nzss));
4226 
4227 void FORTRAN(objective_mass_dx,(double *co1,ITG *kon1,ITG *ipkon1,char *lakon1,
4228              ITG *nelcon1,double *rhcon1,ITG *ielmat1,
4229              ITG *ielorien1,ITG *norien1,ITG *ntmat1_,
4230              char *matname1,ITG *mi1,double *thicke1,ITG *mortar1,ITG *nea,
4231              ITG *neb,ITG *ielprop1,double *prop1,double *distmin1,
4232              ITG *ndesi1,ITG *nodedesi1,ITG *nobject1,
4233              double *g01,double *dgdx1,ITG *iobject1,double *xmass1,
4234              ITG *istartdesi1,ITG *ialdesi1,double *xdesi1,ITG *idesvar));
4235 
4236 void FORTRAN(objective_modalstress,(ITG *ndesi,ITG *neq,double *b,
4237 				    double *daldx,double *bfix,ITG *jqs,
4238 				    ITG *irows,double *df,ITG *iev,ITG *nev,
4239 				    double *z,double *dgduz,double *d,
4240 				    ITG *iobject,double *dgdx,double *dfm));
4241 
4242 void FORTRAN(objective_shapeener_dx,(double *co1,ITG *kon1,ITG *ipkon1,
4243              char *lakon1,ITG *ne1,double *stx1,double *elcon1,
4244              ITG *nelcon1,double *rhcon1,ITG *nrhcon1,double *alcon1,
4245              ITG *nalcon1,double *alzero1,ITG *ielmat1,ITG *ielorien1,
4246              ITG *norien1,double *orab1,ITG *ntmat1_,double *t01,
4247              double *t11,ITG *ithermal1,double *prestr1,ITG *iprestr1,
4248              ITG *iperturb1,ITG *iout1,double *vold1,ITG *nmethod1,
4249              double *veold1,double *dtime1,double *time1,double *ttime1,
4250              double *plicon1,ITG *nplicon1,double *plkcon1,ITG *nplkcon1,
4251              double *xstateini1,double *xstiff1,double *xstate1,
4252              ITG *npmat1_,char *matname1,ITG *mi1,ITG *ielas1,ITG *icmd1,
4253              ITG *ncmat1_,ITG *nstate1_,double *stiini1,double *vini1,
4254              double *ener1,double *enerini1,ITG *istep1,ITG *iinc1,
4255              double *springarea1,double *reltime1,ITG *calcul_qa1,
4256              ITG *iener1,ITG *ikin1,ITG *ne01,double *thicke1,
4257              double *emeini1,double *pslavsurf1,double *pmastsurf1,
4258              ITG *mortar1,double *clearini1,ITG *nea,ITG *neb,
4259              ITG *ielprop1,double *prop1,double *distmin1,ITG *ndesi1,
4260              ITG *nodedesi1,ITG *nobject1,double *g01,
4261              double *dgdx1,ITG *iobject1,double *sti1,double *xener1,
4262              ITG *istartdesi1,ITG *ialdesi1,double *xdesi1,ITG *idesvar));
4263 
4264 void FORTRAN(objective_shapeener_tot,(ITG *ne,ITG *kon,ITG *ipkon,char *lakon,
4265              double *fint,double *vold,ITG *iperturb,ITG *mi,ITG *nactdof,
4266              double *dgdx,double *df,ITG *ndesi,ITG *iobject,ITG *jqs,
4267              ITG *irows,double *vec,ITG *iponk2dto3d));
4268 
4269 void FORTRAN(objective_stress,(ITG *nodeset,ITG *istartset,ITG *iendset,
4270              ITG *ialset,ITG *nk,ITG *idesvar,ITG *iobject,ITG *mi,
4271              double *g0,ITG *nobject,double *stn,char *objectset,
4272              double *expks));
4273 
4274 void FORTRAN(objective_stress_dx_dy,(ITG *nodeset,ITG *istartset,ITG *iendset,
4275              ITG *ialset,ITG *nk,ITG *idesvar1,ITG *idesvar2,ITG *iobject,
4276              double *dgdx,ITG *ndesi,ITG *nobject,double *stn,double *dstn1,
4277              double *dstn2,double *dstn12,char *objectset,double *g0,
4278              double *dgdxdy));
4279 
4280 void FORTRAN(objective_stress_se,(ITG *nk,ITG *iobject,ITG *mi,double *dstn,
4281              char *objectset,ITG *ialnneigh,ITG *naneigh,ITG *nbneigh,
4282              double *stn,double *dksper));
4283 
4284 void FORTRAN(objective_stress_tot,(double *dgdx,double *df,ITG *ndesi,
4285                                    ITG *iobject,ITG *jqs,ITG *irows,
4286                                    double *dgdu));
4287 
4288 void FORTRAN(op,(ITG *n,double *x,double *y,double *ad,double *au,ITG *jq,ITG *irow));
4289 
4290 void FORTRAN(opas,(ITG *n,double *x,double *y,double *ad,double *au,ITG *jq,
4291                    ITG *irow,ITG *nzs));
4292 
4293 void FORTRAN(op_corio,(ITG *n,double *x,double *y,double *ad,double *au,
4294                        ITG *jq,ITG *irow));
4295 
4296 void FORTRAN(openfile,(char *jobname));
4297 
4298 void FORTRAN(openfilefluid,(char *jobname));
4299 
4300 void FORTRAN(openfilefluidfem,(char *jobname));
4301 
4302 void FORTRAN(paracfd,(double *b,ITG *irowcpu,ITG *jqcpu,ITG *num_cpus,
4303 		      ITG *nk,ITG *idofa,ITG *idofb,ITG *nka,ITG *nkb,
4304 		      ITG *idima,ITG *idimb));
4305 
4306 void *paracfdmt(ITG *i);
4307 
4308 void FORTRAN(postprojectgrad,(ITG *ndesi,ITG *nodedesi,double *dgdxglob,
4309                               ITG *nactive,ITG *nobject,ITG *nnlconst,
4310                               ITG *ipoacti,ITG *nk,char *objectset,
4311                               ITG *inameacti));
4312 
4313 void FORTRAN(posttransition,(double *dgdxglob,ITG *nobject,ITG *nk,
4314              ITG *nodedesi,ITG *ndesi,char *objectset));
4315 
4316 void FORTRAN(postview,(ITG *ntr,char *sideload,ITG *nelemload,ITG *kontri,
4317              ITG *ntri,ITG *nloadtr,double *tenv,double *adview,double *auview,
4318              double *area,double *fenv,ITG *jqrad,ITG *irowrad,ITG *nzsrad));
4319 
4320 void FORTRAN(preconditioning,(double *ad,double *au,double *b,ITG *neq,
4321 			      ITG *irow,ITG *jq,double *adaux));
4322 
4323 void FORTRAN(precondrandomfield,(double *auc,ITG *jqc,ITG *irowc,double *rhs,
4324 				 ITG *idesvar));
4325 
4326 void precontact(ITG *ncont,ITG *ntie,char *tieset,ITG *nset,char *set,
4327         ITG *istartset,ITG *iendset,ITG *ialset,ITG *itietri,
4328         char *lakon,ITG *ipkon,ITG *kon,ITG *koncont,ITG *ne,
4329         double *cg,double *straight,double *co,double *vold,
4330         ITG *istep,ITG *iinc,ITG *iit,ITG *itiefac,
4331         ITG *islavsurf,ITG *islavnode,ITG *imastnode,
4332         ITG *nslavnode,ITG *nmastnode,ITG *imastop,ITG *mi,
4333         ITG *ipe,ITG *ime,double *tietol,ITG *iflagact,
4334         ITG *nintpoint,double **pslavsurfp,double *xmastnor,double *cs,
4335         ITG *mcs,ITG *ics,double *clearini,ITG *nslavs);
4336 
4337 void FORTRAN(preconvert2slapcol,(ITG *irow,ITG *ia,
4338                               ITG *jq,ITG *ja,ITG *nzs,ITG *nef));
4339 
4340 void FORTRAN(predgmres,(ITG *n,double *b,double *x,ITG *nelt,ITG *ia,ITG *ja,
4341              double *a,ITG *isym,ITG *itol,double *tol,ITG *itmax,ITG *iter,
4342              double *err,ITG *ierr,ITG *iunit,double *sb,double *sx,
4343              double *rgwk,ITG *lrgw,ITG *igwk,ITG *ligw,double *rwork,
4344              ITG *iwork));
4345 
4346 void FORTRAN(predgmres_struct,(ITG *neq,double *b,double *sol,ITG *nelt,
4347                                ITG *irow,ITG *jq,double *au,ITG *isym,
4348                                ITG *itol,double *tol,ITG *itmax,ITG *iter,double *err,
4349                                ITG *ierr,ITG *iunit,double *sb,double *sx,
4350                                double *rgwk,ITG *lrgw,ITG *igwk,ITG *ligw,
4351                                double *rwork,ITG *iwork));
4352 
4353 void predgmres_struct_mt(double *ad,double **au,double *adb,double *aub,
4354          double *sigma,double *b,ITG *icol,ITG *irow,
4355          ITG *neq,ITG *nzs,ITG *symmetryflag,ITG *inputformat,ITG *jq,
4356          ITG *nzs3,ITG *nrhs);
4357 
4358 void prediction(double *uam,ITG *nmethod,double *bet,double *gam,double *dtime,
4359                ITG *ithermal,ITG *nk,double *veold,double *accold,double *v,
4360                ITG *iinc,ITG *idiscon,double *vold,ITG *nactdof,ITG *mi,
4361                ITG *num_cpus);
4362 
4363 void prediction_em(double *uam,ITG *nmethod,double *bet,double *gam,double *dtime,
4364                ITG *ithermal,ITG *nk,double *veold,double *v,
4365                ITG *iinc,ITG *idiscon,double *vold,ITG *nactdof,ITG *mi);
4366 
4367 void FORTRAN(prefilter,(double *co,ITG *nodedesi,ITG *ndesi,double *xo,
4368                         double *yo,double *zo,double *x,double *y,
4369                         double *z,ITG *nx,ITG *ny,ITG *nz));
4370 
4371 void preiter(double *ad,double **aup,double *b,ITG **icolp,ITG **irowp,
4372              ITG *neq,ITG *nzs,ITG *isolver,ITG *iperturb);
4373 
4374 void preparll(ITG *mt,double *dtime,double *veold,double *scal1,
4375                    double *accold,double *uam,ITG *nactdof,double *v,
4376                    double *vold,double *scal2,ITG *nk,ITG *num_cpus);
4377 
4378 void *preparllmt(ITG *i);
4379 
4380 void FORTRAN(preprojectgrad,(double *vector,ITG *ndesi,ITG *nodedesi,
4381                              double *dgdxglob,
4382                              ITG *nactive,ITG *nobject,ITG *nnlconst,
4383                              ITG *ipoacti,ITG *nk,double *rhs,ITG *iconst,
4384                              char *objectset,double *xtf));
4385 
4386 void FORTRAN(presgradient,(ITG *iponoel,ITG *inoel,double *sa,
4387             ITG *nk,double *shockcoef,double *dtimef,ITG *ipkon,
4388             ITG *kon,char *lakon,double *vold,ITG *mi,
4389             ITG *nmethod,ITG *nactdoh,ITG *neqp));
4390 
4391 void FORTRAN(prethickness,(double *co,double *xo,double *yo,
4392              double *zo,double *x,double *y,double *z,ITG *nx,ITG *ny,
4393              ITG *nz,ITG *ifree,ITG *nodedesiinv,ITG *ndesiboun,
4394              ITG *nodedesiboun,char *set,ITG *nset,char *objectset,
4395              ITG *iobject,ITG *istartset,ITG *iendset,ITG *ialset));
4396 
4397 void FORTRAN(pretransition,(ITG *ipkon,ITG *kon,char *lakon,double *co,
4398              ITG *nk,ITG *ipoface,ITG *nodface,ITG *nodedesiinv,double *xo,
4399              double *yo,double *zo,double *x,double *y,double *z,ITG *nx,
4400              ITG *ny,ITG *nz,ITG *ifree));
4401 
4402 void FORTRAN(printoutebhe,(char *set,ITG *nset,ITG *istartset,ITG *iendset,
4403 			   ITG *ialset,ITG *nprint,char *prlab,char *prset,
4404 			   double *t1,ITG *ipkon,char *lakon,double *stx,
4405 			   double *ener,ITG *mi,ITG *ithermal,double *co,
4406 			   ITG *kon,double *ttime,ITG *ne,double *vold,
4407 			   ITG *ielmat,double *thicke,ITG *mortar,double *time,
4408 			   ITG *ielprop,double *prop,ITG *nelemload,ITG *nload,
4409 			   char *sideload,double *xload,double *rhcon,
4410 			   ITG *nrhcon,ITG *ntmat_,ITG *ipobody,ITG *ibody,
4411 			   double *xbody,ITG *nbody,ITG *nmethod));
4412 
4413 void FORTRAN(printoutfluid,(char *set,ITG *nset,ITG *istartset,ITG *iendset,
4414              ITG *ialset,ITG *nprint,char *prlab,char *prset,
4415              ITG *ipkon,
4416              char *lakon,double *stx,double *eei,double *xstate,
4417              double *ener,ITG *mi,ITG *nstate_,
4418              double *co,ITG *kon,double *qfx,double *ttime,double *trab,
4419              ITG *inotr,ITG *ntrans,double *orab,ITG *ielorien,
4420              ITG *norien,double *vold,
4421              ITG *ielmatf,double *thicke,double *eme,double *vcontu,
4422              double *physcon,ITG *nactdoh,ITG *ielpropf,double *prop,
4423              double *xkappa,double *xmach,ITG *ithermal,char *orname));
4424 
4425 void FORTRAN(printoutfluidfem,(char *set,ITG *nset,ITG *istartset,ITG *iendset,
4426 			       ITG *ialset,ITG *nprint,char *prlab,char *prset,
4427 			       double *v,ITG *ipkon,
4428 			       char *lakon,double *stx,ITG *mi,
4429 			       ITG *ithermal,double *co,ITG *kon,
4430 			       double *qfx,double *ttime,double *trab,
4431 			       ITG *inotr,ITG *ntrans,double *orab,
4432 			       ITG *ielorien,ITG *norien,
4433 			       double *vold,ITG *ielmat,double *thicke,
4434 			       double *physcon,ITG *ielprop,double *prop,
4435 			       char *orname,double *vcon,ITG *nk,ITG *nknew,
4436 			       ITG *nelnew));
4437 
4438 void FORTRAN(printoutface,(double *co,double *rhcon,ITG *nrhcon,ITG *ntmat_,
4439             double *vold,double *shcon,ITG *nshcon,double *cocon,
4440             ITG *ncocon,ITG *compressible,ITG *istartset,ITG *iendset,
4441             ITG *ipkon,char *lakon,ITG *kon,ITG *ialset,char *prset,
4442             double *timef,ITG *nset,char *set,ITG *nprint,char *prlab,
4443             ITG *ielmat,ITG *mi,ITG *ithermal,ITG *nactdoh,ITG *icfd,
4444             double *time,double *stn));
4445 
4446 void FORTRAN(printoutfacefem,(double *co,ITG *ntmat_,
4447 			      double *vold,double *shcon,ITG *nshcon,
4448 			      ITG *compressible,ITG *istartset,ITG *iendset,
4449 			      ITG *ipkon,char *lakon,ITG *kon,ITG *ialset,
4450 			      char *prset,double *timef,ITG *nset,char *set,
4451 			      ITG *nprint,char *prlab,
4452 			      ITG *ielmat,ITG *mi,ITG *nelnew));
4453 
4454 void FORTRAN(projectgrad,(double *vector,ITG *ndesi,ITG *nodedesi,
4455                           double *dgdxglob,
4456                           ITG *nactive,ITG *nobject,ITG *nnlconst,
4457                           ITG *ipoacti,ITG *nk,double *rhs,ITG *iconst,
4458                           char *objectset,double *lambda,double *xtf,
4459                           double *objnorm));
4460 
4461 void projectgradmain(ITG *nobject,char **objectsetp,double **dgdxglobp,
4462                      double *g0,ITG *ndesi,ITG *nodedesi,ITG *nk,ITG *isolver,
4463                      double *co,double *xdesi,double *distmin,ITG *nconstraint);
4464 
4465 void FORTRAN(projectnodes,(ITG *nktet_,ITG *ipoed,ITG *iedgmid,
4466 			   ITG *iexternedg,ITG *iedgext,double *cotet,
4467 			   ITG *nktet,ITG *iedg,ITG *iquad,ITG *iexternfa,
4468 			   ITG *ifacext,ITG *itreated,ITG *ilist,ITG *isharp,
4469 			   ITG *ipofa,ITG *ifac,ITG *iedgextfa,ITG *ifacexted,
4470 			   ITG *jfix,double *co,ITG *idimsh,ITG *ipoeln,
4471 			   ITG *ieln,ITG *kontet,double *c1,ITG *iflag));
4472 
4473 void FORTRAN(projectmidnodes,(ITG *nktet_,ITG *ipoed,ITG *iedgmid,
4474 			      ITG *iexternedg,ITG *iedgext,double *cotet,
4475 			      ITG *nktet,ITG *iedg,ITG *iexternfa,
4476 			      ITG *ifacext,ITG *itreated,ITG *ilist,ITG *isharp,
4477 			      ITG *ipofa,ITG *ifac,ITG *iedgextfa,
4478 			      ITG *ifacexted,
4479 			      ITG *jfix,double *co,ITG *idimsh,ITG *ipoeled,
4480 			      ITG *ieled,ITG *kontet,double *c1,ITG *jflag,
4481 			      ITG *iedtet,ITG *ibadnodes,ITG *nbadnodes,
4482 			      ITG *iwrite));
4483 
4484 void FORTRAN(projectvertexnodes,(ITG *ipoed,ITG *iexternedg,ITG *iedgext,
4485 				 double *cotet,ITG *nktet,ITG *iedg,
4486 				 ITG *iexternfa,ITG *ifacext,ITG *itreated,
4487 				 ITG *ilist,ITG *isharp,ITG *ipofa,ITG *ifac,
4488 				 ITG *iedgextfa,ITG *ifacexted,double *co,
4489 				 ITG *idimsh,ITG *ipoeln,ITG *ieln,ITG *kontet,
4490 				 double *c1,ITG *iflag,ITG *ibadnodes,
4491 				 ITG *nbadnodes,ITG *iwrite));
4492 
4493 void FORTRAN(propertynet,(ITG *ieg,ITG *nflow,double *prop,ITG *ielprop,
4494                           char *lakon,ITG *iin,double *prop_store,
4495                           double *ttime,double *time,ITG *nam,char *amname,
4496                           ITG *namta,double *amta));
4497 
4498 int pthread_create (pthread_t *thread_id,const pthread_attr_t *attributes,
4499                     void *(*thread_function)(void *),void *arguments);
4500 
4501 int pthread_join (pthread_t thread,void **status_ptr);
4502 
4503 void FORTRAN(quadmeshquality,(ITG *netet_,double *cotet,ITG *kontet,ITG *iedtet,
4504 			      ITG *iedgmid,double *qualityjac,ITG *ielem));
4505 
4506 void FORTRAN(quadraticsens,(ITG *ipkon,
4507              char *lakon,ITG *kon,ITG *nobject,double *dgdxglob,
4508              double *xinterpol,ITG *nnodes,ITG *ne,ITG *nk,
4509              ITG *nodedesiinv,char *objectset,ITG* nobjectstart));
4510 
4511 void radcyc(ITG *nk,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
4512             double *cs,ITG *mcs,ITG *nkon,ITG *ialset,ITG *istartset,
4513             ITG *iendset,ITG **kontrip,ITG *ntri,
4514             double **cop,double **voldp,ITG *ntrit,ITG *inocs,ITG *mi);
4515 
4516 void radflowload(ITG *itg,ITG *ieg,ITG *ntg,ITG *ntr,double *adrad,
4517        double *aurad,
4518        double *bcr,ITG *ipivr,double *ac,double *bc,ITG *nload,
4519        char *sideload,ITG *nelemload,double *xloadact,char *lakon,ITG *ipiv,
4520        ITG *ntmat_,double *vold,double *shcon,ITG *nshcon,ITG *ipkon,
4521        ITG *kon,double *co,ITG *kontri,ITG *ntri,
4522        ITG *nloadtr,double *tarea,double *tenv,double *physcon,double *erad,
4523        double **adviewp,double **auviewp,
4524        ITG *nflow,ITG *ikboun,double *xboun,ITG *nboun,ITG *ithermal,
4525        ITG *iinc,ITG *iit,double *cs,ITG *mcs,ITG *inocs,ITG *ntrit,
4526        ITG *nk,double *fenv,ITG *istep,double *dtime,double *ttime,
4527        double *time,ITG *ilboun,ITG *ikforc,ITG *ilforc,double *xforc,
4528        ITG *nforc,double *cam,ITG *ielmat,ITG *nteq,double *prop,
4529        ITG *ielprop,ITG *nactdog,ITG *nacteq,ITG *nodeboun,ITG *ndirboun,
4530        ITG *network,double *rhcon,ITG *nrhcon,
4531        ITG *ipobody,ITG *ibody,double *xbody,ITG *nbody,ITG *iviewfile,
4532        char *jobnamef,double *ctrl,double *xloadold,double *reltime,
4533        ITG *nmethod,char *set,ITG *mi,ITG * istartset,ITG* iendset,
4534        ITG *ialset,ITG *nset,ITG *ineighe,ITG *nmpc,ITG *nodempc,
4535        ITG *ipompc,double *coefmpc,char *labmpc,ITG *iemchange,ITG *nam,
4536        ITG *iamload,ITG *jqrad,ITG *irowrad,ITG *nzsrad,ITG *icolrad,
4537        ITG *ne,ITG *iaxial,double *qa,double *cocon,ITG *ncocon,
4538        ITG *iponoel,ITG *inoel,ITG *nprop,char *amname,ITG *namta,
4539        double *amta);
4540 
4541 void FORTRAN (radmatrix,(ITG *ntr,double *adrad,double *aurad,double *bcr,
4542        char *sideload,ITG *nelemload,double *xloadact,char *lakon,
4543        double *vold,ITG *ipkon,ITG *kon,double *co,ITG *nloadtr,
4544        double *tarea,double *tenv,double *physcon,double *erad,
4545        double *adview,double *auview,ITG *ithermal,ITG *iinc,
4546        ITG *iit,double *fenv,ITG *istep,
4547        double *dtime,double *ttime,double *time,ITG *iviewfile,
4548        double *xloadold,double *reltime,ITG *nmethod,
4549        ITG *mi,ITG *iemchange,ITG *nam,ITG *iamload,ITG *jqrad,
4550        ITG *irowrad,ITG *nzsrad));
4551 
4552 void FORTRAN(radresult,(ITG *ntr,double *xloadact,double *bcr,
4553        ITG *nloadtr,double *tarea,double * tenv,double *physcon,double *erad,
4554        double *auview,double *fenv,ITG *irowrad,ITG *jqrad,
4555        ITG *nzsrad,double *q));
4556 
4557 unsigned ITG randmt();
4558 
4559 void randomfieldmain(ITG *kon,ITG *ipkon,char *lakon,ITG *ne,ITG *nmpc,
4560 		     ITG *nactdof,ITG *mi,ITG *nodedesi,ITG *ndesi,
4561 		     ITG *istartdesi,
4562 		     ITG *ialdesi,double *co,double *physcon,ITG *isolver,
4563 		     ITG *ntrans,
4564 		     ITG *nk,ITG *inotr,double *trab,char *jobnamec,ITG *nboun,
4565 		     double *cs,
4566 		     ITG *mcs,ITG *inum,ITG *nmethod,ITG *kode,char *filab,
4567 		     ITG *nstate_,
4568 		     ITG *istep,char *description,char *set,ITG *nset,
4569 		     ITG *iendset,
4570 		     char *output,ITG *istartset,ITG *ialset,double *extnor,
4571 		     ITG *irandomtype,double *randomval,ITG *irobustdesign,
4572 		     ITG *ndesibou,
4573 		     ITG *nodedesibou,ITG *nodedesiinvbou);
4574 
4575 void FORTRAN(randomval,(double *randval,ITG *nev));
4576 
4577 void FORTRAN(readforce,(double *zc,ITG *neq,ITG *nev,ITG *nactdof,
4578              ITG *ikmpc,ITG *nmpc,ITG *ipompc,ITG *nodempc,ITG *mi,
4579              double *coefmpc,char *jobnamec,double *aa,
4580              ITG *igeneralizedforce));
4581 
4582 void readinput(char *jobnamec,char **inpcp,ITG *nline,ITG *nset,ITG *ipoinp,
4583                ITG **inpp,ITG **ipoinpcp,ITG *ithermal,ITG *nuel_,
4584 	       ITG *inp_size);
4585 
4586 void readnewmesh(char *jobnamec,ITG *nboun,ITG *nodeboun,ITG *iamboun,
4587 		 double *xboun,ITG *nload,char *sideload,ITG *iamload,
4588 		 ITG *nforc,ITG *nodeforc,
4589 		 ITG *iamforc,double *xforc,ITG *ithermal,ITG *nk,
4590 		 double **t1p,ITG **iamt1p,ITG *ne,char **lakonp,ITG **ipkonp,
4591 		 ITG **konp,ITG *istartset,ITG *iendset,ITG *ialset,
4592 		 char *set,ITG *nset,char *filab,double **cop,ITG **ipompcp,
4593 		 ITG **nodempcp,double **coefmpcp,ITG *nmpc,ITG *nmpc_,
4594 		 char **labmpcp,ITG *mpcfree,ITG *memmpc_,ITG **ikmpcp,
4595 		 ITG **ilmpcp,ITG *nk_,ITG *ne_,ITG *nkon_,ITG *istep,
4596 		 ITG *nprop_,ITG **ielpropp,ITG *ne1d,ITG *ne2d,ITG **iponorp,
4597 		 double **thicknp,double **thickep,ITG *mi,double **offsetp,
4598 		 ITG **iponoelp,ITG **rigp,ITG **ne2bounp,ITG **ielorienp,
4599 		 ITG **inotrp,double **t0p,double **t0gp,double **t1gp,
4600 		 double **prestrp,double **voldp,double **veoldp,ITG **ielmatp,
4601 		 ITG *irobustdesign,ITG **irandomtypep,double **randomvalp,
4602 		 ITG *nalset,ITG *nalset_,ITG *nkon,double *xnor,
4603 		 ITG *iaxial,ITG *network,ITG *nlabel,ITG *iuel,ITG *iperturb,
4604 		 ITG *iprestr,ITG *ntie,char *tieset,ITG **iparentelp,
4605 		 ITG *ikboun,ITG *ifreebody,ITG **ipobodyp,ITG *nbody,
4606 		 ITG **iprfnp,ITG **konrfnp,double **ratiorfnp,ITG *nodempcref,
4607 		 double *coefmpcref,ITG *memmpcref_,ITG *mpcfreeref,
4608 		 ITG *maxlenmpcref,ITG *maxlenmpc,ITG *norien);
4609 
4610 void FORTRAN(readsen,(double *g0,double *dgdx,ITG *ndesi,ITG *nobject,
4611                        ITG *nodedesi,char *jobnamef));
4612 
4613 void FORTRAN(readview,(ITG *ntr,double *adview,double *auview,double *fenv,
4614              ITG *nzsrad,ITG *ithermal,char *jobnamef));
4615 
4616 void FORTRAN(rearrange,(double *au,ITG *irow,ITG *icol,ITG *ndim,ITG *neq));
4617 
4618 void FORTRAN(rearrangecfd,(ITG *ne,ITG *ipkon,char *lakon,ITG *ielmat,
4619 			   ITG *ielorien,ITG *norien,ITG *nef,ITG *ipkonf,
4620 			   char *lakonf,ITG *ielmatf,ITG *ielorienf,ITG *mi,
4621 			   ITG *nelold,ITG *nelnew,ITG *nkold,ITG *nknew,
4622 			   ITG *nk,ITG *nkf,ITG *konf,ITG *nkonf,ITG *nmpc,
4623 			   ITG *ipompc,ITG *nodempc,double *coefmpc,
4624 			   ITG *memmpc_,ITG *nmpcf,ITG *ipompcf,ITG *nodempcf,
4625 			   double *coefmpcf,ITG *memmpcf,ITG *nboun,
4626 			   ITG *nodeboun,ITG *ndirboun,double *xboun,
4627 			   ITG *nbounf,ITG *nodebounf,ITG *ndirbounf,
4628 			   double *xbounf,ITG *nload,ITG *nelemload,
4629 			   char *sideload,double *xload,ITG *nloadf,
4630 			   ITG *nelemloadf,char *sideloadf,double *xloadf,
4631 			   ITG *ipobody,ITG *ipobodyf,ITG *kon,ITG *neqf,
4632 			   double *co,double *cof,double *vold,double *voldf,
4633 			   ITG *ikbounf,ITG *ilbounf,ITG *ikmpcf,ITG *ilmpcf,
4634 			   ITG *iambounf,ITG *iamloadf,ITG *iamboun,
4635 			   ITG *iamload,double *xbounold,double *xbounoldf,
4636 			   double *xbounact,double *xbounactf,double *xloadold,
4637 			   double *xloadoldf,double *xloadact,double *xloadactf,
4638 			   ITG *inotr,ITG *inotrf,ITG *nam,ITG *ntrans,
4639 			   ITG *nbody));
4640 
4641 void FORTRAN(rectcyl,(double *co,double *v,double *fn,double *stn,
4642                       double *qfn,double *een,double *cs,ITG *nk,
4643                       ITG *icntrl,double *t,char *filab,ITG *imag,
4644                       ITG *mi,double *emn));
4645 
4646 void FORTRAN(rectcylexp,(double *co,double *v,double *fn,double *stn,
4647                       double *qfn,double *een,double *cs,ITG *nkt,
4648                       ITG *icntrl,double *t,char *filab,ITG *imag,ITG *mi,
4649                       ITG *iznode,ITG *nznode,ITG *nsectors,ITG *nk,
4650                       double *emn));
4651 
4652 void FORTRAN(rectcyltrfm,(ITG *node,double *co,double *cs,ITG *cntrl,
4653              double *fin,double *fout));
4654 
4655 void FORTRAN(rectcylvi,(double *co,double *v,double *fn,double *stn,
4656                       double *qfn,double *een,double *cs,ITG *nk,
4657                       ITG *icntrl,double *t,char *filab,ITG *imag,ITG *mi,
4658                       double *emn));
4659 
4660 void FORTRAN(rectcylvold,(double *co,double *vold,double *cs,
4661                       ITG *icntrl,ITG *mi,
4662                       ITG *iznode,ITG *nznode,ITG *nsectors,ITG *nk));
4663 
4664 void refinemesh(ITG *nk,ITG *ne,double *co,ITG *ipkon,ITG *kon,
4665                 double *v,double *veold,double *stn,double *een,
4666                 double *emn,double *epn,double *enern,double *qfn,
4667                 double *errn,char *filab,ITG *mi,char *lakon,
4668                 char *jobnamec,ITG *istartset,ITG *iendset,ITG *ialset,
4669 		char *set,ITG *nset,char *matname,ITG *ithermal,
4670 		char *output,ITG *nmat);
4671 
4672 void FORTRAN(reinit_mesh,(ITG *kontet,ITG *ifac,ITG *netet_,ITG *newsize,
4673 	     ITG *ifatet,ITG *itetfa));
4674 
4675 void FORTRAN(reinit_refine,(ITG *kontet,ITG *ifac,ITG *ieln,ITG *netet_,
4676                       ITG *newsize,ITG *ifatet,ITG *itetfa,ITG *iedg,
4677                       ITG *ieled));
4678 
4679 void remastruct(ITG *ipompc,double **coefmpcp,ITG **nodempcp,ITG *nmpc,
4680 		ITG *mpcfree,ITG *nodeboun,ITG *ndirboun,ITG *nboun,
4681 		ITG *ikmpc,ITG *ilmpc,ITG *ikboun,ITG *ilboun,
4682 		char *labmpc,ITG *nk,
4683 		ITG *memmpc_,ITG *icascade,ITG *maxlenmpc,
4684 		ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
4685 		ITG *nactdof,ITG *icol,ITG *jq,ITG **irowp,ITG *isolver,
4686 		ITG *neq,ITG *nzs,ITG *nmethod,double **fp,
4687 		double **fextp,double **bp,double **aux2p,double **finip,
4688 		double **fextinip,double **adbp,double **aubp,ITG *ithermal,
4689 		ITG *iperturb,ITG *mass,ITG *mi,ITG *iexpl,ITG *mortar,
4690 		char *typeboun,double **cvp,double **cvinip,ITG *iit,
4691 		ITG *network,ITG *itiefac,ITG *ne0,ITG *nkon0,ITG *nintpoint,
4692 		ITG *islavsurf,double *pmastsurf,char*tieset,ITG *ntie,
4693 		ITG *num_cpus);
4694 
4695 void remastructar(ITG *ipompc,double **coefmpcp,ITG **nodempcp,ITG *nmpc,
4696               ITG *mpcfree,ITG *nodeboun,ITG *ndirboun,ITG *nboun,
4697               ITG *ikmpc,ITG *ilmpc,ITG *ikboun,ITG *ilboun,
4698               char *labmpc,ITG *nk,
4699               ITG *memmpc_,ITG *icascade,ITG *maxlenmpc,
4700               ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
4701               ITG *nactdof,ITG *icol,ITG *jq,ITG **irowp,ITG *isolver,
4702               ITG *neq,ITG *nzs,ITG *nmethod,ITG *ithermal,
4703               ITG *iperturb,ITG *mass,ITG *mi,ITG *ics,double *cs,
4704               ITG *mcs,ITG *mortar,char *typeboun,ITG *iit,ITG *network,
4705               ITG *iexpl);
4706 
4707 void remastructem(ITG *ipompc,double **coefmpcp,ITG **nodempcp,ITG *nmpc,
4708               ITG *mpcfree,ITG *nodeboun,ITG *ndirboun,ITG *nboun,
4709               ITG *ikmpc,ITG *ilmpc,ITG *ikboun,ITG *ilboun,
4710               char *labmpc,ITG *nk,
4711               ITG *memmpc_,ITG *icascade,ITG *maxlenmpc,
4712               ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
4713               ITG *nactdof,ITG *icol,ITG *jq,ITG **irowp,ITG *isolver,
4714               ITG *neq,ITG *nzs,ITG *nmethod,double **fp,
4715               double **fextp,double **bp,double **aux2p,double **finip,
4716               double **fextinip,double **adbp,double **aubp,ITG *ithermal,
4717               ITG *iperturb,ITG *mass,ITG *mi,ITG *ielmat,double *elcon,
4718               ITG *ncmat_,ITG *ntmat_,ITG *inomat,ITG *network);
4719 
4720 void FORTRAN(removeboxtets,(ITG *kontet,ITG *ifatet,ITG *ifreetet,ITG *ifac,
4721 			    ITG *itetfa,ITG *ifreefa,ITG *ipofa,ITG *iexternfa,
4722 			    ITG *netet_,ITG *nktet));
4723 
4724 void FORTRAN(removeconcavetets,(ITG *kontet,ITG *ipnei,ITG *neiel,ITG *ipoed,
4725 				ITG *iedg,ITG *ipoeled,ITG *ieled,ITG *nktet,
4726 				ITG *nef,ITG *iexternedg,ITG *iedtet,
4727 				ITG *iexternfa,ITG *ipofa,ITG *ifac,
4728 				ITG *ifatet,ITG *itetfa,ITG *ichange,
4729 				ITG *iponoelf,ITG *inoelf,ITG *ncfd,
4730 				ITG *ipkonf,char *lakonf,ITG *konf));
4731 
4732 void FORTRAN(removecutgeomtets,(ITG *kontet,ITG *ifatet,ITG *ifreetet,
4733 				ITG *ifac,ITG *itetfa,ITG *ifreefa,ITG *ipofa,
4734 				ITG *iexternfa,ITG *ipnei,ITG *neiel,
4735 				ITG *ipoed,ITG *iedg,ITG *ipoeled,ITG *ieled,
4736 				ITG *nktet,ITG *nef,double *xxn,ITG *iponoel,
4737 				ITG *inoel,ITG *ipkonf,ITG *konf,char *lakonf,
4738 				double *co,double *coel,ITG *neifa,
4739 				double *area,ITG *istack,ITG *ncfd));
4740 
4741 void FORTRAN(removesliver,(ITG *netet_,ITG *kontet,ITG *iexternnode,
4742 			   ITG *iedtet,ITG *iexternedg,double *quality,
4743 			   ITG *itetfa,ITG *ipofa,ITG *ipoeln,ITG *ipoeled,
4744 			   ITG *ipoed,ITG *ifreetet,ITG *ifreeln,ITG *ifreele,
4745 			   ITG *ifreefa,ITG *ifreeed,ITG *ifatet,ITG *ifac,
4746 			   ITG *iexternfa,ITG *ieln,ITG *ieled,ITG *iedg,
4747 			   ITG *isharp));
4748 
4749 void FORTRAN(removetet_mesh2,(ITG *kontet,ITG *ifatet,ITG *ifreetet,ITG *ifac,
4750 			      ITG *itetfa,ITG *ifreefa,ITG *ipofa,ITG *ielement,
4751 			      ITG *iexternfa));
4752 
4753 void FORTRAN(removetet_mesh3,(ITG *kontet,ITG *ifatet,ITG *ifac,
4754 			      ITG *itetfa,ITG *ipofa,ITG *ielement,
4755 			      ITG *iexternfa,ITG *iedtet,ITG *ipoeled,
4756 			      ITG *ieled,ITG *ipoed,ITG *iedg,ITG *iexternedg));
4757 
4758 void FORTRAN(removezerovoltets,(ITG *kontet,ITG *netet_,double *cotet,
4759 				ITG *ifatet,ITG *ifreetet,ITG *ifac,ITG *itetfa,
4760 				ITG *ifreefa,ITG *ipofa,ITG *iexternfa));
4761 
4762 void FORTRAN(renumber,(ITG *nnn,ITG *npn,ITG *adj,ITG *xadj,ITG *iw,
4763                        ITG *mmm,ITG *xnpn,ITG *inum1,ITG *ipnei,ITG *nef,
4764                        ITG *neiel,ITG *neifa,ITG *ifatie));
4765 
4766 void renumbermain(ITG *nef,ITG *ipnei,ITG *neiel,ITG *ipkonf,ITG *ielmatf,
4767                   ITG *ielorienf,ITG *neifa,ITG *neij,ITG *nflnei,
4768                   ITG *nactdoh,ITG *nactdohinv,ITG *nface,ITG *ielfa,
4769                   ITG *mi,ITG *ifatie,ITG *norien,char *lakonf);
4770 
4771 void FORTRAN(reorderlhs,(double *au,double *am,ITG *iamorig,ITG *nz_numa,
4772                  ITG *nz_numb));
4773 
4774 void *reorderlhs1mt(ITG *i);
4775 
4776 void reorderlhsmain(double *au,double *am,ITG *iamorig,ITG *nz_num,
4777     ITG *num_cpus);
4778 
4779 void FORTRAN(reorderrhs,(double *am,double *b,double *vold,ITG *neighblock,
4780                     ITG *nneighblock));
4781 
4782 void res1parll(ITG *mt,ITG *nactdof,double *aux2,double *vold,
4783                     double *vini,double *dtime,double *accold,
4784                     ITG *nk,ITG *num_cpus);
4785 
4786 void *res1parllmt(ITG *i);
4787 
4788 void res2parll(double *b,double *scal1,double *fext,double *f,
4789 	       double *alpha,double *fextini,double *fini,
4790 	       double *adb,double *aux2,ITG *neq0,ITG *num_cpus);
4791 
4792 void *res2parllmt(ITG *i);
4793 
4794 void res3parll(ITG *mt,ITG *nactdof,double *f,double *fn,
4795 	       ITG *nk,ITG *num_cpus);
4796 
4797 void *res3parllmt(ITG *i);
4798 
4799 void res4parll(double *cv,double *alpham,double *adb,double *aux2,
4800 	       double *b,double *scal1,double *alpha,double *cvini,
4801 	       ITG *neq0,ITG *num_cpus);
4802 
4803 void *res4parllmt(ITG *i);
4804 
4805 void FORTRAN(restartshort,(ITG *nset,ITG *nload,ITG *nbody,ITG *nforc,
4806 			   ITG *nboun,ITG *nk,ITG *ne,ITG *nmpc,ITG *nalset,
4807 			   ITG *nmat,ITG *ntmat,ITG *npmat,ITG *norien,
4808 			   ITG *nam,ITG *nprint,ITG *mint,ITG *ntrans,ITG *ncs,
4809 			   ITG *namtot,ITG *ncmat,ITG *memmpc,ITG *ne1d,
4810 			   ITG *ne2d,ITG *nflow,char *set,ITG *meminset,
4811 			   ITG *rmeminset,char *jobnamec,ITG *irestartstep,
4812 			   ITG *icntrl,ITG *ithermal,ITG *nener,ITG *nstate_,
4813 			   ITG *ntie,ITG *nslavs,ITG *nkon,ITG *mcs,ITG *nprop,
4814 			   ITG *mortar,ITG *ifacecount,ITG *nintpoint,
4815 			   ITG *infree,ITG *nef,ITG *mpcend,ITG *nheading_,
4816 			   ITG *network));
4817 
4818 void FORTRAN(restartwrite,(ITG *istep,ITG *nset,ITG*nload,ITG *nforc,
4819   ITG * nboun,ITG *nk,ITG *ne,ITG *nmpc,ITG *nalset,ITG *nmat,ITG *ntmat_,
4820   ITG *npmat_,ITG *norien,ITG *nam,ITG *nprint,ITG *mi,
4821   ITG *ntrans,ITG *ncs_,ITG *namtot,ITG *ncmat_,ITG *mpcend,
4822   ITG *maxlenmpc,ITG *ne1d,
4823   ITG *ne2d,ITG *nflow,ITG *nlabel,ITG *iplas,ITG *nkon,ITG *ithermal,
4824   ITG *nmethod,ITG *iperturb,ITG *nstate_,ITG *nener,char *set,
4825   ITG *istartset,ITG *iendset,ITG *ialset,double *co,ITG *kon,ITG *ipkon,
4826   char *lakon,ITG *nodeboun,ITG *ndirboun,ITG *iamboun,double *xboun,
4827   ITG *ikboun,ITG *ilboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
4828   char *labmpc,ITG *ikmpc,ITG *ilmpc,ITG *nodeforc,ITG *ndirforc,
4829   ITG *iamforc,double *xforc,ITG *ikforc,ITG *ilforc,ITG *nelemload,
4830   ITG *iamload,char *sideload,double *xload,
4831   double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,double *alcon,
4832   ITG *nalcon,double *alzero,double *plicon,ITG *nplicon,double *plkcon,
4833   ITG *nplkcon,char *orname,double *orab,ITG *ielorien,double *trab,
4834   ITG *inotr,char *amname,double *amta,ITG *namta,double *t0,double *t1,
4835   ITG *iamt1,double *veold,ITG *ielmat,char *matname,
4836   char *prlab,char *prset,char *filab,double *vold,
4837   ITG *nodebounold,ITG *ndirbounold,double *xbounold,double *xforcold,
4838   double *xloadold,double *t1old,double *eme,ITG *iponor,
4839   double *xnor,ITG *knor,double *thicke,double *offset,
4840   ITG *iponoel,ITG *inoel,ITG *rig,
4841   double *shcon,ITG *nshcon,double *cocon,ITG *ncocon,
4842   ITG *ics,double *sti,double *ener,double *xstate,
4843   char *jobnamec,ITG *infree,double *prestr,ITG *iprestr,
4844   char *cbody,ITG *ibody,double *xbody,ITG *nbody,double *xbodyold,
4845   double *ttime,double *qaold,double *cs,
4846   ITG *mcs,char *output,double *physcon,double *ctrl,char *typeboun,
4847   double *fmpc,char *tieset,ITG *ntie,double *tietol,ITG *nslavs,
4848   double *t0g,double *t1g,ITG *nprop,ITG *ielprop,double *prop,ITG *mortar,
4849   ITG *nintpoint,ITG *ifacecount,ITG *islavsurf,double *pslavsurf,
4850   double *clearini,ITG *irstrt,double *vel,ITG *nef,double *velo,
4851   double *veloo,ITG *ne2boun,ITG *memmpc_,char *heading,ITG *nheading_,
4852   ITG *network));
4853 
4854 void FORTRAN(resultnet,(ITG *itg,ITG *ieg,ITG *ntg,
4855                         double *bc,ITG *nload,char *sideload,
4856                         ITG *nelemload,double *xloadact,char *lakon,
4857                         ITG *ntmat_,double *v,double *shcon,ITG *nshcon,
4858                         ITG *ipkon,ITG *kon,double *co,ITG *nflow,
4859                         ITG *iinc,ITG *istep,
4860                         double *dtime,double *ttime,double *time,
4861                         ITG *ikforc,ITG *ilforc,
4862                         double *xforcact,ITG *nforc,
4863                         ITG *ielmat,ITG *nteq,double *prop,
4864                         ITG *ielprop,ITG *nactdog,ITG *nacteq,ITG *iin,
4865                         double *physcon,double *camt,double *camf,
4866                         double *camp,double *rhcon,ITG *nrhcon,
4867                         ITG *ipobody,ITG *ibody,double *xbody,ITG *nbody,
4868                         double *dtheta,double *vold,double *xloadold,
4869                         double *reltime,ITG *nmethod,char *set,ITG *mi,
4870                         ITG *ineighe,double *cama,double *vamt,
4871                         double *vamf,double *vamp,double *vama,
4872                         ITG *nmpc,ITG *nodempc,ITG *ipompc,double *coefmpc,
4873                         char *labmpc,ITG *iaxial,double *qat,double *qaf,
4874                         double *ramt,double *ramf,double *ramp,
4875                         double *cocon,ITG *ncocon,ITG *iponoel,ITG *inoel,
4876                         ITG *iplausi));
4877 
4878 void results(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
4879              ITG *ne,double *v,double *stn,ITG *inum,
4880              double *stx,
4881              double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
4882              double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
4883              ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
4884              double *t0,double *t1,ITG *ithermal,double *prestr,
4885              ITG *iprestr,char *filab,double *eme,double *emn,
4886              double *een,ITG *iperturb,double *f,double *fn,ITG *nactdof,
4887              ITG *iout,double *qa,
4888              double *vold,double *b,ITG *nodeboun,ITG *ndirboun,
4889              double *xboun,ITG *nboun,ITG *ipompc,ITG *nodempc,
4890              double *coefmpc,char *labmpc,ITG *nmpc,ITG *nmethod,
4891              double *vmax,ITG *neq,double *veold,double *accold,
4892              double *beta,double *gamma,double *dtime,double *time,
4893              double *ttime,double *plicon,
4894              ITG *nplicon,double *plkcon,ITG *nplkcon,
4895              double *xstateini,double *xstiff,double *xstate,ITG *npmat_,
4896              double *epl,char *matname,ITG *mi,ITG *ielas,
4897              ITG *icmd,ITG *ncmat_,ITG *nstate_,double *stiini,
4898              double *vini,ITG *ikboun,ITG *ilboun,double *ener,
4899              double *enern,double *emeini,double *xstaten,double *eei,
4900              double *enerini,double *cocon,ITG *ncocon,char *set,
4901              ITG *nset,ITG *istartset,
4902              ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
4903              char *prset,double *qfx,double *qfn,double *trab,
4904              ITG *inotr,ITG *ntrans,double *fmpc,ITG *nelemload,
4905              ITG *nload,ITG *ikmpc,ITG *ilmpc,ITG *istep,ITG *iinc,
4906              double *springarea,double *reltime,ITG *ne0,double *thicke,
4907              double *shcon,ITG *nshcon,char *sideload,double *xload,
4908              double *xloadold,ITG *icfd,ITG *inomat,double *pslavsurf,
4909              double *pmastsurf,ITG *mortar,ITG *islavact,double *cdn,
4910              ITG *islavnode,ITG *nslavnode,ITG *ntie,double *clearini,
4911              ITG *islavsurf,ITG *ielprop,double *prop,double *energyini,
4912              double *energy,ITG *kscale,ITG *iponoel,ITG *inoel,ITG *nener,
4913              char *orname,ITG *network,ITG *ipobody,double *xbodyact,
4914              ITG *ibody,char *typeboun,ITG *itiefac,char *tieset,
4915              double *smscale,ITG *mscalmethod,ITG *nbody,double *t0g,
4916 	     double *t1g,ITG *islavelinv,double *autloc,ITG *irowtloc,
4917 	     ITG *jqtloc,ITG *nboun2,ITG *ndirboun2,ITG *nodeboun2,
4918 	     double *xboun2,ITG *nmpc2,ITG *ipompc2,ITG *nodempc2,
4919 	     double *coefmpc2,char *labmpc2,ITG *ikboun2,ITG *ilboun2,
4920 	     ITG *ikmpc2,ITG *ilmpc2,ITG *mortartrafoflag,ITG *intscheme);
4921 
4922 void FORTRAN(resultsem,(double *co,ITG *kon,ITG *ipkon,char *lakon,
4923              double *v,double *elcon,ITG *nelcon,ITG *ielmat,ITG *ntmat_,
4924              double *vold,double *dtime,char *matname,ITG *mi,ITG *ncmat_,
4925              ITG *nea,ITG *neb,double *sti,double *alcon,
4926              ITG *nalcon,double *h0,ITG *istartset,ITG *iendset,ITG *ialset,
4927 	     ITG *iactive,double *fn,double *eei,ITG *iout,ITG *nmethod));
4928 
4929 void *resultsemmt(ITG *i);
4930 
4931 void resultsforc(ITG *nk,double *f,double *fn,ITG *nactdof,
4932        ITG *ipompc,ITG *nodempc,double *coefmpc,char *labmpc,ITG *nmpc,
4933        ITG *mi,double *fmpc,ITG *calcul_fn,ITG *calcul_f,ITG *num_cpus);
4934 
4935 void  FORTRAN(resultsforc_em,(ITG *nk,double *f,double *fn,ITG *nactdof,
4936        ITG *ipompc,ITG *nodempc,double *coefmpc,char *labmpc,ITG *nmpc,
4937        ITG *mi,double *fmpc,ITG *calcul_fn,ITG *calcul_f,ITG *inomat));
4938 
4939 void  FORTRAN(resultsforc_se,(ITG *nk,double *dfn,ITG *nactdof,
4940        ITG *ipompc,ITG *nodempc,double *coefmpc,ITG *nmpc,
4941        ITG *mi,double *fmpc,ITG *calcul_fn,ITG *calcul_f,ITG *idesvar,
4942        double *df,ITG *jqs,ITG *irows,double *distmin));
4943 
4944 void resultsini(ITG *nk,double *v,ITG *ithermal,char *filab,
4945        ITG *iperturb,double *f,double *fn,ITG *nactdof,ITG *iout,
4946        double *qa,double *vold,double *b,ITG *nodeboun,ITG *ndirboun,
4947        double *xboun,ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
4948        char *labmpc,ITG *nmpc,ITG *nmethod,double *cam,ITG *neq,
4949        double *veold,double *accold,double *bet,double *gam,double *dtime,
4950        ITG *mi,double *vini,ITG *nprint,char *prlab,ITG *intpointvar,
4951        ITG *calcul_fn,ITG *calcul_f,ITG *calcul_qa,ITG *calcul_cauchy,
4952        ITG *ikin,ITG *intpointvart,char *typeboun,ITG *num_cpus);
4953 
4954 void FORTRAN(resultsini_em,(ITG *nk,double *v,ITG *ithermal,char *filab,
4955        ITG *iperturb,double *f,double *fn,ITG *nactdof,ITG *iout,
4956        double *qa,double *b,ITG *nodeboun,ITG *ndirboun,
4957        double *xboun,ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
4958        char *labmpc,ITG *nmpc,ITG *nmethod,double *cam,ITG *neq,
4959        double *veold,double *dtime,
4960        ITG *mi,double *vini,ITG *nprint,char *prlab,ITG *intpointvar,
4961        ITG *calcul_fn,ITG *calcul_f,ITG *calcul_qa,ITG *calcul_cauchy,
4962        ITG *iener,ITG *ikin,ITG *intpointvart,double *xforc,ITG *nforc));
4963 
4964 void FORTRAN(resultsk,(ITG *nk,ITG *nactdoh,double *v,double *solk,
4965 		       double *solt,ITG *ipompc,ITG *nodempc,double *coefmpc,
4966 		       ITG *nmpc,ITG *mi));
4967 
4968 void FORTRAN(resultsmech,(double *co,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
4969           double *v,double *stx,double *elcon,ITG *nelcon,double *rhcon,
4970           ITG *nrhcon,double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
4971           ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,double *t0,
4972           double *t1,ITG *ithermal,double *prestr,ITG *iprestr,double *eme,
4973           ITG *iperturb,double *fn,ITG *iout,double *qa,double *vold,
4974           ITG *nmethod,double *veold,double *dtime,double *time,
4975           double *ttime,double *plicon,ITG *nplicon,double *plkcon,
4976           ITG *nplkcon,double *xstateini,double *xstiff,double *xstate,
4977           ITG *npmat_,char *matname,ITG *mi,ITG *ielas,ITG *icmd,ITG *ncmat_,
4978           ITG *nstate_,double *stiini,double *vini,double *ener,double *eei,
4979           double *enerini,ITG *istep,ITG *iinc,double *springarea,
4980           double *reltime,ITG *calcul_fn,ITG *calcul_qa,ITG *calcul_cauchy,
4981           ITG *iener,ITG *ikin,ITG *nal,ITG *ne0,double *thicke,
4982           double *emeini,double *pslavsurf,double *pmastsurf,ITG *mortar,
4983           double *clearini,ITG *nea,ITG *neb,ITG *ielprop,double *prop,
4984           ITG *kscale,ITG *list,ITG *ilist,double *smscale,ITG *mscalmethod,
4985 	  double *enerscal,double *t0g,double *t1g,ITG *islavelinv,
4986 	  double *autloc,ITG *irowtloc,ITG *jqtloc,ITG *mortartrafoflag,
4987 	  ITG *intscheme));
4988 
4989 void *resultsmechmt(ITG *i);
4990 
4991 void *resultsmechmtstr(ITG *i);
4992 
4993 void *resultsmechmt_se(ITG *i);
4994 
4995 void FORTRAN(resultsmech_se,(double *co,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
4996           double *v,double *stx,double *elcon,ITG *nelcon,double *rhcon,
4997           ITG *nrhcon,double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
4998           ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,double *t0,
4999           double *t1,ITG *ithermal,double *prestr,ITG *iprestr,double *eme,
5000           ITG *iperturb,double *fn,ITG *iout,double *vold,
5001           ITG *nmethod,double *veold,double *dtime,double *time,
5002           double *ttime,double *plicon,ITG *nplicon,double *plkcon,
5003           ITG *nplkcon,double *xstateini,double *xstiff,double *xstate,
5004           ITG *npmat_,char *matname,ITG *mi,ITG *ielas,ITG *icmd,ITG *ncmat_,
5005           ITG *nstate_,double *stiini,double *vini,double *ener,double *eei,
5006           double *enerini,ITG *istep,ITG *iinc,double *springarea,
5007           double *reltime,ITG *calcul_fn,ITG *calcul_cauchy,
5008           ITG *iener,ITG *ikin,ITG *ne0,double *thicke,
5009           double *emeini,double *pslavsurf,double *pmastsurf,ITG *mortar,
5010           double *clearini,ITG *nea,ITG *neb,ITG *ielprop,double *prop,
5011           double *dfn,ITG *idesvar,ITG *nodedesi,
5012           double *fn0,double *sti,ITG *icoordinate,
5013           double *dxstiff,ITG *ialdesi,double *xdesi));
5014 
5015 void FORTRAN(resultsnoddir,(ITG *nk,double *v,ITG *nactdof,double *b,
5016        ITG *ipompc,ITG *nodempc,double *coefmpc,ITG *nmpc,ITG *mi));
5017 
5018 void FORTRAN(resultsp,(ITG *nk,ITG *nactdoh,double *v,double *sol,
5019 		       ITG *mi));
5020 
5021 void  FORTRAN(resultsprint,(double *co,ITG *nk,ITG *kon,ITG *ipkon,
5022        char *lakon,ITG *ne,double *v,double *stn,ITG *inum,double *stx,
5023        ITG *ielorien,ITG *norien,double *orab,double *t1,ITG *ithermal,
5024        char *filab,double *een,ITG *iperturb,double *fn,ITG *nactdof,
5025        ITG *iout,double *vold,ITG *nodeboun,ITG *ndirboun,ITG *nboun,
5026        ITG *nmethod,double *ttime,double *xstate,double *epn,ITG *mi,
5027        ITG *nstate_,double *ener,double *enern,double *xstaten,double *eei,
5028        char *set,ITG *nset,ITG *istartset,ITG *iendset,ITG *ialset,ITG *nprint,
5029        char *prlab,char *prset,double *qfx,double *qfn,double *trab,ITG *inotr,
5030        ITG *ntrans,ITG *nelemload,ITG *nload,ITG *ikin,ITG *ielmat,
5031        double *thicke,double *eme,double *emn,double *rhcon,ITG *nrhcon,
5032        double *shcon,ITG *nshcon,double *cocon,ITG *ncocon,ITG *ntmat_,
5033        char *sideload,ITG *icfd,ITG *inomat,double *pslavsurf,
5034        ITG *islavact,double *cdn,ITG *mortar,ITG *islavnode,ITG *nslavnode,
5035        ITG *ntie,ITG *islavsurf,double *time,ITG *ielprop,double *prop,
5036        double *veold,ITG *ne0,ITG *nmpc,ITG *ipompc,ITG *nodempc,
5037        char *labmpc,double *energyini,double *energy,char *orname,
5038        double *xload,ITG *itiefac,double *pmastsurf,double *springarea,
5039        char *tieset,ITG *ipobody,ITG *ibody,double *xbody,ITG *nbody));
5040 
5041 void resultsstr(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
5042              ITG *ne,double *v,double *stn,ITG *inum,
5043              double *stx,
5044              double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
5045              double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
5046              ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
5047              double *t0,double *t1,ITG *ithermal,double *prestr,
5048              ITG *iprestr,char *filab,double *eme,double *emn,
5049              double *een,ITG *iperturb,double *f,double *fn,ITG *nactdof,
5050              ITG *iout,double *qa,
5051              double *vold,double *b,ITG *nodeboun,ITG *ndirboun,
5052              double *xboun,ITG *nboun,ITG *ipompc,ITG *nodempc,
5053              double *coefmpc,char *labmpc,ITG *nmpc,ITG *nmethod,
5054              double *vmax,ITG *neq,double *veold,double *accold,
5055              double *beta,double *gamma,double *dtime,double *time,
5056              double *ttime,double *plicon,
5057              ITG *nplicon,double *plkcon,ITG *nplkcon,
5058              double *xstateini,double *xstiff,double *xstate,ITG *npmat_,
5059              double *epl,char *matname,ITG *mi,ITG *ielas,
5060              ITG *icmd,ITG *ncmat_,ITG *nstate_,double *stiini,
5061              double *vini,ITG *ikboun,ITG *ilboun,double *ener,
5062              double *enern,double *emeini,double *xstaten,double *eei,
5063              double *enerini,double *cocon,ITG *ncocon,char *set,
5064              ITG *nset,ITG *istartset,
5065              ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
5066              char *prset,double *qfx,double *qfn,double *trab,
5067              ITG *inotr,ITG *ntrans,double *fmpc,ITG *nelemload,
5068              ITG *nload,ITG *ikmpc,ITG *ilmpc,ITG *istep,ITG *iinc,
5069              double *springarea,double *reltime,ITG *ne0,double *xforc,
5070              ITG *nforc,double *thicke,
5071              double *shcon,ITG *nshcon,char *sideload,double *xload,
5072              double *xloadold,ITG *icfd,ITG *inomat,double *pslavsurf,
5073              double *pmastsurf,ITG *mortar,ITG *islavact,double *cdn,
5074              ITG *islavnode,ITG *nslavnode,ITG *ntie,double *clearini,
5075              ITG *islavsurf,ITG *ielprop,double *prop,double *energyini,
5076              double *energy,ITG *kscale,ITG *nener,
5077              char *orname,ITG *network,ITG *neapar,ITG *nebpar,
5078 	     ITG *ipobody,ITG *ibody,double *xbody,ITG *nbody);
5079 
5080 void results_se(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
5081              ITG *ne,double *v,double *stn,ITG *inum,
5082              double *stx,
5083              double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
5084              double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
5085              ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
5086              double *t0,double *t1,ITG *ithermal,double *prestr,
5087              ITG *iprestr,char *filab,double *eme,double *emn,
5088              double *een,ITG *iperturb,double *f,double *fn,ITG *nactdof,
5089              ITG *iout,double *qa,
5090              double *vold,double *b,ITG *nodeboun,ITG *ndirboun,
5091              double *xboun,ITG *nboun,ITG *ipompc,ITG *nodempc,
5092              double *coefmpc,char *labmpc,ITG *nmpc,ITG *nmethod,
5093              double *vmax,ITG *neq,double *veold,double *accold,
5094              double *beta,double *gamma,double *dtime,double *time,
5095              double *ttime,double *plicon,
5096              ITG *nplicon,double *plkcon,ITG *nplkcon,
5097              double *xstateini,double *xstiff,double *xstate,ITG *npmat_,
5098              double *epl,char *matname,ITG *mi,ITG *ielas,
5099              ITG *icmd,ITG *ncmat_,ITG *nstate_,double *stiini,
5100              double *vini,ITG *ikboun,ITG *ilboun,double *ener,
5101              double *enern,double *emeini,double *xstaten,double *eei,
5102              double *enerini,double *cocon,ITG *ncocon,char *set,
5103              ITG *nset,ITG *istartset,
5104              ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
5105              char *prset,double *qfx,double *qfn,double *trab,
5106              ITG *inotr,ITG *ntrans,double *fmpc,ITG *nelemload,
5107              ITG *nload,ITG *ikmpc,ITG *ilmpc,ITG *istep,ITG *iinc,
5108              double *springarea,double *reltime,ITG *ne0,double *xforc,
5109              ITG *nforc,double *thicke,
5110              double *shcon,ITG *nshcon,char *sideload,double *xload,
5111              double *xloadold,ITG *icfd,ITG *inomat,double *pslavsurf,
5112              double *pmastsurf,ITG *mortar,ITG *islavact,double *cdn,
5113              ITG *islavnode,ITG *nslavnode,ITG *ntie,double *clearini,
5114              ITG *islavsurf,ITG *ielprop,double *prop,double *energyini,
5115              double *energy,double *df,double *distmin,
5116              ITG *ndesi,ITG *nodedesi,double *sti,
5117              ITG *nkon,ITG *jqs,ITG *irows,ITG *nactdofinv,
5118              ITG *icoordinate,double *dxstiff,ITG *istartdesi,
5119              ITG *ialdesi,double *xdesi,ITG *ieigenfrequency,
5120              double *fint,ITG *ishapeenergy,char *typeboun);
5121 
5122 void FORTRAN(resultst,(ITG *nk,ITG *nactdoh,double *v,double *sol,ITG *ipompc,
5123 		       ITG *nodempc,double *coefmpc,ITG *nmpc,ITG *mi));
5124 
5125 void FORTRAN(resultstherm,(double *co,ITG *kon,ITG *ipkon,
5126        char *lakon,double *v,
5127        double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,ITG *ielmat,
5128        ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,double *t0,
5129        ITG *iperturb,double *fn,double *shcon,ITG *nshcon,ITG *iout,
5130        double *qa,double *vold,ITG *ipompc,ITG *nodempc,
5131        double *coefmpc,ITG *nmpc,double *dtime,
5132        double *time,double *ttime,double *plkcon,ITG *nplkcon,double *xstateini,
5133        double *xstiff,double *xstate,ITG *npmat_,char *matname,
5134        ITG *mi,ITG *ncmat_,ITG *nstate_,double *cocon,ITG *ncocon,
5135        double *qfx,ITG *ikmpc,ITG *ilmpc,ITG *istep,
5136        ITG *iinc,double *springarea,ITG *calcul_fn,ITG *calcul_qa,ITG *nal,
5137        ITG *nea,ITG *neb,ITG *ithermal,ITG *nelemload,ITG *nload,
5138        ITG *nmethod,double *reltime,char *sideload,double *xload,
5139        double *xloadold,double *pslavsurf,double *pmastsurf,ITG *mortar,
5140        double *clearini,double *plicon,ITG *nplicon,ITG *ielprop,
5141        double *prop,ITG *iponoel,ITG *inoel,ITG *network,ITG *ipobody,
5142        double *xbodyact,ITG *ibody));
5143 
5144 void *resultsthermemmt(ITG *i);
5145 
5146 void *resultsthermmt(ITG *i);
5147 
5148 void *resultsthermmt_se(ITG *i);
5149 
5150 void resultsinduction(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
5151              ITG *ne,double *v,double *stn,ITG *inum,
5152              double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
5153              double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
5154              ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
5155              double *t0,double *t1,ITG *ithermal,double *prestr,
5156              ITG *iprestr,char *filab,double *eme,double *emn,
5157              double *een,ITG *iperturb,double *f,double *fn,ITG *nactdof,
5158              ITG *iout,double *qa,
5159              double *vold,double *b,ITG *nodeboun,ITG *ndirboun,
5160              double *xboun,ITG *nboun,ITG *ipompc,ITG *nodempc,
5161              double *coefmpc,char *labmpc,ITG *nmpc,ITG *nmethod,
5162              double *vmax,ITG *neq,double *veold,double *accold,
5163              double *beta,double *gamma,double *dtime,double *time,
5164              double *ttime,double *plicon,
5165              ITG *nplicon,double *plkcon,ITG *nplkcon,
5166              double *xstateini,double *xstiff,double *xstate,ITG *npmat_,
5167              double *epl,char *matname,ITG *mi,ITG *ielas,
5168              ITG *icmd,ITG *ncmat_,ITG *nstate_,double *sti,
5169              double *vini,ITG *ikboun,ITG *ilboun,double *ener,
5170              double *enern,double *emeini,double *xstaten,double *eei,
5171              double *enerini,double *cocon,ITG *ncocon,char *set,
5172              ITG *nset,ITG *istartset,
5173              ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
5174              char *prset,double *qfx,double *qfn,double *trab,
5175              ITG *inotr,ITG *ntrans,double *fmpc,ITG *nelemload,
5176              ITG *nload,ITG *ikmpc,ITG *ilmpc,ITG *istep,ITG *iinc,
5177              double *springarea,double *reltime,ITG *ne0,double *xforc,
5178              ITG *nforc,double *thicke,
5179              double *shcon,ITG *nshcon,char *sideload,double *xload,
5180              double *xloadold,ITG *icfd,ITG *inomat,double *h0,
5181              ITG *islavnode,ITG *nslavnode,ITG *ntie,ITG *ielprop,
5182              double *prop,ITG *iactive,double *energyini,double *energy,
5183              ITG *iponoel,ITG *inoel,char *orname,ITG *network,
5184 	     ITG *ipobody,double *xbody,ITG *ibody,ITG *nbody);
5185 
5186 void FORTRAN(resultsv1,(ITG *nk,ITG *nactdoh,double *v,double *sol,ITG *ipompc,
5187 			ITG *nodempc,double *coefmpc,ITG *nmpc,ITG *mi));
5188 
5189 void FORTRAN(resultsv2,(ITG *nk,ITG *nactdoh,double *v,double *sol,
5190 			ITG *ipompc,ITG *nodempc,double *coefmpc,ITG *nmpc,
5191 			ITG *mi));
5192 
5193 void FORTRAN(rhs,(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
5194                ITG *ne,ITG *ipompc,ITG *nodempc,double *coefmpc,
5195                ITG *nmpc,ITG *nodeforc,ITG *ndirforc,
5196                double *xforc,ITG *nforc,ITG *nelemload,char *sideload,
5197                double *xload,ITG *nload,double *xbody,ITG *ipobody,
5198                ITG *nbody,double *cgr,double *bb,ITG *nactdof,ITG *neq,
5199                ITG *nmethod,ITG *ikmpc,ITG *ilmpc,
5200                double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
5201                double *alcon,ITG *nalcon,double *alzero,ITG *ielmat,
5202                ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
5203                double *t0,double *t1,ITG *ithermal,
5204                ITG *iprestr,double *vold,ITG *iperturb,ITG *iexpl,
5205                double *plicon,ITG *nplicon,double *plkcon,ITG *nplkcon,
5206                ITG *npmat_,double *ttime,double *time,ITG *istep,
5207                ITG *iinc,double *dtime,double *physcon,ITG *ibody,
5208                double *xbodyold,double *reltime,double *veold,
5209                char *matname,ITG *mi,ITG *ikactmech,ITG *nactmech,
5210                ITG *ielprop,double *prop,double *sti,double *xstateini,
5211                double *xstate,ITG *nstate_,ITG *ntrans,ITG *inotr,
5212                double *trab,ITG *nea,ITG *neb));
5213 
5214 void FORTRAN(rhsnodef,(double *co,ITG *kon,ITG *ne,ITG *ipompc,ITG *nodempc,
5215              double *coefmpc,ITG *nmpc,ITG *nodeforc,ITG *ndirforc,
5216              double *xforc,
5217              ITG *nforc,double *fext,ITG *nactdof,ITG *nmethod,ITG *ikmpc,
5218              ITG *ntmat_,ITG *iperturb,ITG *mi,ITG *ikactmech,ITG *nactmech,
5219              ITG *ntrans,ITG *inotr,double *trab));
5220 
5221 void rhsmain(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
5222              ITG *ipompc,ITG *nodempc,double *coefmpc,ITG *nmpc,
5223              ITG *nodeforc,ITG *ndirforc,double *xforcact,ITG *nforc,
5224              ITG *nelemload,char *sideload,double *xloadact,ITG *nload,
5225              double *xbodyact,ITG *ipobody,ITG *nbody,double *cgr,
5226              double *fext,
5227              ITG *nactdof,ITG *neq,ITG *nmethod,ITG *ikmpc,ITG *ilmpc,
5228              double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
5229              double *alcon,
5230              ITG *nalcon,double *alzero,ITG *ielmat,ITG *ielorien,
5231              ITG *norien,
5232              double *orab,ITG *ntmat_,double *t0,double *t1act,
5233              ITG *ithermal,
5234              ITG *iprestr,double *vold,ITG *iperturb,ITG *iexpl,
5235              double *plicon,
5236              ITG *nplicon,double *plkcon,ITG *nplkcon,ITG *npmat_,
5237              double *ttime,
5238              double *time,ITG *istep,ITG *iinc,double *dtime,
5239              double *physcon,
5240              ITG *ibody,double *xbodyold,double *reltime,double *veold,
5241              char *matname,
5242              ITG *mi,ITG *ikactmech,ITG *nactmech,ITG *ielprop,
5243              double *prop,
5244              double *sti,double *xstateini,double *xstate,ITG *nstate_,
5245              ITG *ntrans,ITG *inotr,double *trab);
5246 
5247 void *rhsmt(ITG *i);
5248 
5249 void FORTRAN(rhsp,(ITG *ne,char *lakon,ITG *ipnei,
5250              ITG *neifa,ITG *neiel,double *vfa,double *area,double *adfa,
5251              double *xlet,double *cosa,double *volume,double *au,double *ad,
5252              ITG *jq,ITG *irow,double *ap,ITG *ielfa,ITG *ifabou,
5253              double *xle,double *b,double *xxn,
5254              ITG *neq,ITG *nzs,double *hfa,double *gradpel,double *bp,
5255              double *xxi,ITG *neij,double *xlen,ITG *nefa,ITG *nefb,
5256              double *xxicn,double *flux,double *xxnj,double *gradpcfa,
5257              double *cosb));
5258 
5259 void FORTRAN(rhspcomp,(ITG *ne,char *lakonf,ITG *ipnei,
5260              ITG *neifa,ITG *neiel,double *vfa,double *area,double *adfa,
5261              double *xlet,double *cosa,double *volume,double *au,double *ad,
5262              ITG *jq,ITG *irow,double *ap,ITG *ielfa,ITG *ifabou,
5263              double *xle,double *b,double *xxn,ITG *neq,
5264              ITG *nzs,double *hfa,double *gradpel,
5265              double *bp,double *xxi,ITG *neij,double *xlen,double *cosb,
5266              ITG *ielmatf,ITG *mi,double *a1,double *a2,double *a3,double *velo,
5267              double *veloo,double *dtimef,double *shcon,ITG *ntmat_,double *vel,
5268              ITG *nactdohinv,double *xrlfa,double *flux,ITG *nefa,ITG *nefb,
5269              ITG *iau6,double *xxicn,double *gamma,double *xxnj,
5270              double *gradpcfa));
5271 
5272 void rhspcompmain(ITG *ne,char *lakonf,ITG *ipnei,
5273              ITG *neifa,ITG *neiel,double *vfa,double *area,double *adfa,
5274              double *xlet,double *cosa,double *volume,double *au,double *ad,
5275              ITG *jq,ITG *irow,double *ap,ITG *ielfa,ITG *ifabou,
5276              double *xle,double *b,double *xxn,ITG *neq,
5277              ITG *nzs,double *hfa,double *gradpel,
5278              double *bp,double *xxi,ITG *neij,double *xlen,double *cosb,
5279              ITG *ielmatf,ITG *mi,double *a1,double *a2,double *a3,double *velo,
5280              double *veloo,double *dtimef,double *shcon,ITG *ntmat_,double *vel,
5281              ITG *nactdohinv,double *xrlfa,double *flux,ITG *iau6,
5282                   double *xxicn,double *gamma,double *xxnj,double *gradpcfa);
5283 
5284 void *rhspcompmt(ITG *i);
5285 
5286 void rhspmain(ITG *ne,char *lakon,ITG *ipnei,
5287              ITG *neifa,ITG *neiel,double *vfa,double *area,double *adfa,
5288              double *xlet,double *cosa,double *volume,double *au,double *ad,
5289              ITG *jq,ITG *irow,double *ap,ITG *ielfa,ITG *ifabou,
5290              double *xle,double *b,double *xxn,
5291              ITG *neq,ITG *nzs,double *hfa,double *gradpel,double *bp,
5292              double *xxi,ITG *neij,double *xlen,ITG *iatleastonepressurebc,
5293              double *xxicn,double *flux,double *xxnj,double *gradpcfa,
5294              double *cosb);
5295 
5296 void *rhspmt(ITG *i);
5297 
5298 void robustdesign(double *co,ITG *nk,ITG **konp,ITG **ipkonp,char **lakonp,
5299 		  ITG *ne,
5300 		  ITG *nodeboun,ITG *ndirboun,double *xboun,ITG *nboun,
5301 		  ITG *ipompc,ITG *nodempc,double *coefmpc,char *labmpc,
5302 		  ITG *nmpc,
5303 		  ITG *nodeforc,ITG *ndirforc,double *xforc,ITG *nforc,
5304 		  ITG *nelemload,char *sideload,double *xload,
5305 		  ITG *nload,ITG *nactdof,
5306 		  ITG *icol,ITG *jq,ITG **irowp,ITG *neq,ITG *nzl,
5307 		  ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
5308 		  ITG *ilboun,
5309 		  double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
5310 		  double *alcon,ITG *nalcon,double *alzero,ITG **ielmatp,
5311 		  ITG **ielorienp,ITG *norien,double *orab,ITG *ntmat_,
5312 		  double *t0,double *t1,double *t1old,
5313 		  ITG *ithermal,double *prestr,ITG *iprestr,
5314 		  double *vold,ITG *iperturb,double *sti,ITG *nzs,
5315 		  ITG *kode,char *filab,double *eme,
5316 		  ITG *iexpl,double *plicon,ITG *nplicon,double *plkcon,
5317 		  ITG *nplkcon,
5318 		  double **xstatep,ITG *npmat_,char *matname,ITG *isolver,
5319 		  ITG *mi,ITG *ncmat_,ITG *nstate_,double *cs,ITG *mcs,
5320 		  ITG *nkon,double **enerp,double *xbounold,
5321 		  double *xforcold,double *xloadold,
5322 		  char *amname,double *amta,ITG *namta,
5323 		  ITG *nam,ITG *iamforc,ITG *iamload,
5324 		  ITG *iamt1,ITG *iamboun,double *ttime,char *output,
5325 		  char *set,ITG *nset,ITG *istartset,
5326 		  ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
5327 		  char *prset,ITG *nener,double *trab,
5328 		  ITG *inotr,ITG *ntrans,double *fmpc,ITG *ipobody,
5329 		  ITG *ibody,
5330 		  double *xbody,ITG *nbody,double *xbodyold,double *timepar,
5331 		  double *thicke,char *jobnamec,char *tieset,ITG *ntie,
5332 		  ITG *istep,ITG *nmat,ITG *ielprop,double *prop,char *typeboun,
5333 		  ITG *mortar,ITG *mpcinfo,double *tietol,ITG *ics,
5334 		  ITG *nobject,char **objectsetp,ITG *istat,char *orname,
5335 		  ITG *nzsprevstep,ITG *nlabel,double *physcon,char *jobnamef,
5336 		  ITG *iponor2d,ITG *knor2d,ITG *ne2d,ITG *iponoel2d,
5337 		  ITG *inoel2d,
5338 		  ITG *mpcend,ITG *irobustdesign,ITG *irandomtype,
5339 		  double *randomval);
5340 
5341 void FORTRAN(rotationvector,(double *a,double *euler));
5342 
5343 void FORTRAN(rotationvectorinv,(double *a,double* euler));
5344 
5345 void FORTRAN(scalesen,(double *dgdxglob,ITG *nobject,ITG *nk,ITG *nodedesi,
5346                        ITG *ndesi,char *objectset,ITG *iscaleflag,
5347                        ITG *istart));
5348 
5349 void FORTRAN(searchmidneigh,(ITG *inn,ITG *iponn,ITG *nktet_,ITG *iexternedg,
5350 			     ITG *ipoed,ITG *iedg,ITG *ipoeled,ITG *ieled,
5351 			     ITG *ifreenn,ITG *iedgmid,ITG *iedtet));
5352 
5353 void sensi_coor(double *co,ITG *nk,ITG **konp,ITG **ipkonp,char **lakonp,
5354              ITG *ne,
5355              ITG *nodeboun,ITG *ndirboun,double *xboun,ITG *nboun,
5356              ITG *ipompc,ITG *nodempc,double *coefmpc,char *labmpc,
5357              ITG *nmpc,
5358              ITG *nodeforc,ITG *ndirforc,double *xforc,ITG *nforc,
5359              ITG *nelemload,char *sideload,double *xload,
5360              ITG *nload,ITG *nactdof,
5361              ITG *icol,ITG *jq,ITG **irowp,ITG *neq,ITG *nzl,
5362              ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
5363              ITG *ilboun,
5364              double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
5365              double *alcon,ITG *nalcon,double *alzero,ITG **ielmatp,
5366              ITG **ielorienp,ITG *norien,double *orab,ITG *ntmat_,
5367              double *t0,double *t1,double *t1old,
5368              ITG *ithermal,double *prestr,ITG *iprestr,
5369              double *vold,ITG *iperturb,double *sti,ITG *nzs,
5370              ITG *kode,char *filab,double *eme,
5371              ITG *iexpl,double *plicon,ITG *nplicon,double *plkcon,
5372              ITG *nplkcon,
5373              double **xstatep,ITG *npmat_,char *matname,ITG *isolver,
5374              ITG *mi,ITG *ncmat_,ITG *nstate_,double *cs,ITG *mcs,
5375              ITG *nkon,double **enerp,double *xbounold,
5376              double *xforcold,double *xloadold,
5377              char *amname,double *amta,ITG *namta,
5378              ITG *nam,ITG *iamforc,ITG *iamload,
5379              ITG *iamt1,ITG *iamboun,double *ttime,char *output,
5380              char *set,ITG *nset,ITG *istartset,
5381              ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
5382              char *prset,ITG *nener,double *trab,
5383              ITG *inotr,ITG *ntrans,double *fmpc,ITG *ipobody,ITG *ibody,
5384              double *xbody,ITG *nbody,double *xbodyold,double *timepar,
5385              double *thicke,char *jobnamec,char *tieset,ITG *ntie,
5386              ITG *istep,ITG *nmat,ITG *ielprop,double *prop,char *typeboun,
5387              ITG *mortar,ITG *mpcinfo,double *tietol,ITG *ics,
5388              ITG *nobject,char **objectsetp,ITG *istat,
5389              char *orname,ITG *nzsfreq,ITG *nlabel,double *physcon,
5390              char *jobnamef,ITG *iponor2d,ITG *knor2d,ITG *ne2d,
5391              ITG *iponoel2d,ITG *inoel2d,ITG *mpcend,
5392 	     double *dgdxglob,double *g0,ITG **nodedesip,ITG*ndesi,
5393 	     ITG *nobjectstart,double **xdesip);
5394 
5395 void sensi_orien(double *co,ITG *nk,ITG **konp,ITG **ipkonp,char **lakonp,
5396              ITG *ne,
5397              ITG *nodeboun,ITG *ndirboun,double *xboun,ITG *nboun,
5398              ITG *ipompc,ITG *nodempc,double *coefmpc,char *labmpc,
5399              ITG *nmpc,
5400              ITG *nodeforc,ITG *ndirforc,double *xforc,ITG *nforc,
5401              ITG *nelemload,char *sideload,double *xload,
5402              ITG *nload,ITG *nactdof,
5403              ITG *icol,ITG *jq,ITG **irowp,ITG *neq,ITG *nzl,
5404              ITG *nmethod,ITG *ikmpc,ITG *ilmpc,ITG *ikboun,
5405              ITG *ilboun,
5406              double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
5407              double *alcon,ITG *nalcon,double *alzero,ITG **ielmatp,
5408              ITG **ielorienp,ITG *norien,double *orab,ITG *ntmat_,
5409              double *t0,double *t1,double *t1old,
5410              ITG *ithermal,double *prestr,ITG *iprestr,
5411              double *vold,ITG *iperturb,double *sti,ITG *nzs,
5412              ITG *kode,char *filab,double *eme,
5413              ITG *iexpl,double *plicon,ITG *nplicon,double *plkcon,
5414              ITG *nplkcon,
5415              double **xstatep,ITG *npmat_,char *matname,ITG *isolver,
5416              ITG *mi,ITG *ncmat_,ITG *nstate_,double *cs,ITG *mcs,
5417              ITG *nkon,double **enerp,double *xbounold,
5418              double *xforcold,double *xloadold,
5419              char *amname,double *amta,ITG *namta,
5420              ITG *nam,ITG *iamforc,ITG *iamload,
5421              ITG *iamt1,ITG *iamboun,double *ttime,char *output,
5422              char *set,ITG *nset,ITG *istartset,
5423              ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
5424              char *prset,ITG *nener,double *trab,
5425              ITG *inotr,ITG *ntrans,double *fmpc,ITG *ipobody,ITG *ibody,
5426              double *xbody,ITG *nbody,double *xbodyold,double *timepar,
5427              double *thicke,char *jobnamec,char *tieset,ITG *ntie,
5428              ITG *istep,ITG *nmat,ITG *ielprop,double *prop,char *typeboun,
5429              ITG *mortar,ITG *mpcinfo,double *tietol,ITG *ics,
5430              ITG *nobject,char **objectsetp,ITG *istat,
5431              char *orname,ITG *nzsfreq,ITG *nlabel,double *physcon,
5432              char *jobnamef,ITG *iponor2d,ITG *knor2d,ITG *ne2d,
5433              ITG *iponoel2d,ITG *inoel2d,ITG *mpcend);
5434 
5435 void FORTRAN(sensitivity_glob,(double *dgdxtot,double *dgdxtotglob,ITG *nobject,
5436              ITG *ndesi,ITG *nodedesi,ITG *nk));
5437 
5438 void sensitivity_out(char *jobnamec,double *dgdxtotglob,ITG *neq,
5439                      ITG *nobject,double *g0);
5440 
5441 void setpardou(double *var1,double var2,ITG size,ITG num_cpus);
5442 
5443 void *setpardoumt(ITG *i);
5444 
5445 void setparitg(ITG *iva1,ITG iva2,ITG size,ITG num_cpus);
5446 
5447 void *setparitgmt(ITG *i);
5448 
5449 void sgenrand(unsigned long seed);
5450 
5451 void FORTRAN(shape3tri,(double *xi,double *et,double *xl,double *xsj,
5452                       double *xs,double *shp,ITG *iflag));
5453 
5454 void FORTRAN(shape4q,(double *xi,double *et,double *xl,double *xsj,
5455                       double *xs,double *shp,ITG *iflag));
5456 
5457 void FORTRAN(shape4tet,(double *xi,double *et,double *ze,double *xl,
5458              double *xsj,double *shp,ITG *iflag));
5459 
5460 void FORTRAN(shape6tri,(double *xi,double *et,double *xl,double *xsj,
5461                       double *xs,double *shp,ITG *iflag));
5462 
5463 void FORTRAN(shape6w,(double *xi,double *et,double *ze,double *xl,
5464              double *xsj,double *shp,ITG *iflag));
5465 
5466 void FORTRAN(shape8h,(double *xi,double *et,double *ze,double *xl,
5467              double *xsj,double *shp,ITG *iflag));
5468 
5469 void FORTRAN(shape8q,(double *xi,double *et,double *xl,double *xsj,
5470                       double *xs,double *shp,ITG *iflag));
5471 
5472 void FORTRAN(shape10tet,(double *xi,double *et,double *ze,double *xl,
5473              double *xsj,double *shp,ITG *iflag));
5474 
5475 void FORTRAN(shape15w,(double *xi,double *et,double *ze,double *xl,
5476              double *xsj,double *shp,ITG *iflag));
5477 
5478 void FORTRAN(shape20h,(double *xi,double *et,double *ze,double *xl,
5479              double *xsj,double *shp,ITG *iflag));
5480 
5481 void FORTRAN(slavintpoints,(ITG *ntie,ITG *itietri,ITG *ipkon,
5482         ITG *kon,char *lakon,double *straight,
5483         ITG *nintpoint,ITG *koncont,double *co,double *vold,double *xo,
5484         double *yo,double *zo,double *x,double *y,double *z,ITG *nx,
5485         ITG *ny,ITG *nz,ITG *islavsurf,
5486         ITG *islavnode,ITG *nslavnode,ITG *imastop,
5487         ITG *mi,ITG *ncont,ITG *ipe,ITG *ime,double *pslavsurf,
5488         ITG *i,ITG *l,ITG *ntri));
5489 
5490 void FORTRAN(smalldist,(double *co,double *distmin,char *lakon,
5491              ITG *ipkon,ITG *kon,ITG *ne));
5492 
5493 void FORTRAN(smoothbadmid,(double *cotet,ITG *kontet,ITG *ipoeln,ITG *ieln,
5494 			      ITG *nbadnodes,ITG *ibadnodes,
5495 			      ITG *iexternedge,ITG *ipoeled,ITG *ieled,
5496 			      ITG *iedgmid,ITG *iedtet));
5497 
5498 void FORTRAN(smoothbadvertex,(double *cotet,ITG *kontet,ITG *ipoeln,ITG *ieln,
5499 			      ITG *nbadnodes,ITG *ibadnodes,ITG *iponn,ITG *inn,
5500 			      ITG *iexternnode,ITG *ipoeled,ITG *ieled,
5501 			      ITG *iedgmid,ITG *iedtet));
5502 
5503 void FORTRAN(smoothingmidnodes,(double *cotet,ITG *ipoed,ITG *kontet,
5504 				ITG *iedtet,ITG *iedgmid,ITG *ipoeled,
5505 				ITG *ieled,double *qualityjac,ITG *iponn,
5506 				ITG *inn,double *h,ITG *iexternedg,ITG *netet_,
5507 				ITG *nktet_));
5508 
5509 void FORTRAN(smoothingvertexnodes,(ITG *inn,ITG *iponn,ITG *nktet,
5510 			ITG *iexternnode,ITG *netet_,ITG *kontet,double *cotet,
5511 			ITG *ipoeln,ITG *ieln,double *h,double *quality,
5512 			ITG *jfix));
5513 
5514 void FORTRAN(smoothshock,(double *aub,double *adl,
5515 			     double *sol,double *aux,ITG *irow,
5516 			     ITG *jq,ITG *neqa,ITG *neqb,double *sa));
5517 
5518 void *smoothshockmt(ITG *i);
5519 
5520 void FORTRAN(solveeq,(double *adbv,double *aubv,double *adl,
5521 		      double *b,double *sol,double *aux,ITG *irowv,
5522 		      ITG *jqv,ITG *neqv,ITG *maxit));
5523 
5524 void solveeqmain(double *aub,double *adl,double *b,double *sol,ITG *irow,
5525 		 ITG *jq,ITG *neq,ITG *maxit,ITG *num_cpus);
5526 
5527 void FORTRAN(solveeqpar,(double *aub,double *adl,double *b,double *sol,
5528 			double *aux,ITG *irow,ITG *jq,ITG *neqa,ITG *neqb));
5529 
5530 void *solveeqparmt(ITG *i);
5531 
5532 void FORTRAN(solveexplicitly,(ITG *nef,double *vel,double *bv,double *auv,
5533              ITG *ipnei,ITG *neiel,ITG *nflnei));
5534 
5535 void FORTRAN(sortev,(ITG *nev,ITG *nmd,double *eigxx,ITG *cyclicsymmetry,
5536                      double *xx,double *eigxr,ITG *pev,
5537                      ITG *istartnmd,ITG *iendnmd,double *aa,double *bb,
5538                      ITG *nevcomplex));
5539 
5540 void FORTRAN(spcmatch,(double *xboun,ITG *nodeboun,ITG *ndirboun,ITG *nboun,
5541                double *xbounold,ITG *nodebounold,ITG *ndirbounold,
5542                ITG *nbounold,ITG *ikboun,ITG *ilboun,double *vold,
5543 	       double *reorder,ITG *nreorder,ITG *mi,char *typeboun));
5544 
5545 void FORTRAN(splitline,(char *text,char *textpart,ITG *n));
5546 
5547 void spooles(double *ad,double *au,double *adb,double *aub,
5548              double *sigma,double *b,
5549              ITG *icol,ITG *irow,ITG *neq,ITG *nzs,ITG *symmtryflag,
5550              ITG *inputformat,ITG *nzs3);
5551 
5552 void FORTRAN(springforc_n2f,(double *xl,ITG *konl,double *vl,ITG *imat,
5553              double *elcon,ITG *nelcon,double *elas,double *fnl,ITG *ncmat_,
5554              ITG *ntmat_,ITG *nope,char *lakonl,double *t1l,ITG *kode,
5555              double *elconloc,double *plicon,ITG *nplicon,ITG *npmat_,
5556              double *senergy,ITG *iener,double *cstr,ITG *mi,
5557              double *springarea,ITG *nmethod,ITG *ne0,ITG *nstate_,
5558              double *xstateini,double *xstate,double *reltime,
5559              ITG *ielas,double *venergy,ITG *ielorien,double *orab,
5560              ITG *norien,ITG *nelem));
5561 
5562 void FORTRAN(springstiff_n2f,(double *xl,double *elas,ITG *konl,double *voldl,
5563              double *s,ITG *imat,double *elcon,ITG *nelcon,ITG *ncmat_,
5564              ITG *ntmat_,ITG *nope,char *lakonl,double *t1l,ITG *kode,
5565              double *elconloc,double *plicon,ITG *nplicon,ITG *npmat_,
5566              ITG *iperturb,double *springarea,ITG *nmethod,ITG *mi,ITG *ne0,
5567              ITG *nstate_,double *xstateini,double *xstate,double *reltime,
5568              ITG *nasym,ITG *ielorien,double *orab,ITG *norien,ITG *nelem));
5569 
5570 void steadystate(double **co,ITG *nk,ITG **kon,ITG **ipkon,char **lakon,ITG *ne,
5571           ITG **nodeboun,ITG **ndirboun,double **xboun,ITG *nboun,
5572           ITG **ipompcp,ITG **nodempcp,double **coefmpcp,char **labmpcp,ITG *nmpc,
5573           ITG *nodeforc,ITG *ndirforc,double *xforc,ITG *nforc,
5574           ITG *nelemload,char *sideload,double *xload,
5575           ITG *nload,
5576           ITG **nactdof,ITG *neq,ITG *nzl,ITG *icol,ITG *irow,
5577           ITG *nmethod,ITG **ikmpcp,ITG **ilmpcp,ITG **ikboun,
5578           ITG **ilboun,
5579           double *elcon,ITG *nelcon,double *rhcon,ITG *nrhcon,
5580           double *cocon,ITG *ncocon,
5581           double *alcon,ITG *nalcon,double *alzero,ITG **ielmat,
5582           ITG **ielorien,ITG *norien,double *orab,ITG *ntmat_,
5583           double **t0,
5584           double **t1,ITG *ithermal,double *prestr,ITG *iprestr,
5585           double **voldp,ITG *iperturb,double *sti,ITG *nzs,
5586           double *timepar,double *xmodal,
5587           double **veoldp,char *amname,double *amta,
5588           ITG *namta,ITG *nam,ITG *iamforc,ITG *iamload,
5589           ITG **iamt1,ITG *jout,ITG *kode,char *filab,
5590           double **emep,double *xforcold,double *xloadold,
5591           double **t1old,ITG **iamboun,
5592           double **xbounold,ITG *iexpl,double *plicon,ITG *nplicon,
5593           double *plkcon,ITG *nplkcon,
5594           double *xstate,ITG *npmat_,char *matname,ITG *mi,
5595           ITG *ncmat_,ITG *nstate_,double **enerp,char *jobnamec,
5596           double *ttime,char *set,ITG *nset,ITG *istartset,
5597           ITG *iendset,ITG *ialset,ITG *nprint,char *prlab,
5598           char *prset,ITG *nener,double *trab,
5599           ITG **inotr,ITG *ntrans,double **fmpcp,ITG *ipobody,ITG *ibody,
5600           double *xbody,ITG *nbody,double *xbodyold,ITG *istep,
5601           ITG *isolver,ITG *jq,char *output,ITG *mcs,ITG *nkon,
5602           ITG *ics,double *cs,ITG *mpcend,double *ctrl,
5603           ITG *ikforc,ITG *ilforc,double *thicke,ITG *nmat,
5604           char *typeboun,ITG *ielprop,double *prop,char *orname,
5605           ITG *ndamp,double *dacon,double *t0g,double *t1g);
5606 
5607 void FORTRAN(stop,());
5608 
5609 void FORTRAN(stopwithout201,());
5610 
5611 void storecontactdof(ITG *nope,ITG *nactdof,ITG *mt,ITG *konl,
5612           ITG **ikactcontp,
5613           ITG *nactcont,ITG *nactcont_,double *bcont,double *fnl,
5614           ITG *ikmpc,ITG *nmpc,ITG *ilmpc,ITG *ipompc,ITG *nodempc,
5615           double *coefmpc);
5616 
5617 void FORTRAN(storeresidual,(ITG *nactdof,double *b,double *fn,char *filab,
5618              ITG *ithermal,ITG *nk,double *sti,double *stn,
5619              ITG *ipkon,ITG *inum,ITG *kon,char *lakon,
5620              ITG *ne,ITG *mi,double *orab,ITG *ielorien,
5621              double *co,ITG *itg,ITG *ntg,double *vold,
5622              ITG *ielmat,double *thicke,ITG *ielprop,double *prop));
5623 
5624 void FORTRAN(storecontactprop,(ITG *ne,ITG *ne0,char *lakon,ITG *kon,
5625          ITG *ipkon,ITG *mi,ITG *ielmat,double *elcon,ITG *mortar,
5626          double *adb,ITG *nactdof,double *springarea,ITG *ncmat_,
5627          ITG *ntmat_,double *stx,double *temax));
5628 
5629 ITG strcmp1(const char *s1,const char *s2);
5630 
5631 ITG strcmp2(const char *s1,const char *s2,ITG length);
5632 
5633 ITG strcpy1(char *s1,const char *s2,ITG length);
5634 
5635 void stress_sen(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
5636        double *stn,double *elcon,ITG *nelcon,
5637        double *rhcon,ITG *nrhcon,double *alcon,ITG *nalcon,double *alzero,
5638        ITG *ielmat,ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
5639        double *t0,
5640        double *t1,ITG *ithermal,double *prestr,ITG *iprestr,char *filab,
5641        double *emn,
5642        double *een,ITG *iperturb,double *f,ITG *nactdof,
5643        double *vold,ITG *nodeboun,ITG *ndirboun,
5644        double *xboun,ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
5645        char *labmpc,ITG *nmpc,ITG *nmethod,double *cam,ITG *neq,double *veold,
5646        double *accold,double *bet,double *gam,double *dtime,double *time,
5647        double *ttime,double *plicon,ITG *nplicon,double *plkcon,
5648        ITG *nplkcon,double *xstateini,double *xstate,ITG *npmat_,
5649        double *epn,char *matname,ITG *mi,ITG *ielas,ITG *ncmat_,
5650        ITG *nstate_,
5651        double *stiini,double *vini,ITG *ikboun,ITG *ilboun,
5652        double *enern,double *emeini,double *xstaten,double *enerini,
5653        double *cocon,ITG *ncocon,char *set,ITG *nset,ITG *istartset,
5654        ITG *iendset,
5655        ITG *ialset,ITG *nprint,char *prlab,char *prset,double *qfx,double *qfn,
5656        double *trab,
5657        ITG *inotr,ITG *ntrans,double *fmpc,ITG *nelemload,ITG *nload,
5658        ITG *ikmpc,ITG *ilmpc,
5659        ITG *istep,ITG *iinc,double *springarea,double *reltime,ITG *ne0,
5660        double *xforc,ITG *nforc,double *thicke,
5661        double *shcon,ITG *nshcon,char *sideload,double *xload,
5662        double *xloadold,ITG *icfd,ITG *inomat,double *pslavsurf,
5663        double *pmastsurf,ITG *mortar,ITG *islavact,double *cdn,
5664        ITG *islavnode,ITG *nslavnode,ITG *ntie,double *clearini,
5665        ITG *islavsurf,ITG *ielprop,double *prop,double *energyini,
5666        double *energy,ITG *kscale,char *orname,ITG *network,
5667        ITG *nestart,ITG *neend,ITG *jqs,ITG *irows,ITG *nodedesi,
5668        double *xdesi,ITG *ndesi,ITG *iobject,ITG *nobject,char *objectset,
5669        double *g0,double *dgdx,ITG *idesvara,ITG *idesvarb,ITG *nasym,
5670        ITG *isolver,double *distmin,ITG *nodeset,double *b);
5671 
5672 void *stress_senmt(ITG *i);
5673 
5674 void stress_sen_dv(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
5675        double *dstn,double *elcon,ITG *nelcon,
5676        double *rhcon,ITG *nrhcon,double *alcon,ITG *nalcon,double *alzero,
5677        ITG *ielmat,ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
5678        double *t0,double *t1,ITG *ithermal,double *prestr,ITG *iprestr,
5679        char *filab,ITG *iperturb,double *dv,ITG *nmethod,double *dtime,
5680        double *time,double *ttime,double *plicon,ITG *nplicon,double *plkcon,
5681        ITG *nplkcon,double *xstateini,double *xstate,ITG *npmat_,char *matname,
5682        ITG *mi,ITG *ielas,ITG *ncmat_,ITG *nstate_,double *stiini,double *vini,
5683        double *emeini,double *enerini,ITG *istep,ITG *iinc,double *springarea,
5684        double *reltime,ITG *ne0,double *thicke,double *pslavsurf,
5685        double *pmastsurf,ITG *mortar,double *clearini,ITG *ielprop,double *prop,
5686        ITG *kscale,ITG *iobject,double *g0,ITG *nea,ITG *neb,ITG *nasym,
5687        double *distmin,double *dstx,ITG *ialnk,double *dgdu,ITG *ialeneigh,
5688        ITG *neaneigh,ITG *nebneigh,ITG *ialnneigh,ITG *naneigh,ITG *nbneigh,
5689        double *stn,double *expks,char *objectset,ITG *idof,ITG *node,
5690        ITG *idir,double *vold,double *dispmin);
5691 
5692 void *stress_sen_dvmt(ITG *i);
5693 
5694 void stress_sen_dx(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
5695        double *dstn,double *elcon,ITG *nelcon,
5696        double *rhcon,ITG *nrhcon,double *alcon,ITG *nalcon,double *alzero,
5697        ITG *ielmat,ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
5698        double *t0,double *t1,ITG *ithermal,double *prestr,ITG *iprestr,
5699        char *filab,ITG *iperturb,double *vold,ITG *nmethod,double *dtime,
5700        double *time,double *ttime,double *plicon,ITG *nplicon,double *plkcon,
5701        ITG *nplkcon,double *xstateini,double *xstate,ITG *npmat_,char *matname,
5702        ITG *mi,ITG *ielas,ITG *ncmat_,ITG *nstate_,double *stiini,double *vini,
5703        double *emeini,double *enerini,ITG *istep,ITG *iinc,double *springarea,
5704        double *reltime,ITG *ne0,double *thicke,double *pslavsurf,
5705        double *pmastsurf,ITG *mortar,double *clearini,ITG *ielprop,double *prop,
5706        ITG *kscale,ITG *iobject,char *objectset,double *g0,double *dgdx,
5707        ITG *nea,ITG *neb,ITG *nasym,double *distmin,ITG*idesvar,double *dstx,
5708        ITG *ialdesi,ITG *ialeneigh,ITG *neaneigh,ITG *nebneigh,ITG *ialnneigh,
5709        ITG *naneigh,ITG *nbneigh,double *stn,double *expks,ITG *ndesi);
5710 
5711 void *stress_sen_2ndordermt(ITG *i);
5712 
5713 void *stress_sen_dv_robustmt(ITG *i);
5714 
5715 void *stress_sen_dx_robustmt(ITG *i);
5716 
5717 void *stress_sen_dxmt(ITG *i);
5718 
5719 void FORTRAN(stressintensity,(ITG *nfront,ITG *ifrontrel,double *stress,
5720 			      double *xt,double *xn,double *xa,double *dk1,
5721 			      double *dk2,double *dk3,double *xkeq,double *phi,
5722 			      double *psi,double *acrack,double *shape,
5723 			      ITG *nstep));
5724 
5725 void FORTRAN(stressintensity_smoothing,(ITG *nnfront,ITG *isubsurffront,
5726 					ITG *istartfront,ITG *iendfront,
5727 					ITG *ifrontrel,double *costruc,
5728 					double *dist,
5729 					ITG *istartcrackfro,ITG *iendcrackfro,
5730 					double *xkeq,double *phi,ITG *nfront,
5731 					ITG *ncrack,double *dk,double *p,
5732 					ITG *idist,double *tper,ITG *nstep));
5733 
5734 void stressmain(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,ITG *ne,
5735        double *v,double *stn,ITG *inum,double *stx,double *elcon,ITG *nelcon,
5736        double *rhcon,ITG *nrhcon,double *alcon,ITG *nalcon,double *alzero,
5737        ITG *ielmat,ITG *ielorien,ITG *norien,double *orab,ITG *ntmat_,
5738        double *t0,
5739        double *t1,ITG *ithermal,double *prestr,ITG *iprestr,char *filab,
5740        double *eme,double *emn,
5741        double *een,ITG *iperturb,double *f,double *fn,ITG *nactdof,ITG *iout,
5742        double *qa,double *vold,ITG *nodeboun,ITG *ndirboun,
5743        double *xboun,ITG *nboun,ITG *ipompc,ITG *nodempc,double *coefmpc,
5744        char *labmpc,ITG *nmpc,ITG *nmethod,double *cam,ITG *neq,double *veold,
5745        double *accold,double *bet,double *gam,double *dtime,double *time,
5746        double *ttime,double *plicon,ITG *nplicon,double *plkcon,
5747        ITG *nplkcon,double *xstateini,double *xstiff,double *xstate,ITG *npmat_,
5748        double *epn,char *matname,ITG *mi,ITG *ielas,ITG *icmd,ITG *ncmat_,
5749        ITG *nstate_,
5750        double *stiini,double *vini,ITG *ikboun,ITG *ilboun,double *ener,
5751        double *enern,double *emeini,double *xstaten,double *eei,double *enerini,
5752        double *cocon,ITG *ncocon,char *set,ITG *nset,ITG *istartset,
5753        ITG *iendset,
5754        ITG *ialset,ITG *nprint,char *prlab,char *prset,double *qfx,double *qfn,
5755        double *trab,
5756        ITG *inotr,ITG *ntrans,double *fmpc,ITG *nelemload,ITG *nload,
5757        ITG *ikmpc,ITG *ilmpc,
5758        ITG *istep,ITG *iinc,double *springarea,double *reltime,ITG *ne0,
5759        double *xforc,ITG *nforc,double *thicke,
5760        double *shcon,ITG *nshcon,char *sideload,double *xload,
5761        double *xloadold,ITG *icfd,ITG *inomat,double *pslavsurf,
5762        double *pmastsurf,ITG *mortar,ITG *islavact,double *cdn,
5763        ITG *islavnode,ITG *nslavnode,ITG *ntie,double *clearini,
5764        ITG *islavsurf,ITG *ielprop,double *prop,double *energyini,
5765        double *energy,double *distmin,ITG *ndesi,ITG *nodedesi,
5766        ITG *nobject,char *objectset,double *g0,double *dgdx,
5767        double *sti,double *df,ITG *nactdofinv,ITG *jqs,
5768        ITG *irows,ITG *idisplacement,ITG *nzs,char *jobnamec,ITG *isolver,
5769        ITG *icol,ITG *irow,ITG *jq,ITG *kode,double *cs,char *output,
5770        ITG *istartdesi,ITG *ialdesi,double *xdesi,char *orname,
5771        ITG *icoordinate,ITG *iev,double *d,double *z,double *au,double *ad,
5772        double *aub,double*adb,ITG *cyclicsymmetry,ITG *nzss,ITG *nev,
5773        ITG *ishapeenergy,double *fint,ITG *nlabel,ITG *igreen,ITG *nasym,
5774        ITG *iponoel,ITG *inoel,ITG *nodedesiinv,double *dgdxglob,
5775        double *df2,double *dgdxdy,ITG *nkon,ITG *iponod2dto3d,
5776        ITG *iponk2dto3d,ITG *ics,ITG *mcs,ITG *mpcend,ITG *noddiam,
5777 		double *duds,
5778 		ITG *ipobody,ITG *ibody,double *xbody,ITG *nbody);
5779 
5780 void FORTRAN(subspace,(double *d,double *aa,double *bb,double *cc,
5781              double *alpham,double *betam,ITG *nev,
5782              double *xini,double *cd,double *cv,double *time,
5783              double *rwork,ITG *lrw,ITG *k,ITG *jout,double *rpar,
5784              double *bj,ITG *iwork,ITG *liw,ITG *iddebdf,double *bjp));
5785 
5786 void FORTRAN(subtracthmatrix,(ITG *neqp,double *aubh,double *adbh,
5787 			      double *aux,double *dp,ITG *jqp,ITG *irowp,
5788 			      double *b,double *theta1,double *dtimef));
5789 
5790 void FORTRAN(tempload,(double *xforcold,double *xforc,double *xforcact,
5791                ITG *iamforc,ITG *nforc,double *xloadold,double *xload,
5792                double *xloadact,ITG *iamload,ITG *nload,ITG *ibody,
5793                double *xbody,ITG *nbody,double *xbodyold,double *xbodyact,
5794                double *t1old,double *t1,double *t1act,ITG *iamt1,
5795                ITG *nk,double *amta,ITG *namta,ITG *nam,double *ampli,
5796                double *time,double *reltime,double *ttime,double *dtime,
5797                ITG *ithermal,ITG *nmethod,
5798                double *xbounold,double *xboun,double *xbounact,
5799                ITG *iamboun,ITG *nboun,ITG *nodeboun,
5800                ITG *ndirboun,ITG *nodeforc,ITG *ndirforc,ITG *istep,
5801                ITG *iint,double *co,double *vold,ITG *itg,ITG *ntg,
5802                char *amname,ITG *ikboun,ITG *ilboun,ITG *nelemload,
5803                char *sideload,ITG *mi,ITG *ntrans,double *trab,
5804                ITG *inotr,double *veold,ITG *integerglob,
5805                double *doubleglob,char *tieset,ITG *istartset,
5806                ITG *iendset,ITG *ialset,ITG *ntie,ITG *nmpc,ITG *ipompc,
5807                ITG *ikmpc,ITG *ilmpc,ITG *nodempc,double *coefmpc,
5808                ITG *ipobody,ITG *iponoel,ITG *inoel,ITG *ipkon,ITG *kon,
5809                ITG *ielprop,double *prop,ITG *ielmat,double *shcon,
5810                ITG *nshcon,double *rhcon,ITG *nrhcon,double *cocon,
5811 	       ITG *ncocon,ITG *ntmat_,char *lakon,char *set,ITG *nset));
5812 
5813 void FORTRAN(tempload_em,(double *xforcold,double *xforc,double *xforcact,
5814                ITG *iamforc,ITG *nforc,double *xloadold,double *xload,
5815                double *xloadact,ITG *iamload,ITG *nload,ITG *ibody,
5816                double *xbody,ITG *nbody,double *xbodyold,double *xbodyact,
5817                double *t1old,double *t1,double *t1act,ITG *iamt1,
5818                ITG *nk,double *amta,ITG *namta,ITG *nam,double *ampli,
5819                double *time,double *reltime,double *ttime,double *dtime,
5820                ITG *ithermal,ITG *nmethod,
5821                double *xbounold,double *xboun,double *xbounact,
5822                ITG *iamboun,ITG *nboun,ITG *nodeboun,
5823                ITG *ndirboun,ITG *nodeforc,ITG *ndirforc,ITG *istep,
5824                ITG *iint,double *co,double *vold,ITG *itg,ITG *ntg,
5825                char *amname,ITG *ikboun,ITG *ilboun,ITG *nelemload,
5826                char *sideload,ITG *mi,ITG *ntrans,double *trab,
5827                ITG *inotr,double *veold,ITG *integerglob,
5828                double *doubleglob,char *tieset,ITG *istartset,
5829                ITG *iendset,ITG *ialset,ITG *ntie,ITG *nmpc,ITG *ipompc,
5830                ITG *ikmpc,ITG *ilmpc,ITG *nodempc,double *coefmpc,
5831                double *h0scale,ITG *inomat,ITG *ipobody,ITG *iponoel,
5832                ITG *inoel,ITG *ipkon,ITG *kon,char *lakon,ITG *ielprop,
5833                double *prop,ITG *ielmat,double *shcon,ITG *nshcon,
5834                double *rhcon,ITG *nrhcon,ITG *ntmat_,double *cocon,
5835 	       ITG *ncocon,char *set,ITG *nset));
5836 
5837 void FORTRAN(temploaddiff,(double *xforcold,double *xforc,double *xforcact,
5838                ITG *iamforc,ITG *nforc,double *xloadold,double *xload,
5839                double *xloadact,ITG *iamload,ITG *nload,ITG *ibody,
5840                double *xbody,ITG *nbody,double *xbodyold,double *xbodyact,
5841                double *t1old,double *t1,double *t1act,ITG *iamt1,
5842                ITG *nk,double *amta,ITG *namta,ITG *nam,double *ampli,
5843                double *time,double *reltime,double *ttime,double *dtime,
5844                ITG *ithermal,ITG *nmethod,
5845                double *xbounold,double *xboun,double *xbounact,
5846                ITG *iamboun,ITG *nboun,ITG *nodeboun,
5847                ITG *ndirboun,ITG *nodeforc,ITG *ndirforc,ITG *istep,
5848                ITG *iint,double *co,double *vold,ITG *itg,ITG *ntg,
5849                char *amname,ITG *ikboun,ITG *ilboun,ITG *nelemload,
5850                char *sideload,ITG *mi,double *xforcdiff,double *xloaddiff,
5851                double *xbodydiff,double *t1diff,double *xboundiff,
5852                ITG *icorrect,ITG *iprescribedboundary,ITG *ntrans,
5853                double *trab,ITG *inotr,double *veold,ITG *nactdof,
5854                double *bcont,double *fn,ITG *ipobody,ITG *iponoel,
5855                ITG *inoel,ITG *ipkon,ITG *kon,char *lakon,ITG *ielprop,
5856                double *prop,ITG *ielmat,double *shcon,ITG *nshcon,
5857                double *rhcon,ITG *nrhcon,ITG *ntmat_,double *cocon,
5858                ITG *ncocon));
5859 
5860 void FORTRAN(temploadfem,(double *xforcold,double *xforc,double *xforcact,
5861                ITG *iamforc,ITG *nforc,double *xloadold,double *xload,
5862                double *xloadact,ITG *iamload,ITG *nload,ITG *ibody,
5863                double *xbody,ITG *nbody,double *xbodyold,double *xbodyact,
5864                double *t1old,double *t1,double *t1act,ITG *iamt1,
5865                ITG *nk,double *amta,ITG *namta,ITG *nam,double *ampli,
5866                double *time,double *reltime,double *ttime,double *dtime,
5867                ITG *ithermal,ITG *nmethod,
5868                double *xbounold,double *xboun,double *xbounact,
5869                ITG *iamboun,ITG *nboun,ITG *nodeboun,
5870                ITG *ndirboun,ITG *nodeforc,ITG *ndirforc,ITG *istep,
5871                ITG *iITG,double *co,double *vold,ITG *itg,ITG *ntg,
5872                char *amname,ITG *ikboun,ITG *ilboun,ITG *nelemload,
5873                char *sideload,ITG *mi,ITG *ntrans,double *trab,
5874                ITG *inotr,double *veold,ITG *ITGegerglob,
5875                double *doubleglob,char *tieset,ITG *istartset,
5876                ITG *iendset,ITG *ialset,ITG *ntie,ITG *nmpc,ITG *ipompc,
5877                ITG *ikmpc,ITG *ilmpc,ITG *nodempc,double *coefmpc,
5878 	       char *set,ITG *nset));
5879 
5880 void FORTRAN(temploadmodal,(double *amta,ITG *namta,ITG *nam,double *ampli,
5881          double *timemin,double *ttimemin,double *dtime,double *xbounold,
5882          double *xboun,double *xbounmin,ITG *iamboun,ITG *nboun,
5883          ITG *nodeboun,ITG *ndirboun,char *amname,double *reltime));
5884 
5885 void FORTRAN(thickenlayer,(ITG *ipkonf,ITG *konf,char *lakonf,double *co,
5886 			   double *coel,double *cotet,ITG *nef));
5887 
5888 void FORTRAN(thickness,(ITG *nobject,ITG *nodedesiboun,
5889 			ITG *ndesiboun,char *objectset,double *xo,double *yo,
5890 			double *zo,double *x,double *y,double *z,ITG *nx,
5891 			ITG *ny,ITG *nz,double *co,ITG *ifree,ITG *ndesia,
5892 			ITG *ndesib,ITG *iobject,ITG *ndesi,double *dgdxglob,
5893 			ITG *nk,ITG *normdesi));
5894 
5895 void thicknessmain(double *co,ITG *nobject,ITG *nk,
5896 		   ITG *nodedesi,ITG *ndesi,char *objectset,ITG *ipkon,
5897 		   ITG *kon,char *lakon,char *set,ITG *nset,ITG *istartset,
5898 		   ITG *iendset,ITG *ialset,ITG *iobject,ITG *nodedesiinv,
5899 		   double *dgdxglob,double *xdesi);
5900 
5901 void *thicknessmt(ITG *i);
5902 
5903 void FORTRAN(tiefaccont,(char *lakon,ITG *ipkon,ITG *kon,ITG *ntie,
5904        char *tieset,ITG *nset,char *set,ITG *istartset,ITG *iendset,
5905        ITG *ialset,ITG *itiefac,ITG *islavsurf,ITG *islavnode,
5906        ITG *imastnode,ITG *nslavnode,ITG *nmastnode,ITG *nslavs,
5907        ITG *nmasts,ITG *ifacecount,ITG *iponoels,ITG *inoels,ITG *ifreenoels,
5908        ITG *mortar,ITG *ipoface,ITG *nodface,ITG *nk,double *xnoels));
5909 
5910 void tiedcontact(ITG *ntie,char *tieset,ITG *nset,char *set,
5911                ITG *istartset,ITG *iendset,ITG *ialset,
5912                char *lakon,ITG *ipkon,ITG *kon,double *tietol,
5913                ITG *nmpc,ITG *mpcfree,ITG *memmpc_,
5914                ITG **ipompcp,char **labmpcp,ITG **ikmpcp,ITG **ilmpcp,
5915                double **fmpcp,ITG **nodempcp,double **coefmpcp,
5916                ITG *ithermal,double *co,double *vold,ITG *nef,
5917                ITG *nmpc_,ITG *mi,ITG *nk,ITG *istep,ITG *ikboun,
5918                ITG *nboun,char *kind1,char *kind2);
5919 
5920 void FORTRAN(topocfd,(ITG *ne,ITG *ipkon,ITG *kon,char *lakon,ITG *ipnei,
5921                      ITG *neifa,ITG *neiel,ITG *ipoface,ITG *nodface,
5922                      ITG *ielfa,ITG *nkonnei,ITG *nface,ITG *ifaext,
5923                      ITG *nfaext,ITG *isolidsurf,ITG *nsolidsurf,char *set,
5924                      ITG *nset,ITG *istartset,ITG *iendset,ITG *ialset,
5925                      double *vel,double *vold,ITG *mi,ITG *neij,ITG *nef,
5926                      ITG *nactdoh,ITG *ipkonf,char *lakonf,ITG *ielmatf,
5927                      ITG *ielmat,ITG *ielorienf,ITG *ielorien,ITG *norien,
5928                      double *cs,ITG *mcs,char *tieset,double *x,double *y,
5929                      double *z,double *xo,double *yo,double *zo,ITG *nx,
5930                      ITG *ny,ITG *nz,double *co,ITG *ifatie,double *velo,
5931                      double *veloo,ITG *initial));
5932 
5933 void FORTRAN(topocfdfem,(ITG *nelemface,char *sideface,ITG *nface,ITG *ipoface,
5934 			 ITG *nodface,ITG *ne,ITG *ipkon,ITG *kon,char *lakon,
5935 			 ITG *nk,ITG *isolidsurf,ITG *nsolidsurf,
5936 			 ITG *ifreestream,ITG *nfreestream,ITG *neighsolidsurf,
5937 			 ITG *iponoel,ITG *inoel,ITG *inoelfree,
5938 			 double *co,char *set,ITG *istartset,
5939 			 ITG *iendset,ITG *ialset,ITG *nset,ITG *iturbulent,
5940 			 ITG *inomat,ITG *ielmat,ITG *ipface));
5941 
5942 void FORTRAN(totalcontact,(char *tieset,ITG *ntie,ITG *ne,ITG *ipkon,ITG *kon,
5943 			   char *lakon,ITG *islavsurf,ITG *itiefac,
5944 			   double *pmastsurf,ITG *ne0,ITG *nkon0));
5945 
5946 void FORTRAN(transformatrix,(double *xab,double *p,double *a));
5947 
5948 void FORTRAN(transition,(double *dgdxglob,ITG *nobject,ITG *nk,ITG *nodedesi,
5949 			 ITG *ndesi,char *objectset,double *xo,double *yo,
5950 			 double *zo,double *x,double *y,double *z,ITG *nx,
5951 			 ITG *ny,ITG *nz,double *co,ITG *ifree,ITG *ndesia,
5952 			 ITG *ndesib,ITG *nobjectstart));
5953 
5954 void transitionmain(double *co,double *dgdxglob,ITG *nobject,ITG *nk,
5955                 ITG *nodedesi,ITG *ndesi,char *objectset,ITG *ipkon,
5956                 ITG *kon,char *lakon,ITG *ipoface,ITG *nodface,
5957                 ITG *nodedesiinv,ITG* nobjectstart);
5958 
5959 void *transitionmt(ITG *i);
5960 
5961 void FORTRAN(trianeighbor,(ITG *ipe,ITG *ime,ITG *imastop,ITG *ncont,
5962                ITG *koncont,ITG *ifreeme));
5963 
5964 void FORTRAN(triangucont,(ITG *ncont,ITG *ntie,char *tieset,ITG *nset,
5965 			  char *set,ITG *istartset,ITG *iendset,ITG *ialset,
5966 			  ITG *itietri,char *lakon,ITG *ipkon,ITG *kon,
5967 			  ITG *koncont,char *kind1,char *kind2,double *co,
5968 			  ITG *nk,ITG *mortar));
5969 
5970 void FORTRAN(tridiagonal_nrhs,(double *a,double *b,ITG *n,ITG *m,
5971              ITG *nrhs));
5972 
5973 void FORTRAN(turningdirection,(double *v,double *e1,double *e2,double *xn,
5974                                ITG *mi,
5975                                ITG *nk,char *turdir,char *lakon,ITG *ipkon,
5976                                ITG *kon,ITG *ne,double *co));
5977 
5978 #ifdef BAM
5979 void FORTRAN(uexternaldb,(ITG *lop,ITG *lrestart,double *time,double *dtime,
5980                           ITG *kstep,ITG *kinc));
5981 #endif
5982 
5983 void FORTRAN(ufaceload,(double *co,ITG *ipkon,ITG *kon,char *lakon,
5984                         ITG *nboun,ITG *nodeboun,
5985                         ITG *nelemload,char *sideload,ITG *nload,
5986                         ITG *ne,ITG *nk));
5987 
5988 void FORTRAN(uinit,());
5989 
5990 void FORTRAN(uiter,(ITG *iit));
5991 
5992 void FORTRAN(uout,(double *v,ITG *mi,ITG *ithermal,char *filab,
5993 		   ITG *kode,char *output,char *jobnamec));
5994 
5995 void FORTRAN(updatecon,(double *vold,double *vcon,double *v,ITG *nk,
5996 			ITG *ithermal,ITG *turbulent,ITG *mi,
5997 			ITG *compressible));
5998 
5999 void FORTRAN(updatecont,(ITG *koncont,ITG *ncont,double *co,double *vold,
6000                          double *cg,double *straight,ITG *mi));
6001 
6002 void FORTRAN(updatecontpen,(ITG *koncont,ITG *ncont,double *co,double *vold,
6003                          double *cg,double *straight,ITG *mi,ITG *imastnode,
6004                          ITG *nmastnode,double *xmastnor,ITG *ntie,
6005                          char *tieset,ITG *nset,char *set,ITG *istartset,
6006                          ITG *iendset,ITG *ialset,ITG *ipkon,char *lakon,
6007                          ITG *kon,double *cs,ITG *mcs,ITG *ics));
6008 
6009 void FORTRAN(updategeodata,(ITG *nktet,ITG *netet_,double *h,double *d,
6010 			    double *dmin,ITG *ipoed,ITG *iedg,double *cotet,
6011 			    double *planfa,double *bc,double *cg,ITG *kontet,
6012 			    ITG *ifac,ITG *ipofa,double *doubleglob,
6013 			    ITG *integerglob,ITG *ipoeln));
6014 
6015 void *u_calloc(size_t num,size_t size,const char *file,const int line,const char *ptr_name);
6016 
6017 void *u_free(void* num,const char *file,const int line,const char *ptr_name);
6018 
6019 void *u_malloc(size_t size,const char *file,const int line,const char *ptr_name);
6020 
6021 void *u_realloc(void* num,size_t size,const char *file,const int line,const char *ptr_name);
6022 
6023 void utempread(double *t1,ITG *istep,char *jobnamec);
6024 
6025 void FORTRAN(varsmooth,(double *aub,double *adl,
6026 			     double *sol,double *aux,ITG *irow,
6027 			     ITG *jq,ITG *neqa,ITG *neqb,double *alpha));
6028 
6029 void *varsmoothmt(ITG *i);
6030 
6031 void FORTRAN(velinireltoabs,(ITG *ibody,double *xbody,char *cbody,ITG *nbody,
6032                              char *set,ITG *istartset,
6033                              ITG *iendset,ITG *ialset,ITG *nset,
6034                              double *veold,ITG *mi,ITG *ipkon,ITG *kon,
6035                              char *lakon,double *co,ITG *itreated));
6036 
6037 void FORTRAN(velsolve,(ITG *nef,ITG *ipnei,double *bv,double *auv,double *adv,
6038                        double *vel,double *temp,ITG *neiel));
6039 
6040 void worparll(double *allwk,double *fnext,ITG *mt,double *fnextini,
6041                    double *v,double *vini,ITG *nk,ITG *num_cpus);
6042 
6043 void *worparllmt(ITG *i);
6044 
6045 void writeBasisParameter(FILE *f,ITG *istep,ITG *iinc);
6046 
6047 void FORTRAN(writeboun,(ITG *nodeboun,ITG *ndirboun,double *xboun,
6048       char *typeboun,ITG *nboun));
6049 
6050 void FORTRAN(writebv,(double *,ITG *));
6051 
6052 void FORTRAN(writecvg,(ITG *itep,ITG *iinc,ITG *icutb,ITG *iit,ITG *ne,ITG *ne0,
6053                        double *ram,double *qam,double *cam,double *uam,
6054                        ITG *ithermal));
6055 
6056 void FORTRAN(writedeigdx,(ITG *iev,double *d,ITG *ndesi,char*orname,
6057                           double *dgdx));
6058 
6059 void FORTRAN(writedesi,(ITG *norien,char *orname));
6060 
6061 void FORTRAN(writeelem,(ITG *i,char *lakon));
6062 
6063 void FORTRAN(writeev,(double *,ITG *,double *,double *));
6064 
6065 void FORTRAN(writeevcomplex,(double *eigxx,ITG *nev,double *fmin,double *fmax));
6066 
6067 void FORTRAN(writeevcs,(double *,ITG *,ITG *,double *,double *));
6068 
6069 void FORTRAN(writeevcscomplex,(double *eigxx,ITG *nev,ITG *nm,double *fmin,
6070             double *fmax));
6071 
6072 void FORTRAN(writehe,(ITG *));
6073 
6074 void writeheading(char *jobnamec,char *heading,ITG *nheading);
6075 
6076 void FORTRAN(writeim,());
6077 
6078 void FORTRAN(writeinput,(char *inpc,ITG *ipoinp,ITG *inp,ITG *nline,ITG *ninp,
6079                          ITG *ipoinpc));
6080 
6081 void FORTRAN(writelm,(ITG *iter,double *lambda,ITG *nactive,ITG *nnlconst,
6082                       char *objectset,ITG *nobject,ITG *ipacti,
6083                       ITG *iconstacti,ITG *inameacti,ITG *nodedesi,
6084 		      double *dgdxglob,ITG *nk));
6085 
6086 void FORTRAN(writemac,(double *mac,ITG *nev,ITG *nevcomplex));
6087 
6088 void FORTRAN(writemaccs,(double *mac,ITG *nev,ITG* nm));
6089 
6090 void FORTRAN(writemeshinp,(ITG *kontet,ITG *netet_,double *cotet,ITG *nktet,
6091                            ITG *ij,ITG *ipoed,ITG *iedg,ITG *iexternedg,
6092 			   double *quality));
6093 
6094 void FORTRAN(writemeshinp_mesh,(ITG *kontet,ITG *netet_,double *cotet,
6095 				ITG *nktet,ITG *ij,ITG *ipofa,ITG *ifac,
6096 				ITG *iexternfa));
6097 
6098 void FORTRAN(writempc,(ITG *,ITG *,double *,char *,ITG *));
6099 
6100 void writenewmesh(ITG *nktet,ITG *netet_,double *cotet,ITG *iquad,
6101 		  ITG *kontet,ITG *iedgmid,ITG *iedtet,ITG *mi,
6102 		  char *matname,ITG *ithermal,char *jobnamec,
6103 		  char *output,ITG *nmat);
6104 
6105 void FORTRAN(writeobj,(char *objectset,ITG *iobject,double *g0));
6106 
6107 void writeoldmesh(ITG *nk,ITG *ne,double *co,ITG *ipkon,
6108 		  ITG *kon,char *lakon,ITG *mi,
6109 		  char *matname,ITG *ithermal,char *jobnamec,
6110 		  char *output,ITG *nmat);
6111 
6112 void FORTRAN(writepf,(double *d,double *bjr,double *bji,double *freq ,
6113                       ITG *nev,ITG *mode,ITG *nherm));
6114 
6115 void FORTRAN(writerandomfield,(double *d,double *relerr,ITG *imodes));
6116 
6117 void FORTRAN(writere,());
6118 
6119 void FORTRAN(writerefinemesh,(ITG *kontet,ITG *netet_,double *cotet,ITG *nktet,
6120                               char *jobnamec,
6121                               ITG *iquad,ITG *iedtet,ITG *iedgmid,
6122                               ITG *number,ITG *jfix,ITG *iparentel,
6123 			      ITG *nk,ITG *iwrite));
6124 
6125 void FORTRAN(writesen,(double *g0,double *dgdx,ITG *ndesi,ITG *nobject,
6126                        ITG *nodedesi,char *jobnamef));
6127 
6128 void FORTRAN(writesta,(ITG *istep,ITG *j,ITG *icutb,ITG *l,double *ttime,
6129                        double *time,double *dtime));
6130 
6131 void FORTRAN(writestadiv,(ITG *istep,ITG *j,ITG *icutb,ITG *l,double *ttime,
6132                        double *time,double *dtime));
6133 
6134 void FORTRAN(writesubmatrix,(double *submatrix,ITG *noderetain,
6135              ITG *ndirretain,ITG *nretain,char *jobnamec));
6136 
6137 void FORTRAN(writesummary,(ITG *istep,ITG *j,ITG *icutb,ITG *l,double *ttime,
6138                    double *time,double *dtime));
6139 
6140 void FORTRAN(writesummarydiv,(ITG *istep,ITG *j,ITG *icutb,ITG *l,double *ttime,
6141                    double *time,double *dtime));
6142 
6143 void FORTRAN(writetetmesh,(ITG *kontet,ITG *netet_,double *cotet,
6144      ITG *nktet,double *field,ITG *nfield));
6145 
6146 void FORTRAN(writeturdir,(double *xn,char *turdir,ITG *nev));
6147 
6148 void FORTRAN(writeturdircs,(double *xn,char *turdir,ITG *nev,ITG *nm));
6149 
6150 void FORTRAN(writeview,(ITG *ntr,double *adview,double *auview,double *fenv,
6151             ITG *nzsrad,char *jobnamef));
6152 
6153 void FORTRAN(zienzhu,(double *co,ITG *nk,ITG *kon,ITG *ipkon,char *lakon,
6154                       ITG *ne,double *stn,ITG *ipneigh,ITG *neigh,
6155                       double *sti,ITG *mi));
6156 
6157 void FORTRAN(znaupd,(ITG *ido,char *bmat,ITG *n,char *which,ITG *nev,
6158              double *tol,double *resid,ITG *ncv,double *z,ITG *ldz,
6159              ITG *iparam,ITG *ipntr,double *workd,double *workl,
6160              ITG *lworkl,double *rwork,ITG *info));
6161 
6162 void FORTRAN(zneupd,(ITG *rvec,char *howmny,ITG *select,double *d,
6163              double *z,ITG *ldz,double *sigma,
6164              double *workev,char *bmat,ITG *neq,char *which,
6165              ITG *nev,double *tol,double *resid,ITG *ncv,double *v,
6166              ITG *ldv,ITG *iparam,ITG *ipntr,double *workd,
6167              double *workl,ITG *lworkl,double *rwork,ITG *info));
6168 
6169 #ifdef CALCULIX_EXTERNAL_BEHAVIOURS_SUPPORT
6170 
6171 /*!
6172  * list of supported external behaviours
6173  */
6174 typedef enum {
6175   //! interface to standard calculix behaviours
6176   CALCULIX_STANDARD_INTERFACE,
6177   //! interface to abaqus behaviours in small strain
6178   CALCULIX_ABAQUS_INTERFACE,
6179   //! interface to abaqus behaviours in finite strain
6180   CALCULIX_ABAQUSNL_INTERFACE
6181 } CalculixInterface;
6182 /*!
6183  * a structure describing an external behaviour
6184  */
6185 typedef struct
6186 {
6187   // name of the material
6188   const char *n;
6189   // interface
6190   CalculixInterface i;
6191   // function pointer
6192   const void* ptr;
6193 }  CalculixExternalBehaviour;
6194 /*!
6195  * \return the description of an external beahviour
6196  * \param[in] n : external behaviour name
6197  */
6198 const CalculixExternalBehaviour*
6199 calculix_searchExternalBehaviour(const char*);
6200 /*!
6201  * \param[in] n: material name
6202  */
6203 void calculix_registerExternalBehaviour(const char *);
6204 /*!
6205  * \brief free the memory associated with external behaviours
6206  * treatment.
6207  */
6208 void calculix_freeExternalBehaviours();
6209 
6210 #endif /* CALCULIX_EXTERNAL_BEHAVIOURS_SUPPORT */
6211