GRINS-0.8.0
|
QoI class for absorption calculations using the Beer-Lambert Law. More...
#include <spectroscopic_absorption.h>
Public Member Functions | |
SpectroscopicAbsorption (const GetPot &input, const std::string &qoi_name, SharedPtr< FEMFunctionAndDerivativeBase< libMesh::Real > > absorb) | |
virtual QoIBase * | clone () const |
Required to provide clone (deep-copy) for adding QoI object to libMesh objects. More... | |
virtual void | parallel_op (const libMesh::Parallel::Communicator &communicator, libMesh::Number &sys_qoi, libMesh::Number &local_qoi) |
Override the QoIBase implementation to perform exp(-kv*L) More... | |
Public Member Functions inherited from GRINS::IntegratedFunction< FEMFunctionAndDerivativeBase< libMesh::Real > > | |
IntegratedFunction (unsigned int p_level, SharedPtr< FEMFunctionAndDerivativeBase< libMesh::Real > > f, RayfireMesh *rayfire, const std::string &qoi_name) | |
Constructor. More... | |
IntegratedFunction (const GetPot &input, unsigned int p_level, SharedPtr< FEMFunctionAndDerivativeBase< libMesh::Real > > f, const std::string &input_qoi_string, const std::string &qoi_name) | |
Constructor. More... | |
IntegratedFunction (const IntegratedFunction &original) | |
Copy Constructor. 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 | element_qoi (AssemblyContext &context, const unsigned int qoi_index) |
Compute the qoi value. More... | |
virtual void | element_qoi_derivative (AssemblyContext &context, const unsigned int qoi_index) |
Compute the qoi derivative with respect to the solution. More... | |
virtual void | init (const GetPot &input, const MultiphysicsSystem &system, unsigned int qoi_num) |
Initializes the rayfire with the mesh from system. More... | |
virtual void | reinit (MultiphysicsSystem &system) |
Reinitialize the rayfire. More... | |
const RayfireMesh & | get_rayfire () |
Public Member Functions inherited from GRINS::QoIBase | |
QoIBase (const std::string &qoi_name) | |
virtual | ~QoIBase () |
virtual void | init_context (AssemblyContext &) |
virtual void | side_qoi (AssemblyContext &, const unsigned int) |
Compute the qoi value on the domain boundary. More... | |
virtual void | side_qoi_derivative (AssemblyContext &, const unsigned int) |
Compute the qoi derivative with respect to the solution on the domain boundary. 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... | |
Private Member Functions | |
SpectroscopicAbsorption () | |
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... | |
Protected Attributes inherited from GRINS::QoIBase | |
std::string | _qoi_name |
libMesh::Number | _qoi_value |
QoI class for absorption calculations using the Beer-Lambert Law.
Relies upon the IntegratedFunction class for hooking into QoI infrastructure, and AbsorptionCoeff class for evaluating the spectral absorption coefficient,
where is the spectral absorption
Expects all parameters given in standard SI units [m], [K], [Pa]
Definition at line 48 of file spectroscopic_absorption.h.
GRINS::SpectroscopicAbsorption::SpectroscopicAbsorption | ( | const GetPot & | input, |
const std::string & | qoi_name, | ||
SharedPtr< FEMFunctionAndDerivativeBase< libMesh::Real > > | absorb | ||
) |
absorb | AbsorptionCoeff object |
Definition at line 45 of file spectroscopic_absorption.C.
|
private |
Referenced by clone().
|
virtual |
Required to provide clone (deep-copy) for adding QoI object to libMesh objects.
Reimplemented from GRINS::IntegratedFunction< FEMFunctionAndDerivativeBase< libMesh::Real > >.
Definition at line 49 of file spectroscopic_absorption.C.
References SpectroscopicAbsorption().
|
virtual |
Override the QoIBase implementation to perform exp(-kv*L)
Reimplemented from GRINS::QoIBase.
Definition at line 54 of file spectroscopic_absorption.C.
References GRINS::QoIBase::_qoi_value, and GRINS::QoIBase::parallel_op().