コード例 #1
0
        public override object Read(string path)
        {
            var rawData = new SetFieldsAblDictData();
            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 "xMax":
                        rawData.xMax = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "yMax":
                        rawData.yMax = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "zMax":
                        rawData.zMax = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "logInit":
                        rawData.logInit = rootEntryNode.GetBasicValBool();
                        break;
                    case "deltaU":
                        rawData.deltaU = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "deltaV":
                        rawData.deltaV = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "Uperiods":
                        rawData.Uperiods = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "Vperiods":
                        rawData.Vperiods = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "zPeak":
                        rawData.zPeak = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "zInversion":
                        rawData.zInversion = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "widthInversion":
                        rawData.widthInversion = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "Tbottom":
                        rawData.Tbottom = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "Ttop":
                        rawData.Ttop = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "dTdz":
                        rawData.dTdz = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "Ug":
                        rawData.Ug = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "UgDir":
                        rawData.UgDir = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "z0":
                        rawData.z0 = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "kappa":
                        rawData.kappa = rootEntryNode.GetBasicValDecimal();
                        break;
                    case "updateInternalFields":
                        rawData.updateInternalFields = rootEntryNode.GetBasicValBool();
                        break;
                    case "updateBoundaryFields":
                        rawData.updateBoundaryFields = rootEntryNode.GetBasicValBool();
                        break;
                }
            }
            return rawData;
        }
コード例 #2
0
        public override object Read(string path)
        {
            var    rawData = new SetFieldsAblDictData();
            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 "xMax":
                    rawData.xMax = rootEntryNode.GetBasicValDecimal();
                    break;

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

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

                case "logInit":
                    rawData.logInit = rootEntryNode.GetBasicValBool();
                    break;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                case "updateInternalFields":
                    rawData.updateInternalFields = rootEntryNode.GetBasicValBool();
                    break;

                case "updateBoundaryFields":
                    rawData.updateBoundaryFields = rootEntryNode.GetBasicValBool();
                    break;
                }
            }
            return(rawData);
        }