Overture  Version 25
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
OgmgParameters Class Reference

#include <OgmgParameters.h>

Collaboration diagram for OgmgParameters:
Collaboration graph
[legend]

Public Types

enum  OptionEnum {
  THEnumberOfCycles, THEnumberOfPreSmooths, THEnumberOfPostSmooths, THEnumberOfSmooths,
  THEnumberOfSubSmooths, THEsmootherType, THEsmoothingRateCutoff, THEuseDirectSolverOnCoarseGrid,
  THEresidualTolerance, THEabsoluteTolerance, THEerrorTolerance, THEmeanValueForSingularProblem,
  THEprojectRightHandSideForSingularProblem, THEassignMeanValueForSingularProblem, THEmaximumNumberOfIterations, THEmaximumNumberOfExtraLevels,
  THEfineToCoarseTransferWidth, THEcoarseToFineTransferWidth, THEnumberOfInitialSmooths, THEuseFullMultigrid,
  THEorderOfAccuracy
}
 
enum  CycleTypeEnum { cycleTypeC, cycleTypeF, cycleAdaptive }
 
enum  SmootherTypeEnum {
  Jacobi =0, GaussSeidel, redBlack, redBlackJacobi,
  lineJacobiInDirection1, lineJacobiInDirection2, lineJacobiInDirection3, lineZebraInDirection1,
  lineZebraInDirection2, lineZebraInDirection3, alternatingLineJacobi, alternatingLineZebra,
  ogesSmoother, numberOfSmoothers
}
 
enum  ConvergenceCriterionEnum { residualConverged, errorEstimateConverged, residualConvergedOldWay }
 
enum  BoundaryConditionEnum {
  dirichlet =1, neumann =2, mixed =3, equation =4,
  extrapolate =5, combination =6, equationToSecondOrder =7, mixedToSecondOrder =8,
  evenSymmetry =9, oddSymmetry =10, extrapolateTwoGhostLines =11, parallelGhostBoundary =20
}
 
enum  NullVectorOptionsEnum { computeNullVector =0, computeAndSaveNullVector, readOrComputeNullVector, readOrComputeAndSaveNullVector }
 
enum  { allGrids =-99, allLevels =-100, useLevelsInGrid =-1 }
 

Public Member Functions

 OgmgParameters ()
 
 OgmgParameters (CompositeGrid &cg)
 
 ~OgmgParameters ()
 
virtual OgmgParametersoperator= (const OgmgParameters &par)
 
int chooseGoodMultigridParameters (CompositeGrid &cg, int maxLevels=useLevelsInGrid, int robustnessLevel=1)
 Automatically choose good parameters (smoothers etc.) for this grid.
 
int display (FILE *file=stdout)
 
int get (OptionEnum option, int &value) const
 
int get (OptionEnum option, real &value) const
 
int get (const GenericDataBase &dir, const aString &name)
 
int put (GenericDataBase &dir, const aString &name) const
 
int set (CompositeGrid &cg)
 
int set (OptionEnum option, int value=0)
 
int set (OptionEnum option, float value)
 
int set (OptionEnum option, double value)
 
int setAbsoluteTolerance (const real absoluteTolerance)
 
int setErrorTolerance (const real errorTolerance)
 
int setMaximumNumberOfIterations (const int max)
 
int setMeanValueForSingularProblem (const real meanValue)
 
int setNullVectorOption (NullVectorOptionsEnum option, const aString &fileName)
 
int setNumberOfCycles (const int &number, const int &level=allLevels)
 
int setNumberOfSmooths (const int numberOfPreSmooths, const int numberOfPostSmooths, const int level)
 
int setNumberOfSubSmooths (const int &numberOfSmooths, const int &grid, const int &level=allLevels)
 
int setParameters (const Ogmg &ogmg)
 
int setProblemIsSingular (const bool trueOrFalse=TRUE)
 
int setResidualTolerance (const real residualTolerance)
 
int setSmootherType (const SmootherTypeEnum &smoother, const int &grid=allGrids, const int &level=allLevels)
 
int updateToMatchGrid (CompositeGrid &cg, int maxLevels=useLevelsInGrid)
 
int update (GenericGraphicsInterface &gi, CompositeGrid &cg)
 

Protected Types

enum  BoundaryAveragingOption {
  imposeDirichlet, imposeExtrapolation, injection, partialWeighting,
  halfWeighting, lumpedPartialWeighting, imposeNeumann
}
 
enum  AveragingOption { averageCoarseGridEquations, doNotAverageCoarseGridEquations, doNotAverageCoarseCurvilinearGridEquations }
 
enum  FourthOrderBoundaryConditionEnum {
  useUnknown =-1, useSymmetry, useEquationToFourthOrder, useEquationToSecondOrder,
  useExtrapolation
}
 

Protected Member Functions

int buildOptionsDialog (DialogData &dialog)
 
int numberOfMultigridLevels () const
 
int numberOfComponentGrids () const
 
void init ()
 
int initializeGridDependentParameters (CompositeGrid &cg, int maxLevels=useLevelsInGrid)
 
int set (OptionEnum option, int value, real rvalue)
 
int get (OptionEnum option, int &value, real &rvalue) const
 

Protected Attributes

CycleTypeEnum cycleType
 
IntegerArray numberOfCycles
 
IntegerArray numberOfSmooths
 
IntegerArray numberOfSubSmooths
 
IntegerArray smootherType
 
real defectRatioLowerBound
 
real defectRatioUpperBound
 
real defectRatioLowerBoundLineSmooth
 
real defectRatioUpperBoundLineSmooth
 
real omegaJacobi
 
real omegaGaussSeidel
 
real omegaRedBlack
 
real omegaLineJacobi
 
real omegaLineZebra
 
real variableOmegaScaleFactor
 
bool useLocallyOptimalOmega
 
bool useLocallyOptimalLineOmega
 
bool useSplitStepLineSolver
 
bool interpolateAfterSmoothing
 
bool useNewRedBlackSmoother
 
real smoothingRateCutoff
 
bool useDirectSolverOnCoarseGrid
 
int numberOfIterationsOnCoarseGrid
 
bool useDirectSolverForOneLevel
 
int maximumNumberOfSubSmooths
 
int maximumNumberOfLineSubSmooths
 
int subSmoothReferenceGrid
 
bool useFullMultigrid
 
int minimumNumberOfInitialSmooths
 
bool problemIsSingular
 
bool projectRightHandSideForSingularProblem
 
bool assignMeanValueForSingularProblem
 
bool adjustEquationsForSingularProblem
 
NullVectorOptionsEnum nullVectorOption
 
aString nullVectorFileName
 
OgesParametersnullVectorParameters
 
ConvergenceCriterionEnum convergenceCriteria
 
real residualTolerance
 
real errorTolerance
 
real absoluteTolerance
 
real meanValueForSingularProblem
 
int maximumNumberOfIterations
 
bool useErrorEstimateForConvergence
 
OgesParameters ogesParameters
 
CompositeGridcgPointer
 
OgesParametersogesSmoothParameters
 
IntegerArray activeGrids
 
LoadBalancerloadBalancer
 
aStringsmootherName
 
bool interpolateTheDefect
 
int maximumNumberOfExtraLevels
 
bool saveMultigridCompositeGrid
 
bool readMultigridCompositeGrid
 
aString nameOfMultigridCompositeGrid
 
bool autoSubSmoothDetermination
 
bool useNewAutoSubSmooth
 
bool showSmoothingRates
 
bool outputMatlabFile
 
bool useOptimizedVersion
 
bool decoupleCoarseGridEquations
 
int maximumNumberOfLevels
 
int fineToCoarseTransferWidth
 
int coarseToFineTransferWidth
 
BoundaryAveragingOption boundaryAveragingOption [2]
 
BoundaryAveragingOption ghostLineAveragingOption [2]
 
AveragingOption averagingOption
 
int useSymmetryForNeumannOnLowerLevels
 
int useSymmetryForDirichletOnLowerLevels
 
int useSymmetryCornerBoundaryCondition
 
int useEquationForDirichletOnLowerLevels
 
int useEquationForNeumannOnLowerLevels
 
int solveEquationWithBoundaryConditions
 
FourthOrderBoundaryConditionEnum dirichletFirstGhostLineBC
 
FourthOrderBoundaryConditionEnum dirichletSecondGhostLineBC
 
FourthOrderBoundaryConditionEnum lowerLevelDirichletFirstGhostLineBC
 
FourthOrderBoundaryConditionEnum lowerLevelDirichletSecondGhostLineBC
 
int orderOfExtrapolationForDirichlet
 
int orderOfExtrapolationForDirichletOnLowerLevels
 
FourthOrderBoundaryConditionEnum neumannFirstGhostLineBC
 
FourthOrderBoundaryConditionEnum neumannSecondGhostLineBC
 
FourthOrderBoundaryConditionEnum lowerLevelNeumannFirstGhostLineBC
 
FourthOrderBoundaryConditionEnum lowerLevelNeumannSecondGhostLineBC
 
int orderOfExtrapolationForNeumann
 
int orderOfExtrapolationForNeumannOnLowerLevels
 
int orderOfAccuracy
 
int fourthOrderBoundaryConditionOption
 
int numberOfBoundaryLayersToSmooth
 
int numberOfBoundarySmoothIterations
 
int numberOfLevelsForBoundarySmoothing
 
bool combineSmoothsWithIBS
 
int numberOfInterpolationLayersToSmooth
 
int numberOfInterpolationSmoothIterations
 
int numberOfLevelsForInterpolationSmoothing
 
int numberOfIBSIterations
 
int gridOrderingForSmooth
 
int totalNumberOfSmooths
 
IntegerArray totalNumberOfSmoothsPerLevel
 
IntegerArray totalNumberOfSubSmooths
 
int coarseGridInterpolationWidth
 
int alternateSmoothingDirections
 
bool useNewFineToCoarseBC
 
int maximumNumberOfInterpolationIterations
 
bool gridDependentParametersInitialized
 
bool allowInterpolationFromGhostPoints
 
bool allowExtrapolationOfInterpolationPoints
 
bool saveGridCheckFile
 
int chooseGoodParametersOption
 

Friends

class Ogmg
 

Member Enumeration Documentation

anonymous enum
Enumerator
allGrids 
allLevels 
useLevelsInGrid 
Enumerator
averageCoarseGridEquations 
doNotAverageCoarseGridEquations 
doNotAverageCoarseCurvilinearGridEquations 
Enumerator
imposeDirichlet 
imposeExtrapolation 
injection 
partialWeighting 
halfWeighting 
lumpedPartialWeighting 
imposeNeumann 
Enumerator
dirichlet 
neumann 
mixed 
equation 
extrapolate 
combination 
equationToSecondOrder 
mixedToSecondOrder 
evenSymmetry 
oddSymmetry 
extrapolateTwoGhostLines 
parallelGhostBoundary 
Enumerator
residualConverged 
errorEstimateConverged 
residualConvergedOldWay 
Enumerator
cycleTypeC 
cycleTypeF 
cycleAdaptive 
Enumerator
useUnknown 
useSymmetry 
useEquationToFourthOrder 
useEquationToSecondOrder 
useExtrapolation 
Enumerator
computeNullVector 
computeAndSaveNullVector 
readOrComputeNullVector 
readOrComputeAndSaveNullVector 
Enumerator
THEnumberOfCycles 
THEnumberOfPreSmooths 
THEnumberOfPostSmooths 
THEnumberOfSmooths 
THEnumberOfSubSmooths 
THEsmootherType 
THEsmoothingRateCutoff 
THEuseDirectSolverOnCoarseGrid 
THEresidualTolerance 
THEabsoluteTolerance 
THEerrorTolerance 
THEmeanValueForSingularProblem 
THEprojectRightHandSideForSingularProblem 
THEassignMeanValueForSingularProblem 
THEmaximumNumberOfIterations 
THEmaximumNumberOfExtraLevels 
THEfineToCoarseTransferWidth 
THEcoarseToFineTransferWidth 
THEnumberOfInitialSmooths 
THEuseFullMultigrid 
THEorderOfAccuracy 
Enumerator
Jacobi 
GaussSeidel 
redBlack 
redBlackJacobi 
lineJacobiInDirection1 
lineJacobiInDirection2 
lineJacobiInDirection3 
lineZebraInDirection1 
lineZebraInDirection2 
lineZebraInDirection3 
alternatingLineJacobi 
alternatingLineZebra 
ogesSmoother 
numberOfSmoothers 

Constructor & Destructor Documentation

OgmgParameters::OgmgParameters ( )
OgmgParameters::OgmgParameters ( CompositeGrid cg)
OgmgParameters::~OgmgParameters ( )

Member Function Documentation

int OgmgParameters::buildOptionsDialog ( DialogData dialog)
protected
int OgmgParameters::chooseGoodMultigridParameters ( CompositeGrid cg,
int  maxLevels = useLevelsInGrid,
int  robustnessLevel = 1 
)
int OgmgParameters::display ( FILE *  file = stdout)
int OgmgParameters::get ( OptionEnum  option,
int &  value 
) const
int OgmgParameters::get ( OptionEnum  option,
real value 
) const
int OgmgParameters::get ( const GenericDataBase dir,
const aString name 
)
int OgmgParameters::get ( OptionEnum  option,
int &  value,
real rvalue 
) const
protected

References Overture::abort(), and printF().

void OgmgParameters::init ( )
protected

References absoluteTolerance, adjustEquationsForSingularProblem, allowExtrapolationOfInterpolationPoints, allowInterpolationFromGhostPoints, alternateSmoothingDirections, alternatingLineJacobi, alternatingLineZebra, assert, assignMeanValueForSingularProblem, aString, autoSubSmoothDetermination, averageCoarseGridEquations, averagingOption, boundaryAveragingOption, chooseGoodParametersOption, coarseGridInterpolationWidth, coarseToFineTransferWidth, combineSmoothsWithIBS, computeNullVector, convergenceCriteria, cycleType, cycleTypeC, decoupleCoarseGridEquations, defectRatioLowerBound, defectRatioLowerBoundLineSmooth, defectRatioUpperBound, defectRatioUpperBoundLineSmooth, dirichletFirstGhostLineBC, dirichletSecondGhostLineBC, errorTolerance, FALSE, fineToCoarseTransferWidth, fourthOrderBoundaryConditionOption, GaussSeidel, ghostLineAveragingOption, gridOrderingForSmooth, imposeDirichlet, imposeExtrapolation, interpolateAfterSmoothing, interpolateTheDefect, Jacobi, lineJacobiInDirection1, lineJacobiInDirection2, lineJacobiInDirection3, lineZebraInDirection1, lineZebraInDirection2, lineZebraInDirection3, lowerLevelDirichletFirstGhostLineBC, lowerLevelDirichletSecondGhostLineBC, lowerLevelNeumannFirstGhostLineBC, lowerLevelNeumannSecondGhostLineBC, maximumNumberOfExtraLevels, maximumNumberOfInterpolationIterations, maximumNumberOfIterations, maximumNumberOfLevels, maximumNumberOfLineSubSmooths, maximumNumberOfSubSmooths, meanValueForSingularProblem, minimumNumberOfInitialSmooths, nameOfMultigridCompositeGrid, neumannFirstGhostLineBC, neumannSecondGhostLineBC, NULL, nullVectorFileName, nullVectorOption, nullVectorParameters, numberOfBoundaryLayersToSmooth, numberOfBoundarySmoothIterations, numberOfIBSIterations, numberOfInterpolationLayersToSmooth, numberOfInterpolationSmoothIterations, numberOfIterationsOnCoarseGrid, numberOfLevelsForBoundarySmoothing, numberOfLevelsForInterpolationSmoothing, numberOfSmoothers, ogesSmoother, ogesSmoothParameters, omegaGaussSeidel, omegaJacobi, omegaLineJacobi, omegaLineZebra, omegaRedBlack, orderOfAccuracy, orderOfExtrapolationForDirichlet, orderOfExtrapolationForDirichletOnLowerLevels, orderOfExtrapolationForNeumann, orderOfExtrapolationForNeumannOnLowerLevels, outputMatlabFile, partialWeighting, problemIsSingular, projectRightHandSideForSingularProblem, readMultigridCompositeGrid, REAL_EPSILON, redBlack, redBlackJacobi, residualConverged, residualTolerance, saveGridCheckFile, saveMultigridCompositeGrid, showSmoothingRates, smootherName, solveEquationWithBoundaryConditions, subSmoothReferenceGrid, TRUE, useDirectSolverForOneLevel, useDirectSolverOnCoarseGrid, useEquationForDirichletOnLowerLevels, useEquationForNeumannOnLowerLevels, useEquationToFourthOrder, useEquationToSecondOrder, useExtrapolation, useFullMultigrid, useLocallyOptimalLineOmega, useLocallyOptimalOmega, useNewAutoSubSmooth, useNewFineToCoarseBC, useNewRedBlackSmoother, useOptimizedVersion, useSplitStepLineSolver, useSymmetryCornerBoundaryCondition, useSymmetryForDirichletOnLowerLevels, useSymmetryForNeumannOnLowerLevels, and variableOmegaScaleFactor.

Referenced by OgmgParameters(), and operator=().

int OgmgParameters::initializeGridDependentParameters ( CompositeGrid cg,
int  maxLevels = useLevelsInGrid 
)
protected
int OgmgParameters::numberOfComponentGrids ( ) const
protected
int OgmgParameters::numberOfMultigridLevels ( ) const
protected
OgmgParameters & OgmgParameters::operator= ( const OgmgParameters par)
virtual

References absoluteTolerance, alternateSmoothingDirections, assignMeanValueForSingularProblem, autoSubSmoothDetermination, averagingOption, boundaryAveragingOption, cgPointer, coarseGridInterpolationWidth, coarseToFineTransferWidth, combineSmoothsWithIBS, convergenceCriteria, decoupleCoarseGridEquations, dirichletFirstGhostLineBC, dirichletSecondGhostLineBC, errorTolerance, fineToCoarseTransferWidth, fourthOrderBoundaryConditionOption, ghostLineAveragingOption, gridDependentParametersInitialized, gridOrderingForSmooth, init(), interpolateAfterSmoothing, interpolateTheDefect, loadBalancer, lowerLevelDirichletFirstGhostLineBC, lowerLevelDirichletSecondGhostLineBC, lowerLevelNeumannFirstGhostLineBC, lowerLevelNeumannSecondGhostLineBC, maximumNumberOfExtraLevels, maximumNumberOfInterpolationIterations, maximumNumberOfIterations, maximumNumberOfLevels, meanValueForSingularProblem, nameOfMultigridCompositeGrid, neumannFirstGhostLineBC, neumannSecondGhostLineBC, NULL, nullVectorFileName, nullVectorOption, nullVectorParameters, numberOfBoundaryLayersToSmooth, numberOfBoundarySmoothIterations, numberOfCycles, numberOfIBSIterations, numberOfInterpolationLayersToSmooth, numberOfInterpolationSmoothIterations, numberOfIterationsOnCoarseGrid, numberOfLevelsForBoundarySmoothing, numberOfLevelsForInterpolationSmoothing, numberOfSmooths, numberOfSubSmooths, ogesParameters, ogesSmoothParameters, orderOfExtrapolationForDirichlet, orderOfExtrapolationForDirichletOnLowerLevels, orderOfExtrapolationForNeumann, orderOfExtrapolationForNeumannOnLowerLevels, outputMatlabFile, problemIsSingular, projectRightHandSideForSingularProblem, readMultigridCompositeGrid, residualTolerance, saveMultigridCompositeGrid, showSmoothingRates, smootherName, smootherType, smoothingRateCutoff, solveEquationWithBoundaryConditions, subSmoothReferenceGrid, totalNumberOfSmooths, totalNumberOfSmoothsPerLevel, totalNumberOfSubSmooths, useDirectSolverOnCoarseGrid, useEquationForDirichletOnLowerLevels, useEquationForNeumannOnLowerLevels, useLocallyOptimalLineOmega, useLocallyOptimalOmega, useNewFineToCoarseBC, useNewRedBlackSmoother, useOptimizedVersion, useSplitStepLineSolver, useSymmetryCornerBoundaryCondition, useSymmetryForDirichletOnLowerLevels, and useSymmetryForNeumannOnLowerLevels.

int OgmgParameters::put ( GenericDataBase dir,
const aString name 
) const
int OgmgParameters::set ( CompositeGrid cg)

References cgPointer, and initializeGridDependentParameters().

Referenced by main().

int OgmgParameters::set ( OptionEnum  option,
int  value = 0 
)
int OgmgParameters::set ( OptionEnum  option,
float  value 
)
int OgmgParameters::set ( OptionEnum  option,
double  value 
)
int OgmgParameters::set ( OptionEnum  option,
int  value,
real  rvalue 
)
protected
int OgmgParameters::setAbsoluteTolerance ( const real  absoluteTolerance)

References absoluteTolerance.

int OgmgParameters::setErrorTolerance ( const real  errorTolerance)
int OgmgParameters::setMaximumNumberOfIterations ( const int  max)

References max(), and maximumNumberOfIterations.

Referenced by update().

int OgmgParameters::setMeanValueForSingularProblem ( const real  meanValue)

References meanValueForSingularProblem.

Referenced by main().

int OgmgParameters::setNullVectorOption ( NullVectorOptionsEnum  option,
const aString fileName 
)
int OgmgParameters::setNumberOfCycles ( const int &  number,
const int &  level = allLevels 
)

References allLevels, assert, cgPointer, NULL, and numberOfCycles.

Referenced by update().

int OgmgParameters::setNumberOfSmooths ( const int  numberOfPreSmooths,
const int  numberOfPostSmooths,
const int  level 
)
int OgmgParameters::setNumberOfSubSmooths ( const int &  numberOfSmooths,
const int &  grid,
const int &  level = allLevels 
)

References allLevels, nullRange, and numberOfSubSmooths.

Referenced by update().

int OgmgParameters::setParameters ( const Ogmg ogmg)
int OgmgParameters::setProblemIsSingular ( const bool  trueOrFalse = TRUE)
int OgmgParameters::setResidualTolerance ( const real  residualTolerance)
int OgmgParameters::setSmootherType ( const SmootherTypeEnum smoother,
const int &  grid = allGrids,
const int &  level = allLevels 
)

References allGrids, allLevels, and smootherType.

Referenced by main(), and update().

int OgmgParameters::update ( GenericGraphicsInterface gi,
CompositeGrid cg 
)

References absoluteTolerance, activeGrids, adjustEquationsForSingularProblem, allowExtrapolationOfInterpolationPoints, allowInterpolationFromGhostPoints, alternateSmoothingDirections, alternatingLineJacobi, alternatingLineZebra, GenericGraphicsInterface::appendToTheDefaultPrompt(), assignMeanValueForSingularProblem, aString, autoSubSmoothDetermination, averageCoarseGridEquations, averagingOption, OgesParameters::biConjugateGradientStabilized, boundaryAveragingOption, buildOptionsDialog(), GUIState::buildPopup(), chooseGoodMultigridParameters(), chooseGoodParametersOption, coarseToFineTransferWidth, combineSmoothsWithIBS, computeAndSaveNullVector, computeNullVector, convergenceCriteria, cycleType, cycleTypeF, Ogmg::debug, Oges::debug, decoupleCoarseGridEquations, defectRatioLowerBound, defectRatioLowerBoundLineSmooth, defectRatioUpperBound, defectRatioUpperBoundLineSmooth, dirichletFirstGhostLineBC, doNotAverageCoarseCurvilinearGridEquations, doNotAverageCoarseGridEquations, errorEstimateConverged, errorTolerance, FALSE, fineToCoarseTransferWidth, fourthOrderBoundaryConditionOption, GaussSeidel, GenericGraphicsInterface::getAnswer(), DialogData::getOptionMenu(), DialogData::getTextValue(), DialogData::getToggleValue(), GenericGraphicsInterface::getValues(), ghostLineAveragingOption, gridOrderingForSmooth, OgesParameters::incompleteLUPreconditioner, GenericGraphicsInterface::inputString(), interpolateAfterSmoothing, interpolateTheDefect, Jacobi, LoadBalancer::KernighanLin, lineJacobiInDirection1, lineJacobiInDirection2, lineJacobiInDirection3, lineZebraInDirection1, lineZebraInDirection2, lineZebraInDirection3, loadBalancer, lowerLevelDirichletFirstGhostLineBC, lowerLevelNeumannSecondGhostLineBC, max(), maximumNumberOfExtraLevels, maximumNumberOfInterpolationIterations, maximumNumberOfLevels, maximumNumberOfLineSubSmooths, maximumNumberOfSubSmooths, min(), minimumNumberOfInitialSmooths, nameOfMultigridCompositeGrid, neumannSecondGhostLineBC, NULL, nullVectorFileName, nullVectorOption, nullVectorParameters, numberOfBoundaryLayersToSmooth, numberOfBoundarySmoothIterations, GenericGridCollection::numberOfComponentGrids(), numberOfCycles, GridCollection::numberOfDimensions(), numberOfIBSIterations, numberOfInterpolationLayersToSmooth, numberOfInterpolationSmoothIterations, numberOfIterationsOnCoarseGrid, numberOfLevelsForBoundarySmoothing, numberOfLevelsForInterpolationSmoothing, numberOfMultigridLevels(), numberOfSubSmooths, ogesParameters, ogesSmoother, ogesSmoothParameters, omegaGaussSeidel, omegaJacobi, omegaLineJacobi, omegaLineZebra, omegaRedBlack, orderOfAccuracy, orderOfExtrapolationForDirichletOnLowerLevels, outputMatlabFile, GenericGraphicsInterface::outputString(), OgesParameters::PETSc, GenericGraphicsInterface::popGUI(), printF(), problemIsSingular, projectRightHandSideForSingularProblem, GenericGraphicsInterface::pushGUI(), readMultigridCompositeGrid, readOrComputeAndSaveNullVector, readOrComputeNullVector, REAL_EPSILON, redBlack, redBlackJacobi, residualConverged, residualConvergedOldWay, residualTolerance, saveGridCheckFile, saveMultigridCompositeGrid, OgesParameters::set(), OptionMenu::setCurrentChoice(), LoadBalancer::setLoadBalancer(), setMaximumNumberOfIterations(), setNumberOfCycles(), setNumberOfSmooths(), setNumberOfSubSmooths(), setSmootherType(), showSmoothingRates, smootherName, smoothingRateCutoff, solveEquationWithBoundaryConditions, sPrintF(), sScanF(), GenericGraphicsInterface::stopReadingCommandFile(), subSmoothReferenceGrid, THEerrorTolerance, OgesParameters::THEmaximumNumberOfIterations, OgesParameters::THEnumberOfIncompleteLULevels, OgesParameters::THEpreconditioner, OgesParameters::THErelativeTolerance, THEresidualTolerance, THEsmoothingRateCutoff, OgesParameters::THEsolverMethod, OgesParameters::THEsolverType, TRUE, GenericGraphicsInterface::unAppendTheDefaultPrompt(), LoadBalancer::update(), OgesParameters::update(), updateToMatchGrid(), useDirectSolverOnCoarseGrid, useEquationForDirichletOnLowerLevels, useEquationToSecondOrder, useExtrapolation, useFullMultigrid, useLocallyOptimalLineOmega, useLocallyOptimalOmega, useNewAutoSubSmooth, useNewFineToCoarseBC, useNewRedBlackSmoother, useOptimizedVersion, useSplitStepLineSolver, useSymmetryCornerBoundaryCondition, useSymmetryForNeumannOnLowerLevels, and variableOmegaScaleFactor.

Referenced by OgesParameters::update().

int OgmgParameters::updateToMatchGrid ( CompositeGrid cg,
int  maxLevels = useLevelsInGrid 
)

Friends And Related Function Documentation

friend class Ogmg
friend

Member Data Documentation

real OgmgParameters::absoluteTolerance
protected
IntegerArray OgmgParameters::activeGrids
protected

Referenced by Ogmg::applyOgesSmoother(), and update().

bool OgmgParameters::adjustEquationsForSingularProblem
protected

Referenced by buildOptionsDialog(), init(), and update().

bool OgmgParameters::allowExtrapolationOfInterpolationPoints
protected
bool OgmgParameters::allowInterpolationFromGhostPoints
protected

Referenced by init(), and update().

int OgmgParameters::alternateSmoothingDirections
protected
bool OgmgParameters::assignMeanValueForSingularProblem
protected
bool OgmgParameters::autoSubSmoothDetermination
protected
AveragingOption OgmgParameters::averagingOption
protected
BoundaryAveragingOption OgmgParameters::boundaryAveragingOption[2]
protected
CompositeGrid* OgmgParameters::cgPointer
protected
int OgmgParameters::chooseGoodParametersOption
protected
int OgmgParameters::coarseGridInterpolationWidth
protected
int OgmgParameters::coarseToFineTransferWidth
protected
bool OgmgParameters::combineSmoothsWithIBS
protected
ConvergenceCriterionEnum OgmgParameters::convergenceCriteria
protected
CycleTypeEnum OgmgParameters::cycleType
protected
bool OgmgParameters::decoupleCoarseGridEquations
protected
real OgmgParameters::defectRatioLowerBound
protected

Referenced by init(), Ogmg::smooth(), and update().

real OgmgParameters::defectRatioLowerBoundLineSmooth
protected

Referenced by init(), Ogmg::smooth(), and update().

real OgmgParameters::defectRatioUpperBound
protected

Referenced by init(), Ogmg::smooth(), and update().

real OgmgParameters::defectRatioUpperBoundLineSmooth
protected

Referenced by init(), Ogmg::smooth(), and update().

FourthOrderBoundaryConditionEnum OgmgParameters::dirichletFirstGhostLineBC
protected
FourthOrderBoundaryConditionEnum OgmgParameters::dirichletSecondGhostLineBC
protected
real OgmgParameters::errorTolerance
protected
int OgmgParameters::fineToCoarseTransferWidth
protected
int OgmgParameters::fourthOrderBoundaryConditionOption
protected
BoundaryAveragingOption OgmgParameters::ghostLineAveragingOption[2]
protected
bool OgmgParameters::gridDependentParametersInitialized
protected
int OgmgParameters::gridOrderingForSmooth
protected

Referenced by init(), operator=(), Ogmg::smooth(), and update().

bool OgmgParameters::interpolateAfterSmoothing
protected

Referenced by init(), operator=(), Ogmg::smooth(), and update().

bool OgmgParameters::interpolateTheDefect
protected
LoadBalancer* OgmgParameters::loadBalancer
protected
FourthOrderBoundaryConditionEnum OgmgParameters::lowerLevelDirichletFirstGhostLineBC
protected
FourthOrderBoundaryConditionEnum OgmgParameters::lowerLevelDirichletSecondGhostLineBC
protected
FourthOrderBoundaryConditionEnum OgmgParameters::lowerLevelNeumannFirstGhostLineBC
protected
FourthOrderBoundaryConditionEnum OgmgParameters::lowerLevelNeumannSecondGhostLineBC
protected
int OgmgParameters::maximumNumberOfExtraLevels
protected
int OgmgParameters::maximumNumberOfInterpolationIterations
protected
int OgmgParameters::maximumNumberOfIterations
protected
int OgmgParameters::maximumNumberOfLevels
protected

Referenced by init(), operator=(), and update().

int OgmgParameters::maximumNumberOfLineSubSmooths
protected

Referenced by init(), Ogmg::smooth(), and update().

int OgmgParameters::maximumNumberOfSubSmooths
protected

Referenced by init(), Ogmg::smooth(), and update().

real OgmgParameters::meanValueForSingularProblem
protected
int OgmgParameters::minimumNumberOfInitialSmooths
protected
aString OgmgParameters::nameOfMultigridCompositeGrid
protected

Referenced by init(), operator=(), and update().

FourthOrderBoundaryConditionEnum OgmgParameters::neumannFirstGhostLineBC
protected
FourthOrderBoundaryConditionEnum OgmgParameters::neumannSecondGhostLineBC
protected
aString OgmgParameters::nullVectorFileName
protected
NullVectorOptionsEnum OgmgParameters::nullVectorOption
protected
OgesParameters* OgmgParameters::nullVectorParameters
protected
int OgmgParameters::numberOfBoundaryLayersToSmooth
protected
int OgmgParameters::numberOfBoundarySmoothIterations
protected
IntegerArray OgmgParameters::numberOfCycles
protected
int OgmgParameters::numberOfIBSIterations
protected
int OgmgParameters::numberOfInterpolationLayersToSmooth
protected
int OgmgParameters::numberOfInterpolationSmoothIterations
protected
int OgmgParameters::numberOfIterationsOnCoarseGrid
protected

Referenced by Ogmg::cycle(), init(), operator=(), and update().

int OgmgParameters::numberOfLevelsForBoundarySmoothing
protected
int OgmgParameters::numberOfLevelsForInterpolationSmoothing
protected
IntegerArray OgmgParameters::numberOfSmooths
protected
IntegerArray OgmgParameters::numberOfSubSmooths
protected
OgesParameters OgmgParameters::ogesParameters
protected
OgesParameters* OgmgParameters::ogesSmoothParameters
protected
real OgmgParameters::omegaGaussSeidel
protected

Referenced by init(), Ogmg::smoothJacobi(), and update().

real OgmgParameters::omegaJacobi
protected

Referenced by init(), Ogmg::smoothJacobi(), and update().

real OgmgParameters::omegaLineJacobi
protected

Referenced by init(), Ogmg::smoothLine(), and update().

real OgmgParameters::omegaLineZebra
protected

Referenced by init(), Ogmg::smoothLine(), and update().

real OgmgParameters::omegaRedBlack
protected

Referenced by init(), Ogmg::smoothRedBlack(), and update().

int OgmgParameters::orderOfAccuracy
protected
int OgmgParameters::orderOfExtrapolationForDirichlet
protected
int OgmgParameters::orderOfExtrapolationForDirichletOnLowerLevels
protected
int OgmgParameters::orderOfExtrapolationForNeumann
protected
int OgmgParameters::orderOfExtrapolationForNeumannOnLowerLevels
protected
bool OgmgParameters::outputMatlabFile
protected
bool OgmgParameters::problemIsSingular
protected
bool OgmgParameters::projectRightHandSideForSingularProblem
protected
bool OgmgParameters::readMultigridCompositeGrid
protected

Referenced by init(), operator=(), and update().

real OgmgParameters::residualTolerance
protected
bool OgmgParameters::saveGridCheckFile
protected
bool OgmgParameters::saveMultigridCompositeGrid
protected

Referenced by init(), operator=(), and update().

bool OgmgParameters::showSmoothingRates
protected
aString* OgmgParameters::smootherName
protected
IntegerArray OgmgParameters::smootherType
protected
real OgmgParameters::smoothingRateCutoff
protected
int OgmgParameters::solveEquationWithBoundaryConditions
protected
int OgmgParameters::subSmoothReferenceGrid
protected
int OgmgParameters::totalNumberOfSmooths
protected
IntegerArray OgmgParameters::totalNumberOfSmoothsPerLevel
protected
IntegerArray OgmgParameters::totalNumberOfSubSmooths
protected
bool OgmgParameters::useDirectSolverForOneLevel
protected
bool OgmgParameters::useDirectSolverOnCoarseGrid
protected
int OgmgParameters::useEquationForDirichletOnLowerLevels
protected
int OgmgParameters::useEquationForNeumannOnLowerLevels
protected
bool OgmgParameters::useErrorEstimateForConvergence
protected
bool OgmgParameters::useFullMultigrid
protected

Referenced by init(), set(), and update().

bool OgmgParameters::useLocallyOptimalLineOmega
protected
bool OgmgParameters::useLocallyOptimalOmega
protected
bool OgmgParameters::useNewAutoSubSmooth
protected
bool OgmgParameters::useNewFineToCoarseBC
protected
bool OgmgParameters::useNewRedBlackSmoother
protected
bool OgmgParameters::useOptimizedVersion
protected
bool OgmgParameters::useSplitStepLineSolver
protected
int OgmgParameters::useSymmetryCornerBoundaryCondition
protected
int OgmgParameters::useSymmetryForDirichletOnLowerLevels
protected

Referenced by init(), operator=(), and Ogmg::smoothLine().

int OgmgParameters::useSymmetryForNeumannOnLowerLevels
protected
real OgmgParameters::variableOmegaScaleFactor
protected

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