81 char description[13]=
" ",*lakon=NULL,jobnamef[396]=
"",
82 *labmpc=NULL,kind1[2]=
"E",kind2[2]=
"E",*
set=NULL,*tieset=NULL,
83 cflag[1]=
" ",*sideloadref=NULL,*sideload=NULL;
85 ITG *inum=NULL,k,iout=0,icntrl,iinc=0,jprint=0,iit=-1,jnz=0,
86 icutb=0,istab=0,ifreebody,uncoupled=0,maxfaces,indexe,nope,
87 iperturb_sav[2],*icol=NULL,*irow=NULL,ielas=0,icmd=0,j,
88 memmpc_,mpcfree,icascade,maxlenmpc,*nodempc=NULL,*iaux=NULL,
89 *itg=NULL,*ineighe=NULL,null=0,iactive[3],neqterms,ntflag,
90 *ieg=NULL,ntg=0,ntr,*kontri=NULL,*nloadtr=NULL,index,
91 *ipiv=NULL,ntri,newstep,mode=-1,noddiam=-1,nasym=0,
92 ntrit,*inocs=NULL,inewton=0,*ipobody=NULL,*nacteq=NULL,
93 *nactdog=NULL,nteq,nmastnode,imast,massact[2],
94 *ipkon=NULL,*kon=NULL,*ielorien=NULL,nmethodact,ne2=0,
95 *ielmat=NULL,inext,itp=0,symmetryflag=0,inputformat=0,
96 iitterm=0,ngraph=1,ithermalact=2,*islavact=NULL,neini,
97 *ipompc=NULL,*ikmpc=NULL,*ilmpc=NULL,i0ref,irref,icref,
98 *islavnode=NULL,*imastnode=NULL,*nslavnode=NULL,mortar=0,
99 mt=mi[1]+1,*nactdofinv=NULL, inode,idir,*islavsurf=NULL,
100 iemchange=0,nzsrad,*mast1rad=NULL,*irowrad=NULL,*icolrad=NULL,
101 *jqrad=NULL,*ipointerrad=NULL,*integerglob=NULL,im,ne0,
102 mass[2]={0,0}, stiffness=1, buckling=0, rhsi=1, intscheme=0,idiscon=0,
103 coriolis=0,*ipneigh=NULL,*neigh=NULL,i,icfd=0,id,node,networknode,
104 iflagact=0,*nodorig=NULL,*ipivr=NULL,*inomat=NULL,*nodface=NULL,
105 *ipoface=NULL,*istartset=NULL,*iendset=NULL,*ialset=NULL,
106 *nelemloadref=NULL,*iamloadref=NULL,nloadref,kscale=1,
107 *nelemload=NULL,*iamload=NULL,*idefload=NULL,ialeatoric=0,
108 *iponoel=NULL,*inoel=NULL,inoelsize;
110 double *stn=NULL,*v=NULL,*een=NULL,cam[5],*epn=NULL,*cdn=NULL,
111 *f=NULL,*fn=NULL,qa[4]={0.,0.,-1.,0.},qam[2]={0.,0.},dtheta,theta,
112 err,ram[4]={0.,0.,0.,0.},*springarea=NULL,*h0=NULL,
113 ram1[2]={0.,0.},ram2[2]={0.,0.},deltmx,*clearini=NULL,
114 uam[2]={0.,0.},*vini=NULL,*ac=NULL,qa0,qau,ea,ptime,
115 *t1act=NULL,qamold[2],*xbounact=NULL,*bc=NULL,
116 *xforcact=NULL,*xloadact=NULL,*fext=NULL,h0scale=1.,
117 reltime,time,bet=0.,gam=0.,*aux1=NULL,*aux2=NULL,dtime,*fini=NULL,
118 *fextini=NULL,*veini=NULL,*xstateini=NULL,*h0ref=NULL,
119 *ampli=NULL,*eei=NULL,*t1ini=NULL,*tinc,*tper,*tmin,*tmax,
120 *xbounini=NULL,*xstiff=NULL,*stx=NULL,*cv=NULL,*cvini=NULL,
121 *enern=NULL,*coefmpc=NULL,*aux=NULL,*xstaten=NULL,
122 *enerini=NULL,*emn=NULL,*xmastnor=NULL,*fnext=NULL,
123 *tarea=NULL,*tenv=NULL,*erad=NULL,*fnr=NULL,*fni=NULL,
125 *qfn=NULL,*co=NULL,*vold=NULL,*fenv=NULL,sigma=0.,
126 *xbodyact=NULL,*cgr=NULL,dthetaref,*vr=NULL,*vi=NULL,
127 *stnr=NULL,*stni=NULL,*vmax=NULL,*stnmax=NULL,*fmpc=NULL,*ener=NULL,
128 *
f_cm=NULL,*f_cs=NULL,*tietol=NULL,
129 *xstate=NULL,*eenmax=NULL,*adrad=NULL,*aurad=NULL,*bcr=NULL,
130 *emeini=NULL,*doubleglob=NULL,*au=NULL,
131 *ad=NULL,*b=NULL,*aub=NULL,*adb=NULL,*pslavsurf=NULL,*pmastsurf=NULL,
132 *cdnr=NULL,*cdni=NULL,*energyini=NULL,*energy=NULL;
147 }
else if(*nmethod==9){
149 }
else if(*nmethod==10){
154 strcpy1(&jobnamef[k*132],&jobnamec[k*132],132);
157 qa0=ctrl[20];qau=ctrl[21];ea=ctrl[23];deltmx=ctrl[26];
158 i0ref=ctrl[0];irref=ctrl[1];icref=ctrl[3];
160 memmpc_=mpcinfo[0];mpcfree=mpcinfo[1];icascade=mpcinfo[2];
161 maxlenmpc=mpcinfo[3];
163 icol=*icolp;irow=*irowp;co=*cop;vold=*voldp;
164 ipkon=*ipkonp;lakon=*lakonp;kon=*konp;ielorien=*ielorienp;
165 ielmat=*ielmatp;ener=*enerp;xstate=*xstatep;
167 ipompc=*ipompcp;labmpc=*labmpcp;ikmpc=*ikmpcp;ilmpc=*ilmpcp;
168 fmpc=*fmpcp;nodempc=*nodempcp;coefmpc=*coefmpcp;
170 set=*setp;istartset=*istartsetp;iendset=*iendsetp;ialset=*ialsetp;
171 tieset=*tiesetp;tietol=*tietolp;
173 nelemload=*nelemloadp;iamload=*iamloadp;
186 ipkon,lakon,kon,ne));
191 NNEW(xstiff,
double,(
long long)27*mi[0]**ne);
195 NNEW(f,
double,neq[1]);
196 NNEW(fext,
double,neq[1]);
198 NNEW(b,
double,neq[1]);
199 NNEW(vini,
double,mt**nk);
201 NNEW(aux,
double,7*maxlenmpc);
206 NNEW(xbounact,
double,*nboun);
207 NNEW(xbounini,
double,*nboun);
208 for(k=0;k<*nboun;++k){xbounact[k]=xbounold[k];}
209 NNEW(xforcact,
double,*nforc);
210 NNEW(xloadact,
double,2**nload);
211 NNEW(xbodyact,
double,7**nbody);
213 for(k=0;k<7**nbody;k++){xbodyact[k]=xbody[k];}
219 NNEW(ipobody,
ITG,2*ifreebody**nbody);
220 for(k=1;k<=*nbody;k++){
222 iendset,ialset,&inewton,nset,&ifreebody,&k));
223 RENEW(ipobody,
ITG,2*(*ne+ifreebody));
239 NNEW(v,
double,mt**nk);
241 ipkon,kon,lakon,ielmat,ne,nload,
242 kontri,&ntri,nloadtr,nflow,ndirboun,nactdog,
243 nodeboun,nacteq,nboun,ielprop,prop,&nteq,
244 v,network,physcon,shcon,ntmat_,co,
245 vold,
set,nshcon,rhcon,nrhcon,mi,nmpc,nodempc,
246 ipompc,labmpc,ikboun,&nasym,ttime,&time,iaxial));
249 if((*mcs>0)&&(ntr>0)){
251 radcyc(nk,kon,ipkon,lakon,ne,cs,mcs,nkon,ialset,istartset,
252 iendset,&kontri,&ntri,&co,&vold,&ntrit,inocs,mi);
265 &mast1rad,&irowrad,&nzsrad,
273 if((*network>0)||(ntg>0)){
278 &inoelsize,nflow,ieg,ne,network));
291 NNEW(adview,
double,ntr);
292 NNEW(auview,
double,2*nzsrad);
293 NNEW(tarea,
double,ntr);
294 NNEW(tenv,
double,ntr);
295 NNEW(fenv,
double,ntr);
296 NNEW(erad,
double,ntr);
298 NNEW(ac,
double,nteq*nteq);
299 NNEW(bc,
double,nteq);
301 NNEW(adrad,
double,ntr);
302 NNEW(aurad,
double,2*nzsrad);
303 NNEW(bcr,
double,ntr);
306 if(*ithermal>1){
NNEW(qfx,
double,3*mi[0]**ne);}
310 NNEW(ampli,
double,*nam);
312 NNEW(fini,
double,neq[1]);
319 NNEW(aux2,
double,neq[1]);
320 NNEW(fextini,
double,neq[1]);
321 NNEW(cv,
double,neq[1]);
322 NNEW(cvini,
double,neq[1]);
323 NNEW(veini,
double,mt**nk);
324 NNEW(adb,
double,neq[1]);
325 NNEW(aub,
double,nzs[1]);
333 FORTRAN(
checktime,(itpamp,namta,tinc,ttime,amta,tmin,&inext,&itp,istep,tper));
334 dtheta=(*tinc)/(*tper);
337 printf(
"\n *ERROR in nonlingeo\n");
338 printf(
" increment size smaller than one millionth of step size\n");
339 printf(
" increase increment size\n\n");
348 if(qau>1.e-10){qam[0]=qau;}
349 else if(qa0>1.e-10){qam[0]=qa0;}
350 else if(qa[0]>1.e-10){qam[0]=qa[0];}
354 if(qau>1.e-10){qam[1]=qau;}
355 else if(qa0>1.e-10){qam[1]=qa0;}
356 else if(qa[1]>1.e-10){qam[1]=qa[1];}
385 NNEW(qfx,
double,3*mi[0]**ne);
388 if(
strcmp1(&filab[3567],
"ECD ")==0){
NNEW(qfn,
double,3**nk);}
394 FORTRAN(
tempload,(xforcold,xforc,xforcact,iamforc,&null,xloadold,xload,
395 xloadact,iamload,&null,ibody,xbody,&null,xbodyold,xbodyact,
396 t1old,t1,t1act,iamt1,nk,amta,
397 namta,&null,ampli,&time,&reltime,ttime,&dtime,&ithermalact,nmethod,
398 xbounold,xboun,xbounact,iamboun,nboun,
399 nodeboun,ndirboun,nodeforc,ndirforc,istep,&iinc,
400 co,vold,itg,&ntg,amname,ikboun,ilboun,nelemload,sideload,mi,
401 ntrans,trab,inotr,veold,integerglob,doubleglob,tieset,istartset,
402 iendset,ialset,ntie,nmpc,ipompc,ikmpc,ilmpc,nodempc,coefmpc,
403 ipobody,iponoel,inoel));
410 if(
strcmp1(&lakon[8*i+6],
"L")!=0){
411 ipkon[i]=-ipkon[i]-2;
416 &mpcfree,nodeboun,ndirboun,nboun,ikmpc,ilmpc,ikboun,ilboun,
417 labmpc,nk,&memmpc_,&icascade,&maxlenmpc,
418 kon,ipkon,lakon,ne,nactdof,icol,jq,&irow,isolver,
419 neq,nzs,&nmethodact,&f,&fext,&b,&aux2,&fini,&fextini,
420 &adb,&aub,&ithermalact,iperturb,mass,mi,iexpl,&mortar,
421 typeboun,&cv,&cvini,&iit,network);
429 ipkon,lakon,kon,ne));
434 NNEW(fn,
double,mt**nk);
436 NNEW(v,
double,mt**nk);
438 results(co,nk,kon,ipkon,lakon,ne,v,stn,inum,stx,
439 elcon,nelcon,rhcon,nrhcon,alcon,nalcon,alzero,ielmat,
440 ielorien,norien,orab,ntmat_,t0,t1act,&ithermalact,
441 prestr,iprestr,filab,eme,emn,een,iperturb,f,fn,nactdof,&iout,
442 qa,vold,b,nodeboun,ndirboun,xbounact,nboun,ipompc,nodempc,coefmpc,
443 labmpc,nmpc,&nmethodact,cam,&neq[1],veold,accold,&bet,
444 &gam,&dtime,&time,ttime,plicon,nplicon,plkcon,nplkcon,
445 xstateini,xstiff,xstate,npmat_,epn,matname,mi,&ielas,&icmd,
446 ncmat_,nstate_,sti,vini,ikboun,ilboun,ener,enern,emeini,xstaten,
447 eei,enerini,alcon,nalcon,
set,nset,istartset,iendset,
448 ialset,nprint,prlab,prset,qfx,qfn,trab,inotr,ntrans,fmpc,
449 nelemload,&null,ikmpc,ilmpc,istep,&iinc,springarea,&reltime,
450 ne,xforc,&null,thicke,shcon,nshcon,
451 sideload,xloadact,xloadold,&icfd,inomat,pslavsurf,pmastsurf,
452 &mortar,islavact,cdn,islavnode,nslavnode,ntie,clearini,
453 islavsurf,ielprop,prop,energyini,energy,&kscale,iponoel,
454 inoel,nener,orname,network,ipobody,xbodyact,ibody);
460 NNEW(ad,
double,neq[1]);
461 NNEW(au,
double,nzs[1]);
463 mafillsmmain(co,nk,kon,ipkon,lakon,ne,nodeboun,ndirboun,xbounold,nboun,
464 ipompc,nodempc,coefmpc,nmpc,nodeforc,ndirforc,xforcact,
465 &null,nelemload,sideload,xloadact,&null,xbodyact,ipobody,
466 &null,cgr,ad,au,fext,nactdof,icol,jq,irow,neq,nzl,
467 &nmethodact,ikmpc,ilmpc,ikboun,ilboun,
468 elcon,nelcon,rhcon,nrhcon,alcon,nalcon,alzero,
469 ielmat,ielorien,norien,orab,ntmat_,
470 t0,t1act,&ithermalact,prestr,iprestr,vold,iperturb,sti,
471 nzs,stx,adb,aub,iexpl,plicon,nplicon,plkcon,nplkcon,
472 xstiff,npmat_,&dtime,matname,mi,
473 ncmat_,massact,&stiffness,&buckling,&rhsi,&intscheme,
474 physcon,shcon,nshcon,alcon,nalcon,ttime,&time,istep,&iinc,
475 &coriolis,ibody,xloadold,&reltime,veold,springarea,nstate_,
476 xstateini,xstate,thicke,integerglob,doubleglob,
477 tieset,istartset,iendset,ialset,ntie,&nasym,pslavsurf,
478 pmastsurf,&mortar,clearini,ielprop,prop,&ne0,fnext,&kscale,
479 iponoel,inoel,network);
488 frd(co,nk,kon,ipkon,lakon,ne,v,stn,inum,&nmethodact,
489 kode,filab,een,t1,fn,&ptime,epn,ielmat,matname,enern,xstaten,
490 nstate_,istep,&iinc,&ithermalact,qfn,&mode,&noddiam,trab,inotr,
491 ntrans,orab,ielorien,norien,description,ipneigh,neigh,
492 mi,sti,vr,vi,stnr,stni,vmax,stnmax,&ngraph,veold,ener,ne,
493 cs,
set,nset,istartset,iendset,ialset,eenmax,fnr,fni,emn,
494 thicke,jobnamec,output,qfx,cdn,&mortar,cdnr,cdni,nmat);
500 for(k=0;k<neq[1];++k){
506 spooles(ad,au,adb,aub,&sigma,b,icol,irow,&neq[1],&nzs[1],
507 &symmetryflag,&inputformat,&nzs[2]);
509 printf(
"*ERROR in nonlingeo: the SPOOLES library is not linked\n\n");
513 else if((*isolver==2)||(*isolver==3)){
514 preiter(ad,&au,b,&icol,&irow,&neq[1],&nzs[1],isolver,iperturb);
516 else if(*isolver==4){
519 sgi_main(ad,au,adb,aub,&sigma,b,icol,irow,&neq[1],&nzs[1],token);
521 printf(
"*ERROR in nonlingeo: the SGI library is not linked\n\n");
525 else if(*isolver==5){
527 tau(ad,&au,adb,aub,&sigma,b,icol,&irow,&neq[1],&nzs[1]);
529 printf(
"*ERROR in nonlingeo: the TAUCS library is not linked\n\n");
533 else if(*isolver==7){
535 pardiso_main(ad,au,adb,aub,&sigma,b,icol,irow,&neq[1],&nzs[1],
536 &symmetryflag,&inputformat,jq,&nzs[2]);
538 printf(
"*ERROR in nonlingeo: the PARDISO library is not linked\n\n");
545 NNEW(v,
double,mt**nk);
548 NNEW(fn,
double,mt**nk);
551 results(co,nk,kon,ipkon,lakon,ne,v,stn,inum,stx,
552 elcon,nelcon,rhcon,nrhcon,alcon,nalcon,alzero,ielmat,
553 ielorien,norien,orab,ntmat_,t0,t1act,&ithermalact,
554 prestr,iprestr,filab,eme,emn,een,iperturb,
555 f,fn,nactdof,&iout,qa,vold,b,nodeboun,
556 ndirboun,xbounact,nboun,ipompc,
557 nodempc,coefmpc,labmpc,nmpc,&nmethodact,cam,&neq[1],veold,accold,
558 &bet,&gam,&dtime,&time,ttime,plicon,nplicon,plkcon,nplkcon,
559 xstateini,xstiff,xstate,npmat_,epn,matname,mi,&ielas,
560 &icmd,ncmat_,nstate_,sti,vini,ikboun,ilboun,ener,enern,
561 emeini,xstaten,eei,enerini,alcon,nalcon,
set,nset,istartset,
562 iendset,ialset,nprint,prlab,prset,qfx,qfn,trab,inotr,ntrans,
563 fmpc,nelemload,&null,ikmpc,ilmpc,istep,&iinc,springarea,
564 &reltime,ne,xforc,&null,thicke,shcon,nshcon,
565 sideload,xloadact,xloadold,&icfd,inomat,pslavsurf,pmastsurf,
566 &mortar,islavact,cdn,islavnode,nslavnode,ntie,clearini,
567 islavsurf,ielprop,prop,energyini,energy,&kscale,iponoel,
568 inoel,nener,orname,network,ipobody,xbodyact,ibody);
576 if(
strcmp1(&lakon[8*i+6],
"L")!=0){
577 ipkon[i]=-ipkon[i]-2;
578 }
else if(ipkon[i]!=-1){
583 if(
strcmp1(&lakon[8*i+3],
"6")==0){nope=6;}
584 else if(
strcmp1(&lakon[8*i+3],
"8")==0){nope=8;}
585 else if(
strcmp1(&lakon[8*i+3],
"1")==0){nope=15;}
589 vold[mt*(node-1)]=v[mt*(node-1)];
596 if(
strcmp1(&filab[87],
"NT ")==0){
605 nload,nodeboun,nboun,ndirboun,ithermal,co,vold,mi,ielmat));
610 frdcyc(co,nk,kon,ipkon,lakon,ne,v,stn,inum,&nmethodact,kode,filab,een,
611 t1act,fn,&ptime,epn,ielmat,matname,cs,mcs,nkon,enern,xstaten,
612 nstate_,istep,&iinc,iperturb,ener,mi,output,&ithermalact,qfn,
613 ialset,istartset,iendset,trab,inotr,ntrans,orab,ielorien,
614 norien,stx,veold,&noddiam,
set,nset,emn,thicke,jobnamec,ne,
615 cdn,&mortar,nmat,qfx);
619 frd(co,nk,kon,ipkon,lakon,ne,v,stn,inum,&nmethodact,
620 kode,filab,een,t1act,fn,&ptime,epn,ielmat,matname,enern,xstaten,
621 nstate_,istep,&iinc,&ithermalact,qfn,&mode,&noddiam,trab,inotr,
622 ntrans,orab,ielorien,norien,description,ipneigh,neigh,
623 mi,stx,vr,vi,stnr,stni,vmax,stnmax,&ngraph,veold,ener,ne,
624 cs,
set,nset,istartset,iendset,ialset,eenmax,fnr,fni,emn,
625 thicke,jobnamec,output,qfx,cdn,&mortar,cdnr,cdni,nmat);
641 elcon,ncmat_,ntmat_,mi,&ne2));
643 NNEW(h0ref,
double,3**nk);
644 NNEW(h0,
double,3**nk);
646 biosav(ipkon,kon,lakon,ne,co,qfx,h0ref,mi,inomat,nk);
654 if(
strcmp1(&lakon[8*i+6],
"L")==0){
655 ipkon[i]=-ipkon[i]-2;
670 RENEW(
set,
char,81*(*nset+3));
674 RENEW(tieset,
char,243*(*ntie+5));
675 RENEW(tietol,
double,3*(*ntie+5));
678 iendset,ialset,tieset,inomat,ne,ipkon,lakon,kon,ntie,
679 tietol,nalset,nk,nset,iactive));
682 RENEW(
set,
char,81**nset);
686 RENEW(tieset,
char,243**ntie);
687 RENEW(tietol,
double,3**ntie);
691 tiedcontact(ntie,tieset,nset,
set,istartset,iendset,ialset,
692 lakon,ipkon,kon,tietol,nmpc, &mpcfree,&memmpc_,
693 &ipompc,&labmpc,&ikmpc,&ilmpc,&fmpc,&nodempc,&coefmpc,
694 ithermal,co,vold,&icfd,nmpc_,mi,nk,istep,ikboun,nboun,
712 ialset,iactive,ipkon,lakon,kon,ikmpc,nmpc,&maxfaces));
716 if(imast==0)
continue;
720 NNEW(imastnode,
ITG,8*maxfaces);
721 NNEW(xmastnor,
double,3*8*maxfaces);
724 ialset,&imast,ipkon,kon,lakon,imastnode,&nmastnode,
729 *nmpc_=*nmpc_+nmastnode;
731 RENEW(labmpc,
char,20**nmpc_+1);
734 RENEW(fmpc,
double,*nmpc_);
740 neqterms=3*nmastnode;
744 RENEW(coefmpc,
double,memmpc_);
745 for(k=index;k<memmpc_;k++){
748 nodempc[3*memmpc_-1]=0;
753 ikmpc,ilmpc,nmpc,ipompc,nodempc,coefmpc,labmpc,&mpcfree,
762 &mpcfree,nodeboun,ndirboun,nboun,ikmpc,ilmpc,ikboun,ilboun,
763 labmpc,nk,&memmpc_,&icascade,&maxlenmpc,
764 kon,ipkon,lakon,ne,nactdof,icol,jq,&irow,isolver,
765 neq,nzs,nmethod,&f,&fext,&b,&aux2,&fini,&fextini,
766 &adb,&aub,ithermal,iperturb,mass,mi,ielmat,elcon,
767 ncmat_,ntmat_,inomat,network);
778 NNEW(nelemloadref,
ITG,2**nload);
779 if(*nam>0)
NNEW(iamloadref,
ITG,2**nload);
780 NNEW(sideloadref,
char,20**nload);
782 memcpy(&nelemloadref[0],&nelemload[0],
sizeof(
ITG)*2**nload);
783 if(*nam>0) memcpy(&iamloadref[0],&iamload[0],
sizeof(
ITG)*2**nload);
784 memcpy(&sideloadref[0],&sideload[0],
sizeof(
char)*20**nload);
791 if(*nam>0)
RENEW(iamload,
ITG,2**nload_);
792 RENEW(xloadact,
double,2**nload_);
793 RENEW(sideload,
char,20**nload_);
796 if((*ithermal==1)||(*ithermal>=3)){
797 NNEW(t1ini,
double,*nk);
798 NNEW(t1act,
double,*nk);
799 for(k=0;k<*nk;++k){t1act[k]=t1old[k];}
804 while(1.-theta>1.e-6){
815 memcpy(&vini[0],&vold[0],
sizeof(
double)*mt**nk);
817 for(k=0;k<*nboun;++k){xbounini[k]=xbounact[k];}
818 if((*ithermal==1)||(*ithermal>=3)){
819 for(k=0;k<*nk;++k){t1ini[k]=t1act[k];}
821 for(k=0;k<neq[1];++k){
825 for(k=0;k<mt**nk;++k){
828 for(k=0;k<neq[1];++k){
837 printf(
" *ERROR: max. # of increments reached\n\n");
841 printf(
" increment size= %e\n",dtheta**tper);
842 printf(
" sum of previous increments=%e\n",theta**tper);
843 printf(
" actual step time=%e\n",(theta+dtheta)**tper);
844 printf(
" actual total time=%e\n\n",*ttime+(theta+dtheta)**tper);
846 printf(
" iteration 1\n\n");
853 reltime=theta+dtheta;
862 DMEMSET(nelemload,0,2**nload_,0);
863 memcpy(&nelemload[0],&nelemloadref[0],
sizeof(
ITG)*2**nload);
865 DMEMSET(iamload,0,2**nload_,0);
866 memcpy(&iamload[0],&iamloadref[0],
sizeof(
ITG)*2**nload);
868 DMEMSET(xloadact,0,2**nload_,0.);
869 DMEMSET(sideload,0,
'\0',0.);memcpy(&sideload[0],&sideloadref[0],
sizeof(
char)*20**nload);
876 xloadact,iamload,nload,ibody,xbody,nbody,xbodyold,xbodyact,
877 t1old,t1,t1act,iamt1,nk,amta,
878 namta,nam,ampli,&time,&reltime,ttime,&dtime,ithermal,nmethod,
879 xbounold,xboun,xbounact,iamboun,nboun,
880 nodeboun,ndirboun,nodeforc,ndirforc,istep,&iinc,
881 co,vold,itg,&ntg,amname,ikboun,ilboun,nelemload,sideload,mi,
882 ntrans,trab,inotr,veold,integerglob,doubleglob,tieset,istartset,
883 iendset,ialset,ntie,nmpc,ipompc,ikmpc,ilmpc,nodempc,coefmpc,
884 &h0scale,inomat,ipobody,iponoel,inoel));
885 for(i=0;i<3**nk;i++){h0[i]=h0ref[i]*h0scale;}
887 for(i=0;i<3;i++){cam[i]=0.;}
for(i=3;i<5;i++){cam[i]=0.5;}
888 if(*ithermal>1){
radflowload(itg,ieg,&ntg,&ntr,adrad,aurad,bcr,ipivr,
889 ac,bc,nload,sideload,nelemload,xloadact,lakon,ipiv,ntmat_,vold,
890 shcon,nshcon,ipkon,kon,co,
891 kontri,&ntri,nloadtr,tarea,tenv,physcon,erad,&adview,&auview,
892 nflow,ikboun,xbounact,nboun,ithermal,&iinc,&iit,
893 cs,mcs,inocs,&ntrit,nk,fenv,istep,&dtime,ttime,&time,ilboun,
894 ikforc,ilforc,xforcact,nforc,cam,ielmat,&nteq,prop,ielprop,
895 nactdog,nacteq,nodeboun,ndirboun,network,
896 rhcon,nrhcon,ipobody,ibody,xbodyact,nbody,iviewfile,jobnamef,
897 ctrl,xloadold,&reltime,nmethod,
set,mi,istartset,iendset,ialset,nset,
898 ineighe,nmpc,nodempc,ipompc,coefmpc,labmpc,&iemchange,nam,iamload,
899 jqrad,irowrad,&nzsrad,icolrad,ne,iaxial,qa,cocon,ncocon,iponoel,
900 inoel,nprop,amname,namta,amta);
905 NNEW(v,
double,mt**nk);
908 prediction_em(uam,nmethod,&bet,&gam,&dtime,ithermal,nk,veold,v,
909 &iinc,&idiscon,vold,nactdof,mi);
912 NNEW(fn,
double,mt**nk);
915 iperturb_sav[0]=iperturb[0];
916 iperturb_sav[1]=iperturb[1];
922 elcon,nelcon,rhcon,nrhcon,alcon,nalcon,alzero,ielmat,
923 ielorien,norien,orab,ntmat_,t0,t1act,ithermal,
924 prestr,iprestr,filab,eme,emn,een,iperturb,
925 f,fn,nactdof,&iout,qa,vold,b,nodeboun,
926 ndirboun,xbounact,nboun,ipompc,
927 nodempc,coefmpc,labmpc,nmpc,nmethod,cam,&neq[1],veold,accold,
928 &bet,&gam,&dtime,&time,ttime,plicon,nplicon,plkcon,nplkcon,
929 xstateini,xstiff,xstate,npmat_,epn,matname,mi,&ielas,
930 &icmd,ncmat_,nstate_,sti,vini,ikboun,ilboun,ener,enern,
931 emeini,xstaten,eei,enerini,cocon,ncocon,
set,nset,istartset,
932 iendset,ialset,nprint,prlab,prset,qfx,qfn,trab,inotr,ntrans,
933 fmpc,nelemload,nload,ikmpc,ilmpc,istep,&iinc,springarea,
934 &reltime,ne,xforc,nforc,thicke,shcon,nshcon,
935 sideload,xloadact,xloadold,&icfd,inomat,h0,islavnode,
936 nslavnode,ntie,ielprop,prop,iactive,energyini,energy,
937 iponoel,inoel,orname,network,ipobody,xbodyact,ibody);
945 memcpy(&vold[0],&v[0],
sizeof(
double)*mt**nk);
957 ctrl[0]=i0ref;ctrl[1]=irref;ctrl[3]=icref;
963 printf(
" iteration %" ITGFORMAT "\n\n",iit);
970 DMEMSET(nelemload,0,2**nload_,0);
971 memcpy(&nelemload[0],&nelemloadref[0],
sizeof(
ITG)*2**nload);
973 DMEMSET(iamload,0,2**nload_,0);
974 memcpy(&iamload[0],&iamloadref[0],
sizeof(
ITG)*2**nload);
976 DMEMSET(xloadact,0,2**nload_,0.);
977 DMEMSET(sideload,0,20**nload_,
'\0');memcpy(&sideload[0],&sideloadref[0],
sizeof(
char)*20**nload);
985 xloadact,iamload,nload,ibody,xbody,nbody,xbodyold,xbodyact,
986 t1old,t1,t1act,iamt1,nk,amta,
987 namta,nam,ampli,&time,&reltime,ttime,&dtime,ithermal,nmethod,
988 xbounold,xboun,xbounact,iamboun,nboun,
989 nodeboun,ndirboun,nodeforc,ndirforc,istep,&iinc,
990 co,vold,itg,&ntg,amname,ikboun,ilboun,nelemload,sideload,mi,
991 ntrans,trab,inotr,veold,integerglob,doubleglob,tieset,istartset,
992 iendset,ialset,ntie,nmpc,ipompc,ikmpc,ilmpc,nodempc,coefmpc,
993 &h0scale,inomat,ipobody,iponoel,inoel));
994 for(i=0;i<3**nk;i++){h0[i]=h0ref[i]*h0scale;}
996 for(i=0;i<3;i++){cam[i]=0.;}
for(i=3;i<5;i++){cam[i]=0.5;}
997 if(*ithermal>1){
radflowload(itg,ieg,&ntg,&ntr,adrad,aurad,
998 bcr,ipivr,ac,bc,nload,sideload,nelemload,xloadact,lakon,ipiv,
999 ntmat_,vold,shcon,nshcon,ipkon,kon,co,
1000 kontri,&ntri,nloadtr,tarea,tenv,physcon,erad,&adview,&auview,
1001 nflow,ikboun,xbounact,nboun,ithermal,&iinc,&iit,
1002 cs,mcs,inocs,&ntrit,nk,fenv,istep,&dtime,ttime,&time,ilboun,
1003 ikforc,ilforc,xforcact,nforc,cam,ielmat,&nteq,prop,ielprop,
1004 nactdog,nacteq,nodeboun,ndirboun,network,
1005 rhcon,nrhcon,ipobody,ibody,xbodyact,nbody,iviewfile,jobnamef,
1006 ctrl,xloadold,&reltime,nmethod,
set,mi,istartset,iendset,ialset,
1007 nset,ineighe,nmpc,nodempc,ipompc,coefmpc,labmpc,&iemchange,nam,
1008 iamload,jqrad,irowrad,&nzsrad,icolrad,ne,iaxial,qa,cocon,
1009 ncocon,iponoel,inoel,nprop,amname,namta,amta);
1018 DMEMSET(idefload,0,*nload_,1);
1020 mi,ne,sti,ielmat,nelemload,sideload,xloadact,nload,nload_,
1021 iamload,nam,idefload,ncmat_,ntmat_,
1022 alcon,nalcon,ithermal,vold,t1));
1027 for(k=0;k<*nk;++k){t1act[k]=vold[mt*k];}
1032 NNEW(ad,
double,neq[1]);
1033 NNEW(au,
double,nzs[1]);
1037 ipompc,nodempc,coefmpc,nmpc,nodeforc,ndirforc,xforcact,
1038 nforc,nelemload,sideload,xloadact,nload,xbodyact,ipobody,
1039 nbody,cgr,ad,au,fext,nactdof,icol,jq,irow,neq,nzl,
1040 nmethod,ikmpc,ilmpc,ikboun,ilboun,
1041 elcon,nelcon,rhcon,nrhcon,alcon,nalcon,alzero,
1042 ielmat,ielorien,norien,orab,ntmat_,
1043 t0,t1act,ithermal,prestr,iprestr,vold,iperturb,sti,
1044 nzs,stx,adb,aub,iexpl,plicon,nplicon,plkcon,nplkcon,
1045 xstiff,npmat_,&dtime,matname,mi,
1046 ncmat_,mass,&stiffness,&buckling,&rhsi,&intscheme,
1047 physcon,shcon,nshcon,cocon,ncocon,ttime,&time,istep,&iinc,
1048 &coriolis,ibody,xloadold,&reltime,veold,springarea,nstate_,
1049 xstateini,xstate,thicke,integerglob,doubleglob,
1050 tieset,istartset,iendset,ialset,ntie,&nasym,iactive,h0,
1051 pslavsurf,pmastsurf,&mortar,clearini,ielprop,prop,
1052 iponoel,inoel,network));
1054 iperturb[0]=iperturb_sav[0];
1055 iperturb[1]=iperturb_sav[1];
1060 calcresidual_em(nmethod,neq,b,fext,f,iexpl,nactdof,aux1,aux2,vold,
1061 vini,&dtime,accold,nk,adb,aub,jq,irow,nzl,alpha,fextini,fini,
1062 islavnode,nslavnode,&mortar,ntie,f_cm,f_cs,mi,
1063 nzs,&nasym,ithermal);
1073 NNEW(inum,
ITG,*nk);
for(k=0;k<*nk;k++) inum[k]=1;
1076 frd(co,nk,kon,ipkon,lakon,ne,v,stn,inum,nmethod,
1077 kode,filab,een,t1,fn,&ptime,epn,ielmat,matname,enern,xstaten,
1078 nstate_,istep,&iinc,ithermal,qfn,&mode,&noddiam,trab,inotr,
1079 ntrans,orab,ielorien,norien,description,ipneigh,neigh,
1080 mi,sti,vr,vi,stnr,stni,vmax,stnmax,&ngraph,veold,ener,ne,
1081 cs,
set,nset,istartset,iendset,ialset,eenmax,fnr,fni,emn,
1082 thicke,jobnamec,output,qfx,cdn,&mortar,cdnr,cdni,nmat);
1093 for(k=0;k<neq[0];++k){
1094 ad[k]=adb[k]/dtime+ad[k];
1096 for(k=0;k<nzs[0];++k){
1097 au[k]=aub[k]/dtime+au[k];
1103 for(k=nzs[2];k<nzs[2]+nzs[0];++k){
1104 au[k]=aub[k]/dtime+au[k];
1112 for(k=neq[0];k<neq[1];++k){
1113 ad[k]=adb[k]/dtime+ad[k];
1115 for(k=nzs[0];k<nzs[1];++k){
1116 au[k]=aub[k]/dtime+au[k];
1122 for(k=nzs[2]+nzs[0];k<nzs[2]+nzs[1];++k){
1123 au[k]=aub[k]/dtime+au[k];
1129 NNEW(adaux,
double,neq[2]);
1136 spooles(ad,au,adb,aub,&sigma,b,icol,irow,&neq[0],&nzs[0],
1137 &symmetryflag,&inputformat,&nzs[2]);
1139 spooles(ad,au,adb,aub,&sigma,b,icol,irow,&neq[1],&nzs[1],
1140 &symmetryflag,&inputformat,&nzs[2]);
1143 printf(
" *ERROR in nonlingeo: the SPOOLES library is not linked\n\n");
1147 else if((*isolver==2)||(*isolver==3)){
1149 printf(
" *ERROR in nonlingeo: the iterative solver cannot be used for asymmetric matrices\n\n");
1152 preiter(ad,&au,b,&icol,&irow,&neq[1],&nzs[1],isolver,iperturb);
1154 else if(*isolver==4){
1157 printf(
" *ERROR in nonlingeo: the SGI solver cannot be used for asymmetric matrices\n\n");
1162 sgi_main(ad,au,adb,aub,&sigma,b,icol,irow,&neq[0],&nzs[0],token);
1164 sgi_main(ad,au,adb,aub,&sigma,b,icol,irow,&neq[1],&nzs[1],token);
1167 printf(
" *ERROR in nonlingeo: the SGI library is not linked\n\n");
1171 else if(*isolver==5){
1173 printf(
" *ERROR in nonlingeo: the TAUCS solver cannot be used for asymmetric matrices\n\n");
1177 tau(ad,&au,adb,aub,&sigma,b,icol,&irow,&neq[1],&nzs[1]);
1179 printf(
" *ERROR in nonlingeo: the TAUCS library is not linked\n\n");
1183 else if(*isolver==7){
1186 pardiso_main(ad,au,adb,aub,&sigma,b,icol,irow,&neq[0],&nzs[0],
1187 &symmetryflag,&inputformat,jq,&nzs[2]);
1189 pardiso_main(ad,au,adb,aub,&sigma,b,icol,irow,&neq[1],&nzs[1],
1190 &symmetryflag,&inputformat,jq,&nzs[2]);
1193 printf(
" *ERROR in nonlingeo: the PARDISO library is not linked\n\n");
1198 for(i=0;i<neq[1];i++){b[i]*=adaux[i];}
1204 NNEW(v,
double,mt**nk);
1205 memcpy(&v[0],&vold[0],
sizeof(
double)*mt**nk);
1207 NNEW(fn,
double,mt**nk);
1211 elcon,nelcon,rhcon,nrhcon,alcon,nalcon,alzero,ielmat,
1212 ielorien,norien,orab,ntmat_,t0,t1act,ithermal,
1213 prestr,iprestr,filab,eme,emn,een,iperturb,
1214 f,fn,nactdof,&iout,qa,vold,b,nodeboun,
1215 ndirboun,xbounact,nboun,ipompc,
1216 nodempc,coefmpc,labmpc,nmpc,nmethod,cam,&neq[1],veold,accold,
1217 &bet,&gam,&dtime,&time,ttime,plicon,nplicon,plkcon,nplkcon,
1218 xstateini,xstiff,xstate,npmat_,epn,matname,mi,&ielas,
1219 &icmd,ncmat_,nstate_,sti,vini,ikboun,ilboun,ener,enern,
1220 emeini,xstaten,eei,enerini,cocon,ncocon,
set,nset,istartset,
1221 iendset,ialset,nprint,prlab,prset,qfx,qfn,trab,inotr,ntrans,
1222 fmpc,nelemload,nload,ikmpc,ilmpc,istep,&iinc,springarea,
1223 &reltime,ne,xforc,nforc,thicke,shcon,nshcon,
1224 sideload,xloadact,xloadold,&icfd,inomat,h0,islavnode,
1225 nslavnode,ntie,ielprop,prop,iactive,energyini,energy,
1226 iponoel,inoel,orname,network,ipobody,xbodyact,ibody);
1232 if(cam[0]>uam[0]){uam[0]=cam[0];}
1234 if(qa[0]>ea*qam[0]){qam[0]=(qamold[0]*jnz+qa[0])/(jnz+1);}
1235 else {qam[0]=qamold[0];}
1239 if(cam[1]>uam[1]){uam[1]=cam[1];}
1241 if(qa[1]>ea*qam[1]){qam[1]=(qamold[1]*jnz+qa[1])/(jnz+1);}
1242 else {qam[1]=qamold[1];}
1246 memcpy(&vold[0],&v[0],
sizeof(
double)*mt**nk);
1252 calcresidual_em(nmethod,neq,b,fext,f,iexpl,nactdof,aux1,aux2,vold,
1253 vini,&dtime,accold,nk,adb,aub,jq,irow,nzl,alpha,fextini,fini,
1254 islavnode,nslavnode,&mortar,ntie,f_cm,f_cs,mi,
1255 nzs,&nasym,ithermal);
1265 if(*ithermal!=2) ram[0]=0.;
1268 for(k=neq[0];k<neq[1];++k){
1270 if(err>ram[1]){ram[1]=err;ram[3]=k+0.5;}
1277 if(ram[1]<1.e-6) ram[1]=0.;
1278 printf(
" average flux= %f\n",qa[1]);
1279 printf(
" time avg. flux= %f\n",qam[1]);
1280 if((
ITG)((
double)nactdofinv[(
ITG)ram[3]]/mt)+1==0){
1281 printf(
" largest residual flux= %f\n",
1284 inode=(
ITG)((
double)nactdofinv[(
ITG)ram[3]]/mt)+1;
1285 idir=nactdofinv[(
ITG)ram[3]]-mt*(inode-1);
1286 printf(
" largest residual flux= %f in node %" ITGFORMAT " and dof %" ITGFORMAT "\n",ram[1],inode,idir);
1288 printf(
" largest increment of temp= %e\n",uam[1]);
1290 printf(
" largest correction to temp= %e\n\n",
1293 inode=(
ITG)((
double)nactdofinv[(
ITG)cam[4]]/mt)+1;
1294 idir=nactdofinv[(
ITG)cam[4]]-mt*(inode-1);
1295 printf(
" largest correction to temp= %e in node %" ITGFORMAT " and dof %" ITGFORMAT "\n\n",cam[1],inode,idir);
1302 if(*ithermal<=1) iit=2;
1305 double energy[4] = {0, 0, 0, 0};
1307 double energyref = 0.0;
1308 double emax, enres,enetoll, reswk, dampwk, allwkini;
1312 kode,filab,een,t1act,&time,epn,ielmat,matname,enern,
1313 xstaten,nstate_,istep,&iinc,iperturb,ener,mi,output,
1314 ithermal,qfn,&mode,&noddiam,trab,inotr,ntrans,orab,
1315 ielorien,norien,description,sti,&icutb,&iit,&dtime,qa,
1316 vold,qam,ram1,ram2,ram,cam,uam,&ntg,ttime,&icntrl,
1317 &theta,&dtheta,veold,vini,idrct,tper,&istab,tmax,
1318 nactdof,b,tmin,ctrl,amta,namta,itpamp,&inext,&dthetaref,
1319 &itp,&jprint,jout,&uncoupled,t1,&iitterm,nelemload,
1320 nload,nodeboun,nboun,itg,ndirboun,&deltmx,&iflagact,
1321 set,nset,istartset,iendset,ialset,emn,thicke,jobnamec,
1322 &mortar,nmat,ielprop,prop,&ialeatoric,&kscale,
1323 energy, &allwk, &energyref,&emax, &enres, &enetoll,
1324 energyini, &allwkini ,&allwk, &reswk, &ne0, &ne0, &dampwk,
1336 if(((qa[0]>ea*qam[0])||(qa[1]>ea*qam[1]))&&(icutb==0)){jnz++;}
1340 memcpy(&vold[0],&vini[0],
sizeof(
double)*mt**nk);
1342 for(k=0;k<*nboun;++k){xbounact[k]=xbounini[k];}
1343 if((*ithermal==1)||(*ithermal>=3)){
1344 for(k=0;k<*nk;++k){t1act[k]=t1ini[k];}
1346 for(k=0;k<neq[1];++k){
1350 for(k=0;k<mt**nk;++k){
1353 for(k=0;k<neq[1];++k){
1362 if((jout[0]==jprint)&&(icutb==0)){
1369 NNEW(v,
double,mt**nk);
1370 NNEW(fn,
double,mt**nk);
1371 if(*ithermal>1)
NNEW(qfn,
double,3**nk);
1372 if((
strcmp1(&filab[3741],
"EMFE")==0)||
1373 (
strcmp1(&filab[3828],
"EMFB")==0))
NNEW(stn,
double,6**nk);
1376 memcpy(&v[0],&vold[0],
sizeof(
double)*mt**nk);
1382 elcon,nelcon,rhcon,nrhcon,alcon,nalcon,alzero,ielmat,
1383 ielorien,norien,orab,ntmat_,t0,t1act,ithermal,
1384 prestr,iprestr,filab,eme,emn,een,iperturb,
1385 f,fn,nactdof,&iout,qa,vold,b,nodeboun,
1386 ndirboun,xbounact,nboun,ipompc,
1387 nodempc,coefmpc,labmpc,nmpc,nmethod,cam,&neq[1],veold,accold,
1388 &bet,&gam,&dtime,&time,ttime,plicon,nplicon,plkcon,nplkcon,
1389 xstateini,xstiff,xstate,npmat_,epn,matname,mi,&ielas,&icmd,
1390 ncmat_,nstate_,sti,vini,ikboun,ilboun,ener,enern,emeini,
1391 xstaten,eei,enerini,cocon,ncocon,
set,nset,istartset,iendset,
1392 ialset,nprint,prlab,prset,qfx,qfn,trab,inotr,ntrans,fmpc,
1393 nelemload,nload,ikmpc,ilmpc,istep,&iinc,springarea,
1394 &reltime,ne,xforc,nforc,thicke,shcon,nshcon,
1395 sideload,xloadact,xloadold,&icfd,inomat,h0,islavnode,
1396 nslavnode,ntie,ielprop,prop,iactive,energyini,energy,
1397 iponoel,inoel,orname,network,ipobody,xbodyact,ibody);
1399 memcpy(&vold[0],&v[0],
sizeof(
double)*mt**nk);
1408 frdcyc(co,nk,kon,ipkon,lakon,ne,v,stn,inum,nmethod,kode,filab,een,
1409 t1act,fn,&ptime,epn,ielmat,matname,cs,mcs,nkon,enern,xstaten,
1410 nstate_,istep,&iinc,iperturb,ener,mi,output,ithermal,qfn,
1411 ialset,istartset,iendset,trab,inotr,ntrans,orab,ielorien,
1412 norien,stx,veold,&noddiam,
set,nset,emn,thicke,jobnamec,ne,
1413 cdn,&mortar,nmat,qfx);
1417 frd(co,nk,kon,ipkon,lakon,ne,v,stn,inum,nmethod,
1418 kode,filab,een,t1act,fn,&ptime,epn,ielmat,matname,
1420 nstate_,istep,&iinc,ithermal,qfn,&mode,&noddiam,trab,inotr,
1421 ntrans,orab,ielorien,norien,description,ipneigh,neigh,
1422 mi,stx,vr,vi,stnr,stni,vmax,stnmax,&ngraph,veold,ener,ne,
1423 cs,
set,nset,istartset,iendset,ialset,eenmax,fnr,fni,emn,
1424 thicke,jobnamec,output,qfx,cdn,&mortar,cdnr,cdni,nmat);
1429 if(*ithermal>1){
SFREE(qfn);}
1430 if((
strcmp1(&filab[3741],
"EMFE")==0)||
1446 NNEW(v,
double,mt**nk);
1447 NNEW(fn,
double,mt**nk);
1448 if(*ithermal>1)
NNEW(qfn,
double,3**nk);
1449 if(
strcmp1(&filab[3741],
"EMF ")==0)
NNEW(stn,
double,6**nk);
1452 memcpy(&v[0],&vold[0],
sizeof(
double)*mt**nk);
1457 elcon,nelcon,rhcon,nrhcon,alcon,nalcon,alzero,ielmat,
1458 ielorien,norien,orab,ntmat_,t0,t1act,ithermal,
1459 prestr,iprestr,filab,eme,emn,een,iperturb,
1460 f,fn,nactdof,&iout,qa,vold,b,nodeboun,
1461 ndirboun,xbounact,nboun,ipompc,
1462 nodempc,coefmpc,labmpc,nmpc,nmethod,cam,&neq[1],veold,accold,
1463 &bet,&gam,&dtime,&time,ttime,plicon,nplicon,plkcon,nplkcon,
1464 xstateini,xstiff,xstate,npmat_,epn,matname,mi,&ielas,&icmd,
1465 ncmat_,nstate_,sti,vini,ikboun,ilboun,ener,enern,emeini,
1466 xstaten,eei,enerini,cocon,ncocon,
set,nset,istartset,iendset,
1467 ialset,nprint,prlab,prset,qfx,qfn,trab,inotr,ntrans,fmpc,
1468 nelemload,nload,ikmpc,ilmpc,istep,&iinc,springarea,
1469 &reltime,ne,xforc,nforc,thicke,shcon,nshcon,
1470 sideload,xloadact,xloadold,&icfd,inomat,h0,islavnode,
1471 nslavnode,ntie,ielprop,prop,iactive,energyini,energy,
1472 iponoel,inoel,orname,network,ipobody,xbodyact,ibody);
1474 memcpy(&vold[0],&v[0],
sizeof(
double)*mt**nk);
1483 frdcyc(co,nk,kon,ipkon,lakon,ne,v,stn,inum,nmethod,kode,filab,een,
1484 t1act,fn,&ptime,epn,ielmat,matname,cs,mcs,nkon,enern,xstaten,
1485 nstate_,istep,&iinc,iperturb,ener,mi,output,ithermal,qfn,
1486 ialset,istartset,iendset,trab,inotr,ntrans,orab,ielorien,
1487 norien,stx,veold,&noddiam,
set,nset,emn,thicke,jobnamec,ne,
1488 cdn,&mortar,nmat,qfx);
1492 frd(co,nk,kon,ipkon,lakon,ne,v,stn,inum,nmethod,
1493 kode,filab,een,t1act,fn,&ptime,epn,ielmat,matname,enern,xstaten,
1494 nstate_,istep,&iinc,ithermal,qfn,&mode,&noddiam,trab,inotr,
1495 ntrans,orab,ielorien,norien,description,ipneigh,neigh,
1496 mi,stx,vr,vi,stnr,stni,vmax,stnmax,&ngraph,veold,ener,ne,
1497 cs,
set,nset,istartset,iendset,ialset,eenmax,fnr,fni,emn,
1498 thicke,jobnamec,output,qfx,cdn,&mortar,cdnr,cdni,nmat);
1503 if(*ithermal>1){
SFREE(qfn);}
1513 RENEW(nelemload,
ITG,2**nload);memcpy(&nelemload[0],&nelemloadref[0],
sizeof(
ITG)*2**nload);
1516 memcpy(&iamload[0],&iamloadref[0],
sizeof(
ITG)*2**nload);
1518 RENEW(sideload,
char,20**nload);memcpy(&sideload[0],&sideloadref[0],
sizeof(
char)*20**nload);
1522 SFREE(nelemloadref);
if(*nam>0){
SFREE(iamloadref);};
1529 if(abs(*nmethod)==1){
1530 for(k=0;k<mt**nk;++k){veold[k]=0.;}
1537 for(k=0;k<*nboun;++k){
1543 if(*ithermal<2)
continue;
1549 }
else if((ndirboun[k]>0)&&(ndirboun[k]<4)){
1554 if(itg[
id-1]==node) networknode=1;
1556 if((*ithermal==2)&&(networknode==0))
continue;
1558 xbounold[k]=xbounact[k];
1560 for(k=0;k<*nforc;++k){xforcold[k]=xforcact[k];}
1561 for(k=0;k<2**nload;++k){xloadold[k]=xloadact[k];}
1562 for(k=0;k<7**nbody;k=k+7){xbodyold[k]=xbodyact[k];}
1564 for(k=0;k<*nk;++k){t1old[k]=t1act[k];}
1565 for(k=0;k<*nk;++k){vold[mt*k]=t1act[k];}
1567 else if(*ithermal>1){
1568 for(k=0;k<*nk;++k){t1[k]=vold[mt*k];}
1570 for(k=0;k<*nk;++k){t1old[k]=t1act[k];}
1580 if(*nbody>0)
SFREE(ipobody);
1582 if((*ithermal==1)||(*ithermal>=3)){
SFREE(t1act);
SFREE(t1ini);}
1591 if((*mcs>0)&&(ntr>0)){
SFREE(inocs);}
1592 if((*network>0)||(ntg>0)){
SFREE(iponoel);
SFREE(inoel);}
1605 if(icascade==1){icascade=0;}
1607 mpcinfo[0]=memmpc_;mpcinfo[1]=mpcfree;mpcinfo[2]=icascade;
1608 mpcinfo[3]=maxlenmpc;
1610 *icolp=icol;*irowp=irow;*cop=co;*voldp=vold;
1612 *ipompcp=ipompc;*labmpcp=labmpc;*ikmpcp=ikmpc;*ilmpcp=ilmpc;
1613 *fmpcp=fmpc;*nodempcp=nodempc;*coefmpcp=coefmpc;
1615 *ipkonp=ipkon;*lakonp=lakon;*konp=kon;*ielorienp=ielorien;
1616 *ielmatp=ielmat;*enerp=ener;*xstatep=xstate;
1618 *setp=
set;*istartsetp=istartset;*iendsetp=iendset;*ialsetp=ialset;
1619 *tiesetp=tieset;*tietolp=tietol;
1621 *nelemloadp=nelemload;*iamloadp=iamload;
1622 *sideloadp=sideload;
1631 }
else if(*nmethod==4){
1633 }
else if(*nmethod==2){
subroutine checktime(itpamp, namta, tinc, ttime, amta, tmin, inext, itp, istep, tper)
Definition: checktime.f:21
#define ITGFORMAT
Definition: CalculiX.h:52
void pardiso_main(double *ad, double *au, double *adb, double *aub, double *sigma, double *b, ITG *icol, ITG *irow, ITG *neq, ITG *nzs, ITG *symmetryflag, ITG *inputformat, ITG *jq, ITG *nzs3)
subroutine assigndomtonodes(ne, lakon, ipkon, kon, ielmat, inomat, elcon, ncmat_, ntmat_, mi, ne2)
Definition: assigndomtonodes.f:21
subroutine createtiedsurfs(nodface, ipoface, set, istartset, iendset, ialset, tieset, inomat, ne, ipkon, lakon, kon, ntie, tietol, nalset, nk, nset, iactive)
Definition: createtiedsurfs.f:22
void frd(double *co, ITG *nk, ITG *kon, ITG *ipkon, char *lakon, ITG *ne0, double *v, double *stn, ITG *inum, ITG *nmethod, ITG *kode, char *filab, double *een, double *t1, double *fn, double *time, double *epn, ITG *ielmat, char *matname, double *enern, double *xstaten, ITG *nstate_, ITG *istep, ITG *iinc, ITG *ithermal, double *qfn, ITG *mode, ITG *noddiam, double *trab, ITG *inotr, ITG *ntrans, double *orab, ITG *ielorien, ITG *norien, char *description, ITG *ipneigh, ITG *neigh, ITG *mi, double *stx, double *vr, double *vi, double *stnr, double *stni, double *vmax, double *stnmax, ITG *ngraph, double *veold, double *ener, ITG *ne, double *cs, char *set, ITG *nset, ITG *istartset, ITG *iendset, ITG *ialset, double *eenmax, double *fnr, double *fni, double *emn, double *thicke, char *jobnamec, char *output, double *qfx, double *cdn, ITG *mortar, double *cdnr, double *cdni, ITG *nmat)
Definition: frd.c:32
void mafillsmmain(double *co, ITG *nk, ITG *kon, ITG *ipkon, char *lakon, ITG *ne, ITG *nodeboun, ITG *ndirboun, double *xboun, ITG *nboun, ITG *ipompc, ITG *nodempc, double *coefmpc, ITG *nmpc, ITG *nodeforc, ITG *ndirforc, double *xforc, ITG *nforc, ITG *nelemload, char *sideload, double *xload, ITG *nload, double *xbody, ITG *ipobody, ITG *nbody, double *cgr, double *ad, double *au, double *bb, ITG *nactdof, ITG *icol, ITG *jq, ITG *irow, ITG *neq, ITG *nzl, ITG *nmethod, ITG *ikmpc, ITG *ilmpc, ITG *ikboun, ITG *ilboun, double *elcon, ITG *nelcon, double *rhcon, ITG *nrhcon, double *alcon, ITG *nalcon, double *alzero, ITG *ielmat, ITG *ielorien, ITG *norien, double *orab, ITG *ntmat_, double *t0, double *t1, ITG *ithermal, double *prestr, ITG *iprestr, double *vold, ITG *iperturb, double *sti, ITG *nzs, double *stx, double *adb, double *aub, ITG *iexpl, double *plicon, ITG *nplicon, double *plkcon, ITG *nplkcon, double *xstiff, ITG *npmat_, double *dtime, char *matname, ITG *mi, ITG *ncmat_, ITG *mass, ITG *stiffness, ITG *buckling, ITG *rhs, ITG *intscheme, double *physcon, double *shcon, ITG *nshcon, double *cocon, ITG *ncocon, double *ttime, double *time, ITG *istep, ITG *kinc, ITG *coriolis, ITG *ibody, double *xloadold, double *reltime, double *veold, double *springarea, ITG *nstate_, double *xstateini, double *xstate, double *thicke, ITG *integerglob, double *doubleglob, char *tieset, ITG *istartset, ITG *iendset, ITG *ialset, ITG *ntie, ITG *nasym, double *pslavsurf, double *pmastsurf, ITG *mortar, double *clearini, ITG *ielprop, double *prop, ITG *ne0, double *fnext, ITG *kscale, ITG *iponoel, ITG *inoel, ITG *network)
Definition: mafillsmmain.c:47
void preiter(double *ad, double **aup, double *b, ITG **icolp, ITG **irowp, ITG *neq, ITG *nzs, ITG *isolver, ITG *iperturb)
Definition: preiter.c:23
ITG strcpy1(char *s1, const char *s2, ITG length)
Definition: strcpy1.c:24
void FORTRAN(actideacti,(char *set, ITG *nset, ITG *istartset, ITG *iendset, ITG *ialset, char *objectset, ITG *ipkon, ITG *ibject, ITG *ne))
void prediction_em(double *uam, ITG *nmethod, double *bet, double *gam, double *dtime, ITG *ithermal, ITG *nk, double *veold, double *v, ITG *iinc, ITG *idiscon, double *vold, ITG *nactdof, ITG *mi)
Definition: prediction_em.c:33
void calcresidual_em(ITG *nmethod, ITG *neq, double *b, double *fext, double *f, ITG *iexpl, ITG *nactdof, double *aux1, double *aux2, double *vold, double *vini, double *dtime, double *accold, ITG *nk, double *adb, double *aub, ITG *jq, ITG *irow, ITG *nzl, double *alpha, double *fextini, double *fini, ITG *islavnode, ITG *nslavnode, ITG *mortar, ITG *ntie, double *f_cm, double *f_cs, ITG *mi, ITG *nzs, ITG *nasym, ITG *ithermal)
Definition: calcresidual_em.c:33
ITG strcmp1(const char *s1, const char *s2)
Definition: strcmp1.c:24
void tiedcontact(ITG *ntie, char *tieset, ITG *nset, char *set, ITG *istartset, ITG *iendset, ITG *ialset, char *lakon, ITG *ipkon, ITG *kon, double *tietol, ITG *nmpc, ITG *mpcfree, ITG *memmpc_, ITG **ipompcp, char **labmpcp, ITG **ikmpcp, ITG **ilmpcp, double **fmpcp, ITG **nodempcp, double **coefmpcp, ITG *ithermal, double *co, double *vold, ITG *cfd, ITG *nmpc_, ITG *mi, ITG *nk, ITG *istep, ITG *ikboun, ITG *nboun, char *kind1, char *kind2)
Definition: tiedcontact.c:23
void mastructrad(ITG *ntr, ITG *nloadtr, char *sideload, ITG *ipointerrad, ITG **mast1radp, ITG **irowradp, ITG *nzsrad, ITG *jqrad, ITG *icolrad)
Definition: mastructrad.c:24
subroutine preconditioning(ad, au, b, neq, irow, jq, adaux)
Definition: preconditioning.f:22
subroutine tempload(xforcold, xforc, xforcact, iamforc, nforc, xloadold, xload, xloadact, iamload, nload, ibody, xbody, nbody, xbodyold, xbodyact, t1old, t1, t1act, iamt1, nk, amta, namta, nam, ampli, time, reltime, ttime, dtime, ithermal, nmethod, xbounold, xboun, xbounact, iamboun, nboun, nodeboun, ndirboun, nodeforc, ndirforc, istep, iinc, co, vold, itg, ntg, amname, ikboun, ilboun, nelemload, sideload, mi, ntrans, trab, inotr, veold, integerglob, doubleglob, tieset, istartset, iendset, ialset, ntie, nmpc, ipompc, ikmpc, ilmpc, nodempc, coefmpc, ipobody, iponoel, inoel)
Definition: tempload.f:29
#define DMEMSET(a, b, c, d)
Definition: CalculiX.h:45
void spooles(double *ad, double *au, double *adb, double *aub, double *sigma, double *b, ITG *icol, ITG *irow, ITG *neq, ITG *nzs, ITG *symmtryflag, ITG *inputformat, ITG *nzs3)
subroutine stop()
Definition: stop.f:20
void radflowload(ITG *itg, ITG *ieg, ITG *ntg, ITG *ntr, double *adrad, double *aurad, double *bcr, ITG *ipivr, double *ac, double *bc, ITG *nload, char *sideload, ITG *nelemload, double *xloadact, char *lakon, ITG *ipiv, ITG *ntmat_, double *vold, double *shcon, ITG *nshcon, ITG *ipkon, ITG *kon, double *co, ITG *kontri, ITG *ntri, ITG *nloadtr, double *tarea, double *tenv, double *physcon, double *erad, double **adviewp, double **auviewp, ITG *nflow, ITG *ikboun, double *xboun, ITG *nboun, ITG *ithermal, ITG *iinc, ITG *iit, double *cs, ITG *mcs, ITG *inocs, ITG *ntrit, ITG *nk, double *fenv, ITG *istep, double *dtime, double *ttime, double *time, ITG *ilboun, ITG *ikforc, ITG *ilforc, double *xforc, ITG *nforc, double *cam, ITG *ielmat, ITG *nteq, double *prop, ITG *ielprop, ITG *nactdog, ITG *nacteq, ITG *nodeboun, ITG *ndirboun, ITG *network, double *rhcon, ITG *nrhcon, ITG *ipobody, ITG *ibody, double *xbody, ITG *nbody, ITG *iviewfile, char *jobnamef, double *ctrl, double *xloadold, double *reltime, ITG *nmethod, char *set, ITG *mi, ITG *istartset, ITG *iendset, ITG *ialset, ITG *nset, ITG *ineighe, ITG *nmpc, ITG *nodempc, ITG *ipompc, double *coefmpc, char *labmpc, ITG *iemchange, ITG *nam, ITG *iamload, ITG *jqrad, ITG *irowrad, ITG *nzsrad, ITG *icolrad, ITG *ne, ITG *iaxial, double *qa, double *cocon, ITG *ncocon, ITG *iponoel, ITG *inoel, ITG *nprop, char *amname, ITG *namta, double *amta)
Definition: radflowload.c:45
void tau(double *ad, double **aup, double *adb, double *aubp, double *sigma, double *b, ITG *icol, ITG **irowp, ITG *neq, ITG *nzs)
subroutine createinterfacempcs(imastnode, xmastnor, nmastnode, ikmpc, ilmpc, nmpc, ipompc, nodempc, coefmpc, labmpc, mpcfree, ikboun, nboun)
Definition: createinterfacempcs.f:22
void radcyc(ITG *nk, ITG *kon, ITG *ipkon, char *lakon, ITG *ne, double *cs, ITG *mcs, ITG *nkon, ITG *ialset, ITG *istartset, ITG *iendset, ITG **kontrip, ITG *ntri, double **cop, double **voldp, ITG *ntrit, ITG *inocs, ITG *mi)
Definition: radcyc.c:24
void sgi_main(double *ad, double *au, double *adb, double *aub, double *sigma, double *b, ITG *icol, ITG *irow, ITG *neq, ITG *nzs, ITG token)
#define RENEW(a, b, c)
Definition: CalculiX.h:40
subroutine tempload_em(xforcold, xforc, xforcact, iamforc, nforc, xloadold, xload, xloadact, iamload, nload, ibody, xbody, nbody, xbodyold, xbodyact, t1old, t1, t1act, iamt1, nk, amta, namta, nam, ampli, time, reltime, ttime, dtime, ithermal, nmethod, xbounold, xboun, xbounact, iamboun, nboun, nodeboun, ndirboun, nodeforc, ndirforc, istep, iinc, co, vold, itg, ntg, amname, ikboun, ilboun, nelemload, sideload, mi, ntrans, trab, inotr, veold, integerglob, doubleglob, tieset, istartset, iendset, ialset, ntie, nmpc, ipompc, ikmpc, ilmpc, nodempc, coefmpc, h0scale, inomat, ipobody, iponoel, inoel)
Definition: tempload_em.f:29
#define SFREE(a)
Definition: CalculiX.h:41
subroutine gennactdofinv(nactdof, nactdofinv, nk, mi, nodorig, ipkon, lakon, kon, ne)
Definition: gennactdofinv.f:21
subroutine calch0interface(nmpc, ipompc, nodempc, coefmpc, h0)
Definition: calch0interface.f:27
void frdcyc(double *co, ITG *nk, ITG *kon, ITG *ipkon, char *lakon, ITG *ne, double *v, double *stn, ITG *inum, ITG *nmethod, ITG *kode, char *filab, double *een, double *t1, double *fn, double *time, double *epn, ITG *ielmat, char *matname, double *cs, ITG *mcs, ITG *nkon, double *enern, double *xstaten, ITG *nstate_, ITG *istep, ITG *iinc, ITG *iperturb, double *ener, ITG *mi, char *output, ITG *ithermal, double *qfn, ITG *ialset, ITG *istartset, ITG *iendset, double *trab, ITG *inotr, ITG *ntrans, double *orab, ITG *ielorien, ITG *norien, double *sti, double *veold, ITG *noddiam, char *set, ITG *nset, double *emn, double *thicke, char *jobnamec, ITG *ne0, double *cdn, ITG *mortar, ITG *nmat, double *qfx)
Definition: frdcyc.c:24
void resultsinduction(double *co, ITG *nk, ITG *kon, ITG *ipkon, char *lakon, ITG *ne, double *v, double *stn, ITG *inum, double *elcon, ITG *nelcon, double *rhcon, ITG *nrhcon, double *alcon, ITG *nalcon, double *alzero, ITG *ielmat, ITG *ielorien, ITG *norien, double *orab, ITG *ntmat_, double *t0, double *t1, ITG *ithermal, double *prestr, ITG *iprestr, char *filab, double *eme, double *emn, double *een, ITG *iperturb, double *f, double *fn, ITG *nactdof, ITG *iout, double *qa, double *vold, double *b, ITG *nodeboun, ITG *ndirboun, double *xboun, ITG *nboun, ITG *ipompc, ITG *nodempc, double *coefmpc, char *labmpc, ITG *nmpc, ITG *nmethod, double *vmax, ITG *neq, double *veold, double *accold, double *beta, double *gamma, double *dtime, double *time, double *ttime, double *plicon, ITG *nplicon, double *plkcon, ITG *nplkcon, double *xstateini, double *xstiff, double *xstate, ITG *npmat_, double *epl, char *matname, ITG *mi, ITG *ielas, ITG *icmd, ITG *ncmat_, ITG *nstate_, double *sti, double *vini, ITG *ikboun, ITG *ilboun, double *ener, double *enern, double *emeini, double *xstaten, double *eei, double *enerini, double *cocon, ITG *ncocon, char *set, ITG *nset, ITG *istartset, ITG *iendset, ITG *ialset, ITG *nprint, char *prlab, char *prset, double *qfx, double *qfn, double *trab, ITG *inotr, ITG *ntrans, double *fmpc, ITG *nelemload, ITG *nload, ITG *ikmpc, ITG *ilmpc, ITG *istep, ITG *iinc, double *springarea, double *reltime, ITG *ne0, double *xforc, ITG *nforc, double *thicke, double *shcon, ITG *nshcon, char *sideload, double *xload, double *xloadold, ITG *icfd, ITG *inomat, double *h0, ITG *islavnode, ITG *nslavnode, ITG *ntie, ITG *ielprop, double *prop, ITG *iactive, double *energyini, double *energy, ITG *iponoel, ITG *inoel, char *orname, ITG *network, ITG *ipobody, double *xbody, ITG *ibody)
Definition: resultsinduction.c:42
void remastruct(ITG *ipompc, double **coefmpcp, ITG **nodempcp, ITG *nmpc, ITG *mpcfree, ITG *nodeboun, ITG *ndirboun, ITG *nboun, ITG *ikmpc, ITG *ilmpc, ITG *ikboun, ITG *ilboun, char *labmpc, ITG *nk, ITG *memmpc_, ITG *icascade, ITG *maxlenmpc, ITG *kon, ITG *ipkon, char *lakon, ITG *ne, ITG *nactdof, ITG *icol, ITG *jq, ITG **irowp, ITG *isolver, ITG *neq, ITG *nzs, ITG *nmethod, double **fp, double **fextp, double **bp, double **aux2p, double **finip, double **fextinip, double **adbp, double **aubp, ITG *ithermal, ITG *iperturb, ITG *mass, ITG *mi, ITG *iexpl, ITG *mortar, char *typeboun, double **cvp, double **cvinip, ITG *iit, ITG *network)
Definition: remastruct.c:24
static double * adview
Definition: radflowload.c:42
subroutine nident(x, px, n, id)
Definition: nident.f:26
real *8 function f_cm(x, phi, lambda1, zk0, Pup, Tup, rurd, xflow, kup)
Definition: moehring.f:582
subroutine envtemp(itg, ieg, ntg, ntr, sideload, nelemload, ipkon, kon, lakon, ielmat, ne, nload, kontri, ntri, nloadtr, nflow, ndirboun, nactdog, nodeboun, nacteq, nboun, ielprop, prop, nteq, v, network, physcon, shcon, ntmat_, co, vold, set, nshcon, rhcon, nrhcon, mi, nmpc, nodempc, ipompc, labmpc, ikboun, nasym, ttime, time, iaxial)
Definition: envtemp.f:25
void remastructem(ITG *ipompc, double **coefmpcp, ITG **nodempcp, ITG *nmpc, ITG *mpcfree, ITG *nodeboun, ITG *ndirboun, ITG *nboun, ITG *ikmpc, ITG *ilmpc, ITG *ikboun, ITG *ilboun, char *labmpc, ITG *nk, ITG *memmpc_, ITG *icascade, ITG *maxlenmpc, ITG *kon, ITG *ipkon, char *lakon, ITG *ne, ITG *nactdof, ITG *icol, ITG *jq, ITG **irowp, ITG *isolver, ITG *neq, ITG *nzs, ITG *nmethod, double **fp, double **fextp, double **bp, double **aux2p, double **finip, double **fextinip, double **adbp, double **aubp, ITG *ithermal, ITG *iperturb, ITG *mass, ITG *mi, ITG *ielmat, double *elcon, ITG *ncmat_, ITG *ntmat_, ITG *inomat, ITG *network)
Definition: remastructem.c:24
subroutine createinum(ipkon, inum, kon, lakon, nk, ne, cflag, nelemload, nload, nodeboun, nboun, ndirboun, ithermal, co, vold, mi, ielmat)
Definition: createinum.f:21
subroutine jouleheating(ipkon, lakon, kon, co, elcon, nelcon, mi, ne, sti, ielmat, nelemload, sideload, xload, nload, nload_, iamload, nam, idefload, ncmat_, ntmat_, alcon, nalcon, ithermal, vold, t1)
Definition: jouleheating.f:23
void biosav(ITG *ipkon, ITG *kon, char *lakon, ITG *ne, double *co, double *qfx, double *h0, ITG *mi, ITG *inomat, ITG *nk)
Definition: biosav.c:31
subroutine networkelementpernode(iponoel, inoel, lakon, ipkon, kon, inoelsize, nflow, ieg, ne, network)
Definition: networkelementpernode.f:21
subroutine generateeminterfaces(istartset, iendset, ialset, iactive, ipkon, lakon, kon, ikmpc, nmpc, nafaces)
Definition: generateeminterfaces.f:21
void checkconvergence(double *co, ITG *nk, ITG *kon, ITG *ipkon, char *lakon, ITG *ne, double *stn, ITG *nmethod, ITG *kode, char *filab, double *een, double *t1act, double *time, double *epn, ITG *ielmat, char *matname, double *enern, double *xstaten, ITG *nstate_, ITG *istep, ITG *iinc, ITG *iperturb, double *ener, ITG *mi, char *output, ITG *ithermal, double *qfn, ITG *mode, ITG *noddiam, double *trab, ITG *inotr, ITG *ntrans, double *orab, ITG *ielorien, ITG *norien, char *description, double *sti, ITG *icutb, ITG *iit, double *dtime, double *qa, double *vold, double *qam, double *ram1, double *ram2, double *ram, double *cam, double *uam, ITG *ntg, double *ttime, ITG *icntrl, double *theta, double *dtheta, double *veold, double *vini, ITG *idrct, double *tper, ITG *istab, double *tmax, ITG *nactdof, double *b, double *tmin, double *ctrl, double *amta, ITG *namta, ITG *itpamp, ITG *inext, double *dthetaref, ITG *itp, ITG *jprint, ITG *jout, ITG *uncoupled, double *t1, ITG *iitterm, ITG *nelemload, ITG *nload, ITG *nodeboun, ITG *nboun, ITG *itg, ITG *ndirboun, double *deltmx, ITG *iflagact, char *set, ITG *nset, ITG *istartset, ITG *iendset, ITG *ialset, double *emn, double *thicke, char *jobnamec, ITG *mortar, ITG *nmat, ITG *ielprop, double *prop, ITG *ialeatoric, ITG *kscale, double *energy, double *allwk, double *energyref, double *emax, double *enres, double *enetoll, double *energyini, double *allwkini, double *temax, double *reswk, ITG *ne0, ITG *neini, double *dampwk, double *dampwkini, double *energystartstep)
Definition: checkconvergence.c:34
#define ITG
Definition: CalculiX.h:51
void results(double *co, ITG *nk, ITG *kon, ITG *ipkon, char *lakon, ITG *ne, double *v, double *stn, ITG *inum, double *stx, double *elcon, ITG *nelcon, double *rhcon, ITG *nrhcon, double *alcon, ITG *nalcon, double *alzero, ITG *ielmat, ITG *ielorien, ITG *norien, double *orab, ITG *ntmat_, double *t0, double *t1, ITG *ithermal, double *prestr, ITG *iprestr, char *filab, double *eme, double *emn, double *een, ITG *iperturb, double *f, double *fn, ITG *nactdof, ITG *iout, double *qa, double *vold, double *b, ITG *nodeboun, ITG *ndirboun, double *xboun, ITG *nboun, ITG *ipompc, ITG *nodempc, double *coefmpc, char *labmpc, ITG *nmpc, ITG *nmethod, double *vmax, ITG *neq, double *veold, double *accold, double *beta, double *gamma, double *dtime, double *time, double *ttime, double *plicon, ITG *nplicon, double *plkcon, ITG *nplkcon, double *xstateini, double *xstiff, double *xstate, ITG *npmat_, double *epl, char *matname, ITG *mi, ITG *ielas, ITG *icmd, ITG *ncmat_, ITG *nstate_, double *stiini, double *vini, ITG *ikboun, ITG *ilboun, double *ener, double *enern, double *emeini, double *xstaten, double *eei, double *enerini, double *cocon, ITG *ncocon, char *set, ITG *nset, ITG *istartset, ITG *iendset, ITG *ialset, ITG *nprint, char *prlab, char *prset, double *qfx, double *qfn, double *trab, ITG *inotr, ITG *ntrans, double *fmpc, ITG *nelemload, ITG *nload, ITG *ikmpc, ITG *ilmpc, ITG *istep, ITG *iinc, double *springarea, double *reltime, ITG *ne0, double *xforc, ITG *nforc, double *thicke, double *shcon, ITG *nshcon, char *sideload, double *xload, double *xloadold, ITG *icfd, ITG *inomat, double *pslavsurf, double *pmastsurf, ITG *mortar, ITG *islavact, double *cdn, ITG *islavnode, ITG *nslavnode, ITG *ntie, double *clearini, ITG *islavsurf, ITG *ielprop, double *prop, double *energyini, double *energy, ITG *kscale, ITG *iponoel, ITG *inoel, ITG *nener, char *orname, ITG *network, ITG *ipobody, double *xbodyact, ITG *ibody)
Definition: results.c:42
subroutine mafillem(co, nk, kon, ipkon, lakon, ne, nodeboun, ndirboun, xboun, nboun, ipompc, nodempc, coefmpc, nmpc, nodeforc, ndirforc, xforc, nforc, nelemload, sideload, xload, nload, xbody, ipobody, nbody, cgr, ad, au, fext, nactdof, icol, jq, irow, neq, nzl, nmethod, ikmpc, ilmpc, ikboun, ilboun, elcon, nelcon, rhcon, nrhcon, alcon, nalcon, alzero, ielmat, ielorien, norien, orab, ntmat_, t0, t1, ithermal, prestr, iprestr, vold, iperturb, sti, nzs, stx, adb, aub, iexpl, plicon, nplicon, plkcon, nplkcon, xstiff, npmat_, dtime, matname, mi, ncmat_, mass, stiffness, buckling, rhsi, intscheme, physcon, shcon, nshcon, cocon, ncocon, ttime, time, istep, iinc, coriolis, ibody, xloadold, reltime, veold, springarea, nstate_, xstateini, xstate, thicke, integerglob, doubleglob, tieset, istartset, iendset, ialset, ntie, nasym, iactive, h0, pslavsurf, pmastsurf, mortar, clearini, ielprop, prop, iponoel, inoel, network)
Definition: mafillem.f:36
#define NNEW(a, b, c)
Definition: CalculiX.h:39
subroutine bodyforce(cbody, ibody, ipobody, nbody, set, istartset, iendset, ialset, inewton, nset, ifreebody, k)
Definition: bodyforce.f:21
static double * auview
Definition: radflowload.c:42
subroutine normalsoninterface(istartset, iendset, ialset, imast, ipkon, kon, lakon, imastnode, nmastnode, xmastnor, co)
Definition: normalsoninterface.f:22