OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
RoutingCheckpoint.cpp File Reference

Checkpoint persistence for hydraulic routing state. More...

#include "Routing.hpp"
#include "../core/CompletedSourceArchive.hpp"
#include "../core/SimulationContext.hpp"
#include "../core/QualityCheckpoint.hpp"
#include "../core/DateTime.hpp"
#include "../hydrology/LidNode.hpp"
#include "Node.hpp"
#include "../core/UnitConversion.hpp"
#include <algorithm>
#include <atomic>
#include <cmath>
#include <cstdio>
#include <filesystem>
#include <fstream>
#include <limits>
#include <stdexcept>
#include <type_traits>
Include dependency graph for RoutingCheckpoint.cpp:

Classes

struct  openswmm::Router::RestartState
 

Namespaces

namespace  openswmm
 

Macros

#define NODE_MODEL(X)
 
#define LINK_MODEL(X)
 
#define NODE_STATE(X)
 
#define LINK_STATE(X)
 
#define CONDUIT_MODEL(X)
 
#define CONDUIT_STATE(X)
 
#define STORAGE_MODEL(X)
 
#define DW_STATE(X)
 
#define FIELD(v)
 
#define FIELD(v)
 
#define FIELD(v)
 
#define FINITE(v)
 
#define FINITE(v)
 
#define FINITE(v)
 
#define MOVE(v)
 
#define MOVE(v)
 
#define MOVE(v)
 
#define MOVE(v)
 
#define FIELD(v)
 
#define FIELD(v)
 
#define FIELD(v)
 
#define FIELD(v)
 

Detailed Description

Checkpoint persistence for hydraulic routing state.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License
Apache-2.0

Macro Definition Documentation

◆ CONDUIT_MODEL

#define CONDUIT_MODEL ( X)
Value:
X(link_idx) \
X(roughness) \
X(length) \
X(true_length) \
X(slope) \
X(mod_length) \
X(barrels) \
X(beta) \
X(rough_factor) \
X(q_full) \
X(q_max) \
X(loss_inlet) \
X(loss_outlet) \
X(loss_avg) \
X(seep_rate) \
X(culvert_code) \
X(gw_coupled) \
X(gw_kc) \
X(gw_dc)

◆ CONDUIT_STATE

#define CONDUIT_STATE ( X)
Value:
X(evap_loss_rate) \
X(seep_loss_rate) \
X(normal_flow_limited) \
X(inlet_control) \
X(full_state) \
X(gw_head_rel) \
X(gw_gain_max)

◆ DW_STATE

#define DW_STATE ( X)
Value:
X(losses_all_zero_) \
X(last_converged_) \
X(variable_step_) \
X(sim_time_) \
X(evap_rate) \
X(area1_) \
X(area2_) \
X(area_mid_) \
X(hrad_mid_) \
X(width_mid_) \
X(depth1_) \
X(depth2_) \
X(depth_mid_) \
X(velocity_) \
X(froude_) \
X(sigma_) \
X(dqdh_) \
X(new_flow_) \
X(q1_) \
X(area_old_) \
X(bypassed_) \
X(surf_area1_) \
X(surf_area2_) \
X(hrad1_) \
X(width1_) \
X(width2_) \
X(tpa_latch_) \
X(tpa_latch_changed_)

◆ FIELD [1/7]

#define FIELD ( v)
Value:
a.fixed(nodes.v);

◆ FIELD [2/7]

#define FIELD ( v)
Value:
a.fixed(links.v);

◆ FIELD [3/7]

#define FIELD ( v)
Value:
a.fixed(conduits.v);

◆ FIELD [4/7]

#define FIELD ( v)
Value:
a(nodes.v);

◆ FIELD [5/7]

#define FIELD ( v)
Value:
a(links.v);

◆ FIELD [6/7]

#define FIELD ( v)
Value:
a(st.v);

◆ FIELD [7/7]

#define FIELD ( v)
Value:
a(cd.v);

◆ FINITE [1/3]

#define FINITE ( v)
Value:
finite(nodes.v);

◆ FINITE [2/3]

#define FINITE ( v)
Value:
finite(links.v);

◆ FINITE [3/3]

#define FINITE ( v)
Value:
finite(conduits.v);

◆ LINK_MODEL

#define LINK_MODEL ( X)

◆ LINK_STATE

#define LINK_STATE ( X)

◆ MOVE [1/4]

#define MOVE ( v)
Value:
static_assert(std::is_nothrow_move_assignable_v<decltype(nodes.v)>); \
c.nodes.v = std::move(nodes.v);

◆ MOVE [2/4]

#define MOVE ( v)
Value:
static_assert(std::is_nothrow_move_assignable_v<decltype(links.v)>); \
c.links.v = std::move(links.v);

◆ MOVE [3/4]

#define MOVE ( v)
Value:
c.link_subtypes.conduits.v = std::move(conduits.v);

◆ MOVE [4/4]

#define MOVE ( v)
Value:
r.dw_solver_.v = std::move(dw.v);

◆ NODE_MODEL

#define NODE_MODEL ( X)
Value:
X(type) \
X(invert_elev) \
X(full_depth) \
X(init_depth) \
X(sur_depth) \
X(storage_area) \
X(ponded_area) \
X(is_virtual) \
X(is_inlet) \
X(rim_depth) \
X(crown_elev) \
X(degree) \
X(comments) \
X(tags) \
X(rpt_flag)

◆ NODE_STATE

#define NODE_STATE ( X)

◆ STORAGE_MODEL

#define STORAGE_MODEL ( X)
Value:
X(node_idx) \
X(curve) \
X(curve_name) \
X(shape) \
X(a) \
X(b) \
X(c) \
X(p1) \
X(p2) \
X(p3) \
X(seep_rate) \
X(evap_frac) \
X(exfil_suction) \
X(exfil_ksat) \
X(exfil_imd)