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

#include <MappedGridOperators.h>

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

Public Types

enum  { forAll =realMappedGridFunction::forAll, undefinedValue =realMappedGridFunction::undefinedValue, defaultValue =realMappedGridFunction::defaultValue, allBoundaries =GenericMappedGridOperators::allBoundaries }
 
enum  derivativeTypes {
  xDerivative, yDerivative, zDerivative, xxDerivative,
  xyDerivative, xzDerivative, yxDerivative, yyDerivative,
  yzDerivative, zxDerivative, zyDerivative, zzDerivative,
  laplacianOperator, r1Derivative, r2Derivative, r3Derivative,
  r1r1Derivative, r1r2Derivative, r1r3Derivative, r2r2Derivative,
  r2r3Derivative, r3r3Derivative, gradient, divergence,
  divergenceScalarGradient, scalarGradient, identityOperator, vorticityOperator,
  xDerivativeScalarXDerivative, xDerivativeScalarYDerivative, xDerivativeScalarZDerivative, yDerivativeScalarXDerivative,
  yDerivativeScalarYDerivative, yDerivativeScalarZDerivative, zDerivativeScalarXDerivative, zDerivativeScalarYDerivative,
  zDerivativeScalarZDerivative, divVectorScalarDerivative, divergenceTensorGradient, numberOfDifferentDerivatives
}
 
- Public Types inherited from GenericMappedGridOperators
enum  AveragingType { arithmeticAverage, harmonicAverage }
 
enum  { forAll =realMappedGridFunction::forAll, undefinedValue =realMappedGridFunction::undefinedValue, allBoundaries =BCTypes::allBoundaries, spectral =-999 }
 
enum  boundaryConditionTypes {
  dirichlet =BCTypes::dirichlet, neumann =BCTypes::neumann, extrapolate =BCTypes::extrapolate, normalComponent =BCTypes::normalComponent,
  mixed =BCTypes::mixed, generalMixedDerivative =BCTypes::generalMixedDerivative, normalDerivativeOfNormalComponent =BCTypes::normalDerivativeOfNormalComponent, normalDerivativeOfADotU =BCTypes::normalDerivativeOfADotU,
  aDotU =BCTypes::aDotU, aDotGradU =BCTypes::aDotGradU, normalDotScalarGrad =BCTypes::normalDotScalarGrad, evenSymmetry =BCTypes::evenSymmetry,
  oddSymmetry =BCTypes::oddSymmetry, generalizedDivergence =BCTypes::generalizedDivergence, vectorSymmetry =BCTypes::vectorSymmetry, tangentialComponent0 =BCTypes::tangentialComponent0,
  tangentialComponent1 =BCTypes::tangentialComponent1, normalDerivativeOfTangentialComponent0 =BCTypes::normalDerivativeOfTangentialComponent0, normalDerivativeOfTangentialComponent1 =BCTypes::normalDerivativeOfTangentialComponent1, extrapolateInterpolationNeighbours =BCTypes::extrapolateInterpolationNeighbours,
  tangentialComponent =BCTypes::tangentialComponent, extrapolateNormalComponent =BCTypes::extrapolateNormalComponent, extrapolateTangentialComponent0 =BCTypes::extrapolateTangentialComponent0, extrapolateTangentialComponent1 =BCTypes::extrapolateTangentialComponent1,
  userDefinedBoundaryCondition0 =BCTypes::userDefinedBoundaryCondition0, userDefinedBoundaryCondition1 =BCTypes::userDefinedBoundaryCondition1, userDefinedBoundaryCondition2 =BCTypes::userDefinedBoundaryCondition2, userDefinedBoundaryCondition3 =BCTypes::userDefinedBoundaryCondition3,
  userDefinedBoundaryCondition4 =BCTypes::userDefinedBoundaryCondition4, userDefinedBoundaryCondition5 =BCTypes::userDefinedBoundaryCondition5, userDefinedBoundaryCondition6 =BCTypes::userDefinedBoundaryCondition6, userDefinedBoundaryCondition7 =BCTypes::userDefinedBoundaryCondition7,
  userDefinedBoundaryCondition8 =BCTypes::userDefinedBoundaryCondition8, userDefinedBoundaryCondition9 =BCTypes::userDefinedBoundaryCondition9, numberOfDifferentBoundaryConditionTypes
}
 
enum  ErrorStatusEnum { noErrors =0, errorInFindInterpolationNeighbours }
 

Public Member Functions

 MappedGridOperators ()
 
 MappedGridOperators (MappedGrid &mg)
 
 MappedGridOperators (const MappedGridOperators &mgfd)
 
virtual
GenericMappedGridOperators
virtualConstructor () const
 
virtual ~MappedGridOperators ()
 
virtual MappedGridOperatorsoperator= (const MappedGridOperators &dmgf)
 
virtual
GenericMappedGridOperators
operator= (const GenericMappedGridOperators &mgo)
 
virtual void useConservativeApproximations (bool trueOrFalse=TRUE)
 
virtual real sizeOf (FILE *file=NULL) const
 
virtual void updateToMatchGrid (MappedGrid &mg)
 
virtual void updateToMatchUnstructuredGrid (MappedGrid &mg)
 
FourierOperatorsgetFourierOperators (const bool abortIfNull=TRUE) const
 
virtual int get (const GenericDataBase &dir, const aString &name)
 
virtual int put (GenericDataBase &dir, const aString &name) const
 
void setOrderOfAccuracy (const int &orderOfAccuracy)
 
virtual void setTwilightZoneFlow (const int &TwilightZoneFlow)
 
virtual realMappedGridFunction scalarCoefficients (const realMappedGridFunction &s, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &I4=nullIndex, const Index &I5=nullIndex, const Index &I6=nullIndex, const Index &I7=nullIndex, const Index &I8=nullIndex)
 
virtual realMappedGridFunction scalarCoefficients (const RealDistributedArray &s)
 
virtual realMappedGridFunction derivativeScalarDerivative (const realMappedGridFunction &u, const realMappedGridFunction &s, const int &direction1, const int &direction2, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &I4=nullIndex, const Index &I5=nullIndex, const Index &I6=nullIndex, const Index &I7=nullIndex, const Index &I8=nullIndex)
 
virtual realMappedGridFunction derivativeScalarDerivative (const realMappedGridFunction &u, const GridFunctionParameters &gfType, const realMappedGridFunction &s, const int &direction1, const int &direction2, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &I4=nullIndex, const Index &I5=nullIndex, const Index &I6=nullIndex, const Index &I7=nullIndex, const Index &I8=nullIndex)
 
virtual realMappedGridFunction derivativeScalarDerivativeCoefficients (const realMappedGridFunction &s, const int &direction1, const int &direction2, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &I4=nullIndex, const Index &I5=nullIndex, const Index &I6=nullIndex, const Index &I7=nullIndex, const Index &I8=nullIndex)
 
virtual realMappedGridFunction derivativeScalarDerivativeCoefficients (const GridFunctionParameters &gfType, const realMappedGridFunction &s, const int &direction1, const int &direction2, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &I4=nullIndex, const Index &I5=nullIndex, const Index &I6=nullIndex, const Index &I7=nullIndex, const Index &I8=nullIndex)
 
virtual void setNumberOfDerivativesToEvaluate (const int &numberOfDerivatives)
 
virtual void setDerivativeType (const int &index, const derivativeTypes &derivativeType, RealDistributedArray &ux1x2)
 
virtual void getDerivatives (const realMappedGridFunction &u, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &I4=nullIndex, const Index &Evalute=nullIndex)
 
virtual bool isRectangular ()
 
virtual void setStencilSize (const int stencilSize)
 
virtual int coefficients (const derivativeTypes &derivativeType, realMappedGridFunction &coeff, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &E=nullIndex, const Index &C=nullIndex)
 Evaluate the coeffcients for a given derivative and add to "coeff".
 
virtual int coefficients (const derivativeTypes &derivativeType, realMappedGridFunction &coeff, const realMappedGridFunction &scalar, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &E=nullIndex, const Index &C=nullIndex)
 This more general version takes a scalar too.
 
virtual int assignCoefficients (const derivativeTypes &derivativeType, realArray &coeff, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &E=nullIndex, const Index &C=nullIndex)
 
virtual int assignCoefficients (const derivativeTypes &derivativeType, realArray &coeff, const realArray &scalar, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &E=nullIndex, const Index &C=nullIndex)
 
virtual int derivative (const derivativeTypes &derivativeType, const realArray &u, realArray &ux, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &C=nullIndex)
 
virtual int derivative (const derivativeTypes &derivativeType, const realArray &u, const realArray &scalar, realArray &ux, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &C=nullIndex)
 
int derivativeInternal (const derivativeTypes &derivativeType_, const realSerialArray &u, const realSerialArray &scalar, realSerialArray &ux, const Index &I1_=nullIndex, const Index &I2_=nullIndex, const Index &I3_=nullIndex, const Index &C=nullIndex)
 Evaluate a derivative.
 
int assignCoefficientsInternal (const derivativeTypes &derivativeType_, realSerialArray &coeff, const realSerialArray &scalar, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &E=nullIndex, const Index &C=nullIndex)
 
void applyBoundaryCondition (realMappedGridFunction &u, const Index &Components, const BCTypes::BCNames &boundaryConditionType=BCTypes::dirichlet, const int &boundaryCondition=allBoundaries, const real &forcing=0., const real &time=0., const BoundaryConditionParameters &bcParameters=Overture::defaultBoundaryConditionParameters(), const int &grid=0)
 
void applyBoundaryCondition (realMappedGridFunction &u, const Index &Components, const BCTypes::BCNames &boundaryConditionType, const int &boundaryCondition, const RealArray &forcing, const real &time=0., const BoundaryConditionParameters &bcParameters=Overture::defaultBoundaryConditionParameters(), const int &grid=0)
 
virtual void applyBoundaryCondition (realMappedGridFunction &u, const Index &Components, const BCTypes::BCNames &boundaryConditionType, const int &boundaryCondition, const RealArray &forcing, RealArray *forcinga[2][3], const real &time=0., const BoundaryConditionParameters &bcParameters=Overture::defaultBoundaryConditionParameters(), const int &grid=0)
 
void applyBoundaryCondition (realMappedGridFunction &u, const Index &Components, const BCTypes::BCNames &boundaryConditionType, const int &boundaryCondition, const realMappedGridFunction &forcing, const real &time=0., const BoundaryConditionParameters &bcParameters=Overture::defaultBoundaryConditionParameters(), const int &grid=0)
 
void applyBoundaryConditionCoefficients (realMappedGridFunction &coeff, const Index &Equations, const Index &Components, const BCTypes::BCNames &boundaryConditionType=BCTypes::dirichlet, const int &boundaryCondition=allBoundaries, const BoundaryConditionParameters &bcParameters=Overture::defaultBoundaryConditionParameters(), const int &grid=0)
 
void updateBoundaryConditionArrays (const int newNumberOfBoundaryConditions, const int newNumberOfComponents)
 
void applyBoundaryCondition (realMappedGridFunction &u, const Index &Components, const BCTypes::BCNames &boundaryConditionType, const int &boundaryCondition, const real &forcing1, const RealArray &forcing2, const RealArray &forcing2d, RealArray *forcinga[2][3], const realMappedGridFunction &forcing3, const real &time, const BoundaryConditionParameters &bcParameters, const BoundaryConditionOption bcOption, const int &grid=0)
 
int getVelocityComponents (int &n1, int &n2, int &n3, int &m1, int &m2, int &m3, realMappedGridFunction &u, const BoundaryConditionParameters &bcParameters, const aString &bcName, const IntegerArray &uC, const IntegerArray &fC)
 
void applyBCaDotU (realMappedGridFunction &u, const int side, const int axis, const Index &Components, const BCTypes::BCNames &boundaryConditionType, const int &boundaryCondition, const real &forcing1, const RealArray &forcing2, const RealArray &forcing2d, const realMappedGridFunction &forcing3, const real &time, const IntegerArray &uC, const IntegerArray &fC, const IntegerDistributedArray &mask, const BoundaryConditionParameters &bcParameters, const BoundaryConditionOption bcOption, const int &grid=0)
 
void applyBCaDotGradU (realMappedGridFunction &u, const int side, const int axis, const Index &Components, const BCTypes::BCNames &boundaryConditionType, const int &boundaryCondition, const real &forcing1, const RealArray &forcing2, const RealArray &forcing2d, const realMappedGridFunction &forcing3, const real &time, const IntegerArray &uC, const IntegerArray &fC, const IntegerDistributedArray &mask, const BoundaryConditionParameters &bcParameters, const BoundaryConditionOption bcOption, const int &grid=0)
 
void applyBCdirichlet (realMappedGridFunction &u, const int side, const int axis, const Index &Components, const BCTypes::BCNames &boundaryConditionType, const int &boundaryCondition, const real &forcing1, const RealArray &forcing2, const RealArray &forcing2d, const realMappedGridFunction &forcing3, const real &time, const IntegerArray &uC, const IntegerArray &fC, const IntegerDistributedArray &mask, const BoundaryConditionParameters &bcParameters, const BoundaryConditionOption bcOption, const int &grid=0)
 
void applyBCextrapolate (realMappedGridFunction &u, const int side, const int axis, const Index &Components, const BCTypes::BCNames &boundaryConditionType, const int &boundaryCondition, const real &forcing1, const RealArray &forcing2, const RealArray &forcing2d, const realMappedGridFunction &forcing3, const real &time, const IntegerArray &uC, const IntegerArray &fC, const IntegerDistributedArray &mask, const BoundaryConditionParameters &bcParameters, const BoundaryConditionOption bcOption, const int &grid=0)
 
void applyBCgeneralMixedDerivative (realMappedGridFunction &u, const int side, const int axis, const Index &Components, const BCTypes::BCNames &boundaryConditionType, const int &boundaryCondition, const real &forcing1, const RealArray &forcing2, const RealArray &forcing2d, const realMappedGridFunction &forcing3, const real &time, const IntegerArray &uC, const IntegerArray &fC, IntegerDistributedArray &mask, const BoundaryConditionParameters &bcParameters, const BoundaryConditionOption bcOption, const int &grid=0)
 
void applyBCnormalComponent (realMappedGridFunction &u, const int side, const int axis, const Index &Components, const BCTypes::BCNames &boundaryConditionType, const int &boundaryCondition, const real &forcing1, const RealArray &forcing2, const RealArray &forcing2d, const realMappedGridFunction &forcing3, const real &time, const IntegerArray &uC, const IntegerArray &fC, const IntegerDistributedArray &mask, const BoundaryConditionParameters &bcParameters, const BoundaryConditionOption bcOption, const int &grid=0)
 
void applyBCtangentialComponent (realMappedGridFunction &u, const int side, const int axis, const Index &Components, const BCTypes::BCNames &boundaryConditionType, const int &boundaryCondition, const real &forcing1, const RealArray &forcing2, const RealArray &forcing2d, const realMappedGridFunction &forcing3, const real &time, const IntegerArray &uC, const IntegerArray &fC, const IntegerDistributedArray &mask, const BoundaryConditionParameters &bcParameters, const BoundaryConditionOption bcOption, const int &grid=0)
 
void applyBCnormalDerivative (realMappedGridFunction &u, const int side, const int axis, const Index &Components, const BCTypes::BCNames &boundaryConditionType, const int &boundaryCondition, const real &forcing1, const RealArray &forcing2, const RealArray &forcing2d, const realMappedGridFunction &forcing3, const real &time, const IntegerArray &uC, const IntegerArray &fC, const IntegerDistributedArray &mask, const BoundaryConditionParameters &bcParameters, const BoundaryConditionOption bcOption, const int &grid=0)
 
void applyBCneumann (realMappedGridFunction &u, const int side, const int axis, const Index &Components, const BCTypes::BCNames &boundaryConditionType, const int &boundaryCondition, const real &forcing1, const RealArray &forcing2, const RealArray &forcing2d, const realMappedGridFunction &forcing3, const real &time, const IntegerArray &uC, const IntegerArray &fC, IntegerDistributedArray &mask, const BoundaryConditionParameters &bcParameters, const BoundaryConditionOption bcOption, const int &grid=0)
 
void applyBCsymmetry (realMappedGridFunction &u, const int side, const int axis, const Index &Components, const BCTypes::BCNames &boundaryConditionType, const int &boundaryCondition, const real &forcing1, const RealArray &forcing2, const RealArray &forcing2d, const realMappedGridFunction &forcing3, const real &time, const IntegerArray &uC, const IntegerArray &fC, const IntegerDistributedArray &mask, const BoundaryConditionParameters &bcParameters, const BoundaryConditionOption bcOption, const int &grid=0)
 
void applyBCaDotGradU (realMappedGridFunction &u, const int side, const int axis, const real &scalarData, const RealArray &arrayData, const RealArray &forcing2d, const realMappedGridFunction &gfData, const real &t, const IntegerArray &uC, const IntegerArray &fC, const IntegerDistributedArray &mask, const BoundaryConditionParameters &bcParameters, const BoundaryConditionOption bcOption, const int &grid=0)
 
void applyBCGenDiv (realMappedGridFunction &u, const int side, const int axis, const real &scalarData, const RealArray &arrayData, const RealArray &forcing2d, const realMappedGridFunction &gfData, const real &t, const IntegerArray &uC, const IntegerArray &fC, const IntegerDistributedArray &mask, const BoundaryConditionParameters &bcParameters, const BoundaryConditionOption bcOption, const int &grid=0)
 
void applyBCnormalDotScalarGrad (realMappedGridFunction &u, const int side, const int axis, const Index &Components, const BCTypes::BCNames &boundaryConditionType, const int &boundaryCondition, const real &forcing1, const RealArray &forcing2, const RealArray &forcing2d, const realMappedGridFunction &forcing3, const real &time, const IntegerArray &uC, const IntegerArray &fC, IntegerDistributedArray &mask, const BoundaryConditionParameters &bcParameters, const BoundaryConditionOption bcOption, const int &grid=0)
 
void buildNeumannCoefficientMatrix (MappedGridOperators &op, realSerialArray &nmCoeff, Index &M, Index &I1, Index &I2, Index &I3, realSerialArray &normalLocal, real b0, real b1, int numberOfDimensions, int side, int axis, const BoundaryConditionParameters &bcParameters)
 Build the coefficient matrix used to apply the neumann BC.
 
- Public Member Functions inherited from GenericMappedGridOperators
 GenericMappedGridOperators ()
 
 GenericMappedGridOperators (MappedGrid &mg)
 
 GenericMappedGridOperators (const GenericMappedGridOperators &mgo)
 
virtual ~GenericMappedGridOperators ()
 
int getOrderOfAccuracy () const
 
int setMaximumWidthForExtrapolateInterpolationNeighbours (const int width=4)
 
int getMaximumWidthForExtrapolateInterpolationNeighbours () const
 
virtual void setNumberOfComponentsForCoefficients (const int number)
 
virtual void setTwilightZoneFlowFunction (OGFunction &twilightZoneFlowFunction)
 
virtual realMappedGridFunction convectiveDerivative (const realMappedGridFunction &u, const realMappedGridFunction &w, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex)
 
virtual realMappedGridFunction convectiveDerivative (const realMappedGridFunction &u, const GridFunctionParameters &gfType, const realMappedGridFunction &w, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex)
 
virtual realMappedGridFunction FCgrad (const realMappedGridFunction &phi, const int c0=0, const int c1=0, const int c2=0, const int c3=0, const int c4=0, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &I4=nullIndex, const Index &I5=nullIndex, const Index &I6=nullIndex, const Index &I7=nullIndex, const Index &I8=nullIndex)
 
virtual realMappedGridFunction FCgrad (const realMappedGridFunction &phi, const GridFunctionParameters &gfType, const int c0=0, const int c1=0, const int c2=0, const int c3=0, const int c4=0, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &I4=nullIndex, const Index &I5=nullIndex, const Index &I6=nullIndex, const Index &I7=nullIndex, const Index &I8=nullIndex)
 
void setInterpolationPoint (intArray &interpolationPoint)
 
virtual void applyBoundaryConditions (realMappedGridFunction &u, const real &time=0.)
 
virtual void assignBoundaryConditionCoefficients (realMappedGridFunction &coeff, const real &time=0.)
 
virtual void finishBoundaryConditions (realMappedGridFunction &u, const BoundaryConditionParameters &bcParameters=Overture::defaultBoundaryConditionParameters(), const Range &C0=nullRange)
 
virtual void finishBoundaryConditionsOld (realMappedGridFunction &u, const BoundaryConditionParameters &bcParameters=Overture::defaultBoundaryConditionParameters(), const Range &C0=nullRange)
 
virtual void fixBoundaryCorners (realMappedGridFunction &u, const BoundaryConditionParameters &bcParameters=Overture::defaultBoundaryConditionParameters(), const Range &C0=nullRange)
 
bool usingConservativeApproximations () const
 
void setAveragingType (const AveragingType &type)
 
AveragingType getAveragingType () const
 
realArray harmonic (const realArray &a, const realArray &b)
 
virtual void setCornerCoefficients (realMappedGridFunction &coeff, const int n, const Index &I1, const Index &I2, const Index &I3, int side1, int side2, int side3, const BoundaryConditionParameters &bcParameters)
 
virtual void setExtrapolationCoefficients (realMappedGridFunction &coeff, const int n, const Index &I1, const Index &I2, const Index &I3, const int order)
 
virtual void setSymmetryCoefficients (realMappedGridFunction &coeff, const int n, const Index &I1, const Index &I2, const Index &I3, const int option=0)
 
virtual void setPeriodicCoefficients (realMappedGridFunction &coeff)
 

Public Attributes

RealDistributedArrayurp
 
RealDistributedArrayusp
 
RealDistributedArrayutp
 
real dx [3]
 
int width
 
int halfWidth1
 
int halfWidth2
 
int halfWidth3
 
int useNewOperators
 
- Public Attributes inherited from GenericMappedGridOperators
MappedGrid mappedGrid
 
int orderOfAccuracy
 
int stencilSize
 
int numberOfComponentsForCoefficients
 
int twilightZoneFlow
 
OGFunctiontwilightZoneFlowFunction
 
enum
GenericMappedGridOperators::ErrorStatusEnum 
errorStatus
 

Protected Types

enum  BoundaryConditionOption {
  unSpecifiedForcing =-1, scalarForcing =0, vectorForcing, vectorByFaceForcing,
  arrayForcing, gridFunctionForcing
}
 

Protected Member Functions

void setup ()
 
virtual realMappedGridFunction xi (const derivativeTypes &derivativeType, const realMappedGridFunction &u, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &C1=nullIndex, const Index &C2=nullIndex, const Index &C3=nullIndex)
 
virtual realMappedGridFunction xiCoefficients (const derivativeTypes &derivativeType, const Index &I1=nullIndex, const Index &I2=nullIndex, const Index &I3=nullIndex, const Index &E=nullIndex, const Index &C=nullIndex)
 
virtual void computeDerivatives (const int &numberOfDerivatives, const IntegerArray &derivativesToEvaluate, RealDistributedArray *derivative[], const realMappedGridFunction &u, const Index &I1, const Index &I2, const Index &I3, const Index &N, const bool &checkArrayDimensions=TRUE)
 
virtual void spectralDerivatives (const int &numberOfDerivatives, const IntegerArray &derivativesToEvaluate, RealDistributedArray *derivative[], const realMappedGridFunction &u, const Range &R1, const Range &R2, const Range &R3, const Range &R4)
 
virtual void updateDerivativeFunctions ()
 
bool createBoundaryMatrix (const int &side, const int &axis, const BCTypes::BCNames &boundaryConditionType)
 
- Protected Member Functions inherited from GenericMappedGridOperators
virtual void findInterpolationNeighbours ()
 

Protected Attributes

int numberOfDimensions
 
bool rectangular
 
int numberOfDerivativesToEvaluate
 
RealDistributedArrayderivativeArray [numberOfDifferentDerivatives]
 
IntegerArray derivativeType
 
bool boundaryData
 
DerivativeFunctionPointer derivativeFunction [numberOfDifferentDerivatives]
 
DerivCoefficientsFunctionPointer derivCoefficientsFunction [numberOfDifferentDerivatives]
 
realSerialArrayneumannCoeff [3]
 
int nCoeffIsSet [3][2]
 
realSerialArraymixedDerivativeCoeff [3]
 
int mCoeffIsSet [3][2]
 
real mCoeffValues [3 *2 *2]
 
realSerialArrayaDotGradUCoeff [3]
 
int aCoeffIsSet [3][2]
 
real aCoeffValues [3 *2 *3]
 
realSerialArraygeneralMixedDerivativeCoeff [3]
 
int gCoeffIsSet [3][2]
 
real gCoeffValues [3 *2 *4]
 
realSerialArraygeneralizedDivergenceCoeff [3]
 
int gdCoeffIsSet [3][2]
 
realSerialArraynormalDotScalarGradCoeff [3]
 
int normalDotScalarGradCoeffIsSet [3][2]
 
FourierOperatorsfourierOperators
 
bool boundaryNormalsUsed
 
bool boundaryTangentsUsed
 
OGFunctione
 
real useWhereMaskOnBoundary [3][2]
 
- Protected Attributes inherited from GenericMappedGridOperators
int extrapolateInterpolationNeighboursIsInitialized
 
int numberOfInterpolationNeighboursNew
 
int maximumWidthToExtrapolationInterpolationNeighbours
 
IntegerArrayextrapolateInterpolationNeighbourPoints
 
IntegerArrayextrapolateInterpolationNeighboursDirection
 
IntegerArrayextrapolateInterpolationNeighboursVariableWidth
 
AssignInterpNeighboursassignInterpNeighbours
 
intArray * interpolationPoint
 
bool conservative
 
AveragingType averagingType
 

Additional Inherited Members

- Static Public Member Functions inherited from GenericMappedGridOperators
static int setDefaultMaximumWidthForExtrapolateInterpolationNeighbours (const int width=4)
 
static void printBoundaryConditionStatistics (FILE *file=stdout)
 
- Static Public Attributes inherited from GenericMappedGridOperators
static int defaultMaximumWidthToExtrapolationInterpolationNeighbours =4
 
static real timeForDirichlet =0.
 
static real timeForNeumann =0.
 
static real timeForExtrapolate =0.
 
static real timeForNormalComponent =0.
 
static real timeForGeneralMixedDerivative =0.
 
static real timeForNormalDerivative =0.
 
static real timeForNormalDerivativeOfADotU =0.
 
static real timeForADotU =0.
 
static real timeForADotGradU =0.
 
static real timeForNormalDotScalarGrad =0.
 
static real timeForSymmetry =0.
 
static real timeForGeneralizedDivergence =0.
 
static real timeForExtrapolateInterpolationNeighbours =0.
 
static real timeForExtrapolateNormalComponent =0.
 
static real timeForExtrapolateRefinementBoundaries =0.
 
static real timeForPeriodicUpdate =0.
 
static real timeForFixBoundaryCorners =0.
 
static real timeToSetupBoundaryConditions =0.
 
static real timeForAllBoundaryConditions =0.
 

Member Enumeration Documentation

anonymous enum
Enumerator
forAll 
undefinedValue 
defaultValue 
allBoundaries 
Enumerator
unSpecifiedForcing 
scalarForcing 
vectorForcing 
vectorByFaceForcing 
arrayForcing 
gridFunctionForcing 
Enumerator
xDerivative 
yDerivative 
zDerivative 
xxDerivative 
xyDerivative 
xzDerivative 
yxDerivative 
yyDerivative 
yzDerivative 
zxDerivative 
zyDerivative 
zzDerivative 
laplacianOperator 
r1Derivative 
r2Derivative 
r3Derivative 
r1r1Derivative 
r1r2Derivative 
r1r3Derivative 
r2r2Derivative 
r2r3Derivative 
r3r3Derivative 
gradient 
divergence 
divergenceScalarGradient 
scalarGradient 
identityOperator 
vorticityOperator 
xDerivativeScalarXDerivative 
xDerivativeScalarYDerivative 
xDerivativeScalarZDerivative 
yDerivativeScalarXDerivative 
yDerivativeScalarYDerivative 
yDerivativeScalarZDerivative 
zDerivativeScalarXDerivative 
zDerivativeScalarYDerivative 
zDerivativeScalarZDerivative 
divVectorScalarDerivative 
divergenceTensorGradient 
numberOfDifferentDerivatives 

Constructor & Destructor Documentation

MappedGridOperators::MappedGridOperators ( )

References setup().

Referenced by virtualConstructor().

MappedGridOperators::MappedGridOperators ( MappedGrid mg)

References setup(), and updateToMatchGrid().

MappedGridOperators::MappedGridOperators ( const MappedGridOperators mgfd)
MappedGridOperators::~MappedGridOperators ( )
virtual

Member Function Documentation

void MappedGridOperators::applyBCaDotGradU ( realMappedGridFunction u,
const int  side,
const int  axis,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType,
const int &  boundaryCondition,
const real forcing1,
const RealArray forcing2,
const RealArray forcing2d,
const realMappedGridFunction forcing3,
const real time,
const IntegerArray uC,
const IntegerArray fC,
const IntegerDistributedArray mask,
const BoundaryConditionParameters bcParameters,
const BoundaryConditionOption  bcOption,
const int &  grid = 0 
)

Referenced by applyBoundaryCondition().

void MappedGridOperators::applyBCaDotGradU ( realMappedGridFunction u,
const int  side,
const int  axis,
const real scalarData,
const RealArray arrayData,
const RealArray forcing2d,
const realMappedGridFunction gfData,
const real t,
const IntegerArray uC,
const IntegerArray fC,
const IntegerDistributedArray mask,
const BoundaryConditionParameters bcParameters,
const BoundaryConditionOption  bcOption,
const int &  grid = 0 
)
void MappedGridOperators::applyBCaDotU ( realMappedGridFunction u,
const int  side,
const int  axis,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType,
const int &  boundaryCondition,
const real forcing1,
const RealArray forcing2,
const RealArray forcing2d,
const realMappedGridFunction forcing3,
const real time,
const IntegerArray uC,
const IntegerArray fC,
const IntegerDistributedArray mask,
const BoundaryConditionParameters bcParameters,
const BoundaryConditionOption  bcOption,
const int &  grid = 0 
)
void MappedGridOperators::applyBCdirichlet ( realMappedGridFunction u,
const int  side,
const int  axis,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType,
const int &  boundaryCondition,
const real forcing1,
const RealArray forcing2,
const RealArray forcing2d,
const realMappedGridFunction forcing3,
const real time,
const IntegerArray uC,
const IntegerArray fC,
const IntegerDistributedArray mask,
const BoundaryConditionParameters bcParameters,
const BoundaryConditionOption  bcOption,
const int &  grid = 0 
)
void MappedGridOperators::applyBCextrapolate ( realMappedGridFunction u,
const int  side,
const int  axis,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType,
const int &  boundaryCondition,
const real forcing1,
const RealArray forcing2,
const RealArray forcing2d,
const realMappedGridFunction forcing3,
const real time,
const IntegerArray uC,
const IntegerArray fC,
const IntegerDistributedArray mask,
const BoundaryConditionParameters bcParameters,
const BoundaryConditionOption  bcOption,
const int &  grid = 0 
)

References Overture::abort(), abs(), arrayForcing, axis1, axis2, axis3, boundaryNormalsUsed, boundaryTangentsUsed, c, MappedGrid::centerBoundaryTangent(), dim, dimension, MappedGrid::dimension(), e, End, MappedGrid::extendedIndexRange(), BoundaryConditionParameters::extraInTangentialDirections, BCTypes::extrapolate, GenericMappedGridOperators::extrapolate, BCTypes::extrapolateNormalComponent, GenericMappedGridOperators::extrapolateNormalComponent, extrapolateOpt, BCTypes::extrapolateTangentialComponent0, GenericMappedGridOperators::extrapolateTangentialComponent0, BCTypes::extrapolateTangentialComponent1, GenericMappedGridOperators::extrapolateTangentialComponent1, BoundaryConditionParameters::extrapolateWithLimiterParameters, BoundaryConditionParameters::extrapolationOption, getCPU(), getGhostIndex(), getLocalArrayWithGhostBoundaries(), doubleMappedGridFunction::getMappedGrid(), BoundaryConditionParameters::getUseMask(), getVelocityComponents(), BoundaryConditionParameters::ghostLineToAssign, gridFunctionForcing, MappedGrid::gridIndexRange(), MappedGrid::indexRange(), BoundaryConditionParameters::lineToAssign, GenericMappedGridOperators::mappedGrid, max(), min(), normal, MappedGrid::numberOfDimensions(), numberOfDimensions, GenericMappedGridOperators::orderOfAccuracy, BoundaryConditionParameters::orderOfExtrapolation, printF(), REAL_MIN, doubleMappedGridFunction::reference(), scalarForcing, Start, MappedGrid::THEcenterBoundaryTangent, MappedGrid::THEvertexBoundaryNormal, GenericMappedGridOperators::timeForExtrapolate, GenericMappedGridOperators::timeForExtrapolateNormalComponent, TRUE, GenericMappedGridOperators::twilightZoneFlow, MappedGrid::update(), BoundaryConditionParameters::useMixedBoundaryMask, useWhereMaskOnBoundary, MappedGrid::vertexBoundaryNormal(), and WHERE_MASK.

Referenced by applyBoundaryCondition().

void MappedGridOperators::applyBCGenDiv ( realMappedGridFunction u,
const int  side,
const int  axis,
const real scalarData,
const RealArray arrayData,
const RealArray forcing2d,
const realMappedGridFunction gfData,
const real t,
const IntegerArray uC,
const IntegerArray fC,
const IntegerDistributedArray mask,
const BoundaryConditionParameters bcParameters,
const BoundaryConditionOption  bcOption,
const int &  grid = 0 
)
void MappedGridOperators::applyBCgeneralMixedDerivative ( realMappedGridFunction u,
const int  side,
const int  axis,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType,
const int &  boundaryCondition,
const real forcing1,
const RealArray forcing2,
const RealArray forcing2d,
const realMappedGridFunction forcing3,
const real time,
const IntegerArray uC,
const IntegerArray fC,
IntegerDistributedArray mask,
const BoundaryConditionParameters bcParameters,
const BoundaryConditionOption  bcOption,
const int &  grid = 0 
)
void MappedGridOperators::applyBCneumann ( realMappedGridFunction u,
const int  side,
const int  axis,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType,
const int &  boundaryCondition,
const real forcing1,
const RealArray forcing2,
const RealArray forcing2d,
const realMappedGridFunction forcing3,
const real time,
const IntegerArray uC,
const IntegerArray fC,
IntegerDistributedArray mask,
const BoundaryConditionParameters bcParameters,
const BoundaryConditionOption  bcOption,
const int &  grid = 0 
)
void MappedGridOperators::applyBCnormalComponent ( realMappedGridFunction u,
const int  side,
const int  axis,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType,
const int &  boundaryCondition,
const real forcing1,
const RealArray forcing2,
const RealArray forcing2d,
const realMappedGridFunction forcing3,
const real time,
const IntegerArray uC,
const IntegerArray fC,
const IntegerDistributedArray mask,
const BoundaryConditionParameters bcParameters,
const BoundaryConditionOption  bcOption,
const int &  grid = 0 
)
void MappedGridOperators::applyBCnormalDerivative ( realMappedGridFunction u,
const int  side,
const int  axis,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType,
const int &  boundaryCondition,
const real forcing1,
const RealArray forcing2,
const RealArray forcing2d,
const realMappedGridFunction forcing3,
const real time,
const IntegerArray uC,
const IntegerArray fC,
const IntegerDistributedArray mask,
const BoundaryConditionParameters bcParameters,
const BoundaryConditionOption  bcOption,
const int &  grid = 0 
)
void MappedGridOperators::applyBCnormalDotScalarGrad ( realMappedGridFunction u,
const int  side,
const int  axis,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType,
const int &  boundaryCondition,
const real forcing1,
const RealArray forcing2,
const RealArray forcing2d,
const realMappedGridFunction forcing3,
const real time,
const IntegerArray uC,
const IntegerArray fC,
IntegerDistributedArray mask,
const BoundaryConditionParameters bcParameters,
const BoundaryConditionOption  bcOption,
const int &  grid = 0 
)
void MappedGridOperators::applyBCsymmetry ( realMappedGridFunction u,
const int  side,
const int  axis,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType,
const int &  boundaryCondition,
const real forcing1,
const RealArray forcing2,
const RealArray forcing2d,
const realMappedGridFunction forcing3,
const real time,
const IntegerArray uC,
const IntegerArray fC,
const IntegerDistributedArray mask,
const BoundaryConditionParameters bcParameters,
const BoundaryConditionOption  bcOption,
const int &  grid = 0 
)
void MappedGridOperators::applyBCtangentialComponent ( realMappedGridFunction u,
const int  side,
const int  axis,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType,
const int &  boundaryCondition,
const real forcing1,
const RealArray forcing2,
const RealArray forcing2d,
const realMappedGridFunction forcing3,
const real time,
const IntegerArray uC,
const IntegerArray fC,
const IntegerDistributedArray mask,
const BoundaryConditionParameters bcParameters,
const BoundaryConditionOption  bcOption,
const int &  grid = 0 
)

References Overture::abort(), arrayForcing, assert, assignBoundaryConditions(), boundaryNormalsUsed, boundaryTangentsUsed, c, MappedGrid::center(), MappedGrid::centerBoundaryTangent(), dr, dx, e, BoundaryConditionParameters::extraInTangentialDirections, doubleMappedGridFunction::getComponentDimension(), getGhostIndex(), ParallelUtility::getLocalArrayBounds(), getLocalArrayWithGhostBoundaries(), BoundaryConditionParameters::getUseMask(), getVelocityComponents(), gridFunctionForcing, MappedGrid::indexRange(), MappedGrid::inverseVertexDerivative(), isRectangular(), BoundaryConditionParameters::lineToAssign, M, GenericMappedGridOperators::mappedGrid, MappedGrid::mask(), max(), min(), normal, NULL, MappedGrid::numberOfDimensions(), numberOfDimensions, GenericMappedGridOperators::orderOfAccuracy, OV_ABORT, OV_GET_SERIAL_ARRAY, OV_GET_SERIAL_ARRAY_CONST, rectangular, rx, scalarForcing, BCTypes::tangentialComponent, GenericMappedGridOperators::tangentialComponent, BCTypes::tangentialComponent0, GenericMappedGridOperators::tangentialComponent0, BCTypes::tangentialComponent1, GenericMappedGridOperators::tangentialComponent1, MappedGrid::THEcenter, MappedGrid::THEcenterBoundaryTangent, MappedGrid::THEinverseVertexDerivative, MappedGrid::THEvertexBoundaryNormal, TRUE, GenericMappedGridOperators::twilightZoneFlow, MappedGrid::update(), BoundaryConditionParameters::useMixedBoundaryMask, useWhereMaskOnBoundary, MappedGrid::vertexBoundaryNormal(), WHERE_MASK, and x.

Referenced by applyBoundaryCondition().

void MappedGridOperators::applyBoundaryCondition ( realMappedGridFunction u,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType = BCTypes::dirichlet,
const int &  boundaryCondition = allBoundaries,
const real forcing = 0.,
const real time = 0.,
const BoundaryConditionParameters bcParameters = Overture::defaultBoundaryConditionParameters(),
const int &  grid = 0 
)
virtual
void MappedGridOperators::applyBoundaryCondition ( realMappedGridFunction u,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType,
const int &  boundaryCondition,
const RealArray forcing,
const real time = 0.,
const BoundaryConditionParameters bcParameters = Overture::defaultBoundaryConditionParameters(),
const int &  grid = 0 
)
virtual
void MappedGridOperators::applyBoundaryCondition ( realMappedGridFunction u,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType,
const int &  boundaryCondition,
const RealArray forcing,
RealArray forcinga[2][3],
const real time = 0.,
const BoundaryConditionParameters bcParameters = Overture::defaultBoundaryConditionParameters(),
const int &  grid = 0 
)
virtual
void MappedGridOperators::applyBoundaryCondition ( realMappedGridFunction u,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType,
const int &  boundaryCondition,
const realMappedGridFunction forcing,
const real time = 0.,
const BoundaryConditionParameters bcParameters = Overture::defaultBoundaryConditionParameters(),
const int &  grid = 0 
)
virtual
void MappedGridOperators::applyBoundaryCondition ( realMappedGridFunction u,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType,
const int &  boundaryCondition,
const real forcing1,
const RealArray forcing2,
const RealArray forcing2d,
RealArray forcinga[2][3],
const realMappedGridFunction forcing3,
const real time,
const BoundaryConditionParameters bcParameters,
const BoundaryConditionOption  bcOption,
const int &  grid = 0 
)

References Overture::abort(), GenericMappedGridOperators::aDotGradU, GenericMappedGridOperators::aDotU, allBoundaries, applyBCaDotGradU(), applyBCaDotU(), applyBCdirichlet(), applyBCextrapolate(), applyBCGenDiv(), applyBCgeneralMixedDerivative(), applyBCneumann(), applyBCnormalComponent(), applyBCnormalDerivative(), applyBCnormalDotScalarGrad(), applyBCsymmetry(), applyBCtangentialComponent(), UnstructuredOperators::applyBoundaryCondition(), assert, AssignInterpNeighbours::assign(), GenericMappedGridOperators::assignInterpNeighbours, axis2, axis3, BCTypes::boundary1, BCTypes::boundary6, MappedGrid::boundaryCondition(), c, CC, MappedGrid::dimension(), GenericMappedGridOperators::dirichlet, display(), e, GenericMappedGridOperators::errorInFindInterpolationNeighbours, GenericMappedGridOperators::errorStatus, GenericMappedGridOperators::evenSymmetry, MappedGrid::extendedIndexRange(), BoundaryConditionParameters::extraInTangentialDirections, extrapInterpNeighboursOpt, BCTypes::extrapolate, GenericMappedGridOperators::extrapolate, GenericMappedGridOperators::extrapolateInterpolationNeighbourPoints, BCTypes::extrapolateInterpolationNeighbours, GenericMappedGridOperators::extrapolateInterpolationNeighboursDirection, GenericMappedGridOperators::extrapolateInterpolationNeighboursIsInitialized, GenericMappedGridOperators::extrapolateInterpolationNeighboursVariableWidth, GenericMappedGridOperators::extrapolateNormalComponent, BCTypes::extrapolateRefinementBoundaries, GenericMappedGridOperators::extrapolateTangentialComponent0, GenericMappedGridOperators::extrapolateTangentialComponent1, BoundaryConditionParameters::extrapolateWithLimiterParameters, BoundaryConditionParameters::extrapolationOption, FALSE, BoundaryConditionParameters::fComponents, GenericMappedGridOperators::findInterpolationNeighbours(), GenericMappedGridOperators::fixBoundaryCorners(), GenericMappedGridOperators::generalizedDivergence, GenericMappedGridOperators::generalMixedDerivative, doubleMappedGridFunction::getComponentBase(), doubleMappedGridFunction::getComponentDimension(), getCPU(), getGhostIndex(), getLocalArrayWithGhostBoundaries(), doubleMappedGridFunction::getMappedGrid(), MappedGrid::getPartition(), BoundaryConditionParameters::getUseMask(), BoundaryConditionParameters::ghostLineToAssign, gridFunctionForcing, i2, ia, MappedGrid::indexRange(), GenericMappedGridOperators::interpolationPoint, MappedGrid::ISinteriorBoundaryPoint, MappedGrid::ISinterpolationPoint, MappedGrid::isRefinementGrid(), BoundaryConditionParameters::lineToAssign, GenericMappedGridOperators::mappedGrid, mask, MappedGrid::mask(), max(), GenericMappedGridOperators::maximumWidthToExtrapolationInterpolationNeighbours, min(), GenericMappedGridOperators::mixed, GenericMappedGridOperators::neumann, GenericMappedGridOperators::normalComponent, GenericMappedGridOperators::normalDerivativeOfNormalComponent, GenericMappedGridOperators::normalDerivativeOfTangentialComponent0, GenericMappedGridOperators::normalDerivativeOfTangentialComponent1, GenericMappedGridOperators::normalDotScalarGrad, NULL, MappedGrid::numberOfDimensions(), numberOfDimensions, GenericMappedGridOperators::numberOfInterpolationNeighboursNew, GenericMappedGridOperators::oddSymmetry, BoundaryConditionParameters::orderOfExtrapolation, printF(), REAL_MIN, return, AssignInterpNeighbours::setInterpolationPoint(), Start, GenericMappedGridOperators::tangentialComponent, GenericMappedGridOperators::tangentialComponent0, GenericMappedGridOperators::tangentialComponent1, GenericMappedGridOperators::timeForAllBoundaryConditions, GenericMappedGridOperators::timeForExtrapolateInterpolationNeighbours, GenericMappedGridOperators::timeForExtrapolateRefinementBoundaries, GenericMappedGridOperators::timeToSetupBoundaryConditions, TRUE, GenericMappedGridOperators::twilightZoneFlow, GenericMappedGridOperators::twilightZoneFlowFunction, BoundaryConditionParameters::uComponents, GenericGrid::unstructuredGrid, BoundaryConditionParameters::useMixedBoundaryMask, useWhereMaskOnBoundary, and GenericMappedGridOperators::vectorSymmetry.

void MappedGridOperators::applyBoundaryConditionCoefficients ( realMappedGridFunction coeff,
const Index &  Equations,
const Index &  Components,
const BCTypes::BCNames boundaryConditionType = BCTypes::dirichlet,
const int &  boundaryCondition = allBoundaries,
const BoundaryConditionParameters bcParameters = Overture::defaultBoundaryConditionParameters(),
const int &  grid = 0 
)
virtual

Reimplemented from GenericMappedGridOperators.

References BoundaryConditionParameters::a, Overture::abort(), GenericMappedGridOperators::aDotGradU, GenericMappedGridOperators::aDotU, allBoundaries, assert, assignCoefficients(), axis1, axis2, axis3, BCTypes::boundary1, BCTypes::boundary6, MappedGrid::boundaryCondition(), MappedGrid::boundaryFlag(), boundaryNormalsUsed, boundaryTangentsUsed, c, CE, MappedGrid::centerBoundaryTangent(), MappedGrid::centerBoundaryTangentArray(), BCTypes::dirichlet, GenericMappedGridOperators::dirichlet, End, GenericMappedGridOperators::evenSymmetry, BoundaryConditionParameters::extraInTangentialDirections, BCTypes::extrapolate, GenericMappedGridOperators::extrapolate, BCTypes::extrapolateNormalComponent, GenericMappedGridOperators::extrapolateNormalComponent, BCTypes::extrapolateTangentialComponent0, GenericMappedGridOperators::extrapolateTangentialComponent0, BCTypes::extrapolateTangentialComponent1, GenericMappedGridOperators::extrapolateTangentialComponent1, SparseRepForMGF::extrapolation, fabs(), FALSE, FOR_4D, ForStencil, GenericMappedGridOperators::generalizedDivergence, GenericMappedGridOperators::generalMixedDerivative, getGhostIndex(), getLocalArrayWithGhostBoundaries(), getLocalIndex(), BoundaryConditionParameters::getUseMask(), BoundaryConditionParameters::getVariableCoefficients(), SparseRepForMGF::ghost1, BoundaryConditionParameters::ghostLineToAssign, MappedGrid::gridIndexRange(), i2, identityOperator, MappedGrid::indexRange(), MappedGrid::inverseVertexDerivative(), MappedGrid::ISinteriorBoundaryPoint, MappedGrid::ISinterpolationPoint, isRectangular(), MappedGrid::isRectangular(), BoundaryConditionParameters::lineToAssign, M, M123, M123CE, GenericMappedGridOperators::mappedGrid, mask, MappedGrid::mask(), BCTypes::mixed, GenericMappedGridOperators::mixed, MappedGrid::mixedPhysicalInterpolationBoundary, BCTypes::neumann, GenericMappedGridOperators::neumann, NORMAL, normal, BCTypes::normalComponent, GenericMappedGridOperators::normalComponent, BCTypes::normalDerivativeOfADotU, GenericMappedGridOperators::normalDerivativeOfADotU, BCTypes::normalDerivativeOfNormalComponent, GenericMappedGridOperators::normalDerivativeOfNormalComponent, BCTypes::normalDerivativeOfTangentialComponent0, GenericMappedGridOperators::normalDerivativeOfTangentialComponent0, BCTypes::normalDerivativeOfTangentialComponent1, GenericMappedGridOperators::normalDerivativeOfTangentialComponent1, BCTypes::normalDotScalarGrad, GenericMappedGridOperators::normalDotScalarGrad, NULL, GenericMappedGridOperators::numberOfComponentsForCoefficients, MappedGrid::numberOfDimensions(), numberOfDimensions, GenericMappedGridOperators::oddSymmetry, OPX, OPXS, OPY, OPYS, OPZ, OPZS, GenericMappedGridOperators::orderOfAccuracy, BoundaryConditionParameters::orderOfExtrapolation, printF(), rectangular, SparseRepForMGF::setClassify(), SparseRepForMGF::setCoefficientIndex(), GenericMappedGridOperators::setExtrapolationCoefficients(), doubleMappedGridFunction::sparse, SQRT, Start, GenericMappedGridOperators::stencilSize, BCTypes::tangentialComponent, GenericMappedGridOperators::tangentialComponent, BCTypes::tangentialComponent0, GenericMappedGridOperators::tangentialComponent0, BCTypes::tangentialComponent1, GenericMappedGridOperators::tangentialComponent1, MappedGrid::THEcenterBoundaryTangent, MappedGrid::THEinverseVertexDerivative, MappedGrid::THEvertexBoundaryNormal, TRUE, MappedGrid::update(), BoundaryConditionParameters::useMixedBoundaryMask, useWhereMaskOnBoundary, BCTypes::vectorSymmetry, GenericMappedGridOperators::vectorSymmetry, MappedGrid::vertexBoundaryNormal(), MappedGrid::vertexBoundaryNormalArray(), xDerivative, yDerivative, and zDerivative.

virtual int MappedGridOperators::assignCoefficients ( const derivativeTypes derivativeType,
realArray coeff,
const Index &  I1 = nullIndex,
const Index &  I2 = nullIndex,
const Index &  I3 = nullIndex,
const Index &  E = nullIndex,
const Index &  C = nullIndex 
)
virtual
virtual int MappedGridOperators::assignCoefficients ( const derivativeTypes derivativeType,
realArray coeff,
const realArray scalar,
const Index &  I1 = nullIndex,
const Index &  I2 = nullIndex,
const Index &  I3 = nullIndex,
const Index &  E = nullIndex,
const Index &  C = nullIndex 
)
virtual
int MappedGridOperators::assignCoefficientsInternal ( const derivativeTypes derivativeType_,
realSerialArray coeff,
const realSerialArray scalar,
const Index &  I1 = nullIndex,
const Index &  I2 = nullIndex,
const Index &  I3 = nullIndex,
const Index &  E = nullIndex,
const Index &  C = nullIndex 
)
void MappedGridOperators::buildNeumannCoefficientMatrix ( MappedGridOperators op,
realSerialArray nmCoeff,
Index &  M,
Index &  I1,
Index &  I2,
Index &  I3,
realSerialArray normalLocal,
real  b0,
real  b1,
int  numberOfDimensions,
int  side,
int  axis,
const BoundaryConditionParameters bcParameters 
)
int MappedGridOperators::coefficients ( const derivativeTypes derivativeType_,
realMappedGridFunction coeff,
const Index &  I1 = nullIndex,
const Index &  I2 = nullIndex,
const Index &  I3 = nullIndex,
const Index &  E = nullIndex,
const Index &  C = nullIndex 
)
virtual

Evaluate the coeffcients for a given derivative and add to "coeff".

This routine is a memory and speed efficient way to evaluate coefficient matrices. /param derivativeType (input) : evaluate the coefficients for this derivative /param coeff (input) : a coefficient array /param I1,I2,I3 (input) : optionally specify which points should be assigned.

Referenced by Ogmg::buildPredefinedCoefficientMatrix(), derivativeScalarDerivativeCoefficients(), Ogmg::operatorAveraging(), and xiCoefficients().

int MappedGridOperators::coefficients ( const derivativeTypes derivativeType,
realMappedGridFunction coeff,
const realMappedGridFunction scalar,
const Index &  I1 = nullIndex,
const Index &  I2 = nullIndex,
const Index &  I3 = nullIndex,
const Index &  E = nullIndex,
const Index &  C = nullIndex 
)
virtual

This more general version takes a scalar too.

References assignCoefficients().

void MappedGridOperators::computeDerivatives ( const int &  numberOfDerivatives,
const IntegerArray derivativesToEvaluate,
RealDistributedArray derivative[],
const realMappedGridFunction u,
const Index &  I1,
const Index &  I2,
const Index &  I3,
const Index &  N,
const bool &  checkArrayDimensions = TRUE 
)
protectedvirtual
bool MappedGridOperators::createBoundaryMatrix ( const int &  side,
const int &  axis,
const BCTypes::BCNames boundaryConditionType 
)
protected
virtual int MappedGridOperators::derivative ( const derivativeTypes derivativeType,
const realArray u,
realArray ux,
const Index &  I1 = nullIndex,
const Index &  I2 = nullIndex,
const Index &  I3 = nullIndex,
const Index &  C = nullIndex 
)
virtual
virtual int MappedGridOperators::derivative ( const derivativeTypes derivativeType,
const realArray u,
const realArray scalar,
realArray ux,
const Index &  I1 = nullIndex,
const Index &  I2 = nullIndex,
const Index &  I3 = nullIndex,
const Index &  C = nullIndex 
)
virtual
int MappedGridOperators::derivativeInternal ( const derivativeTypes derivativeType_,
const realSerialArray u,
const realSerialArray scalar,
realSerialArray ux,
const Index &  I1_ = nullIndex,
const Index &  I2_ = nullIndex,
const Index &  I3_ = nullIndex,
const Index &  C = nullIndex 
)

Evaluate a derivative.

This routine is a memory and speed efficient way to evaluate derivatives /param derivativeType (input) : evaluate the coefficients for this derivative /param u (input) : differentiate this function /param s (input) : scalar used for some derivatives /param ux (output) : result /param I1,I2,I3,C (input) : optionally specify which points should be assigned.

/return values: 0 for success, 1 if unable to evaluate the derivative.

References Overture::abort(), GenericMappedGridOperators::arithmeticAverage, assert, MappedGrid::centerJacobian(), DERIV_OPT, UnstructuredOperators::derivative(), derivative(), DERIVATIVE_OPT, MappedGrid::dimension(), divergence, divergenceScalarGradient, divergenceTensorGradient, divFiniteDiffDeriv, divScalarGradFDeriv, dr, dx, GenericMappedGridOperators::getAveragingType(), MappedGrid::getGridType(), getLocalArrayWithGhostBoundaries(), gradFiniteDiffDeriv, gradient, MappedGrid::gridSpacing(), h21, h22, h41, h42, MappedGrid::inverseVertexDerivative(), laplacianFDeriv, laplacianFiniteDiffDeriv, laplacianOperator, GenericMappedGridOperators::mappedGrid, mask, MappedGrid::mask(), max(), min(), NULL, MappedGrid::numberOfDimensions(), GenericMappedGridOperators::orderOfAccuracy, printF(), rectangular, SQR, MappedGrid::THEcenterJacobian, GenericGrid::unstructuredGrid, MappedGrid::update(), GenericMappedGridOperators::usingConservativeApproximations(), vorticityFiniteDiffDeriv, vorticityOperator, xDerivative, xDerivativeScalarXDerivative, xFDeriv, xFiniteDiffDeriv, xxDerivative, xxFDeriv, xxFiniteDiffDeriv, xyDerivative, xyFDeriv, xyFiniteDiffDeriv, xzDerivative, xzFDeriv, xzFiniteDiffDeriv, yDerivative, yFDeriv, yFiniteDiffDeriv, yyDerivative, yyFDeriv, yyFiniteDiffDeriv, yzDerivative, yzFDeriv, yzFiniteDiffDeriv, zDerivative, zDerivativeScalarZDerivative, zFDeriv, zFiniteDiffDeriv, zzDerivative, zzFDeriv, and zzFiniteDiffDeriv.

realMappedGridFunction MappedGridOperators::derivativeScalarDerivative ( const realMappedGridFunction u,
const realMappedGridFunction s,
const int &  direction1,
const int &  direction2,
const Index &  I1 = nullIndex,
const Index &  I2 = nullIndex,
const Index &  I3 = nullIndex,
const Index &  I4 = nullIndex,
const Index &  I5 = nullIndex,
const Index &  I6 = nullIndex,
const Index &  I7 = nullIndex,
const Index &  I8 = nullIndex 
)
virtual
realMappedGridFunction MappedGridOperators::derivativeScalarDerivative ( const realMappedGridFunction u,
const GridFunctionParameters gfType,
const realMappedGridFunction s,
const int &  direction1,
const int &  direction2,
const Index &  I1 = nullIndex,
const Index &  I2 = nullIndex,
const Index &  I3 = nullIndex,
const Index &  I4 = nullIndex,
const Index &  I5 = nullIndex,
const Index &  I6 = nullIndex,
const Index &  I7 = nullIndex,
const Index &  I8 = nullIndex 
)
virtual
realMappedGridFunction MappedGridOperators::derivativeScalarDerivativeCoefficients ( const realMappedGridFunction s,
const int &  direction1,
const int &  direction2,
const Index &  I1 = nullIndex,
const Index &  I2 = nullIndex,
const Index &  I3 = nullIndex,
const Index &  I4 = nullIndex,
const Index &  I5 = nullIndex,
const Index &  I6 = nullIndex,
const Index &  I7 = nullIndex,
const Index &  I8 = nullIndex 
)
virtual
realMappedGridFunction MappedGridOperators::derivativeScalarDerivativeCoefficients ( const GridFunctionParameters gfType,
const realMappedGridFunction s,
const int &  direction1,
const int &  direction2,
const Index &  I1 = nullIndex,
const Index &  I2 = nullIndex,
const Index &  I3 = nullIndex,
const Index &  I4 = nullIndex,
const Index &  I5 = nullIndex,
const Index &  I6 = nullIndex,
const Index &  I7 = nullIndex,
const Index &  I8 = nullIndex 
)
virtual
int MappedGridOperators::get ( const GenericDataBase dir,
const aString name 
)
virtual

Reimplemented from GenericMappedGridOperators.

void MappedGridOperators::getDerivatives ( const realMappedGridFunction u,
const Index &  I1 = nullIndex,
const Index &  I2 = nullIndex,
const Index &  I3 = nullIndex,
const Index &  I4 = nullIndex,
const Index &  Evalute = nullIndex 
)
virtual
FourierOperators * MappedGridOperators::getFourierOperators ( const bool  abortIfNull = TRUE) const

References Overture::abort(), and NULL.

int MappedGridOperators::getVelocityComponents ( int &  n1,
int &  n2,
int &  n3,
int &  m1,
int &  m2,
int &  m3,
realMappedGridFunction u,
const BoundaryConditionParameters bcParameters,
const aString bcName,
const IntegerArray uC,
const IntegerArray fC 
)
bool MappedGridOperators::isRectangular ( )
virtual
MappedGridOperators & MappedGridOperators::operator= ( const MappedGridOperators dmgf)
virtual
GenericMappedGridOperators & MappedGridOperators::operator= ( const GenericMappedGridOperators mgo)
virtual

Reimplemented from GenericMappedGridOperators.

References Overture::abort().

int MappedGridOperators::put ( GenericDataBase dir,
const aString name 
) const
virtual

Reimplemented from GenericMappedGridOperators.

realMappedGridFunction MappedGridOperators::scalarCoefficients ( const realMappedGridFunction s,
const Index &  I1 = nullIndex,
const Index &  I2 = nullIndex,
const Index &  I3 = nullIndex,
const Index &  I4 = nullIndex,
const Index &  I5 = nullIndex,
const Index &  I6 = nullIndex,
const Index &  I7 = nullIndex,
const Index &  I8 = nullIndex 
)
virtual

Reimplemented from GenericMappedGridOperators.

References Overture::abort(), and s.

realMappedGridFunction MappedGridOperators::scalarCoefficients ( const RealDistributedArray s)
virtual
void MappedGridOperators::setDerivativeType ( const int &  index,
const derivativeTypes derivativeType,
RealDistributedArray ux1x2 
)
virtual
void MappedGridOperators::setNumberOfDerivativesToEvaluate ( const int &  numberOfDerivatives)
virtual
void MappedGridOperators::setOrderOfAccuracy ( const int &  orderOfAccuracy)
virtual
void MappedGridOperators::setStencilSize ( const int  stencilSize)
virtual
void MappedGridOperators::setTwilightZoneFlow ( const int &  TwilightZoneFlow)
virtual
void MappedGridOperators::setup ( )
protected
real MappedGridOperators::sizeOf ( FILE *  file = NULL) const
virtual
void MappedGridOperators::spectralDerivatives ( const int &  numberOfDerivatives,
const IntegerArray derivativesToEvaluate,
RealDistributedArray derivative[],
const realMappedGridFunction u,
const Range &  R1,
const Range &  R2,
const Range &  R3,
const Range &  R4 
)
protectedvirtual
void MappedGridOperators::updateBoundaryConditionArrays ( const int  newNumberOfBoundaryConditions,
const int  newNumberOfComponents 
)
void MappedGridOperators::updateDerivativeFunctions ( )
protectedvirtual
void MappedGridOperators::updateToMatchGrid ( MappedGrid mg)
virtual

Reimplemented from GenericMappedGridOperators.

References Overture::abort(), aCoeffIsSet, aDotGradUCoeff, GenericMappedGridOperators::assignInterpNeighbours, MappedGrid::boundaryCondition(), boundaryNormalsUsed, boundaryTangentsUsed, Mapping::debug, dx, End, GenericMappedGridOperators::extrapolateInterpolationNeighboursIsInitialized, gCoeffIsSet, gdCoeffIsSet, generalizedDivergenceCoeff, generalMixedDerivativeCoeff, MappedGrid::getDeltaX(), getGhostIndex(), MappedGrid::getGridType(), AssignInterpNeighbours::gridHasChanged(), MappedGrid::indexRange(), MappedGrid::ISinteriorBoundaryPoint, MappedGrid::isRectangular(), GenericMappedGridOperators::mappedGrid, MappedGrid::mask(), max(), mCoeffIsSet, min(), mixedDerivativeCoeff, nCoeffIsSet, neumannCoeff, normalDotScalarGradCoeffIsSet, NULL, MappedGrid::numberOfDimensions(), numberOfDimensions, MappedGrid::numberOfGhostPoints(), GenericMappedGridOperators::orderOfAccuracy, pow(), printF(), rectangular, MappedGrid::reference(), setOrderOfAccuracy(), GenericMappedGridOperators::spectral, Start, GenericMappedGridOperators::stencilSize, MappedGrid::THEcenter, MappedGrid::THEcenterBoundaryTangent, MappedGrid::THEcenterJacobian, MappedGrid::THEinverseVertexDerivative, MappedGrid::THEmask, MappedGrid::THEvertex, MappedGrid::THEvertexBoundaryNormal, GenericMappedGridOperators::twilightZoneFlow, GenericGrid::unstructuredGrid, MappedGrid::update(), updateToMatchUnstructuredGrid(), useWhereMaskOnBoundary, and GenericMappedGridOperators::usingConservativeApproximations().

Referenced by MappedGridOperators(), and EllipticGridGenerator::setup().

void MappedGridOperators::updateToMatchUnstructuredGrid ( MappedGrid mg)
virtual
void MappedGridOperators::useConservativeApproximations ( bool  trueOrFalse = TRUE)
virtual
GenericMappedGridOperators * MappedGridOperators::virtualConstructor ( ) const
virtual

Reimplemented from GenericMappedGridOperators.

References MappedGridOperators().

realMappedGridFunction MappedGridOperators::xi ( const derivativeTypes derivativeType,
const realMappedGridFunction u,
const Index &  I1 = nullIndex,
const Index &  I2 = nullIndex,
const Index &  I3 = nullIndex,
const Index &  C1 = nullIndex,
const Index &  C2 = nullIndex,
const Index &  C3 = nullIndex 
)
protectedvirtual
realMappedGridFunction MappedGridOperators::xiCoefficients ( const derivativeTypes derivativeType,
const Index &  I1 = nullIndex,
const Index &  I2 = nullIndex,
const Index &  I3 = nullIndex,
const Index &  E = nullIndex,
const Index &  C = nullIndex 
)
protectedvirtual

Member Data Documentation

int MappedGridOperators::aCoeffIsSet[3][2]
protected
real MappedGridOperators::aCoeffValues[3 *2 *3]
protected

Referenced by setup().

realSerialArray* MappedGridOperators::aDotGradUCoeff[3]
protected
bool MappedGridOperators::boundaryData
protected
bool MappedGridOperators::boundaryNormalsUsed
protected
bool MappedGridOperators::boundaryTangentsUsed
protected
RealDistributedArray* MappedGridOperators::derivativeArray[numberOfDifferentDerivatives]
protected
DerivativeFunctionPointer MappedGridOperators::derivativeFunction[numberOfDifferentDerivatives]
protected
IntegerArray MappedGridOperators::derivativeType
protected
DerivCoefficientsFunctionPointer MappedGridOperators::derivCoefficientsFunction[numberOfDifferentDerivatives]
protected
real MappedGridOperators::dx[3]
OGFunction* MappedGridOperators::e
protected
FourierOperators* MappedGridOperators::fourierOperators
protected
int MappedGridOperators::gCoeffIsSet[3][2]
protected
real MappedGridOperators::gCoeffValues[3 *2 *4]
protected

Referenced by setup().

int MappedGridOperators::gdCoeffIsSet[3][2]
protected
realSerialArray* MappedGridOperators::generalizedDivergenceCoeff[3]
protected
realSerialArray* MappedGridOperators::generalMixedDerivativeCoeff[3]
protected
int MappedGridOperators::halfWidth1
int MappedGridOperators::halfWidth2
int MappedGridOperators::halfWidth3
int MappedGridOperators::mCoeffIsSet[3][2]
protected
real MappedGridOperators::mCoeffValues[3 *2 *2]
protected

Referenced by setup().

realSerialArray* MappedGridOperators::mixedDerivativeCoeff[3]
protected
int MappedGridOperators::nCoeffIsSet[3][2]
protected
realSerialArray* MappedGridOperators::neumannCoeff[3]
protected
realSerialArray* MappedGridOperators::normalDotScalarGradCoeff[3]
protected
int MappedGridOperators::normalDotScalarGradCoeffIsSet[3][2]
protected
int MappedGridOperators::numberOfDerivativesToEvaluate
protected
int MappedGridOperators::numberOfDimensions
protected
bool MappedGridOperators::rectangular
protected
RealDistributedArray* MappedGridOperators::urp
int MappedGridOperators::useNewOperators
real MappedGridOperators::useWhereMaskOnBoundary[3][2]
protected
RealDistributedArray * MappedGridOperators::usp
RealDistributedArray * MappedGridOperators::utp
int MappedGridOperators::width

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