genericROM.Containers.Loadings.PressureBC module

class PressureBC(solutionName, set)[source]

Bases: LoadingBase

Class containing a Loading of type pressure boundary condition for mechanical problems. A pressure vector over the elements of set at time t is given by : coefficients[ t ] * fields[ fieldsMap[ t ] ]

coefficientsTimes

time values on which coefficient values are provided

Type:

np.ndarray or list of floats

coefficientsValues

coefficient values at the corresponding time values

Type:

np.ndarray or list of floats

fieldsMapTimes

time values on which filed maps values are provided

Type:

np.ndarray or list of floats

fieldsMapValues

filed maps values at the corresponding time values

Type:

np.ndarray or list of str

fields

dictionary with pressure vectors tags (str) keys and pressure vectors (np.ndarray of size (numberOfElementsInSet,)) as values

Type:

dict

assembledReducedFields

dictionary with pressure vectors tags (str) keys and compressed pressure vectors (np.ndarray of size (numberOfModes,)) as values. The pressure reduced external forces contribution is in the form: h*Text*red, where red is obtained by time interpolation over values of assembledReducedFields

Type:

dict

ComputeContributionToReducedExternalForces(time)[source]

Computes and returns the reduced external forces contribution of the loading

Parameters:

time (float) – time at which the contribution to the reduced external forces vector are computed

Returns:

of size (numberOfModes,)

Return type:

np.ndarray

GetAssembledReducedFieldAtTime(time)[source]

Computes and returns the pressure vector at time, using PieceWiseLinearInterpolation

Parameters:

time (float) – time at which the contribution to the reduced external forces vector are computed

Returns:

of size (numberOfElementsInSet,), pressure vector at time

Return type:

np.ndarray

GetFields()[source]

Returns the complete field dictionary

Returns:

dictionary with pressure vectors tags (str) keys and pressure vectors (np.ndarray of size (numberOfElementsInSet,)) as values

Return type:

dict

ReduceLoading(mesh, problemData, reducedOrderBases, operatorCompressionData, integrationRule=<Muscat.FE.IntegrationRules.MeshQuadrature object>)[source]

Computes and sets the reduced representation of the loading

Parameters:
  • mesh (Muscat.Containers.Mesh) – mesh of the high-fidelity model

  • problemData (ProblemData) – problemData containing the loading

  • reducedOrderBases (dict(str: np.ndarray)) – dictionary with solutionNames (str) as keys and reducedOrderBases (np.ndarray of size (numberOfModes, numberOfDOFs)) as values

  • operatorCompressionData (dict(str: custom_data_structure)) – not used in this loading dictionary with solutionNames (str) as keys and data structure generated by the operator compression step as values

SetCoefficients(coefficients)[source]

Sets coefficientsTimes and coefficientsValues

Parameters:

coefficients (dict) – dictionary with time steps (float) as keys and the values of the coefficient (float)

SetFields(fields)[source]

Sets fields

Parameters:

fields (dict) – dictionary with pressure vectors tags (str) keys and pressure vectors (np.ndarray of size (numberOfElementsInSet,)) as values

SetFieldsMap(fieldsMap)[source]

Sets fieldsMapTimes and fieldsMapValues

Parameters:

fieldsMap (dict) – dictionary with time steps (float) as keys and the filed maps values (str)