ThermalSolver Object

This object is used to calculate thermal field problems. The corresponding models can be excited by different source types: heat or  temperature sources or as well by importing previously calculated current fields. Thermal surface properties enable the definition of radiation or convection of certain shape faces.

Methods

Reset

Resets all internal settings of the thermal surface to their default values.

 

Accuracy ( double value )

Specifies the desired accuracy value for the thermal solver run.

 

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.

 

Method (enum solvermethod)

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

solvermethod (enum )

meaning

"Hexahedral Mesh"

structured grid consisting of hexahedral elements.

"Tetrahedral Mesh"

unstructured grid consisting of tetrahedral elements.

 

StoreResultsInCache (bool  storeResults)

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

 

MeshAdaption (bool  enableAdaption)

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

 

BackgroundTemperature ( double value )

Specifies the temperature value of the background.

 

ConsiderBioheat ( bool flag )

If the flag is set to True biological material properties are taken into account in a thermal simulation.

 

BloodTemperature ( double value )

Specifies the temperature value of blood. This setting affects materials with metabolic heat or blood perfusion settings. It only affects the simulation, if ConsiderBioheat was set to true.

 

NonlinearAccuracy ( double value )

Specifies the desired accuracy value for nonlinear iteration cycles, used e.g. for radiation effects.

 

PTCDefault (enum ptctype)

Specifies how ptc domains without source definition and thermal boundary behave:

ptctype (enum )

meaning

"Floating"

treat all PTC domains as floating temperatures

"Background"

treat all PTC domains with the fixed background temperature

 

SetTimeMonitor0DAutoLabel ( bool bFlag )

This flag concerns only the behavior of the dialog box for monitors at points. It specifies whether or not the monitor name is adapted automatically to the settings made in the dialog box. This command will have no influence on the monitor name specified via the VBA command.

 

StoreResultsInCache ( bool flag )

If the flag is set to True this method stores results of the thermal solver in the result cache.

 

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.

 

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.

 

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.

 

Start int

Starts the thermal simulation with the current settings and returns 1 if the calculation is successfully finished and 0 otherwise.

Default Settings

Accuracy (1e-4)

NonlinearAccuracy (1e-4)

Preconditioner ("ILU")

StoreResultsInCache (False)

BackgroundTemperature (273.1)

UseMaxNumberOfThreads "False"

MaxNumberOfThreads "8"

Example

With ThermalSolver

     .Reset

     .Accuracy "1e-4"

     .NonlinearAccuracy "1e-3"

     .Preconditioner "ILU"

     .StoreResultsInCache "False"

     .BackgroundTemperature "273.1"

End With