diff --git a/docs/source/theory/boundaryConditions.rst b/docs/source/theory/boundaryConditions.rst index 51ab61844d..0e8abb3c1e 100644 --- a/docs/source/theory/boundaryConditions.rst +++ b/docs/source/theory/boundaryConditions.rst @@ -797,8 +797,9 @@ surface as, + \left(1 - \epsilon - \tau \right) K \right]. .. _sst_abl: + SST of the Atmospheric Boundary Layer -+++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++ The following boundary conditions simulate the Atmospheric Boundary Layer, as described in Bautista, :cite:`Bautista:2011` and :cite:`Bautista:2015`. The Nalu-Wind SST RANS implementation matches the Monin-Obukhov profile when used with the model constants from Table-A I-1 (Boundreault, 2011) in :cite:`Bautista:2011` and the meshing method described in :cite:`Bautista:2015`. The mesh described in :cite:`Bautista:2015` gives the Monin-Obukhov profile for roughness height 0.1. When the roughness height is decreased, the mesh must be refined near the wall. For example, for the :cite:`Bautista:2015` ABL test case using roughness height 0.001 instead of 0.1, the mesh size needs to be halved near the wall. @@ -825,7 +826,7 @@ The :math:`k`, :math:`\omega`, and :math:`u` wall boundary conditions are set in .. literalinclude:: ransAbl_wallUserData.yaml :language: yaml -Rather than specifying a momentum source term, :math:`dp/dx`, the velocity is set to the geostrophic (freestream) value near the top of the domain using the ABL forcing method described in :ref:`ABL Forcing Source Terms`. The ABL forcing term is turned on and the desired wind velocity and height must be speciied in the input file: +Rather than specifying a momentum source term, :math:`dp/dx`, the velocity is set to the geostrophic (freestream) value near the top of the domain using the ABL forcing method described in :ref:`abl_forcing_term`. The ABL forcing term is turned on and the desired wind velocity and height must be specified in the input file: .. literalinclude:: ransAbl_momentum.yaml :language: yaml @@ -953,15 +954,15 @@ There are two implementations of the symmetry boundary condition: strong and wea .. _theory_weak_symmetry_bc: Weak Symmetry Boundary Condition -+++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++ Continuity, Mixture Fraction, Enthalpy, Species, :math:`k_{sgs}`, k and :math:`\omega` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Weak symmetry applies zero diffusion at the boundary for scalar quantities, which effectively sets the boundary-normal gradients of these quantities to zero. This means that, unlike for strong symmetry, in the weak symmetry implementation, normal velocity can be non-zero. This is possible because the cell averaged quantities in Nalu-Wind's discretization are stored at the nodes and therefore reside on the boundaries. In general, a non-zero normal velocity can cause net inflow or outflow. The Poisson solve prevents this by enforcing mass conservation globally to the order of linear solver convergence. Momentum -~~~~~~~ +~~~~~~~~ A symmetry boundary is one that is described by removal of the tangential stress. For weak symmetry this is done in the momentum equation by applying only the normal component of stress: @@ -1245,6 +1246,3 @@ Figure :numref:`dg-hex8-tet4`). .. rubric:: Footnotes - -.. [#f1] Or, at least, that the difference between these quantities - is small relative to other terms, see Moeng :cite:`Moeng:84`. diff --git a/docs/source/theory/overset.rst b/docs/source/theory/overset.rst index 7014286735..d08633d04a 100644 --- a/docs/source/theory/overset.rst +++ b/docs/source/theory/overset.rst @@ -218,7 +218,7 @@ separation between the fringe boundaries on the participating meshes. TIOGA overset hole cutting for a rotated internal mesh configuration showing the field and fringe locations. -Figure :numref:`tioga-overset-cyl` shows the resulting overset assembly for +Figure :numref:`tioga-cyl-nested` shows the resulting overset assembly for cylinder mesh and a background mesh with an intermediate refinement zone. The hole points (inside the cylinder) have been removed from the linear system for both the intermediate and background mesh. The magenta region shows the overlap diff --git a/docs/source/theory/supportedEquationSet.rst b/docs/source/theory/supportedEquationSet.rst index 430586fe87..b634d559b1 100644 --- a/docs/source/theory/supportedEquationSet.rst +++ b/docs/source/theory/supportedEquationSet.rst @@ -856,7 +856,7 @@ where :math:`\Omega` is the earth's angular velocity and :math:`\lambda` is the .. _eqn_sst_des: Detached Eddy Simulation (DES) Formulation -++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++ The DES technique is also supported in the code base when the SST model is activated. This model seeks to formally relax the RANS-based approach diff --git a/docs/source/theory/windEnergy.rst b/docs/source/theory/windEnergy.rst index 1e9753de4b..a2fdb59ce2 100644 --- a/docs/source/theory/windEnergy.rst +++ b/docs/source/theory/windEnergy.rst @@ -348,7 +348,7 @@ Top boundary condition For problems with minimal streamline curvature near the upper boundary (e.g. nearly flat terrain, negligible turbine blockage), a -:ref:`symmetry BC ` (slip wall) can be when modeling +:ref:`symmetry BC ` (slip wall) can be when modeling wind farm problems. By default a zero vertical temperature gradient will be imposed for the enthalpy equation when the symmetry boundary condition is used. If a non-zero normal temperature gradient is required to @@ -535,8 +535,8 @@ radial location (:math:`r_j` where :math:`j \in [1,N_R]`) is computed using :eq:`diskTotalForce`. .. math:: - :label: diskTotalForce + \mathbf{F}_{total}(r_j) = \sum_{i=1}^{N_B} \mathbf{F}(r_j, \theta_i) where :math:`N_B` and :math:`N_R` are the number of blades and number of radial points @@ -564,8 +564,8 @@ The force that is spread across all the points at a given radius is then calcula :eq:`diskAppliedForce`. .. math:: - :label: diskAppliedForce + \mathbf{f}(r_j) = \frac{\mathbf{F}_{total}(r_j)}{N_B*(N_{S,j}+1)} where :math:`N_{S,j}` is the number of swept points for a given radius. The index j is used diff --git a/docs/source/verification/verification.rst b/docs/source/verification/verification.rst index 0016ba2ec1..42353c9f83 100644 --- a/docs/source/verification/verification.rst +++ b/docs/source/verification/verification.rst @@ -836,8 +836,8 @@ verified by a simple algebraic calculation. An example of the fixed wing specification in the Nalu-Wind input file is shown below. The actuator type can be - :code-block:`ActLineSimpleNGP` for the NGP version and - :code-block:`ActLineSimple` for the non-NGP version (soon to be + :code:`ActLineSimpleNGP` for the NGP version and + :code:`ActLineSimple` for the non-NGP version (soon to be deprecated). .. code-block:: yaml @@ -865,13 +865,13 @@ verified by a simple algebraic calculation. The fixed wing is defined between points :math:`\mathbf{p_1}` and :math:`\mathbf{p_2}` given the chord length and blade twist defined in -:code-block:`chord_table` and :code-block:`twist_table`. The +:code:`chord_table` and :code:`twist_table`. The direction :math:`\mathbf{p1}_{0\alpha}` corresponding to the zero -degree angle of attack is given in :code-block:`p1_zero_alpha_dir`. +degree angle of attack is given in :code:`p1_zero_alpha_dir`. The lift coefficients :math:`C_L` and drag coefficients :math:`C_D` -are tabulated in the :code-block:`cl_table` and :code-block:`cd_table` +are tabulated in the :code:`cl_table` and :code:`cd_table` parameters, respectively, as functions of the angle of attack -:math:`\alpha` in :code-block:`aoa_table`. +:math:`\alpha` in :code:`aoa_table`. The lift :math:`L` and drag :math:`D` on the fixed wing can be calculated by infinite 2D airfoil theory using the formulas: @@ -908,12 +908,12 @@ lift coefficient and zero drag .. math:: - :label: linear_cl + :label: linear_cd {C_D}=0. A comparison of total lift force calculated Nalu-Wind against the 2D -airfoil theory is shown in FigureĀ :numref:`_fw_bladeresults`. As +airfoil theory is shown in FigureĀ :numref:`fw_bladeresults`. As expected, the total lift force varies linearly with the angle of attack, and the agreement between theory and Nalu-Wind is good. Differences between the two methods were seen to be less than 0.1% @@ -1037,7 +1037,7 @@ mid-span region compared to the wing tips. .. _ew_cl: -.. figure:: figures/ew_LiftCoeff.pdf +.. figure:: figures/ew_liftcoeff.pdf :width: 500px :align: center @@ -1045,7 +1045,7 @@ mid-span region compared to the wing tips. .. _ew_cd: -.. figure:: figures/ew_DragCoeff.pdf +.. figure:: figures/ew_dragcoeff.pdf :width: 500px :align: center @@ -1054,7 +1054,7 @@ mid-span region compared to the wing tips. .. _ew_lpul: -.. figure:: figures/ew_LiftForcePerUnitLength.pdf +.. figure:: figures/ew_liftforceperunitlength.pdf :width: 500px :align: center @@ -1062,7 +1062,7 @@ mid-span region compared to the wing tips. .. _ew_dpul: -.. figure:: figures/ew_DragForcePerUnitLength.pdf +.. figure:: figures/ew_dragforceperunitlength.pdf :width: 500px :align: center @@ -1076,6 +1076,7 @@ mid-span region compared to the wing tips. :align: center Comparison of angle of attack distribution on an elliptic wing simulated using actuator line algorithm to solution using lifting line theory. Results are only shown at 9 different stations along the blade that are output from OpenFAST. + ======= Open Boundary Condition With Outflow Thermal Stratification