OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
openswmm::twoD::SolverOptions2D Struct Reference

Configuration for the 2D surface routing CVODE solver. More...

#include <SolverOptions2D.hpp>

Collaboration diagram for openswmm::twoD::SolverOptions2D:

Public Attributes

double max_timestep = 10.0
 Max CVODE internal step (s)
 
double min_timestep = 0.001
 Min CVODE internal step (s)
 
double rel_tolerance = 1.0e-4
 CVODE relative tolerance.
 
double abs_tolerance = 1.0e-6
 CVODE absolute tolerance (m)
 
double dry_depth = 0.001
 Dry cell threshold (m)
 
double limiter_epsilon = 1.0e-6
 Slope limiter epsilon.
 
double coupling_cd = 0.65
 Default discharge coefficient.
 
int max_krylov_dim = 30
 Max Krylov subspace dimension.
 
int coupling_interval = 0
 0 = every SWMM step
 
int max_cvode_steps = 500
 Max CVODE steps per advance.
 
bool report_2d = true
 Write 2D results to output.
 
LinearSolverType linear_solver = LinearSolverType::GMRES
 
PreconditionerType preconditioner = PreconditionerType::NONE
 
std::string mesh_file
 Path from [2D_MESH_FILE] FILE token. Empty = mesh is inline in main .inp.
 
std::string output_file
 

Detailed Description

Configuration for the 2D surface routing CVODE solver.

Populated from [2D_OPTIONS] input section. Defaults are chosen for typical urban drainage surface routing problems.

Member Data Documentation

◆ abs_tolerance

double openswmm::twoD::SolverOptions2D::abs_tolerance = 1.0e-6

CVODE absolute tolerance (m)

◆ coupling_cd

double openswmm::twoD::SolverOptions2D::coupling_cd = 0.65

Default discharge coefficient.

◆ coupling_interval

int openswmm::twoD::SolverOptions2D::coupling_interval = 0

0 = every SWMM step

◆ dry_depth

double openswmm::twoD::SolverOptions2D::dry_depth = 0.001

Dry cell threshold (m)

◆ limiter_epsilon

double openswmm::twoD::SolverOptions2D::limiter_epsilon = 1.0e-6

Slope limiter epsilon.

◆ linear_solver

LinearSolverType openswmm::twoD::SolverOptions2D::linear_solver = LinearSolverType::GMRES

◆ max_cvode_steps

int openswmm::twoD::SolverOptions2D::max_cvode_steps = 500

Max CVODE steps per advance.

◆ max_krylov_dim

int openswmm::twoD::SolverOptions2D::max_krylov_dim = 30

Max Krylov subspace dimension.

◆ max_timestep

double openswmm::twoD::SolverOptions2D::max_timestep = 10.0

Max CVODE internal step (s)

◆ mesh_file

std::string openswmm::twoD::SolverOptions2D::mesh_file

Path from [2D_MESH_FILE] FILE token. Empty = mesh is inline in main .inp.

◆ min_timestep

double openswmm::twoD::SolverOptions2D::min_timestep = 0.001

Min CVODE internal step (s)

◆ output_file

std::string openswmm::twoD::SolverOptions2D::output_file

HDF5 output file path from [2D_OPTIONS] OUTPUT_FILE token. Empty = no 2D output is written. Resolved relative to the parent .inp directory by the section handler.

◆ preconditioner

PreconditionerType openswmm::twoD::SolverOptions2D::preconditioner = PreconditionerType::NONE

◆ rel_tolerance

double openswmm::twoD::SolverOptions2D::rel_tolerance = 1.0e-4

CVODE relative tolerance.

◆ report_2d

bool openswmm::twoD::SolverOptions2D::report_2d = true

Write 2D results to output.


The documentation for this struct was generated from the following file: