33#ifndef __H__UG__NAVIER_STOKES__BND__INFLOW_FV1_IMPL__
34#define __H__UG__NAVIER_STOKES__BND__INFLOW_FV1_IMPL__
42template <
typename TDomain,
typename TAlgebra>
49 const std::vector<std::string>& vFctName =
m_spMaster->symb_fcts();
51 if(vFctName.size() != TDomain::dim + 1)
52 UG_THROW(
"NavierStokesInflow::set_functions: This Boundary "
53 "Condition works on exactly dim+1 (velocity+pressure) "
54 "components, but "<<vFctName.size()<<
"components given.");
57template <
typename TDomain,
typename TAlgebra>
61 const std::vector<std::string>& vFctName = m_spMaster->symb_fcts();
63 UG_THROW(
"NavierStokesInflow::add: Symbolic names for"
64 " velocity and pressure not set. Please set them first.");
66 std::string innerSubsets;
67 for(
size_t s = 0;
s < m_spMaster->symb_subsets().size(); ++
s){
68 if(
s > 0) innerSubsets.append(
",");
69 innerSubsets.append(m_spMaster->symb_subsets()[
s]);
73 m_spNeumannDisc->add(user, subsetsBND, innerSubsets.c_str());
76 for(
int i=0;i<TDomain::dim; ++i)
78 if(i>0) velNames.append(
",");
79 velNames.append(vFctName[i]);
81 m_spDirichletConstraint->add(user.template cast_dynamic<
UserData<
MathVector<dim>, dim> >(), velNames.c_str(), subsetsBND);
parameterString s
Definition Biogas.lua:2
function NavierStokes(fcts, subsets, discType)
Finite Volume Element Discretization for the incompressible Navier-Stokes Equation.
Definition navier_stokes_fv1.h:148
SmartPtr< NavierStokesFV1< TDomain > > m_spMaster
The master discretization:
Definition inflow_fv1.h:80
NavierStokesInflowFV1(SmartPtr< NavierStokesFV1< TDomain > > spMaster)
Constructor.
Definition inflow_fv1_impl.h:44
void add(SmartPtr< CplUserData< MathVector< dim >, dim > > user, const char *subsetsBND)
sets the velocity to a given value
Definition inflow_fv1_impl.h:59
function ProblemDisc new(problemDesc, dom)