7#ifdef DEFINE_neBEMGLOBAL
10#define neBEMGLOBAL extern
20#define EPS0 8.854187817e-12
21#define MyFACTOR 111.26500547e-12
27#define Q_E -1.60217646e-19
28#define Q_I 1.60217646e-19
267 double yvert[],
double zvert[],
double xnorm,
268 double ynorm,
double znorm,
int volref1,
269 int volref2,
int inttype,
double potential,
270 double charge,
double lambda,
int NbSegX,
273 double yvert[],
double zvert[],
double radius,
274 int volref1,
int volref2,
int inttype,
275 double potential,
double charge,
double lambda,
282 double yvert[],
double zvert[],
double radius,
283 int volref1,
int volref2,
int inttype,
284 double potential,
double charge,
double lambda,
287 double yvert[],
double zvert[],
double xnorm,
288 double ynorm,
double znorm,
int volref1,
289 int volref2,
int inttype,
double potential,
290 double charge,
double lambda,
int NbSegX,
293 double yvert[],
double zvert[],
294 double xnorm,
double ynorm,
double znorm,
295 int volref1,
int volref2,
int inttype,
296 double potential,
double charge,
297 double lambda,
int NbSegX,
int NbSegZ);
299 double yvert[],
double zvert[],
double xnorm,
300 double ynorm,
double znorm,
int volref1,
301 int volref2,
int inttype,
double potential,
302 double charge,
double lambda,
int NbSegX,
335 int PrimListWtField[],
338 Point3D fieldpt,
double distance,
341 Point3D fieldpt,
double distance,
547neBEMGLOBAL void GetPF(
int type,
double a,
double b,
double x,
double y,
double z,
int KnChPFAtPoint(Point3D *globalP, double *Potential, Vector3D *globalF)
void GetFlux(int ele, Point3D *localP, Vector3D *localF)
double GetPotential(int ele, Point3D *localP)
int FastPFAtPoint(Point3D *globalP, double *Potential, Vector3D *globalF)
void WirePrimPF(int prim, Point3D *localP, double *Potential, Vector3D *localF)
int FastKnChPFAtPoint(Point3D *globalP, double *Potential, Vector3D *globalF)
double TriPot(int ele, Point3D *localP)
void RecPrimPF(int prim, Point3D *localP, double *Potential, Vector3D *localF)
double WirePot(int ele, Point3D *localP)
void TriFlux(int ele, Point3D *localP, Vector3D *localF)
void RecFlux(int ele, Point3D *localP, Vector3D *localF)
void GetPrimPFGCS(int prim, Point3D *localP, double *Potential, Vector3D *globalF, DirnCosn3D *DirCos)
double RecPot(int ele, Point3D *localP)
int WtPFAtPoint(Point3D *globalP, double *Potential, Vector3D *globalF, int IdWtField)
void WireFlux(int ele, Point3D *localP, Vector3D *localF)
void RecPF(double a, double b, double x, double y, double z, double *Potential, Vector3D *localF)
int ElePFAtPoint(Point3D *globalP, double *Potential, Vector3D *globalF)
void TriPF(double a, double b, double x, double y, double z, double *Potential, Vector3D *localF)
void GetPFGCS(int type, double a, double b, Point3D *localP, double *Potential, Vector3D *globalF, DirnCosn3D *DirCos)
int PFAtPoint(Point3D *globalP, double *Potential, Vector3D *globalF)
int FastElePFAtPoint(Point3D *, double *, Vector3D *)
void TriPrimPF(int prim, Point3D *localP, double *Potential, Vector3D *localF)
void WirePF(double rW, double lW, double x, double y, double z, double *Potential, Vector3D *localF)
void GetPrimPF(int prim, Point3D *localP, double *Potential, Vector3D *localF)
void GetPF(int type, double a, double b, double x, double y, double z, double *Potential, Vector3D *localF)
void GetFluxGCS(int ele, Point3D *localP, Vector3D *globalF)
int WtFldFastPFAtPoint(Point3D *globalP, double *Potential, Vector3D *globalF)
int ComputeSolution(void)
double ComputeInfluence(int elefld, int elesrc, Point3D *localP, DirnCosn3D *DirCos)
double ValueKnCh(int elefld)
double EffectChUp(int elefld)
double ContinuityKnCh(int elefld)
Point3D ReflectPrimitiveOnMirror(char Axis, int primsrc, Point3D srcpt, Point3D fldpt, double distance, DirnCosn3D *MirroredDC)
int WeightingFieldSolution(int NbPrimsWtField, int PrimListWtField[], double solnarray[])
double ValueChUp(int elefld)
double SatisfyContinuity(int elefld, int elesrc, Point3D *localP, DirnCosn3D *DirCos)
Point3D ReflectOnMirror(char Axis, int elesrc, Point3D srcpt, Point3D fldpt, double distance, DirnCosn3D *MirroredDC)
double SatisfyValue(int elesrc, Point3D *localP)
double EffectKnCh(int elefld)
neBEMGLOBAL double ** InvMat
neBEMGLOBAL Element * EleArr
neBEMGLOBAL double * ApplPot
neBEMGLOBAL double **** FastFY
neBEMGLOBAL int DebugLevel
neBEMGLOBAL int NbVolumes
neBEMGLOBAL int NbFloatCon
neBEMGLOBAL int * PeriodicInY
neBEMGLOBAL double VFloatCon
neBEMGLOBAL int * volMaterial
neBEMGLOBAL int OptWtFldReadFastPF
neBEMGLOBAL int OptStaggerFastVol
neBEMGLOBAL double **** FastFZ
neBEMGLOBAL int BoundaryConditions(void)
neBEMGLOBAL double **** WtFldFastStgFZ
neBEMGLOBAL int * NbElmntsOnPrim
neBEMGLOBAL double **** WtFldFastFZ
neBEMGLOBAL int OptInvMatProc
neBEMGLOBAL double **** FastStgFZ
neBEMGLOBAL double * ZNorm
neBEMGLOBAL int OptRepeatLHMatrix
neBEMGLOBAL char MeshOutDir[256]
neBEMGLOBAL int * MirrorTypeZ
neBEMGLOBAL double **** FastStgPot
neBEMGLOBAL double * OmitVolCrnrZ
neBEMGLOBAL double * MirrorDistYFromOrigin
neBEMGLOBAL int OptStorePrimitives
neBEMGLOBAL int MaxNbVertices
neBEMGLOBAL int * BndPlaneInYMax
neBEMGLOBAL double **** FastStgFXKnCh
neBEMGLOBAL double * XBndPlaneInXMax
neBEMGLOBAL int * WtFldBlkNbYCells
neBEMGLOBAL double * WtFldOmitVolLX
neBEMGLOBAL double ** ZVertex
neBEMGLOBAL double FixedWtFieldZ
neBEMGLOBAL int * NbWireSeg
neBEMGLOBAL double * YBndPlaneInYMin
neBEMGLOBAL int * NbSurfSegX
neBEMGLOBAL int OptWtFldFastVol
neBEMGLOBAL int ** OrgnlToEffPrim
neBEMGLOBAL double **** WtFldFastFX
neBEMGLOBAL double ElementLengthRqstd
neBEMGLOBAL double * ZPeriod
neBEMGLOBAL PointKnCh * PointKnChArr
neBEMGLOBAL double * OmitVolLX
neBEMGLOBAL char PPOutDir[256]
neBEMGLOBAL VolumeKnCh * VolumeKnChArr
neBEMGLOBAL int OptStaggerMap
neBEMGLOBAL char GnuplotTmpDir[256]
neBEMGLOBAL char neBEMVersion[10]
neBEMGLOBAL double **** WtFldFastPot
neBEMGLOBAL double **** FastFYKnCh
neBEMGLOBAL double * WtFldOmitVolCrnrZ
neBEMGLOBAL int OptFormattedFile
neBEMGLOBAL int OptChargingUp
neBEMGLOBAL double VSystemChargeZero
neBEMGLOBAL int EndOfTime
neBEMGLOBAL double * VBndPlaneInZMin
neBEMGLOBAL int * WtFldBlkNbXCells
neBEMGLOBAL int * BndPlaneInXMax
neBEMGLOBAL double * WtFldIgnoreVolCrnrX
neBEMGLOBAL double * XNorm
neBEMGLOBAL double * YBndPlaneInYMax
neBEMGLOBAL double * PrimOriginZ
neBEMGLOBAL double * BlkCrnrZ
neBEMGLOBAL int NbPrimitives
neBEMGLOBAL double **** FastStgFY
neBEMGLOBAL int * NbVertices
neBEMGLOBAL int WireElements(int prim, int nvertex, double xvert[], double yvert[], double zvert[], double radius, int volref1, int volref2, int inttype, double potential, double charge, double lambda, int NbWireSeg)
neBEMGLOBAL int AnalyzePrimitive(int, int *, int *)
neBEMGLOBAL int * PeriodicTypeX
neBEMGLOBAL int OptCreateFastPF
neBEMGLOBAL int NbElements
neBEMGLOBAL int OptEstimateError
neBEMGLOBAL double * VBndPlaneInYMax
neBEMGLOBAL double * Lambda
neBEMGLOBAL double * ZBndPlaneInZMax
neBEMGLOBAL double * WtFldOmitVolCrnrY
neBEMGLOBAL int * PeriodicTypeY
neBEMGLOBAL int NbPointsKnCh
neBEMGLOBAL int OptWtFldStaggerFastVol
neBEMGLOBAL double * Epsilon1
neBEMGLOBAL FastAlgoVol FastVol
neBEMGLOBAL double ** YVertex
neBEMGLOBAL int DiscretizePolygon(int prim, int nvertex, double xvert[], double yvert[], double zvert[], double xnorm, double ynorm, double znorm, int volref1, int volref2, int inttype, double potential, double charge, double lambda, int NbSegX, int NbSegZ)
neBEMGLOBAL int * NbSurfSegZ
neBEMGLOBAL double * PrimOriginY
neBEMGLOBAL double * MirrorDistZFromOrigin
neBEMGLOBAL double * WtFldOmitVolLZ
neBEMGLOBAL AreaKnCh * AreaKnChArr
neBEMGLOBAL double **** WtFldFastStgPot
neBEMGLOBAL DirnCosn3D * PrimDC
neBEMGLOBAL int WtFldNbPtSkip
neBEMGLOBAL int * BndPlaneInZMin
neBEMGLOBAL int PrimAfter
neBEMGLOBAL double * VBndPlaneInXMin
neBEMGLOBAL double * BlkLZ
neBEMGLOBAL double * OmitVolCrnrX
neBEMGLOBAL int OptSystemChargeZero
neBEMGLOBAL int AnalyzeSurface(int, int *, int *)
neBEMGLOBAL int NbLinesKnCh
neBEMGLOBAL int NbFloatingConductors
neBEMGLOBAL int NbConstraints
neBEMGLOBAL double * OmitVolLZ
neBEMGLOBAL int NbStgPtSkip
neBEMGLOBAL int * VolRef1
neBEMGLOBAL double * XPeriod
neBEMGLOBAL double * volEpsilon
neBEMGLOBAL double * YNorm
neBEMGLOBAL char ModelOutDir[256]
neBEMGLOBAL int NbVolumesKnCh
neBEMGLOBAL double * volPotential
neBEMGLOBAL double ** XVertex
neBEMGLOBAL double * VBndPlaneInZMax
neBEMGLOBAL double * AvAsgndChDen
neBEMGLOBAL double * IgnoreVolCrnrY
neBEMGLOBAL double * XBndPlaneInXMin
neBEMGLOBAL double FixedWtFieldX
neBEMGLOBAL int OptWtFldCreateFastPF
neBEMGLOBAL int * VolRef2
neBEMGLOBAL char MapVersion[10]
neBEMGLOBAL double * WtFldIgnoreVolLZ
neBEMGLOBAL WtFldFastAlgoVol WtFldFastVol
neBEMGLOBAL double * OmitVolCrnrY
neBEMGLOBAL int * BndPlaneInXMin
neBEMGLOBAL char NativeOutDir[256]
neBEMGLOBAL char TimeStr[256]
neBEMGLOBAL int * MirrorTypeY
neBEMGLOBAL int WtFldFastVolPF(void)
neBEMGLOBAL double **** FastFX
neBEMGLOBAL int NbAreasKnCh
neBEMGLOBAL int * ElementEnd
neBEMGLOBAL double **** WtFldFastFY
neBEMGLOBAL double * AvChDen
neBEMGLOBAL double * WtFldBlkLZ
neBEMGLOBAL int OptFastVol
neBEMGLOBAL double * WtFldBlkCrnrZ
neBEMGLOBAL double **** WtFldFastStgFY
neBEMGLOBAL double **** FastStgFX
neBEMGLOBAL double * Radius
neBEMGLOBAL int * MirrorTypeX
neBEMGLOBAL int * BndPlaneInZMax
neBEMGLOBAL int * InterfaceType
neBEMGLOBAL double * OmitVolLY
neBEMGLOBAL int * BlkNbXCells
neBEMGLOBAL int * PrimType
neBEMGLOBAL int OptReadFastPF
neBEMGLOBAL double ContinuityChUp(int fld)
neBEMGLOBAL int * BndPlaneInYMin
neBEMGLOBAL double * PrimLX
neBEMGLOBAL int * BlkNbZCells
neBEMGLOBAL int DiscretizeWire(int prim, int nvertex, double xvert[], double yvert[], double zvert[], double radius, int volref1, int volref2, int inttype, double potential, double charge, double lambda, int NbSegs)
neBEMGLOBAL double * WtFldOmitVolLY
neBEMGLOBAL int * WtFldBlkNbZCells
neBEMGLOBAL double FixedWtFieldY
neBEMGLOBAL double * Solution
neBEMGLOBAL int * ElementBgn
neBEMGLOBAL double * PrimOriginX
neBEMGLOBAL int OptStoreInflMatrix
neBEMGLOBAL int WtFldNbStgPtSkip
neBEMGLOBAL double ** AvWtChDen
neBEMGLOBAL double * IgnoreVolLY
neBEMGLOBAL double FixedWtPotential
neBEMGLOBAL double * WtFldIgnoreVolCrnrY
neBEMGLOBAL double * IgnoreVolLX
neBEMGLOBAL int * PeriodicInZ
neBEMGLOBAL int * PeriodicInX
neBEMGLOBAL double * WtFldIgnoreVolCrnrZ
neBEMGLOBAL int OptForceValidation
neBEMGLOBAL double ** Inf
neBEMGLOBAL double * WtFldIgnoreVolLY
neBEMGLOBAL double **** FastFXKnCh
neBEMGLOBAL int OptUnformattedFile
neBEMGLOBAL double LengthScale
neBEMGLOBAL int OptFixedWtField
neBEMGLOBAL int NbUnknowns
neBEMGLOBAL double * ZBndPlaneInZMin
neBEMGLOBAL FILE * fMeshLog
neBEMGLOBAL double * IgnoreVolLZ
neBEMGLOBAL double * WtFldOmitVolCrnrX
neBEMGLOBAL double **** FastFZKnCh
neBEMGLOBAL double * VBndPlaneInYMin
neBEMGLOBAL int MaxNbElementsOnLength
neBEMGLOBAL int SurfaceElements(int prim, int nvertex, double xvert[], double yvert[], double zvert[], double xnorm, double ynorm, double znorm, int volref1, int volref2, int inttype, double potential, double charge, double lambda, int NbSegX, int NbSegZ)
neBEMGLOBAL char GnuplotScriptFile[256]
neBEMGLOBAL int DiscretizeRectangle(int prim, int nvertex, double xvert[], double yvert[], double zvert[], double xnorm, double ynorm, double znorm, int volref1, int volref2, int inttype, double potential, double charge, double lambda, int NbSegX, int NbSegZ)
neBEMGLOBAL double * volCharge
neBEMGLOBAL double **** WtFldFastStgFX
neBEMGLOBAL VoxelVol Voxel
neBEMGLOBAL double **** FastStgFYKnCh
neBEMGLOBAL double ** WtFieldChDen
neBEMGLOBAL int FastVolKnChPF(void)
neBEMGLOBAL double * WtFldIgnoreVolLX
neBEMGLOBAL int OrgnlNbPrimitives
neBEMGLOBAL int * volBoundaryType
neBEMGLOBAL int ModelCntr
neBEMGLOBAL int * PeriodicTypeZ
neBEMGLOBAL char NativePrimDir[256]
neBEMGLOBAL LineKnCh * LineKnChArr
neBEMGLOBAL int OptValidateSolution
neBEMGLOBAL int AnalyzeWire(int, int *)
neBEMGLOBAL double **** FastPot
neBEMGLOBAL double **** FastPotKnCh
neBEMGLOBAL char DeviceOutDir[256]
neBEMGLOBAL int OptStoreElements
neBEMGLOBAL int OptStoreInvMatrix
neBEMGLOBAL double * IgnoreVolCrnrX
neBEMGLOBAL char BCOutDir[256]
neBEMGLOBAL double * YPeriod
neBEMGLOBAL double * PrimLZ
neBEMGLOBAL int * volShape
neBEMGLOBAL double * MirrorDistXFromOrigin
neBEMGLOBAL int NbSystemChargeZero
neBEMGLOBAL double * VBndPlaneInXMax
neBEMGLOBAL double **** FastStgPotKnCh
neBEMGLOBAL double **** FastStgFZKnCh
neBEMGLOBAL double * Epsilon2
neBEMGLOBAL int DiscretizeTriangle(int prim, int nvertex, double xvert[], double yvert[], double zvert[], double xnorm, double ynorm, double znorm, int volref1, int volref2, int inttype, double potential, double charge, double lambda, int NbSegX, int NbSegZ)
neBEMGLOBAL double * ApplCh
neBEMGLOBAL double * IgnoreVolCrnrZ
neBEMGLOBAL int * BlkNbYCells
neBEMGLOBAL int MinNbElementsOnLength
neBEMGLOBAL int OptStaggerVoxel