54 : TypeTree::LeafNode()
56 , _data_volume([_config =
config.
sub(
"volume"),
58 if (
not _functor_factory)
60 auto local_domain = std::make_unique<LocalDomain<dim>>();
61 local_domain->in_volume = 1;
63 local_domain->time = std::numeric_limits<double>::quiet_NaN();
65 _functor_factory->make_scalar(
"constrain.volume", _config, *local_domain, 0);
66 return std::make_unique<Data>(std::move(local_domain), std::move(
constraints));
68 , _data_skeleton([_config =
config.sub(
"skeleton"),
70 if (
not _functor_factory)
72 auto local_domain = std::make_unique<LocalDomain<dim>>();
74 local_domain->time = std::numeric_limits<double>::quiet_NaN();
76 _functor_factory->make_scalar(
"constrain.skeleton", _config, *local_domain, 1);
77 return std::make_unique<Data>(std::move(local_domain), std::move(
constraints));
79 , _data_boundary([_config =
config.sub(
"boundary"),
81 if (
not _functor_factory)
83 auto local_domain = std::make_unique<LocalDomain<dim>>();
85 local_domain->time = std::numeric_limits<double>::quiet_NaN();
87 _functor_factory->make_scalar(
"constrain.boundary", _config, *local_domain, 1);
88 return std::make_unique<Data>(std::move(local_domain), std::move(
constraints));
99 _data_volume->local_domain->entity_volume =
entity.geometry().volume();
101 const auto&
lkeys =
lbasis.finiteElement().localCoefficients();
107 _data_volume->local_domain->position =
entity.geometry().center();
108 double constraint = _data_volume->constrain_fnc();
109 if (
constraint != std::numeric_limits<double>::max())