23#ifndef OPENSWMM_ENGINE_NODE_COUPLING_2D_HPP
24#define OPENSWMM_ENGINE_NODE_COUPLING_2D_HPP
157void readSection(SimulationContext& ctx,
const std::vector<std::string>& lines);
169std::string
formatParams(
const SimulationContext& ctx,
int r);
181std::string
formatRow(
const SimulationContext& ctx,
int r);
Per-node 1D↔2D coupling structure rows ([2D_NODE_COUPLING]).
Definition NodeCoupling2D.cpp:23
bool keyAllowed(NodeCoupling2DType t, NodeCoupling2DKey k) noexcept
Check parameter-family applicability for a coupling type.
Definition NodeCoupling2D.cpp:193
std::string formatRow(const SimulationContext &ctx, int r)
Format one sparse node-coupling section row without a newline.
Definition NodeCoupling2D.cpp:321
std::string formatValue(NodeCoupling2DKey k, double v)
Format a stored parameter using categorical names or a round-trip numeric token.
Definition NodeCoupling2D.cpp:179
std::string parseValue(NodeCoupling2DKey k, const std::string &token, double &out)
Parse and range-check one coupling parameter in authored units.
Definition NodeCoupling2D.cpp:137
const char * typeToken(NodeCoupling2DType t) noexcept
Borrow the canonical coupling-type token.
Definition NodeCoupling2D.cpp:111
const char * keyToken(NodeCoupling2DKey k) noexcept
Borrow the canonical optional-parameter key.
Definition NodeCoupling2D.cpp:124
NodeCoupling2DType defaultType(const SimulationContext &ctx, int node)
Select an unauthored node coupling type from its class/flags.
Definition NodeCoupling2D.cpp:204
std::string formatParams(const SimulationContext &ctx, int r)
Format authored non-NaN parameters in enum write order.
Definition NodeCoupling2D.cpp:308
bool parseType(std::string_view token, NodeCoupling2DType &out)
Parse a complete case-insensitive coupling-type token.
Definition NodeCoupling2D.cpp:116
NodeCoupling2DType effectiveType(const SimulationContext &ctx, int node)
Read an authored coupling type or fall back to class defaults.
Definition NodeCoupling2D.cpp:224
std::string checkType(const SimulationContext &ctx, int node, NodeCoupling2DType t)
Check basic coupling-type compatibility with one node class.
Definition NodeCoupling2D.cpp:229
void readSection(SimulationContext &ctx, const std::vector< std::string > &lines)
Parse and append validated sparse NODE TYPE KEY=VALUE authoring rows.
Definition NodeCoupling2D.cpp:241
bool parseKey(std::string_view token, NodeCoupling2DKey &out)
Parse a complete coupling-parameter key token.
Definition NodeCoupling2D.cpp:129
Definition ExchangeLaw.hpp:60
NodeCoupling2DType
Coupling structure type of a node. NONE = not coupleable.
Definition NodeCoupling2DData.hpp:36
NodeCoupling2DKey
Optional KEY=VALUE parameters of a [2D_NODE_COUPLING] row, in write order.
Definition NodeCoupling2DData.hpp:46
Central, reentrant simulation context.
Definition SimulationContext.hpp:390