Ejemplo n.º 1
0
int main(int argc, char* argv[]){


  //Read a file with data for start the simulation
  if(!loadDataMain(argc,argv)) return 0;
  
  //Save GPU information
  if(!cudaDevice()) return 0;
  
  //Initialize random number generator
  if(!initializeRandomNumber()) return 0;

  //Choose scheme
  if(setContinuousGradient==1){
    if(!schemeContinuousGradient()) return 0;
  }
  else if(setGiantFluctuations==1){
    if(!schemeGiantFluctuations()) return 0;
  }
  else if(setBinaryMixtureWall==1){
    if(!schemeBinaryMixtureWall()) return 0;
  }
  else if(setBinaryMixture==1){
    if(!schemeBinaryMixture()) return 0;
  }
  else if(particlesWall){
    if(!schemeParticlesWall()) return 0;
  }
  else if((setboundary || setparticles) && (thermostat)){
    if(!schemeCompressibleParticles()) return 0;
  }
  else if(freeEnergyCompressibleParticles){
    if(!schemeFreeEnergyCompressibleParticles()) return 0;
  }
  else if(semiImplicitCompressibleParticles){
    if(!schemeSemiImplicitCompressibleParticles()) return 0;
  }
  else if(momentumCoupling){
    if(!schemeMomentumCoupling()) return 0;
  }
  else if(thermostat){
    if(!schemeThermostat()) return 0;
  }
  else if((setboundary || setparticles) && incompressible){
    if(!schemeIncompressibleBoundary()) return 0;
  }
  else if(incompressible){
    if(!schemeIncompressible()) return 0;
  }
  else if(incompressibleBinaryMixture){
    if(!schemeIncompressibleBinaryMixture()) return 0;
  }
  else if(incompressibleBinaryMixtureMidPoint){
    if(!schemeIncompressibleBinaryMixtureMidPoint()) return 0;
  }
  else if(quasiNeutrallyBuoyant){
    if(!schemeQuasiNeutrallyBuoyant()) return 0;
  }
  else if(quasiNeutrallyBuoyant2D){
    if(!schemeQuasiNeutrallyBuoyant2D()) return 0;
  }
  else if(quasiNeutrallyBuoyant4pt2D){
    if(!schemeQuasiNeutrallyBuoyant4pt2D()) return 0;
  }
  else if(stokesLimitFirstOrder==1){
    if(!schemeStokesLimitFirstOrder()) return 0;
  }
  else if(stokesLimit==1){
    if(!schemeStokesLimit()) return 0;
  }
  else if(setboundary || setparticles){
    if(!schemeBoundary()) return 0;
  }
  else if(setGhost==1){
    if(!schemeRK3Ghost()) return 0;
  }
  else{
    if(!schemeRK3()) return 0;
  }

  cout << "END" << endl;
  return 1;
}
Ejemplo n.º 2
0
nemo_status_t
nemo_cuda_device(nemo_configuration_t conf, int* dev)
{
	CATCH(conf, cudaDevice(), *dev);
}