33#ifndef __H__UG__NAVIER_STOKES__BND__INFLOW_FVCR_IMPL__
34#define __H__UG__NAVIER_STOKES__BND__INFLOW_FVCR_IMPL__
41template <
typename TDomain,
typename TAlgebra>
47 const std::vector<std::string>& vFctName =
m_spMaster->symb_fcts();
49 if(vFctName.size() != TDomain::dim + 1)
50 UG_THROW(
"NavierStokesInflow::set_functions: This Boundary "
51 "Condition works on exactly dim+1 (velocity+pressure) "
52 "components, but "<<vFctName.size()<<
"components given.");
55template <
typename TDomain,
typename TAlgebra>
59 const std::vector<std::string>& vFctName = m_spMaster->symb_fcts();
61 UG_THROW(
"NavierStokesInflow::add: Symbolic names for"
62 " velocity and pressure not set. Please set them first.");
65 for(
int i=0;i<TDomain::dim; ++i)
67 if(i>0) velNames.append(
",");
68 velNames.append(vFctName[i]);
70 m_spDirichletConstraint->add(user.template cast_dynamic<
UserData<
MathVector<dim>, dim> >(), velNames.c_str(), subsetsBND);
function NavierStokes(fcts, subsets, discType)
Definition navier_stokes_fvcr.h:57
NavierStokesInflowFVCR(SmartPtr< NavierStokesFVCR< TDomain > > spMaster)
Constructor.
Definition inflow_fvcr_impl.h:43
void add(SmartPtr< CplUserData< MathVector< dim >, dim > > user, const char *subsetsBND)
sets the velocity to a given value
Definition inflow_fvcr_impl.h:57
SmartPtr< NavierStokesFVCR< TDomain > > m_spMaster
The master discretization:
Definition inflow_fvcr.h:76
function ProblemDisc new(problemDesc, dom)