EStaticSolver Object

This object is used to define the electrostatic solver settings.

Methods

Reset

 Resets all internal settings to their default values.

 

Accuracy (double  accuracy)

Specifies the  accuracy of the solver.

 

CalcCapacitanceMatrix (bool  calcCapacitance)

Specifies whether or not to calculate the capacitance matrix between all defined fixed potentials. The dimension N of the capacitance matrix is equivalent to the number of defined fixed potentials and the calculation requires N solver runs.

Please note that charges have no influence on the capacitance matrix.

 

LSESolverType (enum solvertype)

Specifies which solver is used to solve linear systems of equations.

solvertype (enum )

meaning

"Auto"

choose direct or iterative solver automatically depending on the problem size

"Iterative"

use the iterative solver

"Direct"

use the direct solver

 

The default setting is "Auto". The solvertype setting is of interest only for the tetrahedral solver method and will be ignored otherwise.

 

MaxLinIter (int  value)

The number of iterations performed by the linear solver is automatically limited by a number depending on the desired solver accuracy. This is equivalent to setting the value to "0". If you would like to prescribe a fixed upper limit for number of linear iterations, then specify the corresponding value here.

 

Method (enum solvermethod)

Specifies the method used by the electrostatic solver for discretization and solution.

solvermethod (enum )

meaning

"Hexahedral Mesh"

structured grid consisting of hexahedral elements.

"Tetrahedral Mesh"

unstructured grid consisting of tetrahedral elements.

 

MeshAdaption (bool  enableAdaption)

Enables or disables the adaptive mesh refinement for the hexahedral mesh method.

 

OpenBCChargeFree (bool  chargefree)

If open boundaries are set for the calculation domain you can choose between a charge free or fixed type. By default (chargefree=False), the potential value at infinity is fixed and should be specified with the OpenBCPotential command. Use this option if the ground conductor is not included in the simulation domain.

If chargefree is set True, the potential at infinity is floating and charge free. For configurations with multiple conductors including the ground this is probably the correct choice.

 

OpenBCPotential (double  potential)

Sets the potential value for open boundaries of type fixed, i.e. OpenBCChargeFree "False". The default value is "0".

 

PECDefault (enum pectype)

Specifies how pec domains without source definition and electric boundary behave:

pectype (enum )

meaning

"Grounded"

treat all PEC domains as fixed potentials (default)

"Floating"

treat all PEC domains as floating potentialsr

 

SavePotentialChargeData (bool  saveData)

Specifies whether or not to store the potential and charge data to a file.

 

StoreResultsInCache (bool  storeResults)

Specifies whether or not to store calculation results in the result data cache.

 

TetAdaption(bool  enableAdaption)

Enables or diables the adaptive mesh refinement for the tetrahedral mesh method.

 

TetAdaptionAccuracy(double  accuracy)

If the relative deviation of the energy between two passes is smaller than this error limit the mesh adaptation will terminate.

 

TetAdaptionMaxCycles(int maxcycles)

Specifies the maximum number of passes to be performed for the mesh adaption, even if the results have not sufficiently converged so far. This setting is useful to limit the total calculation time to reasonable amounts.

This setting is considered only for the tetrahedral mesh method and ignored otherwise. For specification of hexahedral mesh adaption properties see MeshAdaption3D.

 

TetAdaptionMinCycles(int mincycles)

Sets the minimum number of passes which will be performed during the mesh adaption, even if the results do not change significantly. Sometimes the adaptive mesh refinement needs a couple of passes to figure out the location of the most important regions. Thus it might happen that the results change only marginally during the first few passes but afterwards change in order to converge to the final solution.

This setting is considered only for the tetrahedral mesh method and ignored otherwise. For specification of hexahedral mesh adaption properties see MeshAdaption3D.

 

TetAdaptionRefinementPercentage (double percent)

Sets the maximum percentage of mesh elements to be refined during a tetrahedral adaptation pass. The higher the specified percentage is, the stronger will the number of elements and therefore the numerical effort increase.

 

SnapToGeometry(bool  snapping)

When snapping is True, new nodes that are generated on the surface mesh during the mesh adaption will be projected to the original geometry, so that the approximation of curved surfaces is improved after each adaptation step.

If this option is disabled, the geometry will be approximated by the initial mesh. The geometric discretization error produced by this approximation will therefore not decrease, but the adaptation process might be faster.

 

TetSolverOrder (int tetorder)

This option allows to specify whether the tetrahedral solver uses first- or second-order accuracy. Second-order (tetorder = "2") is the default due to its higher accuracy. However, if the structure is geometrically complex and therefore comes along with huge memory requirements, first-order (tetorder = "1") is an adequate alternative.

This setting is considered only for the tetrahedral mesh method and ignored otherwise. For specification of hexahedral mesh adaption properties see MeshAdaption3D.

 

UseDistributedComputing(bool  useDC)

Enables or disables distributed computing.

 

UseMaxNumberOfThreads(bool  useMaxThreads)

By default (useMaxThreads = False), the solver is forced to employ a particular number of threads that is defined on the basis of the current processor’s architecture and the number of the available parallel licenses. If activated (useMaxThreads = True), the solver can be forced to use less than all available threads (see MaxNumberOfThreads).

 

MaxNumberOfThreads (int nThreads)

If the solver is to use less than all available threads (cf. UseMaxNumberOfThreads), the desired number can be specified here. The default value ”r;8” reflects the possibility of the modern processors architecture.

 

Start long

Starts the electrostatic solver with the prescribed settings and the currently active mesh. If no mesh is available, a new mesh will be generated. Returns 0 if the solver run was successful, an error code >0 otherwise.

 

ContinueAdaption long

Starts the electrostatic solver with the prescribed settings and the currently active mesh. In case of the tetrahedral solver with adaptive mesh refinement, this command will continue the previous adaption run if the corresponding results are available. Otherwise this command is similar to the Start command. Returns 0 if the solver run was successful, an error code >0 otherwise.

Functions

GetCapacitanceValueGrounded  (name source1, name source2) double

Retrieves the couple capacitance between given electrostatic source definitions. The return value represents an element of the grounded capacitance matrix in Farad. The grounded capacitance matrix describes the relation between the voltages to ground and the charges on the conductors.

 

GetCapacitanceValueLumped  (name source1, name source2) double

Retrieves the couple capacitance between given electrostatic source definitions. The return value represents an element of the lumped capacitance matrix in Farad. The lumped capacitance values are based on voltages between conductors (instead of voltages to ground).

 

GetEnergy double

Returns the total electrostatic energy in the computational domain in Joule.

Default Values

Method "Hexahedral Mesh"

Accuracy "1e-6"

Preconditioner "ILU"

CalcCapacitanceMatrix "False"

MeshAdaption "False"

SavePotentialChargeData  "False"

StoreResultsInCache "False"

UseMaxNumberOfThreads "False"

MaxNumberOfThreads "8"

Examples

With EStaticSolver

     .Reset

     .Method "Hexahedral Mesh"

     .Accuracy "1e-6"

     .CalcCapacitanceMatrix "True"

     .StoreResultsInCache "False"

     .Preconditioner "ILU"

     .MeshAdaption "False"

     .SavePotentialChargeData "False"

End With