WARPXM v1.10.0
Loading...
Searching...
No Matches
boundary_flux_integral.h
Go to the documentation of this file.
1#pragma once
2
3// wxm includes
5
6namespace wxm
7{
8namespace dfem
9{
10namespace variable_adjuster
11{
12namespace unique_variable_adjuster
13{
44{
45public:
47
52 virtual void setup(const WxCryptSet& wxc) override;
53
57 void solve(real time, variables_type& input, real dt) override;
58
59 void Barrier(const WxMsgBase& msg, const real time, variables_type& input) override;
60
61protected:
62 std::vector<std::string> _boundary_names;
63
64 // Spatial basis set
65 std::unique_ptr<WmBasisArraySet> _basis_set;
66 std::unique_ptr<WmBasisArraySet> _surface_basis_set;
67
68 // WmUDGGeometry
69 std::unique_ptr<WmUDGGeometry> _dg_geometry;
70
72 std::string _basis_set_name;
73
75 std::vector<size_t> _out_idcs;
76
78 std::vector<size_t> _unique_var_indcs;
79
84
86 int _ir;
87
99
102
103private:
105 BoundaryFluxIntegral& operator=(const BoundaryFluxIntegral& var) = delete;
106
108 BoundaryFluxIntegral(const BoundaryFluxIntegral& var) = delete;
109};
110
111} // namespace unique_variable_adjuster
112} // namespace variable_adjuster
113} // namespace dfem
114} // namespace wxm
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
The BoundaryFluxIntegral class calculates the line integral of the numerical flux along a boundary an...
Definition: boundary_flux_integral.h:44
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
std::string _basis_set_name
Spatial basis set name.
Definition: boundary_flux_integral.h:72
void Barrier(const WxMsgBase &msg, const real time, variables_type &input) override
An opportunity for the variable adjuster to perform any MPI operations it needs to after solve is cal...
bool _is_cylindrical
Whether geometry is in 2D cylindrical coordinates.
Definition: boundary_flux_integral.h:83
real _penalty_beta
Beta penalty for LDG.
Definition: boundary_flux_integral.h:98
std::unique_ptr< WmBasisArraySet > _surface_basis_set
Definition: boundary_flux_integral.h:66
std::vector< size_t > _unique_var_indcs
Indices for unique variable that holds integrated value.
Definition: boundary_flux_integral.h:78
real _penalty_eta
Eta penalty for LDG.
Definition: boundary_flux_integral.h:101
std::vector< std::string > _boundary_names
Definition: boundary_flux_integral.h:62
std::unique_ptr< WmBasisArraySet > _basis_set
Definition: boundary_flux_integral.h:65
std::unique_ptr< WmUDGGeometry > _dg_geometry
Definition: boundary_flux_integral.h:69
virtual void setup(const WxCryptSet &wxc) override
Setup the spatial solver using the cryptset.
int _ir
Radial coordinate.
Definition: boundary_flux_integral.h:86
std::vector< size_t > _out_idcs
Indices used in apps definitions.
Definition: boundary_flux_integral.h:75
void solve(real time, variables_type &input, real dt) override
Solves the spatial system and puts result in _rhs.
Base namespace for everything not included in the global namespace.
Definition: field_source.h:8
#define real
Definition: wmoclunstructuredreconstruction.h:11