src/solvers/hydro/hydro.cc
/**
 ********************************************************************************************************************************************
 * \brief   Function to initialize the boundary conditions for velocity
 *
 *          The boundary conditions for all the 6 walls (4 in case of 2D simulations) are initialized here.
 *          Out of the different boundary conditions available in the boundary class,
 *          the appropriate BCs are chosen according to the type of problem being solved.
 ********************************************************************************************************************************************
 */
\brief   Function to initialize the boundary conditions for velocity
The boundary conditions for all the 6 walls (4 in case of 2D simulations) are initialized here.
Out of the different boundary conditions available in the boundary class,
the appropriate BCs are chosen according to the type of problem being solved.
\ brief Function to initialize the boundary conditions for velocity The boundary conditions for all the 6 walls ( 4 in case of 2D simulations ) are initialized here . Out of the different boundary conditions available in the boundary class the appropriate BCs are chosen according to the type of problem being solved .
void hydro::initVBC() {
    if (inputParams.probType == 3) {
        uLft = new dirichletFC(mesh, V.Vx, 0, 1.0);
        uRgt = new neumannFC(mesh, V.Vx, 1, 0.0);
    } else {
        uLft = new dirichletFC(mesh, V.Vx, 0, 0.0);
        uRgt = new dirichletFC(mesh, V.Vx, 1, 0.0);
    }
#ifndef PLANAR
    uFrn = new dirichletCC(mesh, V.Vx, 2, 0.0);
    uBak = new dirichletCC(mesh, V.Vx, 3, 0.0);
#endif
    if (inputParams.zPer) {
        uBot = new periodicCC(mesh, V.Vx, 4);
        uTop = new periodicCC(mesh, V.Vx, 5);
    } else {
        if (inputParams.probType == 1) {
             FOR LDC
            uBot = new dirichletCC(mesh, V.Vx, 4, 0.0);
            uTop = new dirichletCC(mesh, V.Vx, 5, 1.0);
        } else {
            uBot = new dirichletCC(mesh, V.Vx, 4, 0.0);
            uTop = new dirichletCC(mesh, V.Vx, 5, 0.0);
        }
    }
#ifndef PLANAR
    if (inputParams.probType == 3) {
        vLft = new dirichletCC(mesh, V.Vy, 0, 0.0);
        vRgt = new neumannCC(mesh, V.Vy, 1, 0.0);
    } else {
        vLft = new dirichletCC(mesh, V.Vy, 0, 0.0);
        vRgt = new dirichletCC(mesh, V.Vy, 1, 0.0);
    }
    vFrn = new dirichletFC(mesh, V.Vy, 2, 0.0);
    vBak = new dirichletFC(mesh, V.Vy, 3, 0.0);
    if (inputParams.zPer) {
        vBot = new periodicCC(mesh, V.Vy, 4);
        vTop = new periodicCC(mesh, V.Vy, 5);
    } else {
        vBot = new dirichletCC(mesh, V.Vy, 4, 0.0);
        vTop = new dirichletCC(mesh, V.Vy, 5, 0.0);
    }
#endif
    if (inputParams.probType == 3) {
        wLft = new dirichletCC(mesh, V.Vz, 0, 0.0);
        wRgt = new neumannCC(mesh, V.Vz, 1, 0.0);
    } else {
        wLft = new dirichletCC(mesh, V.Vz, 0, 0.0);
        wRgt = new dirichletCC(mesh, V.Vz, 1, 0.0);
    }
#ifndef PLANAR
    wFrn = new dirichletCC(mesh, V.Vz, 2, 0.0);
    wBak = new dirichletCC(mesh, V.Vz, 3, 0.0);
#endif
    if (inputParams.zPer) {
        wBot = new periodicFC(mesh, V.Vz, 4);
        wTop = new periodicFC(mesh, V.Vz, 5);
    } else {
        wBot = new dirichletFC(mesh, V.Vz, 4, 0.0);
        wTop = new dirichletFC(mesh, V.Vz, 5, 0.0);
    }
}
void hydro :: initVBC ( ) { if ( inputParams . probType == 3 ) { uLft = new dirichletFC ( mesh , V . Vx , 0 , 1.0 ) ; uRgt = new neumannFC ( mesh , V . Vx , 1 , 0.0 ) ; } else { uLft = new dirichletFC ( mesh , V . Vx , 0 , 0.0 ) ; uRgt = new dirichletFC ( mesh , V . Vx , 1 , 0.0 ) ; } #ifndef PLANAR uFrn = new dirichletCC ( mesh , V . Vx , 2 , 0.0 ) ; uBak = new dirichletCC ( mesh , V . Vx , 3 , 0.0 ) ; #endif if ( inputParams . zPer ) { uBot = new periodicCC ( mesh , V . Vx , 4 ) ; uTop = new periodicCC ( mesh , V . Vx , 5 ) ; } else { if ( inputParams . probType == 1 ) { uBot = new dirichletCC ( mesh , V . Vx , 4 , 0.0 ) ; uTop = new dirichletCC ( mesh , V . Vx , 5 , 1.0 ) ; } else { uBot = new dirichletCC ( mesh , V . Vx , 4 , 0.0 ) ; uTop = new dirichletCC ( mesh , V . Vx , 5 , 0.0 ) ; } } #ifndef PLANAR if ( inputParams . probType == 3 ) { vLft = new dirichletCC ( mesh , V . Vy , 0 , 0.0 ) ; vRgt = new neumannCC ( mesh , V . Vy , 1 , 0.0 ) ; } else { vLft = new dirichletCC ( mesh , V . Vy , 0 , 0.0 ) ; vRgt = new dirichletCC ( mesh , V . Vy , 1 , 0.0 ) ; } vFrn = new dirichletFC ( mesh , V . Vy , 2 , 0.0 ) ; vBak = new dirichletFC ( mesh , V . Vy , 3 , 0.0 ) ; if ( inputParams . zPer ) { vBot = new periodicCC ( mesh , V . Vy , 4 ) ; vTop = new periodicCC ( mesh , V . Vy , 5 ) ; } else { vBot = new dirichletCC ( mesh , V . Vy , 4 , 0.0 ) ; vTop = new dirichletCC ( mesh , V . Vy , 5 , 0.0 ) ; } #endif if ( inputParams . probType == 3 ) { wLft = new dirichletCC ( mesh , V . Vz , 0 , 0.0 ) ; wRgt = new neumannCC ( mesh , V . Vz , 1 , 0.0 ) ; } else { wLft = new dirichletCC ( mesh , V . Vz , 0 , 0.0 ) ; wRgt = new dirichletCC ( mesh , V . Vz , 1 , 0.0 ) ; } #ifndef PLANAR wFrn = new dirichletCC ( mesh , V . Vz , 2 , 0.0 ) ; wBak = new dirichletCC ( mesh , V . Vz , 3 , 0.0 ) ; #endif if ( inputParams . zPer ) { wBot = new periodicFC ( mesh , V . Vz , 4 ) ; wTop = new periodicFC ( mesh , V . Vz , 5 ) ; } else { wBot = new dirichletFC ( mesh , V . Vz , 4 , 0.0 ) ; wTop = new dirichletFC ( mesh , V . Vz , 5 , 0.0 ) ; } }
\brief   Function to initialize the boundary conditions for velocity
          The boundary conditions for all the 6 walls (4 in case of 2D simulations) are initialized here.
\ brief Function to initialize the boundary conditions for velocity The boundary conditions for all the 6 walls ( 4 in case of 2D simulations ) are initialized here .
// INFLOW AND OUTFLOW BCS // NO-PENETRATION BCS // NO-SLIP BCS // PERIODIC BC // NO-SLIP BCS FOR LDC // NO-SLIP BCS // INFLOW AND OUTFLOW BCS // NO-SLIP BCS // NO-PENETRATION BCS // PERIODIC BC // NO-SLIP BCS // INFLOW AND OUTFLOW BCS // NO-SLIP BCS // NO-SLIP BCS // PERIODIC BC // NO-SLIP BCS