program Namespace 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
|
Namespaces | |
| namespace | detail |
Classes | |
| struct | BrickManifestEntry |
| class | BrickRegistry |
| class | CacheManager |
| struct | CacheSlot |
| class | ExternalBrickHandle |
| struct | ModuleMetadata |
| The GeneratedModule descriptor read from a problem.so. More... | |
| struct | OperatorMetadata |
| One operator's metadata, as exported by the .so. More... | |
| class | Profiler |
| class | ProfileScope |
| class | ProgramContext |
Typedefs | |
| using | OperatorId = std::uint32_t |
| Integer id of an operator within a module: its registration index. | |
| using | SpaceId = std::uint32_t |
| Integer id of a state or field space within a module. | |
Functions | |
| std::string | json_escape (const std::string &s) |
| std::string | json_unescape (const std::string &s) |
| ModuleMetadata | read_module_metadata (void *dl_handle) |
Read the GeneratedModule metadata from an already-dlopen'd problem.so dl_handle. | |
| std::vector< std::string > | required_string_list (const std::string &requirements_json, const std::string &key) |
Collect the quoted tokens of a JSON string array keyed by key inside the operator's flat requirements JSON, e.g. | |
| std::string | requirement_string (const std::string &requirements_json, const std::string &key) |
Read a single quoted JSON string value keyed by key inside the operator's flat requirements JSON, e.g. | |
| std::vector< std::string > | required_aux (const std::string &requirements_json) |
Aux-field names an operator requires (the "aux" array). | |
| std::vector< std::string > | required_blocks (const std::string &requirements_json) |
Block-instance names an operator requires (the "block" array), e.g. | |
| std::string | required_solver (const std::string &requirements_json) |
Solver name a field operator requires (the scalar "solver" value), e.g. | |
Typedef Documentation
◆ OperatorId
| using pops::runtime::program::OperatorId = typedef std::uint32_t |
Integer id of an operator within a module: its registration index.
The generated .so addresses operators by this id; the name/kind/signature strings are metadata only (debug, introspection, validation), never a hot-path lookup.
◆ SpaceId
| using pops::runtime::program::SpaceId = typedef std::uint32_t |
Integer id of a state or field space within a module.
Function Documentation
◆ json_escape()
|
inline |
Here is the caller graph for this function:◆ json_unescape()
|
inline |
◆ read_module_metadata()
|
inline |
Read the GeneratedModule metadata from an already-dlopen'd problem.so dl_handle.
Returns a descriptor with present == false (and empty vectors) when the handle is null or exports no pops_module_operator_count symbol (a pre-Spec-2 .so).
Here is the call graph for this function:◆ required_aux()
|
inline |
Aux-field names an operator requires (the "aux" array).
Used by install-time requirement validation (Spec criterion 24, ADC-446); kept as a named wrapper for call-site clarity.
Here is the call graph for this function:◆ required_blocks()
|
inline |
Block-instance names an operator requires (the "block" array), e.g.
a collisions operator reading another species: {"kind":"local_source","block":["ions"]} -> {"ions"}. Install-time validation rejects a simulation that did not instantiate one of them (Spec criterion 24).
Here is the call graph for this function:◆ required_solver()
|
inline |
Solver name a field operator requires (the scalar "solver" value), e.g.
{"kind":"field_operator","solver":"geometric_mg"} -> "geometric_mg". Empty when the operator has no solver requirement. Install-time validation rejects a simulation whose configured field solver does not match (Spec criterion 24).
Here is the call graph for this function:◆ required_string_list()
|
inline |
Collect the quoted tokens of a JSON string array keyed by key inside the operator's flat requirements JSON, e.g.
key "aux" over {"kind":"local_source","aux":["grad_x","B_z"]} -> {"grad_x","B_z"}. A dependency-free scan: the core has no JSON library on the install path and the shape is a flat, closed vocabulary (the codegen emits "kind" plus a handful of requirement arrays/scalars). It locates key, the following [, and collects the quoted tokens up to the closing ]. Returns empty when the key is absent or is not an array. Shared by required_aux / required_block (Spec criterion 24).
Here is the call graph for this function:
Here is the caller graph for this function:◆ requirement_string()
|
inline |
Read a single quoted JSON string value keyed by key inside the operator's flat requirements JSON, e.g.
key "solver" over {"kind":"field_operator","solver":"geometric_mg"} -> "geometric_mg". Returns "" when the key is absent. Dependency-free, same closed-vocabulary scan as required_string_list; used for the scalar requirement kinds (solver, capability, schedule) of Spec criterion 24.
Here is the caller graph for this function:Generated by