129 lines
6.3 KiB
Plaintext
Executable File
129 lines
6.3 KiB
Plaintext
Executable File
.. _smooth :
|
|
|
|
 _place_holder;
|
|
|
|
> **_SMOOTH_**
|
|
|
|
The **smooth** command smooths 2D or 3D mesh objects. For adaptive smoothing
|
|
see the **[radapt](RADAPT.html)** command. **smooth **takes a 2D or 3D mesh
|
|
object and moves nodes, without changing the connectivity of the grid, in
|
|
order to improve the aspect ratios and distribution of elements in the mesh.
|
|
|
|
An optional control value between zero and one for options **esug**, **mega**,
|
|
**geometry**, **elliptical** and **random** affects the amount of node
|
|
movement. The default (control =0.) results in the standard smoothing scheme.
|
|
Increasing control towards 1. causes the scheme to be progressively more
|
|
controlled (moving the mesh less), until at control =1., there is no mesh
|
|
movement whatsoever.
|
|
|
|
By default, the second argument is **position**. This results in the positions
|
|
of the nodes being changed. (Other options will be added in the future for
|
|
implementation of smoothing using node velocities.)
|
|
|
|
There are nine smoothing algorithms available. **esug**, **elliptic** and
|
|
**random** _place_holder; are for 2D grids, **laplace**, **aspect** and
|
|
**lpfilte**r _place_holder; for 2D or 3D grids, **mega, network** and
|
|
**geometry **are for 3D grids:
|
|
|
|
1. **esug** --- Elliptic Smoothing for Unstructured Grids. This is the default
|
|
for 2D mesh objects. It can only be used on triangular 2D mesh objects. (Ref.:
|
|
Ahmed Khamayseh and Andrew Kuprat, "[Anisotropic Smoothing and Solution
|
|
Adaption for Unstructured Grids](../../pdfs/ahmandrew1.pdf)", Int. J. Num.
|
|
Meth. Eng., Vol. 39, pp. 3163-3174 (1996).)
|
|
|
|
2.**elliptic** --- Similar to esug but the 'guards' which prevent a grid from
|
|
folding are turned off. (Thus esug is preferred.)
|
|
|
|
3. **random **-- a node's position is set to a randomly weighted average
|
|
position of its neighbors. 'Guards' keep the elements from inverting.
|
|
|
|
4. **laplace** ---On a 3D tetahedral mesh moves a node to the average position
|
|
of its neighbors where neighbor is defined as the set of nodes connected to
|
|
the candidate node by an edge where the node types (itp1) and node constraints
|
|
(icr1) are a 'subset' of the candidate node type and
|
|
constraints. _place_holder; A node will not be moved if the result is an
|
|
inverted element. The following controls may be supplied:
|
|
|
|
 _place_holder;
|
|
|
|
> rlxwt default(0.5)
|
|
|
|
> weight for underrelaxed Laplacian smothing
|
|
|
|
> ntimes default(5)
|
|
|
|
> number of smoothing iterations
|
|
|
|
> nwttry default(3)
|
|
|
|
> number of attempts to not tangle the mesh by halving the smoothing weight.
|
|
|
|
> useisn default(1)
|
|
|
|
> 1 means interface nodes are smoothed based alonga multimaterial edge with
|
|
all the same materials as the candidate node. 0 means interface nodes are
|
|
smoothed based on all interface neighbors
|
|
|
|
> extrnbr default(**inclusive**)
|
|
|
|
> **inclusive** means do not restrict neighbors _place_holder;
|
|
|
|
**exclusive** means restrict neighbors to nodes in pset _place_holder;
|
|
|
|
 _place_holder;5.** aspect**---Adjusts node positions such that the aspect
|
|
ratio of the elements is improved. _place_holder; The default damage
|
|
tolerance for** smooth//****aspect** is infinity, so it can be used as a
|
|
general smooth which has the effect of improving worst aspect ratio. 6.
|
|
**lpfilter**---This smooths surface networks by a low-pass filtering of the
|
|
coordinate data.
|
|
|
|
(filtdeg default = 30, k_pb default = 0.1)  _place_holder;7**. mega ---**
|
|
Minimum Error Gradient Adaption. This option creates a smoothed grid which is
|
|
adapted to the standard function with constant Hessian f(x,y,z)=x2+y2+z2. Can
|
|
be used on hybrid 3D meshes and guards against mesh folding. Adaption to this
|
|
function creates a uniform isotropic mesh. _place_holder; The code
|
|
variable **maxiter_sm** (default=25) controls the maximum number of **mega**
|
|
iterations. _place_holder; The value of **maxiter_sm** may be changed
|
|
using the **[assign](ASSIGN.html)** command
|
|
(**assign**///**maxiter_sm**/10). _place_holder; (Ref.: Randolph E. Bank
|
|
and R. Kent Smith, "Mesh Smoothing Using A Posteriori Error Estimates", SIAM
|
|
J. Num. Anal. tol. 34, Issue 3, pp. 979-997 (1997).)
|
|
|
|
8. **geometry **--- Geometry ("plump element") adaption. Default for 3D. Can
|
|
be used on hybrid 3D meshes It uses the **mega** algorithm but retains only
|
|
the leading geometry term; the term containing the Hessian has been dropped.
|
|
This algorithm guards against mesh folding.
|
|
|
|
9. **network** --- This option smooths the surface network of a 3D tetrahedral
|
|
grid. _place_holder; Volume nodes are not moved. _place_holder; The
|
|
material volumes are conserved. _place_holder; By default a check is
|
|
performed to verify that no elements are inverted; the user may turn this
|
|
check off with the **nocheck** option. _place_holder; This option will not
|
|
work correctly (will not conserve volume) on grids which have two areas of a
|
|
material connected at a single node or edge; each material region must have
|
|
face connectivity. _place_holder; The number of iterations is controlled
|
|
by the niter argument (default is 10) and the weight argument controls the
|
|
amount of movement (from 0. to 1. default is 1.). _place_holder; Combining
|
|
this type of smooth with volume smoothing will help to avoid element
|
|
inversions. FORMAT: **smooth**/**position**/**esug**|**mega**|**geometry**|**e
|
|
lliptic|**|**random**/ [ifirst,ilast,istride ]/[control]
|
|
|
|
**smooth**/**position**/**lpfilter/**/ [ifirst,ilast,istride] /[filtdeg]/[k_pb]/**network** **network** smoothing applies to a network of curves in 2D or 3D, or to a network of surfaces in 3D. _place_holder; The materiality of the cells (if any) is ignored. **smooth**/**position**/**aspect**//[ifirst,ilast,istride/toldamage]
|
|
**smooth**/**position/laplace/**[ifisrt,ilast,istride]/[rlxwt]/[ntimes]/[nwtty]/[useisn]/[extrnbr]
|
|
**smooth**/**position/network/**[ifisrt,ilast,istride]/[niter]/[weight]/[**check**|**nocheck**} EXAMPLES:
|
|
 _place_holder; 1. Smooth all nodes in the mesh using **esug** in 2D or
|
|
**geometry** in 3D.
|
|
|
|
**smooth**
|
|
2. Smooth all nodes in the mesh, using controlled smoothing with control =0.5
|
|
|
|
**smooth** / / / 1,0,0 / 0.5
|
|
3. Smooth a 3D grid by combining network and volume smooths.
|
|
|
|
**pset**/p2/**attribute**/itp1/1,0,0/0/**eq**
|
|
**smooth**/**position**/**network**/1,0,0/3/1./**check**
|
|
**smooth/position/geometry/pset,get,**p2
|
|
**smooth**/**position**/**network**/1,0,0/3/1./**check**
|
|
**smooth/position/geometry/pset,get,**p2
|
|
|