WARPXM v1.10.0
|
The UniqueVariableSolver class is used for solving the RHS for a unique variable for some time integrator advance. More...
#include <unique_variable_solver.h>
The UniqueVariableSolver class is used for solving the RHS for a unique variable for some time integrator advance.
Public Member Functions | |
UniqueVariableSolver () | |
Constructor. | |
void | setup (const WxCryptSet &wxc) override |
setup sets up the DG solver | |
const std::shared_ptr< TimestepConstraint > | solve (const real time, const variables_type &input, variables_type &output) override |
Computes the RHS. | |
const WxRange & | element_interior_range () const override |
Get a range of elements associated with the interior. | |
const WxRange & | element_periphery_range () const override |
Get a range of elements associated with the interior. | |
const WxRange & | element_full_range () const override |
Get a range of elements associated with the entire patch (periphery+interior) | |
void | zero_fluxes () override |
size_t | get_num_dof () const override |
Gets the number of degrees of freedom per element per component. | |
Public Member Functions inherited from wxm::dfem::solver::spatial_solver_t | |
spatial_solver_t ()=default | |
~spatial_solver_t () override=default | |
void | setup (const WxCryptSet &wxc) override |
Setup the spatial solver using the cryptset. | |
virtual const std::shared_ptr< TimestepConstraint > | solve (const real time, const variables_type &input, variables_type &output)=0 |
Solves the spatial system. | |
virtual void | Barrier (const WxMsgBase &msg, const real time, variables_type &output) |
std::vector< wxm::array::patch_array_t * > | get_patch_arrays (const variables_type &in) const |
virtual const WxRange & | element_periphery_range () const =0 |
Get a range of elements associated with the periphery. | |
virtual const WxRange & | element_interior_range () const =0 |
Get a range of elements associated with the interior. | |
virtual const WxRange & | element_full_range () const =0 |
Get a range of elements associated with the entire patch (periphery+interior) | |
virtual void | zero_fluxes ()=0 |
const std::vector< size_t > & | get_output_indices () const |
std::vector< size_t > | convert_to_rhs_indexes (const std::vector< int > &indexes) const |
Converts a vector of indexes to RHS indexes TODO: probably can remove at some point in the future? | |
virtual size_t | get_num_dof () const =0 |
Gets the number of degrees of freedom per element per component. | |
void | process () override |
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::unique_ptr< WxRange > | _dummy_range |
Protected Attributes inherited from wxm::dfem::solver::spatial_solver_t | |
std::vector< size_t > | rhs_idcs_ |
std::vector< size_t > | all_idcs_ |
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::solver::spatial_solver_t | |
typedef wxm::temporal_solver::variables_type | variables_type |
Public Attributes inherited from wxm::dfem::solver::spatial_solver_t | |
bool | test_dt = true |
True if this special solver should compute a stability-based recommended time step. | |
std::vector< std::unique_ptr< WmApplication > > | _apps |
wxm::dfem::solver::dg::UniqueVariableSolver::UniqueVariableSolver | ( | ) |
Constructor.
|
inlineoverridevirtual |
Get a range of elements associated with the entire patch (periphery+interior)
Implements wxm::dfem::solver::spatial_solver_t.
|
inlineoverridevirtual |
Get a range of elements associated with the interior.
Implements wxm::dfem::solver::spatial_solver_t.
|
inlineoverridevirtual |
Get a range of elements associated with the interior.
Implements wxm::dfem::solver::spatial_solver_t.
|
inlineoverridevirtual |
Gets the number of degrees of freedom per element per component.
Implements wxm::dfem::solver::spatial_solver_t.
|
overridevirtual |
|
overridevirtual |
Computes the RHS.
Implements wxm::dfem::solver::spatial_solver_t.
|
overridevirtual |
Implements wxm::dfem::solver::spatial_solver_t.
|
protected |