70 char *filabt,*tchar1=NULL,*tchar2=NULL,*tchar3=NULL,lakonl[2]=
" \0";
72 ITG *inum=NULL,k,idir,lfin,j,iout=0,index,inode,id,i,idof,im,
73 ielas,icmd,kk,l,nkt,icntrl,imag=1,icomplex,kkv,kk6,iterm,
74 lprev,ilength,ij,i1,i2,iel,ielset,node,indexe,nope,ml1,nelem,
75 *inocs=NULL,*ielcs=NULL,jj,l1,l2,is,nlabel,*nshcon=NULL,
76 nodeleft,*noderight=NULL,numnodes,ileft,kflag=2,itr,locdir,
77 neqh,j1,nodenew,mt=mi[1]+1,istep=1,iinc=1,iit=-1,
78 tint=-1,tnstart=-1,tnend=-1,tint2=-1,network=0,
79 noderight_,*izdof=*izdofp,iload,iforc,*iznode=NULL,nznode,ll,ne0,
80 icfd=0,*inomat=NULL,mortar=0,*islavact=NULL,*ipobody=NULL,
81 *islavnode=NULL,*nslavnode=NULL,*islavsurf=NULL,
82 *iponoel=NULL,*inoel=NULL;
86 double *stn=NULL,*v=NULL,*temp_array=NULL,*vini=NULL,*csmass=NULL,
87 *een=NULL,cam[5],*f=NULL,*fn=NULL,qa[4],*epn=NULL,summass,
88 *stiini=NULL,*emn=NULL,*emeini=NULL,*clearini=NULL,
89 *xstateini=NULL,theta,pi,*coefmpcnew=NULL,t[3],ctl,stl,
90 *stx=NULL,*enern=NULL,*xstaten=NULL,*eei=NULL,*enerini=NULL,
91 *qfx=NULL,*qfn=NULL,xreal,ximag,*vt=NULL,sum,
92 *coefright=NULL,coef,a[9],ratio,reltime,
93 *shcon=NULL,*springarea=NULL,*z=*zp, *zdof=NULL, *thicke=NULL,
94 atrab[9],acs[9],diff,fin[3],fout[3],*sumi=NULL,
95 *vti=NULL,*pslavsurf=NULL,*pmastsurf=NULL,*cdn=NULL,
96 *energyini=NULL,*energy=NULL;
100 double *veold=NULL,*accold=NULL,bet,gam,dtime,time;
106 NNEW(noderight,
ITG,noderight_);
107 NNEW(coefright,
double,noderight_);
109 NNEW(v,
double,2*mt**nk);
110 NNEW(vt,
double,mt**nk**nsectors);
112 NNEW(fn,
double,2*mt**nk);
113 NNEW(stn,
double,12**nk);
115 NNEW(stx,
double,6*mi[0]**ne);
118 NNEW(filabt,
char,87*nlabel);
119 for(i=1;i<87*nlabel;i++) filabt[i]=
' ';
122 NNEW(temp_array,
double,neq[1]);
123 NNEW(coefmpcnew,
double,*mpcend);
132 if((*mcs!=1)||(ielset!=0)){
133 for(i=0;i<*nk;i++) inocs[i]=-1;
134 for(i=0;i<*ne;i++) ielcs[i]=-1;
136 NNEW(csmass,
double,*mcs);
137 if(*mcs==1) csmass[0]=1.;
143 if(ielset==0)
continue;
144 for(i1=istartset[ielset-1]-1;i1<iendset[ielset-1];i1++){
147 if(ipkon[iel]<0)
continue;
151 if(
strcmp1(&lakon[8*iel+3],
"2")==0)nope=20;
152 else if (
strcmp1(&lakon[8*iel+3],
"8")==0)nope=8;
153 else if (
strcmp1(&lakon[8*iel+3],
"10")==0)nope=10;
154 else if (
strcmp1(&lakon[8*iel+3],
"4")==0)nope=4;
155 else if (
strcmp1(&lakon[8*iel+3],
"15")==0)nope=15;
156 else if (
strcmp1(&lakon[8*iel+3],
"6")==0)nope=6;
157 else if (
strcmp1(&lakon[8*iel],
"ES")==0){
158 lakonl[0]=lakon[8*iel+7];
159 nope=atoi(lakonl)+1;}
164 ielmat,&nope,t0,t1,rhcon,nrhcon,ntmat_,
165 ithermal,&csmass[i],ielprop,prop));
167 for(i2=0;i2<nope;++i2){
168 node=kon[indexe+i2]-1;
176 if(iel>=ialset[i1-1]-1)
break;
177 if(ipkon[iel]<0)
continue;
181 if(
strcmp1(&lakon[8*iel+3],
"2")==0)nope=20;
182 else if (
strcmp1(&lakon[8*iel+3],
"8")==0)nope=8;
183 else if (
strcmp1(&lakon[8*iel+3],
"10")==0)nope=10;
184 else if (
strcmp1(&lakon[8*iel+3],
"4")==0)nope=4;
185 else if (
strcmp1(&lakon[8*iel+3],
"15")==0)nope=15;
190 ielmat,&nope,t0,t1,rhcon,nrhcon,ntmat_,
191 ithermal,&csmass[i],ielprop,prop));
193 for(i2=0;i2<nope;++i2){
194 node=kon[indexe+i2]-1;
208 for(j=0;j<*nmdnode;j++){iznode[j]=imdnode[j];}
213 for(i=1;i<*nsectors;i++){
214 for(j=0;j<*nmddof;j++){
215 imddof[i**nmddof+j]=imddof[j]+i*neqh;
217 for(j=0;j<*nmdnode;j++){
218 imdnode[i**nmdnode+j]=imdnode[j]+i**nk;
220 for(j=0;j<*nmdboun;j++){
221 imdboun[i**nmdboun+j]=imdboun[j]+i**nboun;
223 for(j=0;j<*nmdmpc;j++){
224 imdmpc[i**nmdmpc+j]=imdmpc[j]+i**nmpc;
227 (*nmddof)*=(*nsectors);
228 (*nmdnode)*=(*nsectors);
229 (*nmdboun)*=(*nsectors);
230 (*nmdmpc)*=(*nsectors);
238 NNEW(izdof,
ITG,neqh**nsectors);
239 for(j=0;j<*nmddof;j++){izdof[j]=imddof[j];}
246 FORTRAN(
rectcyl,(co,v,fn,stn,qfn,een,cs,nk,&icntrl,t,filabt,&imag,mi,emn));
248 for(jj=0;jj<*mcs;jj++){
249 is=(
ITG)(cs[17*jj]+0.5);
252 theta=i*2.*pi/cs[17*jj];
256 co[3*l+i*3**nk]=co[3*l];
257 co[1+3*l+i*3**nk]=co[1+3*l]+theta;
258 co[2+3*l+i*3**nk]=co[2+3*l];
259 if(*ntrans>0) inotr[2*l+i*2**nk]=inotr[2*l];
262 for(l=0;l<*nkon;l++){kon[l+i**nkon]=kon[l]+i**nk;}
266 ipkon[l+i**ne]=ipkon[l]+i**nkon;
267 ielmat[mi[2]*(l+i**ne)]=ielmat[mi[2]*l];
268 if(*norien>0) ielorien[l+i**ne]=ielorien[l];
271 lakon[l2+i*8**ne]=lakon[l2];
274 ipkon[l+i**ne]=ipkon[l];
283 FORTRAN(
rectcyl,(co,vt,fn,stn,qfn,een,cs,&nkt,&icntrl,t,filabt,&imag,mi,emn));
287 for(i=1;i<*nsectors;i++){
289 for(j=0;j<mt**nk;j++){
291 nactdof[lint+j]=nactdof[j]+i*neqh;
301 for(i=1;i<*nsectors;i++){
302 for(j=0;j<*nboun;j++){
303 nodeboun[i**nboun+j]=nodeboun[j]+i**nk;
304 ndirboun[i**nboun+j]=ndirboun[j];
305 xboun[i**nboun+j]=xboun[j];
306 xbounold[i**nboun+j]=xbounold[j];
307 if(*nam>0) iamboun[i**nboun+j]=iamboun[j];
308 ikboun[i**nboun+j]=ikboun[j]+8*i**nk;
309 ilboun[i**nboun+j]=ilboun[j]+i**nboun;
315 for(i=0;i<*nload;i++){
316 if(nelemload[2*i+1]<*nsectors){
317 nelemload[2*i]+=*ne*nelemload[2*i+1];
319 nelemload[2*i]+=*ne*(nelemload[2*i+1]-(*nsectors));
323 nactdof,izdof,nzdof,mi,&iload,iznode,&nznode,nk,
330 printf(
"*ERROR in expand: body loads are not allowed for modal dynamics\n and steady state dynamics calculations in cyclic symmetric structures\n\n");
370 if(nodeforc[2*i+1]<*nsectors){
371 nodeforc[2*i]+=*nk*nodeforc[2*i+1];
373 nodeforc[2*i]+=*nk*(nodeforc[2*i+1]-(*nsectors));
377 nzdof,&iforc,iznode,&nznode,nk,imdnode,nmdnode,xforc));
384 diff=0.;
for(j=0;j<9;j++) diff+=(atrab[j]-acs[j])*(atrab[j]-acs[j]);
386 if((ndirforc[i]!=1)||
387 (nodeforc[2*i+2]!=node)||(ndirforc[i+1]!=2)||
388 (nodeforc[2*i+4]!=node)||(ndirforc[i+2]!=3)||
389 ((diff>1.e-10)&&(fabs(diff-8.)>1.e-10))){
390 printf(
"*ERROR: forces in a modal dynamic or steady state dynamics\n");
391 printf(
" calculation with cyclic symmetry must be defined in\n");
392 printf(
" the cyclic symmetric cylindrical coordinate system\n");
393 printf(
" force at fault is applied in node %" ITGFORMAT "\n",node);
408 if(nodeforc[2*i+1]<*nsectors){
409 nodeforc[2*i]+=*nk*nodeforc[2*i+1];
411 nodeforc[2*i]+=*nk*(nodeforc[2*i+1]-(*nsectors));
413 nodeforc[2*i+2]=nodeforc[2*i];
414 nodeforc[2*i+4]=nodeforc[2*i];
434 nzdof,&iforc,iznode,&nznode,nk,imdnode,nmdnode,xforc));
445 NNEW(zdof,
double,(
long long)*nev**nzdof);
447 NNEW(zdof,
double,(
long long)2**nev**nzdof);
448 NNEW(sumi,
double,*nev);
452 for(j=*nev-1;j>-1;--j){
457 for(jj=0;jj<*mcs;jj++){
458 theta=nm[j]*2.*pi/cs[17*jj];
459 cs[17*jj+14]=cos(theta);
460 cs[17*jj+15]=sin(theta);
466 NNEW(eei,
double,6*mi[0]**ne);
470 for(k=0;k<2*neqh;k+=neqh){
472 for(i=0;i<6*mi[0]**ne;i++){eme[i]=0.;}
474 if(k==0) {kk=0;kkv=0;kk6=0;}
475 else {kk=*nk;kkv=mt**nk;kk6=6**nk;}
476 for(i=0;i<*nmpc;i++){
479 if(nodempc[3*index+1]==0)
continue;
480 coefmpcnew[index]=coefmpc[index];
482 index=nodempc[3*index+2];
487 inode=nodempc[3*index];
488 if(
strcmp1(&labmpc[20*i],
"CYCLIC")==0){
489 icomplex=atoi(&labmpc[20*i+6]);}
490 else if(
strcmp1(&labmpc[20*i],
"SUBCYCLIC")==0){
491 for(ij=0;ij<*mcs;ij++){
496 if(ics[lprev+
id-1]==inode){icomplex=ij+1;
break;}
502 idir=nodempc[3*index+1];
503 idof=nactdof[mt*(inode-1)+idir]-1;
504 if(idof<=-1){xreal=1.;ximag=1.;}
505 else{xreal=z[lint+idof];ximag=z[lint+idof+neqh];}
507 if(fabs(xreal)<1.e-30)xreal=1.e-30;
508 coefmpcnew[index]=coefmpc[index]*
509 (cs[17*(icomplex-1)+14]+
510 ximag/xreal*cs[17*(icomplex-1)+15]);}
512 if(fabs(ximag)<1.e-30)ximag=1.e-30;
513 coefmpcnew[index]=coefmpc[index]*
514 (cs[17*(icomplex-1)+14]-
515 xreal/ximag*cs[17*(icomplex-1)+15]);}
517 else{coefmpcnew[index]=coefmpc[index];}
521 results(co,nk,kon,ipkon,lakon,ne,&v[kkv],&stn[kk6],inum,
523 nelcon,rhcon,nrhcon,alcon,nalcon,alzero,ielmat,ielorien,
524 norien,orab,ntmat_,t0,t0,ithermal,
525 prestr,iprestr,filab,eme,&emn[kk6],&een[kk6],iperturb,
526 f,&fn[kkv],nactdof,&iout,qa,vold,&z[lint+k],
527 nodeboun,ndirboun,xboun,nboun,ipompc,
528 nodempc,coefmpcnew,labmpc,nmpc,nmethod,cam,&neqh,veold,accold,
529 &bet,&gam,&dtime,&time,ttime,plicon,nplicon,plkcon,nplkcon,
530 xstateini,xstiff,xstate,npmat_,epn,matname,mi,&ielas,&icmd,
531 ncmat_,nstate_,stiini,vini,ikboun,ilboun,ener,&enern[kk],emeini,
532 xstaten,eei,enerini,cocon,ncocon,
set,nset,istartset,iendset,
533 ialset,nprint,prlab,prset,qfx,qfn,trab,inotr,ntrans,fmpc,
534 nelemload,nload,ikmpc,ilmpc,&istep,&iinc,springarea,&reltime,
535 &ne0,xforc,nforc,thicke,shcon,nshcon,
536 sideload,xload,xloadold,&icfd,inomat,pslavsurf,pmastsurf,
537 &mortar,islavact,cdn,islavnode,nslavnode,ntie,clearini,
538 islavsurf,ielprop,prop,energyini,energy,&iit,iponoel,
539 inoel,nener,orname,&network,ipobody,xbody,ibody);
546 if(*nherm!=1)
NNEW(vti,
double,mt**nk**nsectors);
550 FORTRAN(
rectcylexp,(co,v,fn,stn,qfn,een,cs,nk,&icntrl,t,filabt,&imag,mi,
551 iznode,&nznode,nsectors,nk,emn));
555 for(ll=0;ll<nznode;ll++){
557 for(l2=0;l2<mt;l2++){
560 if(*nherm!=1)vti[l]=v[l+mt**nk];
566 for(jj=0;jj<*mcs;jj++){
569 for(i=1;i<*nsectors;i++){
571 theta=i*nm[j]*2.*pi/cs[17*jj];
575 for(ll=0;ll<nznode;ll++){
584 if(ics[lprev+
id-1]==ml1){
585 for(l2=0;l2<mt;l2++){
588 if(*nherm!=1)vti[l+mt**nk*i]=v[l+mt**nk];
593 for(l2=0;l2<mt;l2++){
595 vt[l+mt**nk*i]=ctl*v[l]-stl*v[l+mt**nk];
596 if(*nherm!=1)vti[l+mt**nk*i]=stl*v[l]+ctl*v[l+mt**nk];
605 FORTRAN(
rectcylexp,(co,vt,fn,stn,qfn,een,cs,&nkt,&icntrl,t,filabt,
606 &imag,mi,iznode,&nznode,nsectors,nk,emn));
610 for(ll=0;ll<nznode;ll++){
613 for(j1=0;j1<mt;j1++){
615 for(k=0;k<*nsectors;k++){
617 idof=nactdof[mt*(k**nk+i)+j1]-1;
621 if(izdof[
id-1]==idof){
623 zdof[(
long long)j**nzdof+
id-1]=vt[k*mt**nk+mt*i+j1];
625 zdof[(
long long)2*j**nzdof+
id-1]=vt[k*mt**nk+mt*i+j1];
626 zdof[(
long long)(2*j+1)**nzdof+
id-1]=vti[k*mt**nk+mt*i+j1];
635 if(*nherm!=1)
SFREE(vti);
646 if (nm[j]==0||(nm[j]==(
ITG)((cs[17*i]/2))&&(fmod(cs[17*i],2.)==0.))){
647 sum+=cs[17*i]*csmass[i];
649 sum+=cs[17*i]*csmass[i]/2.;
653 if(fabs(summass)>1.e-20){
654 sum=sqrt(sum/summass);
656 printf(
"*ERROR in expand.c: total mass of structure is zero\n");
657 printf(
" maybe no element sets were specified for the\n");
658 printf(
" cyclic symmetry ties\n");
663 for(i=0;i<*nzdof;i++){zdof[(
long long)j**nzdof+i]/=sum;}
665 for(i=0;i<*nzdof;i++){zdof[(
long long)(2*j)**nzdof+i]/=sum;}
666 for(i=0;i<*nzdof;i++){zdof[(
long long)(2*j+1)**nzdof+i]/=sum;}
674 RENEW(z,
double,(
long long)*nev**nzdof);
675 memcpy(&z[0],&zdof[0],(
long long)
sizeof(
double)**nev**nzdof);
677 RENEW(z,
double,(
long long)2**nev**nzdof);
678 memcpy(&z[0],&zdof[0],(
long long)
sizeof(
double)*2**nev**nzdof);
681 xmr[i**nev+j]/=(sumi[i]*sumi[j]);
682 xmi[i**nev+j]/=(sumi[i]*sumi[j]);
693 for(i=0;i<*nsectors;i++){
699 for(j=0;j<*nmpcold;j++){
703 RENEW(coefright,
double,noderight_);
705 ipompc[*nmpc]=*mpcend+1;
706 ikmpc[*nmpc]=ikmpc[j]+8*i**nk;
707 ilmpc[*nmpc]=ilmpc[j]+i**nmpcold;
708 strcpy1(&labmpc[20**nmpc],&labmpcold[20*j],20);
709 if(
strcmp1(&labmpcold[20*j],
"CYCLIC")==0){
710 index=ipompcold[j]-1;
711 nodeleft=nodempcold[3*index];
712 idir=nodempcold[3*index+1];
713 index=nodempcold[3*index+2]-1;
716 node=nodempcold[3*index];
717 if(nodempcold[3*index+1]==idir){
718 noderight[numnodes]=node;
719 coefright[numnodes]=coefmpcold[index];
721 if(numnodes>=noderight_){
722 noderight_=(
ITG)(1.5*noderight_);
724 RENEW(coefright,
double,noderight_);
727 index=nodempcold[3*index+2]-1;
732 for(k=0;k<numnodes;k++){
735 for(k=0;k<numnodes;k++){
738 }
else{coefright[0]=1.;}
739 nodempc[3**mpcend]=nodeleft+i**nk;
740 nodempc[3**mpcend+1]=idir;
741 nodempc[3**mpcend+2]=*mpcend+2;
743 for(k=0;k<numnodes;k++){
745 nodempc[3**mpcend]=noderight[k]+ileft**nk;
746 nodempc[3**mpcend+1]=idir;
747 nodempc[3**mpcend+2]=*mpcend+2;
748 coefmpc[*mpcend]=-coefright[k];
750 nodempc[3**mpcend+2]=0;
753 index=ipompcold[j]-1;
757 node=nodempcold[3*index];
758 idir=nodempcold[3*index+1];
759 coef=coefmpcold[index];
767 if(
strcmp1(&labmpcold[20*j],
"SUBCYCLIC")==0){
768 for(ij=0;ij<*mcs;ij++){
773 if(ics[lprev+
id-1]==node){
774 nodenew=node+ileft**nk;
787 if(*ntrans<=0){itr=0;}
788 else if(inotr[2*node-2]==0){itr=0;}
789 else{itr=inotr[2*node-2];}
791 if(iterm==1) locdir=-1;
793 if((itr!=0)&&(idir!=0)){
799 if(fabs(a[3*k+idir-1]-coef)<1.e-10){
801 &co[3*nodenew-3],a));
806 if(fabs(a[3*k+idir-1]+coef)<1.e-10){
808 &co[3*nodenew-3],a));
816 if(fabs(a[3*locdir+idir-1])>1.e-10){
817 ratio=coef/a[3*locdir+idir-1];
820 &co[3*nodenew-3],a));
821 coef=ratio*a[3*locdir+idir-1];
827 nodempc[3**mpcend]=nodenew;
828 nodempc[3**mpcend+1]=idir;
829 coefmpc[*mpcend]=coef;
830 index=nodempcold[3*index+2]-1;
832 nodempc[3**mpcend+2]=*mpcend+2;
835 nodempc[3**mpcend+2]=0;
845 for(i=1;i<*nsectors;i++){
849 t1old[lint+j]=t1old[j];
854 for(i=1;i<*nsectors;i++){
857 iamt1[lint+j]=iamt1[j];
869 for(j=0; j<*nset; j++){
876 NNEW(tchar1,
char,81);
877 NNEW(tchar2,
char,81);
878 NNEW(tchar3,
char,81);
879 for(i=0; i<*ntie; i++){
880 if(tieset[i*(81*3)+80]==
'C'){
881 memcpy(tchar2,&tieset[i*(81*3)+81],81);
883 memcpy(tchar3,&tieset[i*(81*3)+81+81],81);
886 for(j=0; j<*nset; j++){
887 memcpy(tchar1,&
set[j*81],81);
889 if(strcmp(tchar1,tchar2)==0){
892 for(k=0; k<iendset[j]-istartset[j]+1; k++){
893 ialset[tint-1]=ialset[istartset[j]-1+k];
897 for(l=1; l<*nsectors; l++){
898 for(k=0; k<iendset[j]-istartset[j]+1; k++){
899 ialset[tint-1]=(ialset[istartset[j]-1+k]!=-1)?ialset[istartset[j]-1+k]+*nk*l:-1;
905 istartset[j]=tnstart;
908 else if(strcmp(tchar1,tchar3)==0){
911 for(k=0; k<iendset[j]-istartset[j]+1; k++){
912 ialset[tint-1]=ialset[istartset[j]-1+k];
916 for(l=1; l<*nsectors; l++){
917 for(k=0; k<iendset[j]-istartset[j]+1; k++){
918 tint2=((
ITG)(ialset[istartset[j]-1+k]))/10;
919 ialset[tint-1]=(ialset[istartset[j]-1+k]!=-1)?(tint2+*ne*l)*10+(ialset[istartset[j]-1+k]-(tint2*10)):-1;
925 istartset[j]=tnstart;
938 (*nkon)*=(*nsectors);
939 (*nboun)*=(*nsectors);
940 neq[1]=neqh**nsectors;
#define ITGFORMAT
Definition: CalculiX.h:52
subroutine calcmass(ipkon, lakon, kon, co, mi, nelem, ne, thicke, ielmat, nope, t0, t1, rhcon, nrhcon, ntmat_, ithermal, csmasstot, ielprop, prop)
Definition: calcmass.f:22
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))
ITG strcmp1(const char *s1, const char *s2)
Definition: strcmp1.c:24
#define DMEMSET(a, b, c, d)
Definition: CalculiX.h:45
subroutine stop()
Definition: stop.f:20
subroutine rectcylexp(co, v, fn, stn, qfn, een, cs, nkt, icntrl, t, filab, imag, mi, iznode, nznode, nsectors, nk, emn)
Definition: rectcylexp.f:21
#define RENEW(a, b, c)
Definition: CalculiX.h:40
#define SFREE(a)
Definition: CalculiX.h:41
subroutine addizdofcload(nodeforc, ndirforc, nactdof, mi, izdof, nzdof, iforc, iznode, nznode, nk, imdnode, nmdnode, xforc)
Definition: addizdofcload.f:21
subroutine nident(x, px, n, id)
Definition: nident.f:26
subroutine isortiiddc(ix1, ix2, dy1, dy2, cy, n, kflag)
Definition: isortiiddc.f:6
subroutine isortiddc(ix, dy1, dy2, cy, n, kflag)
Definition: isortiddc.f:6
subroutine rectcyltrfm(node, co, cs, icntrl, fin, fout)
Definition: rectcyltrfm.f:20
#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 addizdofdload(nelemload, sideload, ipkon, kon, lakon, nactdof, izdof, nzdof, mi, iload, iznode, nznode, nk, imdnode, nmdnode)
Definition: addizdofdload.f:21
#define NNEW(a, b, c)
Definition: CalculiX.h:39
subroutine rectcyl(co, v, fn, stn, qfn, een, cs, n, icntrl, t, filab, imag, mi, emn)
Definition: rectcyl.f:21