Dune::Copasi
Loading...
Searching...
No Matches
local_domain.hh
Go to the documentation of this file.
1#ifndef DUNE_COPASI_MODEL_LOCAL_DOMAIN_HH
2#define DUNE_COPASI_MODEL_LOCAL_DOMAIN_HH
3
4#include <dune/common/fvector.hh>
5
6#include <functional>
7#include <string_view>
8#include <string>
9#include <vector>
10
11namespace Dune::Copasi {
12
13template<std::size_t dim>
15{
16 LocalDomain() = default;
17 LocalDomain(const LocalDomain&) = delete;
19
22
23 virtual ~LocalDomain() {}
24
25 virtual void forEachValue(Codim<0>,
26 const std::function<void(std::string_view,
27 const Dune::FieldVector<double, 1>&,
28 const Dune::FieldVector<double, dim>&)>&) const
29 {
30 }
31 virtual void forEachValue(Codim<1>,
32 const std::function<void(std::string_view,
34 const FieldVector<double, dim - 1>&)>&) const
35 {
36 }
37
38 // local data related to general position metrics
41 double time = 0.;
43 double entity_volume = 0.;
44 double in_volume = 0;
45 double in_boundary = 0;
46 double in_skeleton = 0;
47
48 // local data related to the cell element and intended to be used by the CellData
49 std::vector<double> cell_values; // data addresses used by the parser
50 std::vector<bool> cell_mask; // masks whether data is valid
51 std::vector<std::string> cell_keys; // data member names
52};
53
54} // namespace Dune::Copasi
55
56#endif // DUNE_COPASI_MODEL_LOCAL_DOMAIN_HH
Definition axis_names.hh:7
constexpr bool is_bitflags_v
Alias for Bitflag indicator.
Definition bit_flags.hh:24
Definition local_domain.hh:15
FieldVector< double, dim > normal
Definition local_domain.hh:40
double time
Definition local_domain.hh:41
double integration_factor
Definition local_domain.hh:42
virtual void forEachValue(Codim< 0 >, const std::function< void(std::string_view, const Dune::FieldVector< double, 1 > &, const Dune::FieldVector< double, dim > &)> &) const
Definition local_domain.hh:25
std::vector< std::string > cell_keys
Definition local_domain.hh:51
double in_volume
Definition local_domain.hh:44
LocalDomain & operator=(LocalDomain &&)=delete
virtual void forEachValue(Codim< 1 >, const std::function< void(std::string_view, const FieldVector< double, 1 > &, const FieldVector< double, dim - 1 > &)> &) const
Definition local_domain.hh:31
virtual ~LocalDomain()
Definition local_domain.hh:23
std::vector< double > cell_values
Definition local_domain.hh:49
FieldVector< double, dim > position
Definition local_domain.hh:39
double in_boundary
Definition local_domain.hh:45
LocalDomain(const LocalDomain &)=delete
LocalDomain & operator=(const LocalDomain &)=delete
std::vector< bool > cell_mask
Definition local_domain.hh:50
LocalDomain(LocalDomain &&)=delete
double entity_volume
Definition local_domain.hh:43
double in_skeleton
Definition local_domain.hh:46