6#ifndef D3F_ST_VENANT_WALL_BND_H
7#define D3F_ST_VENANT_WALL_BND_H
51 evaluate<refDim>(vValue, vGlobIP,
time, si, elem, vCornerCoords, vLocIP, nip, u, vJT);
55 UG_THROW(
"StVenantWallBndDir: Solution, element and local IPs required for evaluation.");
79 elemNormal = vCornerCoords[1];
80 elemNormal -= vCornerCoords[0];
82 elemNormal = vCornerCoords[0];
83 elemNormal -= vCornerCoords[1];
88 (*m_downStreamVec)(downStreamVec, vGlobIP,
time, si, elem, vCornerCoords, vLocIP, nip, u, vJT);
91 for (
size_t ip = 0;
ip < nip; ++
ip) {
92 vValue[
ip] =
VecDot(downStreamVec[
ip], elemNormal);
107 std::vector<std::vector<number>> vvvDeriv[],
110 evaluate<refDim>(vValue, vGlobIP,
time, si, elem, vCornerCoords, vLocIP, nip, u, vJT);
parameterString s
Definition Biogas.lua:2
TData & value(size_t s, size_t ip)
const MathVector< dim > & ip(size_t s, size_t ip) const
Linker to evaluate the normal component of a downstream vector at a boundary.
Definition st_venant_wall_bnd.h:24
void evaluate(number &value, const MathVector< dim > &globIP, number time, int si) const
Definition st_venant_wall_bnd.h:54
virtual void operator()(number &value, const MathVector< dim > &globIP, number time, int si) const
Definition st_venant_wall_bnd.h:36
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) const
Definition st_venant_wall_bnd.h:97
CplUserData< MathVector< dim >, dim > TVectorData
Definition st_venant_wall_bnd.h:26
CplUserData< number, dim > TNumberData
Definition st_venant_wall_bnd.h:25
StVenantWallBndDir(SmartPtr< TVectorData > downstreamvec)
Constructor.
Definition st_venant_wall_bnd.h:33
bool requires_grid_fct() const
Definition st_venant_wall_bnd.h:114
void evaluate(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, const MathMatrix< refDim, dim > *vJT=NULL) const
Evaluates the dot product of the downstream vector and the boundary normal.
Definition st_venant_wall_bnd.h:62
void operator()(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, const MathMatrix< refDim, dim > *vJT=NULL) const
Definition st_venant_wall_bnd.h:41
SmartPtr< TVectorData > m_downStreamVec
Definition st_venant_wall_bnd.h:117
void VecNormalize(vector_t &vOut, const vector_t &v)
vector_t::value_type VecDot(const vector_t &v1, const vector_t &v2)
TVector::value_type VecDistanceSq(const TVector &v1, const TVector &v2, const TMatrix &M)