38 _dcompliance_dp (0.) {
81 vec = RealVectorX::Zero(e.
sol().size());
84 dummy = RealMatrixX::Zero(vec.size(), vec.size());
116 vec = RealVectorX::Zero(e.
sol().size());
119 dummy = RealMatrixX::Zero(vec.size(), vec.size());
170 elem.if_elem_has_level_set_boundary() &&
171 elem.if_subelem_has_side_on_level_set_boundary()) {
177 vec = RealVectorX::Zero(e.
sol().size());
180 dummy = RealMatrixX::Zero(vec.size(), vec.size());
183 elem.get_subelem_side_on_level_set_boundary(),
233 dummy = RealMatrixX::Zero(dq_dX.size(), dq_dX.size());
255 const libMesh::Elem& ref_elem,
virtual void zero_for_sensitivity()
zeroes the output quantity values stored inside this object so that assembly process can begin...
const MAST::VolumeBCMapType & volume_loads() const
MAST::NonlinearSystem & system()
const RealVectorX & sol(bool if_sens=false) const
bool volume_external_residual(bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac, std::multimap< libMesh::subdomain_id_type, MAST::BoundaryConditionBase * > &bc)
volume external force contribution to system residual.
virtual void init(const MAST::GeomElem &elem)
initialize for the element.
virtual bool if_evaluate_for_element(const MAST::GeomElem &elem) const
checks to see if the object has been told about the subset of elements and if the specified element i...
std::unique_ptr< MAST::StructuralElementBase > build_structural_element(MAST::SystemInitialization &sys, MAST::AssemblyBase &assembly, const MAST::GeomElem &elem, const MAST::ElementPropertyCardBase &p)
builds the structural element for the specified element type
virtual void zero_for_analysis()
zeroes the output quantity values stored inside this object so that assembly process can begin...
RealVectorX & y_vector()
returns value of the property val.
virtual Real output_total()
const MAST::GeomElem & elem() const
This provides the base class for definitin of element level contribution of output quantity in an ana...
void set_local_y_vector(const RealVectorX &y_vec)
for 1D elements the transformed coordinate system attached to the element defines the local x-axis al...
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.
MAST::PhysicsDisciplineBase * _discipline
virtual ~ComplianceOutput()
virtual Real output_sensitivity_total(const MAST::FunctionBase &p)
MAST::ElementBase * _physics_elem
virtual void set_elem_data(unsigned int dim, const libMesh::Elem &ref_elem, MAST::GeomElem &elem) const
sets the structural element y-vector if 1D element is used.
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
virtual void evaluate_topology_sensitivity(const MAST::FunctionBase &f, const MAST::FieldFunction< RealVectorX > &vel)
This evaluates the contribution to the topology sensitivity on the boundary.
virtual void evaluate_sensitivity(const MAST::FunctionBase &f)
this evaluates all relevant stress sensitivity components on the element to evaluate the p-averaged q...
Matrix< Real, Dynamic, Dynamic > RealMatrixX
ComplianceOutput()
default constructor
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.
This class inherits from MAST::GeomElem and provides an interface to initialize FE objects on sub-ele...
Matrix< Real, Dynamic, 1 > RealVectorX
const MAST::ElementPropertyCardBase & get_property_card(const libMesh::Elem &elem) const
get property card for the specified element
This class acts as a wrapper around libMesh::Elem for the purpose of providing a uniform interface fo...
MAST::AssemblyBase * _assembly
virtual void evaluate()
this evaluates all relevant stress components on the element to evaluate the p-averaged quantity...
virtual void output_derivative_for_elem(RealVectorX &dq_dX)
calculates the derivative of p-norm von Mises stress for the norm identified using set_p_val()...
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
const MAST::SideBCMapType & side_loads() const
virtual bool is_topology_parameter() const
MAST::SystemInitialization * _system