CG  Version 25
Public Member Functions | Public Attributes | List of all members
Cgins Class Reference

Solve the incompressible Navier-Stokes equations. More...

#include <Cgins.h>

Inheritance diagram for Cgins:
Inheritance graph
[legend]
Collaboration diagram for Cgins:
Collaboration graph
[legend]

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 &parameters, 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 &parameters, 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 &parameters, 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 &currentGF, int &nextGF, AdvanceOptions &advanceOptions)
 Start an individual time step (a time sub-step function).
 
virtual int startTimeStepFE (real &t0, real &dt0, int &currentGF, int &nextGF, AdvanceOptions &advanceOptions)
 Start an individual time step (a time sub-step function).
 
virtual int startTimeStepIM (real &t0, real &dt0, int &currentGF, int &nextGF, AdvanceOptions &advanceOptions)
 Start an individual time step (a time sub-step function).
 
virtual int startTimeStepPC (real &t0, real &dt0, int &currentGF, int &nextGF, AdvanceOptions &advanceOptions)
 Start an individual time step (a time sub-step function).
 
virtual int startTimeStepAF (real &t0, real &dt0, int &currentGF, 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
 
Parametersparameters
 
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
 
LineSolvepLineSolve
 
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
 

Additional Inherited Members

- Public Types inherited from DomainSolver
enum  { defaultValue =-1234567 }
 
enum  ForcingTypeEnum { computeForcing, computeTimeDerivativeOfForcing }
 
enum  BoundaryConditionPredictorEnum { predictPressure, predictPressureAndVelocity }
 
enum  InterfaceOptionsEnum { getInterfaceRightHandSide, setInterfaceRightHandSide }
 
enum  Dimensions { maximumNumberOfGridFunctionsToUse =4, maximumNumberOfExtraFunctionsToUse =4 }
 
enum  ChangesEnum {
  gridWasAdded =1, gridWasChanged, gridWasRemoved, refinementWasAdded,
  refinementWasRemoved
}
 
- Static Public Member Functions inherited from DomainSolver
static int getBounds (const realCompositeGridFunction &u, RealArray &uMin, RealArray &uMax, real &uvMax)
 
static int getOriginalBoundaryConditions (CompositeGrid &cg, IntegerArray &originalBoundaryCondition)
 Save the original boundary conditions from the CompositeGrid.
 
- Protected Attributes inherited from DomainSolver
aString name
 
aString className
 
aString pdeName
 
int restartNumber
 
DialogData * pUniformFlowDialog
 
DialogData * pStepFunctionDialog
 
DialogData * pShowFileDialog
 
DialogData * pTzOptionsDialog
 
int chooseAComponentMenuItem
 
int numberOfPushButtons
 
int numberOfTextBoxes
 
int itemsToPlot
 

Detailed Description

Solve the incompressible Navier-Stokes equations.

Cgins can be used to solve the incompressible Navier-Stokes with heat transfer.

Constructor & Destructor Documentation

Cgins::Cgins ( CompositeGrid &  cg_,
GenericGraphicsInterface *  ps = NULL,
Ogshow *  show = NULL,
const int &  plotOption_ = 1 
)

Constructor for the Cgcns class.

Parameters
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
Note
InsParameters (passed to the DomainSolver constructor above) replaces the base class Parameters

References DomainSolver::className, DomainSolver::name, and setup().

Cgins::~Cgins ( )
virtual

Destructor for the Cgins class.

References i, and DomainSolver::parameters.

Member Function Documentation

void Cgins::addForcing ( realMappedGridFunction &  dvdt,
const realMappedGridFunction &  u,
int  iparam[],
real  rparam[],
realMappedGridFunction &  dvdtImplicit = Overture::nullRealMappedGridFunction(),
realMappedGridFunction *  referenceFrameVelocity = NULL 
)
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 
)
int Cgins::advanceLineSolve ( LineSolve lineSolve,
const int  grid,
const int  direction,
realCompositeGridFunction &  u0,
realMappedGridFunction &  f,
realMappedGridFunction &  residual,
const bool  refactor,
const bool  computeTheResidual = false 
)
virtual

INS Steady-State Line-Solver Routine : solve along lines in a given direction.

Parameters
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 
)
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.

Parameters
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().

int Cgins::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

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.

int Cgins::applyBoundaryConditionsForImplicitTimeStepping ( realMappedGridFunction &  u,
realMappedGridFunction &  uL,
realMappedGridFunction &  gridVelocity,
real  t,
int  scalarSystem,
int  grid 
)
virtual
void Cgins::applyFourthOrderBoundaryConditions ( realMappedGridFunction &  u0,
real  t,
int  grid,
realMappedGridFunction &  gridVelocity 
)
int Cgins::assignLineSolverBoundaryConditions ( const int  grid,
const int  direction,
realMappedGridFunction &  u,
realMappedGridFunction &  f,
const int  numberOfTimeDependentComponents,
bool  isPeriodic[3] 
)
void Cgins::assignPressureRHS ( GridFunction gf0,
realCompositeGridFunction &  f 
)
void Cgins::assignPressureRHS ( const int  grid,
GridFunction gf0,
realCompositeGridFunction &  f0 
)
void Cgins::buildImplicitSolvers ( CompositeGrid &  cg)
virtual
int Cgins::buildTimeSteppingDialog ( DialogData &  dialog)
virtual

Build the dialog that shows the various options for time stepping.

Parameters
dialog(input) : graphics dialog to use.

Dialog Menu Options:

  • method
    • the list time stepping methods depends on the PDE being solved.
  • accuracy
    • second order accurate : solve the problem to 2nd order accuracy in space.
    • fourth order accurate : solve the problem to 4th order accuracy in space.
  • time accuracy
    • solve for steady state :
    • second order accurate in time :
    • fourth order accurate in time :
  • choose grids for implicit : choose a list of grids that should be treated implicitly.
  • use local time stepping (toggle) :

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 
)
int Cgins::computeTurbulenceQuantities ( GridFunction gf0)
void Cgins::determineErrors ( GridFunction cgf,
const aString &  label = nullString 
)
virtual
void Cgins::determineErrors ( realCompositeGridFunction &  u,
realMappedGridFunction **  gridVelocity,
const real &  t,
const int  options,
RealArray &  err,
const aString &  label = nullString 
)
virtual
int Cgins::formImplicitTimeSteppingMatrix ( realMappedGridFunction &  coeff,
const real &  dt0,
int  scalarSystem,
realMappedGridFunction &  u0,
const realMappedGridFunction &  gridVelocity,
const int &  grid,
const int &  imp 
)
virtual
void Cgins::formMatrixForImplicitSolve ( const real &  dt0,
GridFunction cgf1,
GridFunction cgf0 
)
virtual
realCompositeGridFunction & Cgins::getAugmentedSolution ( GridFunction gf0,
realCompositeGridFunction &  v 
)
virtual
int Cgins::getInterfaceDataOptions ( GridFaceDescriptor info,
int &  interfaceDataOptions 
) const
virtual

Return the interface data required for a given type of interface.

Parameters
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
Note
: this function should be over-loaded.

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 
)
int Cgins::getResidual ( real  t,
real  dt,
GridFunction cgf,
realCompositeGridFunction &  residual 
)
virtual

Compute the residual for "steady state" solvers.

Parameters
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().

void Cgins::getTimeSteppingEigenvalue ( MappedGrid &  mg,
realMappedGridFunction &  u,
realMappedGridFunction &  gridVelocity,
real &  reLambda,
real &  imLambda,
const int &  grid 
)
virtual
int Cgins::getTimeSteppingOption ( const aString &  answer,
DialogData &  dialog 
)
virtual
int Cgins::getUt ( const realMappedGridFunction &  v,
const realMappedGridFunction &  gridVelocity,
realMappedGridFunction &  dvdt,
int  iparam[],
real  rparam[],
realMappedGridFunction &  dvdtImplicit = Overture::nullRealMappedGridFunction(),
MappedGrid *  pmg2 = NULL,
const realMappedGridFunction *  pGridVelocity2 = NULL 
)
virtual
void Cgins::gridAccelerationBC ( const int &  grid,
const real &  t0,
GridFunction gf0,
realCompositeGridFunction &  f0,
int  side,
int  axis 
)
void Cgins::implicitSolve ( const real &  dt0,
GridFunction cgf1,
GridFunction cgf0 
)
virtual
void Cgins::initializeFactorization ( )
virtual
int Cgins::initializeSolution ( )
virtual
int Cgins::initializeTurbulenceModels ( GridFunction cgf)
virtual
int Cgins::insImplicitMatrix ( InsParameters::InsImplicitMatrixOptionsEnum  option,
realMappedGridFunction &  coeff,
const real &  dt0,
const realMappedGridFunction &  u0,
realMappedGridFunction &  fe,
realMappedGridFunction &  fi,
const realMappedGridFunction &  gridVelocity,
const int &  grid 
)
virtual int Cgins::interfaceRightHandSide ( InterfaceOptionsEnum  option,
int  interfaceDataOptions,
GridFaceDescriptor info,
GridFaceDescriptor gfd,
int  gfIndex,
real  t 
)
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] 
)
void Cgins::outputSolution ( realCompositeGridFunction &  u,
const real &  t,
const aString &  label = nullString,
int  printOption = 0 
)
virtual
void Cgins::printTimeStepInfo ( const int &  step,
const real &  t,
const real &  cpuTime 
)
virtual
int Cgins::project ( GridFunction cgf)
virtual
void Cgins::saveShowFileComments ( Ogshow &  show)
virtual
int Cgins::setOgesBoundaryConditions ( GridFunction cgf,
IntegerArray &  boundaryConditions,
RealArray &  boundaryConditionData,
const int  imp 
)
virtual

Assign the boundaryCondition data for passing to Oges (predfined equations) when it builds the implicit system.

This function is called by DomainSolver::formMatrixForImplicitSolve

Parameters
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().

int Cgins::setPlotTitle ( const real &  t,
const real &  dt 
)
virtual
int Cgins::setSolverParameters ( const aString &  command = nullString,
DialogData *  interface = NULL 
)
virtual

Prompt for changes in the solver parameters.

This dialog is available at start-up and also during run-time.

Parameters
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().

int Cgins::setup ( )
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().

int Cgins::setupGridFunctions ( )
virtual
int Cgins::setupPde ( aString &  reactionName,
bool  restartChosen,
IntegerArray &  originalBoundaryCondition 
)
virtual
void Cgins::solveForTimeIndependentVariables ( GridFunction cgf,
bool  updateSolutionDependentEquations = false 
)
virtual
int Cgins::turbulenceModelBoundaryConditions ( const real &  t,
realMappedGridFunction &  u,
Parameters parameters,
int  grid,
RealArray *  pBoundaryData[2][3] 
)
int Cgins::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 parameters,
real  nu,
const int  numberOfDimensions,
const int  grid,
const real  t 
)
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.

void Cgins::updateDivergenceDamping ( CompositeGrid &  cg0,
const int &  geometryHasChanged 
)
virtual
int Cgins::updateForMovingGrids ( GridFunction cgf)
virtual
int Cgins::updateForNewTimeStep ( GridFunction gf,
const real &  dt 
)
virtual

Update the geometry arrays.

Reimplemented from DomainSolver.

References GridFunction::cg, and updateDivergenceDamping().

int Cgins::updateGeometryArrays ( GridFunction cgf)
virtual
void Cgins::updatePressureEquation ( CompositeGrid &  cg0,
GridFunction cgf 
)
virtual
int Cgins::updateStateVariables ( GridFunction cgf,
int  stage = -1 
)
virtual

Ths function is used to update state-variables. For example, the visco plastic viscosity.

Parameters
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.

void Cgins::updateTimeIndependentVariables ( CompositeGrid &  cg0,
GridFunction cgf 
)
virtual
int Cgins::updateToMatchGrid ( CompositeGrid &  cg)
virtual

Update the solver to match a new grid.

Parameters
cg(input): composite grid.

Reimplemented from DomainSolver.

References DomainSolver::current, DomainSolver::gf, DomainSolver::p(), DomainSolver::pp, printF(), updatePressureEquation(), and DomainSolver::updateToMatchGrid().

Referenced by project().

void Cgins::writeParameterSummary ( FILE *  file)
virtual

Member Data Documentation

realCompositeGridFunction Cgins::divDampingWeight

The documentation for this class was generated from the following files: