pyHarm.KinematicConditions.BaseProjection

Classes

BaseProjection

Kinematic condition that imposes base projection between two substructures.

Module Contents

class pyHarm.KinematicConditions.BaseProjection.BaseProjection(nh: int, nti: int, name: str, data: dict, CS: pyHarm.CoordinateSystem.CoordinateSystem)

Bases: pyHarm.KinematicConditions.ABCKinematic.ABCKinematic

Kinematic condition that imposes base projection between two substructures. A linear transformation is imposed through base projection matrix in between a master substructure and the slave substructure. Residual contribution computed on the slave substructure is projected back onto the master substructure.

factory_keyword

keyword that is used to call the creation of this class in the system factory.

Type:

str

default

dictionary containing the default parameters for the kinematic condition.

Type:

dict

phi

transformation matrix that goes from master base to slave base.

Type:

np.ndarray

phi_inv

transpose of phi

Type:

np.ndarray

factory_keyword: str = 'BaseProjection'
default
__post_init__()
generateIndices(expl_dofs: pandas.DataFrame)

From the explicit dof DataFrame, generates the index of dofs concerned by the kinematic condition.

Parameters:

expl_dofs (pd.DataFrame) – explicit dof DataFrame from the studied system.

indices

index of the dofs that the kinematic conditions needs.

Type:

np.ndarray

Pdir

a slice of first dimension is a transformation matrix to a direction in local coordinate system.

Type:

np.ndarray

Pslave

selection array that selects the slave dofs of the kinematic condition.

Type:

np.ndarray

Pmaster

selection array that selects the master dofs of the kinematic condition.

Type:

np.ndarray

complete_x(x)

Returns a vector x_add of same size of x that completes the vector of displacement x = x + x_add such that the kinematic condition is verified.

Parameters:
  • x (np.ndarray) – displacement vector.

  • om (float) – angular frequency.

Returns:

vector of displacement to add to the displacement vector in order to impose the kinematic condition.

Return type:

(np.ndarray)

complete_R(R, x)

Computes the transfer of residual of the kinematicaly constrained dofs with respect to the displacement.

Parameters:
  • R (np.ndarray) – residual vector.

  • x (np.ndarray) – displacement vector.

Returns:

vector of residual contributions to add to the residual vetor in order to impose the kinematic condition.

Return type:

(np.ndarray)

complete_J(Jx, Jom, x)

Computes the transfer of jacobian of the kinematicaly constrained dofs with respect to the displacement.

Parameters:
  • Jx (np.ndarray) – jacobian matrix with respect to displacement.

  • Jom (np.ndarray) – jacobian matrix with respect to angular frequency.

  • x (np.ndarray) – displacement vector.

Returns:

tuple containing the jacobians contributions to add to the jacobians in order to impose the kinematic condition.

Return type:

(tuple[np.ndarray,np.ndarray])

adim(lc, wc)

Using adim parameters, modifies the kinematic conditions accordingly.

Parameters:
  • lc (float) – characteristic length.

  • wc (float) – characteristic angular frequency.