1#ifndef WMNDG_MOMENT_SLOPE_LIMITER_BASE_H
2#define WMNDG_MOMENT_SLOPE_LIMITER_BASE_H
14namespace variable_adjuster
54 std::string direction,
55 const std::vector<std::vector<real>>& input,
56 std::vector<std::vector<real>>& output);
59 const WxRange& face_scope_range,
61 const std::vector<wxm::array::patch_array_t*>& input);
65 std::vector<wxm::array::patch_array_t*>& input) = 0;
104 std::vector<std::vector<real>>
_w;
Definition: wmbasisarrayset.h:13
WxCryptSet extends WxCrypt by providing, in addition to name-value pairs, an set of named WxCryptSets...
Definition: wxcryptset.h:35
WxRange represents a hyper-rectangular domain of an n-dimensional space of integers.
Definition: wxrange.h:23
The ndg_moment_slope_base class is a base to apply slope-based limiting to dataset.
Definition: ndg_moment_slope_limiter_base.h:32
virtual void averaging_kernel(const WxRange &element_scope_range, const WxRange &face_scope_range, const real time, const std::vector< wxm::array::patch_array_t * > &input)
void primitive_kernel(const WxRange &element_scope_range, real time, std::string direction, const std::vector< std::vector< real > > &input, std::vector< std::vector< real > > &output)
wxm::dfem::tools::scope_t _averaging_scope
Definition: ndg_moment_slope_limiter_base.h:91
virtual void limiting_kernel(const WxRange &element_scope_range, real time, std::vector< wxm::array::patch_array_t * > &input)=0
WmBasisArraySet _basis_set
Definition: ndg_moment_slope_limiter_base.h:98
std::unique_ptr< WmUDGGeometry > _dg_geometry
Definition: ndg_moment_slope_limiter_base.h:101
wxm::dfem::tools::scope_t _averaging_face_scope
Definition: ndg_moment_slope_limiter_base.h:92
std::vector< real > _global_minimums
Definition: ndg_moment_slope_limiter_base.h:78
std::vector< std::vector< real > > _in_vec
Definition: ndg_moment_slope_limiter_base.h:105
std::vector< real > _global_centers
Definition: ndg_moment_slope_limiter_base.h:74
std::vector< real > _global_w_maximums
Definition: ndg_moment_slope_limiter_base.h:84
ndg_moment_slope_limiter_base()=default
std::vector< std::vector< real > > _out_vec
Definition: ndg_moment_slope_limiter_base.h:106
virtual void setup(const WxCryptSet &wxc) override
Setup the spatial solver using the cryptset.
std::vector< real > _global_averages
Definition: ndg_moment_slope_limiter_base.h:72
void solve(real time, variables_type &input) override
Solves the spatial system and puts result in _rhs.
std::vector< real > _global_w_minimums
Definition: ndg_moment_slope_limiter_base.h:86
std::vector< std::vector< real > > _w
Definition: ndg_moment_slope_limiter_base.h:104
wxm::dfem::tools::scope_t _limiting_scope
Definition: ndg_moment_slope_limiter_base.h:90
std::string _basisSetName
Definition: ndg_moment_slope_limiter_base.h:95
std::vector< real > _global_w_averages
Definition: ndg_moment_slope_limiter_base.h:81
std::vector< real > _global_w_centers
Definition: ndg_moment_slope_limiter_base.h:83
std::vector< real > _global_maximums
Definition: ndg_moment_slope_limiter_base.h:76
The WmVariableAdjuster class is a base class for variable adjusters.
Definition: variable_adjuster.h:31
wxm::temporal_solver::variables_type variables_type
Definition: variable_adjuster.h:41
Base namespace for everything not included in the global namespace.
Definition: field_source.h:8
#define real
Definition: wmoclunstructuredreconstruction.h:11