MAST
MAST::StructuralElement2D Class Reference

#include <structural_element_2d.h>

Inheritance diagram for MAST::StructuralElement2D:
Collaboration diagram for MAST::StructuralElement2D:

Public Member Functions

 StructuralElement2D (MAST::SystemInitialization &sys, MAST::AssemblyBase &assembly, const MAST::GeomElem &elem, const MAST::ElementPropertyCardBase &p)
 
virtual ~StructuralElement2D ()
 
virtual unsigned int n_direct_strain_components ()
 row dimension of the direct strain matrix, also used for the bending operator row dimension More...
 
virtual unsigned int n_von_karman_strain_components ()
 row dimension of the von Karman strain matrix 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 bool internal_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac)
 Calculates the sensitivity internal residual vector and Jacobian due to strain energy. More...
 
virtual bool internal_residual_jac_dot_state_sensitivity (RealMatrixX &jac)
 calculates d[J]/d{x} . 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 prestress_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac)
 Calculates the internal residual vector and Jacobian due to strain energy coming from a prestress. More...
 
virtual bool prestress_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac)
 Calculates the internal residual vector and Jacobian due to strain energy coming from a prestress. More...
 
virtual bool if_incompatible_modes () const
 
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...
 
virtual void calculate_stress_temperature_derivative (MAST::FEBase &fe_thermal, MAST::StressStrainOutputBase &output)
 
virtual void thermal_residual_temperature_derivative (const MAST::FEBase &fe_thermal, RealMatrixX &m)
 
- Public Member Functions inherited from MAST::BendingStructuralElem
 BendingStructuralElem (MAST::SystemInitialization &sys, MAST::AssemblyBase &assembly, const MAST::GeomElem &elem, const MAST::ElementPropertyCardBase &p)
 
virtual ~BendingStructuralElem ()
 destructor More...
 
- Public Member Functions inherited from MAST::StructuralElementBase
 StructuralElementBase (MAST::SystemInitialization &sys, MAST::AssemblyBase &assembly, const MAST::GeomElem &elem, const MAST::ElementPropertyCardBase &p)
 Constructor. More...
 
virtual ~StructuralElementBase ()
 
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_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_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...
 
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_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...
 
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...
 
const RealVectorXlocal_solution (bool if_sens=false) const
 
const MAST::ElementPropertyCardBaseelem_property ()
 returns a constant reference to the finite element object More...
 
virtual bool linearized_internal_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac)
 internal force contribution to system residual of the linearized problem More...
 
virtual bool damping_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac)
 damping force contribution to system residual More...
 
virtual bool inertial_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xddot, RealMatrixX &jac_xdot, RealMatrixX &jac)
 inertial 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...
 
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 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_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 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 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...
 
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 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...
 
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...
 
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...
 
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...
 
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...
 
virtual unsigned int incompatible_mode_size () const
 
void set_incompatible_mode_solution (RealVectorX &vec)
 sets the pointer to the incompatible mode solution vector. More...
 
virtual void update_incompatible_mode_solution (const RealVectorX &dsol)
 updates the incompatible solution for this element. 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_local_system (const ValType &global_vec, ValType &local_vec) const
 
template<typename ValType >
void transform_vector_to_global_system (const ValType &local_vec, ValType &global_vec) const
 
- Public Member Functions inherited from MAST::ElementBase
 ElementBase (MAST::SystemInitialization &sys, MAST::AssemblyBase &assembly, const MAST::GeomElem &elem)
 The default constructor. More...
 
virtual ~ElementBase ()
 Default virtual destructor. More...
 
MAST::SystemInitializationsystem_initialization ()
 
MAST::AssemblyBaseassembly ()
 
MAST::NonlinearSystemsystem ()
 
const MAST::GeomElemelem () const
 
const RealVectorXsol (bool if_sens=false) 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...
 
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...
 

Protected Member Functions

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 thermal_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, MAST::BoundaryConditionBase &bc)
 Calculates the residual 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 the 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 term on side s: $ \int_\Gamma a(\delta u, u) v_n ~d\Gamma $. 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_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac, MAST::BoundaryConditionBase &bc)
 Calculates the sensitivity of 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, 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 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 void initialize_von_karman_strain_operator (const unsigned int qp, const MAST::FEBase &fe, RealVectorX &vk_strain, RealMatrixX &vk_dwdxi_mat, MAST::FEMOperatorMatrix &Bmat_vk)
 initialze the von Karman strain in vK_strain, the operator matrices needed for Jacobian calculation. More...
 
virtual void initialize_von_karman_strain_operator_sensitivity (const unsigned int qp, const MAST::FEBase &fe, RealMatrixX &vk_dwdxi_mat_sens)
 initialze the sensitivity of von Karman operator matrices needed for Jacobian calculation. More...
 
virtual 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, MAST::FEMOperatorMatrix &Bmat_lin, MAST::FEMOperatorMatrix &Bmat_nl_x, MAST::FEMOperatorMatrix &Bmat_nl_y, MAST::FEMOperatorMatrix &Bmat_nl_u, MAST::FEMOperatorMatrix &Bmat_nl_v)
 
virtual void _internal_residual_operation (bool if_vk, const unsigned int n2, const unsigned int qp, const MAST::FEBase &fe, const std::vector< Real > &JxW, bool request_jacobian, RealVectorX &local_f, RealMatrixX &local_jac, RealVectorX &local_disp, RealVectorX &strain_mem, MAST::BendingOperator2D *bend, FEMOperatorMatrix &Bmat_lin, FEMOperatorMatrix &Bmat_nl_x, FEMOperatorMatrix &Bmat_nl_y, FEMOperatorMatrix &Bmat_nl_u, FEMOperatorMatrix &Bmat_nl_v, MAST::FEMOperatorMatrix &Bmat_bend, MAST::FEMOperatorMatrix &Bmat_vk, RealMatrixX &mat_x, RealMatrixX &mat_y, RealMatrixX &stress, RealMatrixX &vk_dwdxi_mat, RealMatrixX &material_A_mat, RealMatrixX &material_B_mat, RealMatrixX &material_D_mat, RealVectorX &vec1_n1, RealVectorX &vec2_n1, RealVectorX &vec3_n2, RealVectorX &vec4_2, RealVectorX &vec5_2, RealVectorX &vec6_n2, RealMatrixX &mat1_n1n2, RealMatrixX &mat2_n2n2, RealMatrixX &mat3, RealMatrixX &mat4_2n2, RealMatrixX &mat5_3n2)
 performs integration at the quadrature point for the provided matrices. More...
 
void _convert_prestress_A_mat_to_vector (const RealMatrixX &mat, RealVectorX &vec) const
 converts the prestress stress tensor to a vector representation More...
 
void _convert_prestress_B_mat_to_vector (const RealMatrixX &mat, RealVectorX &vec) const
 converts the prestress stress tensor to a vector representation More...
 
- Protected Member Functions inherited from MAST::StructuralElementBase
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 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 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 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 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...
 

Additional Inherited Members

- Public Attributes inherited from MAST::StructuralElementBase
bool follower_forces
 flag for follower forces More...
 
- Protected Attributes inherited from MAST::StructuralElementBase
const MAST::ElementPropertyCardBase_property
 element property More...
 
RealVectorX _local_sol
 local solution More...
 
RealVectorX _local_delta_sol
 local perturbed solution More...
 
RealVectorX _local_sol_sens
 local solution sensitivity More...
 
RealVectorX _local_delta_sol_sens
 local perturbed solution sensitivity More...
 
RealVectorX _local_vel
 local velocity More...
 
RealVectorX _local_delta_vel
 local perturbed velocity More...
 
RealVectorX _local_vel_sens
 local velocity sensitivity More...
 
RealVectorX _local_delta_vel_sens
 local perturbed velocity sensitivity More...
 
RealVectorX _local_accel
 local acceleration More...
 
RealVectorX _local_delta_accel
 local perturbed acceleration More...
 
RealVectorX _local_accel_sens
 local acceleration sensitivity More...
 
RealVectorX _local_delta_accel_sens
 local perturbed acceleration sensitivity More...
 
RealVectorX_incompatible_sol
 incompatible mode solution vector More...
 
- Protected Attributes inherited from MAST::ElementBase
MAST::SystemInitialization_system
 SystemInitialization object associated with this element. More...
 
MAST::AssemblyBase_assembly
 Assembly object. More...
 
const MAST::GeomElem_elem
 geometric element for which the computations are performed More...
 
MAST::FunctionBase_active_sol_function
 pointer to the active solution mesh field function. More...
 
const Real_time
 time for which system is being assembled More...
 
RealVectorX _sol
 local solution More...
 
RealVectorX _sol_sens
 local solution sensitivity 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_sol
 local solution used for linearized analysis More...
 
RealVectorX _delta_sol_sens
 local solution used for linearized analysis More...
 
RealVectorX _vel
 local velocity More...
 
RealVectorX _vel_sens
 local velocity More...
 
RealVectorX _delta_vel
 local velocity More...
 
RealVectorX _delta_vel_sens
 local velocity More...
 
RealVectorX _accel
 local acceleration More...
 
RealVectorX _accel_sens
 local acceleration More...
 
RealVectorX _delta_accel
 local acceleration More...
 
RealVectorX _delta_accel_sens
 local acceleration More...
 

Detailed Description

Definition at line 42 of file structural_element_2d.h.

Constructor & Destructor Documentation

MAST::StructuralElement2D::StructuralElement2D ( MAST::SystemInitialization sys,
MAST::AssemblyBase assembly,
const MAST::GeomElem elem,
const MAST::ElementPropertyCardBase p 
)

Definition at line 38 of file structural_element_2d.cpp.

MAST::StructuralElement2D::~StructuralElement2D ( )
virtual

Definition at line 48 of file structural_element_2d.cpp.

Here is the call graph for this function:

Member Function Documentation

void MAST::StructuralElement2D::_convert_prestress_A_mat_to_vector ( const RealMatrixX mat,
RealVectorX vec 
) const
protected

converts the prestress stress tensor to a vector representation

Definition at line 1951 of file structural_element_2d.cpp.

Here is the caller graph for this function:

void MAST::StructuralElement2D::_convert_prestress_B_mat_to_vector ( const RealMatrixX mat,
RealVectorX vec 
) const
protected

converts the prestress stress tensor to a vector representation

Definition at line 1965 of file structural_element_2d.cpp.

Here is the caller graph for this function:

void MAST::StructuralElement2D::_internal_residual_operation ( bool  if_vk,
const unsigned int  n2,
const unsigned int  qp,
const MAST::FEBase fe,
const std::vector< Real > &  JxW,
bool  request_jacobian,
RealVectorX local_f,
RealMatrixX local_jac,
RealVectorX local_disp,
RealVectorX strain_mem,
MAST::BendingOperator2D bend,
FEMOperatorMatrix Bmat_lin,
FEMOperatorMatrix Bmat_nl_x,
FEMOperatorMatrix Bmat_nl_y,
FEMOperatorMatrix Bmat_nl_u,
FEMOperatorMatrix Bmat_nl_v,
MAST::FEMOperatorMatrix Bmat_bend,
MAST::FEMOperatorMatrix Bmat_vk,
RealMatrixX mat_x,
RealMatrixX mat_y,
RealMatrixX stress,
RealMatrixX vk_dwdxi_mat,
RealMatrixX material_A_mat,
RealMatrixX material_B_mat,
RealMatrixX material_D_mat,
RealVectorX vec1_n1,
RealVectorX vec2_n1,
RealVectorX vec3_n2,
RealVectorX vec4_2,
RealVectorX vec5_2,
RealVectorX vec6_n2,
RealMatrixX mat1_n1n2,
RealMatrixX mat2_n2n2,
RealMatrixX mat3,
RealMatrixX mat4_2n2,
RealMatrixX mat5_3n2 
)
protectedvirtual

performs integration at the quadrature point for the provided matrices.

The temperature vector and matrix entities are provided for integration

Definition at line 1693 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool MAST::StructuralElement2D::calculate_stress ( bool  request_derivative,
const MAST::FunctionBase p,
MAST::StressStrainOutputBase output 
)
virtual

Calculates the stress tensor.

Implements MAST::StructuralElementBase.

Definition at line 253 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

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

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

Implements MAST::StructuralElementBase.

Definition at line 642 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Implements MAST::StructuralElementBase.

Definition at line 884 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Implements MAST::StructuralElementBase.

Definition at line 124 of file structural_element_2d.h.

Here is the call graph for this function:

void MAST::StructuralElement2D::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,
MAST::FEMOperatorMatrix Bmat_lin,
MAST::FEMOperatorMatrix Bmat_nl_x,
MAST::FEMOperatorMatrix Bmat_nl_y,
MAST::FEMOperatorMatrix Bmat_nl_u,
MAST::FEMOperatorMatrix Bmat_nl_v 
)
protectedvirtual

Definition at line 143 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void MAST::StructuralElement2D::initialize_von_karman_strain_operator ( const unsigned int  qp,
const MAST::FEBase fe,
RealVectorX vk_strain,
RealMatrixX vk_dwdxi_mat,
MAST::FEMOperatorMatrix Bmat_vk 
)
protectedvirtual

initialze the von Karman strain in vK_strain, the operator matrices needed for Jacobian calculation.

vk_strain = [dw/dx 0; 0 dw/dy; dw/dy dw/dx] Bmat_vk = [dw/dx; dw/dy]

Definition at line 57 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void MAST::StructuralElement2D::initialize_von_karman_strain_operator_sensitivity ( const unsigned int  qp,
const MAST::FEBase fe,
RealMatrixX vk_dwdxi_mat_sens 
)
protectedvirtual

initialze the sensitivity of von Karman operator matrices needed for Jacobian calculation.

vk_dwdxi_mat_sens = [dw/dx 0; 0 dw/dy; dw/dy dw/dx]

Definition at line 107 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool MAST::StructuralElement2D::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 1002 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void MAST::StructuralElement2D::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 
)
virtual

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

Implements MAST::StructuralElementBase.

Definition at line 1329 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool MAST::StructuralElement2D::internal_residual_jac_dot_state_sensitivity ( RealMatrixX jac)
virtual

calculates d[J]/d{x} .

d{x}/dp

Implements MAST::StructuralElementBase.

Definition at line 1498 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

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

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

Implements MAST::StructuralElementBase.

Definition at line 1160 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

virtual bool MAST::StructuralElement2D::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 274 of file structural_element_2d.h.

Here is the call graph for this function:

Here is the caller graph for this function:

virtual bool MAST::StructuralElement2D::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 291 of file structural_element_2d.h.

Here is the call graph for this function:

Here is the caller graph for this function:

virtual unsigned int MAST::StructuralElement2D::n_direct_strain_components ( )
inlinevirtual

row dimension of the direct strain matrix, also used for the bending operator row dimension

Implements MAST::BendingStructuralElem.

Definition at line 57 of file structural_element_2d.h.

Here is the caller graph for this function:

virtual unsigned int MAST::StructuralElement2D::n_von_karman_strain_components ( )
inlinevirtual

row dimension of the von Karman strain matrix

Implements MAST::BendingStructuralElem.

Definition at line 64 of file structural_element_2d.h.

Here is the call graph for this function:

Here is the caller graph for this function:

bool MAST::StructuralElement2D::piston_theory_residual ( bool  request_jacobian,
RealVectorX f,
RealMatrixX jac_xdot,
RealMatrixX jac,
MAST::BoundaryConditionBase bc 
)
protectedvirtual

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 3244 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool MAST::StructuralElement2D::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 3208 of file structural_element_2d.cpp.

Here is the call graph for this function:

bool MAST::StructuralElement2D::piston_theory_residual_sensitivity ( const MAST::FunctionBase p,
bool  request_jacobian,
RealVectorX f,
RealMatrixX jac_xdot,
RealMatrixX jac,
MAST::BoundaryConditionBase bc 
)
protectedvirtual

Calculates the sensitivity of 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 3422 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool MAST::StructuralElement2D::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 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 3225 of file structural_element_2d.cpp.

Here is the call graph for this function:

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

Calculates the internal residual vector and Jacobian due to strain energy coming from a prestress.

Implements MAST::StructuralElementBase.

Definition at line 1980 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Calculates the internal residual vector and Jacobian due to strain energy coming from a prestress.

Implements MAST::StructuralElementBase.

Definition at line 2131 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool MAST::StructuralElement2D::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 2284 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool MAST::StructuralElement2D::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 2359 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool MAST::StructuralElement2D::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 2439 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void MAST::StructuralElement2D::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 
)
protectedvirtual

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

Implements MAST::StructuralElementBase.

Definition at line 2847 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool MAST::StructuralElement2D::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 the Jacobian due to thermal stresses.

Implements MAST::StructuralElementBase.

Definition at line 2635 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Implements MAST::StructuralElementBase.

Definition at line 3051 of file structural_element_2d.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:


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