MAST
|
#include <nonlinear_implicit_assembly_elem_operations.h>
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 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::SystemInitialization & | get_system_initialization () |
MAST::PhysicsDisciplineBase & | get_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::AssemblyBase & | get_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::ElementBase & | get_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 |
Definition at line 35 of file nonlinear_implicit_assembly_elem_operations.h.
MAST::NonlinearImplicitAssemblyElemOperations::NonlinearImplicitAssemblyElemOperations | ( | ) |
Definition at line 26 of file nonlinear_implicit_assembly_elem_operations.cpp.
|
virtual |
Definition at line 33 of file nonlinear_implicit_assembly_elem_operations.cpp.
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.
|
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.
|
pure virtual |
performs the element calculations over elem
, and returns the element vector quantity in vec
.
The vector quantity only include the 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.
|
pure virtual |
calculates over elem
, and returns the matrix in vec
.
Implemented in MAST::StabilizedFirstOrderNewmarkTransientSensitivitySolver, MAST::StructuralNonlinearAssemblyElemOperations, and MAST::HeatConductionNonlinearAssemblyElemOperations.
|
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.
|
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.
|
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.