#### 4.8` `Virtual Geometry

The Virtual Geometry module in Cubit provides a way to modify the topology of the model without affecting the underlying ACIS geometry representation and without making changes to the actual solid model. Virtual Geometry includes the capability to composite or partition geometry as well as creates new virtual geometric entities. Virtual Geometry operations are most often used as a tool for adjusting the geometry to allow mapping, sub-mapping or sweeping mesh generation schemes to be applied.

The advantage to using Virtual Geometry is that all operations are reversible. With standard geometry modification commands, changes are made to the underlying geometry representation and cannot be changed once effected. With virtual geometry, the original solid model topology can be easily restored. This is useful when geometry modifications are made in order to apply a particular meshing scheme. Virtual geometry can be applied and later removed once the part has been meshed.

##### 4.8.1` `Collapse Geometry

The collapse geometry commands use virtual geometry to tweak small angles and curves to improve meshability of geometry models. The following options for collapsing geometry are available:

##### 4.8.1.1` `Collapse Angle

The collapse operation allows the user to collapse small angles using virtual geometry.

To collapse small angles

On the Command Panel, click on Geometry and then Vertex.

Click on the Modify action button.

Select Collapse Angle from the drop-down menu.

Enter in the appropriate settings for Vertex ID. This can also be done using the Pick Widget function.

Enter in the appropriate setting on this menu for c1 and c2.

Click Apply.

Collapse Angle at Vertex <id> [angle <degrees> ] Curve <id1> [Arc_length1 <length>] Curve <id2> [Arc_length2 <length> | Same_size | Perpendicular | Tangent] [Composite_vertex <angle>] [Preview]

The collapse angle command is used to eliminate small angles at vertices, where curves meet at a tangential point. The command will split each curve at a specified distance (?1 and ?2) as shown in Figure 188, and create two new vertices along those curves. The remaining small angle will be composited into its neighboring surface using virtual geometry.One of two methods may be used for specifying options for the collapse angle command: simple and complete as described below.

##### 4.8.1.1.1` `Simple

Curves are not specified for this option. Instead, Cubit will automatically identify the smallest angle at the vertex and collapse it using the tangent option described below (see Figure 191). An optional angle option may also be specified that controls the arc length (δ1) along curve C1 where the curve will be split. If not specified a value of 30 degrees will be used. For the simple option of this command, a range of vertices may be used. The complete version of the command requires exactly one vertex and two curves.

##### 4.8.1.1.2` `Complete

The complete options of the command allow you to specify which curves and where to split each curve. You must input a distance for the first curve (δ1), but the second location can be determined based on the length and direction of the first curve.

The same_size option will split curve 2 so that the two resulting curves, ?1 and ?2, are the same length as shown in Figure 189.

The preview option will preview composited surface before applying changes.

Figure 192: An example of a meshed surface that is generated after using the collapse angle command.

##### 4.8.1.2` `Collapse Curve

The collapse curve command allows the user to collapse small curves using virtual geometry. It is intended to be used in cases where removing a small curve to simplify topology will facilitate meshing. The operation can be thought of as reconnecting curves from one vertex on the small curve to the other vertex. If the user doesn’t specify which vertex to keep during the operation Cubit will choose one of the vertices. The operation is performed using virtual partitions and composites on the curves and surfaces surrounding the small curve. The command syntax is:

To collapse a curve

On the Command Panel, click on Geometry and then Curve.

Click on the Modify action button.

Select Collapse from the drop-down menu.

Enter in the appropriate settings for Curve ID. This can also be done using the Pick Widget function.

Optionally select Collapse To. If this is done, enter in the appropriate settings for Vertex ID. This can also be done using the Pick Widget function.

Enter in any other appropriate setting on this menu.

Click Apply.

Collapse Curve <id> [Vertex <id>] [Ignore] [Real_split]

The ignore keyword allows the user to specify whether or not small portions of surfaces that are partitioned off of one surface and composited with a neighboring surface during the collapse curve operation are considered when evaluating the new composite surface. By specifying the ignore option the user tells Cubit that these small surfaces will be ignored in future evaluations of the composite surface. This can be beneficial in cases where the small surface makes a sharp angle with the neighboring surface it is being composited with. These first derivative discontinuities of composite surfaces can make it difficult for the meshing algorithms to proceed and ignoring the small surfaces during evaluation can help remedy this problem. By default the small surfaces will not be ignored.

The real_split option tells Cubit to use the solid modeling kernel’s (ACIS) split surface functionality to do the splitting rather than using virtual partitioning. The result is that you only have virtual composites at the end and no virtual partitions. The main advantage of using this option is that the solid modeling kernel’s split operation is often more reliable than the virtual partition.

Figure 193 shows a typical example where the collapse curve command should be used to simplify the topology for meshing.

##### 4.8.1.3` `Collapse Surface

The collapse surface command allows the user to remove surface boundaries from the model. This is accomplished by splitting the surface at two given locations and combining it into two adjacent surfaces using virtual geometry operations. The command syntax is:

To collapse a surface

On the Command Panel, click on Geometry and then Surface.

Click on the Modify action button.

Select Collapse from the drop-down menu.

Enter in the appropriate settings for Surface ID and Into Surface ID(s). This can also be done using the Pick Widget function.

Select Vertex, Position (X, Y, Z), Node or Location from the From Location menu and enter in the appropriate values.

Select Vertex, Position (X, Y, Z), Node or Location from the To Location menu and enter in the appropriate values.

Click Apply.

Collapse Surface <id> Across Location1 Location 2 With Surface <id_list> [Preview]

collapse surface 15 across vertex 128 curve 40 with surface 26 117

would split surface 15 by the line that is formed between vertex 128 and the midpoint of curve 40. It would then composite the two parts of surface 15 that are adjacent to surfaces 26 and 117. The result is that three surfaces have been reduced to two.

The collapse surface command is most useful in removing blended surfaces (i.e. fillets and chamfers) from a model. For example, Figure 195 below shows a set of highlighted surfaces on a bracket. By collapsing all these surfaces the model shown in Figure 196 is created. Collapsing the surfaces for this model simplifies the model and allows for the creation of a higher quality mesh.

Figure 196: Bracket after highlighted edges have been collapsed

##### 4.8.2` `Composite Geometry

The virtual geometry module has the capability to combine a set of connected curves into a single composite curve, or a set of connected surfaces into a single surface. The general purpose is to suppress or remove the child geometry common to those entities being composited. For example, compositing a set of curves suppresses the vertices common to those curves, thus removing the constraint that a node must be placed at that vertex location.

To use the composite create operation

On the Command Panel, click on Geometry.

Click on Surface or Curve.

Click on the Modify action button.

Select Composite from the drop-down menu.

Enter in the appropriate settings for Surface ID(s) or Curve ID(s). This can also be done using the Pick Widget function.

Select Create from the Select menu and enter in the appropriate settings.

Click Apply.

Composite Create {Surface|Curve} <id_list>

The entities combined to create the composite must either all be unmeshed or all be meshed. A meshed composite surface can not be removed unless the mesh is first deleted.

Care should be taken when compositing over large discontinuities as it may cause problems for the meshing algorithms and may result in poor quality elements. discontinuities are corners or abrupt changes in the surface normal.

To use the composite delete operation

On the Command Panel, click on Geometry.

Click on Surface or Curve.

Click on the Modify action button.

Select Composite from the drop-down menu.

Enter in the appropriate settings for Surface ID(s) or Curve ID(s). This can also be done using the Pick Widget function.

Select Delete from the Select menu.

Click Apply.

Composite Delete {Surface|Curve} <id>

##### 4.8.2.1` `Composite Curves

To use the composite create operation for a curve

On the Command Panel, click on Geometry and then Curve.

Click on the Modify action button.

Select Composite from the drop-down menu.

Enter in the appropriate settings for Curve ID(s). This can also be done using the Pick Widget function.

Select Create from the Select menu.

Enter in the appropriate values for Keep Vertex ID and Max Curve Angle.

Click Apply.

Composite Create Curve <id_range> [Keep Vertex <id_list>] [Angle <degrees>]

Composite delete curve <id_range> [force]

The additional arguments provide two methods to prevent vertices from being removed from the model or composited over. The first method, keep vertex explicitly specifies vertices which are not to be removed. This option can also be used to control which vertex is kept when compositing a set of curves results in a closed curve.

The angle option specifies vertices to keep by the angle between the tangents of the curves at that vertex. A value less than zero will result in no composite curves being created. A value of 180 or greater will result in all possible composites being created. The default behavior is an empty list of vertices to keep, and an angle of 180 degrees.

##### 4.8.2.2` `Composite Surfaces

To use the composite create operation for a surface

On the Command Panel, click on Geometry and then Surface.

Click on the Modify action button.

Select Composite from the drop-down menu.

Enter in the appropriate settings for Surface ID(s). This can also be done using the Pick Widget function.

Select Create from the Select menu.

Enter in the appropriate values for Max Surface Angle, Keep Vertex ID and Max Curve Angle.

Click Apply.

Composite Create Surface <id_range> [Angle <degrees>] [Nocurves] [Keep [Angle <degrees>] [Vertex <id_list>]]

Composite delete surface <id_range> [force]

When a composite surface is created, the default behavior is also to composite curves on the boundary of the new composite surface.

Curves are automatically composited if the angle between tangents at the common vertex is less than 15 degrees. The nocurves option can be used to prevent any composite curves from being created.

The keep keyword can be used to change the default choice of which curves to composite. The arguments following the keep keyword behave the same as for explicit composite curve creation. The nocurves and keep arguments are mutually exclusive.

##### 4.8.2.2.1` `Controlling the Surface Evaluation Method for Composite Surfaces

It typically takes longer to mesh a single composite surface than to mesh the surfaces used in the creation of the composite. To improve speed, composite surfaces use an approximation method to evaluate the closest point to a trimmed surface. However, this evaluation method may give poor results for composites of highly convoluted surfaces.

Composite Closest_pt Surface <id> {Gme|Emulate}