CalculiX  2.13
A Free Software Three-Dimensional Structural Finite Element Program
mafillsmmain_se.c File Reference
#include <unistd.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <pthread.h>
#include "CalculiX.h"
Include dependency graph for mafillsmmain_se.c:

Go to the source code of this file.

Functions

void mafillsmmain_se (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, ITG *nactdof, ITG *neq, 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, double *stx, 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 *rhsi, ITG *intscheme, double *physcon, double *shcon, ITG *nshcon, double *cocon, ITG *ncocon, double *ttime, double *time, ITG *istep, ITG *iinc, 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, double *distmin, ITG *ndesi, ITG *nodedesi, double *df, ITG *nzss, ITG *jqs, ITG *irows, ITG *icoordinate, double *dxstiff, double *xdesi, ITG *istartelem, ITG *ialelem, double *v, double *sigma, ITG *cyclicsymmetry, char *labmpc, ITG *ics, double *cs, ITG *mcs, ITG *ieigenfrequency)
 
void * mafillsmsemt (ITG *i)
 

Variables

static char * lakon1
 
static char * sideload1
 
static char * matname1
 
static char * tieset1
 
static char * labmpc1
 
static ITGnk1
 
static ITGkon1
 
static ITGipkon1
 
static ITGne1
 
static ITGnodeboun1
 
static ITGndirboun1
 
static ITGnboun1
 
static ITGipompc1
 
static ITGnodempc1
 
static ITGnmpc1
 
static ITGnodeforc1
 
static ITGndirforc1
 
static ITGnforc1
 
static ITGnelemload1
 
static ITGnload1
 
static ITGipobody1
 
static ITGnbody1
 
static ITGnactdof1
 
static ITGneq1
 
static ITGnmethod1 =NULL
 
static ITGikmpc1
 
static ITGilmpc1
 
static ITGikboun1
 
static ITGilboun1
 
static ITGnelcon1
 
static ITGnrhcon1
 
static ITGnalcon1
 
static ITGielmat1
 
static ITGielorien1
 
static ITGnorien1
 
static ITGntmat1_
 
static ITGithermal1
 
static ITGiprestr1
 
static ITGiperturb1
 
static ITGiexpl1
 
static ITGnplicon1
 
static ITGnplkcon1
 
static ITGnpmat1_
 
static ITGmi1
 
static ITGncmat1_
 
static ITGmass1
 
static ITGstiffness1
 
static ITGbuckling1
 
static ITGrhsi1
 
static ITGintscheme1
 
static ITGnshcon1
 
static ITGncocon1
 
static ITGistep1
 
static ITGiinc1
 
static ITGcoriolis1
 
static ITGibody1
 
static ITGnstate1_
 
static ITGintegerglob1
 
static ITGistartset1
 
static ITGiendset1
 
static ITGialset1
 
static ITGntie1
 
static ITGnasym1
 
static ITGmortar1
 
static ITGielprop1
 
static ITGne01
 
static ITG num_cpus
 
static ITGndesi1
 
static ITGnodedesi1
 
static ITGnzss1
 
static ITGjqs1
 
static ITGirows1
 
static ITGicoordinate1
 
static ITGistartelem1
 
static ITGialelem1
 
static ITGcyclicsymmetry1
 
static ITGics1
 
static ITGmcs1
 
static ITGieigenfrequency1
 
static double * co1
 
static double * xboun1
 
static double * coefmpc1
 
static double * xforc1
 
static double * xload1
 
static double * xbody1
 
static double * cgr1
 
static double * elcon1
 
static double * rhcon1
 
static double * alcon1
 
static double * alzero1
 
static double * xdesi1
 
static double * v1
 
static double * sigma1
 
static double * orab1
 
static double * t01
 
static double * t11
 
static double * prestr1
 
static double * vold1
 
static double * sti1
 
static double * stx1
 
static double * cs1
 
static double * plicon1
 
static double * plkcon1
 
static double * xstiff1
 
static double * dtime1
 
static double * physcon1
 
static double * shcon1
 
static double * cocon1
 
static double * ttime1
 
static double * time1
 
static double * xloadold1
 
static double * reltime1
 
static double * veold1
 
static double * springarea1
 
static double * xstateini1
 
static double * xstate1
 
static double * thicke1
 
static double * doubleglob1
 
static double * pslavsurf1
 
static double * pmastsurf1
 
static double * clearini1
 
static double * prop1
 
static double * distmin1
 
static double * df1
 
static double * dfl1
 
static double * dxstiff1
 

Function Documentation

◆ mafillsmmain_se()

void mafillsmmain_se ( 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,
ITG nactdof,
ITG neq,
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,
double *  stx,
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 rhsi,
ITG intscheme,
double *  physcon,
double *  shcon,
ITG nshcon,
double *  cocon,
ITG ncocon,
double *  ttime,
double *  time,
ITG istep,
ITG iinc,
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,
double *  distmin,
ITG ndesi,
ITG nodedesi,
double *  df,
ITG nzss,
ITG jqs,
ITG irows,
ITG icoordinate,
double *  dxstiff,
double *  xdesi,
ITG istartelem,
ITG ialelem,
double *  v,
double *  sigma,
ITG cyclicsymmetry,
char *  labmpc,
ITG ics,
double *  cs,
ITG mcs,
ITG ieigenfrequency 
)
83  {
84 
85  ITG i,j;
86 
87  /* variables for multithreading procedure */
88 
89  ITG sys_cpus,*ithread=NULL;
90  char *env,*envloc,*envsys;
91 
92  num_cpus = 0;
93  sys_cpus=0;
94 
95  /* explicit user declaration prevails */
96 
97  envsys=getenv("NUMBER_OF_CPUS");
98  if(envsys){
99  sys_cpus=atoi(envsys);
100  if(sys_cpus<0) sys_cpus=0;
101  }
102 
103 // sys_cpus=1;
104 
105  /* automatic detection of available number of processors */
106 
107  if(sys_cpus==0){
108  sys_cpus = getSystemCPUs();
109  if(sys_cpus<1) sys_cpus=1;
110  }
111 
112  /* local declaration prevails, if strictly positive */
113 
114  envloc = getenv("CCX_NPROC_STIFFNESS");
115  if(envloc){
116  num_cpus=atoi(envloc);
117  if(num_cpus<0){
118  num_cpus=0;
119  }else if(num_cpus>sys_cpus){
120  num_cpus=sys_cpus;
121  }
122 
123  }
124 
125  /* else global declaration, if any, applies */
126 
127  env = getenv("OMP_NUM_THREADS");
128  if(num_cpus==0){
129  if (env)
130  num_cpus = atoi(env);
131  if (num_cpus < 1) {
132  num_cpus=1;
133  }else if(num_cpus>sys_cpus){
134  num_cpus=sys_cpus;
135  }
136  }
137 
138 // next line is to be inserted in a similar way for all other paralell parts
139 
140  if(*ne<num_cpus) num_cpus=*ne;
141 
142  pthread_t tid[num_cpus];
143 
144  /* allocating fields for mass and stiffness matrix and sensitivity matrix */
145 
146  if(!*cyclicsymmetry){
147  NNEW(dfl1,double,num_cpus*60**ndesi);
148  NNEW(df1,double,num_cpus**nzss);
149  }else{
150  NNEW(dfl1,double,num_cpus*120**ndesi);
151  NNEW(df1,double,num_cpus*2**nzss);
152  }
153 
154  /* allocating memory for nmethod; if the Jacobian determinant
155  in any of the elements is nonpositive, nmethod is set to
156  zero */
157 
159  for(j=0;j<num_cpus;j++){
160  nmethod1[j]=*nmethod;
161  }
162 
163  /* calculating the stiffness and/or mass matrix
164  (symmetric part) */
165 
166  co1=co;nk1=nk;kon1=kon;ipkon1=ipkon;lakon1=lakon;ne1=ne;
167  nodeboun1=nodeboun;ndirboun1=ndirboun;xboun1=xboun;
168  nboun1=nboun;ipompc1=ipompc;nodempc1=nodempc;coefmpc1=coefmpc;
169  nmpc1=nmpc;nodeforc1=nodeforc;ndirforc1=ndirforc;xforc1=xforc;
170  nforc1=nforc;nelemload1=nelemload;sideload1=sideload;xload1=xload;
171  nload1=nload;xbody1=xbody;ipobody1=ipobody;nbody1=nbody;
172  cgr1=cgr;nactdof1=nactdof;neq1=neq;
173  ikmpc1=ikmpc;ilmpc1=ilmpc;ikboun1=ikboun;
174  ilboun1=ilboun;elcon1=elcon;nelcon1=nelcon;rhcon1=rhcon;
175  nrhcon1=nrhcon;alcon1=alcon;nalcon1=nalcon;alzero1=alzero;
176  ielmat1=ielmat;ielorien1=ielorien;norien1=norien;orab1=orab;
177  ntmat1_=ntmat_;t01=t0;t11=t1;ithermal1=ithermal;prestr1=prestr;
178  iprestr1=iprestr;vold1=vold;iperturb1=iperturb;sti1=sti;
179  stx1=stx;iexpl1=iexpl;plicon1=plicon;nplicon1=nplicon;
180  plkcon1=plkcon;nplkcon1=nplkcon;xstiff1=xstiff;npmat1_=npmat_;
181  dtime1=dtime;matname1=matname;mi1=mi;ncmat1_=ncmat_;mass1=mass;
182  stiffness1=stiffness;buckling1=buckling;rhsi1=rhsi;intscheme1=intscheme;
183  physcon1=physcon;shcon1=shcon;nshcon1=nshcon;cocon1=cocon;
184  ncocon1=ncocon;ttime1=ttime;time1=time;istep1=istep;iinc1=iinc;
185  coriolis1=coriolis;ibody1=ibody;xloadold1=xloadold;reltime1=reltime;
186  veold1=veold;springarea1=springarea;nstate1_=nstate_;xstateini1=xstateini;
187  xstate1=xstate;thicke1=thicke;integerglob1=integerglob;
188  doubleglob1=doubleglob;tieset1=tieset;istartset1=istartset;
189  iendset1=iendset;ialset1=ialset;ntie1=ntie;nasym1=nasym;
190  pslavsurf1=pslavsurf;pmastsurf1=pmastsurf;mortar1=mortar;
191  clearini1=clearini;ielprop1=ielprop;prop1=prop;ne01=ne0;
192  distmin1=distmin;ndesi1=ndesi;nodedesi1=nodedesi;v1=v;
193  nzss1=nzss;jqs1=jqs;irows1=irows;icoordinate1=icoordinate;
194  dxstiff1=dxstiff;xdesi1=xdesi;istartelem1=istartelem;ialelem1=ialelem;
195  sigma1=sigma;cyclicsymmetry1=cyclicsymmetry;labmpc1=labmpc;
196  ics1=ics;cs1=cs;mcs1=mcs;ieigenfrequency1=ieigenfrequency;
197 
198  /* calculating the stiffness/mass sensitivity */
199 
200  printf(" Using up to %" ITGFORMAT " cpu(s) for the calculation of the sensitivity of the external forces \n and/or the element stiffness matrices.\n\n", num_cpus);
201 
202  /* create threads and wait */
203 
204  NNEW(ithread,ITG,num_cpus);
205  for(i=0; i<num_cpus; i++) {
206  ithread[i]=i;
207  pthread_create(&tid[i], NULL, (void *)mafillsmsemt, (void *)&ithread[i]);
208  }
209  for(i=0; i<num_cpus; i++) pthread_join(tid[i], NULL);
210 
211  SFREE(ithread);
212 
213  for(j=0;j<num_cpus;j++){
214  if(nmethod1[j]==0){
215  *nmethod=0;
216  break;
217  }
218  }
219  SFREE(nmethod1);
220 
221  /* passing of df */
222 
223  if(!*cyclicsymmetry){
224 // if((iperturb[1]==1)&&(*ieigenfrequency!=1)){
225  if(*ieigenfrequency!=1){
226 
227  /* nonlinear geometric: add df to df from results_se */
228 
229  for(i=0;i<*nzss;i++){
230  df[i]+=df1[i];
231  }
232  }else{
233 
234  for(i=0;i<*nzss;i++){
235  df[i]=df1[i];
236  }
237  }
238  for(i=0;i<*nzss;i++){
239  for(j=1;j<num_cpus;j++){
240  df[i]+=df1[i+j**nzss];
241  }
242  }
243  }else{
244  for(i=0;i<2**nzss;i++){
245  df[i]=df1[i];
246  }
247  for(i=0;i<2**nzss;i++){
248  for(j=1;j<num_cpus;j++){
249  df[i]+=df1[i+j*2**nzss];
250  }
251  }
252  }
253  SFREE(df1);SFREE(dfl1);
254 
255  return;
256 
257 }
static ITG * nrhcon1
Definition: mafillsmmain_se.c:30
static double * orab1
Definition: mafillsmmain_se.c:40
#define ITGFORMAT
Definition: CalculiX.h:52
static ITG * ne01
Definition: mafillsmmain_se.c:30
static double * cocon1
Definition: mafillsmmain_se.c:40
static double * reltime1
Definition: mafillsmmain_se.c:40
static ITG * buckling1
Definition: mafillsmmain_se.c:30
static ITG * kon1
Definition: mafillsmmain_se.c:27
static char * lakon1
Definition: mafillsmmain_se.c:25
static ITG * nodedesi1
Definition: mafillsmmain_se.c:30
static ITG * ielorien1
Definition: mafillsmmain_se.c:30
static ITG * iinc1
Definition: mafillsmmain_se.c:30
static ITG * npmat1_
Definition: mafillsmmain_se.c:30
static double * plkcon1
Definition: mafillsmmain_se.c:40
int pthread_create(pthread_t *thread_id, const pthread_attr_t *attributes, void *(*thread_function)(void *), void *arguments)
static ITG * norien1
Definition: mafillsmmain_se.c:30
static double * dxstiff1
Definition: mafillsmmain_se.c:40
static double * xdesi1
Definition: mafillsmmain_se.c:40
static ITG * cyclicsymmetry1
Definition: mafillsmmain_se.c:30
static ITG * ncmat1_
Definition: mafillsmmain_se.c:30
static ITG * nk1
Definition: mafillsmmain_se.c:27
static ITG * iperturb1
Definition: mafillsmmain_se.c:30
subroutine df(x, u, uprime, rpar, nev)
Definition: subspace.f:133
static ITG * ncocon1
Definition: mafillsmmain_se.c:30
static ITG * stiffness1
Definition: mafillsmmain_se.c:30
static ITG * nasym1
Definition: mafillsmmain_se.c:30
static ITG * ipobody1
Definition: mafillsmmain_se.c:27
static double * xloadold1
Definition: mafillsmmain_se.c:40
static double * t11
Definition: mafillsmmain_se.c:40
static double * alcon1
Definition: mafillsmmain_se.c:40
static double * shcon1
Definition: mafillsmmain_se.c:40
static double * rhcon1
Definition: mafillsmmain_se.c:40
static ITG * nmpc1
Definition: mafillsmmain_se.c:27
static double * time1
Definition: mafillsmmain_se.c:40
static double * cs1
Definition: mafillsmmain_se.c:40
static double * plicon1
Definition: mafillsmmain_se.c:40
static ITG * ibody1
Definition: mafillsmmain_se.c:30
static double * dfl1
Definition: mafillsmmain_se.c:40
static double * df1
Definition: mafillsmmain_se.c:40
static ITG * ndirboun1
Definition: mafillsmmain_se.c:27
static ITG * integerglob1
Definition: mafillsmmain_se.c:30
static ITG * nalcon1
Definition: mafillsmmain_se.c:30
static ITG * jqs1
Definition: mafillsmmain_se.c:30
static ITG * nplkcon1
Definition: mafillsmmain_se.c:30
static ITG * neq1
Definition: mafillsmmain_se.c:27
static ITG num_cpus
Definition: mafillsmmain_se.c:30
static ITG * ntie1
Definition: mafillsmmain_se.c:30
static double * xbody1
Definition: mafillsmmain_se.c:40
static double * springarea1
Definition: mafillsmmain_se.c:40
static ITG * ilmpc1
Definition: mafillsmmain_se.c:30
static double * sti1
Definition: mafillsmmain_se.c:40
static ITG * nodeboun1
Definition: mafillsmmain_se.c:27
static double * physcon1
Definition: mafillsmmain_se.c:40
static ITG * icoordinate1
Definition: mafillsmmain_se.c:30
static double * distmin1
Definition: mafillsmmain_se.c:40
static double * xstateini1
Definition: mafillsmmain_se.c:40
ITG getSystemCPUs()
Definition: getSystemCPUs.c:40
static double * vold1
Definition: mafillsmmain_se.c:40
static double * xload1
Definition: mafillsmmain_se.c:40
static ITG * rhsi1
Definition: mafillsmmain_se.c:30
static ITG * nload1
Definition: mafillsmmain_se.c:27
static ITG * nelemload1
Definition: mafillsmmain_se.c:27
static double * sigma1
Definition: mafillsmmain_se.c:40
static ITG * ipompc1
Definition: mafillsmmain_se.c:27
static ITG * nmethod1
Definition: mafillsmmain_se.c:30
static double * elcon1
Definition: mafillsmmain_se.c:40
static double * stx1
Definition: mafillsmmain_se.c:40
static double * xstate1
Definition: mafillsmmain_se.c:40
static ITG * ithermal1
Definition: mafillsmmain_se.c:30
static ITG * nbody1
Definition: mafillsmmain_se.c:27
static ITG * istep1
Definition: mafillsmmain_se.c:30
static ITG * ndesi1
Definition: mafillsmmain_se.c:30
static ITG * nplicon1
Definition: mafillsmmain_se.c:30
static ITG * irows1
Definition: mafillsmmain_se.c:30
#define SFREE(a)
Definition: CalculiX.h:41
static ITG * istartset1
Definition: mafillsmmain_se.c:30
static ITG * nactdof1
Definition: mafillsmmain_se.c:27
static ITG * nshcon1
Definition: mafillsmmain_se.c:30
static ITG * nzss1
Definition: mafillsmmain_se.c:30
static ITG * ics1
Definition: mafillsmmain_se.c:30
static ITG * ieigenfrequency1
Definition: mafillsmmain_se.c:30
static ITG * ndirforc1
Definition: mafillsmmain_se.c:27
static ITG * coriolis1
Definition: mafillsmmain_se.c:30
static double * prestr1
Definition: mafillsmmain_se.c:40
static char * matname1
Definition: mafillsmmain_se.c:25
static char * tieset1
Definition: mafillsmmain_se.c:25
static ITG * ialelem1
Definition: mafillsmmain_se.c:30
static double * cgr1
Definition: mafillsmmain_se.c:40
static ITG * ikboun1
Definition: mafillsmmain_se.c:30
static double * xstiff1
Definition: mafillsmmain_se.c:40
static double * co1
Definition: mafillsmmain_se.c:40
static ITG * nboun1
Definition: mafillsmmain_se.c:27
static double * clearini1
Definition: mafillsmmain_se.c:40
static double * v1
Definition: mafillsmmain_se.c:40
static ITG * istartelem1
Definition: mafillsmmain_se.c:30
static double * xboun1
Definition: mafillsmmain_se.c:40
static ITG * iexpl1
Definition: mafillsmmain_se.c:30
static ITG * mcs1
Definition: mafillsmmain_se.c:30
static double * alzero1
Definition: mafillsmmain_se.c:40
static double * doubleglob1
Definition: mafillsmmain_se.c:40
static ITG * ipkon1
Definition: mafillsmmain_se.c:27
static double * pmastsurf1
Definition: mafillsmmain_se.c:40
static ITG * nstate1_
Definition: mafillsmmain_se.c:30
static double * prop1
Definition: mafillsmmain_se.c:40
int pthread_join(pthread_t thread, void **status_ptr)
void * mafillsmsemt(ITG *i)
Definition: mafillsmmain_se.c:261
static ITG * ielmat1
Definition: mafillsmmain_se.c:30
static double * veold1
Definition: mafillsmmain_se.c:40
static double * xforc1
Definition: mafillsmmain_se.c:40
#define ITG
Definition: CalculiX.h:51
static ITG * nodempc1
Definition: mafillsmmain_se.c:27
static double * pslavsurf1
Definition: mafillsmmain_se.c:40
static ITG * nelcon1
Definition: mafillsmmain_se.c:30
static ITG * mortar1
Definition: mafillsmmain_se.c:30
static char * labmpc1
Definition: mafillsmmain_se.c:25
static char * sideload1
Definition: mafillsmmain_se.c:25
static ITG * ne1
Definition: mafillsmmain_se.c:27
static ITG * mi1
Definition: mafillsmmain_se.c:30
static double * dtime1
Definition: mafillsmmain_se.c:40
static ITG * iprestr1
Definition: mafillsmmain_se.c:30
static ITG * iendset1
Definition: mafillsmmain_se.c:30
static ITG * intscheme1
Definition: mafillsmmain_se.c:30
static ITG * ilboun1
Definition: mafillsmmain_se.c:30
static double * t01
Definition: mafillsmmain_se.c:40
#define NNEW(a, b, c)
Definition: CalculiX.h:39
static ITG * nodeforc1
Definition: mafillsmmain_se.c:27
static ITG * ikmpc1
Definition: mafillsmmain_se.c:30
static double * coefmpc1
Definition: mafillsmmain_se.c:40
static ITG * nforc1
Definition: mafillsmmain_se.c:27
static ITG * ntmat1_
Definition: mafillsmmain_se.c:30
static ITG * mass1
Definition: mafillsmmain_se.c:30
static double * thicke1
Definition: mafillsmmain_se.c:40
static ITG * ielprop1
Definition: mafillsmmain_se.c:30
static double * ttime1
Definition: mafillsmmain_se.c:40
static ITG * ialset1
Definition: mafillsmmain_se.c:30

◆ mafillsmsemt()

void* mafillsmsemt ( ITG i)
261  {
262 
263  ITG indexdf,indexdfl,nea,neb,nedelta;
264 
265  if(!*cyclicsymmetry1){
266  indexdf=*i**nzss1;
267  indexdfl=*i*60**ndesi1;
268  }else{
269  indexdf=*i*2**nzss1;
270  indexdfl=*i*120**ndesi1;
271  }
272 
273  nedelta=(ITG)floor(*ne1/(double)num_cpus);
274  nea=*i*nedelta+1;
275  neb=(*i+1)*nedelta;
276  if((*i==num_cpus-1)&&(neb<*ne1)) neb=*ne1;
277 
278  if(!*cyclicsymmetry1){
292  &df1[indexdf],jqs1,irows1,&dfl1[indexdfl],
295  }else{
309  &df1[indexdf],jqs1,irows1,&dfl1[indexdfl],
312  }
313 
314 
315  return NULL;
316 }
static ITG * nrhcon1
Definition: mafillsmmain_se.c:30
static double * orab1
Definition: mafillsmmain_se.c:40
static ITG * ne01
Definition: mafillsmmain_se.c:30
static double * reltime1
Definition: mafillsmmain_se.c:40
static ITG * buckling1
Definition: mafillsmmain_se.c:30
static ITG * kon1
Definition: mafillsmmain_se.c:27
static char * lakon1
Definition: mafillsmmain_se.c:25
static ITG * nodedesi1
Definition: mafillsmmain_se.c:30
static ITG * ielorien1
Definition: mafillsmmain_se.c:30
static ITG * iinc1
Definition: mafillsmmain_se.c:30
static ITG * npmat1_
Definition: mafillsmmain_se.c:30
static double * plkcon1
Definition: mafillsmmain_se.c:40
static ITG * norien1
Definition: mafillsmmain_se.c:30
static double * dxstiff1
Definition: mafillsmmain_se.c:40
static double * xdesi1
Definition: mafillsmmain_se.c:40
static ITG * cyclicsymmetry1
Definition: mafillsmmain_se.c:30
static ITG * ncmat1_
Definition: mafillsmmain_se.c:30
static ITG * nk1
Definition: mafillsmmain_se.c:27
static ITG * iperturb1
Definition: mafillsmmain_se.c:30
static ITG * stiffness1
Definition: mafillsmmain_se.c:30
static ITG * nasym1
Definition: mafillsmmain_se.c:30
static ITG * ipobody1
Definition: mafillsmmain_se.c:27
static double * xloadold1
Definition: mafillsmmain_se.c:40
static double * t11
Definition: mafillsmmain_se.c:40
static double * alcon1
Definition: mafillsmmain_se.c:40
subroutine mafillsmse(co, kon, ipkon, lakon, ne, ipompc, nodempc, coefmpc, nmpc, nelemload, sideload, xload, nload, xbody, ipobody, nbody, cgr, nactdof, neq, nmethod, ikmpc, ilmpc, elcon, nelcon, rhcon, nrhcon, alcon, nalcon, alzero, ielmat, ielorien, norien, orab, ntmat_, t0, t1, ithermal, iprestr, vold, iperturb, sti, stx, iexpl, plicon, nplicon, plkcon, nplkcon, xstiff, npmat_, dtime, matname, mi, ncmat_, mass, stiffness, buckling, rhsi, intscheme, physcon, ttime, time, istep, iinc, coriolis, ibody, xloadold, reltime, veold, springarea, nstate_, xstateini, xstate, thicke, integerglob, doubleglob, tieset, istartset, iendset, ialset, ntie, nasym, pslavsurf, pmastsurf, mortar, clearini, ielprop, prop, ne0, nea, neb, distmin, ndesi, nodedesi, df, jqs, irows, dfl, icoordinate, dxstiff, xdesi, istartelem, ialelem, v, sigma, ieigenfrequency)
Definition: mafillsmse.f:33
static double * rhcon1
Definition: mafillsmmain_se.c:40
static ITG * nmpc1
Definition: mafillsmmain_se.c:27
static double * time1
Definition: mafillsmmain_se.c:40
static double * cs1
Definition: mafillsmmain_se.c:40
static double * plicon1
Definition: mafillsmmain_se.c:40
static ITG * ibody1
Definition: mafillsmmain_se.c:30
static double * dfl1
Definition: mafillsmmain_se.c:40
static double * df1
Definition: mafillsmmain_se.c:40
static ITG * integerglob1
Definition: mafillsmmain_se.c:30
static ITG * nalcon1
Definition: mafillsmmain_se.c:30
static ITG * jqs1
Definition: mafillsmmain_se.c:30
void FORTRAN(actideacti,(char *set, ITG *nset, ITG *istartset, ITG *iendset, ITG *ialset, char *objectset, ITG *ipkon, ITG *ibject, ITG *ne))
static ITG * nplkcon1
Definition: mafillsmmain_se.c:30
static ITG * neq1
Definition: mafillsmmain_se.c:27
static ITG num_cpus
Definition: mafillsmmain_se.c:30
static ITG * ntie1
Definition: mafillsmmain_se.c:30
static double * xbody1
Definition: mafillsmmain_se.c:40
static double * springarea1
Definition: mafillsmmain_se.c:40
static ITG * ilmpc1
Definition: mafillsmmain_se.c:30
static double * sti1
Definition: mafillsmmain_se.c:40
static double * physcon1
Definition: mafillsmmain_se.c:40
static ITG * icoordinate1
Definition: mafillsmmain_se.c:30
static double * distmin1
Definition: mafillsmmain_se.c:40
static double * xstateini1
Definition: mafillsmmain_se.c:40
static double * vold1
Definition: mafillsmmain_se.c:40
static double * xload1
Definition: mafillsmmain_se.c:40
static ITG * rhsi1
Definition: mafillsmmain_se.c:30
static ITG * nload1
Definition: mafillsmmain_se.c:27
static ITG * nelemload1
Definition: mafillsmmain_se.c:27
static double * sigma1
Definition: mafillsmmain_se.c:40
static ITG * ipompc1
Definition: mafillsmmain_se.c:27
static ITG * nmethod1
Definition: mafillsmmain_se.c:30
static double * elcon1
Definition: mafillsmmain_se.c:40
static double * stx1
Definition: mafillsmmain_se.c:40
static double * xstate1
Definition: mafillsmmain_se.c:40
static ITG * ithermal1
Definition: mafillsmmain_se.c:30
static ITG * nbody1
Definition: mafillsmmain_se.c:27
static ITG * istep1
Definition: mafillsmmain_se.c:30
static ITG * ndesi1
Definition: mafillsmmain_se.c:30
static ITG * nplicon1
Definition: mafillsmmain_se.c:30
static ITG * irows1
Definition: mafillsmmain_se.c:30
static ITG * istartset1
Definition: mafillsmmain_se.c:30
static ITG * nactdof1
Definition: mafillsmmain_se.c:27
static ITG * nzss1
Definition: mafillsmmain_se.c:30
static ITG * ics1
Definition: mafillsmmain_se.c:30
static ITG * ieigenfrequency1
Definition: mafillsmmain_se.c:30
static ITG * coriolis1
Definition: mafillsmmain_se.c:30
static char * matname1
Definition: mafillsmmain_se.c:25
static char * tieset1
Definition: mafillsmmain_se.c:25
static ITG * ialelem1
Definition: mafillsmmain_se.c:30
static double * cgr1
Definition: mafillsmmain_se.c:40
static double * xstiff1
Definition: mafillsmmain_se.c:40
static double * co1
Definition: mafillsmmain_se.c:40
static double * clearini1
Definition: mafillsmmain_se.c:40
static double * v1
Definition: mafillsmmain_se.c:40
static ITG * istartelem1
Definition: mafillsmmain_se.c:30
static ITG * iexpl1
Definition: mafillsmmain_se.c:30
static ITG * mcs1
Definition: mafillsmmain_se.c:30
static double * alzero1
Definition: mafillsmmain_se.c:40
static double * doubleglob1
Definition: mafillsmmain_se.c:40
static ITG * ipkon1
Definition: mafillsmmain_se.c:27
static double * pmastsurf1
Definition: mafillsmmain_se.c:40
static ITG * nstate1_
Definition: mafillsmmain_se.c:30
static double * prop1
Definition: mafillsmmain_se.c:40
static ITG * ielmat1
Definition: mafillsmmain_se.c:30
static double * veold1
Definition: mafillsmmain_se.c:40
#define ITG
Definition: CalculiX.h:51
static ITG * nodempc1
Definition: mafillsmmain_se.c:27
static double * pslavsurf1
Definition: mafillsmmain_se.c:40
static ITG * nelcon1
Definition: mafillsmmain_se.c:30
static ITG * mortar1
Definition: mafillsmmain_se.c:30
static char * labmpc1
Definition: mafillsmmain_se.c:25
static char * sideload1
Definition: mafillsmmain_se.c:25
static ITG * ne1
Definition: mafillsmmain_se.c:27
static ITG * mi1
Definition: mafillsmmain_se.c:30
static double * dtime1
Definition: mafillsmmain_se.c:40
static ITG * iprestr1
Definition: mafillsmmain_se.c:30
static ITG * iendset1
Definition: mafillsmmain_se.c:30
static ITG * intscheme1
Definition: mafillsmmain_se.c:30
static double * t01
Definition: mafillsmmain_se.c:40
subroutine mafillsmcsse(co, kon, ipkon, lakon, ne, ipompc, nodempc, coefmpc, nmpc, nelemload, sideload, xload, nload, xbody, ipobody, nbody, cgr, nactdof, neq, nmethod, ikmpc, ilmpc, elcon, nelcon, rhcon, nrhcon, alcon, nalcon, alzero, ielmat, ielorien, norien, orab, ntmat_, t0, t1, ithermal, iprestr, vold, iperturb, sti, stx, iexpl, plicon, nplicon, plkcon, nplkcon, xstiff, npmat_, dtime, matname, mi, ncmat_, mass, stiffness, buckling, rhsi, intscheme, physcon, ttime, time, istep, iinc, coriolis, ibody, xloadold, reltime, veold, springarea, nstate_, xstateini, xstate, thicke, integerglob, doubleglob, tieset, istartset, iendset, ialset, ntie, nasym, pslavsurf, pmastsurf, mortar, clearini, ielprop, prop, ne0, nea, neb, distmin, ndesi, nodedesi, df, jqs, irows, dfl, icoordinate, dxstiff, xdesi, istartelem, ialelem, v, sigma, labmpc, ics, cs, mcs, nk, nzss)
Definition: mafillsmcsse.f:33
static ITG * ikmpc1
Definition: mafillsmmain_se.c:30
static double * coefmpc1
Definition: mafillsmmain_se.c:40
static ITG * ntmat1_
Definition: mafillsmmain_se.c:30
static ITG * mass1
Definition: mafillsmmain_se.c:30
static double * thicke1
Definition: mafillsmmain_se.c:40
static ITG * ielprop1
Definition: mafillsmmain_se.c:30
static double * ttime1
Definition: mafillsmmain_se.c:40
static ITG * ialset1
Definition: mafillsmmain_se.c:30

Variable Documentation

◆ alcon1

double * alcon1
static

◆ alzero1

double * alzero1
static

◆ buckling1

ITG * buckling1
static

◆ cgr1

double * cgr1
static

◆ clearini1

double * clearini1
static

◆ co1

double* co1
static

◆ cocon1

double * cocon1
static

◆ coefmpc1

double * coefmpc1
static

◆ coriolis1

ITG * coriolis1
static

◆ cs1

double * cs1
static

◆ cyclicsymmetry1

ITG * cyclicsymmetry1
static

◆ df1

double * df1
static

◆ dfl1

double * dfl1
static

◆ distmin1

double * distmin1
static

◆ doubleglob1

double * doubleglob1
static

◆ dtime1

double * dtime1
static

◆ dxstiff1

double * dxstiff1
static

◆ elcon1

double * elcon1
static

◆ ialelem1

ITG * ialelem1
static

◆ ialset1

ITG * ialset1
static

◆ ibody1

ITG * ibody1
static

◆ icoordinate1

ITG * icoordinate1
static

◆ ics1

ITG * ics1
static

◆ ieigenfrequency1

ITG * ieigenfrequency1
static

◆ ielmat1

ITG * ielmat1
static

◆ ielorien1

ITG * ielorien1
static

◆ ielprop1

ITG * ielprop1
static

◆ iendset1

ITG * iendset1
static

◆ iexpl1

ITG * iexpl1
static

◆ iinc1

ITG * iinc1
static

◆ ikboun1

ITG * ikboun1
static

◆ ikmpc1

ITG * ikmpc1
static

◆ ilboun1

ITG * ilboun1
static

◆ ilmpc1

ITG * ilmpc1
static

◆ integerglob1

ITG * integerglob1
static

◆ intscheme1

ITG * intscheme1
static

◆ iperturb1

ITG * iperturb1
static

◆ ipkon1

ITG * ipkon1
static

◆ ipobody1

ITG * ipobody1
static

◆ ipompc1

ITG * ipompc1
static

◆ iprestr1

ITG * iprestr1
static

◆ irows1

ITG * irows1
static

◆ istartelem1

ITG * istartelem1
static

◆ istartset1

ITG * istartset1
static

◆ istep1

ITG * istep1
static

◆ ithermal1

ITG * ithermal1
static

◆ jqs1

ITG * jqs1
static

◆ kon1

ITG * kon1
static

◆ labmpc1

char * labmpc1
static

◆ lakon1

char* lakon1
static

◆ mass1

ITG * mass1
static

◆ matname1

char * matname1
static

◆ mcs1

ITG * mcs1
static

◆ mi1

ITG * mi1
static

◆ mortar1

ITG * mortar1
static

◆ nactdof1

ITG * nactdof1
static

◆ nalcon1

ITG * nalcon1
static

◆ nasym1

ITG * nasym1
static

◆ nbody1

ITG * nbody1
static

◆ nboun1

ITG * nboun1
static

◆ ncmat1_

ITG * ncmat1_
static

◆ ncocon1

ITG * ncocon1
static

◆ ndesi1

ITG * ndesi1
static

◆ ndirboun1

ITG * ndirboun1
static

◆ ndirforc1

ITG * ndirforc1
static

◆ ne01

ITG * ne01
static

◆ ne1

ITG * ne1
static

◆ nelcon1

ITG * nelcon1
static

◆ nelemload1

ITG * nelemload1
static

◆ neq1

ITG * neq1
static

◆ nforc1

ITG * nforc1
static

◆ nk1

ITG* nk1
static

◆ nload1

ITG * nload1
static

◆ nmethod1

ITG * nmethod1 =NULL
static

◆ nmpc1

ITG * nmpc1
static

◆ nodeboun1

ITG * nodeboun1
static

◆ nodedesi1

ITG * nodedesi1
static

◆ nodeforc1

ITG * nodeforc1
static

◆ nodempc1

ITG * nodempc1
static

◆ norien1

ITG * norien1
static

◆ nplicon1

ITG * nplicon1
static

◆ nplkcon1

ITG * nplkcon1
static

◆ npmat1_

ITG * npmat1_
static

◆ nrhcon1

ITG * nrhcon1
static

◆ nshcon1

ITG * nshcon1
static

◆ nstate1_

ITG * nstate1_
static

◆ ntie1

ITG * ntie1
static

◆ ntmat1_

ITG * ntmat1_
static

◆ num_cpus

ITG num_cpus
static

◆ nzss1

ITG * nzss1
static

◆ orab1

double * orab1
static

◆ physcon1

double * physcon1
static

◆ plicon1

double * plicon1
static

◆ plkcon1

double * plkcon1
static

◆ pmastsurf1

double * pmastsurf1
static

◆ prestr1

double * prestr1
static

◆ prop1

double * prop1
static

◆ pslavsurf1

double * pslavsurf1
static

◆ reltime1

double * reltime1
static

◆ rhcon1

double * rhcon1
static

◆ rhsi1

ITG * rhsi1
static

◆ shcon1

double * shcon1
static

◆ sideload1

char * sideload1
static

◆ sigma1

double * sigma1
static

◆ springarea1

double * springarea1
static

◆ sti1

double * sti1
static

◆ stiffness1

ITG * stiffness1
static

◆ stx1

double * stx1
static

◆ t01

double * t01
static

◆ t11

double * t11
static

◆ thicke1

double * thicke1
static

◆ tieset1

char * tieset1
static

◆ time1

double * time1
static

◆ ttime1

double * ttime1
static

◆ v1

double * v1
static

◆ veold1

double * veold1
static

◆ vold1

double * vold1
static

◆ xbody1

double * xbody1
static

◆ xboun1

double * xboun1
static

◆ xdesi1

double * xdesi1
static

◆ xforc1

double * xforc1
static

◆ xload1

double * xload1
static

◆ xloadold1

double * xloadold1
static

◆ xstate1

double * xstate1
static

◆ xstateini1

double * xstateini1
static

◆ xstiff1

double * xstiff1
static
Hosted by OpenAircraft.com, (Michigan UAV, LLC)