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 RealVectorX & local_solution (bool if_sens=false) const
 
const MAST::ElementPropertyCardBase & elem_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::SystemInitialization & system_initialization ()
 
MAST::AssemblyBase & assembly ()
 
MAST::NonlinearSystem & system ()
 
const MAST::GeomElem & elem () const
 
const RealVectorX & sol (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: