OOF2: The Manual

Name

Adaptive Mesh Refinement (AdaptiveMeshRefinement) — Adaptively refine mesh based on error estimation.

Synopsis

AdaptiveMeshRefinement(subproblem,estimator,criterion,degree,alpha,rationalize)

Details

  • Base class: MeshModification
  • Parameters:

    subproblem
    Apply adaptive refinement to the mesh in this subproblem. Type: A character string.
    estimator
    Which error estimator to use. Type: An object of the ErrorEstimator class.
    criterion
    Only consider elements meeting the criterion. Type: An object of the RefinementCriterion class.
    degree
    How to subdivide elements. Type: An object of the RefinementDegree class.
    alpha
    alpha controls the relative importance of element shape and homogeneity. alpha=0 emphasizes shape and ignores homogeneity. alpha=1 emphasizes homogeneity and ignores shape. Type: A real number in the range [0, 1].
    rationalize
    Rationalize mesh? Type: Boolean, 0 (false) or 1 (true).

Description

The adaptive mesh refinement Mesh modifier is used after solving a Mesh. It subdivides the Mesh elements in regions where the solution is inadequate. After subdividing, solving the Mesh again should yield a better solution. (A later version of OOF2 will combine and automate the solving and refining operations. For now, it's necessary to apply them individually.)

[Caution] Caution

In OOF2 version 2.0.2, the adaptive mesh refinement algorithm only works on the default SubProblem.

When a Mesh is originally created, it's created from a Skeleton. When a Mesh is refined, its Skeleton is copied, the new Skeleton is refined, and a new Mesh is generated from the new Skeleton. Then Field values and boundary conditions are copied from the old Mesh to the new. (The copied Skeletons are stored internally within in the Mesh and cannot be operated upon by the general SkeletonModifiers.)

The estimator parameter specifies which a posteriori error estimator to use.

The criterion parameter can limit which elements are selected for refinement. Elements that don't satisfy the criterion will not be subdivided, even if the error estimator indicates that they should be.

degree specifies how the elements are to be subdivided. It's identical to the degree parameter for Skeleton Element refinement.

rationalize specifies whether or not the Rationalize SkeletonModifier will be applied to the new Skeleton after it has been refined.

Here, we have a simple example. A clamped L-shaped bracket is being pulled down as illustrated in Figure "SPR Example" (a). Its deformed mesh is shown in Figure "SPR Example" (b).

Figure 6.58. A simple SPR example

A simple SPR example

a) A mesh for an L-shaped bracket.

A simple SPR example

b) A deformed mesh of an L-shaped bracket.


As shown, the inside corner of the bracket is guaranteed to be a site of stress concentration. It's not not hard to guess that errors would be higher in this corner than any other places. Error for each element has been measured using an L2 norm ( see L2ErrorNorm) in conjunction with a solution recovery technique of choice -- currently OOF2 uses the superceonvergent patch recovery developed by Zienkiewicz and Zhu. Elements that exceed 10 percent error have been refined. The refined mesh is presented in Figure 6.59. As expected, the inside corner of the bracket has been further refined, whereas other regions have been unchanged.

Figure 6.59. Adaptive mesh refinement using SPR

Adaptive mesh refinement using SPR

A refined mesh.


The next two figures show stress contours of the first stress invariant (\(\sigma_{xx} + \sigma_{yy} + \sigma_{zz}\)) for the original and refined mesh. The refined mesh captured the stress variation at the corner much better than the original mesh did, clearly showing the improvement in accuracy.

Figure 6.60. Solution Improvement

Solution Improvement

a) Stress contours (the first stress invariant) for the original mesh.

Solution Improvement

b) Stress contours for the refined mesh.



/* OOF home */ /* OOF2 home */ /* Send mail to the OOF Team */