MAST
Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST)
MAST::TransientAssemblyElemOperations Class Referenceabstract

Detailed Description

Definition at line 30 of file transient_assembly_elem_operations.h.

#include <transient_assembly_elem_operations.h>

Inheritance diagram for MAST::TransientAssemblyElemOperations:
Collaboration diagram for MAST::TransientAssemblyElemOperations:

Public Member Functions

 TransientAssemblyElemOperations ()
 
virtual ~TransientAssemblyElemOperations ()
 
virtual void elem_calculations (bool if_jac, RealVectorX &f_m, RealVectorX &f_x, RealMatrixX &f_m_jac_xdot, RealMatrixX &f_m_jac, RealMatrixX &f_x_jac)=0
 performs the element calculations over elem, for a system of the form

\[ f_m(x,\dot{x}) + f_x(x) = 0 \]

. More...

 
virtual void elem_calculations (bool if_jac, RealVectorX &f_m, RealVectorX &f_x, RealMatrixX &f_m_jac_xddot, RealMatrixX &f_m_jac_xdot, RealMatrixX &f_m_jac, RealMatrixX &f_x_jac_xdot, RealMatrixX &f_x_jac)=0
 performs the element calculations over elem, for a system of the form

\[ f_m(x,\ddot{x}, \dot{x}) + f_x(x, \dot{x}) = 0 \]

. More...

 
virtual void elem_sensitivity_calculations (const MAST::FunctionBase &f, RealVectorX &f_m, RealVectorX &f_x)=0
 performs the element sensitivity calculations over elem, and returns the component of element residual sensitivity in f_m and f_x. More...
 
virtual void linearized_jacobian_solution_product (RealVectorX &f)=0
 Calculates the product of Jacobian-solution, and Jacobian-velocity over the element for a system of the form

\[ f_m(x,\dot{x}) + f_x(x) = 0 \]

. More...

 
- Public Member Functions inherited from MAST::AssemblyElemOperations
 AssemblyElemOperations ()
 
virtual ~AssemblyElemOperations ()
 
virtual void clear_assembly ()
 clears the assembly object More...
 
virtual void clear_discipline_and_system ()
 clears association with a system to this discipline More...
 
virtual void clear_elem ()
 clears the element initialization More...
 
virtual MAST::AssemblyBaseget_assembly ()
 
MAST::PhysicsDisciplineBaseget_discipline ()
 
virtual std::pair< const MAST::FieldFunction< RealVectorX > *, unsigned int > get_elem_boundary_velocity_data ()
 searches through the side load data and populates the data with the boundary id and velocity function on the boundary. More...
 
MAST::ElementBaseget_physics_elem ()
 
MAST::SystemInitializationget_system_initialization ()
 
virtual void init (const MAST::GeomElem &elem)=0
 initializes the object for calculation of element quantities for the specified elem. More...
 
virtual void set_assembly (MAST::AssemblyBase &assembly)
 sets the assembly object More...
 
virtual void set_discipline_and_system (MAST::PhysicsDisciplineBase &discipline, MAST::SystemInitialization &system)
 attaches a system to this discipline More...
 
virtual void set_elem_acceleration (const RealVectorX &accel)
 sets the element acceleration More...
 
virtual void set_elem_acceleration_sensitivity (const RealVectorX &accel)
 sets the element acceleration More...
 
virtual void set_elem_data (unsigned int dim, const libMesh::Elem &ref_elem, MAST::GeomElem &elem) const =0
 some analyses may want to set additional element data before initialization of the GeomElem. More...
 
virtual void set_elem_perturbed_acceleration (const RealVectorX &accel)
 sets the element perturbed acceleration More...
 
virtual void set_elem_perturbed_solution (const RealVectorX &sol)
 sets the element perturbed solution More...
 
virtual void set_elem_perturbed_velocity (const RealVectorX &vel)
 sets the element perturbed velocity More...
 
virtual void set_elem_solution (const RealVectorX &sol)
 sets the element solution More...
 
virtual void set_elem_solution_sensitivity (const RealVectorX &sol)
 sets the element solution sensitivity More...
 
virtual void set_elem_velocity (const RealVectorX &vel)
 sets the element velocity More...
 
virtual void set_elem_velocity_sensitivity (const RealVectorX &vel)
 sets the element velocity sensitivity More...
 
void set_skip_comm_sum (bool skip)
 If an output has contrinutions only from local processor then the user can request that the global comm().sum() calls be skipped to avoid blocking MPI calls. More...
 

Additional Inherited Members

- Protected Attributes inherited from MAST::AssemblyElemOperations
MAST::AssemblyBase_assembly
 
MAST::PhysicsDisciplineBase_discipline
 
MAST::ElementBase_physics_elem
 
bool _skip_comm_sum
 If an output has contrinutions only from local processor then the user can request that the global comm().sum() calls be skipped to avoid blocking MPI calls. More...
 
MAST::SystemInitialization_system
 

Constructor & Destructor Documentation

◆ TransientAssemblyElemOperations()

MAST::TransientAssemblyElemOperations::TransientAssemblyElemOperations ( )

Definition at line 26 of file transient_assembly_elem_operations.cpp.

◆ ~TransientAssemblyElemOperations()

MAST::TransientAssemblyElemOperations::~TransientAssemblyElemOperations ( )
virtual

Definition at line 33 of file transient_assembly_elem_operations.cpp.

Member Function Documentation

◆ elem_calculations() [1/2]

virtual void MAST::TransientAssemblyElemOperations::elem_calculations ( bool  if_jac,
RealVectorX f_m,
RealVectorX f_x,
RealMatrixX f_m_jac_xdot,
RealMatrixX f_m_jac,
RealMatrixX f_x_jac 
)
pure virtual

performs the element calculations over elem, for a system of the form

\[ f_m(x,\dot{x}) + f_x(x) = 0 \]

.

Parameters
f_x= $ f(x) $
f_m= $ f_m(x,\dot{x}) $
f_m_jac_xdot= $ \frac{\partial (f_m(x)}{\partial \dot{x}} $
f_m_jac= $ \frac{\partial (f_m(x)}{\partial x} $
f_x_jac= $ \frac{\partial (f(x)}{\partial x} $ if_jac tells the method to also assemble the Jacobian, in addition to the residual vector.

Implemented in MAST::LevelSetTransientAssemblyElemOperations, MAST::ConservativeFluidTransientAssemblyElemOperations, MAST::StructuralTransientAssemblyElemOperations, and MAST::HeatConductionTransientAssemblyElemOperations.

◆ elem_calculations() [2/2]

virtual void MAST::TransientAssemblyElemOperations::elem_calculations ( bool  if_jac,
RealVectorX f_m,
RealVectorX f_x,
RealMatrixX f_m_jac_xddot,
RealMatrixX f_m_jac_xdot,
RealMatrixX f_m_jac,
RealMatrixX f_x_jac_xdot,
RealMatrixX f_x_jac 
)
pure virtual

performs the element calculations over elem, for a system of the form

\[ f_m(x,\ddot{x}, \dot{x}) + f_x(x, \dot{x}) = 0 \]

.

Parameters
f_x= $ f(x,\dot{x}) $
f_m= $ f_m(x,\dot{x}) $
f_m_jac_xddot= $ \frac{\partial (f_m(x)}{\partial \ddot{x}} $
f_m_jac_xdot= $ \frac{\partial (f_m(x)}{\partial \dot{x}} $
f_m_jac= $ \frac{\partial (f_m(x)}{\partial x} $
f_x_jac_xdot= $ \frac{\partial (f(x)}{\partial \dot{x}} $
f_x_jac= $ \frac{\partial (f(x)}{\partial x} $ if_jac tells the method to also assemble the Jacobian, in addition to the residual vector.

Implemented in MAST::StructuralTransientAssemblyElemOperations, MAST::LevelSetTransientAssemblyElemOperations, MAST::ConservativeFluidTransientAssemblyElemOperations, and MAST::HeatConductionTransientAssemblyElemOperations.

◆ elem_sensitivity_calculations()

virtual void MAST::TransientAssemblyElemOperations::elem_sensitivity_calculations ( const MAST::FunctionBase f,
RealVectorX f_m,
RealVectorX f_x 
)
pure virtual

performs the element sensitivity calculations over elem, and returns the component of element residual sensitivity in f_m and f_x.

Implemented in MAST::LevelSetTransientAssemblyElemOperations, MAST::ConservativeFluidTransientAssemblyElemOperations, MAST::StructuralTransientAssemblyElemOperations, and MAST::HeatConductionTransientAssemblyElemOperations.

◆ linearized_jacobian_solution_product()

virtual void MAST::TransientAssemblyElemOperations::linearized_jacobian_solution_product ( RealVectorX f)
pure virtual

Calculates the product of Jacobian-solution, and Jacobian-velocity over the element for a system of the form

\[ f_m(x,\dot{x}) + f_x(x) = 0 \]

.

Parameters
f= $ df(x)/dx \cdot dx + df_m(x,\dot{x})/dx \cdot dx + df_m(x,\dot{x})/d\dot{x} \cdot d{\dot x} $

Implemented in MAST::ConservativeFluidTransientAssemblyElemOperations, MAST::LevelSetTransientAssemblyElemOperations, MAST::StructuralTransientAssemblyElemOperations, and MAST::HeatConductionTransientAssemblyElemOperations.


The documentation for this class was generated from the following files: