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 to None, 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 to None, 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 to None, 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 to None 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 be None if the part will not be exported (both export_stl are export_stp are False).

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.