WARPXM v1.10.0
|
The BoundaryFluxIntegral class calculates the line integral of the numerical flux along a boundary and saves it to a unique_distributed_variable. More...
#include <boundary_flux_integral.h>
The BoundaryFluxIntegral class calculates the line integral of the numerical flux along a boundary and saves it to a unique_distributed_variable.
If _is_cylindrical = False: Calculates \( \int F \cdot \hat{n} dL \) along boundary line. Units for linear mass density flux are [mass * width^-1 * time^-1].
If _is_cylindrical = True: Calculates \( 2 \pi \int r F \cdot \hat{n} dr \) along boundary surface, assuming azimuthal symmetry. Units for mass flux are [mass * time^-1].
@TODO Generalize to 3D.
Warpy constructor: warpy::variable_adjusters::unique_variable_adjuster::boundary_flux_integral
Public Member Functions | |
BoundaryFluxIntegral ()=default | |
virtual void | setup (const WxCryptSet &wxc) override |
Setup the spatial solver using the cryptset. | |
void | solve (real time, variables_type &input) override |
Solves the spatial system and puts result in _rhs. | |
void | Barrier (const WxMsgBase &msg, const real time, variables_type &input) override |
An opportunity for the variable adjuster to perform any MPI operations it needs to after solve is called. | |
Public Member Functions inherited from wxm::dfem::variable_adjuster::variable_adjuster_t | |
variable_adjuster_t () | |
Constructor. | |
void | setup (const WxCryptSet &wxc) override |
Setup the spatial solver using the cryptset. | |
virtual void | solve (real time, variables_type &input)=0 |
applies the variable adjuster to input | |
std::vector< wxm::array::patch_array_t * > | get_patch_arrays (const variables_type &in) |
void | process () override |
virtual const std::vector< size_t > & | get_input_indices () const |
int | priority () const |
Getter function for priority. | |
virtual void | Barrier (const WxMsgBase &msg, const real time, variables_type &input) |
An opportunity for the variable adjuster to perform any MPI operations it needs to after solve is called. | |
Public Member Functions inherited from WmPatchProcess | |
WmPatchProcess () | |
virtual | ~WmPatchProcess ()=default |
void | step () |
virtual void | process ()=0 |
void | setPatch (const WmUnstructuredPatch *patch) |
void | setParentTaskProcessor (WmPatchProcessor *taskProcessor) |
virtual std::string | name (std::string prefix="patchedProcessor.") const |
virtual void | setup (const WxCryptSet &wxc) |
void | setParentSolver (const WmSolverBase *solver) |
void | setDt (WxStepper::time_t dt) |
void | setTime (WxStepper::time_t time) |
WxStepper::time_t | getSuggestedDt () const |
const WmUnstructuredPatch & | get_patch () const |
const WmSolver & | get_solver () const |
Protected Attributes | |
std::vector< std::string > | _boundary_names |
std::unique_ptr< WmBasisArraySet > | _basis_set |
std::unique_ptr< WmBasisArraySet > | _surface_basis_set |
std::unique_ptr< WmUDGGeometry > | _dg_geometry |
std::string | _basis_set_name |
Spatial basis set name. | |
std::vector< size_t > | _out_idcs |
Indices used in apps definitions. | |
std::vector< size_t > | _unique_var_indcs |
Indices for unique variable that holds integrated value. | |
bool | _is_cylindrical |
Whether geometry is in 2D cylindrical coordinates. | |
int | _ir |
Radial coordinate. | |
real | _penalty_beta |
Beta penalty for LDG. | |
real | _penalty_eta |
Eta penalty for LDG. | |
Protected Attributes inherited from wxm::dfem::variable_adjuster::variable_adjuster_t | |
std::vector< size_t > | _var_idcs |
std::vector< std::unique_ptr< WmApplication > > | _apps |
bool | _grab_all = false |
int | _priority |
Protected Attributes inherited from WmPatchProcess | |
std::string | _ppName |
WmPatchProcessor * | _parentTaskProcessor |
const WmUnstructuredPatch * | _patch |
std::vector< std::string > | _onSubdomains |
WxStepper::time_t | _time |
WxStepper::time_t | _dt |
WxStepper::time_t | _suggested_dt |
WxLogStream | _debStrm = WxLogger::get("warpx-root.console")->getDebugStream() |
const WmSolverBase * | _parentSolver = nullptr |
Additional Inherited Members | |
Public Types inherited from wxm::dfem::variable_adjuster::variable_adjuster_t | |
typedef wxm::temporal_solver::variables_type | variables_type |