slippy.contact.Elastic¶
- class slippy.contact.Elastic(name: str, properties: dict, max_load: float = inf, use_frequency_domain: bool = True, periodic_im_repeats: tuple = (1, 1), zero_frequency_value: Optional[float] = None)[source]¶
A Class for defining elastic materials
- Parameters
name (str) – The name of the material
properties (dict) – dict of properties, dicts must have exactly 2 items. Allowed keys are : ‘E’, ‘v’, ‘G’, ‘K’, ‘M’, ‘Lam’ See notes for definitions
max_load (float, optional (float('inf'))) – The maximum load on the surface, loads above this will be cropped during analysis, if this is specified a plastic deformation sub model should be added to the end of each model step to make the deformation permanent
use_frequency_domain (bool, optional (True)) – If True the frequency domain definition of the influence matrix is used, otherwise the spatial domain definition is used.
periodic_im_repeats (tuple, optional (1,1)) – The number of times the influence matrix should be wrapped in each dimension, used with spatially defined influence matrices and to set the zero frequency value for frequency domain influence matrices. Should not be used with non periodic contacts, for periodic contacts the total size should match the physical size. This is necessary to ensure truly periodic behaviour, no physical limit exists: (an infinitely long contact with any load per unit length will cause infinite displacement).
zero_frequency_value (float, optional (None)) – If the frequency domain influence matrix is used the zero frequency value can be set, this defaults to the sum of the spatial influence matrix of the correct size. Should be set to 0 for fully periodic contacts.
Notes
- Keys refer to:
E - Young’s modulus
v - Poission’s ratio
K - Bulk Modulus
Lam - Lame’s first parameter
G - Shear modulus
M - P wave modulus
Examples
>>> # Make a material model for elastic steel >>> steel = Elastic('steel', {'E': 200e9, 'v': 0.3}) >>> # Find it's p-wave modulus: >>> pwm = steel.M >>> # Find the speeds of sound: >>> sos = steel.speed_of_sound(7890)
- __init__(name: str, properties: dict, max_load: float = inf, use_frequency_domain: bool = True, periodic_im_repeats: tuple = (1, 1), zero_frequency_value: Optional[float] = None)[source]¶
Methods
__init__(name, properties[, max_load, ...])displacement_from_surface_loads(loads, ...)influence_matrix(components, grid_spacing, span)Find the influence matrix components for the material relating surface pressures to
loads_from_surface_displacement(...[, ...])speed_of_sound([density])find the speed of sound in the material
sss_influence_matrices_normal(components, ...)Optional, should give the sub surface stress influence matrix components
sss_influence_matrices_tangential_x(...[, ...])Optional, should give the sub surface stress influence matrix components
sss_influence_matrices_tangential_y(...[, ...])Optional, overwrite only for non homogenous materials
Attributes
EThe Young's modulus of the material
GThe shear modulus of the material
KThe bulk modulus of the material
LamLame's first parameter for the material
MThe p wave modulus of the material
densityfftmaterial_typespatialvThe Poissions's ratio of the material