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 by assemble_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 to False.

  • delete_all (bool) – If True, all useless parts will be deleted. Defaults to True.

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 to False.

  • 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 to None.

  • delete_all (bool) – If True, all useless parts will be deleted. Defaults to True.

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.