Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add files related to NREL5MW runs #21

Merged
merged 8 commits into from
Jan 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions amr-wind/actuator_line/NREL5MW_ALM_BD/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<!-- This file is automatically compiled into the website. Please copy linked files into .website_src/ paths to enable website rendering -->

# Actuator line NREL5MW in convectively unstable ABL

This atmospheric inflow for this case is generated via the [convectively unstable](../../atmospheric_boundary_layer/convective_abl_nrel5mw/) benchmark case.

## Simulation Setup

## Results
256 changes: 256 additions & 0 deletions amr-wind/actuator_line/NREL5MW_ALM_BD/input_files/NREL5MW_ALM_BD.inp

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,233 @@
# --- Simulation time control parameters ---
time.stop_time = 16000.0 # Max (simulated) time to evolve [s]
time.max_step = -1
time.fixed_dt = 0.01721763085399449 # Fixed timestep size (in seconds). If negative, then time.cfl is used
time.checkpoint_interval = 10000
time.checkpoint_start = 30000
incflo.physics = ABL # List of physics models to include in simulation.
incflo.verbose = 0
io.check_file = chk
io.restart_file = /gpfs/lcheung/HFM/exawind-benchmarks/Neutral_ABL/chk30000
incflo.use_godunov = true
incflo.godunov_type = weno_z
turbulence.model = OneEqKsgsM84
TKE.source_terms = KsgsM84Src
nodal_proj.mg_rtol = 1e-08
nodal_proj.mg_atol = 1e-08
mac_proj.mg_rtol = 1e-08
mac_proj.mg_atol = 1e-08
diffusion.mg_rtol = 1e-08
diffusion.mg_atol = 1e-08
temperature_diffusion.mg_rtol = 1e-08
temperature_diffusion.mg_atol = 1e-08
incflo.gravity = 0.0 0.0 -9.81 # Gravitational acceleration vector (x,y,z) [m/s^2]
incflo.density = 1.0 # Fluid density [kg/m^3]
transport.viscosity = 0.0 # Fluid dynamic viscosity [kg/m-s]
transport.laminar_prandtl = 0.7 # Laminar prandtl number
transport.turbulent_prandtl = 0.3333 # Turbulent prandtl number

# --- Geometry and Mesh ---
geometry.prob_lo = 0.0 0.0 0.0
geometry.prob_hi = 5120.0 5120.0 1920.0
amr.n_cell = 512 512 192 # Number of cells in x, y, and z directions
amr.max_level = 2
geometry.is_periodic = 0 0 0
xlo.type = mass_inflow
xlo.density = 1.0
xlo.temperature = 0.0
xlo.tke = 0.0
xhi.type = pressure_outflow
ylo.type = mass_inflow
ylo.density = 1.0
ylo.temperature = 0.0
ylo.tke = 0.0
yhi.type = pressure_outflow
zlo.type = wall_model
zlo.temperature_type = wall_model
zlo.tke_type = zero_gradient
zhi.type = slip_wall
zhi.temperature_type = fixed_gradient
zhi.temperature = 0.003

# --- ABL parameters ---
ICNS.source_terms = BoussinesqBuoyancy CoriolisForcing BodyForce ABLMeanBoussinesq
ABL.stats_output_frequency = 1
ABL.stats_output_format = netcdf
ABL.tendency_forcing = false
ABL.bndry_io_mode = 1
ABL.bndry_file = /gpfs/lcheung/HFM/exawind-benchmarks/convective_abl/bndry_file
ABL.bndry_planes = xlo ylo
ABL.bndry_output_start_time = 15000.0
ABL.bndry_var_names = velocity temperature tke
ABL.bndry_output_format = native
incflo.velocity = 9.8726896031426 5.7 0.0
ABLForcing.abl_forcing_height = 90.0
ABL.kappa = 0.41
ABL.normal_direction = 2
ABL.surface_roughness_z0 = 0.01
ABL.reference_temperature = 300.0
ABL.surface_temp_rate = 0.0
ABL.surface_temp_flux = 0.005 # Surface temperature flux [K-m/s]
ABL.log_law_height = 5.0
ABL.wall_shear_stress_type = local
ABL.wf_velocity = 6.0977889026612075 3.6097639593035185
ABL.wf_vmag = 7.103916682319445
ABL.wf_theta = 300.20261481689676
CoriolisForcing.latitude = 40.0
CoriolisForcing.rotational_time_period = 86400.0
CoriolisForcing.north_vector = 0.0 1.0 0.0
CoriolisForcing.east_vector = 1.0 0.0 0.0
BoussinesqBuoyancy.reference_temperature = 300.0
BodyForce.magnitude = -0.0002743665569299508 0.0011708563286373845 0.0
ABL.temperature_heights = 0.0 750.0 850.0 2000.0
ABL.temperature_values = 300.0 300.0 308.0 311.45
ABLMeanBoussinesq.read_temperature_profile = true
ABLMeanBoussinesq.temperature_profile_filename = avg_theta.dat
ABL.perturb_velocity = true
ABL.perturb_ref_height = 50.0
ABL.Uperiods = 4.0
ABL.Vperiods = 4.0
ABL.deltaU = 1.0
ABL.deltaV = 1.0
ABL.perturb_temperature = true
ABL.theta_amplitude = 0.8
ABL.cutoff_height = 50.0
time.plot_interval = 10000
io.plot_file = plt
io.KE_int = -1

#---- tagging defs ----
tagging.labels = T0_level_0_zone T0_level_1_zone T0_level_2_zone T0_level_3_zone
tagging.T0_level_0_zone.type = GeometryRefinement
tagging.T0_level_0_zone.shapes = T0_level_0_zone
tagging.T0_level_0_zone.level = 0
tagging.T0_level_0_zone.T0_level_0_zone.type = box
tagging.T0_level_0_zone.T0_level_0_zone.origin = 1569.4039956158035 939.4039956158036 -4.5
tagging.T0_level_0_zone.T0_level_0_zone.xaxis = 1636.788013152589 944.9999999999998 0.0
tagging.T0_level_0_zone.T0_level_0_zone.yaxis = -629.9999999999999 1091.1920087683927 -0.0
tagging.T0_level_0_zone.T0_level_0_zone.zaxis = 0.0 0.0 346.5
tagging.T0_level_1_zone.type = GeometryRefinement
tagging.T0_level_1_zone.shapes = T0_level_1_zone
tagging.T0_level_1_zone.level = 1
tagging.T0_level_1_zone.T0_level_1_zone.type = box
tagging.T0_level_1_zone.T0_level_1_zone.origin = 1653.2019978079018 1424.2615982463215 -4.5
tagging.T0_level_1_zone.T0_level_1_zone.xaxis = 818.3940065762945 472.4999999999999 0.0
tagging.T0_level_1_zone.T0_level_1_zone.yaxis = -251.99999999999994 436.47680350735703 -0.0
tagging.T0_level_1_zone.T0_level_1_zone.zaxis = 0.0 0.0 283.5
tagging.T0_level_2_zone.type = GeometryRefinement
tagging.T0_level_2_zone.shapes = T0_level_2_zone
tagging.T0_level_2_zone.level = 2
tagging.T0_level_2_zone.T0_level_2_zone.type = box
tagging.T0_level_2_zone.T0_level_2_zone.origin = 1742.350998903951 1584.850998903951 -4.5
tagging.T0_level_2_zone.T0_level_2_zone.xaxis = 354.6374028497276 204.74999999999994 0.0
tagging.T0_level_2_zone.T0_level_2_zone.yaxis = -157.49999999999997 272.7980021920982 -0.0
tagging.T0_level_2_zone.T0_level_2_zone.zaxis = 0.0 0.0 220.5
tagging.T0_level_3_zone.type = GeometryRefinement
tagging.T0_level_3_zone.shapes = T0_level_3_zone
tagging.T0_level_3_zone.level = 3
tagging.T0_level_3_zone.T0_level_3_zone.type = box
tagging.T0_level_3_zone.T0_level_3_zone.origin = 1781.1605993423705 1643.6307991231608 -4.5
tagging.T0_level_3_zone.T0_level_3_zone.xaxis = 163.6788013152589 94.49999999999999 0.0
tagging.T0_level_3_zone.T0_level_3_zone.yaxis = -125.99999999999997 218.23840175367852 -0.0
tagging.T0_level_3_zone.T0_level_3_zone.zaxis = 0.0 0.0 189.0

#---- postprocessing defs ----
incflo.post_processing = metmast_ rotorplaneUP_ rotorplaneDN_ nearwake_ turbsw_ turbhh_ XYdomain_027_ XYdomain_090_ XYdomain_153_
metmast_.type = Sampling
metmast_.output_frequency = 1
metmast_.fields = velocity temperature tke
rotorplaneUP_.type = Sampling
rotorplaneUP_.output_frequency = 100
rotorplaneUP_.fields = velocity temperature tke
rotorplaneDN_.type = Sampling
rotorplaneDN_.output_frequency = 100
rotorplaneDN_.fields = velocity temperature tke
nearwake_.type = Sampling
nearwake_.output_frequency = 100
nearwake_.fields = velocity temperature tke
turbsw_.type = Sampling
turbsw_.output_frequency = 100
turbsw_.fields = velocity temperature tke
turbhh_.type = Sampling
turbhh_.output_frequency = 100
turbhh_.fields = velocity temperature tke
XYdomain_027_.type = Sampling
XYdomain_027_.output_frequency = 100
XYdomain_027_.fields = velocity temperature tke
XYdomain_090_.type = Sampling
XYdomain_090_.output_frequency = 100
XYdomain_090_.fields = velocity temperature tke
XYdomain_153_.type = Sampling
XYdomain_153_.output_frequency = 100
XYdomain_153_.fields = velocity temperature tke

#---- sample defs ----
metmast_.labels = virtualmast
rotorplaneUP_.labels = T0_rotorplaneUP
rotorplaneDN_.labels = T0_rotorplaneDN
nearwake_.labels = T0_nearwake
turbsw_.labels = T0_turbsw
turbhh_.labels = T0_turbhh
XYdomain_027_.labels = Farm_XYdomain027
XYdomain_090_.labels = Farm_XYdomain090
XYdomain_153_.labels = Farm_XYdomain153
metmast_.virtualmast.type = LineSampler
metmast_.virtualmast.num_points = 20
metmast_.virtualmast.start = 1800.0 1800.0 10.0
metmast_.virtualmast.end = 1800.0 1800.0 200.0
rotorplaneUP_.T0_rotorplaneUP.type = PlaneSampler
rotorplaneUP_.T0_rotorplaneUP.num_points = 81 35
rotorplaneUP_.T0_rotorplaneUP.origin = 1489.523196492643 1329.7615982463215 1.8000000000000114
rotorplaneUP_.T0_rotorplaneUP.axis1 = -251.99999999999994 436.47680350735703 -0.0
rotorplaneUP_.T0_rotorplaneUP.axis2 = 0.0 0.0 214.2
rotorplaneUP_.T0_rotorplaneUP.offset_vector = 0.8660254037844386 0.4999999999999999 0.0
rotorplaneUP_.T0_rotorplaneUP.offsets = 0.0 126.0 252.0 378.0 504.0
rotorplaneDN_.T0_rotorplaneDN.type = PlaneSampler
rotorplaneDN_.T0_rotorplaneDN.num_points = 81 35
rotorplaneDN_.T0_rotorplaneDN.origin = 1926.0 1581.7615982463215 1.8000000000000114
rotorplaneDN_.T0_rotorplaneDN.axis1 = -251.99999999999994 436.47680350735703 -0.0
rotorplaneDN_.T0_rotorplaneDN.axis2 = 0.0 0.0 214.2
rotorplaneDN_.T0_rotorplaneDN.offset_vector = 0.8660254037844386 0.4999999999999999 0.0
rotorplaneDN_.T0_rotorplaneDN.offsets = 0.0 126.0 252.0 378.0 504.0 630.0 756.0 882.0 1008.0 1134.0 1260.0
nearwake_.T0_nearwake.type = PlaneSampler
nearwake_.T0_nearwake.num_points = 81 35
nearwake_.T0_nearwake.origin = 1926.0 1581.7615982463215 1.8000000000000114
nearwake_.T0_nearwake.axis1 = -251.99999999999994 436.47680350735703 -0.0
nearwake_.T0_nearwake.axis2 = 0.0 0.0 214.2
nearwake_.T0_nearwake.offset_vector = 0.8660254037844386 0.4999999999999999 0.0
nearwake_.T0_nearwake.offsets = 0.0 63.0 126.0 189.0 252.0
turbsw_.T0_turbsw.type = PlaneSampler
turbsw_.T0_turbsw.num_points = 281 45
turbsw_.T0_turbsw.origin = 1363.523196492643 1548.0 1.8000000000000114
turbsw_.T0_turbsw.axis1 = 1527.6688122757496 881.9999999999998 0.0
turbsw_.T0_turbsw.axis2 = 0.0 0.0 277.2
turbsw_.T0_turbsw.offset_vector = 0.0 0.0 0.0
turbhh_.T0_turbhh.type = PlaneSampler
turbhh_.T0_turbhh.num_points = 281 81
turbhh_.T0_turbhh.origin = 1489.523196492643 1329.7615982463215 90.0
turbhh_.T0_turbhh.axis1 = 1527.6688122757496 881.9999999999998 0.0
turbhh_.T0_turbhh.axis2 = -251.99999999999994 436.47680350735703 -0.0
turbhh_.T0_turbhh.offset_vector = 0.0 0.0 0.0
XYdomain_027_.Farm_XYdomain027.type = PlaneSampler
XYdomain_027_.Farm_XYdomain027.num_points = 513 513
XYdomain_027_.Farm_XYdomain027.origin = 0.0001 0.0001 27.0
XYdomain_027_.Farm_XYdomain027.axis1 = 5119.9998 0.0 0.0
XYdomain_027_.Farm_XYdomain027.axis2 = 0.0 5119.9998 0.0
XYdomain_027_.Farm_XYdomain027.offset_vector = 0.0 0.0 0.0
XYdomain_090_.Farm_XYdomain090.type = PlaneSampler
XYdomain_090_.Farm_XYdomain090.num_points = 513 513
XYdomain_090_.Farm_XYdomain090.origin = 0.0001 0.0001 90.0
XYdomain_090_.Farm_XYdomain090.axis1 = 5119.9998 0.0 0.0
XYdomain_090_.Farm_XYdomain090.axis2 = 0.0 5119.9998 0.0
XYdomain_090_.Farm_XYdomain090.offset_vector = 0.0 0.0 0.0
XYdomain_153_.Farm_XYdomain153.type = PlaneSampler
XYdomain_153_.Farm_XYdomain153.num_points = 513 513
XYdomain_153_.Farm_XYdomain153.origin = 0.0001 0.0001 153.0
XYdomain_153_.Farm_XYdomain153.axis1 = 5119.9998 0.0 0.0
XYdomain_153_.Farm_XYdomain153.axis2 = 0.0 5119.9998 0.0
XYdomain_153_.Farm_XYdomain153.offset_vector = 0.0 0.0 0.0

#---- extra params ----
io.line_plot_int = 1
CoriolisForcing.turn_off_vertical_force = True
#== END AMR-WIND INPUT ==
Loading
Loading