Reentrant-2D Unit Cell
- class pyauxetic.classes.reentrant2d.Reentrant2DUnitCell(model, params)
Bases:
AuxeticUnitCell
Class defining a 2D Re-Entrant unit cell.
- params_class_list = (<class 'pyauxetic.classes.auxetic_unit_cell_params.Reentrant2DUcpFull'>, <class 'pyauxetic.classes.auxetic_unit_cell_params.Reentrant2DUcpBox'>, <class 'pyauxetic.classes.auxetic_unit_cell_params.Reentrant2DUcpSimple'>)
- __init__(model, params)
Initialize the object with the given parameters.
Calls
auxetic_unit_cell.AuxeticUnitCell.__init__()
which creates self.sketch and self.part_main.- Parameters:
model (Model) – Abaqus Model object in which the unit cell will be created.
params – Parameters describing the unit cell geometry. It must be from a suitable class based on the list defined in auxetic_unit_cell_params.reentrant2d_ucp_list.
- create_part_main()
Create the main part of the unit cell based on the sketch.
- create_part_3dprint()
Create the part used for 3D printing based on the sketch.
- create_sketch()
Create the 2D sketch for the unit cell. A suitable creation method is called based on the unit cell parameters class passed to the unit cell object.
- class pyauxetic.classes.reentrant2d.Reentrant2DPlanarShellStructure(model, name, loading_params)
Bases:
AuxeticStructure
Class defining an auxetic structure based on the reentrant unit cell.
- pretty_name = 'Planar Shell Re-Entrant 2D'
- is_solid = False
- is_shell = True
- is_bulk = False
- is_planar = True
- is_tubular = False
- unit_cell_class
alias of
Reentrant2DUnitCell
- assemble_core_structure(structure_map=None, for_3dprint=False, delete_all=True)
Pattern the unit cells to form the core auxetic structure.
It is called by
assemble_structure()
, which is responsible for validating all input.- Parameters:
structure_map (
np.array
) – A numpy array containing integer ids of unit cells and how they are distributed in the structure. It is defined byassemble_structure()
regardless of its pattern_params argument.for_3dprint (bool) – If
True
, the structure will be a 3D part suitable for export, Otherwise dimensionality will be governed by the structure. Defaults toFalse
.delete_all (bool) – If
True
, all useless parts will be deleted. Defaults toTrue
.
- Returns:
A tuple containing the created core auxetic structure part and its instance.
- Raises:
AbaqusException – Various exceptions raised by the Abaqus API. Sometimes exceptions will be fatal.
- assemble_structure(for_3dprint=False, output_params=None, delete_all=True)
Assemble one or more unit cells according to pattern parameters to create the auxetic structure.
add_pattern_params()
must be called before this.This is the implementation of
auxetic_structure.AuxeticStructure.assemble_structure()
for this class.- Parameters:
for_3dprint (bool) – If
True
, the structure will be a 3D part suitable for export, Otherwise dimensionality will be governed by the structure. Defaults toFalse
.output_params (OutputParams) – Special namedtuple describing the parameters for outputting the results of modeling and analysis. See class for full description of options. Here, output_params.export_ribbon_width it is used for deteriming width of the ribbon. If for_3dprint is
False
, this need not be passed. Defaults toNone
.delete_all (bool) – If
True
, all useless parts will be deleted. Defaults toTrue
.
- pyauxetic.classes.reentrant2d.create_sketch_reentrant2d_full(model, params, sketch_name)
Create the 2D sketch of a reentrant2d unit cell using the full set of unit cell parameters.
- Parameters:
model (Model) – Abaqus Model object in which the unit cell will be created.
params (Reentrant2DUcpFull) – Parameters describing the unit cell geometry. See #TODO for details.
sketch_name (str) – Name assigned to the skecth.
- pyauxetic.classes.reentrant2d.create_sketch_reentrant2d_box(model, params, sketch_name)
Create the 2D sketch of a reentrant2d unit cell using the ‘bounding box’ set of unit cell parameters.
- Parameters:
model (Model) – Abaqus Model object in which the unit cell will be created.
params (Reentrant2DUcpBox) – Parameters describing the unit cell geometry. See #TODO for details.
sketch_name (str) – Name assigned to the skecth.
- pyauxetic.classes.reentrant2d.create_sketch_reentrant2d_simple(model, params, sketch_name)
Create the 2D sketch of a reentrant2d unit cell using the simplified set of unit cell parameters.
- Parameters:
model (Model) – Abaqus Model object in which the unit cell will be created.
params (Reentrant2DUcpSimple) – Parameters describing the unit cell geometry. See #TODO for details.
sketch_name (str) – Name assigned to the skecth.