refine

 

The refine command is used to create more elements when a criterion is specified.

Format

refine / refine_criterion / field_type / interpolation / refine_type

refine Parameters

Parameters

Type/Value

Description/Default

refine_criterion

junction

Wll refine object where field crosses xrefine.

 

roughness

Wll refine based on the distance of the endpoint of an edge to the plane determinded by the synthetic normal with respect to a specified surface at the other endpoint of the edge.

 

edge_list

Will bisect a set of edges specified by the node numbers of the endpoints of the edges.

 

interface

Will bisect a set of noninterface edges of tets all of whose vertices are interface nodes.

 

maxsize

Wll refine object where object > xrefine.
maxsize refers to volume for tets, area for face, length for edges

 

constant

Wll refine object where field > xrefine.

 

addpts

Will refine explicitly by adding in a set of nodes.

 

rivara

Edges longer than xrefine will be refined according to the principle that a refined edge candidate is the longest edge in any element that contains it. This results in a recursive refinement procedure that adds neighboring edges to the refinement candidate list until no neighbor edge is longer then the candidate. Refine_type must be edge. Field and interpolation are ignored.

 

rvara_boundary

Apply the rivara algorithm, but only bisect edges on external boundaries.
rivera_truncated

 

rvara_truncated

Apply the rivara algorithm, but restrict the neighborhood search to the edges in the input pset. If the pset is the entire mesh this option has the same behavior as rivara.

 

delta

Will refine object where delta(field) > xrefine.

 

lambda

Wll refine object where lambda (field) < xrefine.

field_type

char*32

The field must refer to a previously defined attribute of the current Mesh Object.

interpolation

 

The interpolation specifies how to interpolate the field to give field values to the new nodes created.

 

linear

 

 

log

 

 

asinh

 

refine_type

 

Secifies what object will be refined and how that object will be refined.

 

tet

Will refine elements by placing a point in the center of the element.

 

face

Will refine facets by placing a point in the center of the facet.

 

edge

Will refine edges by placing a point on the midpoint of the edge.

 

faceedge

Will refine facets by refining all edges of the facet.

 

tetedge

Will refine elements by refining all edges of the element.

inclusion_flag

 

Specifies if refinement is an inclusive or an exclusive operation.

 

inclusive

If for example, an edge refinement is specified restricted to a pset, then an edge is eligible for refinement if either or both of the end points belong to the pset if the inclusion_flag is set to inclusive.

 

exclusive

If the inclusion_flag is exclusive then both end points must be in the pset.

Specific examples by refine_criterion
 

refine / roughness / / / edge / ifirst, ilast, istride / distance / surface_name / exclusive | inclusive

refine / edge_list / / / edge / edge_list

refine / interface / / / edge / pset, get, psetname / / / / [inclusive | exclusive]

refine / maxsize / / / edge / pset, get, something / .25

 

refine/constant/concentration/log/edge/ 1,0,0/25.0///inclusive

 

refine/addpts///tet/pset,get,newpoints/

 

refine/rivara///edge/pset/get,p1/.5///inclusive

refine all edges containing at least one node in pset p1 that are longer than .5. Using the 'rivera' algorithm may result in edges not containing nodes in the pset to be refined.

 

refine/rivera_truncated///edge/pset,get,p1/.5///exclusive

rivera_truncated, exclusive will refine only edges both of whose endpoints are in the pset

 

refine/rivara_boundary///edge/1,0,0/.25

rivara_boundary will only refine boundary edges.

 

refine/roughness///edge/1,0,0/.28/ptop/inclusive

 

refine/edge_list///edge/1 2 23 47/

will refine the edge with endpoints 1 and 2 AND the edge with endpoints 23 and 47.