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

Detailed Description

Definition at line 37 of file structural_element_1d.h.

#include <structural_element_1d.h>

Inheritance diagram for MAST::StructuralElement1D:
Collaboration diagram for MAST::StructuralElement1D:

Public Member Functions

 StructuralElement1D (MAST::SystemInitialization &sys, const MAST::GeomElem &elem, const MAST::ElementPropertyCardBase &p)
 
virtual ~StructuralElement1D ()
 
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 bool if_incompatible_modes () const
 
virtual bool internal_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac)
 Calculates the internal force 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 internal force vector and Jacobian due to strain energy. More...
 
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 prestress_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac)
 Calculates the internal force 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 force vector and Jacobian due to strain energy coming from a prestress. More...
 
virtual void thermal_residual_temperature_derivative (const MAST::FEBase &fe_thermal, RealMatrixX &m)
 
- Public Member Functions inherited from MAST::BendingStructuralElem
 BendingStructuralElem (MAST::SystemInitialization &sys, const MAST::GeomElem &elem, const MAST::ElementPropertyCardBase &p)
 
virtual ~BendingStructuralElem ()
 destructor 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 unsigned int incompatible_mode_size () const
 
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 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
 
virtual void update_incompatible_mode_solution (const RealVectorX &dsol)
 updates the incompatible solution for this element. 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 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 _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...
 
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, MAST::BendingOperator1D *bend_op, MAST::FEMOperatorMatrix &Bmat_mem, MAST::FEMOperatorMatrix &Bmat_bend_v, MAST::FEMOperatorMatrix &Bmat_bend_w, MAST::FEMOperatorMatrix &Bmat_v_vk, MAST::FEMOperatorMatrix &Bmat_w_vk, RealMatrixX &stress, RealMatrixX &stress_l, RealMatrixX &vk_dvdxi_mat, 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, RealMatrixX &mat1_n1n2, RealMatrixX &mat2_n2n2, RealMatrixX &mat3, RealMatrixX &mat4_2n2)
 performs integration at the quadrature point for the provided matrices. More...
 
virtual void initialize_direct_strain_operator (const unsigned int qp, const MAST::FEBase &fe, MAST::FEMOperatorMatrix &Bmat)
 initialize membrane strain operator matrix More...
 
virtual void initialize_von_karman_strain_operator (const unsigned int qp, const MAST::FEBase &fe, RealVectorX &vk_strain, RealMatrixX &vk_dvdxi_mat, RealMatrixX &vk_dwdxi_mat, MAST::FEMOperatorMatrix &Bmat_v_vk, MAST::FEMOperatorMatrix &Bmat_w_vk)
 initialze the von Karman strain in vK_strain, the operator matrices needed for Jacobian calculation. More...
 
void initialize_von_karman_strain_operator_sensitivity (const unsigned int qp, const MAST::FEBase &fe, RealMatrixX &vk_dvdxi_mat_sens, RealMatrixX &vk_dwdxi_mat_sens)
 initialze the sensitivity of von Karman operator matrices needed for Jacobian calculation. 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 sensitivity of 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, const unsigned int side, MAST::BoundaryConditionBase &bc)
 Calculates the force vector and Jacobian due to piston-theory sensitivity 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 force 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 force vector and the 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...
 

Additional Inherited Members

- Public Attributes inherited from MAST::StructuralElementBase
bool follower_forces
 flag for follower forces 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...
 

Constructor & Destructor Documentation

◆ StructuralElement1D()

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

Definition at line 39 of file structural_element_1d.cpp.

◆ ~StructuralElement1D()

MAST::StructuralElement1D::~StructuralElement1D ( )
virtual

Definition at line 48 of file structural_element_1d.cpp.

Member Function Documentation

◆ _convert_prestress_A_mat_to_vector()

void MAST::StructuralElement1D::_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 1285 of file structural_element_1d.cpp.

◆ _convert_prestress_B_mat_to_vector()

void MAST::StructuralElement1D::_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 1296 of file structural_element_1d.cpp.

◆ _internal_residual_operation()

void MAST::StructuralElement1D::_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,
MAST::BendingOperator1D bend_op,
MAST::FEMOperatorMatrix Bmat_mem,
MAST::FEMOperatorMatrix Bmat_bend_v,
MAST::FEMOperatorMatrix Bmat_bend_w,
MAST::FEMOperatorMatrix Bmat_v_vk,
MAST::FEMOperatorMatrix Bmat_w_vk,
RealMatrixX stress,
RealMatrixX stress_l,
RealMatrixX vk_dvdxi_mat,
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,
RealMatrixX mat1_n1n2,
RealMatrixX mat2_n2n2,
RealMatrixX mat3,
RealMatrixX mat4_2n2 
)
protectedvirtual

performs integration at the quadrature point for the provided matrices.

The temperature vector and matrix entities are provided for integration

Definition at line 1044 of file structural_element_1d.cpp.

◆ calculate_stress()

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

Calculates the stress tensor.

If derivative and sensitivity with respect to the parameter sesitivity_param are calculated and provided if the respective flags are true.

Implements MAST::StructuralElementBase.

Definition at line 163 of file structural_element_1d.cpp.

◆ calculate_stress_boundary_velocity()

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

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

Implements MAST::StructuralElementBase.

Definition at line 141 of file structural_element_1d.h.

◆ calculate_stress_temperature_derivative()

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

Implements MAST::StructuralElementBase.

Definition at line 149 of file structural_element_1d.h.

◆ if_incompatible_modes()

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

Implements MAST::StructuralElementBase.

Definition at line 123 of file structural_element_1d.h.

◆ initialize_direct_strain_operator()

void MAST::StructuralElement1D::initialize_direct_strain_operator ( const unsigned int  qp,
const MAST::FEBase fe,
MAST::FEMOperatorMatrix Bmat 
)
protectedvirtual

initialize membrane strain operator matrix

Definition at line 57 of file structural_element_1d.cpp.

◆ initialize_von_karman_strain_operator()

void MAST::StructuralElement1D::initialize_von_karman_strain_operator ( const unsigned int  qp,
const MAST::FEBase fe,
RealVectorX vk_strain,
RealMatrixX vk_dvdxi_mat,
RealMatrixX vk_dwdxi_mat,
MAST::FEMOperatorMatrix Bmat_v_vk,
MAST::FEMOperatorMatrix Bmat_w_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 82 of file structural_element_1d.cpp.

◆ initialize_von_karman_strain_operator_sensitivity()

void MAST::StructuralElement1D::initialize_von_karman_strain_operator_sensitivity ( const unsigned int  qp,
const MAST::FEBase fe,
RealMatrixX vk_dvdxi_mat_sens,
RealMatrixX vk_dwdxi_mat_sens 
)
protected

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 129 of file structural_element_1d.cpp.

◆ internal_residual()

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

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

Implements MAST::StructuralElementBase.

Definition at line 546 of file structural_element_1d.cpp.

◆ internal_residual_boundary_velocity()

virtual void MAST::StructuralElement1D::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 87 of file structural_element_1d.h.

◆ internal_residual_jac_dot_state_sensitivity()

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

calculates d[J]/d{x} .

d{x}/dp

Implements MAST::StructuralElementBase.

Definition at line 820 of file structural_element_1d.cpp.

◆ internal_residual_sensitivity()

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

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

Implements MAST::StructuralElementBase.

Definition at line 683 of file structural_element_1d.cpp.

◆ linearized_frequency_domain_surface_pressure_residual()

virtual bool MAST::StructuralElement1D::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 339 of file structural_element_1d.h.

◆ linearized_frequency_domain_surface_pressure_residual_sensitivity()

virtual bool MAST::StructuralElement1D::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 356 of file structural_element_1d.h.

◆ n_direct_strain_components()

virtual unsigned int MAST::StructuralElement1D::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 53 of file structural_element_1d.h.

◆ n_von_karman_strain_components()

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

row dimension of the von Karman strain matrix

Implements MAST::BendingStructuralElem.

Definition at line 60 of file structural_element_1d.h.

◆ piston_theory_residual() [1/2]

bool MAST::StructuralElement1D::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 2128 of file structural_element_1d.cpp.

◆ piston_theory_residual() [2/2]

virtual bool MAST::StructuralElement1D::piston_theory_residual ( bool  request_jacobian,
RealVectorX f,
RealMatrixX jac_xdot,
RealMatrixX jac,
const unsigned int  side,
MAST::BoundaryConditionBase bc 
)
inlineprotectedvirtual

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 302 of file structural_element_1d.h.

◆ piston_theory_residual_sensitivity() [1/2]

bool MAST::StructuralElement1D::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 2318 of file structural_element_1d.cpp.

◆ piston_theory_residual_sensitivity() [2/2]

virtual bool MAST::StructuralElement1D::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 
)
inlineprotectedvirtual

Calculates the force vector and Jacobian due to piston-theory sensitivity 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 320 of file structural_element_1d.h.

◆ prestress_residual()

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

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

Implements MAST::StructuralElementBase.

Definition at line 1309 of file structural_element_1d.cpp.

◆ prestress_residual_sensitivity()

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

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

Implements MAST::StructuralElementBase.

Definition at line 1464 of file structural_element_1d.cpp.

◆ surface_pressure_residual()

bool MAST::StructuralElement1D::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 1620 of file structural_element_1d.cpp.

◆ surface_pressure_residual_sensitivity()

bool MAST::StructuralElement1D::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 1698 of file structural_element_1d.cpp.

◆ surface_traction_residual()

virtual bool MAST::StructuralElement1D::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 166 of file structural_element_1d.h.

◆ surface_traction_residual_sensitivity()

virtual bool MAST::StructuralElement1D::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 178 of file structural_element_1d.h.

◆ surface_traction_residual_shifted_boundary()

virtual bool MAST::StructuralElement1D::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 191 of file structural_element_1d.h.

◆ surface_traction_residual_shifted_boundary_sensitivity()

virtual bool MAST::StructuralElement1D::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 202 of file structural_element_1d.h.

◆ thermal_residual()

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

Calculates the force vector and Jacobian due to thermal stresses.

Implements MAST::StructuralElementBase.

Definition at line 1781 of file structural_element_1d.cpp.

◆ thermal_residual_boundary_velocity()

virtual void MAST::StructuralElement1D::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 255 of file structural_element_1d.h.

◆ thermal_residual_sensitivity()

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

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

Implements MAST::StructuralElementBase.

Definition at line 1949 of file structural_element_1d.cpp.

◆ thermal_residual_temperature_derivative()

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

Implements MAST::StructuralElementBase.

Definition at line 155 of file structural_element_1d.h.


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