CG
Version 25
|
Solve the incompressible Navier-Stokes equations. More...
#include <Cgins.h>
Public Member Functions | |
Cgins (CompositeGrid &cg, GenericGraphicsInterface *ps=NULL, Ogshow *show=NULL, const int &plotOption=1) | |
Constructor for the Cgcns class. | |
virtual | ~Cgins () |
Destructor for the Cgins class. | |
virtual void | addForcing (realMappedGridFunction &dvdt, const realMappedGridFunction &u, int iparam[], real rparam[], realMappedGridFunction &dvdtImplicit=Overture::nullRealMappedGridFunction(), realMappedGridFunction *referenceFrameVelocity=NULL) |
void | addForcingToPressureEquation (const int &grid, MappedGrid &c, realMappedGridFunction &f, realMappedGridFunction &gridVelocity, const real &t) |
virtual int | advanceLineSolve (LineSolve &lineSolve, const int grid, const int direction, realCompositeGridFunction &u0, realMappedGridFunction &f, realMappedGridFunction &residual, const bool refactor, const bool computeTheResidual=false) |
INS Steady-State Line-Solver Routine : solve along lines in a given direction. | |
int | advanceLineSolveOld (LineSolve &lineSolve, const int grid, const int direction, realCompositeGridFunction &u0, realMappedGridFunction &f, realMappedGridFunction &residual, const bool refactor, const bool computeTheResidual=false) |
INS Steady-State Line-Solver Routine : solve along lines in a given direction. | |
int | advanceLineSolveNew (LineSolve &lineSolve, const int grid, const int direction, realCompositeGridFunction &u0, realMappedGridFunction &f, realMappedGridFunction &residual, const bool refactor, const bool computeTheResidual=false) |
virtual int | applyBoundaryConditions (const real &t, realMappedGridFunction &u, realMappedGridFunction &gridVelocity, const int &grid, const int &option=-1, realMappedGridFunction *puOld=NULL, realMappedGridFunction *pGridVelocityOld=NULL, const real &dt=-1.) |
virtual int | applyBoundaryConditionsForImplicitTimeStepping (realMappedGridFunction &u, realMappedGridFunction &uL, realMappedGridFunction &gridVelocity, real t, int scalarSystem, int grid) |
void | applyFourthOrderBoundaryConditions (realMappedGridFunction &u0, real t, int grid, realMappedGridFunction &gridVelocity) |
int | assignLineSolverBoundaryConditions (const int grid, const int direction, realMappedGridFunction &u, realMappedGridFunction &f, const int numberOfTimeDependentComponents, bool isPeriodic[3]) |
void | assignPressureRHS (GridFunction &gf0, realCompositeGridFunction &f) |
void | assignPressureRHS (const int grid, GridFunction &gf0, realCompositeGridFunction &f0) |
virtual int | buildTimeSteppingDialog (DialogData &dialog) |
Build the dialog that shows the various options for time stepping. | |
int | computeAxisymmetricDivergence (realArray &divergence, Index &I1, Index &I2, Index &I3, MappedGrid &c, const realArray &u0, const realArray &u0x, const realArray &v0y) |
int | computeTurbulenceQuantities (GridFunction &gf0) |
Compute some turbulence quantities such as y+. | |
virtual void | determineErrors (GridFunction &cgf, const aString &label=nullString) |
virtual void | determineErrors (realCompositeGridFunction &u, realMappedGridFunction **gridVelocity, const real &t, const int options, RealArray &err, const aString &label=nullString) |
virtual void | formMatrixForImplicitSolve (const real &dt0, GridFunction &cgf1, GridFunction &cgf0) |
virtual int | formImplicitTimeSteppingMatrix (realMappedGridFunction &coeff, const real &dt0, int scalarSystem, realMappedGridFunction &u0, const realMappedGridFunction &gridVelocity, const int &grid, const int &imp) |
virtual int | getInterfaceDataOptions (GridFaceDescriptor &info, int &interfaceDataOptions) const |
Return the interface data required for a given type of interface. | |
virtual int | getResidual (real t, real dt, GridFunction &cgf, realCompositeGridFunction &residual) |
Compute the residual for "steady state" solvers. | |
virtual int | getTimeSteppingOption (const aString &answer, DialogData &dialog) |
virtual void | getTimeSteppingEigenvalue (MappedGrid &mg, realMappedGridFunction &u, realMappedGridFunction &gridVelocity, real &reLambda, real &imLambda, const int &grid) |
virtual int | getUt (const realMappedGridFunction &v, const realMappedGridFunction &gridVelocity, realMappedGridFunction &dvdt, int iparam[], real rparam[], realMappedGridFunction &dvdtImplicit=Overture::nullRealMappedGridFunction(), MappedGrid *pmg2=NULL, const realMappedGridFunction *pGridVelocity2=NULL) |
void | gridAccelerationBC (const int &grid, const real &t0, GridFunction &gf0, realCompositeGridFunction &f0, int side, int axis) |
virtual void | implicitSolve (const real &dt0, GridFunction &cgf1, GridFunction &cgf0) |
virtual int | initializeTurbulenceModels (GridFunction &cgf) |
int | insImplicitMatrix (InsParameters::InsImplicitMatrixOptionsEnum option, realMappedGridFunction &coeff, const real &dt0, const realMappedGridFunction &u0, realMappedGridFunction &fe, realMappedGridFunction &fi, const realMappedGridFunction &gridVelocity, const int &grid) |
build the implicit time stepping matrix or eval the RHS. | |
virtual int | interfaceRightHandSide (InterfaceOptionsEnum option, int interfaceDataOptions, GridFaceDescriptor &info, GridFaceDescriptor &gfd, int gfIndex, real t) |
int | lineSolverBoundaryConditions (const int grid, const int direction, realMappedGridFunction &u, realMappedGridFunction &f, realMappedGridFunction &residual, Index *Iv, Index *Jv, Index *Ixv, const int maxNumberOfSystems, int *uSystem, const int numberOfTimeDependentComponents, IntegerArray &bc, IntegerArray &extra, IntegerArray &offset, bool &boundaryConditionsAreDifferent, bool isPeriodic[3]) |
int | getLineSolverBoundaryConditions (const int grid, const int direction, realMappedGridFunction &u, Index *Ixv, const int maxNumberOfSystems, int *uSystem, const int numberOfTimeDependentComponents, IntegerArray &bc, IntegerArray &numGhost, int &numberOfDifferentLineSolverBoundaryConditions) |
virtual void | outputSolution (realCompositeGridFunction &u, const real &t, const aString &label=nullString, int printOption=0) |
virtual void | printTimeStepInfo (const int &step, const real &t, const real &cpuTime) |
virtual int | setup () |
Perform setup operations. Determine the default order of accuracy. | |
virtual int | setupPde (aString &reactionName, bool restartChosen, IntegerArray &originalBoundaryCondition) |
Setup the PDE to be solved. | |
virtual void | updateDivergenceDamping (CompositeGrid &cg0, const int &geometryHasChanged) |
virtual int | updateForNewTimeStep (GridFunction &gf, const real &dt) |
Update the geometry arrays. | |
virtual int | updateGeometryArrays (GridFunction &cgf) |
Update geometry arrays, solution at old times etc. after the time step has changed. | |
virtual void | updatePressureEquation (CompositeGrid &cg0, GridFunction &cgf) |
virtual int | updateForMovingGrids (GridFunction &cgf) |
Update the DomainSolver after grids have moved or have been adapted. | |
virtual int | updateStateVariables (GridFunction &cgf, int stage=-1) |
Ths function is used to update state-variables. For example, the visco plastic viscosity. | |
virtual void | updateTimeIndependentVariables (CompositeGrid &cg0, GridFunction &cgf) |
virtual int | updateToMatchGrid (CompositeGrid &cg) |
Update the solver to match a new grid. | |
virtual int | setSolverParameters (const aString &command=nullString, DialogData *interface=NULL) |
Prompt for changes in the solver parameters. | |
virtual int | setupGridFunctions () |
Allocate and initialize grid functions, based on the time-stepping method. | |
virtual void | solveForTimeIndependentVariables (GridFunction &cgf, bool updateSolutionDependentEquations=false) |
: Solve for the pressure given the velocity. | |
virtual int | turbulenceModels (realArray &nuT, MappedGrid &mg, const realArray &u, const realArray &uu, const realArray &ut, const realArray &ux, const realArray &uy, const realArray &uz, const realArray &uxx, const realArray &uyy, const realArray &uzz, const Index &I1, const Index &I2, const Index &I3, Parameters ¶meters, real nu, const int numberOfDimensions, const int grid, const real t) |
Add turbulence models to the incompressible Navier-Stokes. | |
int | turbulenceModelBoundaryConditions (const real &t, realMappedGridFunction &u, Parameters ¶meters, int grid, RealArray *pBoundaryData[2][3]) |
Apply boundary conditions for the turbulence models. | |
virtual realCompositeGridFunction & | getAugmentedSolution (GridFunction &gf0, realCompositeGridFunction &v) |
virtual void | buildImplicitSolvers (CompositeGrid &cg) |
virtual int | initializeSolution () |
virtual int | setPlotTitle (const real &t, const real &dt) |
Set the plot titles for interactive plotting. | |
virtual void | saveShowFileComments (Ogshow &show) |
: Set the titles and labels that go on the show file output | |
virtual void | writeParameterSummary (FILE *file) |
Output run-time parameters for the header. | |
virtual int | project (GridFunction &cgf) |
virtual int | setOgesBoundaryConditions (GridFunction &cgf, IntegerArray &boundaryConditions, RealArray &boundaryConditionData, const int imp) |
Assign the boundaryCondition data for passing to Oges (predfined equations) when it builds the implicit system. | |
virtual void | initializeFactorization () |
Create the factors for the approximate factorization time stepping method. | |
Public Member Functions inherited from DomainSolver | |
DomainSolver (Parameters &par, CompositeGrid &cg, GenericGraphicsInterface *ps=NULL, Ogshow *show=NULL, const int &plotOption=1) | |
This is the constructor for the base class DomainSolver. | |
virtual | ~DomainSolver () |
Destructor. | |
virtual int | adaptGrids (GridFunction &gf0, int numberOfGridFunctionsToUpdate=0, realCompositeGridFunction *cgf=NULL, realCompositeGridFunction *uWork=NULL) |
virtual int | addArtificialDissipation (realCompositeGridFunction &u, real dt) |
virtual int | addArtificialDissipation (realMappedGridFunction &u, real dt, int grid) |
virtual int | addConstraintEquation (Parameters ¶meters, Oges &solver, realCompositeGridFunction &coeff, realCompositeGridFunction &ucur, realCompositeGridFunction &rhs, const int &numberOfComponents) |
virtual int | addGrids () |
virtual int | advance (real &tFinal) |
virtual void | advanceAdamsPredictorCorrector (real &t0, real &dt0, int &numberOfSubSteps, int &init, int initialStep) |
virtual void | advanceAdamsPredictorCorrectorNew (real &t0, real &dt0, int &numberOfSubSteps, int &init, int initialStep) |
Advance using an Adams predictor corrector method (new way) | |
virtual void | advanceADI (real &t, real &dt, int &numberOfSubSteps, int &init, int initialStep) |
void | advanceForwardEulerNew (real &t0, real &dt0, int &numberOfSubSteps, int &init, int initialStep) |
Advance using an "forward-Euler" method (new way) | |
virtual void | advanceImplicitMultiStep (real &t0, real &dt0, int &numberOfSubSteps, int &init, int initialStep) |
virtual void | advanceImplicitMultiStepNew (real &t0, real &dt0, int &numberOfSubSteps, int &init, int initialStep) |
Generic advance routine that uses the separate time sub-step functions. | |
virtual void | advanceMidPoint (real &t0, real &dt0, int &numberOfSubSteps, int initialStep) |
virtual void | advanceNewton (real &t0, real &dt0, int &numberOfSubSteps, int &init, int initialStep) |
virtual void | advanceSecondOrderSystem (real &t0, real &dt0, int &numberOfSubSteps, int &init, int initialStep) |
virtual void | advanceSteadyStateRungeKutta (real &t0, real &dt0, int &numberOfSubSteps, int &init, int initialStep) |
virtual void | advanceTrapezoidal (real &t0, real &dt0, int &numberOfSubSteps, int &init, int initialStep) |
virtual void | advanceVariableTimeStepAdamsPredictorCorrector (real &t0, real &dt0, int &numberOfSubSteps, int &init, int initialStep) |
virtual void | allSpeedImplicitTimeStep (GridFunction &gf, real &t, real &dt0, int &numberOfTimeSteps, const real &nextTimeToPrint) |
virtual int | applyBoundaryConditions (GridFunction &cgf, const int &option=-1, int grid_=-1, GridFunction *puOld=NULL, const real &dt=-1.) |
virtual int | applyBoundaryConditionsForImplicitTimeStepping (GridFunction &cgf) |
virtual int | assignInitialConditions (int gfIndex) |
Assign initial conditions. | |
virtual int | applyFilter (int gfIndex) |
This function applies a spatial filter to the solution in gf[gfIndex]. | |
virtual int | assignInterfaceBoundaryConditions (GridFunction &cgf, const int &option=-1, int grid_=-1, GridFunction *puOld=NULL, const real &dt=-1.) |
virtual void | assignTestProblem (GridFunction &gf) |
virtual void | bodyForcingCleanup () |
This routine is called when DomainSolver is finished and can be used to clean up memory. | |
virtual int | boundaryConditionPredictor (const BoundaryConditionPredictorEnum bcpOption, const AdamsPCData &adamsData, const int orderOfExtrapolation, const int mNew, const int mCur, const int mOld, realCompositeGridFunction *puga=NULL, realCompositeGridFunction *pugb=NULL, realCompositeGridFunction *pugc=NULL, realCompositeGridFunction *pugd=NULL) |
Apply operations required before applying the boundary conditions. E.g. extrapolate the pressure in time for fourth-order INS. | |
virtual int | buildAdaptiveGridOptionsDialog (DialogData &dialog) |
Build the dialog that shows the various general options. | |
virtual int | buildAmrGridsForInitialConditions () |
Build the AMR hierarchy of grids for the initial conditions. | |
virtual int | buildForcingOptionsDialog (DialogData &dialog) |
Build the dialog that shows the various forcing options. | |
virtual int | buildGeneralOptionsDialog (DialogData &dialog) |
Build the dialog that shows the various general options. | |
virtual int | buildGrid (Mapping *&newMapping, int newGridNumber, IntegerArray &sharedBoundaryCondition) |
virtual int | buildOutputOptionsDialog (DialogData &dialog) |
Build the output options dialog. | |
virtual int | buildMovingGridOptionsDialog (DialogData &dialog) |
Build the dialog that shows the various general options. | |
virtual int | buildPlotOptionsDialog (DialogData &dialog) |
Build the plot options dialog. | |
virtual int | buildRunTimeDialog () |
Build the run time dialog. This dialog appears while a Domain solver is time stepping. | |
void | checkArrays (const aString &label) |
void | checkSolution (const realGridCollectionFunction &u, const aString &title, bool printResults=false) |
int | checkSolution (realMappedGridFunction &u, const aString &title, bool printResults, int grid, real &maxVal, bool printResultsOnFailure=false) |
virtual void | cleanupInitialConditions () |
Cleanup routines after the initial conditions have been assigned. | |
virtual int | computeBodyForcing (GridFunction &gf, const real &tForce) |
Compute the body forcing such as drag models, wake models and heat sources. | |
virtual void | computeNumberOfStepsAndAdjustTheTimeStep (const real &t, const real &tFinal, const real &nextTimeToPrint, int &numberOfSubSteps, real &dtNew, const bool &adjustTimeStep=true) |
virtual void | correctMovingGrids (const real t1, const real t2, GridFunction &cgf1, GridFunction &cgf2) |
Corrector step for moving grids. | |
const int & | debug () const |
virtual void | determineErrors (realMappedGridFunction &v, const real &t) |
virtual void | displayBoundaryConditions (FILE *file=stdout) |
virtual int | displayParameters (FILE *file=stdout) |
Display DomainSolver parameters. | |
virtual int | endTimeStep (real &t0, real &dt0, AdvanceOptions &advanceOptions) |
End an individual time step (a time sub-step function). | |
virtual int | endTimeStepFE (real &t0, real &dt0, AdvanceOptions &advanceOptions) |
End an individual time step (a time sub-step function). | |
virtual int | endTimeStepIM (real &t0, real &dt0, AdvanceOptions &advanceOptions) |
End an individual time step (a time sub-step function). | |
virtual int | endTimeStepPC (real &t0, real &dt0, AdvanceOptions &advanceOptions) |
End an individual time step (a time sub-step function). | |
virtual int | endTimeStepAF (real &t0, real &dt0, AdvanceOptions &advanceOptions) |
End an individual time step (a time sub-step function). | |
virtual void | eulerStep (const real &t1, const real &t2, const real &t3, const real &dt0, GridFunction &cgf1, GridFunction &cgf2, GridFunction &cgf3, realCompositeGridFunction &ut, realCompositeGridFunction &uti, int stepNumber, int &numberOfSubSteps) |
void | extrapolateInterpolationNeighbours (GridFunction &gf, const Range &C) |
Extrapolate interpolation neighbours. | |
virtual int | fixupUnusedPoints (realCompositeGridFunction &u) |
virtual int | getAmrErrorFunction (realCompositeGridFunction &u, real t, intCompositeGridFunction &errorFlag, realCompositeGridFunction &error) |
virtual int | getAmrErrorFunction (realCompositeGridFunction &u, real t, realCompositeGridFunction &error, bool computeOnFinestLevel=false) |
const aString & | getClassName () const |
virtual int | getAdaptiveGridOption (const aString &answer, DialogData &dialog) |
: Look for a general option in the string "answer" | |
virtual int | getForcingOption (const aString &command, DialogData &dialog) |
: Look for a forcing option in the string "answer" | |
virtual int | getGeneralOption (const aString &answer, DialogData &dialog) |
: Look for a general option in the string "answer" | |
virtual void | getGridInfo (real &totalNumberOfGridPoints, real dsMin[3], real dsAve[3], real dsMax[3], real &maxMax, real &maxMin, real &minMin) |
Evaluate the min and max grid spacing, total number of grid points etc. | |
virtual void | getGridVelocity (GridFunction &gf0, const real &tGV) |
virtual int | getInitialConditions (const aString &command=nullString, DialogData *interface=NULL, GUIState *guiState=NULL, DialogState *dialogState=NULL) |
Determine the type of initial conditions to assign. | |
int | getMaterialProperties (GridFunction &solution, realCompositeGridFunction &matProp) |
Evaluate the variable material parameters (for plotting for example). | |
real | getMovingGridMaximumRelativeCorrection () |
Return the maximum relative change in the moving grid correction scheme. This is usually only an issue for "light" bodies. | |
bool | getMovingGridCorrectionHasConverged () |
Return true if the correction steps for moving grids have converged. This is usually only an issue for "light" bodies. | |
virtual int | getMovingGridOption (const aString &answer, DialogData &dialog) |
: Look for a general option in the string "answer" | |
const aString & | getName () const |
virtual int | getOutputOption (const aString &command, DialogData &dialog) |
: Look for an output option in the string "answer" | |
const aString & | getPdeName () const |
virtual int | getPlotOption (const aString &answer, DialogData &dialog) |
: Look for a plot option in the string "answer" | |
int | getResidualInfo (real t0, const realCompositeGridFunction &residual, real &maximumResidual, real &maximuml2, FILE *file=NULL) |
Compute the max and l2 residuals and optionally output the info to a file. | |
virtual void | getSolutionBounds (const realMappedGridFunction &u, realArray &uMin, realArray &uMax, real &uvMax) |
virtual int | getTimeDependentBoundaryConditions (MappedGrid &mg, real t, int grid=0, int side0=-1, int axis0=-1, ForcingTypeEnum forcingType=computeForcing) |
virtual int | getTimeDerivativeOfBoundaryValues (GridFunction &gf0, const real &t, const int &grid, int side=-1, int axis=-1) |
virtual real | getTimeStep (GridFunction &gf) |
virtual real | getTimeStep (MappedGrid &mg, realMappedGridFunction &u, realMappedGridFunction &gridVelocity, const Parameters::TimeSteppingMethod &timeSteppingMethod, const int &grid) |
int | getTimeStepAndNumberOfSubSteps (GridFunction &cgf, int stepNumber, int &numberOfSubSteps, real &dt) |
Compute a new time step and the number sub-steps to reach the next time to print. | |
virtual void | getUt (GridFunction &cgf, const real &t, RealCompositeGridFunction &ut, real tForce) |
virtual int | initializeInterfaces (GridFunction &cgf) |
virtual int | initializeTimeStepping (real &t0, real &dt0) |
Initialize the time stepping (a time sub-step function). | |
virtual int | initializeTimeSteppingFE (real &t0, real &dt0) |
Initialize the time stepping (a time sub-step function). | |
virtual int | initializeTimeSteppingIM (real &t0, real &dt0) |
Initialize the time stepping (a time sub-step function). | |
virtual int | initializeTimeSteppingPC (real &t0, real &dt0) |
Initialize the time stepping (a time sub-step function). | |
virtual int | initializeTimeSteppingAF (real &t0, real &dt0) |
Initialize the time stepping (a time sub-step function). | |
virtual int | interpolate (GridFunction &cgf, const Range &R=nullRange) |
virtual int | interpolateAndApplyBoundaryConditions (GridFunction &cgf, GridFunction *uOld=NULL, const real &dt=-1.) |
virtual bool | isImplicitMatrixSingular (realCompositeGridFunction &uL) |
virtual int | jetInflow (GridFunction &cgf) |
virtual void | moveGrids (const real &t1, const real &t2, const real &t3, const real &dt0, GridFunction &cgf1, GridFunction &cgf2, GridFunction &cgf3) |
virtual bool | movingGridProblem () const |
virtual int | newAdaptiveGridBuilt (CompositeGrid &cg, realCompositeGridFunction &u, bool updateSolution) |
const int & | numberOfComponents () const |
virtual int | output (GridFunction &gf0, int stepNumber) |
virtual void | outputHeader () |
Output the main header banner that includes info about the grid and parameters. | |
virtual int | outputProbes (GridFunction &gf0, int stepNumber) |
output probe information at a given time | |
virtual void | outputSolution (const realMappedGridFunction &u, const real &t) |
virtual int | parabolicInflow (GridFunction &cgf) |
virtual int | plot (const real &t, const int &optionIn, real &tFinal) |
virtual int | printMemoryUsage (FILE *file=stdout) |
Output information about the memory usage. | |
void | printP (const char *format,...) const |
Domain solver print function with a prefix identifier string. | |
virtual int | printStatistics (FILE *file=stdout) |
Output timing statistics. | |
virtual int | readRestartFile (realCompositeGridFunction &v, real &t, const aString &restartFileName=nullString) |
virtual int | readRestartFile (GridFunction &cgf, const aString &restartFileName=nullString) |
virtual int | saveSequenceInfo (real t0, const realCompositeGridFunction &residual) |
Save sequence info (such as the norm of the residual) into the time history arrays. | |
virtual int | saveSequencesToShowFile () |
Save sequence info to the show file. | |
virtual int | saveRestartFile (const GridFunction &cgf, const aString &restartFileName) |
virtual void | saveShow (GridFunction &gf0) |
Save a solution in the show file. | |
virtual int | setBoundaryConditionsInteractively (const aString &answer, const IntegerArray &originalBoundaryCondition) |
virtual int | setDefaultDataForBoundaryConditions () |
virtual int | setFinalTime (const real &tFinal) |
Set the time to integrate to. | |
virtual void | setInterfacesAtPastTimes (const real &t1, const real &t2, const real &t3, const real &dt0, GridFunction &cgf1, GridFunction &cgf2, GridFunction &cgf3) |
Assign interface positions for "negative" times. | |
virtual int | setInterfaceBoundaryCondition (GridFaceDescriptor &info) |
Setup an interface boundary condition. | |
void | setName (const aString &name) |
void | setNameOfGridFile (const aString &name) |
Provide the name of the file from which the overlapping grid was read. | |
virtual int | setParametersInteractively (bool runSetupOnExit=true) |
Assign run-time parameters for the DomainSolver. | |
virtual void | setSensitivity (GUIState &dialog, bool trueOrFalse) |
virtual void | setup (const real &time=0.) |
Setup routine. | |
virtual int | setupUserDefinedForcing () |
virtual int | setupUserDefinedInitialConditions () |
virtual int | setupUserDefinedMaterialProperties () |
Interactively choose material properties (e.g. rho,mu,lambda for elasticity) | |
virtual int | setVariableBoundaryValues (const real &t, GridFunction &gf0, const int &grid, int side0=-1, int axis0=-1, ForcingTypeEnum forcingType=computeForcing) |
Assign the right-hand-side for variable boundary conditions. | |
virtual int | setVariableMaterialProperties (GridFunction &gf, const real &t) |
Assign variable material properties: user-defined or "body-force" regions. | |
virtual real | sizeOf (FILE *file=NULL) const |
virtual void | smoothVelocity (GridFunction &cgf, const int numberOfSmooths) |
virtual int | solve () |
Solve equations to time tFinal,. | |
virtual int | startTimeStep (real &t0, real &dt0, int ¤tGF, int &nextGF, AdvanceOptions &advanceOptions) |
Start an individual time step (a time sub-step function). | |
virtual int | startTimeStepFE (real &t0, real &dt0, int ¤tGF, int &nextGF, AdvanceOptions &advanceOptions) |
Start an individual time step (a time sub-step function). | |
virtual int | startTimeStepIM (real &t0, real &dt0, int ¤tGF, int &nextGF, AdvanceOptions &advanceOptions) |
Start an individual time step (a time sub-step function). | |
virtual int | startTimeStepPC (real &t0, real &dt0, int ¤tGF, int &nextGF, AdvanceOptions &advanceOptions) |
Start an individual time step (a time sub-step function). | |
virtual int | startTimeStepAF (real &t0, real &dt0, int ¤tGF, int &nextGF, AdvanceOptions &advanceOptions) |
Start an individual time step (a time sub-step function) for an approximate factorization method. | |
virtual void | takeOneStep (real &t, real &dt, int stepNumber, int &numberOfSubSteps) |
Advance one time-step. This function is used by the multi-physics solver Cgmp. | |
virtual int | takeTimeStep (real &t0, real &dt0, int correction, AdvanceOptions &advanceOptions) |
Take a single time step (a time sub-step function). | |
virtual int | takeTimeStepFE (real &t0, real &dt0, int correction, AdvanceOptions &advanceOptions) |
Take a single time step (a time sub-step function). | |
virtual int | takeTimeStepIM (real &t0, real &dt0, int correction, AdvanceOptions &advanceOptions) |
Take a single time step (a time sub-step function). | |
virtual int | takeTimeStepPC (real &t0, real &dt0, int correction, AdvanceOptions &advanceOptions) |
Take a single time step (a time sub-step function). | |
virtual int | takeTimeStepAF (real &t0, real &dt0, int correction, AdvanceOptions &advanceOptions) |
Take a time step using the approximate factored scheme. | |
virtual int | timeIndependentBoundaryConditions (GridFunction &cgf) |
virtual int | tracking (GridFunction &gf0, int stepNumber) |
const bool & | twilightZoneFlow () const |
virtual int | userDefinedBoundaryValues (const real &t, GridFunction &gf0, const int &grid, int side0=-1, int axis0=-1, ForcingTypeEnum forcingType=computeForcing) |
Assign user specific values for boundary conditions. | |
virtual void | userDefinedCleanup () |
This routine is called when DomainSolver is finished and can be used to clean up memory. | |
virtual int | userDefinedGrid (GridFunction &gfct, Mapping *&newMapping, int newGridNumber, IntegerArray &sharedBoundaryCondition) |
virtual int | userDefinedForcing (realCompositeGridFunction &f, GridFunction &gf, const real &tForce) |
User defined forcing. Compute a user defined forcing that will be added to the right-hand side of the equations. This function is called to actually evaluate the user defined forcing The function setupUserDefinedForcing is first called to assign the option and parameters. Rewrite or add new options to this function and to setupUserDefinedForcing to supply your own forcing option. | |
virtual void | userDefinedForcingCleanup () |
This routine is called when DomainSolver is finished and can be used to clean up memory. | |
virtual int | userDefinedInitialConditions (CompositeGrid &cg, realCompositeGridFunction &u) |
virtual void | userDefinedInitialConditionsCleanup () |
virtual int | userDefinedMaterialProperties (GridFunction &gf) |
Assign the user defined material properties. | |
virtual void | userDefinedMaterialPropertiesCleanup () |
This routine is called when DomainSolver is finished and can be used to clean up memory. | |
virtual int | userDefinedOutput (GridFunction &gf, int stepNumber) |
virtual int | updateForAdaptiveGrids (CompositeGrid &cg) |
virtual int | updateToMatchNewGrid (CompositeGrid &cgNew, IntegerArray &changes, IntegerArray &sharedBoundaryCondition, GridFunction &gf0) |
virtual int | updateVariableTimeInterpolation (int newGrid, GridFunction &cgf) |
virtual int | updateWorkSpace (GridFunction &gf0) |
virtual int | variableTimeStepBoundaryInterpolation (int grid, GridFunction &cgf) |
realCompositeGridFunction & | p () const |
realCompositeGridFunction & | px () const |
realCompositeGridFunction & | rL () const |
realCompositeGridFunction & | pL () const |
realCompositeGridFunction & | rho () const |
realCompositeGridFunction & | gam () const |
Public Attributes | |
realCompositeGridFunction | divDampingWeight |
Public Attributes inherited from DomainSolver | |
CompositeGrid & | cg |
OgesParameters | pressureSolverParameters |
OgesParameters | implicitTimeStepSolverParameters |
CompositeGridOperators | finiteDifferenceOperators |
real | dt |
int | numberOfStepsTaken |
Parameters & | parameters |
GridFunction | gf [maximumNumberOfGridFunctionsToUse] |
int | current |
int | movieFrame |
aString | movieFileName |
int | numberOfGridFunctionsToUse |
int | numberOfExtraFunctionsToUse |
int | totalNumberOfArrays |
realCompositeGridFunction | fn [maximumNumberOfExtraFunctionsToUse] |
RealArray | variableDt |
RealArray | variableTime |
realArray * | ui |
RealArray | tv |
RealArray | tvb |
RealArray | tv0 |
realCompositeGridFunction | coeff |
int | numberOfImplicitSolvers |
Oges * | implicitSolver |
realCompositeGridFunction * | implicitCoeff |
Oges * | poisson |
realCompositeGridFunction | pressureRightHandSide |
realCompositeGridFunction | poissonCoefficients |
realCompositeGridFunction * | pp |
realCompositeGridFunction * | ppx |
realCompositeGridFunction * | prL |
realCompositeGridFunction * | ppL |
realCompositeGridFunction * | prho |
realCompositeGridFunction * | pgam |
realCompositeGridFunction * | pvIMS |
realCompositeGridFunction * | pwIMS |
realCompositeGridFunction * | previousPressure |
realCompositeGridFunction * | puLinearized |
realMappedGridFunction * | pGridVelocityLinearized |
LineSolve * | pLineSolve |
bool | gridHasMaterialInterfaces |
realCompositeGridFunction * | pdtVar |
std::vector< real > | hMin |
std::vector< real > | hMax |
std::vector< real > | numberOfGridPoints |
std::vector< real > | dtv |
std::vector< real > | realPartOfEigenvalue |
std::vector< real > | imaginaryPartOfEigenvalue |
int | numberSavedToShowFile |
CG_ApproximateFactorization::FactorList | factors |
Solve the incompressible Navier-Stokes equations.
Cgins can be used to solve the incompressible Navier-Stokes with heat transfer.
Cgins::Cgins | ( | CompositeGrid & | cg_, |
GenericGraphicsInterface * | ps = NULL , |
||
Ogshow * | show = NULL , |
||
const int & | plotOption_ = 1 |
||
) |
Constructor for the Cgcns class.
cg_ | (input) : use this CompositeGrid. |
ps | (input) : pointer to a graphics object to use. |
show | (input) : pointer to a show file to use. |
plotOption_ | (input) : plot option |
References DomainSolver::className, DomainSolver::name, and setup().
|
virtual |
Destructor for the Cgins class.
References i, and DomainSolver::parameters.
|
virtual |
The AFC scheme solves the time derivative of the BC:
Reimplemented from DomainSolver.
References ad21, adc4, Parameters::BCModifier::addPenaltyForcing(), ADTZ2, ADTZ4, all, Parameters::approximateFactorization, assert(), axis, Parameters::axisymmetric, Parameters::BaldwinLomax, Parameters::bcModifiers, InsParameters::BoussinesqModel, cb1, cb2, cc, cd22, DomainSolver::cg, d, Parameters::dbase, DomainSolver::debug(), Parameters::dirichletBoundaryCondition, display(), DomainSolver::dt, e, ec, Parameters::getGridIsImplicit(), getIndex(), getKEpsilonParameters, getSpalartAllmarasParameters, DomainSolver::gf, grid, Parameters::gridIsMoving(), I1, I2, I3, Ig1, Ig2, Ig3, IS_DIRICHLET, Parameters::isAxisymmetric(), Parameters::BCModifier::isPenaltyBC(), isRectangular, kappa, kc, Parameters::kEpsilon, Parameters::LargeEddySimulation, mg, N(), nc, Parameters::noSlipWall, Parameters::noTurbulenceModel, DomainSolver::numberOfStepsTaken, nuT, nuTd, nuTx, nuTy, ok, OV_ABORT(), OV_GET_LOCAL_ARRAY, OV_GET_LOCAL_ARRAY_CONDITIONAL, CG_ApproximateFactorization::parallelBC, DomainSolver::parameters, pc, printF(), R, r, DomainSolver::rho(), s, side, sigma, sigmai, Parameters::SpalartAllmaras, InsParameters::standardModel, Parameters::steadyStateRungeKutta, ta, tc, thermalExpansivity, InsParameters::twoPhaseFlowModel, GridFunction::u, u0, u0y, u0z, uc, ue, ut(), uv, uvt, uvx, uvxx, V, v0x, v0y, v0z, vc, InsParameters::viscoPlasticModel, w0x, w0y, wc, and x.
Referenced by advanceLineSolveNew(), advanceLineSolveOld(), getResidual(), and getUt().
void Cgins::addForcingToPressureEquation | ( | const int & | grid, |
MappedGrid & | c, | ||
realMappedGridFunction & | f, | ||
realMappedGridFunction & | gridVelocity, | ||
const real & | t | ||
) |
References a0, all, assert(), axis, Parameters::axisymmetric, Parameters::BaldwinLomax, boundaryCondition(), InsParameters::BoussinesqModel, cb1, cb2, InsParameters::convectiveOutflow, d, Parameters::dbase, DomainSolver::debug(), Parameters::dirichletBoundaryCondition, display(), e, ec, f, FB2N, FB3N, ForBoundary, getGhostIndex(), getIndex(), getSpalartAllmarasParameters, DomainSolver::gf, grid, Parameters::gridIsMoving(), I1, I2, I3, InsParameters::inflowWithPressureAndTangentialVelocityGiven, Parameters::isAxisymmetric(), kappa, kc, Parameters::kEpsilon, Parameters::LargeEddySimulation, mg, N(), nc, normal, Parameters::noTurbulenceModel, nuT, nuTd, nuTx, nuTxx, nuTxy, nuTy, InsParameters::outflow, P02N, P03N, DomainSolver::parameters, printF(), R, side, sigma, sigmai, Parameters::SpalartAllmaras, InsParameters::standardModel, Parameters::symmetry, ta, InsParameters::tractionFree, InsParameters::twoPhaseFlowModel, GridFunction::u, u0, u0y, u0z, ue, v0x, v0y, v0z, InsParameters::viscoPlasticModel, w0x, w0y, x, and y.
Referenced by assignPressureRHS().
|
virtual |
INS Steady-State Line-Solver Routine : solve along lines in a given direction.
lineSolve | (input) : |
direction | : solve along lines in this diresction |
advanceLineSolve: o addForcing : assign body-forcing (e.g. TZ-forcing) to interior equations in f. o lineSolverBoundaryConditions : determine BC's for line solves, assign BC right-hand sides to f. o insLineBuildMatrix(Ksv,am,bm,cm,dm,em) : calls insLineSetup to fill in the tri-diagonal matrix am,b,,cm for a given equation. Optionally assign the RHS f for interior equations (all components) o insLineSolveBC : fill the matrix BC's into am,bm,cm and set dirichlet values for interpolation points on the boundary (for dirichlet) or ghost line (for neumann).
Reimplemented from DomainSolver.
References advanceLineSolveNew(), and advanceLineSolveOld().
int Cgins::advanceLineSolveNew | ( | LineSolve & | lineSolve, |
const int | grid, | ||
const int | direction, | ||
realCompositeGridFunction & | u0, | ||
realMappedGridFunction & | f, | ||
realMappedGridFunction & | residual, | ||
const bool | refactor, | ||
const bool | computeTheResidual = false |
||
) |
References a, addForcing(), all, assert(), assignLineSolverBoundaryConditions(), axis, Parameters::BaldwinLomax, InsParameters::BoussinesqModel, c, cc, DomainSolver::cg, computeResidualNew, computeTemperature, DomainSolver::current, d, Parameters::dbase, DomainSolver::debug(), determineErrors(), dir, dirichlet, display(), dtb, dx, e, em, f, F, FOR_3D, getGhostIndex(), Parameters::getGridIsImplicit(), getIndex(), getLineSolverBoundaryConditions(), DomainSolver::gf, grid, Parameters::gridIsMoving(), i, i1, I1, i2, I2, i3, I3, Ig1, Ig2, Ig3, includeGhost, insLineSetupNew, insLineSolveBC, DomainSolver::interpolate(), is2, is3, Parameters::isAxisymmetric(), isRectangular, J1, J2, J3, LineSolve::lineSolveIsInitialized, m, mask, MASK, maskDim0, maskDim1, maskLocal, maskp, LineSolve::maximumSizeAllocated, mg, N(), n, nc, normal, DomainSolver::numberOfComponents(), ok, omega, DomainSolver::parameters, pc, printF(), LineSolve::pTridiagonalSolvers, residual(), side, Parameters::slipWall, Parameters::SpalartAllmaras, tc, thermalExpansivity, tridiagonalSolver, DomainSolver::twilightZoneFlow(), u, U, uc, ue, uLocal, vc, InsParameters::viscoPlasticModel, wc, and x.
Referenced by advanceLineSolve().
int Cgins::advanceLineSolveOld | ( | LineSolve & | lineSolve, |
const int | grid, | ||
const int | direction, | ||
realCompositeGridFunction & | u0, | ||
realMappedGridFunction & | f, | ||
realMappedGridFunction & | residual, | ||
const bool | refactor, | ||
const bool | computeTheResidual = false |
||
) |
INS Steady-State Line-Solver Routine : solve along lines in a given direction.
lineSolve | (input) : |
direction | : solve along lines in this diresction |
advanceLineSolve: o addForcing : assign body-forcing (e.g. TZ-forcing) to interior equations in f. o lineSolverBoundaryConditions : determine BC's for line solves, assign BC right-hand sides to f. o insLineSetupMacro(Ksv,am,bm,cm,dm,em) : calls insLineSetup to fill in the tri-diagonal matrix am,b,,cm for a given equation. Optionally assign the RHS f for interior equations (all components) o insLineSolveBC : fill the matrix BC's into am,bm,cm and set dirichlet values for interpolation points on the boundary (for dirichlet) or ghost line (for neumann).
References a, a2, addForcing(), all, assert(), axis, Parameters::BaldwinLomax, InsParameters::BoussinesqModel, c, c2, cc, DomainSolver::cg, computeResidualNew, computeTemperature, DomainSolver::current, d, Parameters::dbase, DomainSolver::debug(), determineErrors(), dir, dirichlet, display(), dtb, dx, e, em, f, F, FOR_3D, getGhostIndex(), Parameters::getGridIsImplicit(), getIndex(), DomainSolver::gf, grid, Parameters::gridIsMoving(), i, i1, I1, i2, I2, i3, I3, Ig1, Ig2, Ig3, insLineSetup, insLineSetupNew, insLineSolveBC, DomainSolver::interpolate(), Parameters::isAxisymmetric(), isRectangular, J1, J2, J3, LineSolve::lineSolveIsInitialized, lineSolverBoundaryConditions(), m, mask, MASK, maskDim0, maskDim1, maskLocal, maskp, LineSolve::maximumSizeAllocated, mg, N(), n, nc, normal, DomainSolver::numberOfComponents(), ok, omega, DomainSolver::parameters, pc, printF(), LineSolve::pTridiagonalSolvers, residual(), side, Parameters::slipWall, Parameters::SpalartAllmaras, tc, thermalExpansivity, tridiagonalSolver, DomainSolver::twilightZoneFlow(), u, U, uc, ue, uLocal, vc, InsParameters::viscoPlasticModel, wc, and x.
Referenced by advanceLineSolve().
|
virtual |
Reimplemented from DomainSolver.
References a0, Parameters::BCModifier::applyBC(), applyFourthOrderBoundaryConditions(), assert(), axis, Parameters::axisymmetric, Parameters::bcModifiers, Parameters::bcType(), Parameters::blasiusProfile, InsParameters::BoussinesqModel, DomainSolver::cg, Parameters::dbase, DomainSolver::debug(), dirichlet, dirichletBoundaryCondition, Parameters::dirichletBoundaryCondition, display(), e, ForBoundary, Parameters::getBoundaryData(), getGhostIndex(), getIndex(), BoundaryData::getVariableCoefficientBoundaryConditionArray(), Parameters::gridIsMoving(), BoundaryData::hasVariableCoefficientBoundaryCondition(), I1, I2, I3, Ig1, Ig2, Ig3, InsParameters::inflowOutflow, InsParameters::inflowWithPressureAndTangentialVelocityGiven, inflowWithVelocityGiven, InsParameters::inflowWithVelocityGiven, Parameters::interfaceBoundaryCondition, Parameters::isAxisymmetric(), isRectangular, mask, mg, mixedCoeff, mixedNormalCoeff, mixedRHS, N(), n, nc, Parameters::neumannBoundaryCondition, Parameters::noInterface, normal, noSlipWall, Parameters::noSlipWall, Parameters::noTurbulenceModel, DomainSolver::numberOfComponents(), Parameters::numberOfGhostPointsNeeded(), ok, orderOfAccuracy, outflow, InsParameters::outflow, OV_ABORT(), DomainSolver::parameters, Parameters::penaltyBoundaryCondition, printF(), DomainSolver::printP(), Parameters::rKutta, side, slipWall, Parameters::slipWall, Parameters::steadyStateRungeKutta, symmetry, Parameters::symmetry, tc, tractionFree, InsParameters::tractionFree, turbulenceModelBoundaryConditions(), DomainSolver::twilightZoneFlow(), InsParameters::twoPhaseFlowModel, u, uc, ue, uex, uey, uLocal, ux, uy, uz, V, BoundaryData::variableCoefficientTemperatureBC, vc, InsParameters::viscoPlasticModel, wc, and x.
|
virtual |
Reimplemented from DomainSolver.
References a0, assert(), axis, Parameters::axisymmetric, InsParameters::BoussinesqModel, c, InsParameters::convectiveOutflow, d, Parameters::dbase, DomainSolver::debug(), dir, dirichlet, dirichletBoundaryCondition, Parameters::dirichletBoundaryCondition, Parameters::dirichletInterface, display(), e, ec, ForBoundary, Parameters::getBoundaryData(), getGhostIndex(), Parameters::getGridIsImplicit(), Parameters::gridIsMoving(), Ig1, Ig2, Ig3, includeGhost, InsParameters::inflowWithPressureAndTangentialVelocityGiven, inflowWithVelocityGiven, InsParameters::inflowWithVelocityGiven, Parameters::interfaceBoundaryCondition, Parameters::isAxisymmetric(), isRectangular, kc, Parameters::kEpsilon, Parameters::kOmega, m, mask, mg, mixedCoeff, mixedNormalCoeff, mixedRHS, N(), n, nc, Parameters::neumannInterface, Parameters::noInterface, normal, noSlipWall, Parameters::noSlipWall, ok, orderOfAccuracy, outflow, InsParameters::outflow, OV_ABORT(), DomainSolver::parameters, printF(), DomainSolver::printP(), side, slipWall, Parameters::slipWall, symmetry, Parameters::symmetry, tc, InsParameters::tractionFree, DomainSolver::twilightZoneFlow(), InsParameters::twoPhaseFlowModel, u, uc, ue, uex, uey, uLocal, V, vc, InsParameters::viscoPlasticModel, wc, and x.
Referenced by getResidual().
void Cgins::applyFourthOrderBoundaryConditions | ( | realMappedGridFunction & | u0, |
real | t, | ||
int | grid, | ||
realMappedGridFunction & | gridVelocity | ||
) |
References a, ad21, ad22, addBoundaryForcing, applyFourthOrderBoundaryConditionsOld(), Parameters::approximateFactorization, assert(), axis, bcfOffset, bcOptTemperature, boundaryCondition(), InsParameters::BoussinesqModel, d, d14, d24, Parameters::dbase, dbc, Parameters::dirichletBoundaryCondition, display(), dx, dx1, MovingGrids::getBoundaryAcceleration(), Parameters::getBoundaryData(), Parameters::getGridIsImplicit(), getIndex(), grid, Parameters::gridIsMoving(), gridType, I1, I2, I3, Parameters::implicit, includeGhost, insbc4, Parameters::isAdaptiveGridProblem(), Parameters::isAxisymmetric(), np, orderOfAccuracy, pAddBoundaryForcing, pbcf, pbcfOffset, pdbc, side, Parameters::slipWall, thermalExpansivity, u0, uLocal, V, InsParameters::viscoPlasticModel, and ws.
Referenced by applyBoundaryConditions().
int Cgins::assignLineSolverBoundaryConditions | ( | const int | grid, |
const int | direction, | ||
realMappedGridFunction & | u, | ||
realMappedGridFunction & | f, | ||
const int | numberOfTimeDependentComponents, | ||
bool | isPeriodic[3] | ||
) |
References a0, all, assert(), axis, InsParameters::BoussinesqModel, cc, DomainSolver::cg, computeTemperature, Parameters::dbase, DomainSolver::debug(), dir, Parameters::dirichletBoundaryCondition, display(), dx, e, f, getGhostIndex(), getIndex(), I1, I2, I3, Ig1, Ig2, Ig3, includeGhost, InsParameters::inflowWithVelocityGiven, is2, is3, isRectangular, mask, maskLocal, mg, mixedCoeff, mixedNormalCoeff, mixedRHS, N(), nc, normal, Parameters::noSlipWall, Parameters::noTurbulenceModel, DomainSolver::numberOfComponents(), ok, InsParameters::outflow, DomainSolver::parameters, pc, printF(), rhs(), RSXY, side, Parameters::slipWall, Parameters::SpalartAllmaras, tc, DomainSolver::twilightZoneFlow(), u, uc, ue, uex, uey, uLocal, ur, ux, uy, V, vc, InsParameters::viscoPlasticModel, wc, and x.
Referenced by advanceLineSolveNew().
void Cgins::assignPressureRHS | ( | GridFunction & | gf0, |
realCompositeGridFunction & | f | ||
) |
References all, GridFunction::cg, DomainSolver::cg, Parameters::dbase, DomainSolver::debug(), DomainSolver::getName(), grid, DomainSolver::parameters, pc, DomainSolver::poisson, printF(), GridFunction::t, and ue.
Referenced by solveForTimeIndependentVariables().
void Cgins::assignPressureRHS | ( | const int | grid, |
GridFunction & | gf0, | ||
realCompositeGridFunction & | f0 | ||
) |
References a0, ad21, ad22, adcBoussinesq, addForcingToPressureEquation(), assert(), assignPressureRHSOpt, axis, Parameters::axisymmetric, c, GridFunction::cg, InsParameters::convectiveOutflow, Parameters::dbase, DomainSolver::debug(), Parameters::dirichletBoundaryCondition, display(), divDampingWeight, dx, e, equationDomainList, f, ForBoundary, get< int >(), getGhostIndex(), GridFunction::getGridVelocity(), getIndex(), EquationDomain::getPDE(), grid, gridAccelerationBC(), ListOfEquationDomains::gridDomainNumberList, Parameters::gridIsMoving(), I1, I2, I3, includeGhost, InsParameters::inflowWithPressureAndTangentialVelocityGiven, Parameters::interfaceBoundaryCondition, Parameters::isAxisymmetric(), isRectangular, Parameters::noSlipWall, DomainSolver::numberOfComponents(), ok, orderOfAccuracy, InsParameters::outflow, DomainSolver::parameters, pc, Parameters::penaltyBoundaryCondition, printF(), side, Parameters::slipWall, InsParameters::standardModel, Parameters::symmetry, GridFunction::t, tc, thermalExpansivity, InsParameters::tractionFree, GridFunction::u, u, u0, uc, uLocal, vc, wc, and x.
|
virtual |
Reimplemented from DomainSolver.
References assert(), axis, Parameters::axisymmetric, InsParameters::BoussinesqModel, Parameters::dbase, DomainSolver::debug(), Parameters::dirichletBoundaryCondition, Parameters::getGridIsImplicit(), DomainSolver::getName(), grid, DomainSolver::implicitSolver, InsParameters::implicitViscous, InsParameters::inflowWithPressureAndTangentialVelocityGiven, InsParameters::inflowWithVelocityGiven, Parameters::isAxisymmetric(), isRectangular, n, Parameters::noSlipWall, Parameters::noTurbulenceModel, DomainSolver::numberOfImplicitSolvers, InsParameters::outflow, DomainSolver::parameters, printF(), side, and Parameters::slipWall.
Referenced by setupGridFunctions().
|
virtual |
Build the dialog that shows the various options for time stepping.
dialog | (input) : graphics dialog to use. |
Dialog Menu Options:
Reimplemented from DomainSolver.
References assert(), DomainSolver::buildTimeSteppingDialog(), Parameters::dbase, Parameters::numberOfTimeSteppingMethods, and DomainSolver::parameters.
int Cgins::computeAxisymmetricDivergence | ( | realArray & | divergence, |
Index & | I1, | ||
Index & | I2, | ||
Index & | I3, | ||
MappedGrid & | c, | ||
const realArray & | u0, | ||
const realArray & | u0x, | ||
const realArray & | v0y | ||
) |
References axis, Parameters::axisymmetric, Parameters::dbase, DomainSolver::parameters, side, u0, v0y, and vc.
int Cgins::computeTurbulenceQuantities | ( | GridFunction & | gf0 | ) |
Compute some turbulence quantities such as y+.
References axis, GridFunction::cg, DomainSolver::cg, Parameters::dbase, eps, FOR_3D, ForBoundary, grid, i1, i2, i3, includeGhost, is2, is3, mask, maskLocal, mg, normal, Parameters::noSlipWall, ok, DomainSolver::parameters, printF(), DomainSolver::rho(), side, GridFunction::t, GridFunction::u, uc, uLocal, ux, uy, uz, V, vc, and wc.
Referenced by printTimeStepInfo().
|
virtual |
Reimplemented from DomainSolver.
References GridFunction::conservativeToPrimitive(), GridFunction::conservativeVariables, Parameters::dbase, GridFunction::form, form, GridFunction::gridVelocity, DomainSolver::parameters, GridFunction::primitiveToConservative(), GridFunction::t, and GridFunction::u.
Referenced by advanceLineSolveNew(), advanceLineSolveOld(), printTimeStepInfo(), and solveForTimeIndependentVariables().
|
virtual |
These next loops need to be fixed for parallel
Reimplemented from DomainSolver.
References assert(), c, DomainSolver::cg, Parameters::dbase, DomainSolver::debug(), display(), e, ee, DomainSolver::getBounds(), getIndex(), Parameters::getKnownSolution(), grid, Parameters::gridIsMoving(), i1, I1, i2, I2, i3, I3, isRectangular, lpNorm(), mask, maskLocal, maxNorm(), n, DomainSolver::numberOfComponents(), outputSolution(), DomainSolver::parameters, r, tc, u, uc, uLocal, Parameters::useConservativeVariables(), ut(), ux, uy, uz, v, vc, vt, wc, x, and xv.
|
virtual |
References InsParameters::BoussinesqModel, InsParameters::buildMatrix, Parameters::dbase, insImplicitMatrix(), mg, and DomainSolver::parameters.
Referenced by formMatrixForImplicitSolve().
|
virtual |
Reimplemented from DomainSolver.
References DomainSolver::addConstraintEquation(), all, assert(), InsParameters::BoussinesqModel, GridFunction::cg, DomainSolver::cg, DomainSolver::coeff, Parameters::dbase, DomainSolver::debug(), display(), formImplicitTimeSteppingMatrix(), Parameters::getGridIsImplicit(), GridFunction::getGridVelocity(), grid, Parameters::gridIsMoving(), DomainSolver::implicitCoeff, DomainSolver::implicitSolver, Parameters::isAxisymmetric(), DomainSolver::isImplicitMatrixSingular(), Parameters::isMovingGridProblem(), Parameters::LargeEddySimulation, mg, n, Parameters::noTurbulenceModel, nuDt, Parameters::numberOfGhostPointsNeededForImplicitMatrix(), DomainSolver::numberOfImplicitSolvers, DomainSolver::parameters, DomainSolver::pGridVelocityLinearized, printF(), DomainSolver::puLinearized, Parameters::saveLinearizedSolution(), setOgesBoundaryConditions(), GridFunction::t, and GridFunction::u.
|
virtual |
Reimplemented from DomainSolver.
References all, Parameters::approximateFactorization, assign(), axis, Parameters::axisymmetric, boundaryCondition(), GridFunction::cg, DomainSolver::cg, DomainSolver::current, Parameters::dbase, dimension, DomainSolver::dt, ec, DomainSolver::fn, DomainSolver::getAmrErrorFunction(), Parameters::getDerivedFunction(), getIndex(), getResidual(), DomainSolver::getResidualInfo(), DomainSolver::gf, grid, I1, I2, I3, Parameters::implicit, includeGhost, Parameters::isAdaptiveGridProblem(), Parameters::isAxisymmetric(), Parameters::isMovingGridProblem(), isRectangular, mask, maskLocal, mg, N(), n, DomainSolver::numberOfComponents(), ok, OV_ABORT(), DomainSolver::parameters, printF(), residual(), side, Parameters::steadyStateRungeKutta, GridFunction::t, GridFunction::u, u, u0, uc, uLocal, ur, ux, vc, InsParameters::viscoPlasticModel, wc, and x.
|
virtual |
Return the interface data required for a given type of interface.
info | (input) : the descriptor for the interface. |
interfaceDataOptions | (output) : a list of items from Parameters::InterfaceDataEnum that define which data to get (or which data were set). Multiple items are chosen by bit-wise or of the different options |
Reimplemented from DomainSolver.
References axis, GridFaceDescriptor::axis, Parameters::dbase, DomainSolver::debug(), GridFaceDescriptor::grid, grid, Parameters::heatFluxInterface, Parameters::heatFluxInterfaceData, OV_ABORT(), DomainSolver::parameters, Parameters::positionInterfaceData, DomainSolver::printP(), side, GridFaceDescriptor::side, Parameters::tractionInterface, Parameters::tractionInterfaceData, and Parameters::velocityInterfaceData.
int Cgins::getLineSolverBoundaryConditions | ( | const int | grid, |
const int | direction, | ||
realMappedGridFunction & | u, | ||
Index * | Ixv, | ||
const int | maxNumberOfSystems, | ||
int * | uSystem, | ||
const int | numberOfTimeDependentComponents, | ||
IntegerArray & | bc, | ||
IntegerArray & | numGhost, | ||
int & | numberOfDifferentLineSolverBoundaryConditions | ||
) |
References all, assert(), axis, InsParameters::BoussinesqModel, DomainSolver::cg, computeTemperature, Parameters::dbase, DomainSolver::debug(), dirichlet, Parameters::dirichletBoundaryCondition, getIndex(), I1, I2, I3, InsParameters::inflowWithVelocityGiven, DomainSolver::interpolate(), isRectangular, mask, maskLocal, mg, mixedCoeff, mixedNormalCoeff, mixedRHS, N(), nc, Parameters::noSlipWall, DomainSolver::numberOfComponents(), ok, InsParameters::outflow, DomainSolver::parameters, pc, printF(), S, side, Parameters::slipWall, Parameters::SpalartAllmaras, tc, DomainSolver::twilightZoneFlow(), u, uc, uLocal, V, vc, InsParameters::viscoPlasticModel, and wc.
Referenced by advanceLineSolveNew().
|
virtual |
Compute the residual for "steady state" solvers.
t | (input): current time |
dt | (input): current global time step – is this used ? |
cgf | (input): holds solution to compute the residual from |
residual | (output): residual |
Reimplemented from DomainSolver.
References addForcing(), applyBoundaryConditionsForImplicitTimeStepping(), assign(), GridFunction::cg, DomainSolver::cg, DomainSolver::coeff, Parameters::dbase, InsParameters::evalResidual, InsParameters::evalResidualForBoundaryConditions, f, GridFunction::getGridVelocity(), grid, Parameters::gridIsMoving(), insImplicitMatrix(), DomainSolver::parameters, GridFunction::t, GridFunction::u, and u0.
Referenced by getAugmentedSolution().
|
virtual |
Reimplemented from DomainSolver.
References assert(), GridMaterialProperties::constantMaterialProperties, Parameters::dbase, DomainSolver::debug(), divDampingWeight, dx, Parameters::getGridIsImplicit(), getIndex(), GridMaterialProperties::getMaterialFormat(), grid, Parameters::gridIsMoving(), gridType, DomainSolver::hMin, I1, I2, I3, insdts, Parameters::isAxisymmetric(), isRectangular, materialFormat, matIndexPtr, matValPtr, ndMatProp, ok, orderOfAccuracy, DomainSolver::parameters, DomainSolver::pdtVar, GridMaterialProperties::piecewiseConstantMaterialProperties, printF(), u0, and xab.
|
virtual |
Reimplemented from DomainSolver.
References Parameters::adamsBashforth2, Parameters::adamsPredictorCorrector2, Parameters::adamsPredictorCorrector4, Parameters::approximateFactorization, assert(), Parameters::backwardEuler, InsParameters::compactDifference, Parameters::crankNicolson, Parameters::dbase, Parameters::doNotComputeImplicitTerms, Parameters::forwardEuler, DomainSolver::getTimeSteppingOption(), Parameters::implicit, InsParameters::implicitAdvectionAndViscous, InsParameters::implicitFullLinearized, InsParameters::implicitViscous, Parameters::lineImplicit, Parameters::midPoint, Parameters::notImplicit, DomainSolver::parameters, printF(), Parameters::rKutta, Parameters::setGridIsImplicit(), InsParameters::standardFiniteDifference, Parameters::steadyStateNewton, Parameters::steadyStateRungeKutta, and Parameters::variableTimeStepAdamsPredictorCorrector.
|
virtual |
Reimplemented from DomainSolver.
References adcBoussinesq, addForcing(), Parameters::approximateFactorization, assert(), axis, Parameters::axisymmetric, InsParameters::BoussinesqModel, GridMaterialProperties::constantMaterialProperties, Parameters::dbase, DomainSolver::debug(), display(), dw, dx, InsParameters::evalRightHandSide, Parameters::getGridIsImplicit(), getIndex(), GridMaterialProperties::getMaterialFormat(), grid, Parameters::gridIsMoving(), gridType, I1, I2, I3, Parameters::implicit, insdt, insImplicitMatrix(), Parameters::isAxisymmetric(), isRectangular, Parameters::LargeEddySimulation, materialFormat, matIndexPtr, matValPtr, mg, ndMatProp, Parameters::noTurbulenceModel, DomainSolver::numberOfStepsTaken, ok, orderOfAccuracy, OV_ABORT(), DomainSolver::parameters, Parameters::pdeName, GridMaterialProperties::piecewiseConstantMaterialProperties, printF(), DomainSolver::printP(), side, Parameters::SpalartAllmaras, InsParameters::standardModel, thermalExpansivity, u, uLocal, ut(), and v.
void Cgins::gridAccelerationBC | ( | const int & | grid, |
const real & | t0, | ||
GridFunction & | gf0, | ||
realCompositeGridFunction & | f0, | ||
int | side, | ||
int | axis | ||
) |
References axis, Parameters::bcIsTimeDependent(), c, GridFunction::cg, Parameters::dbase, f, Parameters::getBoundaryData(), getGhostIndex(), GridFunction::getGridVelocity(), DomainSolver::getTimeDerivativeOfBoundaryValues(), grid, Parameters::gridIsMoving(), I1, I2, I3, normal, DomainSolver::parameters, side, GridFunction::u, u, uc, vc, and wc.
Referenced by assignPressureRHS().
|
virtual |
Reimplemented from DomainSolver.
References all, assert(), assign(), InsParameters::BoussinesqModel, GridFunction::cg, DomainSolver::coeff, Parameters::dbase, DomainSolver::debug(), display(), DomainSolver::dt, grid, DomainSolver::implicitSolver, n, DomainSolver::numberOfImplicitSolvers, DomainSolver::parameters, printF(), DomainSolver::printP(), DomainSolver::pvIMS, DomainSolver::pwIMS, GridFunction::t, tc, GridFunction::u, uc, and v.
|
virtual |
Create the factors for the approximate factorization time stepping method.
Reimplemented from DomainSolver.
References GridFunction::cg, DomainSolver::current, d, Parameters::dbase, CGINS_ApproximateFactorization::Diagonal_Factor, DomainSolver::factors, DomainSolver::gf, DomainSolver::initializeFactorization(), CGINS_ApproximateFactorization::Merged_Factor, InsParameters::outflow, DomainSolver::parameters, and CGINS_ApproximateFactorization::R_Factor.
|
virtual |
Reimplemented from DomainSolver.
References DomainSolver::cg, DomainSolver::computeBodyForcing(), DomainSolver::correctMovingGrids(), DomainSolver::current, Parameters::dbase, DomainSolver::dt, DomainSolver::getTimeStep(), DomainSolver::gf, DomainSolver::initializeSolution(), DomainSolver::movingGridProblem(), DomainSolver::parameters, printF(), solveForTimeIndependentVariables(), GridFunction::t, and updateDivergenceDamping().
|
virtual |
Reimplemented from DomainSolver.
References DomainSolver::cg, Parameters::dbase, DomainSolver::debug(), Parameters::getBoundaryData(), getIndex(), grid, I1, I2, I3, DomainSolver::interpolate(), N(), DomainSolver::parameters, printF(), Parameters::SpalartAllmaras, turbulenceModelBoundaryConditions(), GridFunction::u, u, and v.
int Cgins::insImplicitMatrix | ( | InsParameters::InsImplicitMatrixOptionsEnum | option, |
realMappedGridFunction & | coeff, | ||
const real & | dt0, | ||
const realMappedGridFunction & | u0, | ||
realMappedGridFunction & | fe, | ||
realMappedGridFunction & | fi, | ||
const realMappedGridFunction & | gridVelocity, | ||
const int & | grid | ||
) |
build the implicit time stepping matrix or eval the RHS.
option,: | buildMatrix, evalRightHandSide, evalResidual, evalResidualForBoundaryConditions |
References adcBoussinesq, assert(), axis, Parameters::axisymmetric, InsParameters::BoussinesqModel, InsParameters::buildMatrix, DomainSolver::coeff, computeTemperature, GridMaterialProperties::constantMaterialProperties, Parameters::dbase, DomainSolver::debug(), display(), DomainSolver::dt, dx, InsParameters::evalResidual, InsParameters::evalResidualForBoundaryConditions, InsParameters::evalRightHandSide, Parameters::getGridIsImplicit(), getIndex(), GridMaterialProperties::getMaterialFormat(), grid, Parameters::gridIsMoving(), I1, I2, I3, includeGhost, insimp, Parameters::isAxisymmetric(), isRectangular, maskLocal, materialFormat, matIndexPtr, matValPtr, mg, n, ndMatProp, DomainSolver::numberOfComponents(), ok, DomainSolver::parameters, DomainSolver::pGridVelocityLinearized, GridMaterialProperties::piecewiseConstantMaterialProperties, printF(), DomainSolver::puLinearized, Parameters::saveLinearizedSolution(), side, thermalExpansivity, u0, uc, vc, InsParameters::viscoPlasticModel, and wc.
Referenced by formImplicitTimeSteppingMatrix(), getResidual(), and getUt().
|
virtual |
Reimplemented from DomainSolver.
int Cgins::lineSolverBoundaryConditions | ( | const int | grid, |
const int | direction, | ||
realMappedGridFunction & | u, | ||
realMappedGridFunction & | f, | ||
realMappedGridFunction & | residual, | ||
Index * | Iv, | ||
Index * | Jv, | ||
Index * | Ixv, | ||
const int | maxNumberOfSystems, | ||
int * | uSystem, | ||
const int | numberOfTimeDependentComponents, | ||
IntegerArray & | bc, | ||
IntegerArray & | extra, | ||
IntegerArray & | offset, | ||
bool & | boundaryConditionsAreDifferent, | ||
bool | isPeriodic[3] | ||
) |
References a0, all, assert(), axis, InsParameters::BoussinesqModel, DomainSolver::cg, computeTemperature, Parameters::dbase, DomainSolver::debug(), dir, dirichlet, Parameters::dirichletBoundaryCondition, display(), dx, e, f, getGhostIndex(), getIndex(), I1, I2, I3, Ig1, Ig2, Ig3, InsParameters::inflowWithVelocityGiven, DomainSolver::interpolate(), is2, is3, isRectangular, J1, J2, J3, mask, maskLocal, mg, mixedCoeff, mixedNormalCoeff, mixedRHS, N(), nc, normal, Parameters::noSlipWall, Parameters::noTurbulenceModel, DomainSolver::numberOfComponents(), ok, InsParameters::outflow, DomainSolver::parameters, pc, printF(), residual(), rhs(), RSXY, S, side, Parameters::slipWall, Parameters::SpalartAllmaras, tc, DomainSolver::twilightZoneFlow(), u, uc, ue, uex, uey, uLocal, ur, ux, uy, V, vc, InsParameters::viscoPlasticModel, wc, and x.
Referenced by advanceLineSolveOld().
|
virtual |
Reimplemented from DomainSolver.
References axis, c, DomainSolver::cg, Parameters::dbase, getIndex(), grid, i1, I1, i2, I2, i3, I3, mask, n, ok, DomainSolver::parameters, and x.
Referenced by determineErrors(), printTimeStepInfo(), and project().
|
virtual |
Reimplemented from DomainSolver.
References DomainSolver::cg, DomainSolver::checkArrays(), computeTurbulenceQuantities(), DomainSolver::current, Parameters::dbase, DomainSolver::debug(), determineErrors(), DomainSolver::dt, dx, DomainSolver::getBounds(), getDivAndNorms, DomainSolver::gf, grid, gridType, i, Parameters::isAxisymmetric(), isRectangular, Parameters::isSteadyStateSolver(), mg, n, Parameters::noTurbulenceModel, DomainSolver::numberOfComponents(), outputSolution(), DomainSolver::parameters, InsParameters::twoPhaseFlowModel, u, uc, uLocal, and xab.
|
virtual |
Reimplemented from DomainSolver.
References all, DomainSolver::applyBoundaryConditions(), Parameters::approximateFactorization, assert(), axis, GridFunction::cg, DomainSolver::cg, Parameters::checkForFloatingPointErrors, DomainSolver::checkSolution(), ProjectVelocity::computeDivergence(), Parameters::dbase, DomainSolver::debug(), display(), DomainSolver::dt, DomainSolver::fixupUnusedPoints(), DomainSolver::fn, getIndex(), DomainSolver::gf, grid, I1, I2, I3, Parameters::implicit, DomainSolver::interpolate(), Parameters::isAxisymmetric(), Parameters::noSlipWall, DomainSolver::numberOfExtraFunctionsToUse, ok, orderOfAccuracy, InsParameters::outflow, outputSolution(), DomainSolver::p(), DomainSolver::parameters, Parameters::penaltyBoundaryCondition, DomainSolver::poisson, printF(), projector, DomainSolver::px(), ProjectVelocity::setCompare3Dto2D(), ProjectVelocity::setIsAxisymmetric(), ProjectVelocity::setNumberOfSmoothsPerProjectionIteration(), ProjectVelocity::setPoissonSolver(), ProjectVelocity::setVelocityComponent(), side, DomainSolver::smoothVelocity(), solveForTimeIndependentVariables(), GridFunction::u, u, uc, updateToMatchGrid(), V, vc, and wc.
|
virtual |
: Set the titles and labels that go on the show file output
Reimplemented from DomainSolver.
References InsParameters::BoussinesqModel, Parameters::dbase, declareViscoPlasticParameters, i, Parameters::isAxisymmetric(), DomainSolver::parameters, and InsParameters::viscoPlasticModel.
|
virtual |
Assign the boundaryCondition data for passing to Oges (predfined equations) when it builds the implicit system.
This function is called by DomainSolver::formMatrixForImplicitSolve
cgf | (input) : A grid function holding the current grid. |
boundaryConditions | (output) : boundary conditions for Oges |
boundaryConditionData | (output) : boundary condition data for Oges |
imp | (input) : the number of the implicit system being solved |
Reimplemented from DomainSolver.
References a0, assert(), axis, Parameters::axisymmetric, InsParameters::BoussinesqModel, GridFunction::cg, DomainSolver::cg, InsParameters::convectiveOutflow, Parameters::dbase, DomainSolver::debug(), dirichlet, Parameters::dirichletBoundaryCondition, Parameters::dirichletInterface, ForBoundary, grid, InsParameters::inflowWithPressureAndTangentialVelocityGiven, InsParameters::inflowWithVelocityGiven, mg, mixedCoeff, mixedNormalCoeff, nc, Parameters::neumannInterface, Parameters::noInterface, Parameters::noSlipWall, DomainSolver::numberOfImplicitSolvers, InsParameters::outflow, OV_ABORT(), DomainSolver::parameters, printF(), DomainSolver::printP(), side, Parameters::slipWall, Parameters::symmetry, tc, and InsParameters::tractionFree.
Referenced by formMatrixForImplicitSolve().
|
virtual |
Set the plot titles for interactive plotting.
t | (input) : current time |
dt | (input) : current time step |
Reimplemented from DomainSolver.
References Parameters::approximateFactorization, Parameters::BaldwinLomax, InsParameters::compactDifference, Parameters::dbase, declareViscoPlasticParameters, Parameters::implicit, Parameters::isAxisymmetric(), Parameters::isSteadyStateSolver(), Parameters::kEpsilon, Parameters::kOmega, Parameters::LargeEddySimulation, DomainSolver::name, Parameters::noTurbulenceModel, orderOfAccuracy, DomainSolver::parameters, InsParameters::PDEModelName, Parameters::SpalartAllmaras, InsParameters::standardModel, and InsParameters::viscoPlasticModel.
|
virtual |
Prompt for changes in the solver parameters.
This dialog is available at start-up and also during run-time.
command | (input) : optionally supply a command to execute. Attempt to execute the command and then return. The return value is 0 if the command was executed, 1 otherwise. |
interface | (input) : use this dialog. If command=="build dialog", fill in the dialog and return. |
Reimplemented from DomainSolver.
References addPrefix(), assert(), DomainSolver::current, Parameters::dbase, DomainSolver::displayParameters(), DomainSolver::gf, i, if(), DomainSolver::implicitSolver, DomainSolver::numberOfImplicitSolvers, DomainSolver::parameters, DomainSolver::poisson, and printF().
|
virtual |
Perform setup operations. Determine the default order of accuracy.
References DomainSolver::cg, Parameters::dbase, dw, grid, mg, DomainSolver::parameters, printF(), DomainSolver::printP(), and R.
Referenced by Cgins().
|
virtual |
Allocate and initialize grid functions, based on the time-stepping method.
This function is called by setup
Reimplemented from DomainSolver.
References all, Parameters::approximateFactorization, assert(), buildImplicitSolvers(), DomainSolver::cg, DomainSolver::current, Parameters::dbase, DomainSolver::gf, grid, Parameters::implicit, init, Parameters::isAxisymmetric(), DomainSolver::parameters, DomainSolver::poisson, DomainSolver::pressureRightHandSide, DomainSolver::setupGridFunctions(), Parameters::steadyStateNewton, DomainSolver::twilightZoneFlow(), GridFunction::u, and InsParameters::viscoPlasticModel.
|
virtual |
Setup the PDE to be solved.
reactionName | (input) : |
restartChosen | (input) : |
originalBoundaryCondition | (input) : |
Reimplemented from DomainSolver.
References assert(), Parameters::BaldwinLomax, InsParameters::BoussinesqModel, DomainSolver::cg, GridMaterialProperties::constantMaterialProperties, DomainSolver::current, Parameters::dbase, equationDomainList, DomainSolver::getName(), DomainSolver::getOriginalBoundaryConditions(), DomainSolver::gf, grid, ListOfEquationDomains::gridDomainNumberList, i, Parameters::kEpsilon, Parameters::kOmega, Parameters::LargeEddySimulation, DomainSolver::name, OV_ABORT(), DomainSolver::parameters, InsParameters::PDEModelName, DomainSolver::pdeName, printF(), DomainSolver::readRestartFile(), Parameters::SpalartAllmaras, InsParameters::standardModel, InsParameters::twoPhaseFlowModel, GridFunction::u, u, update(), SurfaceEquation::update(), GridMaterialProperties::variableMaterialProperties, and InsParameters::viscoPlasticModel.
|
virtual |
: Solve for the pressure given the velocity.
updateSolutionDependentEquations | (input) : update the equations as needed if they depend on the current solution. |
Reimplemented from DomainSolver.
References all, assert(), assign(), assignPressureRHS(), GridFunction::cg, DomainSolver::cg, DomainSolver::checkArrays(), Parameters::checkForFloatingPointErrors, DomainSolver::checkSolution(), Parameters::dbase, DomainSolver::debug(), determineErrors(), dimension, display(), DomainSolver::dt, getIndex(), grid, I1, I2, I3, ok, outputCompositeGrid(), DomainSolver::p(), DomainSolver::parameters, pc, DomainSolver::poisson, DomainSolver::pp, DomainSolver::pressureRightHandSide, printF(), GridFunction::t, InsParameters::twoPhaseFlowModel, GridFunction::u, u, updatePressureEquation(), and updateTimeIndependentVariables().
Referenced by initializeSolution(), and project().
int Cgins::turbulenceModelBoundaryConditions | ( | const real & | t, |
realMappedGridFunction & | u, | ||
Parameters & | parameters, | ||
int | grid, | ||
RealArray * | pBoundaryData[2][3] | ||
) |
Apply boundary conditions for the turbulence models.
This function is called by applyBoundaryConditionsINS
References assert(), Parameters::dbase, dirichlet, InsParameters::inflowWithVelocityGiven, kc, Parameters::kEpsilon, Parameters::kOmega, nc, Parameters::noSlipWall, InsParameters::outflow, Parameters::slipWall, Parameters::SpalartAllmaras, and Parameters::steadyStateRungeKutta.
Referenced by applyBoundaryConditions(), and initializeTurbulenceModels().
|
virtual |
Add turbulence models to the incompressible Navier-Stokes.
/param nuT (output) : the turbulent viscosity /param ut (output) :
References assert(), cb1, cb2, d, Parameters::dbase, getSpalartAllmarasParameters, grid, gt, i, i1, i2, i3, kappa, kc, Parameters::kEpsilon, Parameters::kOmega, mask, nc, Parameters::noTurbulenceModel, nuT, pc, r, s, sigma, sigmai, Parameters::SpalartAllmaras, U, u, uc, ut(), UU, ux, UX, UXX, UY, uy, UYY, UZ, UZZ, vc, wc, and x.
|
virtual |
References assert(), center, DAI1, DAI3, Parameters::dbase, DomainSolver::debug(), dimension, divDampingWeight, DomainSolver::dt, DomainSolver::dtv, dx, getIndex(), grid, DomainSolver::hMin, I1, I2, I3, Parameters::isAxisymmetric(), isRectangular, ok, DomainSolver::parameters, POW2, printF(), and realSmall.
Referenced by initializeSolution(), updateForNewTimeStep(), and updatePressureEquation().
|
virtual |
Update the DomainSolver after grids have moved or have been adapted.
Reimplemented from DomainSolver.
References GridFunction::cg, Parameters::dbase, Parameters::isAdaptiveGridProblem(), Parameters::isMovingGridProblem(), DomainSolver::movingGridProblem(), DomainSolver::parameters, GridFunction::u, updateGeometryArrays(), GridFunction::updateGridVelocityArrays(), and updatePressureEquation().
|
virtual |
Update the geometry arrays.
Reimplemented from DomainSolver.
References GridFunction::cg, and updateDivergenceDamping().
|
virtual |
Update geometry arrays, solution at old times etc. after the time step has changed.
Reimplemented from DomainSolver.
References GridFunction::cg, DomainSolver::cg, Parameters::dbase, DomainSolver::debug(), grid, Parameters::gridIsMoving(), DomainSolver::imaginaryPartOfEigenvalue, Parameters::isAxisymmetric(), DomainSolver::parameters, printF(), DomainSolver::realPartOfEigenvalue, DomainSolver::twilightZoneFlow(), and DomainSolver::updateGeometryArrays().
Referenced by updateForMovingGrids().
|
virtual |
References a, a0, assert(), axis, Parameters::axisymmetric, c, DomainSolver::cg, DomainSolver::checkArrays(), DomainSolver::coeff, InsParameters::convectiveOutflow, Parameters::dbase, DomainSolver::debug(), dimension, dirichlet, Parameters::dirichletBoundaryCondition, display(), DomainSolver::dt, equationDomainList, ForBoundary, getIndex(), EquationDomain::getPDE(), grid, ListOfEquationDomains::gridDomainNumberList, Parameters::gridIsMoving(), I1, I2, I3, InsParameters::inflowWithPressureAndTangentialVelocityGiven, InsParameters::inflowWithVelocityGiven, Parameters::interfaceBoundaryCondition, Parameters::isAxisymmetric(), Parameters::isMovingGridProblem(), m, mixedCoeff, mixedNormalCoeff, Parameters::neumannBoundaryCondition, Parameters::noSlipWall, Parameters::numberOfBCNames, DomainSolver::numberOfComponents(), ok, InsParameters::outflow, OV_ABORT(), DomainSolver::parameters, pc, Parameters::penaltyBoundaryCondition, DomainSolver::poisson, DomainSolver::pressureRightHandSide, printF(), Parameters::rKutta, side, Parameters::slipWall, Parameters::symmetry, GridFunction::t, InsParameters::tractionFree, InsParameters::twoPhaseFlowModel, GridFunction::u, u, uLocal, updateDivergenceDamping(), and updateTimeIndependentVariables().
Referenced by solveForTimeIndependentVariables(), updateForMovingGrids(), updateTimeIndependentVariables(), and updateToMatchGrid().
|
virtual |
Ths function is used to update state-variables. For example, the visco plastic viscosity.
cgf | (input/output) |
stage | (input) : -1, 0 or 1 |
If stage equals -1 then update state variables at all points.
This function is used at two different stages for each time step. In the first stage, (stage=0) the function is called after the solution has been advanced (but before boundary conditions have been applied) to update any equilibrium state variables (and to limit any reacting species variables). Update all points of state variables that may be needed to apply the boundary conditions.
In the second stage, (stage=1) the function is called after the boundary conditions have been applied. Make sure that the state variables have been updated at all points after this step.
Reimplemented from DomainSolver.
References assert(), Parameters::BaldwinLomax, Parameters::dbase, DomainSolver::debug(), Parameters::kEpsilon, Parameters::kOmega, Parameters::LargeEddySimulation, Parameters::noTurbulenceModel, DomainSolver::parameters, printF(), Parameters::SpalartAllmaras, GridFunction::t, InsParameters::twoPhaseFlowModel, GridFunction::u, and InsParameters::viscoPlasticModel.
|
virtual |
Reimplemented from DomainSolver.
References updatePressureEquation().
Referenced by solveForTimeIndependentVariables(), and updatePressureEquation().
|
virtual |
Update the solver to match a new grid.
cg | (input): composite grid. |
Reimplemented from DomainSolver.
References DomainSolver::current, DomainSolver::gf, DomainSolver::p(), DomainSolver::pp, printF(), updatePressureEquation(), and DomainSolver::updateToMatchGrid().
Referenced by project().
|
virtual |
Output run-time parameters for the header.
file | (input) : write values to this file. |
Reimplemented from DomainSolver.
References Parameters::approximateFactorization, InsParameters::BoussinesqModel, InsParameters::compactDifference, Parameters::dbase, Parameters::implicit, InsParameters::implicitAdvectionAndViscous, InsParameters::implicitFullLinearized, InsParameters::implicitViscous, OV_ABORT(), DomainSolver::parameters, printF(), InsParameters::standardFiniteDifference, thermalExpansivity, InsParameters::twoPhaseFlowModel, InsParameters::viscoPlasticModel, and DomainSolver::writeParameterSummary().
realCompositeGridFunction Cgins::divDampingWeight |
Referenced by assignPressureRHS(), getTimeSteppingEigenvalue(), and updateDivergenceDamping().