Auxetic Structure Parameters
This module contains instances of namedtuple
that are used for defining
the different aspects of the structure.
- class pyauxetic.classes.auxetic_structure_params.PatternParams(pattern_mode=None, num_cell_repeat=None, structure_map=None)
namedtuple instance describing the parameters for patterning the unit cell(s) that make up the structure.
- num_cell_repeat
(
Tuple
) A Tuple of integers in the shape of (x,y) or (x,y,z) defining the number of times the unit cell is to be repeated in the x, y, and z directions.Used only when PatternParams.pattern_mode == ‘uniform’.
Defaults to
None
.
- pattern_mode
(
str
) The type of patterning used for the structure:‘uniform’: A singular unit cell is repeated based on PatternParams.num_cell_repeat.
‘nonuniform’: A number of unit cells are patterned based on PatternParams.structure_map.
Raises
ValueError
for other values. Defaults toNone
, which also raises the error.
- structure_map
(
np.array
) A numpy array containing integer ids of unit cells and how they are distributed in the structure. The unit cells must be compatible for patterning.Used only when PatternParams.pattern_mode == ‘nonuniform’.
Defaults to
None
.
- class pyauxetic.classes.auxetic_structure_params.MaterialParams(elastic=None, density=None, hyperelastic=None)
namedtuple instance describing the material used for modeling and analysis. Care should be taken not to define contradicting properties.
- density
(
Float
) Isotropic and temperature independent material Density.Defaults to
None
, which does not define this property.
- elastic
(
Tuple
) Isotropic and temperature independent elastic property. It should be a Tuple \((E, \nu)\) where \(E\) is Young’s Modulus and \(\nu\) is Poisson’s Ratio.Defaults to
None
, which does not define this property.
- hyperelastic
(
Tuple
) Isotropic and temperature independent hyperelastic property. It should be a Tuple (type, data) where data is one of the following:‘ogden’: The Ogden form of strain energy potential hyperelastic model. data must be an iterable \(( (\sigma_0,\epsilon_0), (\sigma_1,\epsilon_1), ...)\) where each pair \((\sigma_i,\epsilon_i)\) are a point in the isotropic uniaxial stress-strain test data.
‘marlow’: The Marlow form of strain energy potential hyperelastic model. data is similar to the ‘ogden’ option.
Defaults to
None
, which does not define this property.
- class pyauxetic.classes.auxetic_structure_params.StepParams(time_period=1, init_inc_size=0.1, min_inc_size=0.05, max_inc_size=0.1, max_num_inc=100)
namedtuple instance describing the step defined for analysis.
- init_inc_size
(
float
) Inital increment size. Defaults to 0.1.
- max_inc_size
(
float
) Maximum increment size. Defaults to 0.1.
- max_num_inc
(
float
) Maximum number of increments. Defaults to 100.
- min_inc_size
(
float
) Minimum increment size. Defaults to 0.05.
- time_period
(
float
) Total time period of the step. Defaults to 1.
- class pyauxetic.classes.auxetic_structure_params.LoadingParams(type=None, direction=None, data=None)
namedtuple instance describing the loading applied to the model.
- data
The amount of loading applied to the model. See loading_type for format.
This variable is not validated, except for default Abaqus validations for each BC/Loading type. Define with caution.
Defaults to
None
.
- direction
(
str
) Direction of loading applied to the model. Must be ‘x’ or ‘y’. ‘z’ is currently not supported. Note that this also affects the positioning of the ribbons.Raises
ValueError
for other values. Defaults toNone
, which also raises the error.
- type
(
str
) The type of loading applied to the model. Valid values are:‘disp’: Uniaxial monotonic displacement boundary condition. loading_data must be a
float
.‘force’: Uniaxial monotonic concentrated force. loading_data must be a
float
.
Raises
ValueError
for other values. Defaults toNone
, which also raises the error.
- class pyauxetic.classes.auxetic_structure_params.MeshParams(seed_size=None, elem_shape=None, elem_code=None, elem_library=None)
namedtuple instance describing the mesh applied to the model. See Abaqus documentation for definitions and discussions of each parameter’s significance.
- elem_code
(
str
) Element code used in the mesh. Values must be upper-case strings naming the element code, such as ‘C3D10HS’, ‘CPE4H’, or ‘C3D8R’. Can also be a tuple of mentioned values for QUAD_DOMINATED or HEX_DOMINATED element shapes.Specified element code(s) must be correct with respect to MeshParams.elem_shape and structure geometry.
Defaults to
None
which raises an error.
- elem_library
(
str
) Element library used in the mesh. Must be the same as the analysis type defined in StepParams. Valid values are ‘STANDARD’ and ‘EXPLICIT’,Defaults to
None
which raises an error.
- elem_shape
(
str
) Shape of the elements used in the mesh. Valid values are ‘QUAD’, ‘QUAD_DOMINATED’, ‘TRI’, ‘HEX’, ‘HEX_DOMINATED’, ‘TET’, and ‘WEDGE’.Specified values must be correct with respect to MeshParams.elem_code and structure geometry. No validation is performed except for errors raised by Abaqus CAE or solver.
Defaults to
None
which raises an error.
- seed_size
(
float
) Size of the seed used for mesh generation. Defaults toNone
which raises an error.
- class pyauxetic.classes.auxetic_structure_params.JobParams(description='', numCpus=1, memoryPercent=90, explicitPrecision='single', nodalOutputPrecision='single')
namedtuple instance describing the job created for analysis.
- description
(
str
) Description of the job. Defaults to an empty string.
- explicitPrecision
(
str
) Precision used for Abaqus/Explicit solver. Valid values are ‘SINGLE’ and ‘DOUBLE’. Defaults to ‘single’.
- memoryPercent
(
int
) Amount of RAM in percent allocated to the analysis. Defaults to 90.
- nodalOutputPrecision
(
str
) Nodal output precision. Valid values are ‘SINGLE’ and ‘DOUBLE’. Defaults to ‘single’.
- numCpus
(
int
) Number of CPU cores used for the analysis. Defaults to 1.
- class pyauxetic.classes.auxetic_structure_params.OutputParams(result_folder_name=None, save_cae=True, save_odb=True, save_job_files=True, export_ribbon_width=None, export_stl=False, export_stp=False)
namedtuple instance describing the parameters for outputting the results of modeling and analysis.
- export_ribbon_width
Float
defining the ribbon width used for exporting the part. Must be positive, but can beNone
if the part will not be exported (both export_stl are export_stp areFalse
).Defaults to
None
.
- export_stl
Whether or not to export the structure in the STL format. Defaults to
False
.
- export_stp
Whether or not to export the structure in the STP format. Defaults to
False
.
- result_folder_name
Path to the folder where the requested results are to be stored. Everything else is left at the working folder. If set to
None
, a suitable name is selected using #TODO.Defaults to
None
.
- save_cae
Whether or not to save the model database (.cae file). Defaults to
True
.
- save_job_files
Whether or not to save the miscellaneous job files (inp, msg, log, and sta files). Defaults to
True
.
- save_odb
Whether or not to save the output database (.odb file). Defaults to
True
.