Trelis 14.0 の 新機能

Expand All Features | Collapse All Features

Select a feature below to expand the description.


Improved Boundary Layer Meshing

Trelis 14.0 adds boundary layer meshing for CFD to the list of supported features. Boundary layer meshing is best accessed via the GUI.

Settings Panel

Figure 1 shows the Settings panel.

First row(a) -- the height of the first layer in the boundary layer
Growth Factor(b/a) -- the factor by which each layer grows
Number of Layers -- the number of layers that make up a boundary layer
Internal Continuity -- continuity flag for boundary layers. If on, all intersections are a side type.

Association Panel

Figure 2 shows the Association panel.

For 2d boundary layers, a curve/surface pair is given to create a boundary layer starting from a curve and growing out on the given surface.

For 3d boundary layers, a surface/volume pair is given to create a boundary layer starting from a surface and growing out on the given volume.

Intersection Types Panel

Figure 3 shows the Intersections Types panel.

In some cases, the user may want to adjust the intersection types. This could be because the automatic intersection type is not desired, or because it is not workable due to ambiguity.

The four intersection types are:

  • end - suitable for angles between 0 and 135 degrees.
  • side - suitable for angles between 135 and 225
  • corner - suitable for angles between 225 and 315
  • reversal - suitable for angles 315 to 360

These intersection types may be set on a vertex/surface basis and on a curve/volume basis.

Current Limitations

Not all combinations of intersection types and topology are supported for 3d cases. An end, corner, or reversal may not span multiple curves in a single volume. A possible workaround is to composite the curves to make a single curve.

Not all meshing schemes may be used in combination with boundary layers. In cases where it is not supported, the boundary layer will be ignored in mesh generation. It is supported with the following schemes:

  • trimesh
  • pave
  • map
  • submap
  • sweep
  • tetmesh
CFD Boundary Conditions

An important step in CFD is setting up internal and/or external boundary conditions. Trelis CFD allows you to apply common CFD boundary conditions, such as walls, inlet/outlet pressure, velocity, fans, and more.

Regular Triangle Refinement Setting

The default behavior of triangle refinement attempts to maximize element quality using the basic one-to-four template. This can sometimes result in an irregular pattern, where one or more edges are swapped. To enforce regularity of the triangle refinement pattern, regardless of quality, the folowing setting may be used.

Set Triangle Refine Regular {on|OFF}

Fix for Random Dense Mesh in Skeleton Sizing

A new option facet_extract_ang has been added to skeleton sizing command to control the faceted representation of NURBS model. Increasing this angle might generate invalid facets at curved regions. Decreasing this angle might create too many facets in curved regions, thus slowing down the skeleton sizing. By default (i.e. time_accuracy_level = 2) facet angle of 10 degree has been set, which seem to work resonably in most cases. On complex model with high curvature region, it is recommended to use lower angle if you see random dense meshes.

Skeleton sizing on surfaces:

Surface Sizing Function Skeleton
{[scale <1 to 10 = 7>] [time_accuracy_level <1 to 3 = 2>]
[min_depth <3 to 8 = 5>] [max_depth <4 to 9 = 7>] [facet_extract_ang <1 to 30 = 10>]
[min_num_layers_2d < 1 to N = 1>] [min_num_layers_1d < 1 to N = 1>]
[max_span_ang_surf <5.0 to 75.0 = 45.0 degrees>]
[max_span_ang_curve <5.0 to 75.0 = 45.0 degrees>]
[min_size ] [max_size ] [max_gradient ]}

Skeleton sizing on volumes:

Volume Sizing Function Skeleton
{[scale <1 to 10 = 7>] [time_accuracy_level <1 to 3 = 2>]
[min_depth <3 to 8 = 5>] [max_depth <4 to 9 = 7>] [facet_extract_ang <1 to 30 = 10>]
[min_num_layers_3d < 1 to N = 1>] [min_num_layers_2d < 1 to N = 1>]
[min_num_layers_1d < 1 to N = 1>]
[max_span_ang_surf <5.0 to 75.0 = 45.0 degrees>]
[max_span_ang_curve <5.0 to 75.0 = 45.0 degrees>]
[min_size ] [max_size ] [max_gradient ]}

Refine Parallel

Refine parallel command now creates groups to visualize the association between mesh entities (edge, tri, and quads ) and geometric entities (curves & surfaces). There are three types of groups that exist for each mesh entity type edge, tri, and quad. First group contains unique 1-1 map between mesh entity and geometric entity. Note that issuing "Debug 212" command before calling the refine parallel command, will create separate group for each geometric entity containing unique mesh entities. Next group contains mesh entities that point to multiple geometric entities. And the final group contains mesh entities not associated with any geometric entity.

Refine Parallel [Fileroot <'root filename'>] [Overwrite] [No_geom] [No_execute] [Processors <int>] [Numsplit <int>] [Version <'Sierra version'>]

New Skinning Options

Two options were added to the skinning command (command syntax shown below). The Individual keyword tells Trelis to skin Blocks or Volumes one by one independently of each other, even if they share merged surfaces. The omake keyword tells Trelis to not create any kind of grouping of the mesh faces resulting from the skinning operation.

Skin {Block|Volume} <range> [Individual] [Nomake]

Skin {Hex|Tet|Block|Volume} <range> [Nomake]


ACIS Version 22.2

Trelis 14.0 contains an upgraded version of ACIS: version 22.2. This new version of ACIS contains various improvements and fixes. As with any upgrade to the ACIS solid modeling kernel there is the potential for minor geometry id changes in Trelis when compared to previous ACIS versions.

Uniting Meshed Volumes

Trelis 14.0 contains a new capability for uniting meshed volumes. This allows the user to decompose the geometry for meshing purposes and then reunite it after it is meshed. One of the big benefits of doing this is that the user can then smooth the mesh without worrying about the artificial boundaries that were introduced when decomposing the volume for meshing.

To use the new capability use the "include_mesh" option in the Unite command:

Unite [Volume|BODY] <id_range> [With [Volume|BODY] <id_range>] [include_mesh]


Draw Block Thickness

New options have been added to the 'draw block' command, allowing users to visualize element block thickness on SHELL and TRISHELL type element blocks. The user can visualize thickness by color, where each block is drawn in a specific color according to thickness, with a corresponding color bar. Or blocks can be drawn with their specified thickness, so they visually have a thickness. This thickness can also be scaled in the draw command. Additionally these SHELL and TRISHELL element blocks can draw with their normals, allowing orientation to be verified.

Draw Block [thickness [offset [scale ]|include_normal]] [Color ] [add]

Draw Locations, Lines, and Polygons

In some cases it may be useful to simply draw a location, line or polygon to the screen to help visualize some aspect of the model. Locations, lines and polygons are not geometry or mesh entities and are only visible until a refresh or display command is issued. Multiple draw commands can be buffered using the no_flush option on each draw command in the series, followed by a graphics flush command.

Draw Location {options}... [color ][no_flush]

Draw Line Location {options} Location {options} ... [color ][no_flush]

Draw Polygon Location {options} Location {options} Location {options} ... [color ][no_flush]


Renumber Command

This command changes global element instead of local id used in each element type. There is a unique global element id for all element types such as hex, tet, quad, tri, etc. Any valid global element id range specification can be used to specify the source ids. There is no requirement that the ids being renumbered are consecutively numbered. The new id numbers will be consecutive beginning at the specified start id. Note that command will swap the element ids if there exists an element that falls within the resultant destination range that starts from start_id.

Renumber {Element} <id_range> Start_id <id>

Block Attributes

To assign more attributes than the number of default attributes use the command below. Trelis will store up to 20 attributes per block.

Block <id_range> Attribute Count <1-20>

Once this command has been executed, individual attributes may be set using the following command:

Block <id_range> Attribute <value>

New APREPRO Functions

NumTypeInGroup("group_name", "entity_type")

This function returns the number of entities of type "entity_type" in group "group_name". Acceptable entity types include: "body", "volume", "surface", "curve", "vertex", "node", "edge", "quad", "face", "tri", "hex", "tet", "wedge", or "pyramid".

GroupMemberId("group_name", "entity_type", index)

This function returns the ID of the entity of type "entity_type" in the group with name "group_name" at the specified index. If the group contains multiple entity types the index will only be relevant for the entity type specified and will behave as if the group only contained that entity type. Acceptable entity types include: "body", "volume", "surface", "curve", "vertex", "node", "edge", "quad", "face", "tri", "hex", "tet", "wedge", or "pyramid".

An example of how these two functions would be used together to loop through all of the surfaces in a group is shown below.

# {_num_surfs = NumTypeInGroup("some_group", "surface")}

# {_cntr=0}

# {Loop(_num_surfs)}

# {_surf_id = GroupMemberId("some_group", "surface", _cntr)}

draw surface {_surf_id}

# {_cntr++}

# {EndLoop}