|
Plugins
|
#include <rivers.h>
Inheritance diagram for ug::d3f::VertexLowDimRecharge< TGridFunction >:Public Types | |
| 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 | 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 const int | mol_dim = dim - 1 |
| dimension of the mollifier | |
Protected Member Functions | |
| virtual void | compute_depths ()=0 |
| prepares the depth of the recharge objects | |
| 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 | |
| virtual number | simple_smoothed_recharge_at (MathVector< dim > &x) const =0 |
| virtual number | smoothed_recharge_at (MathVector< dim > &x) const =0 |
| computes the smoothed recharge at a given point | |
Protected Attributes | |
| 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 | |
Base class for the low-dimentional recharge objects
| TFunction | type of the vertex-centered grid function |
| typedef TGridFunction::algebra_type ug::d3f::VertexLowDimRecharge< TGridFunction >::algebra_type |
type of the algebra
| typedef TGridFunction::domain_type ug::d3f::VertexLowDimRecharge< TGridFunction >::domain_type |
type of the domain
| typedef grid_dim_traits<dim>::side_type ug::d3f::VertexLowDimRecharge< TGridFunction >::g_surf_elem_t |
type of the elements constituting surfaces in the grid
| typedef geometry_traits<g_surf_elem_t>::iterator ug::d3f::VertexLowDimRecharge< TGridFunction >::g_surf_iter_t |
type of the iterator of the grid surface elements
| typedef TGridFunction ug::d3f::VertexLowDimRecharge< TGridFunction >::grid_func_type |
grid function type
| typedef domain_type::grid_type ug::d3f::VertexLowDimRecharge< TGridFunction >::grid_type |
grid type
| typedef RayElemIntersectionRecord<g_surf_elem_t*> ug::d3f::VertexLowDimRecharge< TGridFunction >::top_intersection_record_t |
| typedef lg_ntree<dim-1, dim, g_surf_elem_t> ug::d3f::VertexLowDimRecharge< TGridFunction >::top_tracer_tree_t |
|
inline |
constructor
| smoothLen | the smoothing parameter |
| spLSF | the grid function |
| void ug::d3f::VertexLowDimRecharge< TGridFunction >::compute | ( | SmartPtr< grid_func_type > | spRecharge | ) |
computes the recharge at the vertices
Computes the recharge at the vertices.
| spRecharge | to save the computed recharge |
References ug::DoFRef().
|
protectedpure virtual |
prepares the depth of the recharge objects
Implemented in ug::d3f::VertexWellRecharge< TGridFunction >, and ug::d3f::VertexRiverRecharge< TGridFunction >.
|
inlineprotected |
computes the z-coordinate of the level set at a given point
References ug::d3f::LSPositionZ< TGridFunction >::get_height_at(), and ug::d3f::VertexLowDimRecharge< TGridFunction >::m_lsPosZ.
|
protected |
get the intersection with the top
| over | to look over this point |
References ug::SubsetGroup::clear(), end_for, for_each_in_vec, ug::PointOnRay(), ug::RayElementIntersections(), and ug::RayElemIntersectionRecord< class TElem >::smin.
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::min_top_depth().
|
inlineprotected |
returns true iff the depths should be relative
References ug::d3f::VertexLowDimRecharge< TGridFunction >::m_spTopTracerTree.
|
inline |
returns the set maximum depth difference
References ug::d3f::VertexLowDimRecharge< TGridFunction >::m_max_depth_diff.
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::restrict_depth().
|
inlineprotected |
computes the minimum z-coordinate of the top surface (returns the number of the intersections)
References ug::d3f::VertexLowDimRecharge< TGridFunction >::dim, ug::d3f::VertexLowDimRecharge< TGridFunction >::get_top_z(), and ug::d3f::VertexLowDimRecharge< TGridFunction >::m_topTracePoints.
|
inline |
returns the state of the possible inflow
References ug::d3f::VertexLowDimRecharge< TGridFunction >::m_no_inflow.
|
inlineprotected |
the river recharge intensivity (according to the model)
| h_s | water level in the object (e.g. the river) |
| h_fs | water level of the free surface |
| w | width/diameter/etc of the object |
References ug::d3f::VertexLowDimRecharge< TGridFunction >::m_constant_flux, ug::d3f::VertexLowDimRecharge< TGridFunction >::m_density, ug::d3f::VertexLowDimRecharge< TGridFunction >::m_e, ug::d3f::VertexLowDimRecharge< TGridFunction >::m_gravity, ug::d3f::VertexLowDimRecharge< TGridFunction >::m_is_constant, ug::d3f::VertexLowDimRecharge< TGridFunction >::m_perm, and ug::d3f::VertexLowDimRecharge< TGridFunction >::m_viscosity.
|
inlineprotected |
initializes the level-set z-coordinate computations
References ug::d3f::VertexLowDimRecharge< TGridFunction >::m_lsPosZ, and ug::d3f::LSPositionZ< TGridFunction >::reinit().
|
inline |
returns the state of the depth restriction
References ug::d3f::VertexLowDimRecharge< TGridFunction >::m_restrict_depth.
|
inline |
|
inline |
sets the thickness of the bottom
References ug::d3f::VertexLowDimRecharge< TGridFunction >::m_e.
|
inline |
sets the constant flux (mainly for debugging purposes)
References ug::d3f::VertexLowDimRecharge< TGridFunction >::m_constant_flux, and ug::d3f::VertexLowDimRecharge< TGridFunction >::m_is_constant.
|
inline |
sets the density of the water
References ug::d3f::VertexLowDimRecharge< TGridFunction >::m_density.
|
inline |
sets the gravity
References ug::d3f::VertexLowDimRecharge< TGridFunction >::m_gravity.
|
inline |
switches the possible inflow on/off
References ug::d3f::VertexLowDimRecharge< TGridFunction >::m_no_inflow.
|
inline |
sets the permeability of the bottom
References ug::d3f::VertexLowDimRecharge< TGridFunction >::m_perm.
|
inline |
specifyes the subsets of the top
References ug::d3f::VertexLowDimRecharge< TGridFunction >::set_relative_to().
|
inline |
specifyes the subsets of the top
References ug::d3f::VertexLowDimRecharge< TGridFunction >::set_relative_to().
| void ug::d3f::VertexLowDimRecharge< TGridFunction >::set_relative_to | ( | const char * | subsetNames, |
| number | top_tolerance, | ||
| int | top_grid_level | ||
| ) |
specifyes the subsets of the top
| subsetNames | subsets of the top |
| top_tolerance | tolerance for the projection to the top |
| top_grid_level | grid level of the top surface (or -1 if not specified) |
References ug::SubsetGroup::add(), ug::MultiGridSubsetHandler::begin(), ug::MultiGridSubsetHandler::end(), ug::MultiGrid::has_children(), ug::MultiGridSubsetHandler::num_levels(), ug::SubsetGroup::size(), and ug::TokenizeString().
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::set_relative_to(), and ug::d3f::VertexLowDimRecharge< TGridFunction >::set_relative_to().
|
inline |
sets the viscosity of the water
References ug::d3f::VertexLowDimRecharge< TGridFunction >::m_viscosity.
| void ug::d3f::VertexLowDimRecharge< TGridFunction >::simple_compute | ( | SmartPtr< grid_func_type > | spRecharge | ) |
computes the recharge at the vertices
Computes the recharge at the vertices.
to save the computed recharge
| spRecharge | to save the computed recharge |
References ug::DoFRef().
|
protectedpure virtual |
| x | coordinates of the points where to get the recharge |
Implemented in ug::d3f::VertexWellRecharge< TGridFunction >, and ug::d3f::VertexRiverRecharge< TGridFunction >.
|
inline |
returns the smoothing parameter
References ug::d3f::VertexLowDimRecharge< TGridFunction >::m_smoothLen.
|
protectedpure virtual |
computes the smoothed recharge at a given point
| x | coordinates of the points where to get the recharge |
Implemented in ug::d3f::VertexWellRecharge< TGridFunction >, and ug::d3f::VertexRiverRecharge< TGridFunction >.
|
static |
world dimension
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::min_top_depth().
|
protected |
the intensity per unit length if constant (all other parameters are ignored)
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::object_recharge(), and ug::d3f::VertexLowDimRecharge< TGridFunction >::set_constant_flux().
|
protected |
density of the water
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::object_recharge(), and ug::d3f::VertexLowDimRecharge< TGridFunction >::set_density().
|
protected |
thickness of the bottom
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::object_recharge(), and ug::d3f::VertexLowDimRecharge< TGridFunction >::set_bottom_thickness().
|
protected |
|
protected |
if to use the constant intensity
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::object_recharge(), and ug::d3f::VertexLowDimRecharge< TGridFunction >::set_constant_flux().
|
protected |
depth measurer for the level set
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::get_ls_height_at(), and ug::d3f::VertexLowDimRecharge< TGridFunction >::prepare_ls_height().
|
protected |
max. depth difference (if restricted)
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::max_depth_diff(), and ug::d3f::VertexLowDimRecharge< TGridFunction >::restrict_depth().
|
protected |
whether to switch the possible inflow off
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::no_inflow(), and ug::d3f::VertexLowDimRecharge< TGridFunction >::set_no_inflow().
|
protected |
permeability of the bottom
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::object_recharge(), and ug::d3f::VertexLowDimRecharge< TGridFunction >::set_permeability().
|
protected |
if to restrict the depth
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::restrict_depth(), and ug::d3f::VertexLowDimRecharge< TGridFunction >::restrict_depth().
|
protected |
smoothing parameter (of the mollifier)
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::smooth_len().
|
protected |
tree for the top ray traicer
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::ls_depth_is_relative().
|
protected |
tolerance for the projection to the top
|
protected |
top intersection tracer auxiliary data struction
|
protected |
intersection points with the top subsets
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::min_top_depth().
|
protected |
viscosity of the water
Referenced by ug::d3f::VertexLowDimRecharge< TGridFunction >::object_recharge(), and ug::d3f::VertexLowDimRecharge< TGridFunction >::set_viscosity().
|
static |
dimension of the mollifier