diff --git a/src/functionObjects/field/extractEulerianParticles/extractEulerianParticles/extractEulerianParticlesTemplates.C b/src/functionObjects/field/extractEulerianParticles/extractEulerianParticles/extractEulerianParticlesTemplates.C index 6e6c20cc207e60a95c107c54e57559e39670b643..5ef049f3d6153f05d226813d43db01b57207e2d5 100644 --- a/src/functionObjects/field/extractEulerianParticles/extractEulerianParticles/extractEulerianParticlesTemplates.C +++ b/src/functionObjects/field/extractEulerianParticles/extractEulerianParticles/extractEulerianParticlesTemplates.C @@ -43,7 +43,7 @@ Type Foam::functionObjects::extractEulerianParticles::faceValue { label patchi = patchIDs_[localFacei]; label pFacei = patchFaceIDs_[localFacei]; - if (patchi != 0) + if (patchi != -1) { return field.boundaryField()[patchi][pFacei]; } diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C b/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C index 6e8d89a8c86c0e37d7c132c991918115365f06a1..29d21254ccf6e60987cb828a45ed40576a6c1749 100644 --- a/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C +++ b/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C @@ -302,7 +302,7 @@ void Foam::ThermoSurfaceFilm<CloudType>::cacheFilmFields TFilmPatch_ = film.Tf().primitiveField(); // Direct copy (one-to-one mapping) - TFilmPatch_ = film.Cp().primitiveField(); + CpFilmPatch_ = film.Cp().primitiveField(); } diff --git a/src/meshTools/coordSet/writers/gltf/gltfCoordSetWriter.C b/src/meshTools/coordSet/writers/gltf/gltfCoordSetWriter.C index 86cfd920d04b48d78a675ab4f52de3569dc21862..001a6aaf9a60c5d9abe2797a8525ffed5282824c 100644 --- a/src/meshTools/coordSet/writers/gltf/gltfCoordSetWriter.C +++ b/src/meshTools/coordSet/writers/gltf/gltfCoordSetWriter.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -70,7 +70,7 @@ static tmp<vectorField> getBoundedColours const scalar boundMax ) { - const label boundDelta = (boundMax - boundMin + ROOTVSMALL); + const scalar boundDelta = (boundMax - boundMin + ROOTVSMALL); auto tresult = tmp<vectorField>::New(field.size()); auto& result = tresult.ref(); @@ -167,7 +167,7 @@ Foam::scalarMinMax Foam::coordSetWriters::gltfWriter::getFieldLimits { const dictionary fieldDict = fieldInfoDict_.subOrEmptyDict(fieldName); - scalarMinMax limits; + scalarMinMax limits(-GREAT, GREAT); fieldDict.readIfPresent("min", limits.min()); fieldDict.readIfPresent("max", limits.max()); @@ -191,7 +191,7 @@ Foam::coordSetWriters::gltfWriter::getAlphaField { // Not specified } - else if (!eptr->stream().peek().isString()) + else if (!eptr->stream().peek().isWord()) { // Value specified diff --git a/src/meshTools/coordSet/writers/gltf/gltfCoordSetWriter.H b/src/meshTools/coordSet/writers/gltf/gltfCoordSetWriter.H index 48f3c9ab616087b0b80df42d06fdfe57044e7987..62ea57d1df70ce5462e22d813c54f2a43376c19b 100644 --- a/src/meshTools/coordSet/writers/gltf/gltfCoordSetWriter.H +++ b/src/meshTools/coordSet/writers/gltf/gltfCoordSetWriter.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -45,24 +45,27 @@ Description \verbatim formatOptions { - // Apply colours flag (yes | no ) [optional] - colours yes; - - // List of options per field - fieldInfo + gltf { - p - { - // Colour map [optional] - colourMap <colourMap>; - - // Colour map minimum and maximum limits [optional] - // Uses field min and max if not specified - min 0; - max 1; + // Apply colours flag (yes | no ) [optional] + colour yes; - // Alpha channel [optional] (<scalar>) - alpha 0.5; + // List of options per field + fieldInfo + { + p + { + // Colour map [optional] + colourMap <colourMap>; + + // Colour map minimum and maximum limits [optional] + // Uses field min and max if not specified + min 0; + max 1; + + // Alpha channel [optional] (<scalar>) + alpha 0.5; + } } } } @@ -73,35 +76,38 @@ Description \verbatim formatOptions { - // Apply colours flag (yes | no) [optional] - colours yes; + gltf + { + // Apply colours flag (yes | no) [optional] + colour yes; - // Animate tracks (yes | no) [optional] - animate yes; + // Animate tracks (yes | no) [optional] + animate yes; - // Animation properties [optional] - animationInfo - { - // Colour map [optional] - colourMap <colourMap>; + // Animation properties [optional] + animationInfo + { + // Colour map [optional] + colourMap <colourMap>; - // Colour [optional] (<vector> | uniform | field) - colour (1 0 0); // RGB in range [0-1] + // Colour [optional] (<vector> | uniform | field) + colour (1 0 0); // RGB in range [0-1] - //colour uniform; - //colourValue (1 0 0); // RGB in range [0-1] + //colour uniform; + //colourValue (1 0 0); // RGB in range [0-1] - //colour field; - //colourField d; + //colour field; + //colourField d; - // Colour map minimum and maximum limits [optional] - // Note: for colour = field option - // Uses field min and max if not specified - min 0; - max 1; + // Colour map minimum and maximum limits [optional] + // Note: for colour = field option + // Uses field min and max if not specified + min 0; + max 1; - // Alpha channel [optional] (<scalar>) - alpha 0.5; + // Alpha channel [optional] (<scalar>) + alpha 0.5; + } } } \endverbatim diff --git a/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolvers/incompressible/incompressibleAdjointSolver/incompressibleAdjointSolver.C b/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolvers/incompressible/incompressibleAdjointSolver/incompressibleAdjointSolver.C index cd6cc6839dd6fc9cf9cce057b55177481e2d6976..fa3770a874f9d61918dede19d94e540c3a078581 100644 --- a/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolvers/incompressible/incompressibleAdjointSolver/incompressibleAdjointSolver.C +++ b/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolvers/incompressible/incompressibleAdjointSolver/incompressibleAdjointSolver.C @@ -420,19 +420,21 @@ void Foam::incompressibleAdjointSolver::accumulateBCSensitivityIntegrand fvPatchVectorField& Uab = UaBoundary[patchI]; if (isA<adjointVectorBoundaryCondition>(Uab)) { - const fvPatch& patch = mesh_.boundary()[patchI]; - tmp<vectorField> tnf = patch.nf(); - const scalarField& magSf = patch.magSf(); - - tmp<vectorField> DvDbMult = - nuEffBoundary[patchI]*(Uab.snGrad() + (gradUabf[patchI] & tnf)) - // - (nf*pa.boundaryField()[patchI]) - + adjointTurbulence().adjointMomentumBCSource()[patchI]; - bcDxDbMult()[patchI] += - ( - DvDbMult - & refCast<adjointVectorBoundaryCondition>(Uab).dxdbMult() - )*magSf*dt; + tmp<tensorField> dxdbMult = + refCast<adjointVectorBoundaryCondition>(Uab).dxdbMult(); + if (dxdbMult) + { + const fvPatch& patch = mesh_.boundary()[patchI]; + tmp<vectorField> tnf = patch.nf(); + const scalarField& magSf = patch.magSf(); + + tmp<vectorField> DvDbMult = + nuEffBoundary[patchI] + *(Uab.snGrad() + (gradUabf[patchI] & tnf)) + // - (nf*pa.boundaryField()[patchI]) + + adjointTurbulence().adjointMomentumBCSource()[patchI]; + bcDxDbMult()[patchI] += (DvDbMult & dxdbMult())*magSf*dt; + } } } }