Public Member Functions | |
TypeName ("DASolver") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, DASolver, dictionary,(char *argsAll, PyObject *pyOptions),(argsAll, pyOptions)) | |
DASolver (char *argsAll, PyObject *pyOptions) | |
virtual | ~DASolver () |
virtual void | initSolver ()=0 |
initialize fields and variables More... | |
virtual label | solvePrimal (const Vec xvVec, Vec wVec)=0 |
solve the primal equations More... | |
virtual label | runFPAdj (const Vec xvVec, const Vec wVec, Vec dFdW, Vec psi) |
solve the adjoint equation using the fixed-point iteration method More... | |
void | setTimeInstanceField (const label instanceI) |
assign primal variables based on the current time instance More... | |
scalar | getTimeInstanceObjFunc (const label instanceI, const word objFuncName) |
return the value of objective function at the given time instance and name More... | |
void | setTimeInstanceVar (const word mode, Mat stateMat, Mat stateBCMat, Vec timeVec, Vec timeIdxVec) |
assign the time instance mats to/from the lists in the OpenFOAM layer depending on the mode More... | |
void | initOldTimes () |
initialize the oldTime for all state variables More... | |
void | calcdRdWT (const Vec xvVec, const Vec wVec, const label isPC, Mat dRdWT) |
compute dRdWT More... | |
void | calcdRdWTPsiAD (const Vec xvVec, const Vec wVec, const Vec psi, Vec dRdWTPsi) |
compute [dRdW]^T*Psi More... | |
void | calcdRdWTPsiAD (const label isInit, const Vec psi, Vec dRdWTPsi) |
compute [dRdW]^T*Psi but without updating xvVec and wVec to the OF fields More... | |
void | calcdFdW (const Vec xvVec, const Vec wVec, const word objFuncName, Vec dFdW) |
compute dFdW More... | |
void | createMLRKSP (const Mat jacMat, const Mat jacPCMat, KSP ksp) |
create a multi-level, Richardson KSP object More... | |
label | solveLinearEqn (const KSP ksp, const Vec rhsVec, Vec solVec) |
solve the linear equation given a ksp and right-hand-side vector More... | |
void | convertMPIVec2SeqVec (const Vec mpiVec, Vec seqVec) |
convert the mpi vec to a seq vec More... | |
void | updateOFField (const Vec wVec) |
Update the OpenFOAM field values (including both internal and boundary fields) based on the state vector wVec. More... | |
void | updateOFMesh (const Vec xvVec) |
Update the OpenFoam mesh point coordinates based on the point vector xvVec. More... | |
void | updateOFField (const scalar *volCoords) |
Update the OpenFOAM field values (including both internal and boundary fields) based on the state array. More... | |
void | updateOFMesh (const scalar *states) |
Update the OpenFoam mesh point coordinates based on the volume point coords array. More... | |
void | resetOFSeeds () |
reset the seeds (gradient to zeros) for all OpenFOAM variables More... | |
void | calcdRdBC (const Vec xvVec, const Vec wVec, const word designVarName, Mat dRdBC) |
compute dRdBC More... | |
void | calcdFdBC (const Vec xvVec, const Vec wVec, const word objFuncName, const word designVarName, Vec dFdBC) |
compute dFdBC More... | |
void | calcdRdBCTPsiAD (const Vec xvVec, const Vec wVec, const Vec psi, const word designVarName, Vec dRdBCTPsi) |
compute dRdBCAD More... | |
void | calcdFdBCAD (const Vec xvVec, const Vec wVec, const word objFuncName, const word designVarName, Vec dFdBC) |
compute dFdBCAD More... | |
void | calcdRdAOA (const Vec xvVec, const Vec wVec, const word designVarName, Mat dRdAOA) |
compute dRdAOA More... | |
void | calcdFdAOA (const Vec xvVec, const Vec wVec, const word objFuncName, const word designVarName, Vec dFdAOA) |
compute dFdAOA More... | |
void | calcdRdAOATPsiAD (const Vec xvVec, const Vec wVec, const Vec psi, const word designVarName, Vec dRdAOATPsi) |
compute dRdAOAAD More... | |
void | calcdRdFFD (const Vec xvVec, const Vec wVec, const word designVarName, Mat dRdFFD) |
compute dRdFFD More... | |
void | calcdFdFFD (const Vec xvVec, const Vec wVec, const word objFuncName, const word designVarName, Vec dFdFFD) |
compute dFdFFD More... | |
void | calcdRdACT (const Vec xvVec, const Vec wVec, const word designVarName, const word designVarType, Mat dRdACT) |
compute dRdACT More... | |
void | calcdFdACT (const Vec xvVec, const Vec wVec, const word objFuncName, const word designVarName, const word designVarType, Vec dFdACT) |
compute dFdACT More... | |
void | calcdRdFieldTPsiAD (const Vec xvVec, const Vec wVec, const Vec psi, const word designVarName, Vec dRdFieldTPsi) |
compute dRdField^T*Psi More... | |
void | calcdFdFieldAD (const Vec xvVec, const Vec wVec, const word objFuncName, const word designVarName, Vec dFdField) |
compute dFdField More... | |
void | createMLRKSPMatrixFree (const Mat jacPCMat, KSP ksp) |
create a multi-level, Richardson KSP object with matrix-free Jacobians More... | |
void | calcdFdWAD (const Vec xvVec, const Vec wVec, const word objFuncName, Vec dFdW) |
compute dFdW using AD More... | |
void | calcdRdThermalTPsiAD (const double *volCoords, const double *states, const double *thermal, const double *seeds, double *product) |
void | calcdRdXvTPsiAD (const Vec xvVec, const Vec wVec, const Vec psi, Vec dRdXvTPsi) |
compute dRdXv^T*Psi More... | |
void | calcdForcedXvAD (const Vec xvVec, const Vec wVec, const Vec fBarVec, Vec dForcedXv) |
compute dForcedXv More... | |
void | calcdAcousticsdXvAD (const Vec xvVec, const Vec wVec, const Vec fBarVec, Vec dForcedXv, word varName, word groupName) |
compute dAcoudXv More... | |
void | calcdFdXvAD (const Vec xvVec, const Vec wVec, const word objFuncName, const word designVarName, Vec dFdXv) |
compute dFdXv AD More... | |
void | calcdRdActTPsiAD (const Vec xvVec, const Vec wVec, const Vec psi, const word designVarName, Vec dRdActTPsi) |
void | calcdForcedWAD (const Vec xvVec, const Vec wVec, const Vec fBarVec, Vec dForcedW) |
void | calcdAcousticsdWAD (const Vec xvVec, const Vec wVec, const Vec fBarVec, Vec dForcedW, word varName, word groupName) |
void | calcdFdACTAD (const Vec xvVec, const Vec wVec, const word objFuncName, const word designVarName, Vec dFdACT) |
compute dFdACT AD More... | |
void | calcdRdWOldTPsiAD (const label oldTimeLevel, const Vec psi, Vec dRdWOldTPsi) |
compute dRdWOld^T*Psi More... | |
void | getCouplingPatchList (wordList &patchList, word groupName="NONE") |
return the coupling patch list if any scenario is active on couplingInfo dict otherwise return design surface More... | |
void | initializedRdWTMatrixFree (const Vec xvVec, const Vec wVec) |
initialize matrix free dRdWT More... | |
void | destroydRdWTMatrixFree () |
destroy the matrix free dRdWT More... | |
void | registerStateVariableInput4AD (const label oldTimeLevel=0) |
register all state variables as the input for reverse-mode AD More... | |
void | registerFieldVariableInput4AD (const word fieldName, const word fieldType) |
register field variables as the input for reverse-mode AD More... | |
void | registerResidualOutput4AD () |
register all residuals as the output for reverse-mode AD More... | |
void | registerForceOutput4AD (List< scalar > &fX, List< scalar > &fY, List< scalar > &fZ) |
register all force as the ouptut for referse-mod AD More... | |
void | registerAcousticOutput4AD (List< scalar > &a) |
register acoustic as the ouptut for referse-mod AD More... | |
void | assignVec2ResidualGradient (Vec vecX) |
assign the reverse-mode AD input seeds from vecX to the residuals in OpenFOAM More... | |
void | assignSeeds2ResidualGradient (const double *seeds) |
assign the reverse-mode AD input seeds from vecX to the residuals in OpenFOAM More... | |
void | assignVec2ForceGradient (Vec fBarVec, List< scalar > &fX, List< scalar > &fY, List< scalar > &fZ) |
assign the reverse-mode AD input seeds from fBarVec to the force vectors in OpenFOAM More... | |
void | assignVec2AcousticGradient (Vec fBarVec, List< scalar > &a, label offset, label step) |
assign the reverse-mode AD input seeds from fBarVec to the acoustic vectors in OpenFOAM More... | |
void | assignStateGradient2Vec (Vec vecY, const label oldTimeLevel=0) |
set the reverse-mode AD derivatives from the state variables in OpenFOAM to vecY More... | |
void | assignFieldGradient2Vec (const word fieldName, const word fieldType, Vec vecY) |
set the reverse-mode AD derivatives from the field variables in OpenFOAM to vecY More... | |
void | normalizeGradientVec (Vec vecY) |
normalize the reverse-mode AD derivatives stored in vecY More... | |
void | initializeGlobalADTape4dRdWT () |
initialize the CoDiPack reverse-mode AD global tape for computing dRdWT*psi More... | |
label | loop (Time &runTime) |
return whether to loop the primal solution, similar to runTime::loop() except we don't do file IO More... | |
label | getGlobalXvIndex (const label idxPoint, const label idxCoord) const |
basically, we call DAIndex::getGlobalXvIndex More... | |
void | ofField2StateVec (Vec stateVec) const |
set the state vector based on the latest fields in OpenFOAM More... | |
void | stateVec2OFField (const Vec stateVec) const |
assign the fields in OpenFOAM based on the state vector More... | |
void | pointVec2OFMesh (const Vec xvVec) const |
assign the points in fvMesh of OpenFOAM based on the point vector More... | |
void | ofMesh2PointVec (Vec xvVec) const |
assign the point vector based on the points in fvMesh of OpenFOAM More... | |
void | resVec2OFResField (const Vec resVec) const |
assign the OpenFOAM residual fields based on the resVec More... | |
void | ofResField2ResVec (Vec resVec) const |
assign the resVec based on OpenFOAM residual fields More... | |
void | writeMatrixBinary (const Mat matIn, const word prefix) |
write the matrix in binary format More... | |
void | writeMatrixASCII (const Mat matIn, const word prefix) |
write the matrix in ASCII format More... | |
void | readMatrixBinary (Mat matIn, const word prefix) |
read petsc matrix in binary format More... | |
void | writeVectorASCII (const Vec vecIn, const word prefix) |
write petsc vector in ascii format More... | |
void | readVectorBinary (Vec vecIn, const word prefix) |
read petsc vector in binary format More... | |
void | writeVectorBinary (const Vec vecIn, const word prefix) |
write petsc vector in binary format More... | |
label | getNLocalAdjointStates () const |
return the number of local adjoint states More... | |
label | getNLocalAdjointBoundaryStates () const |
return the number of local adjoint boundary states More... | |
label | getNLocalCells () const |
return the number of local cells More... | |
label | getNLocalPoints () const |
return the number of local points More... | |
void | setDAObjFuncList () |
initialize DASolver::daObjFuncPtrList_ one needs to call this before calling printAllObjFuncs More... | |
void | printAllObjFuncs () |
calculate the values of all objective functions and print them to screen More... | |
label | checkMesh () const |
check the mesh quality and return meshOK More... | |
scalar | getObjFuncValue (const word objFuncName) |
return the value of the objective function More... | |
void | getForces (Vec fX, Vec fY, Vec fZ) |
return the forces of the desired fluid-structure-interaction patches More... | |
void | getAcousticData (Vec x, Vec y, Vec z, Vec nX, Vec nY, Vec nZ, Vec a, Vec fX, Vec fY, Vec fZ, word groupName) |
return the positions, normals, areas, and forces of the desired acoustic patches More... | |
void | getPatchInfo (label &nPoints, label &nFaces, List< word > &patchList) |
return the number of points and faces for MDO patches More... | |
void | getForcesInternal (List< scalar > &fX, List< scalar > &fY, List< scalar > &fZ, List< word > &patchList) |
compute the forces of the desired fluid-structure-interation patches More... | |
label | getNCouplingFaces () |
Get the number of faces for the MDO coupling patches. More... | |
label | getNCouplingPoints () |
Get the number of points for the MDO coupling patches. More... | |
void | calcCouplingFaceCoords (const scalar *volCoords, scalar *surfCoords) |
return the face coordinates based on vol coords More... | |
void | calcCouplingFaceCoordsAD (const double *volCoords, const double *seeds, double *product) |
calc matrix-vector products for calcCouplingFaceCoords More... | |
void | getThermal (const scalar *volCoords, const scalar *states, scalar *thermal) |
compute the temperature on the conjugate heat transfer patches More... | |
void | getThermalAD (const word inputName, const double *volCoords, const double *states, const double *seeds, double *product) |
compute the temperature on the conjugate heat transfer patches AD More... | |
void | setThermal (scalar *thermal) |
assign temperature values to the conjugate heat transfer patches More... | |
void | getAcousticDataInternal (List< scalar > &x, List< scalar > &y, List< scalar > &z, List< scalar > &nX, List< scalar > &nY, List< scalar > &nZ, List< scalar > &a, List< scalar > &fX, List< scalar > &fY, List< scalar > &fZ, List< word > &patchList) |
compute the positions, normals, areas, and forces of the desired acoustic patches More... | |
void | calcForceProfile (Vec center, Vec aForceL, Vec tForceL, Vec rDistL) |
calculate the radial profile of the force on the propeller surface More... | |
void | calcForceProfileInternal (fvMesh &mesh, const vector ¢er, scalarList &aForceL, scalarList &tForceL, scalarList &rDistL) |
void | calcdForcedStateTPsiAD (const word mode, Vec xvVec, Vec stateVec, Vec psiVec, Vec prodVec) |
void | calcFvSourceInternal (const word propName, const scalarField &aForce, const scalarField &tForce, const scalarField &rDistList, const scalarList &targetForce, const vector ¢er, volVectorField &fvSource) |
calculate the fvSource based on the radial force profile More... | |
void | calcFvSource (const word propName, Vec aForce, Vec tForce, Vec rDist, Vec targetForce, Vec center, Vec fvSource) |
void | calcdFvSourcedInputsTPsiAD (const word propName, const word mode, Vec aForce, Vec tForce, Vec rDist, Vec targetForce, Vec center, Vec psi, Vec dFvSource) |
void | printAllOptions () |
print all DAOption More... | |
void | calcPrimalResidualStatistics (const word mode, const label writeRes=0) |
calculate the norms of all residuals and print to screen More... | |
void | setdXvdFFDMat (const Mat dXvdFFDMat) |
set the value for DASolver::dXvdFFDMat_ More... | |
void | setFFD2XvSeedVec (Vec vecIn) |
set the value for DASolver::FFD2XvSeedVec_ More... | |
void | updateDAOption (PyObject *pyOptions) |
update the allOptions_ dict in DAOption based on the pyOptions from pyDAFoam More... | |
scalar | getPrevPrimalSolTime () |
get the solution time folder for previous primal solution More... | |
void | setFieldValue4GlobalCellI (const word fieldName, const scalar val, const label globalCellI, const label compI=0) |
set the field value More... | |
void | setFieldValue4LocalCellI (const word fieldName, const scalar val, const label localCellI, const label compI=0) |
void | updateBoundaryConditions (const word fieldName, const word fieldType) |
update the boundary condition for a field More... | |
void | syncDAOptionToActuatorDVs () |
synchronize the values in DAOption and actuatorDiskDVs_ More... | |
const fvMesh & | getMesh () |
const Time & | getRunTime () |
return the runTime object More... | |
const DAOption & | getDAOption () |
get DAOption object More... | |
const DAStateInfo & | getDAStateInfo () |
get DAStateInfo object More... | |
const DAIndex & | getDAIndex () |
get DAIndex object More... | |
const DAModel & | getDAModel () |
get DAModel object More... | |
const DAResidual & | getDAResidual () |
get DAResidual object More... | |
const DAField & | getDAField () |
get DAField object More... | |
const DALinearEqn & | getDALinearEqn () |
get DALinearEqn object More... | |
const DACheckMesh & | getDACheckMesh () |
get DACheckMesh object More... | |
PetscScalar | getForwardADDerivVal (const word objFuncName) |
get forwardADDerivVal_ More... | |
void | setPrimalBoundaryConditions (const label printInfo=1) |
update the primal state boundary condition based on the primalBC dict More... | |
void | calcResidualVec (Vec resVec) |
calculate the residual and assign it to the resVec vector More... | |
void | writeFailedMesh () |
write the failed mesh to disk More... | |
void | initTensorFlowFuncs (pyComputeInterface computeInterface, void *compute, pyJacVecProdInterface jacVecProdInterface, void *jacVecProd) |
initialize tensorflow functions and interfaces for callback More... | |
Static Public Member Functions | |
static autoPtr< DASolver > | New (char *argsAll, PyObject *pyOptions) |
static PetscErrorCode | dRdWTMatVecMultFunction (Mat dRdWT, Vec vecX, Vec vecY) |
matrix free matrix-vector product function to compute vecY=dRdWT*vecX More... | |
Protected Member Functions | |
template<class classType > | |
void | primalResidualControl (const SolverPerformance< classType > &solverP, const label printToScreen, const label printInterval, const word varName) |
setup maximal residual control and print the residual as needed More... | |
label | isPrintTime (const Time &runTime, const label printInterval) const |
label | checkResidualTol () |
check whether the min residual in primal satisfy the prescribed tolerance More... | |
void | reduceStateResConLevel (const dictionary &maxResConLv4JacPCMat, HashTable< List< List< word >>> &stateResConInfo) const |
reduce the connectivity level for Jacobian connectivity mat More... | |
void | writeAssociatedFields () |
write associated fields such as relative velocity More... | |
void | saveTimeInstanceFieldHybrid (label &timeInstanceI) |
save primal variable to time instance list for hybrid adjoint (unsteady) More... | |
void | saveTimeInstanceFieldTimeAccurate (label &timeInstanceI) |
save primal variable to time instance list for time accurate adjoint (unsteady) More... | |
Protected Attributes | |
char * | argsAll_ |
all the arguments More... | |
PyObject * | pyOptions_ |
all options in DAFoam More... | |
autoPtr< argList > | argsPtr_ |
args pointer More... | |
autoPtr< Time > | runTimePtr_ |
runTime pointer More... | |
autoPtr< fvMesh > | meshPtr_ |
fvMesh pointer More... | |
autoPtr< DAOption > | daOptionPtr_ |
DAOption pointer. More... | |
autoPtr< DAModel > | daModelPtr_ |
DAModel pointer. More... | |
autoPtr< DAIndex > | daIndexPtr_ |
DAIndex pointer. More... | |
autoPtr< DAField > | daFieldPtr_ |
DAField pointer. More... | |
UPtrList< DAObjFunc > | daObjFuncPtrList_ |
a list of DAObjFunc pointers More... | |
autoPtr< DACheckMesh > | daCheckMeshPtr_ |
DACheckMesh object pointer. More... | |
autoPtr< DALinearEqn > | daLinearEqnPtr_ |
DALinearEqn pointer. More... | |
autoPtr< DAResidual > | daResidualPtr_ |
DAResidual pointer. More... | |
autoPtr< DAStateInfo > | daStateInfoPtr_ |
DAStateInfo pointer. More... | |
HashTable< wordList > | stateInfo_ |
the stateInfo_ list from DAStateInfo object More... | |
wordList | objFuncNames4Adj_ |
the list of objective function names that requires adjoint solution More... | |
dictionary | psiVecDict_ |
the dictionary of adjoint vector (psi) values for all objectives More... | |
dictionary | totalDerivDict_ |
the dictionary that stores the total derivatives reduced from processors More... | |
autoPtr< OFstream > | objFuncAvgHistFilePtr_ |
pointer to the objective function file used in unsteady primal solvers More... | |
label | nItersObjFuncAvg_ = -9999 |
number of iterations since the start of objFunc averaging More... | |
scalarList | avgObjFuncValues_ |
the averaged objective function values used in unsteady flow More... | |
Mat | dRdWTPC_ |
the preconditioner matrix for the adjoint linear equation solution More... | |
label | nSolveAdjointCalls_ = 0 |
how many times the DASolver::solveAdjoint function is called More... | |
Mat | dXvdFFDMat_ |
the matrix that stores the partials dXv/dFFD computed from the idwarp and pygeo in the pyDAFoam.py More... | |
Vec | FFD2XvSeedVec_ |
the vector that stores the AD seeds that propagate from FFD to Xv and will be used in forward mode AD More... | |
HashTable< PetscScalar > | forwardADDerivVal_ |
the derivative value computed by the forward mode primal solution. More... | |
scalar | primalMinRes_ = 1e10 |
the maximal residual for primal solution More... | |
scalar | prevPrimalSolTime_ = -1e10 |
the solution time for the previous primal solution More... | |
Mat | dRdWTMF_ |
matrix-free dRdWT matrix used in GMRES solution More... | |
label | globalADTape4dRdWTInitialized = 0 |
a flag in dRdWTMatVecMultFunction to determine if the global tap is initialized More... | |
List< List< scalar > > | stateAllInstances_ |
state variable list for all instances (unsteady) More... | |
List< List< scalar > > | stateBoundaryAllInstances_ |
state boundary variable list for all instances (unsteady) More... | |
List< dictionary > | objFuncsAllInstances_ |
objective function for all instances (unsteady) More... | |
List< scalar > | runTimeAllInstances_ |
the runtime value for all instances (unsteady) More... | |
List< label > | runTimeIndexAllInstances_ |
the runtime index for all instances (unsteady) More... | |
label | nTimeInstances_ = -9999 |
number of time instances for hybird adjoint (unsteady) More... | |
scalar | periodicity_ = 0.0 |
periodicity of oscillating flow variables (unsteady) More... | |
scalar | primalMinResTol_ = 0.0 |
primal residual tolerance More... | |
label | primalMinIters_ = -1 |
primal min number of iterations More... | |
Definition at line 49 of file DASolver.H.
DASolver | ( | char * | argsAll, |
PyObject * | pyOptions | ||
) |
Definition at line 32 of file DASolver.C.
References DASolver::daOptionPtr_, DASolver::meshPtr_, DASolver::primalMinIters_, DASolver::primalMinResTol_, and DASolver::pyOptions_.
|
inlinevirtual |
Definition at line 235 of file DASolver.H.
|
protected |
setup maximal residual control and print the residual as needed
Definition at line 1007 of file DASolver.H.
References DASolver::primalMinRes_.
|
protected |
Definition at line 7460 of file DASolver.C.
References runTime.
Referenced by DAHeatTransferFoam::solvePrimal(), DALaplacianFoam::solvePrimal(), DAScalarTransportFoam::solvePrimal(), DATurboFoam::solvePrimal(), DARhoSimpleCFoam::solvePrimal(), DASolidDisplacementFoam::solvePrimal(), DAPisoFoam::solvePrimal(), DAPimpleFoam::solvePrimal(), DARhoSimpleFoam::solvePrimal(), DASimpleTFoam::solvePrimal(), and DASimpleFoam::solvePrimal().
|
protected |
check whether the min residual in primal satisfy the prescribed tolerance
Definition at line 7432 of file DASolver.C.
References DASolver::daOptionPtr_, and DASolver::primalMinRes_.
Referenced by DATurboFoam::solvePrimal(), DARhoSimpleCFoam::solvePrimal(), DASolidDisplacementFoam::solvePrimal(), DARhoSimpleFoam::solvePrimal(), DASimpleTFoam::solvePrimal(), and DASimpleFoam::solvePrimal().
|
protected |
reduce the connectivity level for Jacobian connectivity mat
Definition at line 2428 of file DASolver.C.
References DASolver::daOptionPtr_, and forAll().
Referenced by DASolver::calcdRdWT().
|
protected |
write associated fields such as relative velocity
Definition at line 7478 of file DASolver.C.
References DASolver::meshPtr_, MRF, DASolver::runTimePtr_, U, and URel.
Referenced by DARhoSimpleFoam::solvePrimal(), and DASimpleFoam::solvePrimal().
|
protected |
save primal variable to time instance list for hybrid adjoint (unsteady)
Definition at line 7727 of file DASolver.C.
References DASolver::calcPrimalResidualStatistics(), DASolver::daFieldPtr_, DASolver::daOptionPtr_, forAll(), DASolver::getObjFuncValue(), DASolver::nTimeInstances_, DASolver::objFuncsAllInstances_, DASolver::periodicity_, DASolver::runTimeAllInstances_, DASolver::runTimeIndexAllInstances_, DASolver::runTimePtr_, DASolver::stateAllInstances_, and DASolver::stateBoundaryAllInstances_.
Referenced by DALaplacianFoam::solvePrimal(), DAScalarTransportFoam::solvePrimal(), DAPisoFoam::solvePrimal(), and DAPimpleFoam::solvePrimal().
|
protected |
save primal variable to time instance list for time accurate adjoint (unsteady)
Definition at line 7772 of file DASolver.C.
References DASolver::daFieldPtr_, DASolver::daOptionPtr_, forAll(), DASolver::getObjFuncValue(), DASolver::objFuncsAllInstances_, DASolver::runTimeAllInstances_, DASolver::runTimeIndexAllInstances_, DASolver::runTimePtr_, DASolver::stateAllInstances_, and DASolver::stateBoundaryAllInstances_.
Referenced by DALaplacianFoam::solvePrimal(), DAScalarTransportFoam::solvePrimal(), DAPisoFoam::solvePrimal(), and DAPimpleFoam::solvePrimal().
TypeName | ( | "DASolver" | ) |
Runtime type information.
declareRunTimeSelectionTable | ( | autoPtr | , |
DASolver | , | ||
dictionary | , | ||
(char *argsAll, PyObject *pyOptions) | , | ||
(argsAll, pyOptions) | |||
) |
|
static |
Definition at line 69 of file DASolver.C.
References allOptions, and DAUtility::pyDict2OFDict().
Referenced by DASolvers::DASolvers().
|
pure virtual |
initialize fields and variables
Implemented in DASimpleFoam, DASimpleTFoam, DARhoSimpleFoam, DAPimpleFoam, DAPisoFoam, DASolidDisplacementFoam, DARhoSimpleCFoam, DATurboFoam, DAScalarTransportFoam, DAPimpleDyMFoam, DALaplacianFoam, and DAHeatTransferFoam.
|
pure virtual |
solve the primal equations
Implemented in DASimpleFoam, DASimpleTFoam, DARhoSimpleFoam, DAPimpleFoam, DAPisoFoam, DASolidDisplacementFoam, DARhoSimpleCFoam, DATurboFoam, DAScalarTransportFoam, DAPimpleDyMFoam, DALaplacianFoam, and DAHeatTransferFoam.
|
virtual |
solve the adjoint equation using the fixed-point iteration method
Reimplemented in DASimpleFoam.
Definition at line 8003 of file DASolver.C.
void setTimeInstanceField | ( | const label | instanceI | ) |
assign primal variables based on the current time instance
Definition at line 7800 of file DASolver.C.
References DASolver::daFieldPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, dafoam_plot3dtransform::mode, DASolver::runTimeAllInstances_, DASolver::runTimeIndexAllInstances_, DASolver::runTimePtr_, DASolver::stateAllInstances_, and DASolver::stateBoundaryAllInstances_.
scalar getTimeInstanceObjFunc | ( | const label | instanceI, |
const word | objFuncName | ||
) |
return the value of objective function at the given time instance and name
Definition at line 7970 of file DASolver.C.
References DASolver::objFuncsAllInstances_.
void setTimeInstanceVar | ( | const word | mode, |
Mat | stateMat, | ||
Mat | stateBCMat, | ||
Vec | timeVec, | ||
Vec | timeIdxVec | ||
) |
assign the time instance mats to/from the lists in the OpenFOAM layer depending on the mode
Definition at line 7864 of file DASolver.C.
References assignValueCheckAD, dafoam_plot3dtransform::mode, DASolver::nTimeInstances_, DASolver::runTimeAllInstances_, DASolver::runTimeIndexAllInstances_, DASolver::stateAllInstances_, and DASolver::stateBoundaryAllInstances_.
void initOldTimes | ( | ) |
initialize the oldTime for all state variables
void calcdRdWT | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const label | isPC, | ||
Mat | dRdWT | ||
) |
compute dRdWT
Definition at line 2752 of file DASolver.C.
References DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, DASolver::daStateInfoPtr_, DASolver::meshPtr_, DAPartDeriv::New(), DAJacCon::New(), DASolver::reduceStateResConLevel(), DASolver::runTimePtr_, and DAUtility::writeMatrixBinary().
void calcdRdWTPsiAD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const Vec | psi, | ||
Vec | dRdWTPsi | ||
) |
compute [dRdW]^T*Psi
Definition at line 6293 of file DASolver.C.
References DASolver::assignStateGradient2Vec(), DASolver::assignVec2ResidualGradient(), DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, DASolver::normalizeGradientVec(), DASolver::registerResidualOutput4AD(), DASolver::registerStateVariableInput4AD(), DASolver::updateOFField(), DASolver::updateOFMesh(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void calcdRdWTPsiAD | ( | const label | isInit, |
const Vec | psi, | ||
Vec | dRdWTPsi | ||
) |
compute [dRdW]^T*Psi but without updating xvVec and wVec to the OF fields
Definition at line 6228 of file DASolver.C.
void calcdFdW | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const word | objFuncName, | ||
Vec | dFdW | ||
) |
compute dFdW
Definition at line 2886 of file DASolver.C.
References DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, forAll(), DASolver::meshPtr_, DAObjFunc::New(), DAPartDeriv::New(), DAJacCon::New(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void createMLRKSP | ( | const Mat | jacMat, |
const Mat | jacPCMat, | ||
KSP | ksp | ||
) |
create a multi-level, Richardson KSP object
Definition at line 4675 of file DASolver.C.
References DASolver::daLinearEqnPtr_.
label solveLinearEqn | ( | const KSP | ksp, |
const Vec | rhsVec, | ||
Vec | solVec | ||
) |
solve the linear equation given a ksp and right-hand-side vector
Definition at line 4709 of file DASolver.C.
References DASolver::daLinearEqnPtr_, and DASolver::globalADTape4dRdWTInitialized.
void convertMPIVec2SeqVec | ( | const Vec | mpiVec, |
Vec | seqVec | ||
) |
convert the mpi vec to a seq vec
Definition at line 7367 of file DASolver.C.
void updateOFField | ( | const Vec | wVec | ) |
Update the OpenFOAM field values (including both internal and boundary fields) based on the state vector wVec.
Definition at line 4765 of file DASolver.C.
References DASolver::daFieldPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, and DASolver::setPrimalBoundaryConditions().
Referenced by DASolver::calcdAcousticsdWAD(), DASolver::calcdAcousticsdXvAD(), DASolver::calcdFdACTAD(), DASolver::calcdFdBCAD(), DASolver::calcdFdFieldAD(), DASolver::calcdFdWAD(), DASolver::calcdFdXvAD(), DASolver::calcdForcedWAD(), DASolver::calcdForcedXvAD(), DASolver::calcdRdActTPsiAD(), DASolver::calcdRdAOATPsiAD(), DASolver::calcdRdBCTPsiAD(), DASolver::calcdRdFieldTPsiAD(), DASolver::calcdRdThermalTPsiAD(), DASolver::calcdRdWTPsiAD(), DASolver::calcdRdXvTPsiAD(), DASolver::getThermal(), DASolver::initializedRdWTMatrixFree(), and DASimpleFoam::runFPAdj().
void updateOFMesh | ( | const Vec | xvVec | ) |
Update the OpenFoam mesh point coordinates based on the point vector xvVec.
Definition at line 4823 of file DASolver.C.
References DASolver::daFieldPtr_, and DASolver::daOptionPtr_.
Referenced by DASolver::calcCouplingFaceCoords(), DASolver::calcdAcousticsdWAD(), DASolver::calcdAcousticsdXvAD(), DASolver::calcdFdACTAD(), DASolver::calcdFdBCAD(), DASolver::calcdFdFieldAD(), DASolver::calcdFdWAD(), DASolver::calcdFdXvAD(), DASolver::calcdForcedWAD(), DASolver::calcdForcedXvAD(), DASolver::calcdRdActTPsiAD(), DASolver::calcdRdAOATPsiAD(), DASolver::calcdRdBCTPsiAD(), DASolver::calcdRdFieldTPsiAD(), DASolver::calcdRdThermalTPsiAD(), DASolver::calcdRdWTPsiAD(), DASolver::calcdRdXvTPsiAD(), DASolver::getThermal(), DASolver::initializedRdWTMatrixFree(), and DASimpleFoam::runFPAdj().
void updateOFField | ( | const scalar * | volCoords | ) |
Update the OpenFOAM field values (including both internal and boundary fields) based on the state array.
Definition at line 4800 of file DASolver.C.
References DASolver::daFieldPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, and DASolver::setPrimalBoundaryConditions().
void updateOFMesh | ( | const scalar * | states | ) |
Update the OpenFoam mesh point coordinates based on the volume point coords array.
Definition at line 4842 of file DASolver.C.
References DASolver::daFieldPtr_, and DASolver::daOptionPtr_.
void resetOFSeeds | ( | ) |
reset the seeds (gradient to zeros) for all OpenFOAM variables
Definition at line 4738 of file DASolver.C.
References DASolver::daFieldPtr_, DASolver::daModelPtr_, DASolver::daResidualPtr_, and DASolver::setPrimalBoundaryConditions().
Referenced by DASolver::calcCouplingFaceCoordsAD(), DASolver::calcdRdThermalTPsiAD(), and DASolver::getThermalAD().
void calcdRdBC | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const word | designVarName, | ||
Mat | dRdBC | ||
) |
compute dRdBC
Definition at line 3029 of file DASolver.C.
References DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, DASolver::meshPtr_, DAPartDeriv::New(), DAJacCon::New(), DAUtility::writeMatrixASCII(), and DAUtility::writeMatrixBinary().
void calcdFdBC | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const word | objFuncName, | ||
const word | designVarName, | ||
Vec | dFdBC | ||
) |
compute dFdBC
Definition at line 3116 of file DASolver.C.
References DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, forAll(), DASolver::meshPtr_, DAPartDeriv::New(), DAJacCon::New(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void calcdRdBCTPsiAD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const Vec | psi, | ||
const word | designVarName, | ||
Vec | dRdBCTPsi | ||
) |
compute dRdBCAD
Definition at line 3326 of file DASolver.C.
References DASolver::assignVec2ResidualGradient(), DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, forAll(), fvSource, DASolver::meshPtr_, MRF, DASolver::registerResidualOutput4AD(), MRFZoneListDF::reset(), DASolver::updateOFField(), DASolver::updateOFMesh(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void calcdFdBCAD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const word | objFuncName, | ||
const word | designVarName, | ||
Vec | dFdBC | ||
) |
compute dFdBCAD
Definition at line 3562 of file DASolver.C.
References DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, forAll(), fvSource, DASolver::meshPtr_, MRF, DAObjFunc::New(), DASolver::updateOFField(), DASolver::updateOFMesh(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void calcdRdAOA | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const word | designVarName, | ||
Mat | dRdAOA | ||
) |
compute dRdAOA
Definition at line 3240 of file DASolver.C.
References DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, DASolver::meshPtr_, DAPartDeriv::New(), DAJacCon::New(), DAUtility::writeMatrixASCII(), and DAUtility::writeMatrixBinary().
void calcdFdAOA | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const word | objFuncName, | ||
const word | designVarName, | ||
Vec | dFdAOA | ||
) |
compute dFdAOA
Definition at line 3853 of file DASolver.C.
References DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, forAll(), DASolver::meshPtr_, DAPartDeriv::New(), DAJacCon::New(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void calcdRdAOATPsiAD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const Vec | psi, | ||
const word | designVarName, | ||
Vec | dRdAOATPsi | ||
) |
compute dRdAOAAD
Definition at line 3977 of file DASolver.C.
References DASolver::assignVec2ResidualGradient(), DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, forAll(), DASolver::meshPtr_, DASolver::registerResidualOutput4AD(), U, DASolver::updateOFField(), DASolver::updateOFMesh(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void calcdRdFFD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const word | designVarName, | ||
Mat | dRdFFD | ||
) |
compute dRdFFD
Definition at line 4151 of file DASolver.C.
References DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, DASolver::dXvdFFDMat_, DASolver::meshPtr_, DAPartDeriv::New(), DAJacCon::New(), DAUtility::writeMatrixASCII(), and DAUtility::writeMatrixBinary().
void calcdFdFFD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const word | objFuncName, | ||
const word | designVarName, | ||
Vec | dFdFFD | ||
) |
compute dFdFFD
Definition at line 4233 of file DASolver.C.
References DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, DASolver::dXvdFFDMat_, forAll(), DASolver::meshPtr_, DAPartDeriv::New(), DAJacCon::New(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void calcdRdACT | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const word | designVarName, | ||
const word | designVarType, | ||
Mat | dRdACT | ||
) |
compute dRdACT
Definition at line 4358 of file DASolver.C.
References DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, DASolver::meshPtr_, DAPartDeriv::New(), DAJacCon::New(), DAUtility::writeMatrixASCII(), and DAUtility::writeMatrixBinary().
void calcdFdACT | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const word | objFuncName, | ||
const word | designVarName, | ||
const word | designVarType, | ||
Vec | dFdACT | ||
) |
compute dFdACT
Definition at line 4434 of file DASolver.C.
References DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, forAll(), DASolver::meshPtr_, DAPartDeriv::New(), DAJacCon::New(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void calcdRdFieldTPsiAD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const Vec | psi, | ||
const word | designVarName, | ||
Vec | dRdFieldTPsi | ||
) |
compute dRdField^T*Psi
Definition at line 5661 of file DASolver.C.
References DASolver::assignFieldGradient2Vec(), DASolver::assignVec2ResidualGradient(), DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, DASolver::registerFieldVariableInput4AD(), DASolver::registerResidualOutput4AD(), DASolver::updateBoundaryConditions(), DASolver::updateOFField(), DASolver::updateOFMesh(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void calcdFdFieldAD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const word | objFuncName, | ||
const word | designVarName, | ||
Vec | dFdField | ||
) |
compute dFdField
Definition at line 4549 of file DASolver.C.
References DASolver::assignFieldGradient2Vec(), DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, forAll(), DASolver::meshPtr_, DAObjFunc::New(), DASolver::registerFieldVariableInput4AD(), DASolver::updateBoundaryConditions(), DASolver::updateOFField(), DASolver::updateOFMesh(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void createMLRKSPMatrixFree | ( | const Mat | jacPCMat, |
KSP | ksp | ||
) |
create a multi-level, Richardson KSP object with matrix-free Jacobians
Definition at line 4690 of file DASolver.C.
References DASolver::daLinearEqnPtr_, and DASolver::dRdWTMF_.
void calcdFdWAD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const word | objFuncName, | ||
Vec | dFdW | ||
) |
compute dFdW using AD
Definition at line 4986 of file DASolver.C.
References DASolver::assignStateGradient2Vec(), DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, forAll(), DASolver::meshPtr_, DAObjFunc::New(), DASolver::normalizeGradientVec(), DASolver::registerStateVariableInput4AD(), DASolver::updateOFField(), DASolver::updateOFMesh(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void calcdRdThermalTPsiAD | ( | const double * | volCoords, |
const double * | states, | ||
const double * | thermal, | ||
const double * | seeds, | ||
double * | product | ||
) |
Definition at line 5245 of file DASolver.C.
References DASolver::assignSeeds2ResidualGradient(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daResidualPtr_, DASolver::getNCouplingFaces(), DASolver::registerResidualOutput4AD(), DASolver::resetOFSeeds(), DASolver::setThermal(), DASolver::updateOFField(), and DASolver::updateOFMesh().
void calcdRdXvTPsiAD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const Vec | psi, | ||
Vec | dRdXvTPsi | ||
) |
compute dRdXv^T*Psi
Definition at line 5368 of file DASolver.C.
References DASolver::assignVec2ResidualGradient(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daResidualPtr_, forAll(), DASolver::meshPtr_, DASolver::registerResidualOutput4AD(), DASolver::updateOFField(), and DASolver::updateOFMesh().
void calcdForcedXvAD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const Vec | fBarVec, | ||
Vec | dForcedXv | ||
) |
compute dForcedXv
Definition at line 5445 of file DASolver.C.
References DASolver::assignVec2ForceGradient(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daResidualPtr_, forAll(), DASolver::getCouplingPatchList(), DASolver::getForcesInternal(), DASolver::getPatchInfo(), DASolver::meshPtr_, DASolver::registerForceOutput4AD(), DASolver::updateOFField(), and DASolver::updateOFMesh().
void calcdAcousticsdXvAD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const Vec | fBarVec, | ||
Vec | dForcedXv, | ||
word | varName, | ||
word | groupName | ||
) |
compute dAcoudXv
Definition at line 5527 of file DASolver.C.
References DASolver::assignVec2AcousticGradient(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daResidualPtr_, forAll(), DASolver::getAcousticDataInternal(), DASolver::getCouplingPatchList(), DASolver::getPatchInfo(), DASolver::meshPtr_, DASolver::registerAcousticOutput4AD(), DASolver::updateOFField(), and DASolver::updateOFMesh().
void calcdFdXvAD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const word | objFuncName, | ||
const word | designVarName, | ||
Vec | dFdXv | ||
) |
compute dFdXv AD
Definition at line 5108 of file DASolver.C.
References DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, forAll(), DASolver::meshPtr_, DAObjFunc::New(), DASolver::updateOFField(), DASolver::updateOFMesh(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void calcdRdActTPsiAD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const Vec | psi, | ||
const word | designVarName, | ||
Vec | dRdActTPsi | ||
) |
Definition at line 5910 of file DASolver.C.
References DASolver::assignVec2ResidualGradient(), DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, fvSource, DASolver::meshPtr_, DASolver::registerResidualOutput4AD(), source(), DASolver::updateOFField(), DASolver::updateOFMesh(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void calcdForcedWAD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const Vec | fBarVec, | ||
Vec | dForcedW | ||
) |
Definition at line 6030 of file DASolver.C.
References DASolver::assignStateGradient2Vec(), DASolver::assignVec2ForceGradient(), DASolver::daModelPtr_, DASolver::daResidualPtr_, DASolver::getCouplingPatchList(), DASolver::getForcesInternal(), DASolver::getPatchInfo(), DASolver::normalizeGradientVec(), DASolver::registerForceOutput4AD(), DASolver::registerStateVariableInput4AD(), DASolver::updateOFField(), and DASolver::updateOFMesh().
void calcdAcousticsdWAD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const Vec | fBarVec, | ||
Vec | dForcedW, | ||
word | varName, | ||
word | groupName | ||
) |
Definition at line 6103 of file DASolver.C.
References DASolver::assignStateGradient2Vec(), DASolver::assignVec2AcousticGradient(), DASolver::daModelPtr_, DASolver::daResidualPtr_, DASolver::getAcousticDataInternal(), DASolver::getCouplingPatchList(), DASolver::getPatchInfo(), DASolver::normalizeGradientVec(), DASolver::registerAcousticOutput4AD(), DASolver::registerStateVariableInput4AD(), DASolver::updateOFField(), and DASolver::updateOFMesh().
void calcdFdACTAD | ( | const Vec | xvVec, |
const Vec | wVec, | ||
const word | objFuncName, | ||
const word | designVarName, | ||
Vec | dFdACT | ||
) |
compute dFdACT AD
Definition at line 5739 of file DASolver.C.
References DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, forAll(), fvSource, DASolver::meshPtr_, DAObjFunc::New(), source(), DASolver::updateOFField(), DASolver::updateOFMesh(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void calcdRdWOldTPsiAD | ( | const label | oldTimeLevel, |
const Vec | psi, | ||
Vec | dRdWOldTPsi | ||
) |
compute dRdWOld^T*Psi
Definition at line 6370 of file DASolver.C.
References DASolver::assignStateGradient2Vec(), DASolver::assignVec2ResidualGradient(), DASolver::daModelPtr_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, DASolver::normalizeGradientVec(), DASolver::registerResidualOutput4AD(), DASolver::registerStateVariableInput4AD(), DAUtility::writeVectorASCII(), and DAUtility::writeVectorBinary().
void getCouplingPatchList | ( | wordList & | patchList, |
word | groupName = "NONE" |
||
) |
return the coupling patch list if any scenario is active on couplingInfo dict otherwise return design surface
Definition at line 488 of file DASolver.C.
References DASolver::daOptionPtr_, and forAll().
Referenced by DASolver::calcCouplingFaceCoords(), DASolver::calcdAcousticsdWAD(), DASolver::calcdAcousticsdXvAD(), DASolver::calcdForcedWAD(), DASolver::calcdForcedXvAD(), DASolver::getAcousticData(), DASolver::getForces(), DASolver::getNCouplingFaces(), DASolver::getNCouplingPoints(), DASolver::getThermal(), and DASolver::setThermal().
|
static |
matrix free matrix-vector product function to compute vecY=dRdWT*vecX
Definition at line 4906 of file DASolver.C.
Referenced by DASolver::initializedRdWTMatrixFree().
void initializedRdWTMatrixFree | ( | const Vec | xvVec, |
const Vec | wVec | ||
) |
initialize matrix free dRdWT
Definition at line 4861 of file DASolver.C.
References DASolver::calcPrimalResidualStatistics(), DASolver::daIndexPtr_, DASolver::daOptionPtr_, DASolver::dRdWTMatVecMultFunction(), DASolver::dRdWTMF_, DASolver::updateOFField(), and DASolver::updateOFMesh().
void destroydRdWTMatrixFree | ( | ) |
destroy the matrix free dRdWT
Definition at line 4895 of file DASolver.C.
References DASolver::dRdWTMF_.
void registerStateVariableInput4AD | ( | const label | oldTimeLevel = 0 | ) |
register all state variables as the input for reverse-mode AD
Definition at line 6445 of file DASolver.C.
References forAll(), DASolver::meshPtr_, and DASolver::stateInfo_.
Referenced by DASolver::calcdAcousticsdWAD(), DASolver::calcdFdWAD(), DASolver::calcdForcedWAD(), DASolver::calcdRdWOldTPsiAD(), DASolver::calcdRdWTPsiAD(), and DASolver::initializeGlobalADTape4dRdWT().
void registerFieldVariableInput4AD | ( | const word | fieldName, |
const word | fieldType | ||
) |
register field variables as the input for reverse-mode AD
Definition at line 6602 of file DASolver.C.
References forAll(), and DASolver::meshPtr_.
Referenced by DASolver::calcdFdFieldAD(), and DASolver::calcdRdFieldTPsiAD().
void registerResidualOutput4AD | ( | ) |
register all residuals as the output for reverse-mode AD
Definition at line 6649 of file DASolver.C.
References forAll(), DASolver::meshPtr_, and DASolver::stateInfo_.
Referenced by DASolver::calcdRdActTPsiAD(), DASolver::calcdRdAOATPsiAD(), DASolver::calcdRdBCTPsiAD(), DASolver::calcdRdFieldTPsiAD(), DASolver::calcdRdThermalTPsiAD(), DASolver::calcdRdWOldTPsiAD(), DASolver::calcdRdWTPsiAD(), DASolver::calcdRdXvTPsiAD(), and DASolver::initializeGlobalADTape4dRdWT().
void registerForceOutput4AD | ( | List< scalar > & | fX, |
List< scalar > & | fY, | ||
List< scalar > & | fZ | ||
) |
register all force as the ouptut for referse-mod AD
Definition at line 6721 of file DASolver.C.
References forAll().
Referenced by DASolver::calcdForcedWAD(), and DASolver::calcdForcedXvAD().
void registerAcousticOutput4AD | ( | List< scalar > & | a | ) |
register acoustic as the ouptut for referse-mod AD
Definition at line 6748 of file DASolver.C.
References forAll().
Referenced by DASolver::calcdAcousticsdWAD(), and DASolver::calcdAcousticsdXvAD().
void assignVec2ResidualGradient | ( | Vec | vecX | ) |
assign the reverse-mode AD input seeds from vecX to the residuals in OpenFOAM
Definition at line 6960 of file DASolver.C.
References DASolver::daIndexPtr_, forAll(), DASolver::meshPtr_, and DASolver::stateInfo_.
Referenced by DASolver::calcdRdActTPsiAD(), DASolver::calcdRdAOATPsiAD(), DASolver::calcdRdBCTPsiAD(), DASolver::calcdRdFieldTPsiAD(), DASolver::calcdRdWOldTPsiAD(), DASolver::calcdRdWTPsiAD(), and DASolver::calcdRdXvTPsiAD().
void assignSeeds2ResidualGradient | ( | const double * | seeds | ) |
assign the reverse-mode AD input seeds from vecX to the residuals in OpenFOAM
Definition at line 6873 of file DASolver.C.
References DASolver::daIndexPtr_, forAll(), DASolver::meshPtr_, and DASolver::stateInfo_.
Referenced by DASolver::calcdRdThermalTPsiAD().
void assignVec2ForceGradient | ( | Vec | fBarVec, |
List< scalar > & | fX, | ||
List< scalar > & | fY, | ||
List< scalar > & | fZ | ||
) |
assign the reverse-mode AD input seeds from fBarVec to the force vectors in OpenFOAM
Definition at line 7051 of file DASolver.C.
References forAll().
Referenced by DASolver::calcdForcedWAD(), and DASolver::calcdForcedXvAD().
void assignVec2AcousticGradient | ( | Vec | fBarVec, |
List< scalar > & | a, | ||
label | offset, | ||
label | step | ||
) |
assign the reverse-mode AD input seeds from fBarVec to the acoustic vectors in OpenFOAM
Definition at line 7093 of file DASolver.C.
References forAll().
Referenced by DASolver::calcdAcousticsdWAD(), and DASolver::calcdAcousticsdXvAD().
void assignStateGradient2Vec | ( | Vec | vecY, |
const label | oldTimeLevel = 0 |
||
) |
set the reverse-mode AD derivatives from the state variables in OpenFOAM to vecY
Definition at line 7129 of file DASolver.C.
References DASolver::daIndexPtr_, forAll(), DASolver::meshPtr_, and DASolver::stateInfo_.
Referenced by DASolver::calcdAcousticsdWAD(), DASolver::calcdFdWAD(), DASolver::calcdForcedWAD(), DASolver::calcdRdWOldTPsiAD(), and DASolver::calcdRdWTPsiAD().
void assignFieldGradient2Vec | ( | const word | fieldName, |
const word | fieldType, | ||
Vec | vecY | ||
) |
set the reverse-mode AD derivatives from the field variables in OpenFOAM to vecY
Definition at line 7311 of file DASolver.C.
References forAll(), and DASolver::meshPtr_.
Referenced by DASolver::calcdFdFieldAD(), and DASolver::calcdRdFieldTPsiAD().
void normalizeGradientVec | ( | Vec | vecY | ) |
normalize the reverse-mode AD derivatives stored in vecY
Definition at line 6767 of file DASolver.C.
References DASolver::daIndexPtr_, DASolver::daOptionPtr_, forAll(), DASolver::meshPtr_, and DASolver::stateInfo_.
Referenced by DASolver::calcdAcousticsdWAD(), DASolver::calcdFdWAD(), DASolver::calcdForcedWAD(), DASolver::calcdRdWOldTPsiAD(), and DASolver::calcdRdWTPsiAD().
void initializeGlobalADTape4dRdWT | ( | ) |
initialize the CoDiPack reverse-mode AD global tape for computing dRdWT*psi
Definition at line 4947 of file DASolver.C.
References DASolver::daModelPtr_, DASolver::daResidualPtr_, DASolver::registerResidualOutput4AD(), and DASolver::registerStateVariableInput4AD().
label loop | ( | Time & | runTime | ) |
return whether to loop the primal solution, similar to runTime::loop() except we don't do file IO
Definition at line 112 of file DASolver.C.
References DASolver::prevPrimalSolTime_, DASolver::primalMinIters_, DASolver::primalMinRes_, DASolver::primalMinResTol_, DASolver::printAllObjFuncs(), and runTime.
Referenced by DAHeatTransferFoam::solvePrimal(), DALaplacianFoam::solvePrimal(), DAScalarTransportFoam::solvePrimal(), DATurboFoam::solvePrimal(), DARhoSimpleCFoam::solvePrimal(), DASolidDisplacementFoam::solvePrimal(), DAPisoFoam::solvePrimal(), DAPimpleFoam::solvePrimal(), DARhoSimpleFoam::solvePrimal(), DASimpleTFoam::solvePrimal(), and DASimpleFoam::solvePrimal().
|
inline |
basically, we call DAIndex::getGlobalXvIndex
Definition at line 588 of file DASolver.H.
References DASolver::daIndexPtr_.
|
inline |
set the state vector based on the latest fields in OpenFOAM
Definition at line 596 of file DASolver.H.
References DASolver::daFieldPtr_.
Referenced by DAHeatTransferFoam::solvePrimal(), DALaplacianFoam::solvePrimal(), DAScalarTransportFoam::solvePrimal(), DATurboFoam::solvePrimal(), DARhoSimpleCFoam::solvePrimal(), DASolidDisplacementFoam::solvePrimal(), DAPisoFoam::solvePrimal(), DAPimpleFoam::solvePrimal(), DARhoSimpleFoam::solvePrimal(), DASimpleTFoam::solvePrimal(), and DASimpleFoam::solvePrimal().
|
inline |
assign the fields in OpenFOAM based on the state vector
Definition at line 602 of file DASolver.H.
References DASolver::daFieldPtr_.
|
inline |
assign the points in fvMesh of OpenFOAM based on the point vector
Definition at line 608 of file DASolver.H.
References DASolver::daFieldPtr_.
Referenced by DAHeatTransferFoam::solvePrimal(), DALaplacianFoam::solvePrimal(), DAScalarTransportFoam::solvePrimal(), DATurboFoam::solvePrimal(), DARhoSimpleCFoam::solvePrimal(), DASolidDisplacementFoam::solvePrimal(), DAPisoFoam::solvePrimal(), DAPimpleFoam::solvePrimal(), DARhoSimpleFoam::solvePrimal(), DASimpleTFoam::solvePrimal(), and DASimpleFoam::solvePrimal().
|
inline |
assign the point vector based on the points in fvMesh of OpenFOAM
Definition at line 614 of file DASolver.H.
References DASolver::daFieldPtr_.
|
inline |
assign the OpenFOAM residual fields based on the resVec
Definition at line 620 of file DASolver.H.
References DASolver::daFieldPtr_.
|
inline |
assign the resVec based on OpenFOAM residual fields
Definition at line 626 of file DASolver.H.
References DASolver::daFieldPtr_.
|
inline |
write the matrix in binary format
Definition at line 632 of file DASolver.H.
References DAUtility::writeMatrixBinary().
|
inline |
write the matrix in ASCII format
Definition at line 640 of file DASolver.H.
References DAUtility::writeMatrixASCII().
|
inline |
read petsc matrix in binary format
Definition at line 648 of file DASolver.H.
References DAUtility::readMatrixBinary().
|
inline |
write petsc vector in ascii format
Definition at line 656 of file DASolver.H.
References DAUtility::writeVectorASCII().
|
inline |
read petsc vector in binary format
Definition at line 664 of file DASolver.H.
References DAUtility::readVectorBinary().
|
inline |
write petsc vector in binary format
Definition at line 672 of file DASolver.H.
References DAUtility::writeVectorBinary().
|
inline |
return the number of local adjoint states
Definition at line 680 of file DASolver.H.
References DASolver::daIndexPtr_.
|
inline |
return the number of local adjoint boundary states
Definition at line 686 of file DASolver.H.
References DASolver::daIndexPtr_.
|
inline |
return the number of local cells
Definition at line 692 of file DASolver.H.
References DASolver::meshPtr_.
|
inline |
return the number of local points
Definition at line 698 of file DASolver.H.
References DASolver::meshPtr_.
void setDAObjFuncList | ( | ) |
initialize DASolver::daObjFuncPtrList_ one needs to call this before calling printAllObjFuncs
Definition at line 235 of file DASolver.C.
References allOptions, DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daObjFuncPtrList_, DASolver::daOptionPtr_, DASolver::daResidualPtr_, forAll(), mesh, DASolver::meshPtr_, and DAObjFunc::New().
Referenced by DAHeatTransferFoam::initSolver(), DALaplacianFoam::initSolver(), DAScalarTransportFoam::initSolver(), DATurboFoam::initSolver(), DARhoSimpleCFoam::initSolver(), DASolidDisplacementFoam::initSolver(), DAPimpleFoam::initSolver(), DAPisoFoam::initSolver(), DARhoSimpleFoam::initSolver(), DASimpleTFoam::initSolver(), and DASimpleFoam::initSolver().
void printAllObjFuncs | ( | ) |
calculate the values of all objective functions and print them to screen
Definition at line 160 of file DASolver.C.
References DASolver::daObjFuncPtrList_, DASolver::daOptionPtr_, forAll(), DASolver::forwardADDerivVal_, DAObjFunc::getObjFuncName(), DAObjFunc::getObjFuncPart(), DAObjFunc::getObjFuncType(), and DAObjFunc::getObjFuncValue().
Referenced by DASolver::loop(), DAHeatTransferFoam::solvePrimal(), DALaplacianFoam::solvePrimal(), DAScalarTransportFoam::solvePrimal(), DATurboFoam::solvePrimal(), DARhoSimpleCFoam::solvePrimal(), DASolidDisplacementFoam::solvePrimal(), DAPisoFoam::solvePrimal(), DAPimpleFoam::solvePrimal(), DARhoSimpleFoam::solvePrimal(), DASimpleTFoam::solvePrimal(), and DASimpleFoam::solvePrimal().
|
inline |
check the mesh quality and return meshOK
Definition at line 710 of file DASolver.H.
References DASolver::daCheckMeshPtr_.
Referenced by DAHeatTransferFoam::solvePrimal(), DALaplacianFoam::solvePrimal(), DAScalarTransportFoam::solvePrimal(), DATurboFoam::solvePrimal(), DARhoSimpleCFoam::solvePrimal(), DASolidDisplacementFoam::solvePrimal(), DAPisoFoam::solvePrimal(), DAPimpleFoam::solvePrimal(), DARhoSimpleFoam::solvePrimal(), DASimpleTFoam::solvePrimal(), and DASimpleFoam::solvePrimal().
scalar getObjFuncValue | ( | const word | objFuncName | ) |
return the value of the objective function
Definition at line 200 of file DASolver.C.
References DASolver::daObjFuncPtrList_, forAll(), DAObjFunc::getObjFuncName(), and DAObjFunc::getObjFuncValue().
Referenced by DASolver::saveTimeInstanceFieldHybrid(), and DASolver::saveTimeInstanceFieldTimeAccurate().
void getForces | ( | Vec | fX, |
Vec | fY, | ||
Vec | fZ | ||
) |
return the forces of the desired fluid-structure-interaction patches
Definition at line 1042 of file DASolver.C.
References assignValueCheckAD, forAll(), DASolver::getCouplingPatchList(), DASolver::getForcesInternal(), and DASolver::getPatchInfo().
void getAcousticData | ( | Vec | x, |
Vec | y, | ||
Vec | z, | ||
Vec | nX, | ||
Vec | nY, | ||
Vec | nZ, | ||
Vec | a, | ||
Vec | fX, | ||
Vec | fY, | ||
Vec | fZ, | ||
word | groupName | ||
) |
return the positions, normals, areas, and forces of the desired acoustic patches
Definition at line 1114 of file DASolver.C.
References assignValueCheckAD, forAll(), DASolver::getAcousticDataInternal(), DASolver::getCouplingPatchList(), and DASolver::getPatchInfo().
void getPatchInfo | ( | label & | nPoints, |
label & | nFaces, | ||
List< word > & | patchList | ||
) |
return the number of points and faces for MDO patches
Definition at line 1251 of file DASolver.C.
References forAll(), and DASolver::meshPtr_.
Referenced by DASolver::calcCouplingFaceCoords(), DASolver::calcdAcousticsdWAD(), DASolver::calcdAcousticsdXvAD(), DASolver::calcdForcedWAD(), DASolver::calcdForcedXvAD(), DASolver::getAcousticData(), DASolver::getForces(), DASolver::getNCouplingFaces(), and DASolver::getNCouplingPoints().
void getForcesInternal | ( | List< scalar > & | fX, |
List< scalar > & | fY, | ||
List< scalar > & | fZ, | ||
List< word > & | patchList | ||
) |
compute the forces of the desired fluid-structure-interation patches
Definition at line 1292 of file DASolver.C.
References DASolver::daModelPtr_, DASolver::daOptionPtr_, DATurbulenceModel::devRhoReff(), forAll(), DASolver::meshPtr_, and p.
Referenced by DASolver::calcdForcedWAD(), DASolver::calcdForcedXvAD(), and DASolver::getForces().
label getNCouplingFaces | ( | ) |
Get the number of faces for the MDO coupling patches.
Definition at line 332 of file DASolver.C.
References DASolver::getCouplingPatchList(), and DASolver::getPatchInfo().
Referenced by DASolver::calcCouplingFaceCoordsAD(), DASolver::calcdRdThermalTPsiAD(), and DASolver::getThermalAD().
label getNCouplingPoints | ( | ) |
Get the number of points for the MDO coupling patches.
Definition at line 347 of file DASolver.C.
References DASolver::getCouplingPatchList(), and DASolver::getPatchInfo().
void calcCouplingFaceCoords | ( | const scalar * | volCoords, |
scalar * | surfCoords | ||
) |
return the face coordinates based on vol coords
Definition at line 362 of file DASolver.C.
References forAll(), DASolver::getCouplingPatchList(), DASolver::getPatchInfo(), DASolver::meshPtr_, and DASolver::updateOFMesh().
Referenced by DASolver::calcCouplingFaceCoordsAD().
void calcCouplingFaceCoordsAD | ( | const double * | volCoords, |
const double * | seeds, | ||
double * | product | ||
) |
calc matrix-vector products for calcCouplingFaceCoords
Definition at line 421 of file DASolver.C.
References DASolver::calcCouplingFaceCoords(), DASolver::daIndexPtr_, DASolver::getNCouplingFaces(), and DASolver::resetOFSeeds().
void getThermal | ( | const scalar * | volCoords, |
const scalar * | states, | ||
scalar * | thermal | ||
) |
compute the temperature on the conjugate heat transfer patches
Definition at line 731 of file DASolver.C.
References alphaEff(), DATurbulenceModel::alphaEff(), DASolver::daModelPtr_, forAll(), DASolver::getCouplingPatchList(), he, k, DASolver::meshPtr_, T, thermo, DASolver::updateOFField(), and DASolver::updateOFMesh().
Referenced by DASolver::getThermalAD().
void getThermalAD | ( | const word | inputName, |
const double * | volCoords, | ||
const double * | states, | ||
const double * | seeds, | ||
double * | product | ||
) |
compute the temperature on the conjugate heat transfer patches AD
Definition at line 896 of file DASolver.C.
References DASolver::daIndexPtr_, DASolver::getNCouplingFaces(), DASolver::getThermal(), and DASolver::resetOFSeeds().
void setThermal | ( | scalar * | thermal | ) |
assign temperature values to the conjugate heat transfer patches
Definition at line 550 of file DASolver.C.
References alphaEff(), DATurbulenceModel::alphaEff(), DASolver::daModelPtr_, forAll(), DASolver::getCouplingPatchList(), he, k, DASolver::meshPtr_, T, and thermo.
Referenced by DASolver::calcdRdThermalTPsiAD().
void getAcousticDataInternal | ( | List< scalar > & | x, |
List< scalar > & | y, | ||
List< scalar > & | z, | ||
List< scalar > & | nX, | ||
List< scalar > & | nY, | ||
List< scalar > & | nZ, | ||
List< scalar > & | a, | ||
List< scalar > & | fX, | ||
List< scalar > & | fY, | ||
List< scalar > & | fZ, | ||
List< word > & | patchList | ||
) |
compute the positions, normals, areas, and forces of the desired acoustic patches
Definition at line 1459 of file DASolver.C.
References DASolver::daModelPtr_, DASolver::daOptionPtr_, DATurbulenceModel::devRhoReff(), forAll(), DASolver::meshPtr_, and p.
Referenced by DASolver::calcdAcousticsdWAD(), DASolver::calcdAcousticsdXvAD(), and DASolver::getAcousticData().
void calcForceProfile | ( | Vec | center, |
Vec | aForceL, | ||
Vec | tForceL, | ||
Vec | rDistL | ||
) |
calculate the radial profile of the force on the propeller surface
Definition at line 1566 of file DASolver.C.
void calcForceProfileInternal | ( | fvMesh & | mesh, |
const vector & | center, | ||
scalarList & | aForceL, | ||
scalarList & | tForceL, | ||
scalarList & | rDistL | ||
) |
Definition at line 1649 of file DASolver.C.
void calcdForcedStateTPsiAD | ( | const word | mode, |
Vec | xvVec, | ||
Vec | stateVec, | ||
Vec | psiVec, | ||
Vec | prodVec | ||
) |
Definition at line 1760 of file DASolver.C.
void calcFvSourceInternal | ( | const word | propName, |
const scalarField & | aForce, | ||
const scalarField & | tForce, | ||
const scalarField & | rDistList, | ||
const scalarList & | targetForce, | ||
const vector & | center, | ||
volVectorField & | fvSource | ||
) |
calculate the fvSource based on the radial force profile
Definition at line 1769 of file DASolver.C.
References dafoam_plot3dtransform::axis, DASolver::daOptionPtr_, forAll(), fvSource, mesh, DASolver::meshPtr_, and mu.
Referenced by DASolver::calcdFvSourcedInputsTPsiAD(), and DASolver::calcFvSource().
void calcFvSource | ( | const word | propName, |
Vec | aForce, | ||
Vec | tForce, | ||
Vec | rDist, | ||
Vec | targetForce, | ||
Vec | center, | ||
Vec | fvSource | ||
) |
Definition at line 2129 of file DASolver.C.
References assignValueCheckAD, DASolver::calcFvSourceInternal(), DASolver::daOptionPtr_, forAll(), fvSource, and DASolver::meshPtr_.
void calcdFvSourcedInputsTPsiAD | ( | const word | propName, |
const word | mode, | ||
Vec | aForce, | ||
Vec | tForce, | ||
Vec | rDist, | ||
Vec | targetForce, | ||
Vec | center, | ||
Vec | psi, | ||
Vec | dFvSource | ||
) |
Definition at line 2231 of file DASolver.C.
References DASolver::calcFvSourceInternal(), DASolver::daOptionPtr_, forAll(), DASolver::meshPtr_, dafoam_plot3dtransform::mode, and psi.
|
inline |
void calcPrimalResidualStatistics | ( | const word | mode, |
const label | writeRes = 0 |
||
) |
calculate the norms of all residuals and print to screen
Definition at line 2559 of file DASolver.C.
References DASolver::daModelPtr_, DASolver::daResidualPtr_, forAll(), DASolver::meshPtr_, dafoam_plot3dtransform::mode, and DASolver::stateInfo_.
Referenced by DASolver::calcdFdACT(), DASolver::calcdFdACTAD(), DASolver::calcdFdAOA(), DASolver::calcdFdBC(), DASolver::calcdFdBCAD(), DASolver::calcdFdFFD(), DASolver::calcdFdFieldAD(), DASolver::calcdFdW(), DASolver::calcdFdWAD(), DASolver::calcdFdXvAD(), DASolver::calcdRdACT(), DASolver::calcdRdAOA(), DASolver::calcdRdBC(), DASolver::calcdRdFFD(), DASolver::calcdRdWT(), DASolver::initializedRdWTMatrixFree(), DASolver::saveTimeInstanceFieldHybrid(), DAHeatTransferFoam::solvePrimal(), DALaplacianFoam::solvePrimal(), DAScalarTransportFoam::solvePrimal(), DATurboFoam::solvePrimal(), DARhoSimpleCFoam::solvePrimal(), DASolidDisplacementFoam::solvePrimal(), DAPimpleFoam::solvePrimal(), DAPisoFoam::solvePrimal(), DARhoSimpleFoam::solvePrimal(), DASimpleTFoam::solvePrimal(), and DASimpleFoam::solvePrimal().
void setdXvdFFDMat | ( | const Mat | dXvdFFDMat | ) |
set the value for DASolver::dXvdFFDMat_
Definition at line 7407 of file DASolver.C.
References DASolver::dXvdFFDMat_.
Referenced by PYDAFOAM::solveAdjoint().
void setFFD2XvSeedVec | ( | Vec | vecIn | ) |
set the value for DASolver::FFD2XvSeedVec_
Definition at line 7419 of file DASolver.C.
References DASolver::FFD2XvSeedVec_.
|
inline |
update the allOptions_ dict in DAOption based on the pyOptions from pyDAFoam
Definition at line 869 of file DASolver.H.
References DASolver::daOptionPtr_.
Referenced by PYDAFOAM::solveAdjoint().
|
inline |
get the solution time folder for previous primal solution
Definition at line 875 of file DASolver.H.
References DASolver::prevPrimalSolTime_.
void setFieldValue4GlobalCellI | ( | const word | fieldName, |
const scalar | val, | ||
const label | globalCellI, | ||
const label | compI = 0 |
||
) |
set the field value
Definition at line 7550 of file DASolver.C.
References DASolver::daIndexPtr_, and DASolver::meshPtr_.
void setFieldValue4LocalCellI | ( | const word | fieldName, |
const scalar | val, | ||
const label | localCellI, | ||
const label | compI = 0 |
||
) |
Definition at line 7511 of file DASolver.C.
References DASolver::meshPtr_.
void updateBoundaryConditions | ( | const word | fieldName, |
const word | fieldType | ||
) |
update the boundary condition for a field
Definition at line 7694 of file DASolver.C.
References DASolver::meshPtr_.
Referenced by DASolver::calcdFdFieldAD(), and DASolver::calcdRdFieldTPsiAD().
|
inline |
synchronize the values in DAOption and actuatorDiskDVs_
Definition at line 899 of file DASolver.H.
References fvSource, and DASolver::meshPtr_.
Referenced by PYDAFOAM::updateDAOption().
|
inline |
Accessing members return the mesh object
Definition at line 908 of file DASolver.H.
References DASolver::meshPtr_.
|
inline |
return the runTime object
Definition at line 914 of file DASolver.H.
References DASolver::runTimePtr_.
|
inline |
|
inline |
get DAStateInfo object
Definition at line 926 of file DASolver.H.
References DASolver::daStateInfoPtr_.
|
inline |
|
inline |
|
inline |
get DAResidual object
Definition at line 944 of file DASolver.H.
References DASolver::daResidualPtr_.
|
inline |
|
inline |
get DALinearEqn object
Definition at line 956 of file DASolver.H.
References DASolver::daLinearEqnPtr_.
|
inline |
get DACheckMesh object
Definition at line 962 of file DASolver.H.
References DASolver::daCheckMeshPtr_.
|
inline |
get forwardADDerivVal_
Definition at line 968 of file DASolver.H.
References DASolver::forwardADDerivVal_.
void setPrimalBoundaryConditions | ( | const label | printInfo = 1 | ) |
update the primal state boundary condition based on the primalBC dict
Definition at line 7982 of file DASolver.C.
References DASolver::daFieldPtr_, and DASolver::daOptionPtr_.
Referenced by DASolver::resetOFSeeds(), and DASolver::updateOFField().
void calcResidualVec | ( | Vec | resVec | ) |
calculate the residual and assign it to the resVec vector
Definition at line 7601 of file DASolver.C.
References assignValueCheckAD, DASolver::daIndexPtr_, DASolver::daModelPtr_, DASolver::daResidualPtr_, forAll(), DASolver::meshPtr_, and DASolver::stateInfo_.
void writeFailedMesh | ( | ) |
write the failed mesh to disk
Definition at line 7955 of file DASolver.C.
References DASolver::daOptionPtr_, and DASolver::runTimePtr_.
Referenced by DAHeatTransferFoam::solvePrimal(), DALaplacianFoam::solvePrimal(), DAScalarTransportFoam::solvePrimal(), DATurboFoam::solvePrimal(), DARhoSimpleCFoam::solvePrimal(), DASolidDisplacementFoam::solvePrimal(), DAPisoFoam::solvePrimal(), DAPimpleFoam::solvePrimal(), DARhoSimpleFoam::solvePrimal(), DASimpleTFoam::solvePrimal(), and DASimpleFoam::solvePrimal().
|
inline |
initialize tensorflow functions and interfaces for callback
Definition at line 983 of file DASolver.H.
References DAUtility::pyCalcBeta, DAUtility::pyCalcBetaInterface, DAUtility::pyCalcBetaJacVecProd, and DAUtility::pyCalcBetaJacVecProdInterface.
|
protected |
all the arguments
Definition at line 61 of file DASolver.H.
|
protected |
all options in DAFoam
Definition at line 64 of file DASolver.H.
Referenced by DASolver::DASolver(), and DAPimpleDyMFoam::initSolver().
|
protected |
args pointer
Definition at line 67 of file DASolver.H.
Referenced by DATurboFoam::initSolver(), DARhoSimpleCFoam::initSolver(), DARhoSimpleFoam::initSolver(), and DAPimpleDyMFoam::solvePrimal().
|
protected |
runTime pointer
Definition at line 70 of file DASolver.H.
Referenced by DASolver::calcdRdWT(), DASolver::getRunTime(), DAHeatTransferFoam::initSolver(), DALaplacianFoam::initSolver(), DAScalarTransportFoam::initSolver(), DATurboFoam::initSolver(), DARhoSimpleCFoam::initSolver(), DASolidDisplacementFoam::initSolver(), DAPisoFoam::initSolver(), DAPimpleFoam::initSolver(), DARhoSimpleFoam::initSolver(), DASimpleTFoam::initSolver(), DASimpleFoam::initSolver(), DASolver::saveTimeInstanceFieldHybrid(), DASolver::saveTimeInstanceFieldTimeAccurate(), DASolver::setTimeInstanceField(), DASolver::writeAssociatedFields(), and DASolver::writeFailedMesh().
|
protected |
fvMesh pointer
Definition at line 73 of file DASolver.H.
Referenced by DASolver::assignFieldGradient2Vec(), DASolver::assignSeeds2ResidualGradient(), DASolver::assignStateGradient2Vec(), DASolver::assignVec2ResidualGradient(), DASimpleFoam::calcAdjointResidual(), DASolver::calcCouplingFaceCoords(), DASolver::calcdAcousticsdXvAD(), DASolver::calcdFdACT(), DASolver::calcdFdACTAD(), DASolver::calcdFdAOA(), DASolver::calcdFdBC(), DASolver::calcdFdBCAD(), DASolver::calcdFdFFD(), DASolver::calcdFdFieldAD(), DASolver::calcdFdW(), DASolver::calcdFdWAD(), DASolver::calcdFdXvAD(), DASolver::calcdForcedXvAD(), DASolver::calcdFvSourcedInputsTPsiAD(), DASolver::calcdRdACT(), DASolver::calcdRdActTPsiAD(), DASolver::calcdRdAOA(), DASolver::calcdRdAOATPsiAD(), DASolver::calcdRdBC(), DASolver::calcdRdBCTPsiAD(), DASolver::calcdRdFFD(), DASolver::calcdRdWT(), DASolver::calcdRdXvTPsiAD(), DASolver::calcFvSource(), DASolver::calcFvSourceInternal(), DASimpleFoam::calcLduResiduals(), DASolver::calcPrimalResidualStatistics(), DASolver::calcResidualVec(), DASimpleFoam::DASimpleFoam(), DASolver::DASolver(), DASolver::getAcousticDataInternal(), DASolver::getForcesInternal(), DASolver::getMesh(), DASolver::getNLocalCells(), DASolver::getNLocalPoints(), DASolver::getPatchInfo(), DASolver::getThermal(), DAHeatTransferFoam::initSolver(), DALaplacianFoam::initSolver(), DAPimpleDyMFoam::initSolver(), DAScalarTransportFoam::initSolver(), DATurboFoam::initSolver(), DARhoSimpleCFoam::initSolver(), DASolidDisplacementFoam::initSolver(), DAPisoFoam::initSolver(), DAPimpleFoam::initSolver(), DARhoSimpleFoam::initSolver(), DASimpleTFoam::initSolver(), DASimpleFoam::initSolver(), DASimpleFoam::L2norm(), DASolver::normalizeGradientVec(), DASolver::registerFieldVariableInput4AD(), DASolver::registerResidualOutput4AD(), DASolver::registerStateVariableInput4AD(), DASimpleFoam::runFPAdj(), DASolver::setDAObjFuncList(), DASolver::setFieldValue4GlobalCellI(), DASolver::setFieldValue4LocalCellI(), DASolver::setThermal(), DASolver::syncDAOptionToActuatorDVs(), DASolver::updateBoundaryConditions(), DASimpleFoam::vec2Fields(), and DASolver::writeAssociatedFields().
|
protected |
DAOption pointer.
Definition at line 76 of file DASolver.H.
Referenced by DASolver::calcdFdACT(), DASolver::calcdFdACTAD(), DASolver::calcdFdAOA(), DASolver::calcdFdBC(), DASolver::calcdFdBCAD(), DASolver::calcdFdFFD(), DASolver::calcdFdFieldAD(), DASolver::calcdFdW(), DASolver::calcdFdWAD(), DASolver::calcdFdXvAD(), DASolver::calcdFvSourcedInputsTPsiAD(), DASolver::calcdRdACT(), DASolver::calcdRdActTPsiAD(), DASolver::calcdRdAOA(), DASolver::calcdRdAOATPsiAD(), DASolver::calcdRdBC(), DASolver::calcdRdBCTPsiAD(), DASolver::calcdRdFFD(), DASolver::calcdRdFieldTPsiAD(), DASolver::calcdRdWOldTPsiAD(), DASolver::calcdRdWT(), DASolver::calcdRdWTPsiAD(), DASolver::calcFvSource(), DASolver::calcFvSourceInternal(), DASolver::checkResidualTol(), DASolver::DASolver(), DASolver::getAcousticDataInternal(), DASolver::getCouplingPatchList(), DASolver::getDAOption(), DASolver::getForcesInternal(), DASolver::initializedRdWTMatrixFree(), DAHeatTransferFoam::initSolver(), DALaplacianFoam::initSolver(), DAPimpleDyMFoam::initSolver(), DAScalarTransportFoam::initSolver(), DATurboFoam::initSolver(), DARhoSimpleCFoam::initSolver(), DASolidDisplacementFoam::initSolver(), DAPisoFoam::initSolver(), DAPimpleFoam::initSolver(), DARhoSimpleFoam::initSolver(), DASimpleTFoam::initSolver(), DASimpleFoam::initSolver(), DASolver::normalizeGradientVec(), DASolver::printAllObjFuncs(), DASolver::printAllOptions(), DASolver::reduceStateResConLevel(), DASimpleFoam::runFPAdj(), DASolver::saveTimeInstanceFieldHybrid(), DASolver::saveTimeInstanceFieldTimeAccurate(), DASolver::setDAObjFuncList(), DASolver::setPrimalBoundaryConditions(), DASolver::setTimeInstanceField(), DAHeatTransferFoam::solvePrimal(), DALaplacianFoam::solvePrimal(), DAPimpleDyMFoam::solvePrimal(), DAScalarTransportFoam::solvePrimal(), DATurboFoam::solvePrimal(), DARhoSimpleCFoam::solvePrimal(), DASolidDisplacementFoam::solvePrimal(), DAPimpleFoam::solvePrimal(), DAPisoFoam::solvePrimal(), DARhoSimpleFoam::solvePrimal(), DASimpleTFoam::solvePrimal(), DASimpleFoam::solvePrimal(), DASolver::updateDAOption(), DASolver::updateOFField(), DASolver::updateOFMesh(), and DASolver::writeFailedMesh().
|
protected |
DAModel pointer.
Definition at line 79 of file DASolver.H.
Referenced by DASolver::calcdAcousticsdWAD(), DASolver::calcdAcousticsdXvAD(), DASolver::calcdFdACT(), DASolver::calcdFdACTAD(), DASolver::calcdFdAOA(), DASolver::calcdFdBC(), DASolver::calcdFdBCAD(), DASolver::calcdFdFFD(), DASolver::calcdFdFieldAD(), DASolver::calcdFdW(), DASolver::calcdFdWAD(), DASolver::calcdFdXvAD(), DASolver::calcdForcedWAD(), DASolver::calcdForcedXvAD(), DASolver::calcdRdACT(), DASolver::calcdRdActTPsiAD(), DASolver::calcdRdAOA(), DASolver::calcdRdAOATPsiAD(), DASolver::calcdRdBC(), DASolver::calcdRdBCTPsiAD(), DASolver::calcdRdFFD(), DASolver::calcdRdFieldTPsiAD(), DASolver::calcdRdThermalTPsiAD(), DASolver::calcdRdWOldTPsiAD(), DASolver::calcdRdWT(), DASolver::calcdRdWTPsiAD(), DASolver::calcdRdXvTPsiAD(), DASolver::calcPrimalResidualStatistics(), DASolver::calcResidualVec(), DASolver::getAcousticDataInternal(), DASolver::getDAModel(), DASolver::getForcesInternal(), DASolver::getThermal(), DASolver::initializeGlobalADTape4dRdWT(), DAPimpleFoam::initSolver(), DAPisoFoam::initSolver(), DARhoSimpleFoam::initSolver(), DASimpleTFoam::initSolver(), DASimpleFoam::initSolver(), DASolver::resetOFSeeds(), DASolver::setDAObjFuncList(), DASolver::setThermal(), DASolver::setTimeInstanceField(), and DASolver::updateOFField().
|
protected |
DAIndex pointer.
Definition at line 82 of file DASolver.H.
Referenced by DASolver::assignSeeds2ResidualGradient(), DASolver::assignStateGradient2Vec(), DASolver::assignVec2ResidualGradient(), DASolver::calcCouplingFaceCoordsAD(), DASolver::calcdAcousticsdXvAD(), DASolver::calcdFdACT(), DASolver::calcdFdACTAD(), DASolver::calcdFdAOA(), DASolver::calcdFdBC(), DASolver::calcdFdBCAD(), DASolver::calcdFdFFD(), DASolver::calcdFdFieldAD(), DASolver::calcdFdW(), DASolver::calcdFdWAD(), DASolver::calcdFdXvAD(), DASolver::calcdForcedXvAD(), DASolver::calcdRdACT(), DASolver::calcdRdAOA(), DASolver::calcdRdBC(), DASolver::calcdRdFFD(), DASolver::calcdRdThermalTPsiAD(), DASolver::calcdRdWT(), DASolver::calcdRdXvTPsiAD(), DASolver::calcResidualVec(), DASolver::getDAIndex(), DASolver::getGlobalXvIndex(), DASolver::getNLocalAdjointBoundaryStates(), DASolver::getNLocalAdjointStates(), DASolver::getThermalAD(), DASolver::initializedRdWTMatrixFree(), DALaplacianFoam::initSolver(), DAScalarTransportFoam::initSolver(), DAPimpleFoam::initSolver(), DAPisoFoam::initSolver(), DARhoSimpleFoam::initSolver(), DASimpleTFoam::initSolver(), DASimpleFoam::initSolver(), DASolver::normalizeGradientVec(), DASolver::setDAObjFuncList(), DASolver::setFieldValue4GlobalCellI(), and DASimpleFoam::vec2Fields().
|
protected |
DAField pointer.
Definition at line 85 of file DASolver.H.
Referenced by DASolver::getDAField(), DASolver::ofField2StateVec(), DASolver::ofMesh2PointVec(), DASolver::ofResField2ResVec(), DASolver::pointVec2OFMesh(), DASolver::resetOFSeeds(), DASolver::resVec2OFResField(), DASolver::saveTimeInstanceFieldHybrid(), DASolver::saveTimeInstanceFieldTimeAccurate(), DASolver::setPrimalBoundaryConditions(), DASolver::setTimeInstanceField(), DASolver::stateVec2OFField(), DASolver::updateOFField(), and DASolver::updateOFMesh().
|
protected |
a list of DAObjFunc pointers
Definition at line 88 of file DASolver.H.
Referenced by DASolver::getObjFuncValue(), DASolver::printAllObjFuncs(), and DASolver::setDAObjFuncList().
|
protected |
DACheckMesh object pointer.
Definition at line 91 of file DASolver.H.
Referenced by DASolver::checkMesh(), DASolver::getDACheckMesh(), DAHeatTransferFoam::initSolver(), DALaplacianFoam::initSolver(), DAScalarTransportFoam::initSolver(), DATurboFoam::initSolver(), DARhoSimpleCFoam::initSolver(), DASolidDisplacementFoam::initSolver(), DAPisoFoam::initSolver(), DAPimpleFoam::initSolver(), DARhoSimpleFoam::initSolver(), DASimpleTFoam::initSolver(), and DASimpleFoam::initSolver().
|
protected |
DALinearEqn pointer.
Definition at line 94 of file DASolver.H.
Referenced by DASolver::createMLRKSP(), DASolver::createMLRKSPMatrixFree(), DASolver::getDALinearEqn(), DAHeatTransferFoam::initSolver(), DALaplacianFoam::initSolver(), DAScalarTransportFoam::initSolver(), DATurboFoam::initSolver(), DARhoSimpleCFoam::initSolver(), DASolidDisplacementFoam::initSolver(), DAPisoFoam::initSolver(), DAPimpleFoam::initSolver(), DARhoSimpleFoam::initSolver(), DASimpleTFoam::initSolver(), DASimpleFoam::initSolver(), and DASolver::solveLinearEqn().
|
protected |
DAResidual pointer.
Definition at line 97 of file DASolver.H.
Referenced by DASolver::calcdAcousticsdWAD(), DASolver::calcdAcousticsdXvAD(), DASolver::calcdFdACT(), DASolver::calcdFdACTAD(), DASolver::calcdFdAOA(), DASolver::calcdFdBC(), DASolver::calcdFdBCAD(), DASolver::calcdFdFFD(), DASolver::calcdFdFieldAD(), DASolver::calcdFdW(), DASolver::calcdFdWAD(), DASolver::calcdFdXvAD(), DASolver::calcdForcedWAD(), DASolver::calcdForcedXvAD(), DASolver::calcdRdACT(), DASolver::calcdRdActTPsiAD(), DASolver::calcdRdAOA(), DASolver::calcdRdAOATPsiAD(), DASolver::calcdRdBC(), DASolver::calcdRdBCTPsiAD(), DASolver::calcdRdFFD(), DASolver::calcdRdFieldTPsiAD(), DASolver::calcdRdThermalTPsiAD(), DASolver::calcdRdWOldTPsiAD(), DASolver::calcdRdWT(), DASolver::calcdRdWTPsiAD(), DASolver::calcdRdXvTPsiAD(), DASolver::calcPrimalResidualStatistics(), DASolver::calcResidualVec(), DASolver::getDAResidual(), DASolver::initializeGlobalADTape4dRdWT(), DASolver::resetOFSeeds(), DASolver::setDAObjFuncList(), DASolver::setTimeInstanceField(), and DASolver::updateOFField().
|
protected |
DAStateInfo pointer.
Definition at line 100 of file DASolver.H.
Referenced by DASolver::calcdRdWT(), and DASolver::getDAStateInfo().
|
protected |
the stateInfo_ list from DAStateInfo object
Definition at line 103 of file DASolver.H.
Referenced by DASolver::assignSeeds2ResidualGradient(), DASolver::assignStateGradient2Vec(), DASolver::assignVec2ResidualGradient(), DASolver::calcPrimalResidualStatistics(), DASolver::calcResidualVec(), DASolver::normalizeGradientVec(), DASolver::registerResidualOutput4AD(), and DASolver::registerStateVariableInput4AD().
|
protected |
the list of objective function names that requires adjoint solution
Definition at line 106 of file DASolver.H.
|
protected |
the dictionary of adjoint vector (psi) values for all objectives
Definition at line 109 of file DASolver.H.
|
protected |
the dictionary that stores the total derivatives reduced from processors
Definition at line 112 of file DASolver.H.
|
protected |
pointer to the objective function file used in unsteady primal solvers
Definition at line 115 of file DASolver.H.
|
protected |
number of iterations since the start of objFunc averaging
Definition at line 118 of file DASolver.H.
|
protected |
the averaged objective function values used in unsteady flow
Definition at line 121 of file DASolver.H.
|
protected |
the preconditioner matrix for the adjoint linear equation solution
Definition at line 124 of file DASolver.H.
|
protected |
how many times the DASolver::solveAdjoint function is called
Definition at line 127 of file DASolver.H.
|
protected |
the matrix that stores the partials dXv/dFFD computed from the idwarp and pygeo in the pyDAFoam.py
Definition at line 130 of file DASolver.H.
Referenced by DASolver::calcdFdFFD(), DASolver::calcdRdFFD(), and DASolver::setdXvdFFDMat().
|
protected |
the vector that stores the AD seeds that propagate from FFD to Xv and will be used in forward mode AD
Definition at line 133 of file DASolver.H.
Referenced by DASolver::setFFD2XvSeedVec().
|
protected |
the derivative value computed by the forward mode primal solution.
Definition at line 136 of file DASolver.H.
Referenced by DASolver::getForwardADDerivVal(), and DASolver::printAllObjFuncs().
|
protected |
the maximal residual for primal solution
Definition at line 139 of file DASolver.H.
Referenced by DASolver::checkResidualTol(), DASolver::loop(), DASolver::primalResidualControl(), DAHeatTransferFoam::solvePrimal(), DALaplacianFoam::solvePrimal(), DAScalarTransportFoam::solvePrimal(), DATurboFoam::solvePrimal(), DARhoSimpleCFoam::solvePrimal(), DASolidDisplacementFoam::solvePrimal(), DAPisoFoam::solvePrimal(), DAPimpleFoam::solvePrimal(), DARhoSimpleFoam::solvePrimal(), DASimpleTFoam::solvePrimal(), and DASimpleFoam::solvePrimal().
|
protected |
the solution time for the previous primal solution
Definition at line 142 of file DASolver.H.
Referenced by DASolver::getPrevPrimalSolTime(), and DASolver::loop().
|
protected |
matrix-free dRdWT matrix used in GMRES solution
Definition at line 168 of file DASolver.H.
Referenced by DASolver::createMLRKSPMatrixFree(), DASolver::destroydRdWTMatrixFree(), and DASolver::initializedRdWTMatrixFree().
|
protected |
a flag in dRdWTMatVecMultFunction to determine if the global tap is initialized
Definition at line 171 of file DASolver.H.
Referenced by DASolver::solveLinearEqn().
|
protected |
state variable list for all instances (unsteady)
Definition at line 174 of file DASolver.H.
Referenced by DALaplacianFoam::initSolver(), DAScalarTransportFoam::initSolver(), DAPimpleFoam::initSolver(), DAPisoFoam::initSolver(), DASolver::saveTimeInstanceFieldHybrid(), DASolver::saveTimeInstanceFieldTimeAccurate(), DASolver::setTimeInstanceField(), and DASolver::setTimeInstanceVar().
|
protected |
state boundary variable list for all instances (unsteady)
Definition at line 177 of file DASolver.H.
Referenced by DALaplacianFoam::initSolver(), DAScalarTransportFoam::initSolver(), DAPimpleFoam::initSolver(), DAPisoFoam::initSolver(), DASolver::saveTimeInstanceFieldHybrid(), DASolver::saveTimeInstanceFieldTimeAccurate(), DASolver::setTimeInstanceField(), and DASolver::setTimeInstanceVar().
|
protected |
objective function for all instances (unsteady)
Definition at line 180 of file DASolver.H.
Referenced by DASolver::getTimeInstanceObjFunc(), DALaplacianFoam::initSolver(), DAScalarTransportFoam::initSolver(), DAPimpleFoam::initSolver(), DAPisoFoam::initSolver(), DASolver::saveTimeInstanceFieldHybrid(), and DASolver::saveTimeInstanceFieldTimeAccurate().
|
protected |
the runtime value for all instances (unsteady)
Definition at line 183 of file DASolver.H.
Referenced by DALaplacianFoam::initSolver(), DAScalarTransportFoam::initSolver(), DAPimpleFoam::initSolver(), DAPisoFoam::initSolver(), DASolver::saveTimeInstanceFieldHybrid(), DASolver::saveTimeInstanceFieldTimeAccurate(), DASolver::setTimeInstanceField(), and DASolver::setTimeInstanceVar().
|
protected |
the runtime index for all instances (unsteady)
Definition at line 186 of file DASolver.H.
Referenced by DALaplacianFoam::initSolver(), DAScalarTransportFoam::initSolver(), DAPimpleFoam::initSolver(), DAPisoFoam::initSolver(), DASolver::saveTimeInstanceFieldHybrid(), DASolver::saveTimeInstanceFieldTimeAccurate(), DASolver::setTimeInstanceField(), and DASolver::setTimeInstanceVar().
|
protected |
number of time instances for hybird adjoint (unsteady)
Definition at line 189 of file DASolver.H.
Referenced by DALaplacianFoam::initSolver(), DAScalarTransportFoam::initSolver(), DAPimpleFoam::initSolver(), DAPisoFoam::initSolver(), DASolver::saveTimeInstanceFieldHybrid(), and DASolver::setTimeInstanceVar().
|
protected |
periodicity of oscillating flow variables (unsteady)
Definition at line 192 of file DASolver.H.
Referenced by DALaplacianFoam::initSolver(), DAScalarTransportFoam::initSolver(), DAPimpleFoam::initSolver(), DAPisoFoam::initSolver(), and DASolver::saveTimeInstanceFieldHybrid().
|
protected |
primal residual tolerance
Definition at line 195 of file DASolver.H.
Referenced by DASolver::DASolver(), and DASolver::loop().
|
protected |
primal min number of iterations
Definition at line 198 of file DASolver.H.
Referenced by DASolver::DASolver(), and DASolver::loop().