-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.SOWFA
executable file
·158 lines (132 loc) · 8.01 KB
/
README.SOWFA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
All of these files compose the current version of the SOWFA (Simulator for
Offshore Wind Farm Applications), created at the National Renewable Energy
Laboratory (NREL). The files are based on the OpenFOAM software and are
either new files or modifications of files in the OpenFOAM source code
distribution. Please see the included OpenFOAM readme file
("README.OpenFOAM") and the GPL licence information ("COPYING"). Access
to and use of SOWPA imposes obligations on the user, as set forth in the
NWTC Design Codes DATA USE DISCLAIMER AGREEMENT that can be found at
<http://wind.nrel.gov/designcodes/disclaimer.html>.
Solvers and Codes Included:
A. Solvers
1. ABLSolver - A solver, primarily for performing large-eddy simulation
(LES), for computing atmospheric boundary layer turbulent flow with
the ability to specify surface roughness, stability, and wind speed
and direction. It must be used with hexahedral meshes (like those
created by OpenFOAM's blockMesh utility) in order for it to perform
the planar averaging it does.
2. ABLTerrainSolver - Basically the same as ABLSolver, but the planar
averaging done in ABLSolver is replaced with time averaging since
planar averaging does not make sense for terrain.
3. windPlantSolver - A specialized version of ABLTerrainSolver for
performing LES of wind plant flow. It includes the ability to
include actuator line turbine models with local grid refinement
around the turbine.
4. windPlantSolverFAST - Like windPlantSolver, but the actuator
line turbine model is coupled to NREL's FAST aeroelastic and turbine
system dynamics code.
5. pisoFoamTurbine - OpenFOAM's standard pisoFoam solver, but with the
actuator line model included.
6. turbineTestHarness - A simple code coupled to the actuator line model
that allows you to quickly test a actuator line model setup. It mimics
pisoFoam, but the governing equations are not actually solved, the
velocity field is constant through the domain, but can change as a
function of time. Therefore, no axial induction is computed. But, it
lets one quickly test out a new actuator line model setup to see if
things like pitch control gains are appropriate.
NOTE: These solvers have been primarily tested for flow over flat terrain.
We have tested the non-flat terrain capabilities less, but will do so in the
future. It is important to remember, though, that you may couple the
actuator line models with any standard OpenFOAM solver, such as pisoFoam.
B. Utilities
1. setFieldsABL - A utility to initialize the flow field for performing
atmospheric boundary layer LES. With the utility, you can specify
an initial mean profile and perturbations that accelerate the
development of turbulence will be superimposed. You may also
specify the initial temperature profile and location and strength
of the capping inversion.
C. Libraries
1. finiteVolume - Contains custom boundary conditions for:
*surface shear stress - Schumann model
*surface temperature flux / heating - Specify a surface cooling/
heating rate and the appropriate temperature flux is calculated
*surface velocity - For use with surface shear stress model,
which requires no wall-parallel velocity, but that velocity
is required for specification of the gradient for the SGS
model, and setting it to no-slip is not appropriate for rough
walls
*inflow velocity - an inflow condition that applies a log-law
with fluctuations and drives flow to a certain speed at a
specified location
*inflow temperature - an inflow temperature condition that
attempts to recreate a typical ABL potential temperature
profile
2. incompressible LES models - Contains a modified version of the
OpenFOAM standard dynamic Lagrangian model of Meneveau et al. but
that writes out the Cs field. Also, contains a modified version of
that same model that clips the Cs field.
3. turbineModels - Contains the actuator line turbine model similar
to that outlined by Sorensen and Shen (2002).
4. openfast - A version of NREL's FAST code (see
http://wind.nrel.gov/designcodes/simulators/fast/) meant for
coupling with the windPlantPisoSolverFAST solver.
5. fastturb - A version of the actuator line turbine model that
is coupled with NREL's FAST aeroelastic and turbine system
dynamics code.
Installation/Compiling:
The included codes work only with the OpenFOAM CFD Toolbox. OpenFOAM has
not been distributed with the SOWFA package. Please visit www.openfoam.com
to download and install OpenFOAM. This release of SOWFA is known to work
with OpenFOAM-2.0.x, but should work with versions up to 2.3.x
Once OpenFOAM is installed and SOWFA downloaded, please follow these steps:
1. Put the SOWFA directory where you want it. This directory will remain
your "clean" SOWFA directory.
2. From within the SOWFA directory, open the "makeNewWorkingDir" script.
This script creates your "working" SOWFA directory in which files are
compiled. By default, when you run "makeNewWorkingDir", it creates
a copy of the clean SOWFA directory in your OpenFOAM user directory.
All files withing the working SOWFA directory are soft linked back
to the clean directory. In this way, if you have multiple versions
of OpenFOAM that you commonly use, you will have multiple SOWFA
working directories that all link back to the clean one. If you run
git pull in the clean directory to get updates, these updates are
seen in all of your working directories. Modify the "makeNewWorkingDir"
if required.
3. Run ./makeNewWorkingDir.
4. Change directory to the working SOWFA directory created by "makeNewWorkingDir".
5. Run ./Allwclean.
6. Run ./Allwmake.
7. Make sure that no error messages appeared and that all libraries
and applications are listed as "up to date."
Running Tutorials:
Tutorial example cases are provide for each solver. The tutorials are
as follows
1. precursorABL - An example case of how to perform an atmospheric
boundary layer large-eddy simulation (without turbines). This
will generate turbulent fields that can be used in wind plant
simulations.
2. windPlant - An example of how to use windPlantPisoSolver with
a farm of NREL 5MW turbines.
3. windPlantFAST - Like the windPlant example but for use of the
FAST-coupled windPlantPisoSolverFAST.
To run a tutorial, change to that tutorial directory and run the
Allrun script contained in the directory by entering "./Allrun". View
the Allrun script to understand the basic use of the code. To return
to the original state, run the Allclean script by entering "./Allclean".
These are very basic tutorials meant to familiarize the user with the
general file structure of a case and the various input files. They
are meant to run on a small amount of processors, but will not
generate very meaningful results as the grid resolution is extremely
coarse. The turbine models use a Gaussian projection (see the
"epsilon" variable in the constant/turbineArrayProperties file) that
should be set to at least twice the local grid cell width. For these
examples, epsilon is set to a realistic value for performing true
LES, but is much less than twice the local grid cell width of these
very coarse grids. The precursorABL tutorial uses a periodic mesh,
which is what we do in running a "real" precursor simulation. The
wind plant tutorials also use a periodic mesh, but in actuality, we
feed data saved from the precursor into the wind plant domain and
have outflow boundaries elsewhere. We did not show this in these
tutorials since the precursorABL simulation is too coarse to create
meaningful inflow data for the windPlant simulations. We leave it to
the user to experiment with this.