|
Plugins
|
Classes | |
| class | ConstantSohlGradient |
| Calculates a river bed profile by applying a constant slope starting from a specific boundary. More... | |
| class | dd_line_sss_data |
| class | dd_point_sss_data |
| class | dd_sss_data |
| class for data for all the density-driven flow sources and sinks More... | |
| class | DDSingularSourcesAndSinks |
| class | DensityDrivenFlowBase |
| Finite Volume Element Discretization for Density Driven Flow. More... | |
| class | DensityDrivenFlowFV |
| Finite Volume Element Discretization for Density Driven Flow. More... | |
| class | DensityDrivenFlowFV1 |
| Finite Volume Element Discretization for Density Driven Flow. More... | |
| class | ExfiltrationFlux |
| Spatial linker that exposes exchange fluxes stored on 1D edges. More... | |
| class | FlowVolStabData |
| class | FractalField |
| Computation of a fractal field. More... | |
| class | FractDDF_FV1 |
| FV-discretization of the density-driven flow in porous media with fractures. More... | |
| class | FractDimadapt |
| class | FractGFEval |
| class | FractPF_FV1 |
| FV-discretization of the density-driven flow in porous media with fractures. More... | |
| class | FractTHF_FV1 |
| FV-discretization of the density-driven flow in porous media with fractures. More... | |
| struct | FracturedFunctionality |
| struct | Functionality |
| class | FVSingularSourcesAndSinksKD |
| Manager for Singular Sources and Sinks (SSS) using a BVH for spatial optimization. More... | |
| class | InOutFlowBC |
| class | ISubmodule |
| Abstract base class for independent sub-solvers (e.g., 1D St. Venant). More... | |
| class | ISubmoduleBridge |
| Orchestrates the coupling between the main solver and a submodule. More... | |
| class | ISurjectiveInterface |
| Interface for mapping vertices between a subdomain and the primary domain. More... | |
| struct | LevelSetFunctionality |
| class | line_sss_marker |
| struct | LineBVHNode |
| Node structure for the Bounding Volume Hierarchy (BVH). More... | |
| class | LineBVHTree |
| A Bounding Volume Hierarchy tree for efficient spatial querying of line segments. More... | |
| class | LSPositionAtPoints |
| class | LSPositionZ |
| class | LSPosZCellToVrtData |
| class | LSPosZData |
| class | LSPosZData_ElemEvalPnt |
| class | LSPosZData_ElemEvalPnt< WDim, TAAPos, RegularVertex > |
| class | ManningRoughness1d |
| Calculates the river bottom friction (reaction rate) using Manning's formula. More... | |
| class | OutFlowBC |
| class | OutflowIntegrationObserver |
| Observer that integrates the river outflow over time. More... | |
| class | point_sss_marker |
| class | PolygonalRegions |
| class | RasterID |
| class | RichardsFreeSurfaceHeight |
| Computes and stores the height of the free water surface (e.g., where pressure is 0) for the Richards equation. More... | |
| class | river_line_sss_data |
| class | river_point_sss_data |
| class | river_sss_data |
| class for data for all the river sources and sinks More... | |
| struct | RiverFunctionality |
| struct | RiverFunctionality2d3d |
| struct | RiverFunctionality3d |
| class | RiverObserver |
| Handles river networks as a post-process of a flow problem. More... | |
| class | RiverSingularSourcesAndSinks |
| Specialization of the optimized SSS manager for river networks. More... | |
| class | RiverSSSManager |
| Orchestrates the mass exchange between a 1D river and a 3D subsurface. More... | |
| class | SegmentNetwork |
| Represents a network of segments, like, e.g. a low dimensional river network. More... | |
| class | Sohle |
| Reads the river bed elevation directly from the spatial z-coordinate. More... | |
| class | StVenantElemDisc |
| Element discretization for the 1D Shallow Water (St. Venant) Equations. More... | |
| class | StVenantElemDiscFactory |
| Factory class to construct and link the coupled St. Venant equations. More... | |
| struct | StVenantParameters |
| Configuration parameters for the St. Venant submodule. More... | |
| class | StVenantSubmodule |
| Handles the setup, assembly, and time-integration of the 1D Shallow Water Equations. More... | |
| class | StVenantWallBndDir |
| Linker to evaluate the normal component of a downstream vector at a boundary. More... | |
| class | th_line_sss_data |
| class | th_point_sss_data |
| class | th_sss_data |
| class for data for all the thermohaline flow sources and sinks More... | |
| class | ThermohalineFlow |
| Finite Volume Element Discretization for Thermohaline Flow. More... | |
| class | THSingularSourcesAndSinks |
| class | TimestepObserver |
| Observer that logs the time step history (time and dt) to a text file. More... | |
| class | UnionsOfBoxes |
| class | ValSurfProjData |
| class | ValueById |
| class | VertexLowDimRecharge |
| class | VertexRiverRecharge |
| class | VertexWellRecharge |
Functions | |
| template<int dim> | |
| bool | boxes_overlap (const AABox< MathVector< dim > > &a, const AABox< MathVector< dim > > &b) |
| Checks if two Axis-Aligned Bounding Boxes (AABox) overlap. | |
| template<int dim> | |
| number | cone_mollifier (number d, number smooth_len) |
| template<> | |
| number | cone_mollifier< 1 > (number d, number smooth_len) |
| template<> | |
| number | cone_mollifier< 2 > (number d, number smooth_len) |
| template<typename TDomain > | |
| void | CorrectFractPositions (ConstSmartPtr< TDomain > domain, SmartPtr< DoFDistribution > dd, std::vector< typename std::pair< MathVector< TDomain::dim >, size_t > > &vPositions, DegeneratedLayerManager< TDomain::dim > *dLayerManager, number step) |
| template<typename TDomain , typename TAlgebra > | |
| SmartPtr< LimexTimeIntegrator< TDomain, TAlgebra > > | create_limex_solver (number tolerance, SmartPtr< DomainDiscretization< TDomain, TAlgebra > > domain_disc, SmartPtr< TDomain > domain, const char *cmp="") |
| Creates and configures the Limex Time Integrator for the St. Venant equations. | |
| template<int dim> | |
| void | expand_bbox (AABox< MathVector< dim > > &bbox, const AABox< MathVector< dim > > &other) |
| Expands a bounding box to include another. | |
| template<typename TDomain > | |
| void | FractOrderLex (ApproximationSpace< TDomain > &approxSpace, DegeneratedLayerManager< TDomain::dim > *dLayerManager, number step) |
| orders the all DofDistributions of the ApproximationSpace using lexicographic order | |
| template<typename TDomain > | |
| void | FractOrderLexForDofDist (SmartPtr< DoFDistribution > dd, ConstSmartPtr< TDomain > domain, DegeneratedLayerManager< TDomain::dim > *dLayerManager, number step) |
| orders a dof distribution using lexicographic order | |
| void | InitUGPlugin_Submodules (ug::bridge::Registry *reg, std::string grp) |
| template<typename TGridFunction > | |
| number | IntegrateRiverOutflow (SmartPtr< CplUserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > velocityField, SmartPtr< CplUserData< number, TGridFunction::dim > > scalarField, SmartPtr< TGridFunction > gridFunction, const char *bndSubsets, const char *innerSubsets="", int quadOrder=1) |
| Computes the total mass/volume flux through specified river boundary subsets. | |
| template<int dim> | |
| AABox< MathVector< dim > > | LineBoundingBox (const MathVector< dim > &a, const MathVector< dim > &b) |
| Computes the Axis-Aligned Bounding Box for a line segment. | |
| template<int dim> | |
| int | longest_axis (const AABox< MathVector< dim > > &box) |
| Identifies the axis along which the bounding box has the largest extent. Used as a heuristic for splitting the BVH tree. | |
| template<typename TDomain > | |
| void | project_rivers_on_terrain (SmartPtr< TDomain > river_domain, SmartPtr< TDomain > soil_domain, const char *top_subset) |
| Projects a 1D river network onto the surface of a 3D terrain. | |
| bool ug::d3f::boxes_overlap | ( | const AABox< MathVector< dim > > & | a, |
| const AABox< MathVector< dim > > & | b | ||
| ) |
Checks if two Axis-Aligned Bounding Boxes (AABox) overlap.
Pattern for the circular (axis-symmetric) mollifier function
| dim | dimension of the mollifier |
| d | distance from the axis |
| smooth_len | smoothing length |
|
inline |
Specialization of the mollifier in 1d
| d | distance from the axis |
| smooth_len | smoothing length |
|
inline |
Specialization of the mollifier in 2d
| d | distance from the axis |
| smooth_len | smoothing length |
References ug::PI.
| void ug::d3f::CorrectFractPositions | ( | ConstSmartPtr< TDomain > | domain, |
| SmartPtr< DoFDistribution > | dd, | ||
| std::vector< typename std::pair< MathVector< TDomain::dim >, size_t > > & | vPositions, | ||
| DegeneratedLayerManager< TDomain::dim > * | dLayerManager, | ||
| number | step | ||
| ) |
Corrects the position of the 'outer fracture sides' to mimic the full-dim. fractures
| domain | the domain |
| dd | the dof distribution |
| vPositions | coordinates of the positions |
| dLayerManager | fracture manager to recognize the fractures |
| step | relative step to move the points |
References element_type(), ug::ReferenceElementProvider::get(), ug::DegeneratedLayerManager< int dim >::get_layer_sides(), ug::ReferenceElement::id(), ug::ReferenceElement::num(), ug::ReferenceElement::roid(), ug::DegeneratedLayerManager< int dim >::subset_grp(), UG_ASSERT, UG_THROW, ug::VecDistanceSq(), and ug::VecLength().
Referenced by FractOrderLexForDofDist().
| SmartPtr< LimexTimeIntegrator< TDomain, TAlgebra > > ug::d3f::create_limex_solver | ( | number | tolerance, |
| SmartPtr< DomainDiscretization< TDomain, TAlgebra > > | domain_disc, | ||
| SmartPtr< TDomain > | domain, | ||
| const char * | cmp = "" |
||
| ) |
Creates and configures the Limex Time Integrator for the St. Venant equations.
References make_sp().
Referenced by ug::d3f::StVenantSubmodule< TGridFunction, dim >::run().
| void ug::d3f::expand_bbox | ( | AABox< MathVector< dim > > & | bbox, |
| const AABox< MathVector< dim > > & | other | ||
| ) |
Expands a bounding box to include another.
| bbox | The box to be expanded. |
| other | The box to be included. |
| void ug::d3f::FractOrderLex | ( | ApproximationSpace< TDomain > & | approxSpace, |
| DegeneratedLayerManager< TDomain::dim > * | dLayerManager, | ||
| number | step | ||
| ) |
orders the all DofDistributions of the ApproximationSpace using lexicographic order
| approxSpace | approx. space to order in |
| dLayerManager | fracture manager to recognize the fractures (or NULL) |
| step | relative step to move the points |
References ug::IApproximationSpace::dof_distributions(), and ug::ApproximationSpace< typename TDomain >::domain().
| void ug::d3f::FractOrderLexForDofDist | ( | SmartPtr< DoFDistribution > | dd, |
| ConstSmartPtr< TDomain > | domain, | ||
| DegeneratedLayerManager< TDomain::dim > * | dLayerManager, | ||
| number | step | ||
| ) |
orders a dof distribution using lexicographic order
Orders a dof distribution using lexicographic order. If the fracture manager is specified then the coordinates of the vertices are corrected to simulate full-dimensional fractues.
world ('full') dimension
world ('full') dimension
| dd | the dof distribution |
| domain | the domain |
| dLayerManager | fracture manager to recognize the fractures |
| step | relative step to move the points |
References CorrectFractPositions(), ug::LFEID::LAGRANGE, and UG_THROW.
| void ug::d3f::InitUGPlugin_Submodules | ( | ug::bridge::Registry * | reg, |
| std::string | grp | ||
| ) |
| number ug::d3f::IntegrateRiverOutflow | ( | SmartPtr< CplUserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > | velocityField, |
| SmartPtr< CplUserData< number, TGridFunction::dim > > | scalarField, | ||
| SmartPtr< TGridFunction > | gridFunction, | ||
| const char * | bndSubsets, | ||
| const char * | innerSubsets = "", |
||
| int | quadOrder = 1 |
||
| ) |
Computes the total mass/volume flux through specified river boundary subsets.
This function calculates the cumulative outflow by summing nodal fluxes at the "Sink" vertices of the 1D river network. It assumes that the river network is discretized such that sink nodes represent terminal points where water leaves the domain.
The calculation is: \sum_{nodes \in \Gamma} |v * A| where v is the flow velocity and A is the wetted cross-sectional area.
| TGridFunction | The grid function type (must provide access to A and v components). |
| velocityField | (Unused) Retained for interface compatibility with standard integrators. |
| scalarField | (Unused) Retained for interface compatibility with standard integrators. |
| gridFunction | The grid function containing river state (A and v). |
| bndSubsets | Comma-separated string of subset names (e.g., "Sink"). |
| innerSubsets | (Unused) |
| quadOrder | (Unused) |
References ug::SubsetGroup::add(), ug::DoFRef(), ug::SubsetGroup::size(), and ug::TokenizeString().
| AABox< MathVector< dim > > ug::d3f::LineBoundingBox | ( | const MathVector< dim > & | a, |
| const MathVector< dim > & | b | ||
| ) |
Computes the Axis-Aligned Bounding Box for a line segment.
References ug::AABox< class vector_t >::max, and ug::AABox< class vector_t >::min.
| int ug::d3f::longest_axis | ( | const AABox< MathVector< dim > > & | box | ) |
Identifies the axis along which the bounding box has the largest extent. Used as a heuristic for splitting the BVH tree.
| void ug::d3f::project_rivers_on_terrain | ( | SmartPtr< TDomain > | river_domain, |
| SmartPtr< TDomain > | soil_domain, | ||
| const char * | top_subset | ||
| ) |
Projects a 1D river network onto the surface of a 3D terrain.
This function adjusts the z-coordinates of the river vertices so that they lie exactly on the specified "top" subset of the 3D subsurface domain.
It uses a two-step approach:
| TDomain | The domain type (must support position accessors and subset handlers). |
| river_domain | The domain containing the 1D river network. |
| soil_domain | The domain containing the 3D terrain/soil. |
| top_subset | The name of the surface subset in the soil domain (e.g., "top"). |
References ug::PointOnRay(), pcl::ProcRank(), ug::RayElementIntersection(), ug::SaveGridToUGX(), ug::SMALL, UG_ASSERT, UG_LOG, and UG_THROW.