MAST
MAST::StructuralNonlinearAssemblyElemOperations Class Reference

#include <structural_nonlinear_assembly.h>

Inheritance diagram for MAST::StructuralNonlinearAssemblyElemOperations:
Collaboration diagram for MAST::StructuralNonlinearAssemblyElemOperations:

Public Member Functions

 StructuralNonlinearAssemblyElemOperations ()
 constructor associates this assembly object with the system More...
 
virtual ~StructuralNonlinearAssemblyElemOperations ()
 destructor resets the association of this assembly object with the system More...
 
void attach_incompatible_solution_object (MAST::StructuralAssembly &str_assembly)
 attached the incompatible solution object More...
 
void clear_incompatible_solution_object ()
 clear the incompatible solution object More...
 
virtual void set_elem_solution (const RealVectorX &sol)
 sets the element solution(s) before calculations More...
 
virtual void elem_calculations (bool if_jac, RealVectorX &vec, RealMatrixX &mat)
 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)
 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)
 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)
 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)
 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)
 calculates $ d ([J] \{\Delta X\})/ dX $ over elem, and returns the matrix in vec . More...
 
virtual void set_elem_data (unsigned int dim, const libMesh::Elem &ref_elem, MAST::GeomElem &elem) const
 sets the structural element y-vector if 1D element is used. More...
 
virtual void init (const MAST::GeomElem &elem)
 initializes the object for the geometric element elem. More...
 
- Public Member Functions inherited from MAST::NonlinearImplicitAssemblyElemOperations
 NonlinearImplicitAssemblyElemOperations ()
 
virtual ~NonlinearImplicitAssemblyElemOperations ()
 
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 clear_elem ()
 clears the element initialization More...
 
MAST::ElementBaseget_physics_elem ()
 
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...
 

Protected Attributes

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

Detailed Description

Definition at line 34 of file structural_nonlinear_assembly.h.

Constructor & Destructor Documentation

MAST::StructuralNonlinearAssemblyElemOperations::StructuralNonlinearAssemblyElemOperations ( )

constructor associates this assembly object with the system

Definition at line 31 of file structural_nonlinear_assembly.cpp.

Here is the call graph for this function:

MAST::StructuralNonlinearAssemblyElemOperations::~StructuralNonlinearAssemblyElemOperations ( )
virtual

destructor resets the association of this assembly object with the system

Definition at line 40 of file structural_nonlinear_assembly.cpp.

Here is the caller graph for this function:

Member Function Documentation

void MAST::StructuralNonlinearAssemblyElemOperations::attach_incompatible_solution_object ( MAST::StructuralAssembly str_assembly)

attached the incompatible solution object

void MAST::StructuralNonlinearAssemblyElemOperations::clear_incompatible_solution_object ( )

clear the incompatible solution object

void MAST::StructuralNonlinearAssemblyElemOperations::elem_calculations ( bool  if_jac,
RealVectorX vec,
RealMatrixX mat 
)
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.

Implements MAST::NonlinearImplicitAssemblyElemOperations.

Definition at line 114 of file structural_nonlinear_assembly.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void MAST::StructuralNonlinearAssemblyElemOperations::elem_linearized_jacobian_solution_product ( RealVectorX vec)
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.

Implements MAST::NonlinearImplicitAssemblyElemOperations.

Definition at line 145 of file structural_nonlinear_assembly.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void MAST::StructuralNonlinearAssemblyElemOperations::elem_second_derivative_dot_solution_assembly ( RealMatrixX mat)
virtual

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

Implements MAST::NonlinearImplicitAssemblyElemOperations.

Definition at line 250 of file structural_nonlinear_assembly.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

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

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

Implements MAST::NonlinearImplicitAssemblyElemOperations.

Definition at line 174 of file structural_nonlinear_assembly.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void MAST::StructuralNonlinearAssemblyElemOperations::elem_shape_sensitivity_calculations ( const MAST::FunctionBase f,
RealVectorX vec 
)
inlinevirtual

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

Implements MAST::NonlinearImplicitAssemblyElemOperations.

Definition at line 102 of file structural_nonlinear_assembly.h.

Here is the call graph for this function:

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

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

Implements MAST::NonlinearImplicitAssemblyElemOperations.

Definition at line 203 of file structural_nonlinear_assembly.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void MAST::StructuralNonlinearAssemblyElemOperations::init ( const MAST::GeomElem elem)
virtual

initializes the object for the geometric element elem.

This expects the object to be in a cleared state, so the user should call clear_elem() between successive initializations.

Implements MAST::AssemblyElemOperations.

Definition at line 95 of file structural_nonlinear_assembly.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void MAST::StructuralNonlinearAssemblyElemOperations::set_elem_data ( unsigned int  dim,
const libMesh::Elem &  ref_elem,
MAST::GeomElem elem 
) const
virtual

sets the structural element y-vector if 1D element is used.

Implements MAST::AssemblyElemOperations.

Definition at line 76 of file structural_nonlinear_assembly.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void MAST::StructuralNonlinearAssemblyElemOperations::set_elem_solution ( const RealVectorX sol)
virtual

sets the element solution(s) before calculations

Reimplemented from MAST::AssemblyElemOperations.

Definition at line 47 of file structural_nonlinear_assembly.cpp.

Here is the call graph for this function:

Member Data Documentation

MAST::StructuralAssembly* MAST::StructuralNonlinearAssemblyElemOperations::_incompatible_sol_assembly
protected

Definition at line 143 of file structural_nonlinear_assembly.h.


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