GRINS-0.8.0
|
Parsed Boundary QoI. More...
#include <parsed_boundary_qoi.h>
Public Member Functions | |
ParsedBoundaryQoI (const std::string &qoi_name) | |
Constructor. More... | |
virtual | ~ParsedBoundaryQoI () |
virtual QoIBase * | clone () const |
Required to provide clone (deep-copy) for adding QoI object to libMesh objects. More... | |
virtual bool | assemble_on_interior () const |
Does the QoI need an element interior assembly loop? More... | |
virtual bool | assemble_on_sides () const |
Does the QoI need a domain boundary assembly loop? More... | |
virtual void | init (const GetPot &input, const MultiphysicsSystem &system, unsigned int qoi_num) |
Initialize local variables. More... | |
virtual void | init_context (AssemblyContext &context) |
virtual void | side_qoi (AssemblyContext &context, const unsigned int qoi_index) |
Compute the qoi value. More... | |
virtual void | side_qoi_derivative (AssemblyContext &context, const unsigned int qoi_index) |
Compute the qoi derivative with respect to the solution. More... | |
Public Member Functions inherited from GRINS::QoIBase | |
QoIBase (const std::string &qoi_name) | |
virtual | ~QoIBase () |
virtual void | reinit (MultiphysicsSystem &) |
Reinitialize QoI. More... | |
virtual void | element_qoi (AssemblyContext &, const unsigned int) |
Compute the qoi value for element interiors. More... | |
virtual void | element_qoi_derivative (AssemblyContext &, const unsigned int) |
Compute the qoi derivative with respect to the solution on element interiors. 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 Member Functions | |
ParsedBoundaryQoI (const ParsedBoundaryQoI &original) | |
Manual copy constructor due to the UniquePtr. More... | |
Protected Attributes | |
libMesh::UniquePtr< libMesh::FEMFunctionBase< libMesh::Number > > | qoi_functional |
std::set< libMesh::boundary_id_type > | _bc_ids |
List of boundary ids on which we want to compute this QoI. More... | |
Protected Attributes inherited from GRINS::QoIBase | |
std::string | _qoi_name |
libMesh::Number | _qoi_value |
Private Member Functions | |
ParsedBoundaryQoI () | |
User never call default constructor. More... | |
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... | |
Parsed Boundary QoI.
This class implements a QoI that is an arbitrary integral of a parsed function on the boundary of the domain.
Definition at line 44 of file parsed_boundary_qoi.h.
GRINS::ParsedBoundaryQoI::ParsedBoundaryQoI | ( | const std::string & | qoi_name | ) |
Constructor.
Constructor takes GetPot object to read any input options associated with this QoI
Definition at line 42 of file parsed_boundary_qoi.C.
|
virtual |
Definition at line 61 of file parsed_boundary_qoi.C.
|
protected |
Manual copy constructor due to the UniquePtr.
Definition at line 45 of file parsed_boundary_qoi.C.
References _bc_ids, GRINS::ParameterUser::move_parameter(), and qoi_functional.
|
private |
User never call default constructor.
Referenced by clone().
|
inlinevirtual |
Does the QoI need an element interior assembly loop?
This is pure virtual to force to user to specify.
Implements GRINS::QoIBase.
Definition at line 96 of file parsed_boundary_qoi.h.
|
inlinevirtual |
Does the QoI need a domain boundary assembly loop?
This is pure virtual to force to user to specify.
Implements GRINS::QoIBase.
Definition at line 102 of file parsed_boundary_qoi.h.
|
virtual |
Required to provide clone (deep-copy) for adding QoI object to libMesh objects.
Implements GRINS::QoIBase.
Definition at line 63 of file parsed_boundary_qoi.C.
References ParsedBoundaryQoI().
|
virtual |
Initialize local variables.
Reimplemented from GRINS::QoIBase.
Definition at line 68 of file parsed_boundary_qoi.C.
References _bc_ids, qoi_functional, and GRINS::ParameterUser::set_parameter().
|
virtual |
Reimplemented from GRINS::QoIBase.
Definition at line 97 of file parsed_boundary_qoi.C.
References qoi_functional.
|
virtual |
Compute the qoi value.
Reimplemented from GRINS::QoIBase.
Definition at line 107 of file parsed_boundary_qoi.C.
References _bc_ids.
|
virtual |
Compute the qoi derivative with respect to the solution.
Reimplemented from GRINS::QoIBase.
Definition at line 143 of file parsed_boundary_qoi.C.
References _bc_ids.
|
protected |
List of boundary ids on which we want to compute this QoI.
Definition at line 84 of file parsed_boundary_qoi.h.
Referenced by init(), ParsedBoundaryQoI(), side_qoi(), and side_qoi_derivative().
|
protected |
Definition at line 80 of file parsed_boundary_qoi.h.
Referenced by init(), init_context(), and ParsedBoundaryQoI().