OOF2: The Manual
Name
Adaptive Mesh Refinement (AdaptiveMeshRefinement) — Adaptively refine mesh based on error estimation.
Synopsis
AdaptiveMeshRefinement(estimator,criterion,degree,alpha,rationalize)
Details
-
Base class:
MeshModification -
Parameters:
estimator- Which error estimator to use. Type: An object of the
ErrorEstimatorclass. criterion- Only consider elements meeting the criterion. Type: An object of the
RefinementCriterionclass. degree- How to subdivide elements. Type: An object of the
RefinementDegreeclass. 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 |
|---|---|
|
In OOF2 version 2.0.2, the adaptive mesh refinement algorithm
only works on the |
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).
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.
The next two figures show stress contours of
the first stress invariant
(
)
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.
/* OOF home */ /* OOF2 home */ /* Send mail to the OOF Team */



![[Caution]](IMAGES/caution.png)






