nlmesh#

Mapdl.nlmesh(control='', val1='', val2='', val3='', val4='', **kwargs)#

Controls remeshing in nonlinear adaptivity.

APDL Command: NLMESH

Parameters:
control

The mesh-quality control to adjust:

NANG - Specifies the surface facet dihedral angle threshold. Use this option to retain

source mesh geometry features. The dihedral angle is defined by the angle between the normal vectors from two neighboring surface facet sharing an edge. If the dihedral angle is larger than the specified threshold, the edge is treated as soft edge so that the new nodes are forced to the edge.

VAL1 is the dihedral angle threshold (in degrees) on concave surfaces. VAL2 is the dihedral angle threshold (in degrees) on convex surfaces. - Default: VAL1 = 15 and VAL2 = 15.

When NLMESH,EXPL is issued, the VAL1 and VAL2 become the lower bounds of dihedral angles for mesh exploration. Use VAL3 and VAL4 to define the upper bounds of dihedral angles on concave and convex surfaces (respectively) for mesh exploration. - Generally, larger VAL1 and VAL2 values lead to better quality new meshes (and

may even repair local tiny facets of poor quality); however, larger values may also smooth out some geometric features, leading to slightly different results and causing possible convergence difficulty in the substeps immediately following remeshing.

AEDG - Specifies the edge angle threshold (in degrees). Use this option to split patch

segments. The edge angle is the angle between adjacent surface segment edges sharing a node. If the edge angle is larger than the specified threshold (VAL1), the segment splits and the node is automatically treated as a hard node to be retained.

Default: VAL1 = 10. - Generally, larger VAL1 values improve the quality of the new mesh, but may

result in fewer feature nodes. The effect is similar to that of dihedral angles.

SRAT - Specifies the global sizing ratio for remeshing.

Generally, set the lower value (VAL1) to >= 0.7 and the upper value (VAL2) to <= 1.5. Within this range, the model can be refined (< 1.0) or coarsened (> 1.0) up to 3x depending on the number of elements (if performing a remesh of the entire model). - Default: VAL1 = 1.0. The default value results in the new mesh having a similar

size as that of the source mesh.

NLAY - Specifies the number of sculpting layers beginning with detected seed elements.

This option helps to detect remeshing regions from whole model.

Default: VAL1 = 2. - Generally, a larger VAL1 value leads to larger remeshing regions and tends to

unite isolated multiple regions. A larger value also tends to result in better remeshing quality (and increases mapping and solution overhead accordingly).

VAL1 = 0 is not valid, as the remeshing regions would contain only detected seed elements, resulting in many small cavities within remeshing regions (especially if the specified skewness threshold (NLADAPTIVE) is relatively large). - When NLMESH,EXPL is issued, VAL1 becomes the lower bound of mesh exploration.

Use VAL2 to define the upper bound for mesh exploration.

LSRT - Specifies the local sizing ratio threshold (VAL1). If the length of adjacent

segments over that of surface short segments exceeds the specified threshold ratio, the neighboring segments are candidates for local sizing to improve target mesh quality.

Use local sizing in cases where any of the following conditions exist: - Short edges significantly smaller than average

Poor surface mesh (triangles) on top edges - Small surface patches composed of few triangles caused by small user-specified

dihedral angles.

Valid values are VAL1 >= 1.0. Default: VAL1 = 1.0. - When NLMESH, EXPL is issued, VAL1 becomes the lower bound of mesh exploration.

Use VAL2 to define the upper bound for mesh exploration.

For more information about this control, see “Notes”. - EXPL

Specifies the nonlinear mesh-exploration behavior. Mesh exploration consists of trying various mesh controls to obtain the best quality mesh during remeshing process. - For more information about this control, see “Notes”.

LIST - Lists all defined advanced control parameters.

val1, val2, val3, val4

Numerical input values that vary according to the specified Control option.

Notes

NLMESH is a global control command enabling mesh-quality adjustments for remeshing in nonlinear adaptivity. The command can be used when components are associated with mesh-quality criteria (NLADAPTIVE with Criterion = MESH).

Issue the NLMESH command only in cases where advanced mesh-quality control is desirable for remeshing in nonlinear adaptivity. The settings specified by this command apply to all components having mesh- quality-based criteria defined.

Following are LSRT usage examples to help you determine a suitable threshold value for the local sizing ratio:

If the value is only slightly greater than the minimum (and default) value of 1.0, local sizing is imposed on all segments. Recommended: VAL1 > 1.1.

If the value is large enough such that no neighboring segments have lengths that would cause the threshold ratio to be exceeded, all segments are treated as though local sizing is disabled.

For mesh exploration (NLMESH,EXPL,VAL1):

VAL1 = 0 – The exception to the default behavior (no mesh exploration) occurs when remeshing fails to create a mesh for the user-specified NLMESH input parameters. In this case, mesh exploration is performed as though VAL1 = 1, with default NANG upper bounds of 60,60 in order to continue the solution, and the lower bounds being user-specified.

VAL1 = 1 – The NANG lower and upper bounds must be input; otherwise, the command is ignored. The upper bound can be input for NLAY also, but the exploration still triggers remeshings with the whole model as seed elements.

VAL1 = 2 – The NANG lower and upper bounds must be input; otherwise, the command is ignored.

VAL1 = 3 – An optional upper bound can be specified via LSRT. By default, the upper bound is set to be 30 percent more than the (user- specified) lower bound.

Mesh exploration is needed only when it is difficult to obtain a good quality mesh via standard remeshing. It is good practice to first try less aggressive exploration with VAL1 = 1.