MAST
|
The surface integrated pressure calculation in the fluid element will provide a force vector for the integrated load. More...
#include <surface_integrated_pressure_output.h>
Public Types | |
enum | OutputMode { L2_NORM, UNIT_VEC } |
Public Member Functions | |
SurfaceIntegratedPressureOutput (MAST::SurfaceIntegratedPressureOutput::OutputMode o, const RealVectorX &n_vec=RealVectorX::Zero(3, 1)) | |
default constructor More... | |
virtual | ~SurfaceIntegratedPressureOutput () |
void | clear () |
clears the stored data More... | |
void | set_output_mode (MAST::SurfaceIntegratedPressureOutput::OutputMode o, const RealVectorX *n_vec=nullptr) |
sets the mode that will be used for calculation of the output functional from the load vector. More... | |
void | set_load (const RealVectorX &v) |
sets the value of the load More... | |
Real | value () const |
void | set_load_sensitivity (const MAST::FunctionBase &f, const RealVectorX &v) |
sets the value of the load sensitivity wrt function f . More... | |
Real | sensitivity (const MAST::FunctionBase &f) const |
void | set_load_derivative (const RealMatrixX &m) |
sets the value of the load sensitivity wrt function f . More... | |
RealVectorX | derivative () const |
Public Member Functions inherited from MAST::OutputAssemblyElemOperations | |
OutputAssemblyElemOperations () | |
virtual | ~OutputAssemblyElemOperations () |
virtual destructor More... | |
virtual void | zero_for_analysis ()=0 |
zeroes the output quantity values stored inside this object so that assembly process can begin. More... | |
virtual void | zero_for_sensitivity ()=0 |
zeroes the output quantity values stored inside this object so that assembly process can begin. More... | |
virtual Real | output_for_elem ()=0 |
virtual Real | output_total ()=0 |
virtual Real | output_sensitivity_for_elem (const MAST::FunctionBase &p)=0 |
virtual Real | output_sensitivity_total (const MAST::FunctionBase &p)=0 |
virtual void | output_derivative_for_elem (RealVectorX &dq_dX)=0 |
returns the output quantity derivative with respect to state vector in dq_dX . More... | |
virtual void | evaluate ()=0 |
this is the abstract interface to be implemented by derived classes. More... | |
virtual void | evaluate_sensitivity (const MAST::FunctionBase &f)=0 |
this evaluates all relevant sensitivity components on the element. More... | |
virtual void | evaluate_shape_sensitivity (const MAST::FunctionBase &f)=0 |
this evaluates all relevant shape sensitivity components on the element. More... | |
virtual void | evaluate_topology_sensitivity (const MAST::FunctionBase &f, const MAST::FieldFunction< RealVectorX > &vel)=0 |
this evaluates all relevant topological sensitivity components on the element. More... | |
void | set_participating_subdomains (const std::set< libMesh::subdomain_id_type > &sids) |
The output function can be a boundary integrated quantity, volume integrated quantity or a combination of these two. More... | |
void | set_participating_elements (const std::set< const libMesh::Elem * > &elems) |
sets the elements for which this object will evaluate and store the output data. More... | |
void | set_participating_elements_to_all () |
This will allow volume contribution from all elements. More... | |
void | set_participating_boundaries (const std::set< libMesh::boundary_id_type > &bids) |
The assembly will integration over boudnaries with ids specified in bids . More... | |
const std::set< const libMesh::Elem * > & | get_participating_elements () const |
const std::set< libMesh::subdomain_id_type > & | get_participating_subdomains () |
const std::set< libMesh::boundary_id_type > & | get_participating_boundaries () |
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 is in the subset. More... | |
virtual bool | if_evaluate_for_boundary (const MAST::GeomElem &elem, const unsigned int s) const |
checks to see if the specified side of the element needs evaluation of the output contribution. More... | |
Public Member Functions inherited from MAST::AssemblyElemOperations | |
AssemblyElemOperations () | |
virtual | ~AssemblyElemOperations () |
MAST::SystemInitialization & | get_system_initialization () |
MAST::PhysicsDisciplineBase & | get_discipline () |
virtual void | set_discipline_and_system (MAST::PhysicsDisciplineBase &discipline, MAST::SystemInitialization &system) |
attaches a system to this discipline More... | |
virtual void | clear_discipline_and_system () |
clears association with a system to this discipline More... | |
virtual void | set_assembly (MAST::AssemblyBase &assembly) |
sets the assembly object More... | |
virtual MAST::AssemblyBase & | get_assembly () |
virtual void | clear_assembly () |
clears the assembly object More... | |
virtual void | set_elem_data (unsigned int dim, const libMesh::Elem &ref_elem, MAST::GeomElem &elem) const =0 |
some analyses may want to set additional element data before initialization of the GeomElem. More... | |
virtual void | init (const MAST::GeomElem &elem)=0 |
initializes the object for calculation of element quantities for the specified elem . More... | |
virtual void | clear_elem () |
clears the element initialization More... | |
MAST::ElementBase & | get_physics_elem () |
virtual void | set_elem_solution (const RealVectorX &sol) |
sets the element solution More... | |
virtual void | set_elem_solution_sensitivity (const RealVectorX &sol) |
sets the element solution sensitivity More... | |
virtual void | set_elem_perturbed_solution (const RealVectorX &sol) |
sets the element perturbed solution More... | |
virtual void | set_elem_velocity (const RealVectorX &vel) |
sets the element velocity More... | |
virtual void | set_elem_velocity_sensitivity (const RealVectorX &vel) |
sets the element velocity sensitivity More... | |
virtual void | set_elem_perturbed_velocity (const RealVectorX &vel) |
sets the element perturbed velocity More... | |
virtual void | set_elem_acceleration (const RealVectorX &accel) |
sets the element acceleration More... | |
virtual void | set_elem_acceleration_sensitivity (const RealVectorX &accel) |
sets the element acceleration More... | |
virtual void | set_elem_perturbed_acceleration (const RealVectorX &accel) |
sets the element perturbed acceleration More... | |
Protected Attributes | |
MAST::SurfaceIntegratedPressureOutput::OutputMode | _mode |
output calculation mode More... | |
RealVectorX | _n_vec |
unit vector used for output, if _mode = UNIT_VEC More... | |
RealVectorX | _load |
This is the 3x1 vector of the integrated load. More... | |
std::map< const MAST::FunctionBase *, RealVectorX > | _load_sensitivity |
map of sensitivity of the stress with respect to a parameter More... | |
RealMatrixX | _dload_dX |
derivative of load wrt state vector. More... | |
Protected Attributes inherited from MAST::OutputAssemblyElemOperations | |
bool | _if_evaluate_on_all_elems |
if true, evaluates on all elements. More... | |
std::set< const libMesh::Elem * > | _elem_subset |
set of elements for which the data will be stored. More... | |
std::set< libMesh::subdomain_id_type > | _sub_domain_ids |
set of subdomain ids for which data will be processed. More... | |
std::set< libMesh::boundary_id_type > | _bids |
set of bids for which data will be processed More... | |
Protected Attributes inherited from MAST::AssemblyElemOperations | |
MAST::SystemInitialization * | _system |
MAST::PhysicsDisciplineBase * | _discipline |
MAST::AssemblyBase * | _assembly |
MAST::ElementBase * | _physics_elem |
The surface integrated pressure calculation in the fluid element will provide a force vector for the integrated load.
This data structure will provide the mechanism to either select one component of the force vector as the output quantity of interest, or the magnitude of the force vector. The user must provide the
Definition at line 46 of file surface_integrated_pressure_output.h.
Enumerator | |
---|---|
L2_NORM | |
UNIT_VEC |
Definition at line 51 of file surface_integrated_pressure_output.h.
MAST::SurfaceIntegratedPressureOutput::SurfaceIntegratedPressureOutput | ( | MAST::SurfaceIntegratedPressureOutput::OutputMode | o, |
const RealVectorX & | n_vec = RealVectorX::Zero(3,1) |
||
) |
default constructor
Definition at line 27 of file surface_integrated_pressure_output.cpp.
|
virtual |
Definition at line 41 of file surface_integrated_pressure_output.cpp.
void MAST::SurfaceIntegratedPressureOutput::clear | ( | ) |
clears the stored data
Definition at line 47 of file surface_integrated_pressure_output.cpp.
RealVectorX MAST::SurfaceIntegratedPressureOutput::derivative | ( | ) | const |
Definition at line 131 of file surface_integrated_pressure_output.cpp.
Real MAST::SurfaceIntegratedPressureOutput::sensitivity | ( | const MAST::FunctionBase & | f | ) | const |
Definition at line 101 of file surface_integrated_pressure_output.cpp.
|
inline |
sets the value of the load
Definition at line 84 of file surface_integrated_pressure_output.h.
|
inline |
sets the value of the load sensitivity wrt function f
.
Definition at line 120 of file surface_integrated_pressure_output.h.
|
inline |
sets the value of the load sensitivity wrt function f
.
Definition at line 100 of file surface_integrated_pressure_output.h.
void MAST::SurfaceIntegratedPressureOutput::set_output_mode | ( | MAST::SurfaceIntegratedPressureOutput::OutputMode | o, |
const RealVectorX * | n_vec = nullptr |
||
) |
sets the mode that will be used for calculation of the output functional from the load vector.
If o
is type UNIT_VEC
, then the user must provide the second argument n_vec
as a 3x1 vector. The vector will be scaled to unit length.
Definition at line 58 of file surface_integrated_pressure_output.cpp.
Real MAST::SurfaceIntegratedPressureOutput::value | ( | ) | const |
Definition at line 76 of file surface_integrated_pressure_output.cpp.
|
protected |
derivative of load wrt state vector.
The matrix has dimension Nx3 for an element.
Definition at line 163 of file surface_integrated_pressure_output.h.
|
protected |
This is the 3x1 vector of the integrated load.
Definition at line 151 of file surface_integrated_pressure_output.h.
|
protected |
map of sensitivity of the stress with respect to a parameter
Definition at line 156 of file surface_integrated_pressure_output.h.
|
protected |
output calculation mode
Definition at line 139 of file surface_integrated_pressure_output.h.
|
protected |
unit vector used for output, if _mode
= UNIT_VEC
Definition at line 145 of file surface_integrated_pressure_output.h.