5#ifndef UG4_RICHARDS_FS_HEIGHT_H
6#define UG4_RICHARDS_FS_HEIGHT_H
7#include "../../level_set_pos.h"
20template <
typename TGr
idFunction>
22:
public StdDependentUserData<RichardsFreeSurfaceHeight<TGridFunction>, number, TGridFunction::dim> {
26 static const int dim = gf_type::dim;
58 const char *
subset =
"top",
59 const char * cmp =
"p"
94 std::vector<std::vector<number> > vvvDeriv[],
106 :
xy (the_xy),
valid(false) {};
parameterString s
Definition Biogas.lua:2
Definition level_set_pos.h:48
Computes and stores the height of the free water surface (e.g., where pressure is 0) for the Richards...
Definition richards_fs_height.h:22
SmartPtr< gf_type > m_spGf
Definition richards_fs_height.h:110
SubsetGroup m_SsGrp
Definition richards_fs_height.h:109
glob_userdata_type m_glob_userdata
Definition richards_fs_height.h:112
virtual bool continuous() const
We consider here the height as a continuous field (although it is not completely so)
Definition richards_fs_height.h:70
GlobalGridFunctionNumberData< TGridFunction > glob_userdata_type
type of the class for getting the values of a grid function by a global coordinate
Definition richards_fs_height.h:36
Attachment< size_t > num_a_type
type of the attachment numbering the vertices
Definition richards_fs_height.h:39
const char * m_cmp
Definition richards_fs_height.h:111
RichardsFreeSurfaceHeight< gf_type > this_type
Definition richards_fs_height.h:27
Attachment< number > val_a_type
type of the attachment numbering the vertices
Definition richards_fs_height.h:42
StdDependentUserData< this_type, number, dim > base_type
Definition richards_fs_height.h:28
virtual bool requires_grid_fct() const
Returns true to get the grid element in the evaluation routine.
Definition richards_fs_height.h:73
val_a_type m_a_vrt_val
Definition richards_fs_height.h:114
void reinit()
Reinitializes the measurer.
Definition richards_fs_height_impl.h:45
num_a_type m_a_vrt_num
Definition richards_fs_height.h:113
void eval_and_deriv(number vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< refDim > vLocIP[], const size_t nip, LocalVector *u, bool bDeriv, int s, std::vector< std::vector< number > > vvvDeriv[], const MathMatrix< refDim, dim > *vJT=NULL)
Evaluates the free surface height at integration points of a grid element.
Definition richards_fs_height_impl.h:152
std::vector< t_pnt_data > m_measurement_points
Definition richards_fs_height.h:108
TGridFunction gf_type
Definition richards_fs_height.h:25
LSPositionZ< TGridFunction > measurer_type
type of free surface measurer
Definition richards_fs_height.h:33
Grid::VertexAttachmentAccessor< num_a_type > num_aa_type
type of the attachment accessor for the numbering attachment
Definition richards_fs_height.h:45
measurer_type m_sp_ls_pos_z
Definition richards_fs_height.h:116
domain_type::position_accessor_type pos_acc_type
Definition richards_fs_height.h:30
Grid::VertexAttachmentAccessor< val_a_type > val_aa_type
type of the attachment accessor for the value attachment
Definition richards_fs_height.h:48
SmartPtr< std::vector< number > > m_sp_vrt_val
Definition richards_fs_height.h:115
static const int dim
Definition richards_fs_height.h:26
gf_type::domain_type domain_type
Definition richards_fs_height.h:29
Internal structure to hold cached measurement data for a specific vertex point.
Definition richards_fs_height.h:100
number z
computed value of the z-coordiate
Definition richards_fs_height.h:102
t_pnt_data(MathVector< dim-1 > &the_xy)
Definition richards_fs_height.h:105
bool valid
if not computed or the level set is not covered by the top surface
Definition richards_fs_height.h:103
MathVector< dim-1 > xy
low-dim coordinate of the point
Definition richards_fs_height.h:101