pyHarm.Reductors.ABCReductor

Classes

ABCReductor

This is the abstract class ruling the reducers class. The reducer is responsible for reducing the size of the system to be solved based on different hypotheses.

Module Contents

class pyHarm.Reductors.ABCReductor.ABCReductor(data: dict, expl_dofs: pandas.DataFrame, *args)

Bases: abc.ABC

This is the abstract class ruling the reducers class. The reducer is responsible for reducing the size of the system to be solved based on different hypotheses.

Parameters:
  • data (dict) – A dictionary containing the reducers parameters.

  • expl_dofs (pd.DataFrame) – DataFrame describing the positioning of dofs. It is generated by ABCSystem objects.

expl_dofs

DataFrame describing the positioning of dofs. It is generated by ABCSystem objects.

Type:

pd.DataFrame

property factory_keyword: str
Abstractmethod:

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

data
expl_dofs
__post_init__(*args)

A post init method to be customized if needed when building new class.

output_expl_dofs() pandas.DataFrame

Returns the explicit dof list after transformation by the reducer.

Returns:

reduced explicit dof DataFrame after passing through the reducer.

Return type:

pd.DataFrame

reduce_vectorx(q: numpy.ndarray) numpy.ndarray

Applies the reduce_vector method to the input vector of displacement.

Parameters:

q (np.ndarray) – vector of displacement of full size.

Returns:

reduced vector of displacement.

Return type:

np.ndarray

abstractmethod update_reductor(*args) None

Using the given parameters, performs an update of the reductor and generates its new transformation matrix

abstractmethod expand(q: numpy.ndarray) numpy.ndarray

From reduced vector, performs the inverse transformation to retrieve the original vector.

Parameters:

q (np.ndarray) – reduced vector of displacement

Returns:

full size vector of displacement.

Return type:

np.ndarray

abstractmethod reduce_vector(x: numpy.ndarray) numpy.ndarray

From original vector, performs the transformation to get the reduced vector.

Parameters:

x (np.ndarray) – full size vector.

Returns:

reduced vector.

Return type:

np.ndarray

abstractmethod reduce_matrix(dJdx: numpy.ndarray) numpy.ndarray

From original matrix, perform the transformation to get the reduced matrix.

Parameters:

dJdx (np.ndarray) – full size jacobian matrix with respect to displacement.

Returns:

reduced size jacobian matrix with respect to displacement.

Return type:

np.ndarray