WARPXM v1.10.0
|
This diffusion coefficient class calculates QL diffusion coefficients based on integrals over wavenumber space of certain classes of waves the waves are classified by dispersion relations which are app-specific. More...
#include <calc_diffusion_coefficient.h>
This diffusion coefficient class calculates QL diffusion coefficients based on integrals over wavenumber space of certain classes of waves the waves are classified by dispersion relations which are app-specific.
Public Member Functions | |
CalcDiffusionCoefficient ()=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 diffusion coefficient quadrature and puts solution back into input. | |
real | calcDeterminant () |
Calculates determinant of wavenumber elements. | |
std::vector< size_t > | convertToOutputIndexes (const std::vector< int > &indexes) const |
** | |
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 |
Additional Inherited Members | |
Public Types inherited from wxm::dfem::variable_adjuster::variable_adjuster_t | |
typedef wxm::temporal_solver::variables_type | variables_type |
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 |
|
default |
Constructor.
real wxm::dfem::variable_adjuster::diffusion_coefficient::CalcDiffusionCoefficient::calcDeterminant | ( | ) |
Calculates determinant of wavenumber elements.
std::vector< size_t > wxm::dfem::variable_adjuster::diffusion_coefficient::CalcDiffusionCoefficient::convertToOutputIndexes | ( | const std::vector< int > & | indexes | ) | const |
**
|
overridevirtual |
Setup the spatial solver using the cryptset.
wxc | The cryptset |
Reimplemented from WmPatchProcess.
|
overridevirtual |
Solves the diffusion coefficient quadrature and puts solution back into input.
time | |
input | q variables, some of which are also written into |
Implements wxm::dfem::variable_adjuster::variable_adjuster_t.