StructuralMechanicsSolver Object

This object is used to calculate mechanical problems. The corresponding models are deformed by different types of boundaries. Moreover it is possible to compute deformations and stresses caused by thermal expansion.

Methods

Reset

Resets all internal settings to their default values.

 

Accuracy ( double value )

Specifies the desired accuracy value for the mechanical simulation run.

 

ReferenceTemperature(double  temperature)

Allows to define the reference temperature value for the thermal expansion with an imported temperature field.

 

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.

 

Preconditioner ( enum { None, Jacobi, ILU } type )

Specifies the type of the preconditioner for the 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.

 

Method (enum solvermethod)

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

solvermethod (enum )

meaning

"Tetrahedral Mesh"

unstructured grid consisting of tetrahedral elements.

 

NonlinearAccuracy ( double value )

Specifies the desired accuracy value for nonlinear iteration cycles, used e.g. for finite deformations.

 

StoreResultsInCache ( bool flag )

If the flag is set to True this method stores results of the solver in the result 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.

 

UseGravity( bool flag )

If the flag is set to "True", the gravitation is taken into account.

 

SetGravityX (double component)

Sets the x component of the gravitation vector.

 

SetGravityY (double component)

Sets the y component of the gravitation vector.

 

SetGravityZ (double component)

Sets the z component of the gravitation vector.

 

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.

 

UseNonlinearSolver ( bool flag )

Enables or disables the nonlinear solver used for description of large deformations.

 

UseRegularization ( bool flag )

Enables or disables the regularization used for stabilization of the solution if no fixed displacement conditions have been defined along any cartesian axis.

 

Start long

Starts the structural mechanics 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.

Default Settings

Accuracy (1e-4)

Preconditioner ("Jacobi")

StoreResultsInCache (False)

ReferenceTemperature (293)

TetAdaption (False)

TetAdaptionAccuracy (0.02)

TetAdaptionMinCycles (2)

TetAdaptionMaxCycles (6)

TetAdaptionRefinementPercentage (10)

UseMaxNumberOfThreads "False"

MaxNumberOfThreads "8"

Example

With StructuralMechanicsSolver

     .Reset

     .Accuracy "1e-4"

     .Preconditioner "ILU"

     .StoreResultsInCache "False"

     .BackgroundTemperature "273.1"

End With