-
Notifications
You must be signed in to change notification settings - Fork 92
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
F/rayleigh damping #726
Draft
mchurchf
wants to merge
51
commits into
Exawind:master
Choose a base branch
from
mchurchf:f/RayleighDamping
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
F/rayleigh damping #726
Changes from all commits
Commits
Show all changes
51 commits
Select commit
Hold shift + click to select a range
aed868f
First commit of a new branch for getting upgraded ABL wall BC into ma…
mchurchf ce8f4d4
Updating NaluParsing.
mchurchf 2bb9346
The beginnings of the ABL wall fluxes computation in ngp_algorithms.
mchurchf b30f32d
Trying to get the ABLWallFluxes load method to compile.
mchurchf f2fe775
Basic framework for new ABL BC in place.
ab3af32
Connecting EnthalpyEquationSystem with the ABL wall model.
6f25cc9
Progress commit. Load function complete, fixed small issue in Scalar…
fcfabfb
Fixing a problem with the psi_h function for unstable conditions.
2194613
Adding a checkpoint commit for this upgraded wall bc.
1ae3cd3
Checkpoint commit.
dbe8b90
add in a rayleigh damping option
rcknaus f998eed
This ties all components together to do wall-modeling outlined by Bas…
6a24854
Merging with exawind/master
7b84771
Updating the ablNeutralEdge input file to reflect new BC input needs.
e50c065
Fixed a sign error on the applied wall shear stresses.
8c50b42
Fixes for the flux algorithms 1 and 2 to include L calculation each i…
a134dd0
Added logic to deal with zero divided by zero fluctuation stress/flux…
a9d758f
Merge remote-tracking branch 'exawind/master' into f/ABLWallBCUpgrade
85c3367
Merged with current state of exawind master.
5b02a36
Merge remote-tracking branch 'exawind/master' into f/ABLWallBCUpgrade
82c2e5a
Merge remote-tracking branch 'exawind/master' into f/ABLWallBCUpgrade
f5e40c2
Updated to give the option to use reference or surface temperature in…
1d6e196
Updating regression tests.
85221b9
Merge remote-tracking branch 'exawind/master' into f/ABLWallBCUpgrade
01e9efe
Fixed a syntax issue in NaluParsing.h
77d075e
Merge remote-tracking branch 'exawind/master' into f/ABLWallBCUpgrade
a776d1f
Updated the gold value of wall distance to be used by wall functions …
7a2794c
Update include/edge_kernels/MomentumABLWallShearStressEdgeKernel.h
mchurchf 3714784
Update include/ngp_algorithms/WallFricVelAlgDriver.h
mchurchf 69239ef
Update include/wind_energy/MoninObukhov.h
mchurchf 2d1532b
Update src/ngp_algorithms/ABLWallFluxesAlg.C
mchurchf 14f49a1
Update src/ngp_algorithms/ABLWallFluxesAlg.C
mchurchf b8d4ef5
Update src/ngp_algorithms/ABLWallFluxesAlg.C
mchurchf eb8a34f
Reduced redundant code by eliminating the two flux/stress functions a…
e57e892
Adding some Doxygen style comments to explain the code.
3fa16f4
Update to make the new flux/stress BC work for both element and edge …
4abd573
Small typo fix.
6e04ca0
Update src/LowMachEquationSystem.C
mchurchf 8d2acc4
Update src/kernel/ScalarFaceFluxBCElemKernel.C
mchurchf 199302d
Update src/ngp_algorithms/WallFuncGeometryAlg.C
mchurchf aab10b6
Update src/wind_energy/BdyLayerStatistics.C
mchurchf 6fd4cbe
Update to WallFuncGeometryAlg to make distance from wall of velocity …
60277fd
Merging with changes made through github website pull request suggest…
c41ab95
Merging with current exawind/master
1321fc6
Merging Robert's Rayleigh damping with the updated lower BC code, whi…
f9a737b
Initial clean up to better match main exawind master.
52674bf
Small updates to better match upgraded ABL surface BC branch and master.
1d82f96
Clean up to integrate Robert's gravity wave implementation into new f…
6a18867
Generalized the capping inversion aux function to take user inputs in…
6b9c08c
Commit for updates to mesh
6bf95e9
Removing Rayleigh damping from ablNeutralEdge test case. Will add a …
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
65 changes: 65 additions & 0 deletions
65
include/edge_kernels/MomentumABLWallShearStressEdgeKernel.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
// Copyright 2017 National Technology & Engineering Solutions of Sandia, LLC | ||
// (NTESS), National Renewable Energy Laboratory, University of Texas Austin, | ||
// Northwest Research Associates. Under the terms of Contract DE-NA0003525 | ||
// with NTESS, the U.S. Government retains certain rights in this software. | ||
// | ||
// This software is released under the BSD 3-clause license. See LICENSE file | ||
// for more details. | ||
// | ||
|
||
|
||
#ifndef MOMENTUMABLWALLSHEARSTRESSEDGEKERNEL_H | ||
#define MOMENTUMABLWALLSHEARSTRESSEDGEKERNEL_H | ||
|
||
#include "kernel/Kernel.h" | ||
#include "KokkosInterface.h" | ||
#include "FieldTypeDef.h" | ||
|
||
#include "stk_mesh/base/MetaData.hpp" | ||
#include "stk_mesh/base/Entity.hpp" | ||
|
||
namespace sierra { | ||
namespace nalu { | ||
|
||
|
||
/** | ||
* This class applies the computed wall shear stress field to the boundary. | ||
* | ||
*/ | ||
template<typename BcAlgTraits> | ||
class MomentumABLWallShearStressEdgeKernel: public NGPKernel<MomentumABLWallShearStressEdgeKernel<BcAlgTraits>> | ||
{ | ||
public: | ||
MomentumABLWallShearStressEdgeKernel( | ||
stk::mesh::MetaData&, | ||
ElemDataRequests& faceDataPreReqs); | ||
|
||
KOKKOS_FORCEINLINE_FUNCTION MomentumABLWallShearStressEdgeKernel() = default; | ||
|
||
KOKKOS_FORCEINLINE_FUNCTION virtual ~MomentumABLWallShearStressEdgeKernel() = default; | ||
|
||
using Kernel::execute; | ||
|
||
KOKKOS_FUNCTION | ||
virtual void execute( | ||
SharedMemView<DoubleType**, DeviceShmem>&, | ||
SharedMemView<DoubleType*, DeviceShmem>&, | ||
ScratchViews<DoubleType, DeviceTeamHandleType, DeviceShmem>&); | ||
|
||
private: | ||
unsigned velocityNp1_ {stk::mesh::InvalidOrdinal}; | ||
unsigned bcVelocity_ {stk::mesh::InvalidOrdinal}; | ||
unsigned density_ {stk::mesh::InvalidOrdinal}; | ||
unsigned exposedAreaVec_ {stk::mesh::InvalidOrdinal}; | ||
unsigned wallFricVel_ {stk::mesh::InvalidOrdinal}; | ||
unsigned wallShearStress_ {stk::mesh::InvalidOrdinal}; | ||
unsigned wallNormDist_ {stk::mesh::InvalidOrdinal}; | ||
|
||
MasterElement* meFC_{nullptr}; | ||
}; | ||
|
||
} // nalu | ||
} // sierra | ||
|
||
|
||
#endif /* MOMENTUMABLWALLFUNCEDGEKERNEL_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
// Copyright 2017 National Technology & Engineering Solutions of Sandia, LLC | ||
// (NTESS), National Renewable Energy Laboratory, University of Texas Austin, | ||
// Northwest Research Associates. Under the terms of Contract DE-NA0003525 | ||
// with NTESS, the U.S. Government retains certain rights in this software. | ||
// | ||
// This software is released under the BSD 3-clause license. See LICENSE file | ||
// for more details. | ||
// | ||
|
||
|
||
#ifndef SCALARFACEFLUXBCELEMKERNEL_H | ||
#define SCALARFACEFLUXBCELEMKERNEL_H | ||
|
||
#include "kernel/Kernel.h" | ||
#include "FieldTypeDef.h" | ||
|
||
#include "stk_mesh/base/MetaData.hpp" | ||
#include "stk_mesh/base/Entity.hpp" | ||
|
||
namespace sierra { | ||
namespace nalu { | ||
|
||
class ElemDataRequests; | ||
class MasterElement; | ||
|
||
/** | ||
* This class applies the computed wall heat flux field to the boundary. | ||
* | ||
*/ | ||
template <typename BcAlgTraits> | ||
class ScalarFaceFluxBCElemKernel | ||
: public NGPKernel<ScalarFaceFluxBCElemKernel<BcAlgTraits>> | ||
{ | ||
public: | ||
ScalarFaceFluxBCElemKernel( | ||
const stk::mesh::BulkData&, | ||
GenericFieldType*, | ||
std::string, | ||
const bool, | ||
ElemDataRequests&); | ||
|
||
KOKKOS_FORCEINLINE_FUNCTION | ||
ScalarFaceFluxBCElemKernel() = default; | ||
|
||
KOKKOS_FUNCTION | ||
virtual ~ScalarFaceFluxBCElemKernel() = default; | ||
|
||
/** Execute the kernel within a Kokkos loop and populate the LHS and RHS for | ||
* the linear solve | ||
*/ | ||
using Kernel::execute; | ||
|
||
KOKKOS_FUNCTION | ||
virtual void execute( | ||
SharedMemView<DoubleType**, DeviceShmem>&, | ||
SharedMemView<DoubleType*, DeviceShmem>&, | ||
ScratchViews<DoubleType, DeviceTeamHandleType, DeviceShmem>&); | ||
|
||
private: | ||
unsigned coordinates_{stk::mesh::InvalidOrdinal}; | ||
unsigned bcScalarQ_{stk::mesh::InvalidOrdinal}; | ||
unsigned exposedAreaVec_{stk::mesh::InvalidOrdinal}; | ||
|
||
const bool useShifted_{false}; | ||
|
||
MasterElement* meFC_{nullptr}; | ||
}; | ||
|
||
} // nalu | ||
} // sierra | ||
|
||
|
||
#endif /* SCALARFLUXBCELEMKERNEL_H */ |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was this tested against SST? Looking at the code for default blade-resolved simulations, this will change the
ndtw
field tominimum_distance_to_
and RANS models are expecting the fieldminimum_distance_to_wall
. This will break all existing restart files.