33 #ifndef __H__UG__NAVIER_STOKES__BND__INFLOW_FV1_IMPL__
34 #define __H__UG__NAVIER_STOKES__BND__INFLOW_FV1_IMPL__
42 template <
typename TDomain,
typename TAlgebra>
49 const std::vector<std::string>& vFctName =
m_spMaster->symb_fcts();
52 UG_THROW(
"NavierStokesInflow::set_functions: This Boundary "
53 "Condition works on exactly dim+1 (velocity+pressure) "
54 "components, but "<<vFctName.size()<<
"components given.");
57 template <
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());
78 if(i>0) velNames.append(
",");
79 velNames.append(vFctName[i]);
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)