public override object Read(string path)
        {
            var rawData = new TransportPropertiesData();
            string txt = Load(path);

            var grammar = new OpenFoamGrammar();
            var parser = new Parser(grammar);
            var tree = parser.Parse(txt);

            foreach (ParseTreeNode rootEntryNode in tree.Root.FindDictEntries(null))
            {
                var identifier = rootEntryNode.GetEntryIdentifier();
                switch (identifier)
                {
                    case "transportModel":
                        rawData.transportModel = rootEntryNode.GetBasicValEnum<TransportModel>();
                        break;
                    case "nu":
                        rawData.MolecularViscosity = rootEntryNode.GetDimVal().ScalarValue;
                        break;
                    case "TRef":
                        rawData.TRef = rootEntryNode.GetDimVal().ScalarValue;
                        break;
                    case "LESModel":
                        rawData.LESModel = rootEntryNode.GetBasicValEnum<LesModel>();
                        break;
                    case "Cs":
                        rawData.Cs = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "deltaLESCoeff":
                        rawData.deltaLESCoeff = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "kappa":
                        rawData.kappa = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "betaM":
                        rawData.betaM = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "gammM":
                        rawData.gammM = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "z0":
                        rawData.z0 = rootEntryNode.GetDimVal().ScalarValue;
                        break;
                    case "q0":
                        rawData.q0 = rootEntryNode.GetDimVal().ScalarValue;
                        break;
                    case "surfaceStressModel":
                        rawData.surfaceStressModel = rootEntryNode.GetBasicValEnum<SurfaceStressModel>();
                        break;
                    case "betaSurfaceStress":
                        rawData.betaSurfaceStress = rootEntryNode.GetBasicValDecimal();
                        break;
                }
            }
            return rawData;
        }
Exemple #2
0
        private static void InitTransportProperties(TransportPropertiesData tp)
        {
            tp.MolecularViscosity = 0.00001m;

            tp.CplcNu0 = 0.000001m;
            tp.CplcNuInf = 0.000001m;
            tp.CplcM = 1m;
            tp.CplcN = 1m;

            tp.BccNu0 = 0.000001m;
            tp.BccNuInf = 0.000001m;
            tp.BccM = 0m;
            tp.BccN = 1m;
        }
        public override object Read(string path)
        {
            var    rawData = new TransportPropertiesData();
            string txt;

            using (var reader = new StreamReader(path))
            {
                txt = reader.ReadToEnd();
            }

            var grammar = new OpenFoamGrammar();
            var parser  = new Parser(grammar);
            var tree    = parser.Parse(txt);

            foreach (ParseTreeNode rootEntryNode in tree.Root.FindDictEntries(null))
            {
                var identifier = rootEntryNode.GetEntryIdentifier();
                switch (identifier)
                {
                case "transportModel":
                    rawData.transportModel = rootEntryNode.GetBasicValEnum <TransportModel>();
                    break;

                case "nu":
                    rawData.nu = rootEntryNode.GetDimVal().ScalarValue;
                    break;

                case "TRef":
                    rawData.TRef = rootEntryNode.GetDimVal().ScalarValue;
                    break;

                case "LESModel":
                    rawData.LESModel = rootEntryNode.GetBasicValEnum <LesModel>();
                    break;

                case "Cs":
                    rawData.Cs = rootEntryNode.GetBasicValDecimal();
                    break;

                case "deltaLESCoeff":
                    rawData.deltaLESCoeff = rootEntryNode.GetBasicValDecimal();
                    break;

                case "kappa":
                    rawData.kappa = rootEntryNode.GetBasicValDecimal();
                    break;

                case "betaM":
                    rawData.betaM = rootEntryNode.GetBasicValDecimal();
                    break;

                case "gammM":
                    rawData.gammM = rootEntryNode.GetBasicValDecimal();
                    break;

                case "z0":
                    rawData.z0 = rootEntryNode.GetDimVal().ScalarValue;
                    break;

                case "q0":
                    rawData.q0 = rootEntryNode.GetDimVal().ScalarValue;
                    break;

                case "surfaceStressModel":
                    rawData.surfaceStressModel = rootEntryNode.GetBasicValEnum <SurfaceStressModel>();
                    break;

                case "betaSurfaceStress":
                    rawData.betaSurfaceStress = rootEntryNode.GetBasicValDecimal();
                    break;
                }
            }
            return(rawData);
        }