include/pops/runtime/context/wall_predicate.hpp File ReferenceΒΆ

adc_cpp: include/pops/runtime/context/wall_predicate.hpp File Reference
adc_cpp 0.3.0
Model-free C++23 core for coupled hyperbolic-elliptic systems on adaptive (AMR) meshes, with MPI and GPU (Kokkos) backends
wall_predicate.hpp File Reference

ELLIPTIC conductor-wall predicate shared by the System and AmrSystem runtimes (the wall acts on the Poisson side). More...

#include <pops/core/foundation/types.hpp>
#include <pops/numerics/spatial/embedded_boundary/domain.hpp>
#include <cmath>
#include <functional>
#include <stdexcept>
#include <string>
+ Include dependency graph for wall_predicate.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  pops
 
namespace  pops::detail
 

Functions

std::function< bool(Real, Real)> pops::detail::wall_predicate (const std::string &wall, double wall_radius, double L, const std::string &err_context)
 Builds the "inside the conductor" predicate (embedded wall for the Poisson solver) from the wall mode wall, the radius wall_radius and the domain size L.
 

Detailed Description

ELLIPTIC conductor-wall predicate shared by the System and AmrSystem runtimes (the wall acts on the Poisson side).

Both derived the same predicate from the same parameters (wall, radius, L); only the error-message prefix differed. Centralized here by PURE extraction: the body (centered circle, std::hypot < R comparison) is reused identically.

The TRANSPORT-side domain descriptor (detail::DiscDomain) and its generic contract moved to numerics/embedded_boundary.hpp (ADC-327); this header re-includes it so existing includers keep seeing detail::DiscDomain unchanged.