1#ifndef WMSPATIALSOLVER_H
2#define WMSPATIALSOLVER_H
44 std::vector<std::unique_ptr<WmApplication>>
_apps;
64 virtual const std::shared_ptr<TimestepConstraint>
71 std::vector<wxm::array::patch_array_t*>
The WmPatchProcess class is a base class for processes that are broken up onto separate sections of t...
Definition: wmpatchprocess.h:26
WxCryptSet extends WxCrypt by providing, in addition to name-value pairs, an set of named WxCryptSets...
Definition: wxcryptset.h:35
Provides an abstract interface for message based communication between different processes.
Definition: wxmsgbase.h:22
WxRange represents a hyper-rectangular domain of an n-dimensional space of integers.
Definition: wxrange.h:23
The WmSpatialSolver class is a base class for spatial sovers.
Definition: spatial_solver.h:32
std::vector< std::unique_ptr< WmApplication > > _apps
Definition: spatial_solver.h:44
wxm::temporal_solver::variables_type variables_type
Definition: spatial_solver.h:46
void setup(const WxCryptSet &wxc) override
Setup the spatial solver using the cryptset.
bool test_dt
True if this special solver should compute a stability-based recommended time step.
Definition: spatial_solver.h:42
virtual const WxRange & element_periphery_range() const =0
Get a range of elements associated with the periphery.
virtual const WxRange & element_full_range() const =0
Get a range of elements associated with the entire patch (periphery+interior)
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?
std::vector< size_t > rhs_idcs_
Definition: spatial_solver.h:34
virtual const WxRange & element_interior_range() const =0
Get a range of elements associated with the interior.
std::vector< size_t > all_idcs_
Definition: spatial_solver.h:35
virtual void zero_fluxes()=0
virtual void Barrier(const WxMsgBase &msg, const real time, variables_type &output)
Definition: spatial_solver.h:67
~spatial_solver_t() override=default
std::vector< wxm::array::patch_array_t * > get_patch_arrays(const variables_type &in) const
const std::vector< size_t > & get_output_indices() const
Definition: spatial_solver.h:94
void process() override
Definition: spatial_solver.h:115
spatial_solver_t()=default
virtual size_t get_num_dof() const =0
Gets the number of degrees of freedom per element per component.
virtual const std::shared_ptr< TimestepConstraint > solve(const real time, const variables_type &input, variables_type &output)=0
Solves the spatial system.
std::vector< std::pair< wxm::variable::distributed_variable_t *, size_t > > variables_type
Definition: wmtemporalsolver.h:47
Base namespace for everything not included in the global namespace.
Definition: field_source.h:8
#define real
Definition: wmoclunstructuredreconstruction.h:11