src/solvers/scalar/scalar.cc
/**
 ********************************************************************************************************************************************
 * \brief   Function to initialize the forcing terms for velocity
 *
 *          The forcing terms for the velocity field are initialized here.
 *          Out of the different forcings available in the force class,
 *          the appropriate forcing is chosen according to the parameters set by the user.
 ********************************************************************************************************************************************
 */
\brief   Function to initialize the forcing terms for velocity
The forcing terms for the velocity field are initialized here.
Out of the different forcings available in the force class,
the appropriate forcing is chosen according to the parameters set by the user.
\ brief Function to initialize the forcing terms for velocity The forcing terms for the velocity field are initialized here . Out of the different forcings available in the force class the appropriate forcing is chosen according to the parameters set by the user .
void scalar::initVForcing() {
    switch (inputParams.forceType) {
        case 0:
            if (mpiData.rank == 0) std::cout << "WARNING: Running scalar simulation with zero velocity forcing" << std::endl << std::endl;
            vForcing = new zeroForcing(mesh, V);
            break;
        case 1:
            if (mpiData.rank == 0) std::cout << "WARNING: Running scalar simulation with random velocity forcing" << std::endl << std::endl;
            vForcing = new randomForcing(mesh, V);
            break;
        case 2:
            if (mpiData.rank == 0) std::cout << "WARNING: Running scalar simulation with pure rotation" << std::endl << std::endl;
            vForcing = new coriolisForce(mesh, V);
            break;
        case 3:
            if (mpiData.rank == 0) std::cout << "Running convection simulation with pure buoyancy forcing for velocity" << std::endl << std::endl;
            vForcing = new buoyantForce(mesh, V, T);
            break;
        case 4:
            if (mpiData.rank == 0) std::cout << "Running rotating convection simulation with both buoyancy and Coriolis forcing for velocity" << std::endl << std::endl;
            vForcing = new rotatingConv(mesh, V, T);
            break;
        default:
            if (mpiData.rank == 0) std::cout << "WARNING: Chosen velocity forcing is incompatible with scalar runs. Defaulting to buoyant forcing" << std::endl << std::endl;
            vForcing = new buoyantForce(mesh, V, T);
    }
}
void scalar :: initVForcing ( ) { switch ( inputParams . forceType ) { case 0 : if ( mpiData . rank == 0 ) std :: cout << " " << std :: endl << std :: endl ; vForcing = new zeroForcing ( mesh , V ) ; break ; case 1 : if ( mpiData . rank == 0 ) std :: cout << " " << std :: endl << std :: endl ; vForcing = new randomForcing ( mesh , V ) ; break ; case 2 : if ( mpiData . rank == 0 ) std :: cout << " " << std :: endl << std :: endl ; vForcing = new coriolisForce ( mesh , V ) ; break ; case 3 : if ( mpiData . rank == 0 ) std :: cout << " " << std :: endl << std :: endl ; vForcing = new buoyantForce ( mesh , V , T ) ; break ; case 4 : if ( mpiData . rank == 0 ) std :: cout << " " << std :: endl << std :: endl ; vForcing = new rotatingConv ( mesh , V , T ) ; break ; default : if ( mpiData . rank == 0 ) std :: cout << " " << std :: endl << std :: endl ; vForcing = new buoyantForce ( mesh , V , T ) ; } }
\brief   Function to initialize the forcing terms for velocity
          The forcing terms for the velocity field are initialized here.
\ brief Function to initialize the forcing terms for velocity The forcing terms for the velocity field are initialized here .