from snake.ibamr.simulation import IBAMRSimulation from snake.cuibm.simulation import CuIBMSimulation print('\nPython version:\n{}'.format(sys.version)) print('\nsnake version: {}\n'.format(snake.__version__)) simulation = IBAMRSimulation(description='IBAMR', directory=os.path.join(os.environ['HOME'], 'snakeReproducibilityPackages', 'ibamr', 'bodyMarkers', 'Re2000AoA30')) simulation.read_forces() simulation.get_mean_forces(limits=[32.0, 64.0]) simulation.get_strouhal(limits=[32.0, 64.0], order=200) krishnan = CuIBMSimulation(description='Krishnan et al. (2014)') krishnan.read_forces(file_path=os.path.join(os.environ['SNAKE'], 'resources', 'flyingSnake2d_cuibm_anush', 'flyingSnake2dRe2000AoA30', 'forces')) krishnan.get_mean_forces(limits=[32.0, 64.0]) krishnan.get_strouhal(limits=[32.0, 64.0], order=200) dataframe = simulation.create_dataframe_forces(display_strouhal=True, display_coefficients=True, coefficient=-2.0) dataframe2 = krishnan.create_dataframe_forces(display_strouhal=True, display_coefficients=True,
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.ibamr.simulation import IBAMRSimulation from snake.cuibm.simulation import CuIBMSimulation simulation = IBAMRSimulation(description='IBAMR') 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, order=200, limits=(0.0, 80.0, 0.0, 3.0), other_simulations=krishnan,
dest='save_directory', 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) # plot the instantaneous force coefficients at Re=2000 and AoA=30deg # and compare to the results reported in Kirshnan et al. (2014) simulation_directory = dirs['ibamr_forceCoefficientsRe2000']['AoA30'] simulation = IBAMRSimulation(description='IBAMR', directory=simulation_directory) simulation.read_forces() simulation.get_mean_forces(limits=[32.0, 64.0]) simulation.get_strouhal(limits=[32.0, 64.0], order=200) krishnan = CuIBMSimulation(description='Krishnan et al. (2014)') krishnan.read_forces(file_path=os.path.join( os.environ['SNAKE'], 'resources', 'flyingSnake2d_cuibm_anush', 'flyingSnake2dRe2000AoA30', 'forces')) krishnan.get_mean_forces(limits=[32.0, 64.0]) krishnan.get_strouhal(limits=[32.0, 64.0], order=200) dataframe = simulation.create_dataframe_forces(display_strouhal=True, display_coefficients=True, coefficient=-2.0) dataframe2 = krishnan.create_dataframe_forces(display_strouhal=True, display_coefficients=True, coefficient=2.0) dataframe = dataframe.append(dataframe2)
""" Post-processes the force coefficients from a IBAMR simulation. 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. """ from snake.ibamr.simulation import IBAMRSimulation simulation = IBAMRSimulation() simulation.read_forces() time_limits = (32.0, 64.0) simulation.get_mean_forces(limits=time_limits) simulation.get_strouhal(limits=time_limits, 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), style='mesnardo', save_name='forceCoefficients') dataframe = simulation.create_dataframe_forces(display_strouhal=True, display_coefficients=True, coefficient=-2.0) print(dataframe)