From 90afa6ddb5d397b6863fb2ffdbbde94e62325da4 Mon Sep 17 00:00:00 2001 From: Henry Weller <http://cfd.direct> Date: Tue, 1 Dec 2015 10:05:44 +0000 Subject: [PATCH] adjointShapeOptimizationFoam: Added support for fvOptions --- .../adjointShapeOptimizationFoam/Make/options | 6 ++++-- .../adjointShapeOptimizationFoam.C | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options b/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options index d33d199f06e..690caa73743 100644 --- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options +++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options @@ -5,11 +5,13 @@ EXE_INC = \ -I$(LIB_SRC)/transportModels \ -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/fvOptions/lnInclude EXE_LIBS = \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ -lincompressibleTransportModels \ -lfiniteVolume \ - -lmeshTools + -lmeshTools \ + -lfvOptions diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C index f57f444121b..75c706137d6 100644 --- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C +++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C @@ -49,6 +49,7 @@ Description #include "singlePhaseTransportModel.H" #include "turbulentTransportModel.H" #include "simpleControl.H" +#include "fvIOoptionList.H" template<class Type> void zeroCells @@ -76,9 +77,12 @@ int main(int argc, char *argv[]) simpleControl simple(mesh); #include "createFields.H" + #include "createFvOptions.H" #include "initContinuityErrs.H" #include "initAdjointContinuityErrs.H" + turbulence->validate(); + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Info<< "\nStarting time loop\n" << endl; @@ -108,12 +112,18 @@ int main(int argc, char *argv[]) fvm::div(phi, U) + turbulence->divDevReff(U) + fvm::Sp(alpha, U) + == + fvOptions(U) ); UEqn().relax(); + fvOptions.constrain(UEqn()); + solve(UEqn() == -fvc::grad(p)); + fvOptions.correct(U); + volScalarField rAU(1.0/UEqn().A()); volVectorField HbyA("HbyA", U); HbyA = rAU*UEqn().H(); @@ -150,6 +160,7 @@ int main(int argc, char *argv[]) // Momentum corrector U = HbyA - rAU*fvc::grad(p); U.correctBoundaryConditions(); + fvOptions.correct(U); } // Adjoint Pressure-velocity SIMPLE corrector @@ -173,12 +184,18 @@ int main(int argc, char *argv[]) - adjointTransposeConvection + turbulence->divDevReff(Ua) + fvm::Sp(alpha, Ua) + == + fvOptions(Ua) ); UaEqn().relax(); + fvOptions.constrain(UaEqn()); + solve(UaEqn() == -fvc::grad(pa)); + fvOptions.correct(Ua); + volScalarField rAUa(1.0/UaEqn().A()); volVectorField HbyAa("HbyAa", Ua); HbyAa = rAUa*UaEqn().H(); @@ -215,6 +232,7 @@ int main(int argc, char *argv[]) // Adjoint momentum corrector Ua = HbyAa - rAUa*fvc::grad(pa); Ua.correctBoundaryConditions(); + fvOptions.correct(Ua); } laminarTransport.correct(); -- GitLab