public void Can_append() { const string fileName = "c:\\temp\\resin_tests\\FieldFileTests\\Can_append\\0.fld"; if (File.Exists(fileName)) { File.Delete(fileName); } using (var writer = new FieldFile(fileName)) { writer.Write(0, "Hello", 0); } var terms = FieldReader.Load(fileName).GetAllTokens(); Assert.AreEqual(1, terms.Count); Assert.IsTrue(terms.Contains("Hello")); Assert.IsFalse(terms.Contains("World!")); using (var writer = new FieldFile(fileName)) { writer.Write(0, "World!", 1); } terms = FieldReader.Load(fileName).GetAllTokens(); Assert.AreEqual(2, terms.Count); Assert.IsTrue(terms.Contains("Hello")); Assert.IsTrue(terms.Contains("World!")); }
public IEnumerable <string> GetFieldItemsOfSelectedField() { var fn = FieldListBox.SelectedItemText; var fdata = FieldFile.GetFieldFile(fn, currDatabase.folder); var ds = fdata.ReadFieldHeaders(); return(from d in ds select d.name); }
private SteelFlowProjectFile() : base() { inletNames = new List <string>(); upfaceNames = new List <string>(); symNames = new List <string>(); outletNames = new List <string>(); wallNames = new List <string>(); U = new FieldFile("U", Dimension.U, new InternalField(new VectorVar(0.0, 0.0, 0.0, true))); p = new FieldFile("p", Dimension.P, new InternalField(new ScalerVar(0, true))); k = new FieldFile("k", Dimension.K, new InternalField(new ScalerVar(0.001, true))); nut = new FieldFile("nut", Dimension.NU, new InternalField(new ScalerVar(0.0, true))); epsilon = new FieldFile("epsilon", Dimension.EPSILON, new InternalField(new ScalerVar(0.1, true))); this.Fields.AddRange(new FieldFile[] { U, p, k, nut, epsilon }); TransportProperties.AddPropertie("nu", new ScalerVar(Material.DynamicViscosity / Material.Density, Dimension.NU)); TurbulenceProperties.Model = new KEpsilon(); Ddt ddtSteady = new Ddt(Ddt.DdtTypes.steadyState); Interpolation ipLinear = new Interpolation(Interpolation.InterpolationTypes.linear); Interpolation ipUpwind = new Interpolation(Interpolation.InterpolationTypes.upwind); Grad gdGaussLinear = new Grad(Grad.GradTypes.Gauss, ipLinear); Grad gdGaussUpwind = new Grad(Grad.GradTypes.Gauss, ipUpwind); Div dvGaussUpwind = new Div(Div.DivTypes.Gauss, ipUpwind); Div dvGaussLinear = new Div(Div.DivTypes.Gauss, ipLinear); SnGrad sgLimitedCorrected = new SnGrad(SnGrad.SnGradTypes.limited, "corrected 0.33"); Laplacian lpGaussLinear = new Laplacian(Laplacian.LaplacianTypes.Gauss, ipLinear, sgLimitedCorrected); FvSchemes.AddDdtSchemes(ddtSteady); FvSchemes.AddGradSchemes(gdGaussLinear); FvSchemes.AddDivSchemes(dvGaussLinear); FvSchemes.AddDivSchemes("div(phi,U)", dvGaussUpwind); FvSchemes.AddDivSchemes("div(phi,k)", dvGaussUpwind); FvSchemes.AddDivSchemes("div(phi,epsilon)", dvGaussUpwind); FvSchemes.AddLaplacianSchemes(lpGaussLinear); FvSchemes.AddInterpolationSchemes(ipLinear); FvSchemes.AddSnGradSchemes(sgLimitedCorrected); Simple simple = new Simple(); simple.residual.SetResidual("p", 1e-4); simple.residual.SetResidual("U", 1e-4); simple.residual.SetResidual("\"(k|omega|epsilon)\"", 1e-4); FvSolution.Solution = simple; FvSolution.Relaxation.AddFieldFactor("p", 0.3); FvSolution.Relaxation.AddEquationFactor("U", 0.7); FvSolution.Relaxation.AddEquationFactor("\"(k|omega|epsilon).*\"", 0.7); GAMG gamgP = new GAMG("p", 1e-6, 0.1, Solver.SmootherTypes.GaussSeidel); SmootherSolver ssOther = new SmootherSolver("\"(U|k|omega|epsilon)\"", 1e-5, 0.1, Solver.SmootherTypes.GaussSeidel); GAMG gamgOther = new GAMG("\"(U|k|omega|epsilon)\"", 1e-6, 0.1, Solver.SmootherTypes.GaussSeidel); FvSolution.AddSolver(gamgP); FvSolution.AddSolver(ssOther); }
public void Test() { //return; var fieldData = FieldFile.GetFieldFile("REP30040", DatabaseDir); SwitchSpec spec = new SwitchSpec { demographicField = new FieldDetail() { fieldName = "WPOCITY", fieldItems = { "全国总体", " 上海", " 北京", } }, period1Field = new FieldDetail() { fieldName = "W_PERIOD", fieldItems = new SortedSet <string>((from header in FieldFile.GetFieldFile("W_PERIOD", DatabaseDir).ReadFieldHeaders() select header.name).Skip(1).ToList()) }, dataFilter = new FieldDetail() { fieldName = "REP30031", fieldItems = { " 新鲜酸奶", " 果粒酸奶" } }, brands = new FieldDetail() { fieldName = "REP30040", fieldItemsIndex = new SortedSet <int> { 1, 2, 3 } }, primaryVolume = new FieldDetail() { fieldName = "R_SPEND", }, secondaryVolume = new FieldDetail() { fieldName = "R_SPEND", }, isRolling = true, periodLength = 13, waveInterval = 13, }; }
public void Can_read_field_file() { const string fileName = "c:\\temp\\resin_tests\\Can_read_field_file\\0.fld"; if (File.Exists(fileName)) { File.Delete(fileName); } using (var fw = new FieldFile(fileName)) { fw.Write(0, "hello", 0); fw.Write(5, "world", 1); } var reader = FieldReader.Load(fileName); var helloPositionsForDocId0 = reader.GetPostings("hello")[0]; var worldPositionsForDocId5 = reader.GetPostings("world")[5]; Assert.AreEqual(0, helloPositionsForDocId0.First()); Assert.AreEqual(1, worldPositionsForDocId5.First()); }
static void test1() { FieldFile ff = new FieldFile("U"); ff.Dimensions = Dimension.U; ff.InternalField = new InternalField(new VectorVar(1, 0, 0, true)); ff.BoundaryField = new BoundaryField(); ff.BoundaryField.AddBoundary(new FixedValue("in", new VectorVar(1, 0, 0, true))); ff.BoundaryField.AddBoundary(new Symmetry("sym")); //ff.Write("e:\\hope\\test"); ControlDict cd = new ControlDict(); //cd.Write("e:\\hope\\test"); FvSchemes fs = new FvSchemes(); Interpolation i = new Interpolation(Interpolation.InterpolationTypes.linear); Grad g = new Grad(Grad.GradTypes.Gauss, i); SnGrad s = new SnGrad(SnGrad.SnGradTypes.corrected); Laplacian l = new Laplacian(Laplacian.LaplacianTypes.Gauss, i, s); Div d = new Div(Div.DivTypes.Gauss, i); fs.AddDdtSchemes(new Ddt(Ddt.DdtTypes.steadyState)); fs.AddGradSchemes(g); fs.AddDivSchemes(d); fs.AddDivSchemes("div(phi,U)", d); fs.AddLaplacianSchemes(l); fs.AddInterpolationSchemes(i); fs.AddSnGradSchemes(s); //fs.Write("e:\\hope\\test"); FvSolution fsn = new FvSolution(new Simple()); PBiCG psu = new PBiCG("U", 0.001, 0.001, PBiCG.Preconditioners.DIC); PBiCG psp = new PBiCG("p", 0.001, 0.001, PBiCG.Preconditioners.DIC); fsn.AddSolver(psu); fsn.AddSolver(psp); fsn.SetFieldRelaxtionFactors("U", 1); fsn.SetFieldRelaxtionFactors("U", 0.8); //fsn.Write("e:\\hope\\test"); }
public void Can_read_write() { const string fileName = "c:\\temp\\resin_tests\\FieldFileTests\\Can_read_write\\0.fld"; if (File.Exists(fileName)) { File.Delete(fileName); } using (var writer = new FieldFile(fileName)) { writer.Write(0, "Hello", 0); writer.Write(0, "World!", 1); } Assert.IsTrue(File.Exists(fileName)); var reader = FieldReader.Load(fileName); var terms = reader.GetAllTokens(); Assert.IsTrue(terms.Contains("Hello")); Assert.IsTrue(terms.Contains("World!")); }
public void SetField(FieldDetail field) { Console.WriteLine("Searching field {0}", field.fieldName); FieldDescListBox.Items[FieldListBox.Items.FindIndex(x => x.Name == field.fieldName)].Select(); if (field.fieldItems.Count == 0 && field.fieldItemsIndex.Count == 0) { return; } var headers = FieldFile.GetFieldFile(field.fieldName, dbFolder).ReadFieldHeaders(); var indices = headers .Select((item, index) => new { item.name, index }) .Where(pair => { return(field.fieldItems.Contains(pair.name)); }) .Select(x => x.index) .Concat(field.fieldItemsIndex) .OrderBy(x => x); foreach (var idx in indices) { Console.WriteLine("{0} -> {1}", idx, headers[idx].name); } SelectFieldItems(indices); }