|
Plugins
|
#include <rivers.h>
Inheritance diagram for ug::d3f::VertexWellRecharge< TGridFunction >:Classes | |
| struct | well_recharge_data_t |
| data of a recharge well More... | |
Public Types | |
| typedef TGridFunction::algebra_type | algebra_type |
| type of the algebra | |
| typedef TGridFunction::domain_type | domain_type |
| type of the domain | |
| typedef TGridFunction | grid_func_type |
| grid function type | |
| typedef domain_type::grid_type | grid_type |
| grid type | |
Public Types inherited from ug::d3f::VertexLowDimRecharge< TGridFunction > | |
| typedef TGridFunction::algebra_type | algebra_type |
| type of the algebra | |
| typedef TGridFunction::domain_type | domain_type |
| type of the domain | |
| typedef grid_dim_traits< dim >::side_type | g_surf_elem_t |
| type of the elements constituting surfaces in the grid | |
| typedef geometry_traits< g_surf_elem_t >::iterator | g_surf_iter_t |
| type of the iterator of the grid surface elements | |
| typedef TGridFunction | grid_func_type |
| grid function type | |
| typedef domain_type::grid_type | grid_type |
| grid type | |
| typedef RayElemIntersectionRecord< g_surf_elem_t * > | top_intersection_record_t |
| typedef lg_ntree< dim-1, dim, g_surf_elem_t > | top_tracer_tree_t |
Public Member Functions | |
| void | add_well (MathVector< dim-1 > &x, number depth) |
| adds a well | |
| void | add_well (std::vector< number > coord, number depth) |
| adds a well | |
| void | set_width (number riverWidth) |
| sets the diameter of the wells | |
| VertexWellRecharge (number smoothLen, SmartPtr< grid_func_type > spLSF) | |
| class constructor | |
| virtual | ~VertexWellRecharge () |
| class destructor | |
Public Member Functions inherited from ug::d3f::VertexLowDimRecharge< TGridFunction > | |
| void | compute (SmartPtr< grid_func_type > spRecharge) |
| computes the recharge at the vertices | |
| number | max_depth_diff () const |
| returns the set maximum depth difference | |
| bool | no_inflow () const |
| returns the state of the possible inflow | |
| bool | restrict_depth () const |
| returns the state of the depth restriction | |
| void | restrict_depth (number max_depth_diff) |
| restricts the depth | |
| void | set_bottom_thickness (number e) |
| sets the thickness of the bottom | |
| void | set_constant_flux (number flux) |
| sets the constant flux (mainly for debugging purposes) | |
| void | set_density (number rho) |
| sets the density of the water | |
| void | set_gravity (number g) |
| sets the gravity | |
| void | set_no_inflow (bool b) |
| switches the possible inflow on/off | |
| void | set_permeability (number k) |
| sets the permeability of the bottom | |
| void | set_relative_to (const char *subsetNames) |
| specifyes the subsets of the top | |
| void | set_relative_to (const char *subsetNames, number top_tolerance) |
| specifyes the subsets of the top | |
| void | set_relative_to (const char *subsetNames, number top_tolerance, int top_grid_level) |
| specifyes the subsets of the top | |
| void | set_viscosity (number mu) |
| sets the viscosity of the water | |
| void | simple_compute (SmartPtr< grid_func_type > spRecharge) |
| computes the recharge at the vertices | |
| number | smooth_len () const |
| returns the smoothing parameter | |
| VertexLowDimRecharge (number smoothLen, SmartPtr< grid_func_type > spLSF) | |
| constructor | |
Static Public Attributes | |
| static const int | dim = TGridFunction::dim |
| world dimension | |
Static Public Attributes inherited from ug::d3f::VertexLowDimRecharge< TGridFunction > | |
| static const int | dim = TGridFunction::dim |
| world dimension | |
| static const int | mol_dim = dim - 1 |
| dimension of the mollifier | |
Private Types | |
| typedef VertexWellRecharge< TGridFunction > | this_type |
| this type | |
Private Member Functions | |
| virtual void | compute_depths () |
| fills the attachment with the depths of the free surface | |
| virtual number | simple_smoothed_recharge_at (MathVector< dim > &x) const |
| computes the smoothed recharge at a given point | |
| virtual number | smoothed_recharge_at (MathVector< dim > &x) const |
| computes the smoothed recharge at a given point | |
Private Attributes | |
| std::vector< well_recharge_data_t > | m_wells |
| array of the wells: | |
| number | m_width |
| diameter of the wells - meant to be the default one | |
Additional Inherited Members | |
Protected Member Functions inherited from ug::d3f::VertexLowDimRecharge< TGridFunction > | |
| number | get_ls_height_at (MathVector< dim-1 > &x) |
| computes the z-coordinate of the level set at a given point | |
| size_t | get_top_z (const MathVector< dim > &over) |
| get the intersection with the top | |
| bool | ls_depth_is_relative () |
| returns true iff the depths should be relative | |
| size_t | min_top_depth (MathVector< dim-1 > &x, number &min_depth) |
| computes the minimum z-coordinate of the top surface (returns the number of the intersections) | |
| number | object_recharge (number h_s, number h_fs, number w) const |
| the river recharge intensivity (according to the model) | |
| void | prepare_ls_height () |
| initializes the level-set z-coordinate computations | |
Protected Attributes inherited from ug::d3f::VertexLowDimRecharge< TGridFunction > | |
| number | m_constant_flux |
| the intensity per unit length if constant (all other parameters are ignored) | |
| number | m_density |
| density of the water | |
| number | m_e |
| thickness of the bottom | |
| number | m_gravity |
| gravity | |
| bool | m_is_constant |
| if to use the constant intensity | |
| LSPositionZ< grid_func_type > | m_lsPosZ |
| depth measurer for the level set | |
| number | m_max_depth_diff |
| max. depth difference (if restricted) | |
| bool | m_no_inflow |
| whether to switch the possible inflow off | |
| number | m_perm |
| permeability of the bottom | |
| bool | m_restrict_depth |
| if to restrict the depth | |
| number | m_smoothLen |
| smoothing parameter (of the mollifier) | |
| SmartPtr< top_tracer_tree_t > | m_spTopTracerTree |
| tree for the top ray traicer | |
| number | m_top_tolerance |
| tolerance for the projection to the top | |
| std::vector< top_intersection_record_t > | m_topIntersectionRecords |
| top intersection tracer auxiliary data struction | |
| std::vector< MathVector< dim > > | m_topTracePoints |
| intersection points with the top subsets | |
| number | m_viscosity |
| viscosity of the water | |
Class for the computation of the "0d rivers in 2d" or the recharge wells
This class computes the (positive or negative) recharge introduced by the "0d rivers in 2d" or the recharge wells at the vertices of the computation grid.
| TFunction | type of the vertex-centered grid function |
| typedef TGridFunction::algebra_type ug::d3f::VertexWellRecharge< TGridFunction >::algebra_type |
type of the algebra
| typedef TGridFunction::domain_type ug::d3f::VertexWellRecharge< TGridFunction >::domain_type |
type of the domain
| typedef TGridFunction ug::d3f::VertexWellRecharge< TGridFunction >::grid_func_type |
grid function type
| typedef domain_type::grid_type ug::d3f::VertexWellRecharge< TGridFunction >::grid_type |
grid type
|
private |
this type
|
inline |
class constructor
| smoothLen | the smoothing parameter |
| spLSF | the grid function |
|
inlinevirtual |
class destructor
|
inline |
adds a well
References ug::d3f::VertexWellRecharge< TGridFunction >::m_wells.
|
inline |
adds a well
References ug::d3f::VertexWellRecharge< TGridFunction >::dim, ug::d3f::VertexWellRecharge< TGridFunction >::m_wells, and UG_THROW.
|
privatevirtual |
fills the attachment with the depths of the free surface
Computes the depths of the wells.
Implements ug::d3f::VertexLowDimRecharge< TGridFunction >.
References pcl::ProcessCommunicator::allreduce(), ug::d3f::VertexWellRecharge< TGridFunction >::well_recharge_data_t::fs_depth, PCL_RO_MAX, PCL_RO_MIN, UG_THROW, ug::d3f::VertexWellRecharge< TGridFunction >::well_recharge_data_t::well_depth, ug::d3f::VertexWellRecharge< TGridFunction >::well_recharge_data_t::well_depth_spec, and ug::d3f::VertexWellRecharge< TGridFunction >::well_recharge_data_t::x.
|
inline |
sets the diameter of the wells
References ug::d3f::VertexWellRecharge< TGridFunction >::m_width.
|
privatevirtual |
computes the smoothed recharge at a given point
| x | coordinates of the points where to get the recharge |
Implements ug::d3f::VertexLowDimRecharge< TGridFunction >.
|
privatevirtual |
computes the smoothed recharge at a given point
Computes the smoothed recharge of all the wells in a given neighbourhood.
| x | coordinates of the points where to get the recharge |
Implements ug::d3f::VertexLowDimRecharge< TGridFunction >.
References ug::d3f::VertexWellRecharge< TGridFunction >::well_recharge_data_t::fs_depth, ug::VecDistance(), ug::d3f::VertexWellRecharge< TGridFunction >::well_recharge_data_t::well_depth, and ug::d3f::VertexWellRecharge< TGridFunction >::well_recharge_data_t::x.
|
static |
world dimension
Referenced by ug::d3f::VertexWellRecharge< TGridFunction >::add_well().
|
private |
array of the wells:
Referenced by ug::d3f::VertexWellRecharge< TGridFunction >::add_well(), and ug::d3f::VertexWellRecharge< TGridFunction >::add_well().
|
private |
diameter of the wells - meant to be the default one
Referenced by ug::d3f::VertexWellRecharge< TGridFunction >::set_width().