WARPXM v1.10.0
|
The ndg_tu_alibdi class applies limiters to a dataset This is my attempt at implementation of DG limiter presented by Tu and Alibadi for Warpxm It is the "2D Limiter" presented in "Nodal Discontinuous Galerki Methods" by by Hesthaven and Warbarton. More...
#include <ndg_tu_alibadi.h>
The ndg_tu_alibdi class applies limiters to a dataset This is my attempt at implementation of DG limiter presented by Tu and Alibadi for Warpxm It is the "2D Limiter" presented in "Nodal Discontinuous Galerki Methods" by by Hesthaven and Warbarton.
The DG formulation in that book is rather different from WARPXM so we'll see how this goes... The paper is: A SLOPE LIMITING PROCEDURE IN DISCONTINUOUS GALERKIN FINITE ELEMENT METHODS FOR GAS DYNAMICS APPLICATIONS. SHUANGZHANG TU AND SHAHROUZ ALIBADI INTERNATIONAL JOURNAL OF NUMERICAL ANALYSIS AND MODELING, Volume 2, Number 2, Pages 163
This isn't even implemented yet. I skipped this instead for Scott Moe's limiter
Public Member Functions | |
ndg_tu_alibadi ()=default | |
virtual void | setup (const WxCryptSet &wxc) override |
Setup the spatial solver using the cryptset. | |
Public Member Functions inherited from wxm::dfem::variable_adjuster::limiter::ndg_moment_slope_limiter_base | |
ndg_moment_slope_limiter_base ()=default | |
virtual void | setup (const WxCryptSet &wxc) override |
Setup the spatial solver using the cryptset. | |
void | solve (real time, variables_type &input) override |
Solves the spatial system and puts result in _rhs. | |
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 |
Protected Member Functions | |
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) override |
virtual void | limiting_kernel (const WxRange &element_scope_range, real time, std::vector< wxm::array::patch_array_t * > &input) override |
void | face_average (const WxRange &face_scope_range, const real time, const std::vector< wxm::array::patch_array_t * > &input) |
void | face_gradient (const WxRange &face_scope_range, const std::vector< wxm::array::patch_array_t * > &input) |
void | unlimited_centroid_gradient (const WxRange &element_scope_range) |
void | limited_centroid_gradient (const WxRange &element_scope_range) |
void | reconstruct_primitives (const WxRange &element_scope_range) |
virtual void | allocate () override |
virtual void | zero () override |
Protected Member Functions inherited from wxm::dfem::variable_adjuster::limiter::ndg_moment_slope_limiter_base | |
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) |
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) |
virtual void | limiting_kernel (const WxRange &element_scope_range, real time, std::vector< wxm::array::patch_array_t * > &input)=0 |
virtual void | allocate () |
virtual void | zero () |
Additional Inherited Members | |
Public Types inherited from wxm::dfem::variable_adjuster::variable_adjuster_t | |
typedef wxm::temporal_solver::variables_type | variables_type |
|
default |
|
overrideprotectedvirtual |
Reimplemented from wxm::dfem::variable_adjuster::limiter::ndg_moment_slope_limiter_base.
|
overrideprotectedvirtual |
Reimplemented from wxm::dfem::variable_adjuster::limiter::ndg_moment_slope_limiter_base.
|
protected |
|
protected |
|
protected |
|
overrideprotectedvirtual |
|
protected |
|
overridevirtual |
Setup the spatial solver using the cryptset.
wxc | The cryptset |
Reimplemented from wxm::dfem::variable_adjuster::limiter::ndg_moment_slope_limiter_base.
|
protected |
|
overrideprotectedvirtual |
Reimplemented from wxm::dfem::variable_adjuster::limiter::ndg_moment_slope_limiter_base.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |