StationaryCurrentSolver Object

This object is used to define the stationary current  solver settings.

Methods

Reset

 Resets all internal settings to their default values.

 

Accuracy (double value)

Specifies the accuracy value of the solver.

 

NonlinearAccuracy (double value)

Specifies the desired accuracy value for nonlinear iteration cycles, used e.g. for solution of problems with nonlinear electric conductivity

 

CalcConductanceMatrix (bool  calcConductance)

Specifies whether or not to calculate the conductance matrix between all defined potentials and current ports.

 

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

 

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.

 

MeshAdaption (bool  enableAdaption)

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

 

Method (enum solvermethod)

Specifies the method used by the stationary current solver for discretization and solution.

solvermethod (enum )

meaning

"Hexahedral Mesh"

structured grid consisting of hexahedral elements.

"Tetrahedral Mesh"

unstructured grid consisting of tetrahedral elements.

 

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

 

StoreResultsInCache (bool storeResults)

Specify 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 stationary current 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 stationary current 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

GetConductanceValue(name source1, name source2) double

Retrieves the couple conductance between given stationary current source definitions. The return value represents an element of the conductance matrix in Siemens.

Default Values

Accuracy "1e-6"

Preconditioner "ILU"

MeshAdaption "False"

StoreResultsInCache "False"

LSESolverType "Auto"

TetSolverOrder "2"

PECDefault "Grounded"

UseMaxNumberOfThreads "False"

MaxNumberOfThreads "8"

Examples

With StationaryCurrentSolver

     .Reset

     .Accuracy "1e-6"

     .Preconditioner "ILU"

     .StoreResultsInCache "False"

     .MeshAdaption "False"

End With