Users:General FEM Analysis/Mesh regularization

From Carat++ Public Wiki
Jump to: navigation, search


Problem description

Accuracy of finite element computations severely depends on the mesh quality. For this reason,especially within long lasting and mesh disturbing compuataions, it sometimes is necessary to apply certain mesh improving methods, for example in the field of shape optimization.

Currently Carat++ contains two different types of mesh regularization algorithms, Laplace and MSR. Laplace is a purely geometric orientated approach dealing with nodal coordinates only while MSR is mechanically motivated and ends up in the solution of a linear eqaution system.

Although regularization usually is a sub-problem in a bigger context, it can be used directly as a Masterjob in Carat++.

Laplace Regularization

General idea

The concept of Laplace regularization is based on center of gravity computations. The fundamental assumption of this algorithm is that a mesh provoides the best quality when each node is allocated in the cneter of gravity of its neighboring nodes. To this purpose each node computes the center of gravity defined by its neighbors and "moves itsself" to this location. As neighboring relationships are alterning, it is obvious that this algortihm has to run iteratively.

In order to maintain the geometry described by the finite elemnt mesh Laplace regularization distinguishes different types of nodes, each equipted with certain limitations of movement:

  • Corner nodes: This nodes are not effected by the algorithm at all
  • Line nodes: Each line node is allowed to move allong the tangent defined by its two neighbors (corner nodes or line nodes)
  • Surface nodes: A surface node is only allowed to move insie the tangential plane onto the geometry. The tangential plane is defined by the nodal director.
  • Volume nodes: Volume nodes are not limited in movement. They directly move into the center of gravity defined by neighboring nodes (volume nodes, surface nodes, line nodes and corner nodes are concidered).

Different sub-methods

Laplace regularization offers two different methods of regularization. The simplified approach works as described above by computing centers of gravity of points. In contrast, a more general approach uses the centers of gravity of neighboring elements instead, whereby each element center is weighted by the element's surface content of volume. This approach is more expensive, but for unstructured and mixed meshes it provides better results.

The following animation shows the iterative regularization of a extremely distorted hexahedral body within 15 iterations.

Regularization lapalce hexa.gif

Parameters in the Input File

Compulsory Parameters
Parameter Values, Default(*) Description
EL-REGULARIZATION int, LAPLACE ID of regularization block
DOMAIN EL-DOMAIN int Defines the domain which has to be regularized
LINE-NODES ND-SET vector of int List of node sets that define the line nodes. Use one set per line. Corner nodes are automatically recognized as they belong by definition to two or more lines.
SURFACE-NODES ND-SET vector of int List of node sets that define the surfaces. Use one set per surface. The definition of a surface includes its bounds (Line and corner nodes)
VOLUME-NODES ND-SET vector of int Volume nodes are defined here.
NMB_STEPS int Maximum number of iterations
REL_TOLERANCE real Demanded relative accuracy for convergence
ABS_TOLERANCE real Demanded absolute accuracy for convergence
Optional Parameters
AUTOMATIC_NODE_DETECTION 0(*), 1 This is an alternative to defining lines, surfaces and edges by hand. If the flag is set to 1 an element topology based algorithm determines automatically model corners, edges and faces. (This part is currently under development. Author: Helles. Date: 09/2010.)
USE_SIMPLIFIED_APPROACH 0(*), 1 Choose complex regularization (0) based on element centers of gravity or simple approach (1) considering nodes only
PERFORM_INEXACT_PARALLEL_REG int, 0(*) This parameter can be used in parallel computations only.

If it is set to 0 intermediate results are communicated within one regularization step (which is necessary to obtain the same result as in a serial computation). If it is set to 1 only the final result of an iteration is communicated. Set to n>1 the final result is communicated each nth step only.

OUTPUT PC-OUT int Each regularization object can be equipted with an output object. This only makes sense (so far) if it is directly used as a master job.
OUTPUT_FREQUENCY int Specifies the frequency for writing output data. Parameter 'DESIGN_UPDATE' has to be enabled in the output object.

An exemplary input block

 LINE_NODES = ND-SET 7,8,9,10,11,12,13,14,15,16,17,18
 SURFACE_NODES = ND-SET 1,2,3,4,5,6
 NMB_STEPS =  200

Minimum Surface Regularization MSR

Whos here now:   Members 0   Guests 1   Bots & Crawlers 0
Personal tools
Content for Developers