Beispiel #1
0
void Screen::displayInfo()
{
	ScenarioInfo info( this );

	info.setNbPlayer( getNbPlayer() );
	info.setName( getScenarioName() );
	info.setTheme( getScenarioTheme() );
	info.setDescription( getScenarioDescription() );
	info.setDay(getDateByType( 0 ) );
	info.setWeek(getDateByType( 2 ) );
	info.setMonth(getDateByType( 3 ) );
	info.setYear(getDateByType( 4 ) );
	if(theMap) {
		info.setMapWidth( theMap->getWidth() );
		info.setMapHeight( theMap->getHeight() );
	}
	if( info.exec() ) {
		setNbPlayer( info.getNbPlayer() );
		setScenarioName( info.getName() );
		setScenarioTheme( info.getTheme() );
		setScenarioDescription( info.getDescription() );
		setDateByType( 0, info.getDay() > 0 ? info.getDay() : 1  );
		setDateByType( 1, 1 );
		setDateByType( 2, info.getWeek()  );
		setDateByType( 3, info.getMonth()  );
		setDateByType( 4, info.getYear() );

		adjustPlayers();
	}
}
void peano::applications::navierstokes::prototype1::scenarios::configuration::FluidScenarioConfiguration::readMaximumElevationInNegGravitationDirection() const {
  // maximum elevation has been specified in the configuration
  if (isMaximumElevationSpecified()) {
    return;
  }

  double result = 0.0;

  assertion(isValid());
  if ( !tarch::la::equals(getGravityVector().norm(),0.0) && (
//      getScenarioName() == peano::applications::navierstokes::prototype1::scenarios::FluidPreCICEColdLeg::IDENTIFIER ||
      getScenarioName() == peano::applications::navierstokes::prototype1::scenarios::FluidObstacleInChannel::IDENTIFIER // ||
//      getScenarioName() == peano::applications::navierstokes::prototype1::scenarios::FluidObstacleInChannelWithSlipWalls::IDENTIFIER ||
//      getScenarioName() == peano::applications::navierstokes::prototype1::scenarios::FluidObstacleInStationaryFlowField::IDENTIFIER ||
//      getScenarioName() == peano::applications::navierstokes::prototype1::scenarios::FluidObstacleInTurbulentChannel::IDENTIFIER ||
//      getScenarioName() == peano::applications::navierstokes::prototype1::scenarios::FluidFlatPlateInParallelFlow::IDENTIFIER
      )
      ) {

    _log.warning("readMaximumElevationInNegGravitationDirection()", "Gravity is non-zero, if this scenario has Neumann boundaries you should define atrribute \"" +
                                                                    ATTRIBUTE_MAXIMUM_ELEVATION + "\" in tag <" + configuration::FluidScenarioConfiguration::TAG +
                                                                    "> to get the correct hydropressure correction.");

    bool isGravityInXDirection = true;
    bool isGravityInYDirection = true;
    bool isGravityInZDirection = DIMENSIONS >= 3;
    for (int d=0; d<DIMENSIONS; d++) { //only y-direction for gravity supported!
      if (d!=0 && !tarch::la::equals(getGravityVector()(d),0.0)) isGravityInXDirection = false;
      if (d!=1 && !tarch::la::equals(getGravityVector()(d),0.0)) isGravityInYDirection = false;
      if (d!=2 && !tarch::la::equals(getGravityVector()(d),0.0)) isGravityInZDirection = false;
    }
    if      (isGravityInXDirection && !isGravityInYDirection && !isGravityInZDirection) {
      result = getInletOffset()(0) + getInletDimension()(0);
    }
    else if (isGravityInYDirection && !isGravityInXDirection && !isGravityInZDirection) {
      result = getInletOffset()(1) + getInletDimension()(1);
    }
    else if (isGravityInZDirection && !isGravityInXDirection && !isGravityInYDirection) {
      assertion(DIMENSIONS == 3);
      result = getInletOffset()(2) + getInletDimension()(2);
    }
    else {
      _log.error("getMaximumElevationInNegGravitationDirection()","only y- or z-direction (exclusive or) for gravity vector supported! Otherwise use attribute \"" +
                                                                  ATTRIBUTE_MAXIMUM_ELEVATION + "\" in tag <" +
                                                                  configuration::FluidScenarioConfiguration::TAG +
                                                                  ">.");
      exit(ASSERTION_EXIT_CODE);
    }
  }
  else {
//      assertionFail("");
  }

  _maximumElevation = result;
  _maximumElevationSpecified = true;
}
Beispiel #3
0
void Screen::displayInfo()
{
	ScenarioInfo info( this );

	info.setNbPlayer( getNbPlayer() );
	info.setName( getScenarioName() );
	info.setTheme( getScenarioTheme() );
	info.setDescription( getScenarioDescription() );
	if( info.exec() ) {
		// XXX:get back the infos...
	}
}