|
Plugins
|
Handles the setup, assembly, and time-integration of the 1D Shallow Water Equations. More...
#include <st_venant_submodule.h>
Inheritance diagram for ug::d3f::StVenantSubmodule< TGridFunction, dim >:Public Types | |
| typedef TGridFunction::algebra_type | algebra_type |
| typedef ApproximationSpace< domain_type > | approx_space_type |
| typedef TGridFunction::domain_type | domain_type |
| typedef StVenantElemDisc< domain_type > | elem_disc_type |
| typedef StVenantElemDiscFactory< domain_type > | factory_type |
| typedef SmartPtr< CplUserData< number, dim > > | TSPNumberData |
Public Member Functions | |
| SmartPtr< TGridFunction > | get_grid_function () |
| Returns the 1D grid function containing the river state. | |
| void | init (const char *filename) |
| Initializes the grid and approximation space from a UGX file. | |
| void | interpolate_A (number A) |
| void | interpolate_v (number v) |
| void | run (number tStart, number tEnd, number dt) override |
| Executes the simulation loop from tStart to tEnd. | |
| void | set_diffusion (number d) |
| void | set_dirichlet (number A, number v) |
| Convenience setters for common parameters. | |
| void | set_exfiltration_flux (TSPNumberData qex) |
| Sets the exchange flux from the 3D domain. | |
| void | set_ks (TSPNumberData ks) |
| void | set_parameters (StVenantParameters< dim > p) |
| void | set_plot (bool p) |
| Enables or disables VTK plotting during the run. | |
| void | set_qr (TSPNumberData qr) |
| void | set_tolerance (number tol) |
| void | set_width (TSPNumberData b) |
| StVenantSubmodule ()=default | |
| virtual | ~StVenantSubmodule ()=default |
Public Member Functions inherited from ug::d3f::ISubmodule< TGridFunction, dim > | |
| ISubmodule ()=default | |
| virtual | ~ISubmodule ()=default |
Public Attributes | |
| StVenantParameters< dim > | params |
| Current configuration. | |
Private Attributes | |
| SmartPtr< approx_space_type > | m_approx_space |
| SmartPtr< domain_type > | m_domain |
| SmartPtr< elem_disc_type > | m_elem_disc_A |
| SmartPtr< elem_disc_type > | m_elem_disc_v |
| bool | m_plot = false |
| VTK output flag. | |
| TSPNumberData | m_qex = make_sp(new ConstUserNumber<dim>(0.0)) |
| Exchange flux. | |
| int | m_step = 0 |
| Time step counter. | |
| number | m_tol = 0.01 |
| Solver tolerance. | |
Additional Inherited Members | |
Protected Attributes inherited from ug::d3f::ISubmodule< TGridFunction, dim > | |
| SmartPtr< TGridFunction > | m_u |
| The internal state of the submodule. | |
Handles the setup, assembly, and time-integration of the 1D Shallow Water Equations.
This submodule manages the discrete systems for Area (A) and Velocity (v), sets up the non-linear solvers (Newton) and time integrators (Limex), and provides an interface for coupling with 3D subsurface models.
| TGridFunction | The type of the 1D grid function (typically A and v components). |
| typedef TGridFunction::algebra_type ug::d3f::StVenantSubmodule< TGridFunction, dim >::algebra_type |
| typedef ApproximationSpace<domain_type> ug::d3f::StVenantSubmodule< TGridFunction, dim >::approx_space_type |
| typedef TGridFunction::domain_type ug::d3f::StVenantSubmodule< TGridFunction, dim >::domain_type |
| typedef StVenantElemDisc<domain_type> ug::d3f::StVenantSubmodule< TGridFunction, dim >::elem_disc_type |
| typedef StVenantElemDiscFactory<domain_type> ug::d3f::StVenantSubmodule< TGridFunction, dim >::factory_type |
| typedef SmartPtr<CplUserData<number, dim> > ug::d3f::StVenantSubmodule< TGridFunction, dim >::TSPNumberData |
|
default |
|
virtualdefault |
|
inline |
Returns the 1D grid function containing the river state.
References ug::d3f::ISubmodule< TGridFunction, dim >::m_u.
| void ug::d3f::StVenantSubmodule< TGridFunction, dim >::init | ( | const char * | filename | ) |
Initializes the grid and approximation space from a UGX file.
Initializes the grid, approximation spaces, and starting fields.
References ug::GMCT_CREATION_STARTS, ug::GMCT_CREATION_STOPS, ug::Interpolate(), ug::LoadGridFromUGX(), make_sp(), and pcl::ProcRank().
|
inline |
References ug::Interpolate(), and ug::d3f::ISubmodule< TGridFunction, dim >::m_u.
|
inline |
References ug::Interpolate(), and ug::d3f::ISubmodule< TGridFunction, dim >::m_u.
|
overridevirtual |
Executes the simulation loop from tStart to tEnd.
Main execution function. Configures physics linkers, boundary conditions, and runs the time loop.
Implements ug::d3f::ISubmodule< TGridFunction, dim >.
References pcl::ProcessCommunicator::barrier(), ug::d3f::create_limex_solver(), make_sp(), pcl::ProcRank(), UG_LOG_ALL_PROCS, and UG_LOGN.
|
inline |
|
inline |
Convenience setters for common parameters.
References ug::d3f::StVenantSubmodule< TGridFunction, dim >::params.
|
inline |
Sets the exchange flux from the 3D domain.
References ug::d3f::StVenantSubmodule< TGridFunction, dim >::m_qex.
|
inline |
|
inline |
References p, and ug::d3f::StVenantSubmodule< TGridFunction, dim >::params.
|
inline |
Enables or disables VTK plotting during the run.
References ug::d3f::StVenantSubmodule< TGridFunction, dim >::m_plot, and p.
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
VTK output flag.
Referenced by ug::d3f::StVenantSubmodule< TGridFunction, dim >::set_plot().
|
private |
Exchange flux.
Referenced by ug::d3f::StVenantSubmodule< TGridFunction, dim >::set_exfiltration_flux().
|
private |
Time step counter.
|
private |
Solver tolerance.
Referenced by ug::d3f::StVenantSubmodule< TGridFunction, dim >::set_tolerance().
| StVenantParameters<dim> ug::d3f::StVenantSubmodule< TGridFunction, dim >::params |
Current configuration.
Referenced by ug::d3f::StVenantSubmodule< TGridFunction, dim >::set_diffusion(), ug::d3f::StVenantSubmodule< TGridFunction, dim >::set_dirichlet(), ug::d3f::StVenantSubmodule< TGridFunction, dim >::set_ks(), ug::d3f::StVenantSubmodule< TGridFunction, dim >::set_parameters(), ug::d3f::StVenantSubmodule< TGridFunction, dim >::set_qr(), and ug::d3f::StVenantSubmodule< TGridFunction, dim >::set_width().