type=str, default=script_directory, help='directory where to save the figures') args = parser.parse_args() with open(args.map, 'r') as infile: dirs = yaml.load(infile) # Computes the mean coefficients from the PetIBM simulations # with displaced markers. # The force coefficients are averaged between 32 and 64 time-units. cd_displaced, cl_displaced = [], [] for re in ['Re1000', 'Re2000']: for aoa in ['AoA25', 'AoA30', 'AoA35', 'AoA40']: simulation_directory = dirs['petibm011_forceCoefficientsVsAoA'][re][aoa] simulation = PetIBMSimulation(directory=simulation_directory) simulation.read_forces() simulation.get_mean_forces(limits=[32.0, 64.0]) cd_displaced.append(2.0*simulation.forces[0].mean['value']) cl_displaced.append(2.0*simulation.forces[1].mean['value']) # Computes the mean coefficients from the PetIBM simulations # with non-displaced (original) markers. # The force coefficients are averaged between 32 and 64 time-units. simulation_directory = dirs['petibm011_forceCoefficientsVsAoA']['Re2000']['AoA35original'] simulation = PetIBMSimulation(directory=simulation_directory) simulation.read_forces() simulation.get_mean_forces(limits=[32.0, 64.0]) cd_original = 2.0*simulation.forces[0].mean['value'] cl_original = 2.0*simulation.forces[1].mean['value'] # Computes the mean coefficients from the cuIBM simulations
import os import sys from matplotlib import pyplot import snake from snake.petibm.simulation import PetIBMSimulation print('\nPython version:\n{}'.format(sys.version)) print('\nsnake version: {}\n'.format(snake.__version__)) simulation = PetIBMSimulation( description='original markers', directory=os.path.join(os.environ['HOME'], 'snakeReproducibilityPackages', 'petibm', 'exactMarkers', 'Re2000AoA35')) simulation.read_forces() simulation.get_mean_forces(limits=[32.0, 64.0]) simulation.get_strouhal(limits=[32.0, 64.0], order=200) other = PetIBMSimulation( description='displaced markers', directory=os.path.join(os.environ['HOME'], 'snakeReproducibilityPackages', 'petibm', 'shiftedMarkers', 'Re2000AoA35')) other.read_forces() other.get_mean_forces(limits=[32.0, 64.0]) other.get_strouhal(limits=[32.0, 64.0], order=200) dataframe = simulation.create_dataframe_forces(display_strouhal=True, display_coefficients=True, coefficient=2.0) dataframe2 = other.create_dataframe_forces(display_strouhal=True,
import os import yaml import argparse from matplotlib import pyplot import snake from snake.petibm.simulation import PetIBMSimulation if snake.__version__ != '0.1.2': warnings.warn('The figures were originally created with snake-0.1.2, ' + 'you are using snake-{}'.format(snake.__version__)) directory = os.path.join(os.path.dirname(__file__), 'dt0.0002') simulation = PetIBMSimulation(description='dt=0.0002', directory=directory) simulation.read_forces() simulation.get_mean_forces(limits=[32.0, 64.0]) directory = os.path.join(os.path.dirname(__file__), 'dt0.0004') loose = PetIBMSimulation(description='dt=0.0004', directory=directory) loose.read_forces() loose.get_mean_forces(limits=[32.0, 64.0]) dataframe = simulation.create_dataframe_forces(display_coefficients=True, coefficient=2.0) dataframe2 = loose.create_dataframe_forces(display_coefficients=True, coefficient=2.0) dataframe = dataframe.append(dataframe2) print(dataframe) fig, ax = pyplot.subplots(figsize=(6, 4))
from matplotlib import pyplot import snake from snake.petibm.simulation import PetIBMSimulation print('\nPython version:\n{}'.format(sys.version)) print('\nsnake version: {}\n'.format(snake.__version__)) simulation = PetIBMSimulation(description='original markers', directory=os.path.join(os.environ['HOME'], 'snakeReproducibilityPackages', 'petibm', 'exactMarkers', 'Re2000AoA35')) simulation.read_forces() simulation.get_mean_forces(limits=[32.0, 64.0]) simulation.get_strouhal(limits=[32.0, 64.0], order=200) other = PetIBMSimulation(description='displaced markers', directory=os.path.join(os.environ['HOME'], 'snakeReproducibilityPackages', 'petibm', 'shiftedMarkers', 'Re2000AoA35')) other.read_forces() other.get_mean_forces(limits=[32.0, 64.0]) other.get_strouhal(limits=[32.0, 64.0], order=200) dataframe = simulation.create_dataframe_forces(display_strouhal=True, display_coefficients=True,
Post-processes the force coefficients from a PetIBM simulation and compare them to cuIBM ones (obtained by Anush Krishnan and published into Krishnan et al., 2014). This script reads the forces, computes the mean forces within a given range, computes the Strouhal number within a range, plots the force coefficients, saves the figure, and prints a data-frame that contains the mean values. """ import os from snake.petibm.simulation import PetIBMSimulation from snake.cuibm.simulation import CuIBMSimulation simulation = PetIBMSimulation(description='PetIBM') simulation.read_forces() time_limits = (32.0, 64.0) simulation.get_mean_forces(limits=time_limits) simulation.get_strouhal(limits=time_limits, order=200) krishnan = CuIBMSimulation(description='Krishnan et al. (2014)') filepath = os.path.join(os.environ['SNAKE'], 'resources', 'flyingSnake2d_cuibm_anush', 'flyingSnake2dRe2000AoA35', 'forces') krishnan.read_forces(file_path=filepath) krishnan.get_mean_forces(limits=time_limits) krishnan.get_strouhal(limits=time_limits, order=200) simulation.plot_forces(display_coefficients=True, coefficient=2.0, display_extrema=True,
from matplotlib import pyplot import snake from snake.petibm.simulation import PetIBMSimulation if snake.__version__ != '0.1.2': warnings.warn('The figures were originally created with snake-0.1.2, '+ 'you are using snake-{}'.format(snake.__version__)) directory = os.path.join(os.path.dirname(__file__), 'rtol8') simulation = PetIBMSimulation(description='rtol=1.0E-08', directory=directory) simulation.read_forces() simulation.get_mean_forces(limits=[32.0, 64.0]) directory = os.path.join(os.path.dirname(__file__), 'rtol5') loose = PetIBMSimulation(description='rtol=1.0E-05', directory=directory) loose.read_forces() loose.get_mean_forces(limits=[32.0, 64.0]) dataframe = simulation.create_dataframe_forces(display_coefficients=True, coefficient=2.0) dataframe2 = loose.create_dataframe_forces(display_coefficients=True, coefficient=2.0) dataframe = dataframe.append(dataframe2) print(dataframe)
# and compare to results from other simulation. # Run this script from the simulation directory. from snake.ibamr.simulation import IBAMRSimulation from snake.petibm.simulation import PetIBMSimulation simulation = IBAMRSimulation(description='IBAMR') simulation.read_forces() simulation.get_mean_forces(limits=[32.0, 64.0]) simulation.get_strouhal(limits=[32.0, 64.0], order=200) other = PetIBMSimulation(description='other', directory='other') other.read_forces() other.get_mean_forces(limits=[32.0, 64.0]) other.get_strouhal(limits=[32.0, 64.0], order=200) simulation.plot_forces(display_coefficients=True, coefficient=-2.0, display_extrema=True, order=200, limits=(0.0, 80.0, 0.0, 3.0), other_simulations=other, other_coefficients=2.0, save_name='forceCoefficientsCompareOther') dataframe = simulation.create_dataframe_forces(display_strouhal=True, display_coefficients=True, coefficient=-2.0) dataframe2 = other.create_dataframe_forces(display_strouhal=True, display_coefficients=True,
import os from matplotlib import pyplot from snake.petibm.simulation import PetIBMSimulation script_dir = os.path.dirname(os.path.realpath(__file__)) root_dir = os.path.abspath(os.path.join(script_dir, os.pardir)) # Time limits used to average the quantities. time_limits = (32.0, 64.0) dataframes = [] directory = root_dir simu1 = PetIBMSimulation(description='Batch Shipyard', directory=directory) simu1.read_forces() # simu1.get_mean_forces(limits=time_limits) # simu1.get_strouhal(limits=time_limits, order=200) # dataframes.append(simu1.create_dataframe_forces(display_strouhal=True, # display_coefficients=True, # coefficient=2.0)) directory = os.path.join(os.environ['HOME'], 'git', 'mesnardo', 'snakeLips', 'simulations', 'Re2000', 'both', 'aoa35') simu2 = PetIBMSimulation(description='Colonialone', directory=directory) simu2.read_forces() # simu2.get_mean_forces(limits=time_limits) # simu2.get_strouhal(limits=time_limits, order=200) # dataframes.append(simu2.create_dataframe_forces(display_strouhal=True, # display_coefficients=True, # coefficient=2.0))