pyHarm.Elements.SubstructureMatrixElements.Substructure¶
Classes¶
This is the abstract class ruling the element class. |
Functions¶
|
|
|
Module Contents¶
- pyHarm.Elements.SubstructureMatrixElements.Substructure.SubstructureResidual(x, om, kronM, kronC, kronG, kronK)¶
- pyHarm.Elements.SubstructureMatrixElements.Substructure.SubstructureJacobian(x, om, kronM, kronC, kronG, kronK)¶
- class pyHarm.Elements.SubstructureMatrixElements.Substructure.Substructure(nh: int | list[int], nti: int, name: str, data: dict, CS: pyHarm.CoordinateSystem.CoordinateSystem, dynop: dict[str, numpy.ndarray] | None = None)¶
Bases:
pyHarm.Elements.SubstructureMatrixElements.MatrixElement.MatrixElementThis is the abstract class ruling the element class.
An element consists in an elementary contribution to the residual equations.
- Parameters:
nh (int) – number of harmonics.
nti (int) – number of time steps.
name (str) – name given to the kinematic condition.
data (dict) – dictionary containing all the definition information of the kinematic condition.
CS (CoordinateSystem) – local or global coordinate system the kinematic condition is defined on.
- flag_nonlinear¶
if True, the element is nonlinear.
- Type:
bool
- flag_AFT¶
if True, the element requires an alternating frequency/time domain procedure for computing residuals.
- Type:
bool
- flag_extforcing¶
if True, the element is an external forcing.
- Type:
bool
- flag_DLFT¶
if True, the element uses the dynamic Lagrangian method for computing the residuals.
- Type:
bool
- flag_adim¶
if True, the element is adimentioned.
- Type:
bool
- nh¶
number of harmonics.
- Type:
int
- nti¶
number of time steps.
- Type:
int
- D¶
Dynamic operators containing inverse discrete Fourier transform and discrete Fourier transform.
- Type:
dict[np.ndarray,np.ndarray]
- nabla¶
Derivation operator.
- Type:
np.ndarray
- factory_keyword = 'substructure'¶
- _generateMatrices(data)¶
- _fill_with_zeros_mat_if_not_spec(data)¶
- get_Mass()¶
Extracts Mass matrix from the harmonic domain Mass matrix
- Returns :
np.ndarray: Mass matrix
- get_Rigidity()¶
Extracts Rigidity matrix from the harmonic domain Rigidity matrix
- Returns :
np.ndarray: Rigidity matrix
- adim(lc, wc)¶
Modifies the element properties according to the characteristic length and angular frequency.
- kronM¶
modified mass matrix according to the characteristic parameters.
- Type:
float
- kronC¶
modified damping matrix according to the characteristic parameters.
- Type:
float
- kronG¶
modified gyroscopic matrix according to the characteristic parameters.
- Type:
float
- kronK¶
modified rigidity matrix according to the characteristic parameters.
- Type:
float
- flag_adim¶
True if equations are to be adimensionalized.
- Type:
bool
- evalResidual(xg, om)¶
Computes the residual.
- Parameters:
xg (np.ndarray) – full displacement vector.
om (float) – angular frequency value.
- Returns:
residual vector.
- Return type:
np.ndarray
- evalJacobian(xg, om)¶
Computes the jacobians.
- Parameters:
xg (np.ndarray) – full displacement vector.
om (float) – angular frequency value.
- Returns:
Jacobian with respect to displacement. np.ndarray: Jacobian with respect to angular frequency.
- Return type:
np.ndarray