Bemsolver 2.0
Public Member Functions | Protected Attributes

D3electrode Class Reference

#include <bem.h>

Inheritance diagram for D3electrode:
Inheritance graph
[legend]
Collaboration diagram for D3electrode:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 D3electrode ()
 Constructor for an electrode.
 ~D3electrode ()
void insert (PD3element el)
 Allocates an D3element to an electrode, multiple elements can be allocated to one electrode.
void SetVoltage (double voltage_)
 Sets the voltage for the electrode. Unit: Volt.
double GetVoltage ()
 Gives the voltage of the electrode. Unit: Volt.
void SetSymmetryWith (bool xsym, bool ysym, bool zsym, bool diagmirror, D3electrode *symel2, int rotsym=0, int totalrot=0)
 Eliminates small numerical deviations from perfect symmetry.
void SetSymmetry (bool xsym, bool ysym, bool zsym, bool diagmirror, int rotsym=0, int totalrot2=0)
 Eliminates small numerical deviations from perfect symmetry.
D3electrodeGetSymmetryWith (int num)
int GetTotalrot ()
void SetCardinalNumber (int num)
int GetCardinalNumber ()

Protected Attributes

int cardinalnum
double voltage
D3electrode ** symel
int totalrot

Constructor & Destructor Documentation

D3electrode::D3electrode ( )

Constructor for an electrode.

The father class is D3element, which means an electrode consists of at least one 3-dimensional element and additional attributes such as voltage etc.

D3electrode::~D3electrode ( )

Member Function Documentation

int D3electrode::GetCardinalNumber ( )
D3electrode* D3electrode::GetSymmetryWith ( int  num)
int D3electrode::GetTotalrot ( )
double D3electrode::GetVoltage ( )

Gives the voltage of the electrode. Unit: Volt.

void D3electrode::insert ( PD3element  el)

Allocates an D3element to an electrode, multiple elements can be allocated to one electrode.

Parameters:
elD3element that is being allocated to the electrode
void D3electrode::SetCardinalNumber ( int  num)
void D3electrode::SetSymmetry ( bool  xsym,
bool  ysym,
bool  zsym,
bool  diagmirror,
int  rotsym = 0,
int  totalrot2 = 0 
)

Eliminates small numerical deviations from perfect symmetry.

If you need an electrode that is symmetric to a certain plane or direction, you have to place it properly at first.
The method will now only correct small numerical deviations from perfect symmetry! It cannot provide large-scale translations or rotations!

xsym=true means symmetric with respect to x=0 plane
ysym=true means symmetric with respect to y=0 plane
zsym=true means symmetric with respect to z=0 plane
diagmirror=true means symmetric with respect of exchange of x and y (if z is set as axis in SymmetrizeCharges())
diagmirror=true means symmetric with respect of exchange of y and z (if x is set as axis in SymmetrizeCharges())
diagmirror=true means symmetric with respect of exchange of x and z (if y is set as axis in SymmetrizeCharges())
rotsym means that symmetric with respect to rotsym/totalsym*360 degree rotation (set in a loop if you have rotational symmetry)

Parameters:
xsymtrue, if symmetric with respect to x=0 plane
ysymtrue, if symmetric with respect to y=0 plane
zsymtrue, if symmetric with respect to z=0 plane
diagmirrortrue, if see above
rotsym?? int ??
totalrot2??
void D3electrode::SetSymmetryWith ( bool  xsym,
bool  ysym,
bool  zsym,
bool  diagmirror,
D3electrode symel2,
int  rotsym = 0,
int  totalrot = 0 
)

Eliminates small numerical deviations from perfect symmetry.

If you need an electrode that is symmetric to a certain plane or direction, you have to place it properly at first.
The method will now only correct small numerical deviations from perfect symmetry! It cannot provide large-scale translations or rotations!

Additionally to the methode SetSymmetry , this method also provides to set the current electrode in perfect symmetry with the one specified by *syme12

xsym=true means symmetric with respect to x=0 plane
ysym=true means symmetric with respect to y=0 plane
zsym=true means symmetric with respect to z=0 plane
diagmirror=true means symmetric with respect of exchange of x and y (if z is set as axis in SymmetrizeCharges())
diagmirror=true means symmetric with respect of exchange of y and z (if x is set as axis in SymmetrizeCharges())
diagmirror=true means symmetric with respect of exchange of x and z (if y is set as axis in SymmetrizeCharges())
symel2 is the other electrode unequal to *this that the symmetry refers to
rotsym means that symmetric with respect to rotsym/totalsym*360 degree rotation (set in a loop if you have rotational symmetry)

Parameters:
xsymtrue, if symmetric with respect to x=0 plane
ysymtrue, if symmetric with respect to y=0 plane
zsymtrue, if symmetric with respect to z=0 plane
diagmirrortrue, if see above
symel2other electrode unequal to *this that the symmetry refers to
rotsym?? int ??
totalrot??
void D3electrode::SetVoltage ( double  voltage_)

Sets the voltage for the electrode. Unit: Volt.

Parameters:
voltage_voltage for the electrode, unit: Volt.

Member Data Documentation

int D3electrode::cardinalnum [protected]
int D3electrode::totalrot [protected]
double D3electrode::voltage [protected]

The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Friends Defines