|
Bemsolver 2.0
|
#include <bem.h>


Public Member Functions | |
| D3world (unsigned long num1, unsigned long num2, unsigned long num3, unsigned long num4, unsigned long d, unsigned long m, unsigned long y) | |
| D3world (const char *_cachefilename, double tol=0.001, int maxit=32, int numMom=2, int numLev=4, double spaceunit=0.001, int segmentation=1000) | |
| ~D3world () | |
| void | insert (D3electrode *el) |
| void | GetListOfBaseElements (PD3element *el, int *electrodeIndexLimit, int &cnt) |
| void | SymmetrizeCharges (int axis=1, double epsilon=0.00001, bool ignoremirror=false) |
| void | solve () |
| double | calc (double x, double y, double z) |
| Computes matrices that are required for the calculations of the potentials. | |
| void | calc (double xxx, double y, double z, double &pot, double &feldx, double &feldy, double &feldz) |
| void | calc (double xmin, double xmax, int nx, double ymin, double ymax, int ny, double zmin, double zmax, int nz) |
| Caching data for access with calc(x,y,z) or calc(x,y,z,&pot,&feldx,&feldy,&feldz). //x. | |
| void | calc (int xxxnum, double *xxx, double *Potential) |
| Calculating only p otentials. //x. | |
| void | calc (int xxxnum, double *xxx, double *Potential, double *FieldX, double *FieldY, double *FieldZ) |
| Calculating potentials and fields. //x. | |
| double | calc_slow (double x, double y, double z) |
| void | calc_slow (double xmin, double xmax, int nx, double ymin, double ymax, int ny, double zmin, double zmax, int nz) |
| void | calc_slow (int xxxnum, double *xxx, double *Potential, double *FieldX, double *FieldY, double *FieldZ) |
| Calculating potentials and fields. //x. | |
| void | SetScalePostCalc (double xscale2, double yscale2, double zscale2) |
| bool | IsEqualSurfaceElement (int amountOfVertices, double eps, double *x, double *X) |
| void | draw () |
| void | Dcentroid (int shape, double *pc, double *xcout) |
| void | save (char *fname) |
| bool | load (char *fname) |
| int | cut (int n, int max) |
| void | savecalc (char *fname) |
| bool | loadcalc (char *fname) |
| void | AssignColors () |
| unsigned long | update_adler32double (unsigned long old, double *buf, unsigned long len, int ignorebytes=3) |
| void | RefreshChecksum () |
| void | exportGeometry (const char *fname) |
| void | propagateForwardVerlet (double x[3], double v[3], double h, double qDivM=eee/mmm, bool onedim=false) |
| void | propagateForwardEuler (double x[3], double v[3], double h, double qDivM=eee/mmm) |
| void | propagateForwardVerletRotSymX (double x[3], double v[3], double h, double qDivM=eee/mmm) |
| void | propagateForwardVerletRotSymY (double x[3], double v[3], double h, double qDivM=eee/mmm) |
| void | propagateForwardVerletRotSymZ (double x[3], double v[3], double h, double qDivM=eee/mmm) |
| void | calc2 (int xxxnum, double *xxx, double *Potential, double *FieldX, double *FieldY, double *FieldZ) |
| Calculating potentials and fields. //x. | |
| void | calc_slow2 (int xxxnum, double *xxx, double *Potential, double *FieldX, double *FieldY, double *FieldZ) |
| Calculating potentials and fields. //x. | |
Public Attributes | |
| bool | rangeerror |
Protected Member Functions | |
| void | exch (double &a, double &b) |
| void | RotMirrorSurfaceElement (int axis, int sym, double *xx) |
| unsigned long | update_adler32 (unsigned long old, unsigned char *buf, unsigned long len) |
Protected Attributes | |
| double | xscale |
| double | yscale |
| double | zscale |
| int | totalrot |
| bool | refreshchecksum |
| int | currentel |
| int | segmentation |
| double | spaceunit |
| char | cachefilename [2000] |
| bool | docache |
| double | xmin |
| double | xmax |
| int | nx |
| double | ymin |
| double | ymax |
| int | ny |
| double | zmin |
| double | zmax |
| int | nz |
| double * | potcache |
| double * | feldxcache |
| double * | feldycache |
| double * | feldzcache |
| int | size |
| int | nlhs |
| int | nrhs |
| int | numMom |
| int | numLev |
| int | i |
| int | j |
| char * | shapechar |
| double * | x |
| double * | poten |
| double * | dbydnpotenAll |
| double * | dbydbpoten |
| double * | xcoll |
| double * | xnrm |
| double * | lhsvect |
| double * | rhsvect |
| int * | shape |
| int * | type |
| int * | dtype |
| int * | rhstype |
| int * | lhstype |
| int * | rhsindex |
| int * | lhsindex |
| int | job |
| int | fljob |
| double | error |
| double | max_diri |
| double | ave_diri |
| double | max_neum |
| double | ave_neum |
| double | cnt_diri |
| double | cnt_neum |
| double | tol |
| int | maxit |
| int | numit |
| unsigned long | checksum |
| unsigned long | checksumcalc |
| double * | f |
| double * | dfdnAll |
| int * | electrodeIndexLimit |
| PD3element * | el |
| D3electrode ** | electrodes |
| int | n |
| int | amountOfElectrodes |
| D3world::D3world | ( | unsigned long | num1, |
| unsigned long | num2, | ||
| unsigned long | num3, | ||
| unsigned long | num4, | ||
| unsigned long | d, | ||
| unsigned long | m, | ||
| unsigned long | y | ||
| ) |
| D3world::D3world | ( | const char * | _cachefilename, |
| double | tol = 0.001, |
||
| int | maxit = 32, |
||
| int | numMom = 2, |
||
| int | numLev = 4, |
||
| double | spaceunit = 0.001, |
||
| int | segmentation = 1000 |
||
| ) |
aus der cpp: num is registration key, d is day, m is month, y is year
???
| D3world::~D3world | ( | ) |
| void D3world::AssignColors | ( | ) |
| double D3world::calc | ( | double | x, |
| double | y, | ||
| double | z | ||
| ) |
Computes matrices that are required for the calculations of the potentials.
| void D3world::calc | ( | int | xxxnum, |
| double * | xxx, | ||
| double * | Potential, | ||
| double * | FieldX, | ||
| double * | FieldY, | ||
| double * | FieldZ | ||
| ) |
Calculating potentials and fields. //x.
| void D3world::calc | ( | int | xxxnum, |
| double * | xxx, | ||
| double * | Potential | ||
| ) |
Calculating only p otentials. //x.
| void D3world::calc | ( | double | xxx, |
| double | y, | ||
| double | z, | ||
| double & | pot, | ||
| double & | feldx, | ||
| double & | feldy, | ||
| double & | feldz | ||
| ) |
| void D3world::calc | ( | double | xmin, |
| double | xmax, | ||
| int | nx, | ||
| double | ymin, | ||
| double | ymax, | ||
| int | ny, | ||
| double | zmin, | ||
| double | zmax, | ||
| int | nz | ||
| ) |
Caching data for access with calc(x,y,z) or calc(x,y,z,&pot,&feldx,&feldy,&feldz). //x.
| void D3world::calc2 | ( | int | xxxnum, |
| double * | xxx, | ||
| double * | Potential, | ||
| double * | FieldX, | ||
| double * | FieldY, | ||
| double * | FieldZ | ||
| ) |
Calculating potentials and fields. //x.
| double D3world::calc_slow | ( | double | x, |
| double | y, | ||
| double | z | ||
| ) |
| void D3world::calc_slow | ( | double | xmin, |
| double | xmax, | ||
| int | nx, | ||
| double | ymin, | ||
| double | ymax, | ||
| int | ny, | ||
| double | zmin, | ||
| double | zmax, | ||
| int | nz | ||
| ) |
| void D3world::calc_slow | ( | int | xxxnum, |
| double * | xxx, | ||
| double * | Potential, | ||
| double * | FieldX, | ||
| double * | FieldY, | ||
| double * | FieldZ | ||
| ) |
Calculating potentials and fields. //x.
| void D3world::calc_slow2 | ( | int | xxxnum, |
| double * | xxx, | ||
| double * | Potential, | ||
| double * | FieldX, | ||
| double * | FieldY, | ||
| double * | FieldZ | ||
| ) |
Calculating potentials and fields. //x.
| int D3world::cut | ( | int | n, |
| int | max | ||
| ) |
| void D3world::Dcentroid | ( | int | shape, |
| double * | pc, | ||
| double * | xcout | ||
| ) |
| void D3world::draw | ( | ) |
| void D3world::exch | ( | double & | a, |
| double & | b | ||
| ) | [protected] |
| void D3world::exportGeometry | ( | const char * | fname | ) |
| void D3world::GetListOfBaseElements | ( | PD3element * | el, |
| int * | electrodeIndexLimit, | ||
| int & | cnt | ||
| ) |
| void D3world::insert | ( | D3electrode * | el | ) |
| bool D3world::IsEqualSurfaceElement | ( | int | amountOfVertices, |
| double | eps, | ||
| double * | x, | ||
| double * | X | ||
| ) |
| bool D3world::load | ( | char * | fname | ) |
| bool D3world::loadcalc | ( | char * | fname | ) |
| void D3world::propagateForwardEuler | ( | double | x[3], |
| double | v[3], | ||
| double | h, | ||
| double | qDivM = eee/mmm |
||
| ) |
| void D3world::propagateForwardVerlet | ( | double | x[3], |
| double | v[3], | ||
| double | h, | ||
| double | qDivM = eee/mmm, |
||
| bool | onedim = false |
||
| ) |
Propagates particle at position x[3] one timestep h forward.
| x[3] | contains x,y,z position at current timestep. After call contains the position at next timestep. |
| v[3] | contains x,y,z velocity at current timestep. |
| h | is timestep in seconds. |
| qDivM | is charge of particle divided by mass. |
| void D3world::propagateForwardVerletRotSymX | ( | double | x[3], |
| double | v[3], | ||
| double | h, | ||
| double | qDivM = eee/mmm |
||
| ) |
| void D3world::propagateForwardVerletRotSymY | ( | double | x[3], |
| double | v[3], | ||
| double | h, | ||
| double | qDivM = eee/mmm |
||
| ) |
| void D3world::propagateForwardVerletRotSymZ | ( | double | x[3], |
| double | v[3], | ||
| double | h, | ||
| double | qDivM = eee/mmm |
||
| ) |
| void D3world::RefreshChecksum | ( | ) |
| void D3world::RotMirrorSurfaceElement | ( | int | axis, |
| int | sym, | ||
| double * | xx | ||
| ) | [protected] |
| void D3world::save | ( | char * | fname | ) |
| void D3world::savecalc | ( | char * | fname | ) |
| void D3world::SetScalePostCalc | ( | double | xscale2, |
| double | yscale2, | ||
| double | zscale2 | ||
| ) |
| void D3world::solve | ( | ) |
| void D3world::SymmetrizeCharges | ( | int | axis = 1, |
| double | epsilon = 0.00001, |
||
| bool | ignoremirror = false |
||
| ) |
| unsigned long D3world::update_adler32 | ( | unsigned long | old, |
| unsigned char * | buf, | ||
| unsigned long | len | ||
| ) | [protected] |
| unsigned long D3world::update_adler32double | ( | unsigned long | old, |
| double * | buf, | ||
| unsigned long | len, | ||
| int | ignorebytes = 3 |
||
| ) |
int D3world::amountOfElectrodes [protected] |
double D3world::ave_diri [protected] |
double D3world::ave_neum [protected] |
char D3world::cachefilename[2000] [protected] |
unsigned long D3world::checksum [protected] |
unsigned long D3world::checksumcalc [protected] |
double D3world::cnt_diri [protected] |
double D3world::cnt_neum [protected] |
int D3world::currentel [protected] |
double* D3world::dbydbpoten [protected] |
double* D3world::dbydnpotenAll [protected] |
double* D3world::dfdnAll [protected] |
bool D3world::docache [protected] |
int* D3world::dtype [protected] |
PD3element* D3world::el [protected] |
int* D3world::electrodeIndexLimit [protected] |
D3electrode** D3world::electrodes [protected] |
double D3world::error [protected] |
double* D3world::f [protected] |
double* D3world::feldxcache [protected] |
double* D3world::feldycache [protected] |
double* D3world::feldzcache [protected] |
int D3world::fljob [protected] |
int D3world::i [protected] |
int D3world::j [protected] |
int D3world::job [protected] |
int* D3world::lhsindex [protected] |
int* D3world::lhstype [protected] |
double* D3world::lhsvect [protected] |
double D3world::max_diri [protected] |
double D3world::max_neum [protected] |
int D3world::maxit [protected] |
int D3world::n [protected] |
int D3world::nlhs [protected] |
int D3world::nrhs [protected] |
int D3world::numit [protected] |
int D3world::numLev [protected] |
int D3world::numMom [protected] |
int D3world::nx [protected] |
int D3world::ny [protected] |
int D3world::nz [protected] |
double* D3world::potcache [protected] |
double* D3world::poten [protected] |
| bool D3world::rangeerror |
bool D3world::refreshchecksum [protected] |
int* D3world::rhsindex [protected] |
int* D3world::rhstype [protected] |
double* D3world::rhsvect [protected] |
int D3world::segmentation [protected] |
int* D3world::shape [protected] |
char* D3world::shapechar [protected] |
int D3world::size [protected] |
double D3world::spaceunit [protected] |
double D3world::tol [protected] |
int D3world::totalrot [protected] |
int* D3world::type [protected] |
double* D3world::x [protected] |
Reimplemented from D3element.
double* D3world::xcoll [protected] |
double D3world::xmax [protected] |
double D3world::xmin [protected] |
double* D3world::xnrm [protected] |
double D3world::xscale [protected] |
double D3world::ymax [protected] |
double D3world::ymin [protected] |
double D3world::yscale [protected] |
double D3world::zmax [protected] |
double D3world::zmin [protected] |
double D3world::zscale [protected] |
1.7.3