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

F/rayleigh damping #726

Draft
wants to merge 51 commits into
base: master
Choose a base branch
from
Draft

Conversation

mchurchf
Copy link
Contributor

Pull-request type:

  • Bug fix
  • Documentation update
  • Feature enhancement

Description of the pull-request

This pull request provides basic Rayleigh damping capability for attenuating atmospheric gravity waves at domain boundaries other than the ground. The implementation is by Robert Knaus at Sandia. Matt Churchfield integrated Robert's implementation into the current exawind/nalu-wind/master and the upgraded lower ABL bc codes and performed testing.

mchurchf and others added 30 commits May 7, 2020 09:02
…u with wall shear stress fluctuations of Moeng or Schumann or completely local.
…teration; fix for the fluctuating surface temperature flux component to deal properly with zero divided by zero sitations.
mchurchf and others added 21 commits October 1, 2020 12:14
…nd having just a single function that can operate in both alg 1 and 2 modes.
Co-authored-by: Shreyas Ananthan <[email protected]>
…sampling a parameter that can be modified in the code.
@@ -26,7 +26,7 @@ class EquationSystems;
class WallDistEquationSystem : public EquationSystem
{
public:
WallDistEquationSystem(EquationSystems&);
WallDistEquationSystem(EquationSystems&, std::string = "");
Copy link
Contributor

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 to minimum_distance_to_ and RANS models are expecting the field minimum_distance_to_wall. This will break all existing restart files.

Suggested change
WallDistEquationSystem(EquationSystems&, std::string = "");
WallDistEquationSystem(EquationSystems&, std::string = "wall", bool addToEqSys = true);

Comment on lines +108 to +112
EquationSystems& eqSystems, std::string wallname)
: EquationSystem(eqSystems, "WallDistEQS" + wallname, "ndtw"),
nodalGradAlgDriver_(realm_, dphidx_name(wallname)),
managePNG_(realm_.get_consistent_mass_matrix_png("ndtw")),
wallName_(wallname)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
EquationSystems& eqSystems, std::string wallname)
: EquationSystem(eqSystems, "WallDistEQS" + wallname, "ndtw"),
nodalGradAlgDriver_(realm_, dphidx_name(wallname)),
managePNG_(realm_.get_consistent_mass_matrix_png("ndtw")),
wallName_(wallname)
EquationSystems& eqSystems, std::string wallname, bool addToEqsys)
: EquationSystem(eqSystems, "WallDistEQS" + wallname, "ndtw"),
nodalGradAlgDriver_(realm_, dphidx_name(wallname)),
managePNG_(realm_.get_consistent_mass_matrix_png("ndtw")),
wallName_(wallname)

Comment on lines +126 to +128
if (wallname == "") {
realm_.push_equation_to_systems(this);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (wallname == "") {
realm_.push_equation_to_systems(this);
}
if (addToEqSys) {
realm_.push_equation_to_systems(this);
}

@sayerhs
Copy link
Contributor

sayerhs commented Oct 18, 2020

@mchurchf can you resubmit this pull-request with only Rayleigh damping code on top of the latest main branch?

@sayerhs sayerhs marked this pull request as draft October 18, 2020 17:18
Copy link
Contributor

@rcknaus rcknaus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good overall. I don't really have anything to add beyond Shreyas's comments.

cell_damping_force[d] =
c * volume_.get(node, 0) * (params_.uref[d] - velocity_.get(node, d));
}
// derivstive of cell damping wrt u_j
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

derivative

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants