DLATTICE
Bulk Data Entry Defines parameters for filling a space with lattice-based unit cells. The presence of this entry also activates the creation of unit cells to fill the target volume.
Format
(1) | (2) | (3) | (4) | (5) | (6) | (7) | (8) | (9) | (10) |
---|---|---|---|---|---|---|---|---|---|
DLATTICE | ID | VOLSID | SURFSID | CELLID | MATID | CONTSET | |||
LAYOUT | S_X | S_Y | S_Z | CID | |||||
ROD | R2_ID1 | R2_ID1 | |||||||
STRESS | STRLMT | ||||||||
BOUNDS | RAD_INIT | RAD_MIN | RAD_MAX | VOL_INIT | VOL_MIN | VOL_MAX | |||
SEAL | SRCHRAD | DENS | RAD | ||||||
OVERHANG | ANGLE | GID1/X1 | Y1 | Z1 | GID2/X2 | Y2 | Z2 | ||
MAXLEN |
Example
(1) | (2) | (3) | (4) | (5) | (6) | (7) | (8) | (9) | (10) |
---|---|---|---|---|---|---|---|---|---|
DLATTICE | 2 | 3 | 2 | 11 | 1 |
Definitions
Field | Contents | SI Unit Example |
---|---|---|
ID | Identification number
of the DLATTICE Bulk Data Entry. No default (Integer > 0) |
|
VOLSID | Identifies an element
set of CTETRA elements which define the inner
volume that is to be filled with lattice unit cells. This volume
should contain CTETRA elements which are
completely detached from the rest of the model. No default (Integer > 0) |
|
SURFSID | Identifies an element
set of shell elements which define the outer surface enclosing
the volume that is to be filled with lattice unit cells. If these shell elements are to be removed after filling is completed, then the thickness of these shell elements can be set equal to 0.0. 8 If the thickness of shell elements of SURFSID is set equal to 0.0 or if SURFSID is blank, then CONTSET should be specified to define TIE’d contact between the filled volume beam elements and the rest of the model. Default = blank (Integer > 0) |
|
CELLID | Identification number
of a CELL Bulk Data Entry which identifies
the unit cell structure. Currently only ROD
entities are supported on the CELL entry and
they are correspondingly replaced by CBEAM
elements when CELL is referenced the
DLATTICE entry, to generate the filled
volume. No default (Integer > 0) |
|
MATID | Identification number
of a Material Bulk Data Entry (currently only
MAT1 entry is supported). No default (Integer > 0) |
|
CONTSET | Identification number
of a SET of elements which are used to create
a TIE’d contact with the filled volume. The
element SET defined on
CONTSET is the master and the grids of
the beams on the surface of the filled volume are the
slave. Default = blank (Integer > 0) |
|
LAYOUT | Continuation line flag LAYOUT, which indicates that the unit cell layout information is to follow. | |
S_X, S_Y, S_Z | Scaling factors in X,
Y, Z directions which allow scaling of the original unit cell
(identified by CELLID field), prior to
population of the space to be filled. Default = 1.0 (Real) |
|
CID | Coordinate system
which identifies the orientation of the unit cell (identified by
CELLID field) and the directions it is
filled within the space identified by
VOLSID. The default system is the basic coordinate system (CID = 0). Default = 0 (Integer ≥ 0) |
|
STRESS | Continuation line flag STRESS, which indicates that the stress upper bound information is to follow. | |
STRLMT | Defines the stress
constraint (upper bound) for Optimization. The Stress-Norm
approach is used to apply the stress constraint. Default = blank (Real) |
|
BOUNDS | Continuation line flag BOUNDS, which indicates that the initial values (for analysis or optimization) and upper and lower bounds (for optimization) are to follow. | |
RAD_INIT | Initial value of the
radii of CBEAM elements in the filled space.
3
6
7
Default = blank (Real ≥ 0.0) |
|
RAD_MIN | Minimum value of the
radii of CBEAM elements in the filled space.
3
6
7 Defines the lower bound of the radii on the corresponding DESVAR entry for sizing optimization. This is not applicable in analysis only runs. Default = blank (Real ≥ 0.0) |
|
RAD_MAX | Maximum value of the
radii of CBEAM elements in the filled space.
3
6
7 Defines the upper bound of the radii on the corresponding DESVAR entry for sizing optimization. This is not applicable in analysis only runs. Default = blank (Real ≥ 0.0) |
|
VOL_INIT | The initial radii on
the beam properties and/or the initial values on the
DESVAR cards are calculated such that the
volume of the lattice structure corresponding to this
DLATTICE entry, matches that of the
volume it occupies at the specified volume fraction. 3
6
7
|
|
VOL_MIN | The minimum radii on
the beam properties and/or the minimum values on the
DESVAR cards are calculated such that the
volume of the lattice structure corresponding to this
DLATTICE entry, matches that of the
volume it occupies at the specified volume fraction. 3
6
7
Defines the minimum volume fraction of the volume to be filled, which is used to calculate the corresponding lower bound of the radii on the corresponding DESVAR entry for sizing optimization. This is not applicable in analysis only runs. Default = 0.1 (Real ≥ 0.0) |
|
VOL_MAX | The maximum radii on
the beam properties and/or the maximum values on the
DESVAR cards are calculated such that the
volume of the lattice structure corresponding to this
DLATTICE entry, matches that of the
volume it occupies at the specified volume fraction. 3
6
7 Defines the maximum volume fraction value of the volume to be filled, which is used to calculate the corresponding upper bound of the radii on the corresponding DESVAR entry for sizing optimization. This is not applicable in analysis only runs. Default = 0.7 (Real ≥ 0.0) |
|
SEAL | Continuation line flag SEAL, which indicates that the surface sealing information is to follow. 10 | |
SRCHRAD | Defines the search
radius (distance) on the surface within which beam elements are
considered for connection. The default is set based on the average size of the referenced CELL. Default = blank (Real ≥0) |
|
DENS | Defines the sealing
density. If density is high, more beams are created for
sealing.
|
|
RAD | Actual radius of beams
used in the sealing process.
(Real ≥ 0.0) |
|
OVERHANG | Continuation line flag OVERHANG, which indicates that the Overhang information is to follow. This is used to identify overhanging beams and these beams are stored in an element set. 9 | |
ANGLE | Orientation angle for
Overhang. This angle is measured from the build direction. 9 No default (Real ≥ 0.0) |
|
GID1, GID2 | Grid point
identification numbers which identify the orientation. The
orientation can also be identified by defining coordinates
(X#, Y#,
Z#). Default = blank (Real) |
|
X#, Y#, Z# | Coordinates of two
points which identifies the orientation. Default = blank (Real) |
|
MAXLEN | Maximum Length of the
beam elements for consideration. 9 Default = blank (Real ≥ 0.0) |
Comments
- Space filling is mesh independent, and the unit cell is copied in the X, Y, Z directions of CID until the volume is completely filled. The filled model is automatically echoed as <filename>_lattice.fem.
- Outside grids are projected (along the surface’s normal or the beam’s axis). TIE’d contact is then created between the beam grids on the surface (slave) and the surface elements (master, surface elements are elements defined on SURFSID field). If both SURFSID and CONTSET are defined, then SURFSID is ignored completely with regard to contact. In this case, contact is only created between CONTSET and the beams. If neither SURFSID nor CONTSET are specified, then the beams of the filled volume are not connected to the rest of the model (this is also the case if CONTSET is not defined and the thickness of all shell elements in SURFSID is set to 0.0).
- Design variables are created by default when
DLATTICE and CELL entries are present
in the model. By default, one design variable for each beam joint is created
(the beams are tapered CBEAM elements with
PBEAML property and
TYPE=ROD). The design variable creation
method can be switched to two design variables per beam element, via
LATPRM,ONEDVPGR,NO.By default, if an objective is defined, Optimization is performed, otherwise, an Analysis run is performed.
- If ANALYSIS I/O Entry is added to the input file, then, design variables are also not created and optimization is not performed.
- If CHECK I/O Entry is added to the input file, then no analysis or optimization is performed. Only the filled deck is output.
- Optimization run performed is equivalent to Phase 2 of the Lattice Optimization process (Sizing optimization). Euler Buckling, Stress Norm constraint, and Beam Cleaning are done, unless LATPRM,LATTICE,NO is manually defined in the input deck.
- If CONTSET is not defined, then loading can only be applied through Shell surface elements (loads cannot be directly defined on the inner volume during the unit cell filling stage). If Loading should be applied on the beams, then CHECK run can be performed to echo the filled input file and the model can be update with appropriate loading around the created beams. If CONTSET is defined, and contact is generated, then loading can be applied on the filled volume from other parts of the model through the contact interface.
- Both RAD_INIT and VOL_INIT cannot be defined at the same time on the same DLATTICE entry.
- If BOUNDS continuation line is
not specified, the default VOL_INIT (0.4),
VOL_MIN (0.1) and VOL_MAX (0.7) are
used to calculate the radii. Unless specifically specified,
VOL_INIT is always set to the average of
VOL_MIN and VOL_MAX.
If RAD_INIT is specified but RAD_MIN is not, then RAD_MIN is set to 0.5*RAD_INIT
If RAD_INIT is specified but RAD_MAX is not, then RAD_MAX is set to 2.0*RAD_MIN
If RAD_MIN is specified but RAD_INIT is not, then RAD_INIT is set to the average of RAD_MIN and RAD_MAX
If RAD_MAX is specified but RAD_MIN is not, then RAD_MIN is set to 0.5*RAD_MAX
If RAD_MAX is specified but RAD_INIT is not, then RAD_INIT is set to the average of RAD_MIN and RAD_MAX
If RAD_MIN and VOL_MIN are defined together, then the minimum radius used is the higher value between RAD_MIN and the radius calculated from VOL_MIN. Similarly, if RAD_MAX and VOL_MAX are defined together, then the maximum radius used is the lower value between RAD_MAX and the radius calculated from VOL_MAX.
- It is also possible to remove only
some of the shells, by specifying their respective thickness as zero and the
remaining ones as non-zero. Alternatively, the SURFSID field
can also be left blank. If this set is defined, the thickness of some of the
elements is non-zero and CONTSET is blank, OptiStruct will generate Tied contact between the lattice
structure and the elements in this set. Note: If the set is defined, it should envelope the entire volume as it is used for projection of the lattice elements penetrating the surface. If the field is left blank, temporary elements are created internally for projection only.
- Beams are considered as overhanging if they are inclined by more than the specified ANGLE and are longer than MAXLEN. These beams are identified by a separate element set.
- Surface sealing process is
accomplished as:
- The grids on the outside surface are identified.
- For each grid, all grids in the vicinity are included in the search based on the value of SRCHRAD. This creates a pool of connectable grids associated with the chosen initial grid.
- Each of the six directions (X, -X, Y, -Y, Z, -Z) are considered and all the grids in the pool are classified into one of these directions. The classification is done by identifying the longest projection of the line connecting the initial grid to each grid in the pool. This projection process is conducted solely for the purpose of classification of grids in the pool.
- After classification, actual connection is now conducted between the initial grid and grids in the pool based on the DENS setting (LOW, MED, HIGH). If LOW, then a connection is made between the initial grid and the grid with the shortest projection in each of the six directions. Similarly, if MED, then connections are made with two shortest projections in each of the six directions (three shortest projections are chosen in each of the six directions, if HIGH is chosen).
- Special cases are:
- Grids at 45 degrees to any of the axes are penalized at the above step, so as to make it less likely that such grids are picked.
- Duplicate connections are removed after the end of the above step.
- If there are two crossing bars/connections, then the longer bar is removed.
- Very close parallel coincident bars are removed.