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{
41{
42public:
44
49 virtual void setup(const WxCryptSet& wxc) override;
50
54 void solve(real time, variables_type& input) override;
55
56 void Barrier(const WxMsgBase& msg, const real time, variables_type& input) override;
57
58protected:
59 std::vector<std::string> _boundary_names;
60
61 // Spatial basis set
62 std::unique_ptr<WmBasisArraySet> _basis_set;
63 std::unique_ptr<WmBasisArraySet> _surface_basis_set;
64
65 // WmUDGGeometry
66 std::unique_ptr<WmUDGGeometry> _dg_geometry;
67
69 std::string _basis_set_name;
70
72 std::vector<size_t> _out_idcs;
73
75 std::vector<size_t> _unique_var_indcs;
76
81
83 int _ir;
84
96
99
100private:
102 BoundaryFluxIntegral& operator=(const BoundaryFluxIntegral& var) = delete;
103
105 BoundaryFluxIntegral(const BoundaryFluxIntegral& var) = delete;
106};
107
108} // namespace unique_variable_adjuster
109} // namespace variable_adjuster
110} // namespace dfem
111} // 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:41
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:69
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:80
real _penalty_beta
Beta penalty for LDG.
Definition: boundary_flux_integral.h:95
std::unique_ptr< WmBasisArraySet > _surface_basis_set
Definition: boundary_flux_integral.h:63
std::vector< size_t > _unique_var_indcs
Indices for unique variable that holds integrated value.
Definition: boundary_flux_integral.h:75
real _penalty_eta
Eta penalty for LDG.
Definition: boundary_flux_integral.h:98
void solve(real time, variables_type &input) override
Solves the spatial system and puts result in _rhs.
std::vector< std::string > _boundary_names
Definition: boundary_flux_integral.h:59
std::unique_ptr< WmBasisArraySet > _basis_set
Definition: boundary_flux_integral.h:62
std::unique_ptr< WmUDGGeometry > _dg_geometry
Definition: boundary_flux_integral.h:66
virtual void setup(const WxCryptSet &wxc) override
Setup the spatial solver using the cryptset.
int _ir
Radial coordinate.
Definition: boundary_flux_integral.h:83
std::vector< size_t > _out_idcs
Indices used in apps definitions.
Definition: boundary_flux_integral.h:72
Base namespace for everything not included in the global namespace.
Definition: field_source.h:8
#define real
Definition: wmoclunstructuredreconstruction.h:11