|
| 1 | +################################################################################ |
| 2 | +## |
| 3 | +## This COOLFluiD CFcase file tests: |
| 4 | +## |
| 5 | +## Finite Volume, NavierStokes2DNEQ (chemical NEQ model for air5), NewtonIterator, |
| 6 | +## mesh with quads, second-order reconstruction with limiter, AUSM+ flux, |
| 7 | +## noslip wall BC including radiative equilibrium and variable catalytic |
| 8 | +## efficiency, PETSc, Mutation F77 (version 2.0.0), restart from a solution |
| 9 | +## w/o wall catalycity, postprocessing of wall quantities (e.g. heat flux) |
| 10 | +## |
| 11 | +################################################################################# |
| 12 | +## |
| 13 | +## This testcases simulates 2D axialsymmetric geometry resembling the IXV vehicle |
| 14 | +## with a.o.a=45 degrees with 8 processors, including TPS made up by two material |
| 15 | +## with different catalytic efficiency. |
| 16 | +## |
| 17 | +### Residual = 1.9562143 |
| 18 | + |
| 19 | +## IXV CATE: Mach = 25, p = 1.87 [Pa], T = 205.73 [K] |
| 20 | + |
| 21 | +CFEnv.ErrorOnUnusedConfig = true |
| 22 | +#CFEnv.ExceptionLogLevel = 200 |
| 23 | +#CFEnv.ExceptionDumps = true |
| 24 | + |
| 25 | +# Simulation Modules |
| 26 | +Simulator.Modules.Libs = libCFmeshFileWriter libCFmeshFileReader libTecplotWriter libNavierStokes libNEQ libFiniteVolume libNewtonMethod libFiniteVolumeNavierStokes libFiniteVolumeNEQ libGambit2CFmesh libPetscI libMutation2OLD libMutation2OLDI libAeroCoefFVM libAeroCoefFVMNEQ |
| 27 | + |
| 28 | +# relative path to working directory |
| 29 | +Simulator.Paths.WorkingDir = plugins/NEQ/testcases/TCNEQ/CateIXV |
| 30 | +# relative path to results directory |
| 31 | +Simulator.Paths.ResultsDir = ./RESULTS_M25_air5_CNEQ |
| 32 | + |
| 33 | +# name of the file where to put interactive settings |
| 34 | +Simulator.SubSystem.InteractiveParamReader.FileName = plugins/NEQ/testcases/TCNEQ/CateIXV/IXV.inter |
| 35 | +# how often the interactive file is read |
| 36 | +Simulator.SubSystem.InteractiveParamReader.readRate = 10 |
| 37 | + |
| 38 | +# setting for the thermo-chemical nonequilibrium model and MUTATION library |
| 39 | +Simulator.SubSystem.Default.PhysicalModelType = NavierStokes2DNEQ |
| 40 | + |
| 41 | +# those are reference values for the implicit jacobian: they have to be kept >= the free stream values |
| 42 | +# variables are Rhoivt=[rho_i, u, v, T, T_v] |
| 43 | +# the order of species for rho_i is defined in the mixture file (air11.mix, see below) |
| 44 | +Simulator.SubSystem.NavierStokes2DNEQ.refValues = \ |
| 45 | + 1e-6 1e-6 0.000031666 1e-6 0.000031666 7188.34 7188.34 205.73 |
| 46 | +Simulator.SubSystem.NavierStokes2DNEQ.PropertyLibrary = Mutation2OLD |
| 47 | +# path to the installation of MUTATION (must be consistent) |
| 48 | +#Simulator.SubSystem.NavierStokes2DNEQ.Mutation2OLD.path = /home/esa/coolfluid_AMOD_Modules/Mutation2.0.0I/ |
| 49 | + |
| 50 | +# mixture file to be used in Mutation2OLD.path/data/mixture |
| 51 | +Simulator.SubSystem.NavierStokes2DNEQ.Mutation2OLD.mixtureName = air5 |
| 52 | +# reaction file to be used in Mutation2OLD.path/data/chemistry/gasreact |
| 53 | +Simulator.SubSystem.NavierStokes2DNEQ.Mutation2OLD.reactionName = park5T |
| 54 | +# energy transfer file to be used in Mutation2OLD.path/data/transfer |
| 55 | +Simulator.SubSystem.NavierStokes2DNEQ.Mutation2OLD.transfName = air5cneq |
| 56 | +Simulator.SubSystem.NavierStokes2DNEQ.Mutation2OLD.dynViscAlgo = CG |
| 57 | +Simulator.SubSystem.NavierStokes2DNEQ.Mutation2OLD.thermCondAlgo = Direct |
| 58 | +Simulator.SubSystem.NavierStokes2DNEQ.nbSpecies = 5 |
| 59 | +Simulator.SubSystem.NavierStokes2DNEQ.nbEulerEqs = 3 |
| 60 | +Simulator.SubSystem.NavierStokes2DNEQ.nbVibEnergyEqs = 0 |
| 61 | +#Simulator.SubSystem.NavierStokes2DNEQ.Mutation2OLD.includeElectronicEnergy = true |
| 62 | +Simulator.SubSystem.NavierStokes2DNEQ.Mutation2OLD.electrEnergyID = 0 |
| 63 | + |
| 64 | +# output settings: TECPLOT and CFmesh file (CF format used for restarting) |
| 65 | +Simulator.SubSystem.OutputFormat = Tecplot CFmesh |
| 66 | +Simulator.SubSystem.CFmesh.FileName = IXV.CFmesh |
| 67 | +Simulator.SubSystem.CFmesh.SaveRate = 500 |
| 68 | +Simulator.SubSystem.CFmesh.AppendIter = true # this appends the iteration number to the CFmesh files |
| 69 | + |
| 70 | +Simulator.SubSystem.Tecplot.FileName = IXV.plt |
| 71 | +Simulator.SubSystem.Tecplot.Data.outputVar = Rhoivt |
| 72 | +Simulator.SubSystem.Tecplot.Data.printExtraValues = true # prints solution variables Rhoivt, Mach, rho, pressure |
| 73 | +Simulator.SubSystem.Tecplot.Data.SurfaceTRS = wall Cate1 Cate2 |
| 74 | +Simulator.SubSystem.Tecplot.SaveRate = 100 |
| 75 | +Simulator.SubSystem.Tecplot.AppendIter = false # this appends the iteration number to the TECPLOT files |
| 76 | + |
| 77 | +# stop the simulation wfter a certain number of iterations |
| 78 | +Simulator.SubSystem.StopCondition = MaxNumberSteps |
| 79 | +Simulator.SubSystem.MaxNumberSteps.nbSteps = 20 |
| 80 | + |
| 81 | +# stop the simulation when a certain residual norm is reached |
| 82 | +#Simulator.SubSystem.StopCondition = Norm |
| 83 | +#Simulator.SubSystem.Norm.valueNorm = -3.0 |
| 84 | + |
| 85 | +# name of the boundary patches in the mesh file (must be consistent) |
| 86 | +Simulator.SubSystem.Default.listTRS = wall Cate1 Cate2 sym inlet outlet |
| 87 | + |
| 88 | +Simulator.SubSystem.MeshCreator = CFmeshFileReader |
| 89 | +Simulator.SubSystem.CFmeshFileReader.Data.FileName = ./final12961.CFmesh |
| 90 | +#./CATE_v7_NOCAT_AIR5_CNEQ/final12961.CFmesh |
| 91 | +#./CATE_v7_CAT2_AIR5/start4000.CFmesh |
| 92 | +#CATE_v7_1.CFmesh |
| 93 | + |
| 94 | +# uncomment the following if restarting from a new GAMBIT file |
| 95 | +# |
| 96 | +#Simulator.SubSystem.CFmeshFileReader.convertFrom = Gambit2CFmesh |
| 97 | +#Simulator.SubSystem.CFmeshFileReader.Gambit2CFmesh.Discontinuous = true |
| 98 | +#Simulator.SubSystem.CFmeshFileReader.Gambit2CFmesh.SolutionOrder = P0 |
| 99 | +#Scaling factor: to be used ONLY if Restart=false (WATCH OUT: the code divides by this number) |
| 100 | +#Simulator.SubSystem.CFmeshFileReader.Data.ScalingFactor = 1000. |
| 101 | + |
| 102 | +# setting for PETSC linear system solver |
| 103 | +Simulator.SubSystem.LinearSystemSolver = PETSC |
| 104 | +Simulator.SubSystem.LSSNames = NewtonIteratorLSS |
| 105 | +# preconditioner types: PCILU for serial, PCASM for serial/parallel |
| 106 | +Simulator.SubSystem.NewtonIteratorLSS.Data.PCType = PCASM |
| 107 | +Simulator.SubSystem.NewtonIteratorLSS.Data.MaxIter = 1000 |
| 108 | +Simulator.SubSystem.NewtonIteratorLSS.Data.RelativeTolerance = 1e-4 |
| 109 | + |
| 110 | +# implicit time integrator for steady calculations |
| 111 | +Simulator.SubSystem.ConvergenceMethod = NewtonIterator |
| 112 | +Simulator.SubSystem.NewtonIterator.Data.MaxSteps = 1 |
| 113 | +# the CFL can be changed interactively in ./IXV.inter |
| 114 | +#Simulator.SubSystem.NewtonIterator.Data.CFL.ComputeCFL = Interactive |
| 115 | +Simulator.SubSystem.NewtonIterator.Data.CFL.ComputeCFL = Function |
| 116 | +Simulator.SubSystem.NewtonIterator.Data.CFL.Function.Def = \ |
| 117 | + if(i<670,5.,if(i<1200,9.,if(i<1440,17.,if(i<1840,33.,if(i<2420,55,if(i<2700,100.,if(i<2870,200.,if(i<2940,500.,1000.)))))))) |
| 118 | + |
| 119 | +# underelaxation parameter (usually it can be kept equal to 1) |
| 120 | +Simulator.SubSystem.NewtonIterator.StdUpdateSol.Relaxation = 1. |
| 121 | +# monitored residual variable for convergence |
| 122 | +Simulator.SubSystem.NewtonIterator.Data.L2.MonitoredVarID = 7 |
| 123 | +# computed residual variable(s) |
| 124 | +#Simulator.SubSystem.NewtonIterator.Data.L2.ComputedVarID = 7 |
| 125 | +Simulator.SubSystem.NewtonIterator.Data.FilterState = Max |
| 126 | +Simulator.SubSystem.NewtonIterator.Data.Max.maskIDs = 1 1 1 1 1 0 0 1 |
| 127 | +Simulator.SubSystem.NewtonIterator.Data.Max.minValues = 0. 0. 0. 0. 0. 0. 0. 0. |
| 128 | + |
| 129 | +Simulator.SubSystem.SpaceMethod = CellCenterFVM |
| 130 | +# set to true if the simulation restarts from a previous .CFmesh file with solution |
| 131 | +Simulator.SubSystem.CellCenterFVM.Restart = true |
| 132 | +Simulator.SubSystem.CellCenterFVM.ComputeRHS = NumJacobFast |
| 133 | +Simulator.SubSystem.CellCenterFVM.NumJacobFast.FreezeDiffCoeff = true |
| 134 | +Simulator.SubSystem.CellCenterFVM.ComputeTimeRHS = PseudoSteadyTimeRhs |
| 135 | + |
| 136 | +#AUSM flux splitter |
| 137 | +Simulator.SubSystem.CellCenterFVM.Data.FluxSplitter = AUSMPlusMS2D |
| 138 | +Simulator.SubSystem.CellCenterFVM.Data.AUSMPlusMS2D.choiceA12 = 5 |
| 139 | + |
| 140 | +# useful variables (not to be changed) |
| 141 | +Simulator.SubSystem.CellCenterFVM.Data.UpdateVar = Rhoivt |
| 142 | +Simulator.SubSystem.CellCenterFVM.Data.SolutionVar = Cons |
| 143 | +Simulator.SubSystem.CellCenterFVM.Data.DiffusiveVar = Rhoivt |
| 144 | +Simulator.SubSystem.CellCenterFVM.Data.DiffusiveFlux = NavierStokes |
| 145 | +Simulator.SubSystem.CellCenterFVM.Data.DerivativeStrategy = Corrected2D |
| 146 | + |
| 147 | +#Second order settings |
| 148 | +Simulator.SubSystem.CellCenterFVM.SetupCom = LeastSquareP1Setup |
| 149 | +Simulator.SubSystem.CellCenterFVM.SetupNames = Setup1 |
| 150 | +Simulator.SubSystem.CellCenterFVM.Setup1.stencil = FaceVertexPlusGhost |
| 151 | +Simulator.SubSystem.CellCenterFVM.UnSetupCom = LeastSquareP1UnSetup |
| 152 | +Simulator.SubSystem.CellCenterFVM.UnSetupNames = UnSetup1 |
| 153 | + |
| 154 | +Simulator.SubSystem.CellCenterFVM.Data.PolyRec = LinearLS2D |
| 155 | +# second order can be activated by setting gradientFactor to 1. in IXV.inter |
| 156 | +Simulator.SubSystem.CellCenterFVM.Data.LinearLS2D.gradientFactor = 0. |
| 157 | +Simulator.SubSystem.CellCenterFVM.Data.LinearLS2D.limitRes = -4.0 |
| 158 | +Simulator.SubSystem.CellCenterFVM.Data.Limiter = Venktn2D |
| 159 | +Simulator.SubSystem.CellCenterFVM.Data.Venktn2D.coeffEps = 1.0 |
| 160 | +Simulator.SubSystem.CellCenterFVM.Data.Venktn2D.useFullStencil = true |
| 161 | +Simulator.SubSystem.CellCenterFVM.Data.Venktn2D.length = 1.0 |
| 162 | + |
| 163 | +#### only activate if you are restarting from a 2nd order solution ######### |
| 164 | +Simulator.SubSystem.CFmeshFileReader.Data.ExtraStateVarNames = InitLimiter |
| 165 | +Simulator.SubSystem.CFmeshFileReader.Data.ExtraStateVarTags = limiter |
| 166 | +Simulator.SubSystem.CFmeshFileReader.Data.ExtraStateVarStrides = 8 |
| 167 | +Simulator.SubSystem.CellCenterFVM.Setup1.InitLimiterSocket = InitLimiter |
| 168 | +########################################################################## |
| 169 | +### field for extra state-related variables |
| 170 | +## this saves the limiter as extra variables allowing to restart from the latest saved values |
| 171 | +## only useful if "freezing" of limiter has been already activated (LinearLS3D.limitRes > 8.0) |
| 172 | +Simulator.SubSystem.CFmesh.Data.ExtraStateVarNames = limiter |
| 173 | +Simulator.SubSystem.CFmesh.Data.ExtraStateVarStrides = 8 |
| 174 | +# |
| 175 | +Simulator.SubSystem.CellCenterFVM.Data.isAxisymm = true |
| 176 | +Simulator.SubSystem.CellCenterFVM.Data.SourceTerm = NavierStokes2DNEQAxiST Euler2DCNEQST |
| 177 | +Simulator.SubSystem.CellCenterFVM.Data.NavierStokes2DNEQAxiST.uvIDs = 5 6 |
| 178 | + |
| 179 | +Simulator.SubSystem.CellCenterFVM.Data.NodalExtrapolation = DistanceBasedGMoveRhoivt |
| 180 | +Simulator.SubSystem.CellCenterFVM.Data.DistanceBasedGMoveRhoivt.TRSName = wall Cate1 Cate2 |
| 181 | +Simulator.SubSystem.CellCenterFVM.Data.DistanceBasedGMoveRhoivt.ValuesIdx = 5 6 #7 |
| 182 | +Simulator.SubSystem.CellCenterFVM.Data.DistanceBasedGMoveRhoivt.Values = 0. 0. #1000. |
| 183 | +Simulator.SubSystem.CellCenterFVM.Data.DistanceBasedGMoveRhoivt.RadEquilibrium = true |
| 184 | +Simulator.SubSystem.CellCenterFVM.Data.DistanceBasedGMoveRhoivt.TrsPriorityList = wall Cate1 Cate2 sym inlet outlet |
| 185 | +#Simulator.SubSystem.CellCenterFVM.Data.DistanceBasedGMoveRhoivt.NbIterAdiabatic = 3000. |
| 186 | + |
| 187 | +# initial field |
| 188 | +Simulator.SubSystem.CellCenterFVM.InitComds = InitState |
| 189 | +Simulator.SubSystem.CellCenterFVM.InitNames = InField |
| 190 | +Simulator.SubSystem.CellCenterFVM.InField.applyTRS = InnerFaces |
| 191 | +Simulator.SubSystem.CellCenterFVM.InField.Vars = x y |
| 192 | +Simulator.SubSystem.CellCenterFVM.InField.Def = \ |
| 193 | + 0. 0. 0.000031666*0.767 0. 0.000031666*0.233 7188.34 0. 205.73 |
| 194 | + |
| 195 | +# boundary conditions commands |
| 196 | +Simulator.SubSystem.CellCenterFVM.BcComds = \ |
| 197 | + NoSlipWallIsothermalNSrvtCatFVMCC \ |
| 198 | + NoSlipWallIsothermalNSrvtCatFVMCC \ |
| 199 | + MirrorVelocityFVMCC \ |
| 200 | + SuperInletFVMCC \ |
| 201 | + SuperOutletFVMCC |
| 202 | +Simulator.SubSystem.CellCenterFVM.BcNames = \ |
| 203 | + Cat1 \ |
| 204 | + Cat2 \ |
| 205 | + Mirror \ |
| 206 | + SInlet \ |
| 207 | + SOutlet |
| 208 | + |
| 209 | +Simulator.SubSystem.CellCenterFVM.Cat1.applyTRS = wall |
| 210 | +Simulator.SubSystem.CellCenterFVM.Cat1.TWall = 1000. |
| 211 | +Simulator.SubSystem.CellCenterFVM.Cat1.Nr = 2 |
| 212 | +Simulator.SubSystem.CellCenterFVM.Cat1.NewtonLoop = 3 |
| 213 | +Simulator.SubSystem.CellCenterFVM.Cat1.Vars = x y |
| 214 | +Simulator.SubSystem.CellCenterFVM.Cat1.GammaN_O = 0.019 0.019 |
| 215 | +Simulator.SubSystem.CellCenterFVM.Cat1.Emissivity = 0.8 |
| 216 | +Simulator.SubSystem.CellCenterFVM.Cat1.RadEquilibrium = true |
| 217 | +#Simulator.SubSystem.CellCenterFVM.Cat1.Adiabatic = true |
| 218 | +Simulator.SubSystem.CellCenterFVM.Cat1.MaxRadEqDTwall = 100. |
| 219 | +Simulator.SubSystem.CellCenterFVM.Cat1.DistantBodyTemp = 0. |
| 220 | +Simulator.SubSystem.CellCenterFVM.Cat1.UseStefanMaxwell = true |
| 221 | + |
| 222 | +Simulator.SubSystem.CellCenterFVM.Cat2.applyTRS = Cate1 Cate2 |
| 223 | +Simulator.SubSystem.CellCenterFVM.Cat2.TWall = 1000. |
| 224 | +Simulator.SubSystem.CellCenterFVM.Cat2.Nr = 2 |
| 225 | +Simulator.SubSystem.CellCenterFVM.Cat2.NewtonLoop = 3 |
| 226 | +Simulator.SubSystem.CellCenterFVM.Cat2.Vars = x y |
| 227 | +Simulator.SubSystem.CellCenterFVM.Cat2.GammaN_O = 0.19 0.19 |
| 228 | +Simulator.SubSystem.CellCenterFVM.Cat2.Emissivity = 0.8 |
| 229 | +Simulator.SubSystem.CellCenterFVM.Cat2.RadEquilibrium = true |
| 230 | +#Simulator.SubSystem.CellCenterFVM.Cat2.Adiabatic = true |
| 231 | +Simulator.SubSystem.CellCenterFVM.Cat2.MaxRadEqDTwall = 100. |
| 232 | +Simulator.SubSystem.CellCenterFVM.Cat2.DistantBodyTemp = 0. |
| 233 | +Simulator.SubSystem.CellCenterFVM.Cat2.UseStefanMaxwell = true |
| 234 | + |
| 235 | +Simulator.SubSystem.CellCenterFVM.Mirror.applyTRS = sym |
| 236 | +# second order: impose gradient=0 on the variables for wich the mask array value is "1" |
| 237 | +Simulator.SubSystem.CellCenterFVM.Mirror.ZeroGradientFlags = 1 1 1 1 1 0 0 1 |
| 238 | + |
| 239 | +Simulator.SubSystem.CellCenterFVM.SInlet.applyTRS = inlet |
| 240 | +Simulator.SubSystem.CellCenterFVM.SInlet.Vars = x y |
| 241 | +Simulator.SubSystem.CellCenterFVM.SInlet.Def = \ |
| 242 | + 0. 0. 0.000031666*0.767 0. 0.000031666*0.233 7188.34 0. 205.73 |
| 243 | + |
| 244 | +Simulator.SubSystem.CellCenterFVM.SOutlet.applyTRS = outlet |
| 245 | +# second order: impose gradient=0 on the variables for wich the mask array value is "1" |
| 246 | +Simulator.SubSystem.CellCenterFVM.SOutlet.ZeroGradientFlags = 1 1 1 1 1 1 1 1 |
| 247 | + |
| 248 | +# wall quantities (heat flux, skin friction) postprocessing |
| 249 | +Simulator.SubSystem.DataPostProcessing = DataProcessing |
| 250 | +Simulator.SubSystem.DataPostProcessingNames = DataProcessing3 |
| 251 | +Simulator.SubSystem.DataProcessing3.ProcessRate = 3 |
| 252 | +Simulator.SubSystem.DataProcessing3.Comds = NavierStokesSkinFrictionHeatFluxCCNEQ |
| 253 | +Simulator.SubSystem.DataProcessing3.Names = SkinFriction |
| 254 | +Simulator.SubSystem.DataProcessing3.SkinFriction.applyTRS = wall Cate1 Cate2 |
| 255 | +#Simulator.SubSystem.DataProcessing3.SkinFriction.OutputFileWall = walldata.plt |
| 256 | +# ALL the following free stream values and update variable IDs MUST be specified |
| 257 | +Simulator.SubSystem.DataProcessing3.SkinFriction.rhoInf = 0.000031666 |
| 258 | +Simulator.SubSystem.DataProcessing3.SkinFriction.pInf = 1.87 |
| 259 | +Simulator.SubSystem.DataProcessing3.SkinFriction.uInf = 7188.34 |
| 260 | +Simulator.SubSystem.DataProcessing3.SkinFriction.TInf = 205.73 |
| 261 | +Simulator.SubSystem.DataProcessing3.SkinFriction.UID = 5 |
| 262 | +Simulator.SubSystem.DataProcessing3.SkinFriction.VID = 6 |
| 263 | +Simulator.SubSystem.DataProcessing3.SkinFriction.TID = 7 |
| 264 | + |
0 commit comments