forked from idaholab/moose
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add header file for nonlinear SIMPLE solve object. (idaholab#28819)
- Loading branch information
Showing
4 changed files
with
61 additions
and
0 deletions.
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
53 changes: 53 additions & 0 deletions
53
modules/navier_stokes/include/executioners/SIMPLESolveNonlinearAssembly.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,53 @@ | ||
//* This file is part of the MOOSE framework | ||
//* https://www.mooseframework.org | ||
//* | ||
//* All rights reserved, see COPYRIGHT for full restrictions | ||
//* https://github.com/idaholab/moose/blob/master/COPYRIGHT | ||
//* | ||
//* Licensed under LGPL 2.1, please see LICENSE for details | ||
//* https://www.gnu.org/licenses/lgpl-2.1.html | ||
|
||
#pragma once | ||
|
||
// Moose includes | ||
#include "RhieChowMassFlux.h" | ||
#include "SIMPLESolveBase.h" | ||
|
||
/** | ||
* SIMPLE-based solution object with nonlinear FV system assembly. | ||
*/ | ||
class SIMPLESolveNonlinearAssembly : public SIMPLESolveBase | ||
{ | ||
public: | ||
SIMPLESolveNonlinearAssembly(Executioner & ex); | ||
|
||
static InputParameters validParams(); | ||
|
||
/// Fetch the Rhie Chow user object that | ||
virtual void linkRhieChowUserObject() override; | ||
|
||
/** | ||
* Performs the momentum pressure coupling. | ||
* @return True if solver is converged. | ||
*/ | ||
virtual bool solve() override; | ||
|
||
protected: | ||
virtual std::vector<std::pair<unsigned int, Real>> solveMomentumPredictor() override; | ||
virtual std::pair<unsigned int, Real> solvePressureCorrector() override; | ||
|
||
/// The number(s) of the system(s) corresponding to the momentum equation(s) | ||
std::vector<unsigned int> _momentum_system_numbers; | ||
|
||
/// Pointer(s) to the system(s) corresponding to the momentum equation(s) | ||
std::vector<NonlinearSystem *> _momentum_systems; | ||
|
||
/// The number of the system corresponding to the pressure equation | ||
const unsigned int _pressure_sys_number; | ||
|
||
/// Reference to the nonlinear system corresponding to the pressure equation | ||
NonlinearSystem & _pressure_system; | ||
|
||
/// Pointer to the segregated RhieChow interpolation object | ||
RhieChowMassFlux * _rc_uo; | ||
}; |
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