6#ifndef ST_D3F_VENANT_SUBMODULE_H
7#define ST_D3F_VENANT_SUBMODULE_H
10#include "../i_coupling_bridge.h"
59template<
typename TGr
idFunction,
int dim = TGr
idFunction::dim>
80 void init(
const char* filename);
parameterString p
Definition Biogas.lua:1
Abstract base class for independent sub-solvers (e.g., 1D St. Venant).
Definition i_coupling_bridge.h:64
SmartPtr< TGridFunction > m_u
The internal state of the submodule.
Definition i_coupling_bridge.h:78
Factory class to construct and link the coupled St. Venant equations.
Definition st_venant_elem_disc.h:61
Element discretization for the 1D Shallow Water (St. Venant) Equations.
Definition st_venant_elem_disc.h:24
Handles the setup, assembly, and time-integration of the 1D Shallow Water Equations.
Definition st_venant_submodule.h:60
void set_diffusion(number d)
Definition st_venant_submodule.h:97
SmartPtr< CplUserData< number, dim > > TSPNumberData
Definition st_venant_submodule.h:67
number m_tol
Solver tolerance.
Definition st_venant_submodule.h:125
int m_step
Time step counter.
Definition st_venant_submodule.h:126
void set_ks(TSPNumberData ks)
Definition st_venant_submodule.h:96
ApproximationSpace< domain_type > approx_space_type
Definition st_venant_submodule.h:65
void set_tolerance(number tol)
Definition st_venant_submodule.h:91
void set_width(TSPNumberData b)
Definition st_venant_submodule.h:95
TSPNumberData m_qex
Exchange flux.
Definition st_venant_submodule.h:123
StVenantElemDiscFactory< domain_type > factory_type
Definition st_venant_submodule.h:66
void init(const char *filename)
Initializes the grid and approximation space from a UGX file.
Definition st_venant_submodule_impl.h:252
StVenantElemDisc< domain_type > elem_disc_type
Definition st_venant_submodule.h:63
void run(number tStart, number tEnd, number dt) override
Executes the simulation loop from tStart to tEnd.
Definition st_venant_submodule_impl.h:102
void interpolate_v(number v)
Definition st_venant_submodule.h:93
void set_parameters(StVenantParameters< dim > p)
Definition st_venant_submodule.h:99
StVenantParameters< dim > params
Current configuration.
Definition st_venant_submodule.h:111
void set_qr(TSPNumberData qr)
Definition st_venant_submodule.h:94
TGridFunction::algebra_type algebra_type
Definition st_venant_submodule.h:64
SmartPtr< TGridFunction > get_grid_function()
Returns the 1D grid function containing the river state.
Definition st_venant_submodule.h:109
void set_exfiltration_flux(TSPNumberData qex)
Sets the exchange flux from the 3D domain.
Definition st_venant_submodule.h:85
virtual ~StVenantSubmodule()=default
SmartPtr< elem_disc_type > m_elem_disc_A
Definition st_venant_submodule.h:119
bool m_plot
VTK output flag.
Definition st_venant_submodule.h:124
void interpolate_A(number A)
Definition st_venant_submodule.h:92
void set_plot(bool p)
Enables or disables VTK plotting during the run.
Definition st_venant_submodule.h:104
SmartPtr< approx_space_type > m_approx_space
Definition st_venant_submodule.h:116
SmartPtr< domain_type > m_domain
Definition st_venant_submodule.h:115
void set_dirichlet(number A, number v)
Convenience setters for common parameters.
Definition st_venant_submodule.h:90
TGridFunction::domain_type domain_type
Definition st_venant_submodule.h:62
SmartPtr< elem_disc_type > m_elem_disc_v
Definition st_venant_submodule.h:120
StVenantSubmodule()=default
void Interpolate(number val, SmartPtr< TGridFunction > spGridFct, const char *cmp)
SmartPtr< T, FreePolicy > make_sp(T *inst)
Configuration parameters for the St. Venant submodule.
Definition st_venant_submodule.h:20
std::string interface_subset
Name of the subset in the 3D domain for exchange.
Definition st_venant_submodule.h:46
std::string river_subset
Name of the subset in the 1D domain.
Definition st_venant_submodule.h:47
number dirichlet_v
Dirichlet value for velocity at inflow/outflow.
Definition st_venant_submodule.h:45
TSPNumberData b
River width [m].
Definition st_venant_submodule.h:39
number diffusion
Numerical diffusion coefficient.
Definition st_venant_submodule.h:41
TSPNumberData qr
Lateral source/sink term [m^2/s].
Definition st_venant_submodule.h:43
StVenantParameters()
Initializes parameters with standard default values.
Definition st_venant_submodule.h:24
number dirichlet_A
Dirichlet value for wetted area at inflow/outflow.
Definition st_venant_submodule.h:44
SmartPtr< CplUserData< number, dim > > TSPNumberData
Definition st_venant_submodule.h:36
TSPNumberData ks
Manning coefficient (roughness)
Definition st_venant_submodule.h:42
number gravity
Acceleration due to gravity [m/s^2].
Definition st_venant_submodule.h:40
SmartPtr< CplUserData< MathVector< dim >, dim > > TSPVectorData
Definition st_venant_submodule.h:37