src/solvers/scalar/scalar.cc
/**
 ********************************************************************************************************************************************
 * \brief   Function to initialize the boundary conditions for temperature
 *
 *          The temperature 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 temperature
The temperature 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 temperature The temperature 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 scalar::initTBC() {
    if (inputParams.probType == 5 || inputParams.probType == 6 || inputParams.probType == 8) {
        tLft = new neumannCC(mesh, T.F, 0, 0.0);
        tRgt = new neumannCC(mesh, T.F, 1, 0.0);
    } else if (inputParams.probType == 7) {
        tLft = new dirichletCC(mesh, T.F, 0, 1.0);
        tRgt = new dirichletCC(mesh, T.F, 1, 0.0);
    }
#ifndef PLANAR
    tFrn = new neumannCC(mesh, T.F, 2, 0.0);
    tBak = new neumannCC(mesh, T.F, 3, 0.0);
#endif
    if (inputParams.zPer) {
        tBot = new periodicCC(mesh, T.F, 4);
        tTop = new periodicCC(mesh, T.F, 5);
    } else {
        if (inputParams.probType == 5 || inputParams.probType == 8) {
            if (inputParams.nonHgBC) {
#ifndef PLANAR
                if (mpiData.rank == 0) std::cout << "Using non-homogeneous boundary condition (heating plate) on bottom wall" << std::endl << std::endl;
                tBot = new hotPlateCC(mesh, T.F, 4, inputParams.patchRadius);
#else
                if (mpiData.rank == 0) std::cout << "WARNING: Non-homogenous BC flag is set to true in input paramters for 2D simulation. IGNORING" << std::endl << std::endl;
#endif
            } else {
                tBot = new dirichletCC(mesh, T.F, 4, 1.0);
            }
            tTop = new dirichletCC(mesh, T.F, 5, 0.0);
        } else if (mesh.inputParams.probType == 6) {
            tBot = new dirichletCC(mesh, T.F, 4, 0.0);
            tTop = new dirichletCC(mesh, T.F, 5, 1.0);
        }
    }
}
void scalar :: initTBC ( ) { if ( inputParams . probType == 5 || inputParams . probType == 6 || inputParams . probType == 8 ) { tLft = new neumannCC ( mesh , T . F , 0 , 0.0 ) ; tRgt = new neumannCC ( mesh , T . F , 1 , 0.0 ) ; } else if ( inputParams . probType == 7 ) { tLft = new dirichletCC ( mesh , T . F , 0 , 1.0 ) ; tRgt = new dirichletCC ( mesh , T . F , 1 , 0.0 ) ; } #ifndef PLANAR tFrn = new neumannCC ( mesh , T . F , 2 , 0.0 ) ; tBak = new neumannCC ( mesh , T . F , 3 , 0.0 ) ; #endif if ( inputParams . zPer ) { tBot = new periodicCC ( mesh , T . F , 4 ) ; tTop = new periodicCC ( mesh , T . F , 5 ) ; } else { if ( inputParams . probType == 5 || inputParams . probType == 8 ) { if ( inputParams . nonHgBC ) { #ifndef PLANAR if ( mpiData . rank == 0 ) std :: cout << " " << std :: endl << std :: endl ; tBot = new hotPlateCC ( mesh , T . F , 4 , inputParams . patchRadius ) ; #else if ( mpiData . rank == 0 ) std :: cout << " " << std :: endl << std :: endl ; #endif } else { tBot = new dirichletCC ( mesh , T . F , 4 , 1.0 ) ; } tTop = new dirichletCC ( mesh , T . F , 5 , 0.0 ) ; } else if ( mesh . inputParams . probType == 6 ) { tBot = new dirichletCC ( mesh , T . F , 4 , 0.0 ) ; tTop = new dirichletCC ( mesh , T . F , 5 , 1.0 ) ; } } }
\brief   Function to initialize the boundary conditions for temperature
          The temperature boundary conditions for all the 6 walls (4 in case of 2D simulations) are initialized here.
\ brief Function to initialize the boundary conditions for temperature The temperature boundary conditions for all the 6 walls ( 4 in case of 2D simulations ) are initialized here .
// ADIABATIC BC FOR RBC, SST AND RRBC // CONDUCTING BC FOR VERTICAL CONVECTION // HOT PLATE AT BOTTOM AND COLD PLATE AT TOP FOR RBC AND RRBC // CREATE HEATING PATCH IF THE USER SET PARAMETER FOR HEATING PLATE IS TRUE // COLD PLATE AT BOTTOM AND HOT PLATE AT TOP FOR SST