pymoto.Strain
- class pymoto.Strain(domain: VoxelDomain, voigt: bool = True)
Evaluate average mechanical strains in solid elements based on deformation
The strains are returned in Voigt notation. \(\mathbf{\epsilon}_e = \mathbf{B} \mathbf{u}_e\)
Each integration point in the element has different strain values. Here, the average is returned.
The returned strain is either \(\mathbf{\epsilon} = \begin{bmatrix}\epsilon_{xx} & \epsilon_{yy} & \epsilon_{xy} \end{bmatrix}\) in case
voigt = Falseor \(\mathbf{\epsilon} = \begin{bmatrix}\epsilon_{xx} & \epsilon_{yy} & \gamma_{xy} \end{bmatrix}\) in casevoigt = True, for which \(\gamma_{xy}=2\epsilon_{xy}\).- Input Signal:
u: Nodal vector of size(#dofs_per_node * #nodes)
- Output Signal:
e: Strain matrix of size(#strains_per_element, #elements)
- __init__(domain: VoxelDomain, voigt: bool = True)
Initialize strain evaluation module
- Parameters:
domain (
pymoto.VoxelDomain) – The finite element domainvoigt (bool, optional) – Use Voigt strain notation (2x off-diagonal strain contribution). Defaults to True.
Methods
__init__(domain[, voigt])Initialize strain evaluation module
connect(sig_in[, sig_out])Connect without automatic adding to a function network
get_input_sensitivities([as_list])get_input_states([as_list])get_output_sensitivities([as_list])get_output_states([as_list])reset()Reset the state of the sensitivities (they are set to zero or to None)
response()Calculate the response from sig_in and output this to sig_out
Calculate sensitivities using backpropagation
Attributes
Get the number of input signals
Get the number of output signals
- connect(sig_in: Signal | Iterable[Signal], sig_out: Signal | Iterable[Signal] = None)
Connect without automatic adding to a function network
- get_input_sensitivities(as_list=False)
- get_input_states(as_list=False)
- get_output_sensitivities(as_list=False)
- get_output_states(as_list=False)
- property n_in: int
Get the number of input signals
- property n_out: int
Get the number of output signals
Note: Cannot be used in the initial __call__()
- reset()
Reset the state of the sensitivities (they are set to zero or to None)
- response()
Calculate the response from sig_in and output this to sig_out
- sensitivity()
Calculate sensitivities using backpropagation
Based on the sensitivity we get from sig_out, reverse the process and output the new sensitivities to sig_in
- sig_in: List = None
- sig_out: List = None