WARPXM v1.10.0
Loading...
Searching...
No Matches
integrator.h
Go to the documentation of this file.
1#ifndef WXM_INTEGRATOR_H
2#define WXM_INTEGRATOR_H
3
8
9#include "variable/distributed_variable.h"
11
12#include "tools.h"
13
14#include <memory>
15
16namespace wxm
17{
18namespace dfem
19{
21{
22protected:
23 std::vector<std::unique_ptr<integrate_app>> apps;
24 std::unique_ptr<WmUDGGeometry> dg_geometry;
27
28 std::vector<size_t> in_idcs;
29 std::vector<size_t> stage_idcs;
30
31 std::vector<std::vector<real>> in_buf;
32
33public:
35
40 void setup(const WxCryptSet& wxc) override;
41
42 // unused, but override just to satisfy WmPatchProcess interface
43 // this is the easiest way to get something which needs one object per local patch
44 void process() override
45 {
46 }
47
48 typedef std::vector<
49 std::vector<std::pair<wxm::variable::distributed_variable_t*, size_t>>>
51
52 std::vector<std::vector<wxm::array::patch_array_t*>>
53 get_patch_arrays(const variables_type& vars) const;
54
55 virtual real integrate(const variables_type& vars);
56
57 MPI_Op reduce_op;
58};
59} // namespace dfem
60} // namespace wxm
61#endif
Definition: wmbasisarrayset.h:13
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
Definition: integrator.h:21
MPI_Op reduce_op
Definition: integrator.h:57
std::unique_ptr< WmUDGGeometry > dg_geometry
Definition: integrator.h:24
std::vector< std::unique_ptr< integrate_app > > apps
Definition: integrator.h:23
void process() override
Definition: integrator.h:44
virtual real integrate(const variables_type &vars)
std::vector< size_t > stage_idcs
Definition: integrator.h:29
std::vector< std::vector< real > > in_buf
Definition: integrator.h:31
wxm::dfem::tools::scope_t element_scope
Definition: integrator.h:26
std::vector< std::vector< wxm::array::patch_array_t * > > get_patch_arrays(const variables_type &vars) const
std::vector< size_t > in_idcs
Definition: integrator.h:28
WmBasisArraySet basis_set
Definition: integrator.h:25
void setup(const WxCryptSet &wxc) override
Setup the spatial solver using the cryptset.
std::vector< std::vector< std::pair< wxm::variable::distributed_variable_t *, size_t > > > variables_type
Definition: integrator.h:50
Definition: tools.h:22
Base namespace for everything not included in the global namespace.
Definition: field_source.h:8
#define real
Definition: wmoclunstructuredreconstruction.h:11