1#ifndef _neBEMInterface_H_
2#define _neBEMInterface_H_
4#ifdef DEFINE_INTFACEGLOBAL
7#define INTFACEGLOBAL extern
33#define neBEMtwopi 6.283185307179586476925287
34#define neBEMrtod 57.2957795
35#define MODULUS(p) (sqrt(p.X * p.X + p.Y * p.Y + p.Z * p.Z))
64 double yvert[],
double zvert[],
65 double *xnorm,
double *ynorm,
double *znorm,
66 int *volref1,
int *volref2);
69 double *epsilon,
double *potential,
70 double *charge,
int *boundarytype);
81 int *iy,
int *jy,
double *sy,
int *iz,
87 int *iy,
int *jy,
double *sy,
int *iz,
int *jz,
92 int *ixmin,
double *cxmin,
double *vxmin,
int *ixmax,
double *cxmax,
93 double *vxmax,
int *iymin,
double *cymin,
double *vymin,
int *iymax,
94 double *cymax,
double *vymax,
int *izmin,
double *czmin,
double *vzmin,
95 int *izmax,
double *czmax,
double *vzmax);
129 int PrimListWtField[]);
int neBEMVolumeDescription(int vol, int *shape, int *material, double *epsilon, double *potential, double *charge, int *boundarytype)
Return information about a volume.
int neBEMGetInputsFromFiles(void)
Do-nothing function (no file inputs).
int neBEMSetDefaults(void)
Assign default values to some of the important global variables.
int ReadInitFile(char filename[])
int neBEMVolumePoint(double x, double y, double z)
Return the volume in which a point is located.
int neBEMGetMirror(int, int *ix, int *jx, double *sx, int *iy, int *jy, double *sy, int *iz, int *jz, double *sz)
void neBEMVolumePrimitives(int, int *, int[])
int neBEMGetNbPrimitives()
Return the number of primitives.
int neBEMGetBoundingPlanes(int *ixmin, double *cxmin, double *vxmin, int *ixmax, double *cxmax, double *vxmax, int *iymin, double *cymin, double *vymin, int *iymax, double *cymax, double *vymax, int *izmin, double *czmin, double *vzmin, int *izmax, double *czmax, double *vzmax)
int neBEMGetPrimitive(int prim, int *nvertex, double xvert[], double yvert[], double zvert[], double *xnorm, double *ynorm, double *znorm, int *volref1, int *volref2)
Return one primitive at a time.
int neBEMGetPeriodicities(int, int *ix, int *jx, double *sx, int *iy, int *jy, double *sy, int *iz, int *jz, double *sz)
double neBEMVolumeCharge(int volume)
int neBEMBoundaryConditions(void)
int neBEMMessage(const char *message)
int neBEMDiscretize(int **NbElemsOnPrimitives)
int neBEMField(Point3D *point, double *potential, Vector3D *field)
int WritePrimitives(void)
int neBEMGetNbOfLines(const char fname[])
int neBEMReadGeometry(void)
double neBEMChkInPoly(int n, Point3D *p, Point3D q)
double neBEMTimeElapsed(clock_t t0, clock_t t1)
int neBEMInitialize(void)
void neBEMDeleteAllWeightingFields(void)
void neBEMDeleteWeightingField(int IdWtField)
int neBEMPrepareWeightingField(int nprim, int primlist[])
int neBEMKnownCharges(void)
double neBEMWeightingField(Point3D *point, Vector3D *field, int IdWtField)
INTFACEGLOBAL clock_t stopClock
INTFACEGLOBAL int OptPrimitiveFiles
INTFACEGLOBAL int neBEMFieldCallCntr
INTFACEGLOBAL FILE * fgnuPrim
INTFACEGLOBAL int NbThreads
INTFACEGLOBAL FILE * fgnuElem
INTFACEGLOBAL int neBEMState
INTFACEGLOBAL int OptPrintVolumeDetails
INTFACEGLOBAL FILE * fgnuMesh
INTFACEGLOBAL char DeviceInputFile[256]
INTFACEGLOBAL int OptGnuplotPrimitives
INTFACEGLOBAL int OptDeviceFile
INTFACEGLOBAL int OptPrintPrimaryDetails
INTFACEGLOBAL clock_t startClock
INTFACEGLOBAL int OptPrintVertexAndNormal
INTFACEGLOBAL int OptElementFiles
INTFACEGLOBAL int OptGnuplot
INTFACEGLOBAL int OptGnuplotElements
INTFACEGLOBAL int OptReuseDir