From acb435eaba468488f468ae8346e9ed368d462276 Mon Sep 17 00:00:00 2001 From: Ping He Date: Sat, 9 Dec 2023 20:02:06 -0600 Subject: [PATCH] More varyingVelocity BCs (#538) * Enabled UMag to change during varyingVelocity. * Aded varyingVelocityInletOutlet BC. --- dafoam/pyDAFoam.py | 5 +- src/adjoint/Make/files_Compressible | 3 +- src/adjoint/Make/files_Incompressible | 3 +- .../varyingVelocityFvPatchVectorField.C} | 94 ++++----- .../varyingVelocityFvPatchVectorField.H} | 74 +++---- ...ingVelocityInletOutletFvPatchVectorField.C | 197 ++++++++++++++++++ ...ingVelocityInletOutletFvPatchVectorField.H | 175 ++++++++++++++++ 7 files changed, 465 insertions(+), 86 deletions(-) rename src/adjoint/boundaryConditions/{varyingFlowDirection/varyingFlowDirectionFvPatchVectorField.C => varyingVelocity/varyingVelocityFvPatchVectorField.C} (58%) rename src/adjoint/boundaryConditions/{varyingFlowDirection/varyingFlowDirectionFvPatchVectorField.H => varyingVelocity/varyingVelocityFvPatchVectorField.H} (64%) create mode 100755 src/adjoint/boundaryConditions/varyingVelocityInletOutlet/varyingVelocityInletOutletFvPatchVectorField.C create mode 100755 src/adjoint/boundaryConditions/varyingVelocityInletOutlet/varyingVelocityInletOutletFvPatchVectorField.H diff --git a/dafoam/pyDAFoam.py b/dafoam/pyDAFoam.py index fd977cdf..0f1c2873 100755 --- a/dafoam/pyDAFoam.py +++ b/dafoam/pyDAFoam.py @@ -2464,8 +2464,6 @@ def solveAdjointUnsteady(self): self.calcTotalDerivsField(objFuncName, designVarName, fieldType, dFScaling, True) else: raise Error("designVarType not valid!") - - Info("Computing partials for old times %f s" % self.solver.getElapsedClockTime()) # we need to calculate dRdW0TPsi for the previous time step if ddtSchemeOrder == 1: @@ -3153,6 +3151,9 @@ def _initSolver(self): adjMode = self.getOption("unsteadyAdjoint")["mode"] if adjMode == "hybrid": self.initTimeInstanceMats() + + Info("Init solver done! ElapsedClockTime %f s" % self.solver.getElapsedClockTime()) + Info("Init solver done!. ElapsedCpuTime %f s" % self.solver.getElapsedCpuTime()) self.solverInitialized = 1 diff --git a/src/adjoint/Make/files_Compressible b/src/adjoint/Make/files_Compressible index b57407b5..1901dcca 100755 --- a/src/adjoint/Make/files_Compressible +++ b/src/adjoint/Make/files_Compressible @@ -91,7 +91,8 @@ DASolver/DATurboFoam/DATurboFoam.C boundaryConditions/multiFreqVector/multiFreqVectorFvPatchField.C boundaryConditions/nutUSpaldingWallFunctionDF/nutUSpaldingWallFunctionFvPatchScalarFieldDF.C -boundaryConditions/varyingFlowDirection/varyingFlowDirectionFvPatchVectorField.C +boundaryConditions/varyingVelocity/varyingVelocityFvPatchVectorField.C +boundaryConditions/varyingVelocityInletOutlet/varyingVelocityInletOutletFvPatchVectorField.C models/dummyTurbulenceModel/makeDummyTurbulenceModelCompressible.C models/SpalartAllmarasFv3/makeSpalartAllmarasFv3Compressible.C models/SpalartAllmarasFv3FieldInversion/makeSpalartAllmarasFv3FieldInversionCompressible.C diff --git a/src/adjoint/Make/files_Incompressible b/src/adjoint/Make/files_Incompressible index 03e6d78a..aec2dcf2 100755 --- a/src/adjoint/Make/files_Incompressible +++ b/src/adjoint/Make/files_Incompressible @@ -102,7 +102,8 @@ DASolver/DAPimpleDyMFoam/DAPimpleDyMFoam.C boundaryConditions/multiFreqVector/multiFreqVectorFvPatchField.C boundaryConditions/nutUSpaldingWallFunctionDF/nutUSpaldingWallFunctionFvPatchScalarFieldDF.C -boundaryConditions/varyingFlowDirection/varyingFlowDirectionFvPatchVectorField.C +boundaryConditions/varyingVelocity/varyingVelocityFvPatchVectorField.C +boundaryConditions/varyingVelocityInletOutlet/varyingVelocityInletOutletFvPatchVectorField.C models/dummyTurbulenceModel/makeDummyTurbulenceModelIncompressible.C models/SpalartAllmarasFv3/makeSpalartAllmarasFv3Incompressible.C models/SpalartAllmarasFv3FieldInversion/makeSpalartAllmarasFv3FieldInversionIncompressible.C diff --git a/src/adjoint/boundaryConditions/varyingFlowDirection/varyingFlowDirectionFvPatchVectorField.C b/src/adjoint/boundaryConditions/varyingVelocity/varyingVelocityFvPatchVectorField.C similarity index 58% rename from src/adjoint/boundaryConditions/varyingFlowDirection/varyingFlowDirectionFvPatchVectorField.C rename to src/adjoint/boundaryConditions/varyingVelocity/varyingVelocityFvPatchVectorField.C index ed2ceb52..5e95f421 100755 --- a/src/adjoint/boundaryConditions/varyingFlowDirection/varyingFlowDirectionFvPatchVectorField.C +++ b/src/adjoint/boundaryConditions/varyingVelocity/varyingVelocityFvPatchVectorField.C @@ -27,34 +27,36 @@ \*---------------------------------------------------------------------------*/ -#include "varyingFlowDirectionFvPatchVectorField.H" +#include "varyingVelocityFvPatchVectorField.H" #include "volFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::varyingFlowDirectionFvPatchVectorField::varyingFlowDirectionFvPatchVectorField( +Foam::varyingVelocityFvPatchVectorField::varyingVelocityFvPatchVectorField( const fvPatch& p, const DimensionedField& iF) : fixedValueFvPatchVectorField(p, iF), - UMag_(0.0), - flowDir_("x"), - normalDir_("y"), + U0_(0.0), + URate_(0.0), + flowComponent_(0), + normalComponent_(1), alpha0_(0), - rate_(0) + alphaRate_(0) { } -Foam::varyingFlowDirectionFvPatchVectorField::varyingFlowDirectionFvPatchVectorField( +Foam::varyingVelocityFvPatchVectorField::varyingVelocityFvPatchVectorField( const fvPatch& p, const DimensionedField& iF, const dictionary& dict) : fixedValueFvPatchVectorField(p, iF), - UMag_(dict.lookupOrDefault("UMag", 0.0)), - flowDir_(dict.lookupOrDefault("flowDir", "x")), - normalDir_(dict.lookupOrDefault("normalDir", "y")), + U0_(dict.lookupOrDefault("U0", 0.0)), + URate_(dict.lookupOrDefault("URate", 0.0)), + flowComponent_(dict.lookupOrDefault