本文整理汇总了Python中snake.cuibm.simulation.CuIBMSimulation.read_forces方法的典型用法代码示例。如果您正苦于以下问题:Python CuIBMSimulation.read_forces方法的具体用法?Python CuIBMSimulation.read_forces怎么用?Python CuIBMSimulation.read_forces使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类snake.cuibm.simulation.CuIBMSimulation
的用法示例。
在下文中一共展示了CuIBMSimulation.read_forces方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ones
# 需要导入模块: from snake.cuibm.simulation import CuIBMSimulation [as 别名]
# 或者: from snake.cuibm.simulation.CuIBMSimulation import read_forces [as 别名]
Post-processes the force coefficients from a cuIBM 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.cuibm.simulation import CuIBMSimulation
simulation = CuIBMSimulation(description='present')
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,
示例2: CuIBMSimulation
# 需要导入模块: from snake.cuibm.simulation import CuIBMSimulation [as 别名]
# 或者: from snake.cuibm.simulation.CuIBMSimulation import read_forces [as 别名]
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__))
atol_min, atol_max = 5, 16
time_step = 1500
main_directory = os.path.dirname(__file__)
reference_directory = os.path.join(main_directory,
'atol16')
reference = CuIBMSimulation(directory=reference_directory,
description='atol=1.0E-16')
reference.read_forces()
fx_reference = reference.forces[0].values[-1]
fy_reference = reference.forces[1].values[-1]
reference.read_grid()
p_reference = reference.read_pressure(time_step)
qx_reference, qy_reference = reference.read_fluxes(time_step)
fx_errors, fy_errors = [], []
p_errors = []
qx_errors, qy_errors = [], []
for atol in range(atol_min, atol_max):
directory = os.path.join(main_directory,
'atol{}'.format(atol))
simu = CuIBMSimulation(directory=directory,
description='1.0E-{}'.format(atol))
示例3: CuIBMSimulation
# 需要导入模块: from snake.cuibm.simulation import CuIBMSimulation [as 别名]
# 或者: from snake.cuibm.simulation.CuIBMSimulation import read_forces [as 别名]
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
# reported in Krishnan et al. (2014).
# The force coefficients are averaged between 32 and 64 time-units.
cd_krishnan, cl_krishnan = [], []
for re in ['Re1000', 'Re2000']:
for aoa in ['AoA25', 'AoA30', 'AoA35', 'AoA40']:
simulation_directory = os.path.join(os.environ['SNAKE'],
'resources',
'flyingSnake2d_cuibm_anush',
'flyingSnake2d'+re+aoa)
krishnan = CuIBMSimulation(directory=simulation_directory)
krishnan.read_forces()
krishnan.get_mean_forces(limits=[32.0, 64.0])
cd_krishnan.append(2.0*krishnan.forces[0].mean['value'])
cl_krishnan.append(2.0*krishnan.forces[1].mean['value'])
# plot figure
aoa = [25, 30, 35, 40]
pyplot.style.use(os.path.join(os.environ['SNAKE'],
'snake',
'styles',
'snakeReproducibility.mplstyle'))
fig = pyplot.figure(figsize=(6, 8))
gs = gridspec.GridSpec(3, 2,
height_ratios=[1, 1, 0.5])
ax1 = pyplot.subplot(gs[0, :])
示例4: OpenFOAMSimulation
# 需要导入模块: from snake.cuibm.simulation import CuIBMSimulation [as 别名]
# 或者: from snake.cuibm.simulation.CuIBMSimulation import read_forces [as 别名]
import os
from snake.openfoam.simulation import OpenFOAMSimulation
from snake.cuibm.simulation import CuIBMSimulation
simulation = OpenFOAMSimulation(description='IcoFOAM')
simulation.read_forces(display_coefficients=True)
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='{}/resources/flyingSnake2d_cuibm_anush/'
'flyingSnake2dRe2000AoA35/forces'
''.format(os.environ['SNAKE']))
krishnan.get_mean_forces(limits=[32.0, 64.0])
krishnan.get_strouhal(limits=[32.0, 64.0], order=200)
simulation.plot_forces(indices=[1],
display_coefficients=True,
display_extrema=True, order=200,
limits=(0.0, 80.0, 0.0, 3.0),
other_simulations=krishnan,
other_coefficients=2.0,
save_name='liftCoefficientCompareKrishnanEtAl2014')
dataframe = simulation.create_dataframe_forces(indices=[1],
display_strouhal=True,
display_coefficients=True)
dataframe2 = krishnan.create_dataframe_forces(indices=[1],
示例5: print
# 需要导入模块: from snake.cuibm.simulation import CuIBMSimulation [as 别名]
# 或者: from snake.cuibm.simulation.CuIBMSimulation import read_forces [as 别名]
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,
coefficient=2.0)
dataframe = dataframe.append(dataframe2)
print(dataframe)
pyplot.style.use(os.path.join(os.environ['SNAKE'],
示例6: PetIBMSimulation
# 需要导入模块: from snake.cuibm.simulation import CuIBMSimulation [as 别名]
# 或者: from snake.cuibm.simulation.CuIBMSimulation import read_forces [as 别名]
import os
from snake.petibm.simulation import PetIBMSimulation
from snake.cuibm.simulation import CuIBMSimulation
simulation = PetIBMSimulation(description="PetIBM")
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="{}/resources/flyingSnake2d_cuibm_anush/" "flyingSnake2dRe2000AoA35/forces" "".format(os.environ["SNAKE"])
)
krishnan.get_mean_forces(limits=[32.0, 64.0])
krishnan.get_strouhal(limits=[32.0, 64.0], order=200)
simulation.plot_forces(
indices=[1],
display_coefficients=True,
coefficient=2.0,
display_extrema=True,
order=200,
limits=(0.0, 80.0, 0.0, 3.0),
other_simulations=krishnan,
other_coefficients=2.0,
save_name="liftCoefficientCompareKrishnanEtAl2014",
)
示例7: CuIBMSimulation
# 需要导入模块: from snake.cuibm.simulation import CuIBMSimulation [as 别名]
# 或者: from snake.cuibm.simulation.CuIBMSimulation import read_forces [as 别名]
from snake.solutions.koumoutsakosLeonard1995 import KoumoutsakosLeonard1995
# Parse from the command-line the directory of the runs.
parser = argparse.ArgumentParser()
parser.add_argument('--directory',
dest='directory',
default=os.getcwd(),
type=str,
help='directory of the runs')
args = parser.parse_args()
directory = args.directory
simulation = CuIBMSimulation(directory=directory,
description='cuIBM')
simulation.read_forces()
# Reads drag coefficient of Koumoutsakos and Leonard (1995) for Re=40.
file_name = 'koumoutsakos_leonard_1995_cylinder_dragCoefficientRe40.dat'
file_path = os.path.join(os.environ['CUIBM_DIR'], 'data', file_name)
kl1995 = KoumoutsakosLeonard1995(file_path=file_path, Re=40)
# Plots the instantaneous drag coefficients.
images_directory = os.path.join(directory, 'images')
if not os.path.isdir(images_directory):
os.makedirs(images_directory)
pyplot.style.use('seaborn-dark')
kwargs_data = {'label': simulation.description,
'color': '#336699',
'linestyle': '-',
'linewidth': 3,
示例8: print
# 需要导入模块: from snake.cuibm.simulation import CuIBMSimulation [as 别名]
# 或者: from snake.cuibm.simulation.CuIBMSimulation import read_forces [as 别名]
import snake
from snake.cuibm.simulation import CuIBMSimulation
print('\nPython version:\n{}'.format(sys.version))
print('\nsnake version: {}\n'.format(snake.__version__))
simulation = CuIBMSimulation(description='cuIBM (old) - CUSP-0.4.0',
directory=os.path.join(os.environ['HOME'],
'snakeReproducibilityPackages',
'cuibm',
'revision86',
'Re2000AoA35'))
simulation.read_forces(file_path=os.path.join(simulation.directory,
'numericalSolution',
'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',
'flyingSnake2dRe2000AoA35',
'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,
示例9: PetIBMSimulation
# 需要导入模块: from snake.cuibm.simulation import CuIBMSimulation [as 别名]
# 或者: from snake.cuibm.simulation.CuIBMSimulation import read_forces [as 别名]
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, order=200,
limits=(0.0, 80.0, 0.0, 3.0),
other_simulations=krishnan,
other_coefficients=2.0,
style='mesnardo',
save_name='forceCoefficientsCompareKrishnanEtAl2014')
dataframe = simulation.create_dataframe_forces(display_strouhal=True,
display_coefficients=True,
coefficient=2.0)
示例10: markers
# 需要导入模块: from snake.cuibm.simulation import CuIBMSimulation [as 别名]
# 或者: from snake.cuibm.simulation.CuIBMSimulation import read_forces [as 别名]
# that uses exact markers (rotation around the origin (0,0)).
# The set of markers is identical to the one used in Krishnan et al. (2014).
# The force coefficients are averaged between 32 and 64 time-units.
simulation_directory = dirs["petibm011_forceCoefficientsRe2000AoA35"]["original"]
simulation2 = PetIBMSimulation(description="PetIBM (original markers)", directory=simulation_directory)
simulation2.read_forces()
simulation2.get_mean_forces(limits=[32.0, 64.0])
simulation2.get_strouhal(limits=[32.0, 64.0], order=200)
# Computes the mean force coefficients from the cuIBM simulation
# reported in Krishnan et al. (2014).
# The force coefficients are averaged between 32 and 64 time-units.
krishnan = CuIBMSimulation(description="Krishnan et al. (2014)")
krishnan.read_forces(
file_path=os.path.join(
os.environ["SNAKE"], "resources", "flyingSnake2d_cuibm_anush", "flyingSnake2dRe2000AoA35", "forces"
)
)
krishnan.get_mean_forces(limits=[32.0, 64.0])
krishnan.get_strouhal(limits=[32.0, 64.0], order=200)
# Creates a table with the time-averaged force coefficients
# and the mean Strouhal number.
dataframe = krishnan.create_dataframe_forces(display_strouhal=True, display_coefficients=True, coefficient=2.0)
dataframe2 = simulation.create_dataframe_forces(display_strouhal=True, display_coefficients=True, coefficient=2.0)
dataframe3 = simulation2.create_dataframe_forces(display_strouhal=True, display_coefficients=True, coefficient=2.0)
dataframe = dataframe.append([dataframe2, dataframe3])
print(dataframe)
# Plots the instantaneous force coefficients and compares to those reported
# in Krishnan et al. (2014).
示例11: print
# 需要导入模块: from snake.cuibm.simulation import CuIBMSimulation [as 别名]
# 或者: from snake.cuibm.simulation.CuIBMSimulation import read_forces [as 别名]
import snake
from snake.cuibm.simulation import CuIBMSimulation
print('\nPython version:\n{}'.format(sys.version))
print('\nsnake version: {}\n'.format(snake.__version__))
simulation = CuIBMSimulation(description='cuIBM (current) - CUSP-0.4.0',
directory=os.path.join(os.environ['HOME'],
'snakeReproducibilityPackages',
'cuibm',
'current',
'cusp040',
'Re2000AoA35'))
simulation.read_forces()
simulation.get_mean_forces(limits=[32.0, 64.0])
simulation.get_strouhal(limits=[32.0, 64.0], order=200)
other = CuIBMSimulation(description='cuIBM (current) - CUSP-0.5.1',
directory=os.path.join(os.environ['HOME'],
'snakeReproducibilityPackages',
'cuibm',
'current',
'cusp051',
'Re2000AoA35'))
other.read_forces()
other.get_mean_forces(limits=[32.0, 64.0])
other.get_strouhal(limits=[32.0, 64.0], order=200)
revision86 = CuIBMSimulation(description='cuIBM (old) - CUSP-0.4.0',
示例12: CuIBMSimulation
# 需要导入模块: from snake.cuibm.simulation import CuIBMSimulation [as 别名]
# 或者: from snake.cuibm.simulation.CuIBMSimulation import read_forces [as 别名]
# 3- 2k35 / older cuIBM with CUSP-0.4.0;
import os
from matplotlib import pyplot
from snake.cuibm.simulation import CuIBMSimulation
simulation = CuIBMSimulation(description='cuIBM (current) - CUSP-0.4.0',
directory=os.path.join(os.environ['HOME'],
'simulations_cuIBM',
'production-cusp-0.4.0',
'flyingSnake2dRe2000AoA35_20160502'))
simulation.read_forces()
simulation.get_mean_forces(limits=[32.0, 64.0])
simulation.get_strouhal(limits=[32.0, 64.0], order=200)
other = CuIBMSimulation(description='cuIBM (current) - CUSP-0.5.1',
directory=os.path.join(os.environ['HOME'],
'simulations_cuIBM',
'production-cusp-0.5.1',
'flyingSnake2dRe2000AoA35_20160502'))
other.read_forces()
other.get_mean_forces(limits=[32.0, 64.0])
other.get_strouhal(limits=[32.0, 64.0], order=200)
revision86 = CuIBMSimulation(description='cuIBM (old) - CUSP-0.4.0',
directory=os.path.join(os.environ['HOME'],
'simulations_cuIBM',
示例13: Mesnard
# 需要导入模块: from snake.cuibm.simulation import CuIBMSimulation [as 别名]
# 或者: from snake.cuibm.simulation.CuIBMSimulation import read_forces [as 别名]
# file: plotForceCoefficientsCompareOther.py
# author: Olivier Mesnard ([email protected])
# description: Plots the instantaneous force coefficients
# and compare to results of another simulation.
# Run this script from the simulation directory.
from snake.cuibm.simulation import CuIBMSimulation
simulation = CuIBMSimulation(description='cuIBM (present)')
simulation.read_forces()
simulation.get_mean_forces(limits=[32.0, 64.0])
simulation.get_strouhal(limits=[32.0, 64.0], order=200)
other = CuIBMSimulation(description='',
directory='')
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)
示例14: zip
# 需要导入模块: from snake.cuibm.simulation import CuIBMSimulation [as 别名]
# 或者: from snake.cuibm.simulation.CuIBMSimulation import read_forces [as 别名]
time_increments = ["dt=5.0E-05", "dt=1.0E-04", "dt=2.0E-04"]
final_time_steps = [2000, 1500, 1250]
refinement_ratio = 2.0
fx, fy = [], []
p = []
qx, qy = [], []
main_directory = os.path.dirname(__file__)
for time_increment, final_time_step in zip(time_increments, final_time_steps):
directory = os.path.join(main_directory, time_increment.replace("=", ""))
simu = CuIBMSimulation(directory=directory, description=time_increment)
simu.read_forces()
fx.append(simu.forces[0].values[-1])
fy.append(simu.forces[1].values[-1])
simu.read_grid()
p_simu = simu.read_pressure(final_time_step)
p.append(p_simu.values)
qx_simu, qy_simu = simu.read_fluxes(final_time_step)
qx.append(qx_simu.values)
qy.append(qy_simu.values)
file_path = os.path.join(os.path.dirname(__file__), "temporalConvergence.txt")
with open(file_path, "w") as outfile:
outfile.write("\n* Drag force:\n")
outfile.write("Value and relative difference with the reference value (smallest dt)\n")
outfile.write("\t{}: {}\n".format(time_increments[0], fx[0]))
示例15: CuIBMSimulation
# 需要导入模块: from snake.cuibm.simulation import CuIBMSimulation [as 别名]
# 或者: from snake.cuibm.simulation.CuIBMSimulation import read_forces [as 别名]
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__))
cases = []
fx, fy = [], []
resolutions = ['h=0.00267', 'h=0.004', 'h=0.006']
time_limits = (20.0, 28.0)
for resolution in resolutions:
case = CuIBMSimulation(directory=os.path.join(os.path.dirname(__file__),
resolution.replace('=', '')),
description=resolution)
case.read_forces()
case.get_mean_forces(limits=time_limits)
fx.append(case.forces[0].mean['value'])
fy.append(case.forces[1].mean['value'])
cases.append(case)
# Calculates the observed order of convergence for the time-averaged force
# coefficients.
ratio = 1.5
order = numpy.log((fx[2]-fx[1])/(fx[1]-fx[0]))/numpy.log(ratio)
print(order)
order = numpy.log((fy[2]-fy[1])/(fy[1]-fy[0]))/numpy.log(ratio)
print(order)
# Plots the instantaneous force coefficients obtained with different meshes.
fig, ax = pyplot.subplots(figsize=(6, 4))