Skip to content

Solver coverage

Everything urbanMicroclimateFoam lets a case choose, and the keywords each choice reads, as found in the solver source: solver/ at 5da4b3a (OpenFOAM-12) and the tag of-org_v8.0 (OpenFOAM-8). This page is generated by cargo xtask catalog; CI checks that it matches the pinned solver.

GUI coverage

No solver type is editable in the GUI yet. As the case editor lands, each type gets a column here saying whether umcfGui exposes it.

8 families, 42 selectable types (13 boundary conditions), 176 keyword reads.

Keywords: name is required, name = default has a default, (optional) is checked for, { } is a sub-dictionary; (8 only) / (12 only) mark version differences.

Model families

Family Selected by In Versions Common keywords
buildingMaterialModel buildingMaterialModel – 8, 12 –
grassModel grassModel grassProperties 8, 12 grassModel
radiationModel (OpenFOAM) – – 8, 12 –
searchableSurface (OpenFOAM) – – 8, 12 –
solarLoadAbsorptionEmissionModel solarLoadAbsorptionEmissionModel – 8, 12 solarLoadAbsorptionEmissionModel
solarLoadModel solarLoadModel solarLoadProperties 8, 12 solarLoadModel
solarLoadScatterModel solarLoadScatterModel – 8, 12 solarLoadScatterModel
vegetationModel vegetationModel vegetationProperties 8, 12 vegetationModel

Types

buildingMaterialModel

Type Versions Keywords Source
AsphaltConcrete 8, 12 – _LIB/buildingMaterialModel/AsphaltConcrete/AsphaltConcrete.H
CalciumSilicate 8, 12 – _LIB/buildingMaterialModel/CalciumSilicate/CalciumSilicate.H
Hamstad5Brick 8, 12 – _LIB/buildingMaterialModel/Hamstad5Brick/Hamstad5Brick.H
Hamstad5Insulation 8, 12 – _LIB/buildingMaterialModel/Hamstad5Insulation/Hamstad5Insulation.H
Hamstad5Mortar 8, 12 – _LIB/buildingMaterialModel/Hamstad5Mortar/Hamstad5Mortar.H
HamstadBrick 8, 12 – _LIB/buildingMaterialModel/HamstadBrick/HamstadBrick.H
HamstadCase2 8, 12 – _LIB/buildingMaterialModel/HamstadCase2/HamstadCase2.H
HamstadConcrete 8, 12 – _LIB/buildingMaterialModel/HamstadConcrete/HamstadConcrete.H
HamstadPlaster 8, 12 – _LIB/buildingMaterialModel/HamstadPlaster/HamstadPlaster.H
Impermeable 8, 12 – _LIB/buildingMaterialModel/Impermeable/Impermeable.H
OSB 12 only – _LIB/buildingMaterialModel/OSB/OSB.H
PorousAsphalt 8, 12 – _LIB/buildingMaterialModel/PorousAsphalt/PorousAsphalt.H
SabaBrick 8, 12 – _LIB/buildingMaterialModel/SabaBrick/SabaBrick.H
SabaBrickMod 8, 12 – _LIB/buildingMaterialModel/SabaBrickMod/SabaBrickMod.H
Savonnieres 8, 12 – _LIB/buildingMaterialModel/Savonnieres/Savonnieres.H
Soil 8, 12 – _LIB/buildingMaterialModel/Soil/Soil.H
VanGenuchten 8, 12 Ks, alpha, n, wcap _LIB/buildingMaterialModel/VanGenuchten/VanGenuchten.H
VanGenuchtenVapDiff 8, 12 A, Ks, alpha, minCrel = VSMALL, muDry, n, wcap, wr _LIB/buildingMaterialModel/VanGenuchtenVapDiff/VanGenuchtenVapDiff.H

grassModel

Type Versions Keywords Source
none 8, 12 – _LIB/grassModel/noGrass/noGrass.H
simpleGrass 8, 12 Cd = 0.2, LAI = 2.0, SIMPLE { }, Tg = 0.5, Tg = 1e-8, albedoSoil = 0.2366, beta = 0.78, betaLW = 0.83, debug = 0, emissivitySoil = 0.95, grassPatches, l = 0.1, nEvapSides = 1, ra = -1, relaxationFactors { }, residualControl { }, rs = 200 _LIB/grassModel/simpleGrass/simpleGrass.H

radiationModel

Type Versions Keywords Source
viewFactorSky 8, 12 constantEmissivity, grassModel, grassPatches, smoothing, viewFactorConvergenceCheck = true (12 only), viewFactorMaxIter = 10000 (12 only), viewFactorMaxRelResidual = 1e-6 (12 only), viewFactorReferenceCheck = false (12 only), viewFactorReferenceCheckMaxFaces = 25000 (12 only), viewFactorReferenceDump = false (12 only), viewFactorRelTol = 1e-8 (12 only), viewFactorResidualReplacementInterval = 1 (12 only), viewFactorTolerance = 1e-8 (12 only), viewFactorUsePreviousSolution = true (12 only), viewFactorWorkflow = "sparse" (12 only), viewFactorWorkflow = coeffs_.lookupOrDefault<word>("viewFactorWorkflow", "sparse") (12 only) _LIB/solarLoadModel/viewFactorSky/viewFactorSky.H

searchableSurface

Type Versions Keywords Source
distributedTriSurfaceMeshBugFix 8, 12 bounds, distributionType, mergeDistance _LIB/parallel/distributed/distributedTriSurfaceMeshBugFix/distributedTriSurfaceMeshBugFix.H

solarLoadAbsorptionEmissionModel

Type Versions Keywords Source
none 8, 12 – _LIB/solarLoadModel/submodels/absorptionEmissionModel/noAbsorptionEmission/noAbsorptionEmission.H

solarLoadModel

Type Versions Keywords Source
directAndDiffuse 8, 12 constantAlbedo, smoothing, viewFactorConvergenceCheck = true (12 only), viewFactorMaxIter = 10000 (12 only), viewFactorMaxRelResidual = 1e-6 (12 only), viewFactorReferenceCheck = false (12 only), viewFactorReferenceCheckMaxFaces = 25000 (12 only), viewFactorRelTol = 1e-8 (12 only), viewFactorResidualReplacementInterval = 1 (12 only), viewFactorTolerance = 1e-8 (12 only), viewFactorUsePreviousSolution = true (12 only), viewFactorWorkflow = "sparse" (12 only), viewFactorWorkflow = coeffs_.lookupOrDefault<word>("viewFactorWorkflow", "sparse") (12 only) _LIB/solarLoadModel/directAndDiffuse/directAndDiffuse.H
none 8, 12 – _LIB/solarLoadModel/noSolarLoad/noSolarLoad.H

solarLoadScatterModel

Type Versions Keywords Source
none 8, 12 – _LIB/solarLoadModel/submodels/scatterModel/noScatter/noScatter.H

vegetationModel

Type Versions Keywords Source
none 8, 12 – _LIB/vegetationModels/noVegetation/noVegetation.H
simplifiedVegetation 8, 12 C, Cd = 0.2, D0, H, Rg0, Rl0, SIMPLE { }, Tl = 0.5, Tl = 1e-8, a1, a2, a3, kc, l, nEvapSides, relaxationFactors { }, residualControl { }, rsMin _LIB/vegetationModels/simplifiedVegetation/simplifiedVegetation.H

Boundary conditions (scalar fields)

Type Versions Keywords Source
compressible::CFDHAMfluidMoistureCoupledImpermeable 8, 12 refValue (optional) _LIB/solarLoadModel/derivedFvPatchFields/CFDHAMfluidMoistureCoupledImpermeable/CFDHAMfluidMoistureCoupledImpermeableFvPatchScalarField.H
compressible::CFDHAMfluidMoistureCoupledMixed 8, 12 refValue (optional) _LIB/solarLoadModel/derivedFvPatchFields/CFDHAMfluidMoistureCoupledMixed/CFDHAMfluidMoistureCoupledMixedFvPatchScalarField.H
compressible::CFDHAMfluidTemperatureCoupledMixed 8, 12 refValue (optional) _LIB/solarLoadModel/derivedFvPatchFields/CFDHAMfluidTemperatureCoupledMixed/CFDHAMfluidTemperatureCoupledMixedFvPatchScalarField.H
compressible::CFDHAMsolidMoistureCoupledImpermeable 8, 12 refValue (optional) _LIB/solarLoadModel/derivedFvPatchFields/CFDHAMsolidMoistureCoupledImpermeable/CFDHAMsolidMoistureCoupledImpermeableFvPatchScalarField.H
compressible::CFDHAMsolidMoistureCoupledMixed 8, 12 refValue (optional) _LIB/solarLoadModel/derivedFvPatchFields/CFDHAMsolidMoistureCoupledMixed/CFDHAMsolidMoistureCoupledMixedFvPatchScalarField.H
compressible::CFDHAMsolidMoistureTransferCoeff 8, 12 betacoeff = 0, pv_o = "none", refValue (optional) _LIB/solarLoadModel/derivedFvPatchFields/CFDHAMsolidMoistureTransferCoeff/CFDHAMsolidMoistureTransferCoeffFvPatchScalarField.H
compressible::CFDHAMsolidTemperatureCoupledMixed 8, 12 LAI = 2.0, albedoSoil = 0.0, beta = 0.78, deltaT, grassModel, grassPatches, qrNbr = "none", qsNbr = "none", refValue (optional) _LIB/solarLoadModel/derivedFvPatchFields/CFDHAMsolidTemperatureCoupledMixed/CFDHAMsolidTemperatureCoupledMixedFvPatchScalarField.H
compressible::CFDHAMsolidTemperatureTransferCoeff 8, 12 LAI = 2.0, Tamb = "none", albedoSoil = 0.0, beta = 0.78, betacoeff = 0, deltaT, grassModel, grassPatches, hcoeff = 0, pv_o = "none", qrNbr = "none", qsNbr = "none", refValue (optional) _LIB/solarLoadModel/derivedFvPatchFields/CFDHAMsolidTemperatureHeatCoeff/CFDHAMsolidTemperatureTransferCoeffFvPatchScalarField.H
compressible::CFDHAMsolidTemperatureTransferCoeffInterior 8, 12 Tamb = "none", hcoeff = 0, refValue (optional) _LIB/solarLoadModel/derivedFvPatchFields/CFDHAMsolidTemperatureHeatCoeffInterior/CFDHAMsolidTemperatureTransferCoeffInteriorFvPatchScalarField.H
mappedLeafTemperature 8, 12 field = iF.name() (12 only) _LIB/vegetationModels/derivedFvPatchFields/mappedLeafTemperature/mappedLeafTempFvPatchScalarField.H
readScalarField 8, 12 inputTimeStep _LIB/blendingLayer/derivedFvPatchFields/readScalarField/readFieldFvPatchScalarField.H
solarLoadRadiationViewFactor 8, 12 value (optional) _LIB/solarLoadModel/derivedFvPatchFields/solarLoadViewFactor/solarLoadViewFactorFixedValueFvPatchScalarField.H

Boundary conditions (vector fields)

Type Versions Keywords Source
readVectorField 8, 12 inputTimeStep _LIB/blendingLayer/derivedFvPatchFields/readVectorField/readFieldFvPatchVectorField.H

RAS turbulence models

Type Versions Keywords Source
porousrealizableKE 8, 12 Cd = 0.2, vegetationModel _LIB/turbulenceModels/RAS/porousrealizableKE/porousrealizableKE.H

Fields read

The files the solver and its models read when they start, from the time the run starts from (start), 0, constant/<region>, or the mesh's directory (mesh: written by the radiation utilities). Required files stop the run when they are missing.

Read by Field From Required Versions File
every fluid region U start yes 8, 12 fluid/createFluidFields.H
every fluid region g constant yes 8, 12 fluid/createFluidFields.H
every fluid region gcr start yes 8, 12 fluid/createFluidFields.H
every fluid region p_rgh start yes 8, 12 fluid/createFluidFields.H
every fluid region phi start no 8, 12 fluid/createFluidFields.H
every fluid region w start yes 8, 12 fluid/createFluidFields.H
every solid region Ts start yes 8, 12 solid/createSolidFields.H
every solid region g constant yes 8, 12 solid/createSolidFields.H
every solid region pc start yes 8, 12 solid/createSolidFields.H
every solid region ws start yes 8, 12 solid/createSolidFields.H
every vegetation region T start yes 8, 12 veg/createVegFields.H
RASModel porousrealizableKE LAD 0 yes 8 only _LIB/turbulenceModels/RAS/porousrealizableKE/porousrealizableKE.C
RASModel porousrealizableKE LAD constant yes 12 only _LIB/turbulenceModels/RAS/porousrealizableKE/porousrealizableKE.C
RASModel porousrealizableKE epsilon start yes 8, 12 _LIB/turbulenceModels/RAS/porousrealizableKE/porousrealizableKE.C
RASModel porousrealizableKE k start yes 8, 12 _LIB/turbulenceModels/RAS/porousrealizableKE/porousrealizableKE.C
fvPatchScalarField readScalarField faceProcAddressing mesh no 8, 12 _LIB/blendingLayer/derivedFvPatchFields/readScalarField/readFieldFvPatchScalarField.C
fvPatchVectorField readVectorField faceProcAddressing mesh no 8, 12 _LIB/blendingLayer/derivedFvPatchFields/readVectorField/readFieldFvPatchVectorField.C
grassModel simpleGrass Tg start no 8, 12 _LIB/grassModel/simpleGrass/simpleGrass.C
radiationModel viewFactorSky F mesh no 8, 12 _LIB/solarLoadModel/viewFactorSky/viewFactorSky.C
radiationModel viewFactorSky constructMap mesh no 8, 12 _LIB/solarLoadModel/viewFactorSky/viewFactorSky.C
radiationModel viewFactorSky constructMapDim mesh no 8, 12 _LIB/solarLoadModel/viewFactorSky/viewFactorSky.C
radiationModel viewFactorSky finalAgglom mesh yes 8, 12 _LIB/solarLoadModel/viewFactorSky/viewFactorSky.C
radiationModel viewFactorSky globalFaceFaces mesh no 8, 12 _LIB/solarLoadModel/viewFactorSky/viewFactorSky.C
radiationModel viewFactorSky qr start yes 8, 12 _LIB/solarLoadModel/viewFactorSky/viewFactorSky.C
radiationModel viewFactorSky subMap mesh no 8, 12 _LIB/solarLoadModel/viewFactorSky/viewFactorSky.C
solarLoadModel directAndDiffuse F mesh no 8, 12 _LIB/solarLoadModel/directAndDiffuse/directAndDiffuse.C
solarLoadModel directAndDiffuse Qs start no 8, 12 _LIB/solarLoadModel/directAndDiffuse/directAndDiffuse.C
solarLoadModel directAndDiffuse constructMap mesh no 8, 12 _LIB/solarLoadModel/directAndDiffuse/directAndDiffuse.C
solarLoadModel directAndDiffuse constructMapDim mesh no 8, 12 _LIB/solarLoadModel/directAndDiffuse/directAndDiffuse.C
solarLoadModel directAndDiffuse finalAgglom mesh no 8, 12 _LIB/solarLoadModel/directAndDiffuse/directAndDiffuse.C
solarLoadModel directAndDiffuse finalAgglom mesh yes 8, 12 _LIB/solarLoadModel/directAndDiffuse/directAndDiffuse.C
solarLoadModel directAndDiffuse globalFaceFaces mesh no 8, 12 _LIB/solarLoadModel/directAndDiffuse/directAndDiffuse.C
solarLoadModel directAndDiffuse qs start yes 8, 12 _LIB/solarLoadModel/directAndDiffuse/directAndDiffuse.C
solarLoadModel directAndDiffuse skyViewCoeff mesh no 8, 12 _LIB/solarLoadModel/directAndDiffuse/directAndDiffuse.C
solarLoadModel directAndDiffuse solarLoadFineFaces mesh no 8, 12 _LIB/solarLoadModel/directAndDiffuse/directAndDiffuse.C
solarLoadModel directAndDiffuse subMap mesh no 8, 12 _LIB/solarLoadModel/directAndDiffuse/directAndDiffuse.C
solarLoadModel directAndDiffuse sunViewCoeff mesh no 8, 12 _LIB/solarLoadModel/directAndDiffuse/directAndDiffuse.C
solarLoadModel directAndDiffuse sunskyMap mesh no 8, 12 _LIB/solarLoadModel/directAndDiffuse/directAndDiffuse.C
vegetationModel simplifiedVegetation LAD 0 yes 8, 12 _LIB/vegetationModels/simplifiedVegetation/simplifiedVegetation.C
vegetationModel simplifiedVegetation Tl start no 8, 12 _LIB/vegetationModels/simplifiedVegetation/simplifiedVegetation.C
vegetationModel simplifiedVegetation divqrsw mesh yes 8, 12 _LIB/vegetationModels/simplifiedVegetation/simplifiedVegetation.C
calcLAI LAD start yes 8, 12 _APP/calcLAI/calcLAI.C
calcLAI finalAgglom mesh yes 8, 12 _APP/calcLAI/findCoarseMeshFaces.H
calcLAI qr start yes 8, 12 _APP/calcLAI/findCoarseMeshFaces.H
calcLAI vegetation start yes 8, 12 _APP/calcLAI/findCoarseMeshFaces.H
solarRayTracingGen finalAgglom mesh yes 8, 12 _APP/solarRayTracingGen/solarRayTracingGen.C
solarRayTracingGen kcLAIboundary constant no 8 only _APP/solarRayTracingGen/solarRayTracingGen.C
solarRayTracingGen kcLAIboundary mesh no 12 only _APP/solarRayTracingGen/solarRayTracingGen.C
solarRayTracingGen qr start yes 8, 12 _APP/solarRayTracingGen/solarRayTracingGen.C

Keywords read at start

The required keywords each type reads whenever the solver builds it: in the constructors it is built with, or a function each of them calls, outside any condition. coeffs_ is the type's <Type>Coeffs dictionary.

Type Keyword Read from Versions
buildingMaterialModel VanGenuchten Ks VanGenuchtenCoeffs_ 8, 12
buildingMaterialModel VanGenuchten alpha VanGenuchtenCoeffs_ 8, 12
buildingMaterialModel VanGenuchten n VanGenuchtenCoeffs_ 8, 12
buildingMaterialModel VanGenuchten wcap VanGenuchtenCoeffs_ 8, 12
buildingMaterialModel VanGenuchtenVapDiff A VanGenuchtenVapDiffCoeffs_ 8, 12
buildingMaterialModel VanGenuchtenVapDiff Ks VanGenuchtenVapDiffCoeffs_ 8, 12
buildingMaterialModel VanGenuchtenVapDiff alpha VanGenuchtenVapDiffCoeffs_ 8, 12
buildingMaterialModel VanGenuchtenVapDiff muDry VanGenuchtenVapDiffCoeffs_ 8, 12
buildingMaterialModel VanGenuchtenVapDiff n VanGenuchtenVapDiffCoeffs_ 8, 12
buildingMaterialModel VanGenuchtenVapDiff wcap VanGenuchtenVapDiffCoeffs_ 8, 12
buildingMaterialModel VanGenuchtenVapDiff wr VanGenuchtenVapDiffCoeffs_ 8, 12
grassModel simpleGrass grassPatches coeffs_ 8, 12
radiationModel viewFactorSky constantEmissivity coeffs_ 8, 12
radiationModel viewFactorSky smoothing coeffs_ 8, 12
searchableSurface distributedTriSurfaceMeshBugFix bounds dict_ 8, 12
searchableSurface distributedTriSurfaceMeshBugFix distributionType dict_ 8, 12
searchableSurface distributedTriSurfaceMeshBugFix mergeDistance dict_ 8, 12
solarLoadModel directAndDiffuse constantAlbedo coeffs_ 8, 12
solarLoadModel directAndDiffuse smoothing coeffs_ 8, 12
vegetationModel simplifiedVegetation C coeffs_ 8, 12
vegetationModel simplifiedVegetation D0 coeffs_ 8, 12
vegetationModel simplifiedVegetation H coeffs_ 8, 12
vegetationModel simplifiedVegetation Rg0 coeffs_ 8, 12
vegetationModel simplifiedVegetation Rl0 coeffs_ 8, 12
vegetationModel simplifiedVegetation a1 coeffs_ 8, 12
vegetationModel simplifiedVegetation a2 coeffs_ 8, 12
vegetationModel simplifiedVegetation a3 coeffs_ 8, 12
vegetationModel simplifiedVegetation kc coeffs_ 8, 12
vegetationModel simplifiedVegetation l coeffs_ 8, 12
vegetationModel simplifiedVegetation nEvapSides coeffs_ 8, 12
vegetationModel simplifiedVegetation rsMin coeffs_ 8, 12

Built per region

The classes the solver constructs (<class>::New) for each kind of region.

Region Class Versions
fluid fluidThermo 12 only
fluid fluidThermoThermophysicalTransportModel 12 only
fluid fluidThermophysicalTransportModel 8 only
fluid fvConstraints 12 only
fluid fvModels 12 only
fluid grassModel 8, 12
fluid momentumTransportModel 8, 12
fluid radiationModel 8, 12
fluid rhoThermo 8 only
fluid solarLoadModel 8, 12
fluid vegetationModel 8, 12
solid buildingMaterialModel 8, 12
vegetation radiationModel 8, 12
vegetation solarLoadModel 8, 12

Application keywords

What the solver, its utilities and its libraries read outside the model classes.

Application File Keywords
calcLAI _APP/calcLAI/calcLAI.C vegetationModel
lib/blendingLayer _LIB/blendingLayer/blendingLayer.C alphaCoeffT, alphaCoeffU, blendingCoeffs { }, dampingThickness
lib/solarLoadModel _LIB/solarLoadModel/derivedFvPatchFields/solarRadiationCoupledBase/solarRadiationCoupledBase.C albedo (optional), albedoMode
solarRayTracingGen _APP/solarRayTracingGen/shootRaysFINE.H maxDynListLength = 100000
solarRayTracingGen _APP/solarRayTracingGen/solarRayTracingGen.C debug = 0, regions (optional) (12 only), regions { } (12 only), skyPosVector, vegetation (12 only), vegetation (optional) (12 only)
urbanMicroclimateFoam fluid/createFluidFields.H SIMPLE { }
urbanMicroclimateFoam fluid/readFluidControls.H maxFluidIteration = 10000, minFluidIteration = 1
urbanMicroclimateFoam fluid/readFluidMultiRegionSIMPLEControls.H SIMPLE { }, nNonOrthogonalCorrectors = 0
urbanMicroclimateFoam fluid/setRegionFluidFields.H blending = false
urbanMicroclimateFoam fluid/solveFluid.H frozenFlow = 0
urbanMicroclimateFoam solid/readSolidControls.H PicardToleranceTs = 0.01, PicardTolerancews = 0.01, decrease_factor = 0.5, increase_factor = 1.2, initialSolidTimestepFactor = 0.1, maxDeltaT = 600.0, minCrel = VSMALL, minDeltaT = 1.0, nInternalIterMax = 10, pcEqnForm = "pc-based"
urbanMicroclimateFoam solid/setRegionSolidFields.H buildingMaterials
urbanMicroclimateFoam solid/updatebuildingMaterials.H buildingMaterialModel, cap, lambda1, lambda2, name, rho
urbanMicroclimateFoam urbanMicroclimateFoam.C fluid (12 only), fluid (optional) (12 only), regions { } (12 only), solid (12 only), solid (optional) (12 only), vegetation (12 only), vegetation (optional) (12 only)