55 ITG *nx=NULL,*ny=NULL,*nz=NULL,i,*ithread=NULL;
57 double *xo=NULL,*yo=NULL,*zo=NULL,*x=NULL,*y=NULL,*z=NULL;
62 if(*nobject==0){
return;}
63 if(
strcmp1(&objectset[81],
" ")==0){
64 for(i=1;i<2**nk**nobject;i=i+2){
65 dgdxglob[i]=dgdxglob[i-1];
72 NNEW(xo,
double,*ndesi);
73 NNEW(yo,
double,*ndesi);
74 NNEW(zo,
double,*ndesi);
75 NNEW(x,
double,*ndesi);
76 NNEW(y,
double,*ndesi);
77 NNEW(z,
double,*ndesi);
82 FORTRAN(
prefilter,(co,nodedesi,ndesi,xo,yo,zo,x,y,z,nx,ny,nz));
87 char *env,*envloc,*envsys;
94 envsys=getenv(
"NUMBER_OF_CPUS");
96 sys_cpus=atoi(envsys);
97 if(sys_cpus<0) sys_cpus=0;
104 if(sys_cpus<1) sys_cpus=1;
109 envloc = getenv(
"CCX_NPROC_FILTER");
122 env = getenv(
"OMP_NUM_THREADS");
149 printf(
" Using up to %" ITGFORMAT " cpu(s) for filtering the sensitivities.\n\n",
num_cpus);
static ITG * ndesi1
Definition: filtermain.c:39
static ITG * nx1
Definition: filtermain.c:39
#define ITGFORMAT
Definition: CalculiX.h:52
static double * yy1
Definition: filtermain.c:48
static double * zo1
Definition: filtermain.c:48
void * filtermt(ITG *i)
Definition: filtermain.c:174
static double * z1
Definition: filtermain.c:48
int pthread_create(pthread_t *thread_id, const pthread_attr_t *attributes, void *(*thread_function)(void *), void *arguments)
static double * x1
Definition: filtermain.c:48
static double * dgdxglob1
Definition: filtermain.c:48
static ITG * nz1
Definition: filtermain.c:39
static ITG * nobject1
Definition: filtermain.c:39
static ITG num_cpus
Definition: filtermain.c:39
subroutine prefilter(co, nodedesi, ndesi, xo, yo, zo, x, y, z, nx, ny, nz)
Definition: prefilter.f:21
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
ITG getSystemCPUs()
Definition: getSystemCPUs.c:40
static double * r1
Definition: filtermain.c:48
static ITG * nk1
Definition: filtermain.c:39
static ITG * neighbor1
Definition: filtermain.c:39
#define SFREE(a)
Definition: CalculiX.h:41
static char * objectset1
Definition: filtermain.c:37
static double * xo1
Definition: filtermain.c:48
int pthread_join(pthread_t thread, void **status_ptr)
static ITG * nodedesi1
Definition: filtermain.c:39
#define ITG
Definition: CalculiX.h:51
static ITG * ny1
Definition: filtermain.c:39
#define NNEW(a, b, c)
Definition: CalculiX.h:39
static double * yo1
Definition: filtermain.c:48