The velocity space moment taker class takes moments in velocity space to calculate variables such as: n(x) = \int f(x,v) dv nv(x) = \int f(x,v)v dv etc.
More...
The velocity space moment taker class takes moments in velocity space to calculate variables such as: n(x) = \int f(x,v) dv nv(x) = \int f(x,v)v dv etc.
|
| VelocitySpaceMomentTaker ()=default |
| Constructor.
|
|
void | setup (const WxCryptSet &wxc) override |
| Setup the spatial solver using the cryptset.
|
|
void | solve (real time, variables_type &input) override |
| Solves the velocity space moment and puts solution back into input We are calculating a velocity space moment given by equation 62 in Frontiers paper: \iiint F(v_{x},v_{y},v_{z}) dv_{x} dv_{y} dv_{z} \approx& \sum\limits_{i=1}^{N}\sum\limits_{j=1}^{N}\sum\limits_{k=1}^{N}w_{i}w_{j}w_{k}F\left(v_{x}, v_{y}, v_{z}\right)\left|\mat{J}(\xi_{i},\xi_{j},\xi_{k})\right|.
|
|
void | solve_old (real time, variables_type &input) |
|
void | solve_new (real time, variables_type &input) |
|
std::vector< size_t > | convertToOutputIndexes (const std::vector< int > &indexes) const |
| Converts output indexes of the patch array into indexes of _out_idcs e.g.
|
|
| 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.
|
|
| 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 |
|
std::vector< size_t > wxm::dfem::variable_adjuster::moment_taker::VelocitySpaceMomentTaker::convertToOutputIndexes |
( |
const std::vector< int > & |
indexes | ) |
const |
Converts output indexes of the patch array into indexes of _out_idcs e.g.
if nV patch array indexes are 11, 12, 13 and _out_idcs = [10, 11, 12, 13, 14], this returns [1, 2, 3] since 11, 12, 13 are the 1, 2, 3 indexes of _out_idcs
- Parameters
-
indexes | the patch array indexes |
- Returns
- converted_indexes
void wxm::dfem::variable_adjuster::moment_taker::VelocitySpaceMomentTaker::solve |
( |
real |
time, |
|
|
variables_type & |
input |
|
) |
| |
|
overridevirtual |
Solves the velocity space moment and puts solution back into input We are calculating a velocity space moment given by equation 62 in Frontiers paper: \iiint F(v_{x},v_{y},v_{z}) dv_{x} dv_{y} dv_{z} \approx& \sum\limits_{i=1}^{N}\sum\limits_{j=1}^{N}\sum\limits_{k=1}^{N}w_{i}w_{j}w_{k}F\left(v_{x}, v_{y}, v_{z}\right)\left|\mat{J}(\xi_{i},\xi_{j},\xi_{k})\right|.
- Parameters
-
time | |
input | q variables, some of which are also written into |
Implements wxm::dfem::variable_adjuster::variable_adjuster_t.