|
GRINS-0.7.0
|
#include <qoi_base.h>


Public Member Functions | |
| QoIBase (const std::string &qoi_name) | |
| virtual | ~QoIBase () |
| virtual QoIBase * | clone () const =0 |
| Clone this QoI. More... | |
| virtual bool | assemble_on_interior () const =0 |
| Does the QoI need an element interior assembly loop? More... | |
| virtual bool | assemble_on_sides () const =0 |
| Does the QoI need a domain boundary assembly loop? More... | |
| virtual void | init (const GetPot &input, const MultiphysicsSystem &system, unsigned int qoi_num) |
| Method to allow QoI to cache any system information needed for QoI calculation, for example, solution variable indices. More... | |
| virtual void | init_context (AssemblyContext &context) |
| virtual void | element_qoi (AssemblyContext &context, const unsigned int qoi_index) |
| Compute the qoi value for element interiors. More... | |
| virtual void | element_qoi_derivative (AssemblyContext &context, const unsigned int qoi_index) |
| Compute the qoi derivative with respect to the solution on element interiors. More... | |
| virtual void | side_qoi (AssemblyContext &context, const unsigned int qoi_index) |
| Compute the qoi value on the domain boundary. More... | |
| virtual void | side_qoi_derivative (AssemblyContext &context, const unsigned int qoi_index) |
| Compute the qoi derivative with respect to the solution on the domain boundary. More... | |
| virtual void | parallel_op (const libMesh::Parallel::Communicator &communicator, libMesh::Number &sys_qoi, libMesh::Number &local_qoi) |
| Call the parallel operation for this QoI and cache the value. More... | |
| virtual void | thread_join (libMesh::Number &qoi, const libMesh::Number &other_qoi) |
| Call the operation to accumulate this QoI from multiple threads. More... | |
| virtual void | output_qoi (std::ostream &out) const |
| Basic output for computed QoI's. More... | |
| libMesh::Number | value () const |
| Returns the current QoI value. More... | |
| const std::string & | name () const |
| Returns the name of this QoI. More... | |
Public Member Functions inherited from GRINS::ParameterUser | |
| ParameterUser (const std::string &user_name) | |
| virtual | ~ParameterUser () |
| virtual void | set_parameter (libMesh::Number ¶m_variable, const GetPot &input, const std::string ¶m_name, libMesh::Number param_default) |
| Each subclass can simultaneously read a parameter value from. More... | |
| virtual void | set_parameter (libMesh::ParsedFunction< libMesh::Number, libMesh::Gradient > &func, const GetPot &input, const std::string &func_param_name, const std::string ¶m_default) |
| Each subclass can simultaneously read a parsed function from. More... | |
| virtual void | set_parameter (libMesh::ParsedFEMFunction< libMesh::Number > &func, const GetPot &input, const std::string &func_param_name, const std::string ¶m_default) |
| Each subclass can simultaneously read a parsed function from. More... | |
| virtual void | move_parameter (const libMesh::Number &old_parameter, libMesh::Number &new_parameter) |
| When cloning an object, we need to update parameter pointers. More... | |
| virtual void | move_parameter (const libMesh::ParsedFunction< libMesh::Number, libMesh::Gradient > &old_func, libMesh::ParsedFunction< libMesh::Number, libMesh::Gradient > &new_func) |
| When cloning an object, we need to update parameter pointers. More... | |
| virtual void | move_parameter (const libMesh::ParsedFEMFunction< libMesh::Number > &old_func, libMesh::ParsedFEMFunction< libMesh::Number > &new_func) |
| When cloning an object, we need to update parameter pointers. More... | |
| virtual void | register_parameter (const std::string ¶m_name, libMesh::ParameterMultiAccessor< libMesh::Number > ¶m_pointer) const |
| Each subclass will register its copy of an independent. More... | |
Protected Attributes | |
| std::string | _qoi_name |
| libMesh::Number | _qoi_value |
Additional Inherited Members | |
Static Public Attributes inherited from GRINS::ParameterUser | |
| static std::string | zero_vector_function = std::string("{0}") |
| A parseable function string with LIBMESH_DIM components, all 0. More... | |
Definition at line 48 of file qoi_base.h.
| GRINS::QoIBase::QoIBase | ( | const std::string & | qoi_name | ) |
Definition at line 39 of file qoi_base.C.
|
virtual |
Definition at line 47 of file qoi_base.C.
|
pure virtual |
Does the QoI need an element interior assembly loop?
This is pure virtual to force to user to specify.
Implemented in GRINS::ParsedBoundaryQoI, GRINS::ParsedInteriorQoI, GRINS::Vorticity, GRINS::WeightedFluxQoI, and GRINS::AverageNusseltNumber.
Referenced by GRINS::CompositeQoI::add_qoi().
|
pure virtual |
Does the QoI need a domain boundary assembly loop?
This is pure virtual to force to user to specify.
Implemented in GRINS::ParsedBoundaryQoI, GRINS::ParsedInteriorQoI, GRINS::Vorticity, GRINS::WeightedFluxQoI, and GRINS::AverageNusseltNumber.
Referenced by GRINS::CompositeQoI::add_qoi().
|
pure virtual |
Clone this QoI.
We return a raw pointer, but it is expected for the user to take ownership and delete the object when done.
Implemented in GRINS::ParsedBoundaryQoI, GRINS::ParsedInteriorQoI, GRINS::Vorticity, GRINS::WeightedFluxQoI, and GRINS::AverageNusseltNumber.
Referenced by GRINS::CompositeQoI::add_qoi().
|
virtual |
Compute the qoi value for element interiors.
Override this method if your QoI is defined on element interiors
Reimplemented in GRINS::Vorticity, and GRINS::ParsedInteriorQoI.
Definition at line 64 of file qoi_base.C.
|
virtual |
Compute the qoi derivative with respect to the solution on element interiors.
Override this method if your QoI is defined on element interiors
Reimplemented in GRINS::Vorticity, and GRINS::ParsedInteriorQoI.
Definition at line 70 of file qoi_base.C.
|
virtual |
Method to allow QoI to cache any system information needed for QoI calculation, for example, solution variable indices.
Reimplemented in GRINS::Vorticity, GRINS::ParsedBoundaryQoI, GRINS::ParsedInteriorQoI, GRINS::WeightedFluxQoI, and GRINS::AverageNusseltNumber.
Definition at line 53 of file qoi_base.C.
|
virtual |
Reimplemented in GRINS::Vorticity, GRINS::ParsedBoundaryQoI, GRINS::ParsedInteriorQoI, and GRINS::AverageNusseltNumber.
Definition at line 59 of file qoi_base.C.
|
inline |
Returns the name of this QoI.
Definition at line 139 of file qoi_base.h.
References _qoi_name.
Referenced by GRINS::SteadyVisualization::output_adjoint(), and GRINS::UnsteadyVisualization::output_adjoint().
|
virtual |
Basic output for computed QoI's.
If fancier output is desired, override this method.
Definition at line 108 of file qoi_base.C.
References _qoi_name, and _qoi_value.
|
virtual |
Call the parallel operation for this QoI and cache the value.
By default, this is just a sum. Override if QoI is more complex.
Definition at line 88 of file qoi_base.C.
References _qoi_value.
|
virtual |
Compute the qoi value on the domain boundary.
Override this method if your QoI is defined on the domain boundary
Reimplemented in GRINS::ParsedBoundaryQoI, and GRINS::AverageNusseltNumber.
Definition at line 76 of file qoi_base.C.
|
virtual |
Compute the qoi derivative with respect to the solution on the domain boundary.
Override this method if your QoI is defined on the domain boundary
Reimplemented in GRINS::ParsedBoundaryQoI, and GRINS::AverageNusseltNumber.
Definition at line 82 of file qoi_base.C.
|
virtual |
Call the operation to accumulate this QoI from multiple threads.
By default, this is just a sum. Override if QoI is more complex.
Definition at line 101 of file qoi_base.C.
|
inline |
|
protected |
Definition at line 127 of file qoi_base.h.
Referenced by name(), and output_qoi().
|
protected |
Definition at line 129 of file qoi_base.h.
Referenced by output_qoi(), parallel_op(), and value().