MAST
MAST::NonlinearImplicitAssemblyElemOperations Class Referenceabstract

#include <nonlinear_implicit_assembly_elem_operations.h>

Inheritance diagram for MAST::NonlinearImplicitAssemblyElemOperations:
Collaboration diagram for MAST::NonlinearImplicitAssemblyElemOperations:

Public Member Functions

 NonlinearImplicitAssemblyElemOperations ()
 
virtual ~NonlinearImplicitAssemblyElemOperations ()
 
virtual void elem_calculations (bool if_jac, RealVectorX &vec, RealMatrixX &mat)=0
 performs the element calculations over elem, and returns the element vector and matrix quantities in mat and vec, respectively. More...
 
virtual void elem_linearized_jacobian_solution_product (RealVectorX &vec)=0
 performs the element calculations over elem, and returns the element vector quantity in vec. More...
 
virtual void elem_sensitivity_calculations (const MAST::FunctionBase &f, RealVectorX &vec)=0
 performs the element sensitivity calculations over elem, and returns the element residual sensitivity in vec . More...
 
virtual void elem_shape_sensitivity_calculations (const MAST::FunctionBase &f, RealVectorX &vec)=0
 performs the element shape sensitivity calculations over elem, and returns the element residual sensitivity in vec . More...
 
virtual void elem_topology_sensitivity_calculations (const MAST::FunctionBase &f, const MAST::FieldFunction< RealVectorX > &vel, RealVectorX &vec)=0
 performs the element topology sensitivity calculations over elem, and returns the element residual sensitivity in vec . More...
 
virtual void elem_second_derivative_dot_solution_assembly (RealMatrixX &mat)=0
 calculates $ d ([J] \{\Delta X\})/ dX $ over elem, and returns the matrix in vec . More...
 
void check_element_numerical_jacobian (RealVectorX &sol)
 a helper function to evaluate the numerical Jacobian and compare it with the analytical Jacobian. More...
 
- Public Member Functions inherited from MAST::AssemblyElemOperations
 AssemblyElemOperations ()
 
virtual ~AssemblyElemOperations ()
 
MAST::SystemInitializationget_system_initialization ()
 
MAST::PhysicsDisciplineBaseget_discipline ()
 
virtual void set_discipline_and_system (MAST::PhysicsDisciplineBase &discipline, MAST::SystemInitialization &system)
 attaches a system to this discipline More...
 
virtual void clear_discipline_and_system ()
 clears association with a system to this discipline More...
 
virtual void set_assembly (MAST::AssemblyBase &assembly)
 sets the assembly object More...
 
virtual MAST::AssemblyBaseget_assembly ()
 
virtual void clear_assembly ()
 clears the assembly object 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 init (const MAST::GeomElem &elem)=0
 initializes the object for calculation of element quantities for the specified elem. More...
 
virtual void clear_elem ()
 clears the element initialization More...
 
MAST::ElementBaseget_physics_elem ()
 
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_perturbed_solution (const RealVectorX &sol)
 sets the element perturbed solution 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...
 
virtual void set_elem_perturbed_velocity (const RealVectorX &vel)
 sets the element perturbed velocity 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_perturbed_acceleration (const RealVectorX &accel)
 sets the element perturbed acceleration More...
 

Additional Inherited Members

- Protected Attributes inherited from MAST::AssemblyElemOperations
MAST::SystemInitialization_system
 
MAST::PhysicsDisciplineBase_discipline
 
MAST::AssemblyBase_assembly
 
MAST::ElementBase_physics_elem
 

Detailed Description

Constructor & Destructor Documentation

MAST::NonlinearImplicitAssemblyElemOperations::NonlinearImplicitAssemblyElemOperations ( )

Definition at line 26 of file nonlinear_implicit_assembly_elem_operations.cpp.

Here is the call graph for this function:

MAST::NonlinearImplicitAssemblyElemOperations::~NonlinearImplicitAssemblyElemOperations ( )
virtual

Definition at line 33 of file nonlinear_implicit_assembly_elem_operations.cpp.

Here is the caller graph for this function:

Member Function Documentation

void MAST::NonlinearImplicitAssemblyElemOperations::check_element_numerical_jacobian ( RealVectorX sol)

a helper function to evaluate the numerical Jacobian and compare it with the analytical Jacobian.

Definition at line 103 of file nonlinear_implicit_assembly_elem_operations.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void MAST::NonlinearImplicitAssemblyElemOperations::elem_calculations ( bool  if_jac,
RealVectorX vec,
RealMatrixX mat 
)
pure virtual

performs the element calculations over elem, and returns the element vector and matrix quantities in mat and vec, respectively.

if_jac tells the method to also assemble the Jacobian, in addition to the residual vector.

Implemented in MAST::SecondOrderNewmarkTransientSolver, MAST::GeneralizedAlphaTransientSolver, MAST::StabilizedFirstOrderNewmarkTransientSensitivitySolver, MAST::StructuralNonlinearAssemblyElemOperations, and MAST::HeatConductionNonlinearAssemblyElemOperations.

Here is the caller graph for this function:

virtual void MAST::NonlinearImplicitAssemblyElemOperations::elem_linearized_jacobian_solution_product ( RealVectorX vec)
pure virtual

performs the element calculations over elem, and returns the element vector quantity in vec.

The vector quantity only include the $ [J] \{dX\} $ components, so the inherited classes must ensure that no component of constant forces (traction/body forces/etc.) are added to this vector.

Implemented in MAST::StabilizedFirstOrderNewmarkTransientSensitivitySolver, MAST::HeatConductionNonlinearAssemblyElemOperations, and MAST::StructuralNonlinearAssemblyElemOperations.

Here is the caller graph for this function:

virtual void MAST::NonlinearImplicitAssemblyElemOperations::elem_second_derivative_dot_solution_assembly ( RealMatrixX mat)
pure virtual

calculates $ d ([J] \{\Delta X\})/ dX $ over elem, and returns the matrix in vec .

Implemented in MAST::StabilizedFirstOrderNewmarkTransientSensitivitySolver, MAST::StructuralNonlinearAssemblyElemOperations, and MAST::HeatConductionNonlinearAssemblyElemOperations.

Here is the caller graph for this function:

virtual void MAST::NonlinearImplicitAssemblyElemOperations::elem_sensitivity_calculations ( const MAST::FunctionBase f,
RealVectorX vec 
)
pure virtual

performs the element sensitivity calculations over elem, and returns the element residual sensitivity in vec .

Implemented in MAST::StabilizedFirstOrderNewmarkTransientSensitivitySolver, MAST::StructuralNonlinearAssemblyElemOperations, and MAST::HeatConductionNonlinearAssemblyElemOperations.

Here is the caller graph for this function:

virtual void MAST::NonlinearImplicitAssemblyElemOperations::elem_shape_sensitivity_calculations ( const MAST::FunctionBase f,
RealVectorX vec 
)
pure virtual

performs the element shape sensitivity calculations over elem, and returns the element residual sensitivity in vec .

Implemented in MAST::StabilizedFirstOrderNewmarkTransientSensitivitySolver, MAST::StructuralNonlinearAssemblyElemOperations, and MAST::HeatConductionNonlinearAssemblyElemOperations.

Here is the caller graph for this function:

virtual void MAST::NonlinearImplicitAssemblyElemOperations::elem_topology_sensitivity_calculations ( const MAST::FunctionBase f,
const MAST::FieldFunction< RealVectorX > &  vel,
RealVectorX vec 
)
pure virtual

performs the element topology sensitivity calculations over elem, and returns the element residual sensitivity in vec .

Implemented in MAST::StabilizedFirstOrderNewmarkTransientSensitivitySolver, MAST::StructuralNonlinearAssemblyElemOperations, and MAST::HeatConductionNonlinearAssemblyElemOperations.

Here is the caller graph for this function:


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