MAST
Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST)
MAST::StructuralElement3D Class Reference

Detailed Description

Definition at line 35 of file solid_element_3d.h.

#include <solid_element_3d.h>

Inheritance diagram for MAST::StructuralElement3D:
Collaboration diagram for MAST::StructuralElement3D:

Public Member Functions

 StructuralElement3D (MAST::SystemInitialization &sys, const MAST::GeomElem &elem, const MAST::ElementPropertyCardBase &p)
 
virtual ~StructuralElement3D ()
 
virtual void calculate_stress_temperature_derivative (MAST::FEBase &fe_thermal, MAST::StressStrainOutputBase &output)
 
virtual bool if_incompatible_modes () const
 
virtual unsigned int incompatible_mode_size () const
 
virtual bool inertial_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xddot, RealMatrixX &jac_xdot, RealMatrixX &jac)
 Calculates the inertial force and the Jacobian matrices. More...
 
virtual bool internal_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac)
 Calculates the internal residual vector and Jacobian due to strain energy. More...
 
virtual void internal_residual_boundary_velocity (const MAST::FunctionBase &p, const unsigned int s, const MAST::FieldFunction< RealVectorX > &vel_f, bool request_jacobian, RealVectorX &f, RealMatrixX &jac)
 calculates the term on side s: $ \int_\Gamma a(\delta u, u) v_n ~d\Gamma $. More...
 
virtual bool internal_residual_jac_dot_state_sensitivity (RealMatrixX &jac)
 calculates d[J]/d{x} . More...
 
virtual bool internal_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac)
 Calculates the sensitivity of internal residual vector and Jacobian due to strain energy. More...
 
virtual bool prestress_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac)
 Calculates the prestress residual vector and Jacobian. More...
 
virtual bool prestress_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac)
 Calculates the sensitivity prestress residual vector and Jacobian. More...
 
virtual void thermal_residual_temperature_derivative (const MAST::FEBase &fe_thermal, RealMatrixX &m)
 
virtual void update_incompatible_mode_solution (const RealVectorX &dsol)
 updates the incompatible solution for this element. More...
 
- Public Member Functions inherited from MAST::StructuralElementBase
 StructuralElementBase (MAST::SystemInitialization &sys, const MAST::GeomElem &elem, const MAST::ElementPropertyCardBase &p)
 Constructor. More...
 
virtual ~StructuralElementBase ()
 
virtual bool damping_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac)
 damping force contribution to system residual More...
 
virtual bool damping_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac)
 sensitivity of the damping force contribution to system residual More...
 
const MAST::ElementPropertyCardBaseelem_property ()
 returns a constant reference to the finite element object More...
 
virtual void inertial_residual_boundary_velocity (const MAST::FunctionBase &p, const unsigned int s, const MAST::FieldFunction< RealVectorX > &vel_f, bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xddot, RealMatrixX &jac_xdot, RealMatrixX &jac)
 sensitivity of the inertial force contribution to system residual More...
 
virtual bool inertial_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xddot, RealMatrixX &jac_xdot, RealMatrixX &jac)
 sensitivity of the inertial force contribution to system residual More...
 
bool linearized_frequency_domain_side_external_residual (bool request_jacobian, ComplexVectorX &f, ComplexMatrixX &jac, std::multimap< libMesh::boundary_id_type, MAST::BoundaryConditionBase *> &bc)
 Calculates the external force due to frequency domain side external force contribution to system residual. More...
 
bool linearized_frequency_domain_volume_external_residual (bool request_jacobian, ComplexVectorX &f, ComplexMatrixX &jac, std::multimap< libMesh::subdomain_id_type, MAST::BoundaryConditionBase *> &bc)
 Calculates the frequency domain volume external force contribution to system residual. More...
 
virtual bool linearized_inertial_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xddot, RealMatrixX &jac_xdot, RealMatrixX &jac)
 inertial force contribution to system residual of linerized problem More...
 
virtual bool linearized_internal_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac)
 internal force contribution to system residual of the linearized problem More...
 
bool linearized_side_external_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac, std::multimap< libMesh::boundary_id_type, MAST::BoundaryConditionBase *> &bc)
 side external force contribution to system residual. More...
 
bool linearized_volume_external_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac, std::multimap< libMesh::subdomain_id_type, MAST::BoundaryConditionBase *> &bc)
 volume external force contribution to system residual. More...
 
const RealVectorXlocal_solution (bool if_sens=false) const
 
virtual void set_acceleration (const RealVectorX &vec, bool if_sens=false)
 stores vec as acceleration for element level calculations, or its sensitivity if if_sens is true. More...
 
void set_incompatible_mode_solution (RealVectorX &vec)
 sets the pointer to the incompatible mode solution vector. More...
 
virtual void set_perturbed_acceleration (const RealVectorX &vec, bool if_sens=false)
 stores vec as perturbed acceleration for element level calculations, or its sensitivity if if_sens is true. More...
 
virtual void set_perturbed_solution (const RealVectorX &vec, bool if_sens=false)
 stores vec as perturbed solution for element level calculations, or its sensitivity if if_sens is true. More...
 
virtual void set_perturbed_velocity (const RealVectorX &vec, bool if_sens=false)
 stores vec as perturbed velocity for element level calculations, or its sensitivity if if_sens is true. More...
 
virtual void set_solution (const RealVectorX &vec, bool if_sens=false)
 stores vec as solution for element level calculations, or its sensitivity if if_sens is true. More...
 
virtual void set_velocity (const RealVectorX &vec, bool if_sens=false)
 stores vec as velocity for element level calculations, or its sensitivity if if_sens is true. More...
 
bool side_external_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac, std::multimap< libMesh::boundary_id_type, MAST::BoundaryConditionBase *> &bc)
 side external force contribution to system residual. More...
 
bool side_external_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac, std::multimap< libMesh::boundary_id_type, MAST::BoundaryConditionBase *> &bc)
 sensitivity of the side external force contribution to system residual More...
 
template<typename ValType >
void transform_matrix_to_global_system (const ValType &local_mat, ValType &global_mat) const
 
template<typename ValType >
void transform_vector_to_global_system (const ValType &local_vec, ValType &global_vec) const
 
template<typename ValType >
void transform_vector_to_local_system (const ValType &global_vec, ValType &local_vec) const
 
bool volume_external_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac, std::multimap< libMesh::subdomain_id_type, MAST::BoundaryConditionBase *> &bc)
 volume external force contribution to system residual. More...
 
void volume_external_residual_boundary_velocity (const MAST::FunctionBase &p, const unsigned int s, const MAST::FieldFunction< RealVectorX > &vel_f, std::multimap< libMesh::subdomain_id_type, MAST::BoundaryConditionBase *> &bc, bool request_jacobian, RealVectorX &f, RealMatrixX &jac)
 boundary velocity contribution of volume external force. More...
 
bool volume_external_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac, std::multimap< libMesh::subdomain_id_type, MAST::BoundaryConditionBase *> &bc)
 sensitivity of the volume external force contribution to system residual More...
 
- Public Member Functions inherited from MAST::ElementBase
 ElementBase (MAST::SystemInitialization &sys, const MAST::GeomElem &elem)
 The default constructor. More...
 
virtual ~ElementBase ()
 Default virtual destructor. More...
 
void attach_active_solution_function (MAST::FunctionBase &f)
 Attaches the function that represents the system solution. More...
 
void detach_active_solution_function ()
 Detaches the function object that may have been attached to the element. More...
 
const MAST::GeomElemelem () const
 
virtual void set_complex_solution (const ComplexVectorX &vec, bool if_sens=false)
 This provides the complex solution (or its sensitivity if if_sens is true.) for frequecy-domain analysis. More...
 
const RealVectorXsol (bool if_sens=false) const
 
MAST::NonlinearSystemsystem ()
 
MAST::SystemInitializationsystem_initialization ()
 

Protected Member Functions

void _init_incompatible_fe_mapping (const libMesh::Elem &e)
 initialize the Jacobian needed for incompatible modes More...
 
virtual bool calculate_stress (bool request_derivative, const MAST::FunctionBase *p, MAST::StressStrainOutputBase &output)
 Calculates the stress tensor. More...
 
virtual void calculate_stress_boundary_velocity (const MAST::FunctionBase &p, MAST::StressStrainOutputBase &output, const unsigned int s, const MAST::FieldFunction< RealVectorX > &vel_f)
 Calculates the boundary velocity term contributions to the sensitivity of stress at the specified boundary of this element. More...
 
void initialize_green_lagrange_strain_operator (const unsigned int qp, const MAST::FEBase &fe, const RealVectorX &local_disp, RealVectorX &epsilon, RealMatrixX &mat_x, RealMatrixX &mat_y, RealMatrixX &mat_z, MAST::FEMOperatorMatrix &Bmat_lin, MAST::FEMOperatorMatrix &Bmat_nl_x, MAST::FEMOperatorMatrix &Bmat_nl_y, MAST::FEMOperatorMatrix &Bmat_nl_z, MAST::FEMOperatorMatrix &Bmat_nl_u, MAST::FEMOperatorMatrix &Bmat_nl_v, MAST::FEMOperatorMatrix &Bmat_nl_w)
 initialize the strain operator matrices for the Green-Lagrange strain matrices More...
 
void initialize_incompatible_strain_operator (const unsigned int qp, const MAST::FEBase &fe, FEMOperatorMatrix &Bmat, RealMatrixX &G_mat)
 initialize incompatible strain operator More...
 
void initialize_strain_operator (const unsigned int qp, const MAST::FEBase &fe, FEMOperatorMatrix &Bmat)
 initialize strain operator matrix More...
 
virtual bool linearized_frequency_domain_surface_pressure_residual (bool request_jacobian, ComplexVectorX &f, ComplexMatrixX &jac, const unsigned int side, MAST::BoundaryConditionBase &bc)
 Calculates the force vector and Jacobian due to small perturbation surface pressure. More...
 
virtual bool linearized_frequency_domain_surface_pressure_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, ComplexVectorX &f, ComplexMatrixX &jac, const unsigned int side, MAST::BoundaryConditionBase &bc)
 Calculates the sensitivity of force vector and Jacobian due to small is applicable for perturbation surface pressure. More...
 
virtual bool piston_theory_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac, MAST::BoundaryConditionBase &bc)
 Calculates the force vector and Jacobian due to piston-theory based surface pressure on the entire element domain. More...
 
virtual bool piston_theory_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac, const unsigned int side, MAST::BoundaryConditionBase &bc)
 Calculates the force vector and Jacobian due to piston-theory based surface pressure on the side identified by side. More...
 
virtual bool piston_theory_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac, MAST::BoundaryConditionBase &bc)
 Calculates the force vector and Jacobian sensitivity due to piston-theory based surface pressure on the entire element domain. More...
 
virtual bool piston_theory_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac, const unsigned int side, MAST::BoundaryConditionBase &bc)
 Calculates the force vector and Jacobian sensitivity due to piston-theory based surface pressure on the side identified by side. More...
 
bool surface_pressure_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int side, MAST::BoundaryConditionBase &bc)
 Calculates the force vector and Jacobian due to surface pressure. More...
 
virtual bool surface_pressure_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int side, MAST::BoundaryConditionBase &bc)
 Calculates the force vector and Jacobian due to surface pressure. More...
 
virtual bool surface_traction_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int side, MAST::BoundaryConditionBase &bc)
 Calculates the force vector and Jacobian due to surface traction. More...
 
virtual bool surface_traction_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int side, MAST::BoundaryConditionBase &bc)
 Calculates the sensitivity of element vector and matrix quantities for surface traction boundary condition. More...
 
virtual bool surface_traction_residual_shifted_boundary (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int side, MAST::BoundaryConditionBase &bc)
 Calculates the sensitivity of force vector and Jacobian due to surface traction and sensitiity due to boundary movement. More...
 
virtual bool surface_traction_residual_shifted_boundary_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int side, MAST::BoundaryConditionBase &bc)
 Calculates the sensitivity of force vector and Jacobian due to surface traction and sensitiity due to boundary movement. More...
 
virtual bool thermal_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, MAST::BoundaryConditionBase &bc)
 Calculates the residual vector and Jacobian due to thermal stresses. More...
 
virtual void thermal_residual_boundary_velocity (const MAST::FunctionBase &p, const unsigned int s, const MAST::FieldFunction< RealVectorX > &vel_f, MAST::BoundaryConditionBase &bc, bool request_jacobian, RealVectorX &f, RealMatrixX &jac)
 Calculates the sensitivity of force vector and Jacobian due to thermal stresses. More...
 
virtual bool thermal_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac, MAST::BoundaryConditionBase &bc)
 Calculates the sensitivity of residual vector and Jacobian due to thermal stresses. More...
 
- Protected Member Functions inherited from MAST::StructuralElementBase
virtual bool linearized_frequency_domain_surface_pressure_residual (bool request_jacobian, ComplexVectorX &f, ComplexMatrixX &jac, MAST::BoundaryConditionBase &bc)
 Calculates the force vector and Jacobian due to surface pressure applied on the entire element domain. More...
 
virtual bool linearized_frequency_domain_surface_pressure_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, ComplexVectorX &f, ComplexMatrixX &jac, MAST::BoundaryConditionBase &bc)
 Calculates the sensitivity of force vector and Jacobian due to surface pressure applied on the entire element domain. More...
 
virtual bool linearized_surface_pressure_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, MAST::BoundaryConditionBase &bc)
 Calculates the force vector and Jacobian due to surface pressure applied on the entire element domain. More...
 
Real piston_theory_cp (const unsigned int order, const Real vel_U, const Real gamma, const Real mach)
 
Real piston_theory_dcp_dv (const unsigned int order, const Real vel_U, const Real gamma, const Real mach)
 
virtual void surface_pressure_boundary_velocity (const MAST::FunctionBase &p, const unsigned int s, const MAST::FieldFunction< RealVectorX > &vel_f, MAST::BoundaryConditionBase &bc, bool request_jacobian, RealVectorX &f, RealMatrixX &jac)
 Calculates the force vector and Jacobian due to surface pressure applied on the entire element domain. More...
 
virtual bool surface_pressure_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, MAST::BoundaryConditionBase &bc)
 Calculates the force vector and Jacobian due to surface pressure applied on the entire element domain. More...
 
virtual bool surface_pressure_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac, MAST::BoundaryConditionBase &bc)
 Calculates the force vector and Jacobian due to surface pressure. More...
 

Protected Attributes

RealMatrixX _T0_inv_tr
 Jacobian matrix at element center needed for incompatible modes. More...
 
- Protected Attributes inherited from MAST::StructuralElementBase
RealVectorX_incompatible_sol
 incompatible mode solution vector More...
 
RealVectorX _local_accel
 local acceleration More...
 
RealVectorX _local_accel_sens
 local acceleration sensitivity More...
 
RealVectorX _local_delta_accel
 local perturbed acceleration More...
 
RealVectorX _local_delta_accel_sens
 local perturbed acceleration sensitivity More...
 
RealVectorX _local_delta_sol
 local perturbed solution More...
 
RealVectorX _local_delta_sol_sens
 local perturbed solution sensitivity More...
 
RealVectorX _local_delta_vel
 local perturbed velocity More...
 
RealVectorX _local_delta_vel_sens
 local perturbed velocity sensitivity More...
 
RealVectorX _local_sol
 local solution More...
 
RealVectorX _local_sol_sens
 local solution sensitivity More...
 
RealVectorX _local_vel
 local velocity More...
 
RealVectorX _local_vel_sens
 local velocity sensitivity More...
 
const MAST::ElementPropertyCardBase_property
 element property More...
 
- Protected Attributes inherited from MAST::ElementBase
RealVectorX _accel
 local acceleration More...
 
RealVectorX _accel_sens
 local acceleration More...
 
MAST::FunctionBase_active_sol_function
 pointer to the active solution mesh field function. More...
 
ComplexVectorX _complex_sol
 local solution used for frequency domain analysis More...
 
ComplexVectorX _complex_sol_sens
 local solution used for frequency domain analysis More...
 
RealVectorX _delta_accel
 local acceleration More...
 
RealVectorX _delta_accel_sens
 local acceleration More...
 
RealVectorX _delta_sol
 local solution used for linearized analysis More...
 
RealVectorX _delta_sol_sens
 local solution used for linearized analysis More...
 
RealVectorX _delta_vel
 local velocity More...
 
RealVectorX _delta_vel_sens
 local velocity More...
 
const MAST::GeomElem_elem
 geometric element for which the computations are performed More...
 
RealVectorX _sol
 local solution More...
 
RealVectorX _sol_sens
 local solution sensitivity More...
 
MAST::SystemInitialization_system
 SystemInitialization object associated with this element. More...
 
const Real_time
 time for which system is being assembled More...
 
RealVectorX _vel
 local velocity More...
 
RealVectorX _vel_sens
 local velocity More...
 

Additional Inherited Members

- Public Attributes inherited from MAST::StructuralElementBase
bool follower_forces
 flag for follower forces More...
 

Constructor & Destructor Documentation

◆ StructuralElement3D()

MAST::StructuralElement3D::StructuralElement3D ( MAST::SystemInitialization sys,
const MAST::GeomElem elem,
const MAST::ElementPropertyCardBase p 
)

Definition at line 35 of file solid_element_3d.cpp.

◆ ~StructuralElement3D()

MAST::StructuralElement3D::~StructuralElement3D ( )
virtual

Definition at line 43 of file solid_element_3d.cpp.

Member Function Documentation

◆ _init_incompatible_fe_mapping()

void MAST::StructuralElement3D::_init_incompatible_fe_mapping ( const libMesh::Elem &  e)
protected

initialize the Jacobian needed for incompatible modes

Definition at line 1594 of file solid_element_3d.cpp.

◆ calculate_stress()

bool MAST::StructuralElement3D::calculate_stress ( bool  request_derivative,
const MAST::FunctionBase p,
MAST::StressStrainOutputBase output 
)
protectedvirtual

Calculates the stress tensor.

Implements MAST::StructuralElementBase.

Definition at line 1147 of file solid_element_3d.cpp.

◆ calculate_stress_boundary_velocity()

virtual void MAST::StructuralElement3D::calculate_stress_boundary_velocity ( const MAST::FunctionBase p,
MAST::StressStrainOutputBase output,
const unsigned int  s,
const MAST::FieldFunction< RealVectorX > &  vel_f 
)
inlineprotectedvirtual

Calculates the boundary velocity term contributions to the sensitivity of stress at the specified boundary of this element.

Implements MAST::StructuralElementBase.

Definition at line 367 of file solid_element_3d.h.

◆ calculate_stress_temperature_derivative()

virtual void MAST::StructuralElement3D::calculate_stress_temperature_derivative ( MAST::FEBase fe_thermal,
MAST::StressStrainOutputBase output 
)
inlinevirtual

Implements MAST::StructuralElementBase.

Definition at line 138 of file solid_element_3d.h.

◆ if_incompatible_modes()

virtual bool MAST::StructuralElement3D::if_incompatible_modes ( ) const
inlinevirtual
Returns
false since this element formulation does not use incompatible modes

Implements MAST::StructuralElementBase.

Definition at line 118 of file solid_element_3d.h.

◆ incompatible_mode_size()

virtual unsigned int MAST::StructuralElement3D::incompatible_mode_size ( ) const
inlinevirtual
Returns
the dimension of the incompatible mode vector

Reimplemented from MAST::StructuralElementBase.

Definition at line 126 of file solid_element_3d.h.

◆ inertial_residual()

bool MAST::StructuralElement3D::inertial_residual ( bool  request_jacobian,
RealVectorX f,
RealMatrixX jac_xddot,
RealMatrixX jac_xdot,
RealMatrixX jac 
)
virtual

Calculates the inertial force and the Jacobian matrices.

Reimplemented from MAST::StructuralElementBase.

Definition at line 49 of file solid_element_3d.cpp.

◆ initialize_green_lagrange_strain_operator()

void MAST::StructuralElement3D::initialize_green_lagrange_strain_operator ( const unsigned int  qp,
const MAST::FEBase fe,
const RealVectorX local_disp,
RealVectorX epsilon,
RealMatrixX mat_x,
RealMatrixX mat_y,
RealMatrixX mat_z,
MAST::FEMOperatorMatrix Bmat_lin,
MAST::FEMOperatorMatrix Bmat_nl_x,
MAST::FEMOperatorMatrix Bmat_nl_y,
MAST::FEMOperatorMatrix Bmat_nl_z,
MAST::FEMOperatorMatrix Bmat_nl_u,
MAST::FEMOperatorMatrix Bmat_nl_v,
MAST::FEMOperatorMatrix Bmat_nl_w 
)
protected

initialize the strain operator matrices for the Green-Lagrange strain matrices

Definition at line 1310 of file solid_element_3d.cpp.

◆ initialize_incompatible_strain_operator()

void MAST::StructuralElement3D::initialize_incompatible_strain_operator ( const unsigned int  qp,
const MAST::FEBase fe,
FEMOperatorMatrix Bmat,
RealMatrixX G_mat 
)
protected

initialize incompatible strain operator

Definition at line 1470 of file solid_element_3d.cpp.

◆ initialize_strain_operator()

void MAST::StructuralElement3D::initialize_strain_operator ( const unsigned int  qp,
const MAST::FEBase fe,
FEMOperatorMatrix Bmat 
)
protected

initialize strain operator matrix

Definition at line 1273 of file solid_element_3d.cpp.

◆ internal_residual()

bool MAST::StructuralElement3D::internal_residual ( bool  request_jacobian,
RealVectorX f,
RealMatrixX jac 
)
virtual

Calculates the internal residual vector and Jacobian due to strain energy.

Implements MAST::StructuralElementBase.

Definition at line 136 of file solid_element_3d.cpp.

◆ internal_residual_boundary_velocity()

virtual void MAST::StructuralElement3D::internal_residual_boundary_velocity ( const MAST::FunctionBase p,
const unsigned int  s,
const MAST::FieldFunction< RealVectorX > &  vel_f,
bool  request_jacobian,
RealVectorX f,
RealMatrixX jac 
)
inlinevirtual

calculates the term on side s: $ \int_\Gamma a(\delta u, u) v_n ~d\Gamma $.

Implements MAST::StructuralElementBase.

Definition at line 70 of file solid_element_3d.h.

◆ internal_residual_jac_dot_state_sensitivity()

virtual bool MAST::StructuralElement3D::internal_residual_jac_dot_state_sensitivity ( RealMatrixX jac)
inlinevirtual

calculates d[J]/d{x} .

d{x}/dp

Implements MAST::StructuralElementBase.

Definition at line 92 of file solid_element_3d.h.

◆ internal_residual_sensitivity()

bool MAST::StructuralElement3D::internal_residual_sensitivity ( const MAST::FunctionBase p,
bool  request_jacobian,
RealVectorX f,
RealMatrixX jac 
)
virtual

Calculates the sensitivity of internal residual vector and Jacobian due to strain energy.

Implements MAST::StructuralElementBase.

Definition at line 567 of file solid_element_3d.cpp.

◆ linearized_frequency_domain_surface_pressure_residual()

virtual bool MAST::StructuralElement3D::linearized_frequency_domain_surface_pressure_residual ( bool  request_jacobian,
ComplexVectorX f,
ComplexMatrixX jac,
const unsigned int  side,
MAST::BoundaryConditionBase bc 
)
inlineprotectedvirtual

Calculates the force vector and Jacobian due to small perturbation surface pressure.

Implements MAST::StructuralElementBase.

Definition at line 324 of file solid_element_3d.h.

◆ linearized_frequency_domain_surface_pressure_residual_sensitivity()

virtual bool MAST::StructuralElement3D::linearized_frequency_domain_surface_pressure_residual_sensitivity ( const MAST::FunctionBase p,
bool  request_jacobian,
ComplexVectorX f,
ComplexMatrixX jac,
const unsigned int  side,
MAST::BoundaryConditionBase bc 
)
inlineprotectedvirtual

Calculates the sensitivity of force vector and Jacobian due to small is applicable for perturbation surface pressure.

Implements MAST::StructuralElementBase.

Definition at line 342 of file solid_element_3d.h.

◆ piston_theory_residual() [1/2]

virtual bool MAST::StructuralElement3D::piston_theory_residual ( bool  request_jacobian,
RealVectorX f,
RealMatrixX jac_xdot,
RealMatrixX jac,
MAST::BoundaryConditionBase bc 
)
inlineprotectedvirtual

Calculates the force vector and Jacobian due to piston-theory based surface pressure on the entire element domain.

This is applicable for only 1D and 2D elements. The order of the boundary condition and direction of fluid flow are obtained from the BoundaryConditionBase object.

Implements MAST::StructuralElementBase.

Definition at line 261 of file solid_element_3d.h.

◆ piston_theory_residual() [2/2]

bool MAST::StructuralElement3D::piston_theory_residual ( bool  request_jacobian,
RealVectorX f,
RealMatrixX jac_xdot,
RealMatrixX jac,
const unsigned int  side,
MAST::BoundaryConditionBase bc 
)
protectedvirtual

Calculates the force vector and Jacobian due to piston-theory based surface pressure on the side identified by side.

The order of the boundary condition and direction of fluid flow are obtained from the BoundaryConditionBase object.

Implements MAST::StructuralElementBase.

Definition at line 1111 of file solid_element_3d.cpp.

◆ piston_theory_residual_sensitivity() [1/2]

virtual bool MAST::StructuralElement3D::piston_theory_residual_sensitivity ( const MAST::FunctionBase p,
bool  request_jacobian,
RealVectorX f,
RealMatrixX jac_xdot,
RealMatrixX jac,
MAST::BoundaryConditionBase bc 
)
inlineprotectedvirtual

Calculates the force vector and Jacobian sensitivity due to piston-theory based surface pressure on the entire element domain.

This is applicable for only 1D and 2D elements. The order of the boundary condition and direction of fluid flow are obtained from the BoundaryConditionBase object.

Implements MAST::StructuralElementBase.

Definition at line 278 of file solid_element_3d.h.

◆ piston_theory_residual_sensitivity() [2/2]

bool MAST::StructuralElement3D::piston_theory_residual_sensitivity ( const MAST::FunctionBase p,
bool  request_jacobian,
RealVectorX f,
RealMatrixX jac_xdot,
RealMatrixX jac,
const unsigned int  side,
MAST::BoundaryConditionBase bc 
)
protectedvirtual

Calculates the force vector and Jacobian sensitivity due to piston-theory based surface pressure on the side identified by side.

The order of the boundary condition and direction of fluid flow are obtained from the BoundaryConditionBase object.

Implements MAST::StructuralElementBase.

Definition at line 1128 of file solid_element_3d.cpp.

◆ prestress_residual()

bool MAST::StructuralElement3D::prestress_residual ( bool  request_jacobian,
RealVectorX f,
RealMatrixX jac 
)
virtual

Calculates the prestress residual vector and Jacobian.

Implements MAST::StructuralElementBase.

Definition at line 794 of file solid_element_3d.cpp.

◆ prestress_residual_sensitivity()

bool MAST::StructuralElement3D::prestress_residual_sensitivity ( const MAST::FunctionBase p,
bool  request_jacobian,
RealVectorX f,
RealMatrixX jac 
)
virtual

Calculates the sensitivity prestress residual vector and Jacobian.

Implements MAST::StructuralElementBase.

Definition at line 804 of file solid_element_3d.cpp.

◆ surface_pressure_residual()

bool MAST::StructuralElement3D::surface_pressure_residual ( bool  request_jacobian,
RealVectorX f,
RealMatrixX jac,
const unsigned int  side,
MAST::BoundaryConditionBase bc 
)
protectedvirtual

Calculates the force vector and Jacobian due to surface pressure.

Implements MAST::StructuralElementBase.

Definition at line 817 of file solid_element_3d.cpp.

◆ surface_pressure_residual_sensitivity()

bool MAST::StructuralElement3D::surface_pressure_residual_sensitivity ( const MAST::FunctionBase p,
bool  request_jacobian,
RealVectorX f,
RealMatrixX jac,
const unsigned int  side,
MAST::BoundaryConditionBase bc 
)
protectedvirtual

Calculates the force vector and Jacobian due to surface pressure.

Implements MAST::StructuralElementBase.

Definition at line 884 of file solid_element_3d.cpp.

◆ surface_traction_residual()

virtual bool MAST::StructuralElement3D::surface_traction_residual ( bool  request_jacobian,
RealVectorX f,
RealMatrixX jac,
const unsigned int  side,
MAST::BoundaryConditionBase bc 
)
inlineprotectedvirtual

Calculates the force vector and Jacobian due to surface traction.

Implements MAST::StructuralElementBase.

Definition at line 155 of file solid_element_3d.h.

◆ surface_traction_residual_sensitivity()

virtual bool MAST::StructuralElement3D::surface_traction_residual_sensitivity ( const MAST::FunctionBase p,
bool  request_jacobian,
RealVectorX f,
RealMatrixX jac,
const unsigned int  side,
MAST::BoundaryConditionBase bc 
)
inlineprotectedvirtual

Calculates the sensitivity of element vector and matrix quantities for surface traction boundary condition.

Implements MAST::StructuralElementBase.

Definition at line 167 of file solid_element_3d.h.

◆ surface_traction_residual_shifted_boundary()

virtual bool MAST::StructuralElement3D::surface_traction_residual_shifted_boundary ( bool  request_jacobian,
RealVectorX f,
RealMatrixX jac,
const unsigned int  side,
MAST::BoundaryConditionBase bc 
)
inlineprotectedvirtual

Calculates the sensitivity of force vector and Jacobian due to surface traction and sensitiity due to boundary movement.

Implements MAST::StructuralElementBase.

Definition at line 180 of file solid_element_3d.h.

◆ surface_traction_residual_shifted_boundary_sensitivity()

virtual bool MAST::StructuralElement3D::surface_traction_residual_shifted_boundary_sensitivity ( const MAST::FunctionBase p,
bool  request_jacobian,
RealVectorX f,
RealMatrixX jac,
const unsigned int  side,
MAST::BoundaryConditionBase bc 
)
inlineprotectedvirtual

Calculates the sensitivity of force vector and Jacobian due to surface traction and sensitiity due to boundary movement.

Implements MAST::StructuralElementBase.

Definition at line 191 of file solid_element_3d.h.

◆ thermal_residual()

bool MAST::StructuralElement3D::thermal_residual ( bool  request_jacobian,
RealVectorX f,
RealMatrixX jac,
MAST::BoundaryConditionBase bc 
)
protectedvirtual

Calculates the residual vector and Jacobian due to thermal stresses.

Implements MAST::StructuralElementBase.

Definition at line 951 of file solid_element_3d.cpp.

◆ thermal_residual_boundary_velocity()

virtual void MAST::StructuralElement3D::thermal_residual_boundary_velocity ( const MAST::FunctionBase p,
const unsigned int  s,
const MAST::FieldFunction< RealVectorX > &  vel_f,
MAST::BoundaryConditionBase bc,
bool  request_jacobian,
RealVectorX f,
RealMatrixX jac 
)
inlineprotectedvirtual

Calculates the sensitivity of force vector and Jacobian due to thermal stresses.

this should be implemented for each element type

Implements MAST::StructuralElementBase.

Definition at line 243 of file solid_element_3d.h.

◆ thermal_residual_sensitivity()

bool MAST::StructuralElement3D::thermal_residual_sensitivity ( const MAST::FunctionBase p,
bool  request_jacobian,
RealVectorX f,
RealMatrixX jac,
MAST::BoundaryConditionBase bc 
)
protectedvirtual

Calculates the sensitivity of residual vector and Jacobian due to thermal stresses.

Implements MAST::StructuralElementBase.

Definition at line 1094 of file solid_element_3d.cpp.

◆ thermal_residual_temperature_derivative()

virtual void MAST::StructuralElement3D::thermal_residual_temperature_derivative ( const MAST::FEBase fe_thermal,
RealMatrixX m 
)
inlinevirtual

Implements MAST::StructuralElementBase.

Definition at line 144 of file solid_element_3d.h.

◆ update_incompatible_mode_solution()

void MAST::StructuralElement3D::update_incompatible_mode_solution ( const RealVectorX dsol)
virtual

updates the incompatible solution for this element.

dsol is the update to the element solution for the current nonlinear step.

Reimplemented from MAST::StructuralElementBase.

Definition at line 430 of file solid_element_3d.cpp.

Member Data Documentation

◆ _T0_inv_tr

RealMatrixX MAST::StructuralElement3D::_T0_inv_tr
protected

Jacobian matrix at element center needed for incompatible modes.

Definition at line 418 of file solid_element_3d.h.


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