예제 #1
0
        public void UpdateFromProject(VProject vProject)
        {
            _vProject = vProject;

            var path = _fileHandler.GetPath(_vProject.ProjectDir);
            var data = _fileHandler.Read(path);
            var d = (SetFieldsAblDictData)data;
            _model.xMax = d.xMax;
            _model.yMax = d.yMax;
            _model.zMax = d.zMax;
            _model.logInit = d.logInit;
            _model.deltaU = d.deltaU;
            _model.deltaV = d.deltaV;
            _model.Uperiods = d.Uperiods;
            _model.Vperiods = d.Vperiods;
            _model.zPeak = d.zPeak;
            _model.zInversion = d.zInversion;
            _model.widthInversion = d.widthInversion;
            _model.Tbottom = d.Tbottom;
            _model.Ttop = d.Ttop;
            _model.dTdz = d.dTdz;
            _model.Ug = d.Ug;
            _model.UgDir = d.UgDir;
            _model.z0 = d.z0;
            _model.kappa = d.kappa;
            _model.updateInternalFields = d.updateInternalFields;
            _model.updateBoundaryFields = d.updateBoundaryFields;
            _model.AcceptChanges();
        }
예제 #2
0
 public void UpdateFromProject(VProject vProject)
 {
     _model = (VWindWave) vProject.ProjectModel;
     _model.PropertyChanged += _model_PropertyChanged;
     DataContext = _model;
     CalculateOutput();
 }
예제 #3
0
 public void UpdateFromProject(VProject vProject)
 {
     _projectModel = (VSowfaNormal)vProject.ProjectModel;
     _model = _projectModel.RunSimulation;
     _model.SolverDirectory = Path.Combine(vProject.ProjectDir, "solver");
     _model.PropertyChanged += _model_PropertyChanged;
     DataContext = _model;
 }
예제 #4
0
        public void UpdateFromProject(VProject vProject)
        {
            _projectModel = (VMesoWind)vProject.ProjectModel;
            _projectModel.TargetNotified += _model_TargetNotified;

            grid.CustomUnboundColumnData += grid_CustomUnboundColumnData;

            BindData();
        }
예제 #5
0
        public void UpdateFromProject(VProject vProject)
        {
            _model = (VWakeModel)vProject.ProjectModel;
            _model.SolverOutputDir = Path.Combine(vProject.ProjectDir, "solver");
            if (!Directory.Exists(_model.SolverOutputDir))
                Directory.CreateDirectory(_model.SolverOutputDir);

            DataContext = _model;
        }
        public void UpdateFromProject(VProject vProject)
        {
            _vProject = vProject;

            var path = _fileHandler.GetPath(_vProject.ProjectDir);
            var d = (DecomposeParDictData)_fileHandler.Read(path);
            _model.ParallelProcessors = d.numberOfSubdomains;
            _model.RequireMeshRefinement = true;
            _model.MeshRefinementLevel = 3;
            _model.AcceptChanges();
        }
 private static void InitSowfaNormal(VNewCase newProject, VCase vCase)
 {
     var d = new SowfaNormal();
     var pdir = InitProjectDir(newProject, d.Name);
     var proj = new VProject
     {
         DisplayName = d.Name,
         ProjectDir = pdir,
         ProjectDescriptor = d,
         ProjectModel = d.CreateProjectModel()
     };
     proj.Initialize();
     vCase.Items.Add(proj);
 }
        public override VCase Initialize(VNewCase newProject)
        {
            var vCase = new VCase();
            vCase.Name = newProject.CaseName;
            vCase.CaseDir = InitCaseDir(newProject);
            
            var pdir = InitProjectDir(newProject, newProject.ProjectDescriptor.Name);
            var proj = new VProject
            {
                DisplayName = newProject.ProjectDescriptor.Name,
                ProjectDir = pdir,
                ProjectDescriptor = newProject.ProjectDescriptor,
                ProjectModel = newProject.ProjectDescriptor.CreateProjectModel()
            };
            proj.Initialize();
            vCase.Items.Add(proj);

            CaseHandler.Write(vCase);
            return vCase;
        }
예제 #9
0
        public void UpdateFromProject(VProject vProject)
        {
            _vProject = vProject;
            var path = _fileHandler.GetPath(_vProject.ProjectDir);
            var data = _fileHandler.Read(path);
            var d = (AblPropertiesData)data;

            _model.TurbineArrayOn = d.turbineArrayOn;
            _model.DriveWindOn = d.driveWindOn;
            _model.UWindSpeed = d.UWindSpeedDim.ScalarValue;
            _model.UWindDir = d.UWindDir;
            _model.HWind = d.HWindDim.ScalarValue;
            _model.Alpha = d.alpha;
            _model.LowerBoundaryName = d.lowerBoundaryName;
            _model.UpperBoundaryName = d.upperBoundaryName;
            _model.MeanAvgStartTime = d.meanAvgStartTime;
            _model.CorrAvgStartTime = d.corrAvgStartTime;

            _model.AcceptChanges();
        }
 public void UpdateFromProject(VProject vProject)
 {
     _vProject = vProject;
     var path = _fileHandler.GetPath(_vProject.ProjectDir);
     var data = _fileHandler.Read(path);
     var d = (TransportPropertiesData)data;
     _model.BetaM = d.betaM;
     _model.BetaSurfaceStress = d.betaSurfaceStress;
     _model.DeltaLESCoeff = d.deltaLESCoeff;
     _model.GammM = d.gammM;
     _model.LESModel = d.LESModel;
     _model.MolecularViscosity = d.nu;
     _model.RoughnessHeight = d.z0;
     _model.SmagorinskyConstant = d.Cs;
     _model.SurfaceStressModel = d.surfaceStressModel;
     _model.SurfaceTemperatureFlux = d.q0;
     _model.TRef = d.TRef;
     _model.TransportModel = d.transportModel;
     _model.VonKarmanConstant = d.kappa;
     _model.AcceptChanges();
 }
예제 #11
0
        public override VCase Initialize(VNewCase newProject)
        {
            var vCase = new VCase();

            vCase.Name    = newProject.CaseName;
            vCase.CaseDir = InitCaseDir(newProject);

            var pdir = InitProjectDir(newProject, newProject.ProjectDescriptor.Name);
            var proj = new VProject
            {
                DisplayName       = newProject.ProjectDescriptor.Name,
                ProjectDir        = pdir,
                ProjectDescriptor = newProject.ProjectDescriptor,
                ProjectModel      = newProject.ProjectDescriptor.CreateProjectModel()
            };

            proj.Initialize();
            vCase.Items.Add(proj);

            CaseHandler.Write(vCase);
            return(vCase);
        }
예제 #12
0
 public void UpdateFromProject(VProject vProject)
 {
 }
예제 #13
0
        public void UpdateFromProject(VProject vProject)
        {
            _vProject = vProject;

            var data = _fileHandler.Read(_vProject.ProjectDir);
            var d = (AblGeometryData)data;
            _model.Width = d.BlockMesh.vertices[6].X;
            _model.Length = d.BlockMesh.vertices[6].Y;
            _model.Height = d.BlockMesh.vertices[6].Z;
            _model.AcceptChanges();
        }
예제 #14
0
 public void UpdateFromProject(VProject vProject)
 {
     throw new NotImplementedException();
 }
 public void UpdateFromProject(VProject vProject)
 {
     _model = (VWakeModel)vProject.ProjectModel;
     DataContext = _model;
 }
예제 #16
0
        public void UpdateFromProject(VProject vProject)
        {
            _vProject = vProject;

            var path = _fileHandler.GetPath(_vProject.ProjectDir);
            var data = _fileHandler.Read(path);
            var d = (Offwind.Sowfa.Time.FieldData.FieldData)data;
            _model.InternalFieldType = d.InternalFieldType;

            if (d.FieldClass == FieldClass.volScalarField)
            {
                _model.InternalFieldValue1 = d.InternalFieldValue[0];
            }
            else if (d.FieldClass == FieldClass.volVectorField)
            {
                _model.InternalFieldValue1 = d.InternalFieldValue[0];
                _model.InternalFieldValue2 = d.InternalFieldValue[1];
                _model.InternalFieldValue3 = d.InternalFieldValue[2];
            }

            _model.Dimensions.Mass = d.Dimensions.Mass;
            _model.Dimensions.Length = d.Dimensions.Length;
            _model.Dimensions.Time = d.Dimensions.Time;
            _model.Dimensions.Temperature = d.Dimensions.Temperature;
            _model.Dimensions.Quantity = d.Dimensions.Quantity;
            _model.Dimensions.Current = d.Dimensions.Current;
            _model.Dimensions.LuminousIntensity = d.Dimensions.LuminousIntensity;

            _model.Patches.Clear();
            foreach (var p in d.Patches)
            {
                var vPatch = new VBoundaryPatch();
                
                vPatch.Name = p.Name;
                vPatch.PatchType = p.PatchType;

                vPatch.GradientFieldType = p.GradientFieldType;
                vPatch.ValueFieldType = p.ValueFieldType;

                if (d.FieldClass == FieldClass.volScalarField)
                {
                    vPatch.GradientValue1 = p.GradientValue[0];
                    vPatch.ValueValue1 = p.ValueValue[0];
                }
                else if (d.FieldClass == FieldClass.volVectorField)
                {
                    if (p.GradientValue.Length > 0) vPatch.GradientValue1 = p.GradientValue[0];
                    if (p.GradientValue.Length > 1) vPatch.GradientValue2 = p.GradientValue[1];
                    if (p.GradientValue.Length > 2) vPatch.GradientValue3 = p.GradientValue[2];

                    if (p.ValueValue.Length > 0) vPatch.ValueValue1 = p.ValueValue[0];
                    if (p.ValueValue.Length > 1) vPatch.ValueValue2 = p.ValueValue[1];
                    if (p.ValueValue.Length > 2) vPatch.ValueValue3 = p.ValueValue[2];
                }

                vPatch.Rho = p.Rho;

                _model.Patches.Add(vPatch);
            }

            if (d.FieldClass == FieldClass.volScalarField)
            {
                txtInternalFieldValue2.Visible = false;
                txtInternalFieldValue3.Visible = false;

                txtPatchGradientValue2.Visible = false;
                txtPatchGradientValue3.Visible = false;

                txtPatchValueValue2.Visible = false;
                txtPatchValueValue3.Visible = false;
            }

            gridView1.FocusedRowHandle = this.gridView1.GetVisibleRowHandle(0);
            _model.AcceptChanges();
        }
예제 #17
0
 public void UpdateFromProject(VProject vProject)
 {
     _vProject = vProject;
     var path = _fileHandler.GetPath(_vProject.ProjectDir);
     var data = _fileHandler.Read(path);
     var d = (ControlDictData)data;
     _model.Application = d.application;
     _model.StartFrom = d.startFrom;
     _model.StartTime = d.startTime;
     _model.StopAt = d.stopAt;
     _model.EndTime = d.endTime;
     _model.DeltaT = d.deltaT;
     _model.WriteControl = d.writeControl;
     _model.WriteInterval = d.writeInterval;
     _model.PurgeWrite = d.purgeWrite;
     _model.WriteFormat = d.writeFormat;
     _model.WritePrecision = d.writePrecision;
     _model.WriteCompression = d.writeCompression;
     _model.TimeFormat = d.timeFormat;
     _model.TimePrecision = d.timePrecision;
     _model.IsRunTimeModifiable = d.runTimeModifiable == FlagYesNo.yes;
     _model.AdjustTimeStep = d.adjustTimeStep == FlagYesNo.yes;
     _model.MaxCo = d.maxCo;
     _model.MaxDeltaT = d.maxDeltaT;
     _model.AcceptChanges();
 }
예제 #18
0
 public void UpdateFromProject(VProject vProject)
 {
     _model = (VMesoWind)vProject.ProjectModel;
     _model.TargetNotified += _model_TargetNotified;
     VelocityFreq.DataSource = _model.VelocityFreq;
 }
예제 #19
0
 public void UpdateFromProject(VProject vProject)
 {
     _projectModel = (VMesoWind) vProject.ProjectModel;
     MainMap.Center.Longitude = (double)_projectModel.Longitude;
     MainMap.Center.Latitude = (double)_projectModel.Latitude;
 }
예제 #20
0
 public CaseExplorerEventArgs(VProject project, VProjectItem pItem)
 {
     Project = project;
     ProjectItem = pItem;
 }
예제 #21
0
 public void UpdateFromProject(VProject vProject)
 {
     _model = (VMesoWind)vProject.ProjectModel;
     _model.TargetNotified += _model_TargetNotified;
     DataContext = _model;
 }
예제 #22
0
        public void UpdateFromProject(VProject vProject)
        {
            _vProject = vProject;
            var path = _fileHandler.GetPath(_vProject.ProjectDir);
            var d = (FvSchemesData)_fileHandler.Read(path);

            foreach (var x in d.interpolationSchemes)
            {
                schemes.cInterpolation.Add(new VInterpolationScheme()
                {
                    Scheme = (x.use_default) ? "default" : x.scheme,
                    Function = (x.use_default) ? "" : x.function,
                    BoundView = x.view,
                    Flux = x.flux,
                    InterpolationType = x.interpolation,
                    LowerLimit = (x.view != BoundView.None) ? x.lower_limit : 0,
                    UpperLimit = (x.view != BoundView.None) ? x.upper_limit : 0,
                    Psi = x.psi
                });
            }
            foreach (var x in d.snGradSchemes)
            {
                schemes.cSnGrad.Add(new VSurfaceNormalGradientScheme()
                {
                    Scheme = (x.use_default) ? "default" : x.scheme,
                    Function = (x.use_default) ? "" : x.function,
                    SurfaceNoramGradientType = x.type,
                    Psi = x.psi
                });
            }
            foreach (var x in d.gradSchemes)
            {
                schemes.cGradient.Add(new VGradientScheme()
                {
                    Scheme = (x.use_default) ? "default" : x.scheme,
                    Function = (x.use_default) ? "" : x.function,
                    InterpolationType = x.interpolation,
                    DiscretisationType = x.discretisation,
                    LimitedType = x.limited,
                    Psi = x.psi
                });
            }
            foreach (var x in d.divSchemes)
            {
                schemes.cDivergence.Add(new VDivergenceScheme()
                {
                    Scheme = (x.use_default) ? "default" : x.scheme,
                    Function = (x.use_default) ? "" : x.function,
                    DiscretisationType = x.discretisation,
                    BoundView = x.view,
                    InterpolationType = x.interpolation,
                    LowerLimit = (x.view != BoundView.None) ? x.lower_limit : 0,
                    UpperLimit = (x.view != BoundView.None) ? x.upper_limit : 0,
                    Psi = x.psi                                                                       
                });
            }
            foreach (var x in d.laplacianSchemes)
            {
                schemes.cLaplacian.Add(new VLaplacianScheme()
                {
                    Scheme = (x.use_default) ? "default" : x.scheme,
                    Function = (x.use_default) ? "" : x.function,
                    InterpolationType = x.interpolation,
                    DiscretisationType = x.discretisation,
                    SurfaceNoramGradientType = x.snGradScheme,
                    Psi = x.psi
                });
            }
            foreach (var x in d.ddtSchemes)
            {
                schemes.cTime.Add(new VTimeScheme()
                {
                    Scheme = (x.use_default) ? "default" : x.scheme,
                    Function = (x.use_default) ? "" : x.function,
                    TimeSchemeType = x.type,
                    Psi = x.psi
                });
            }
            foreach (var x in d.fluxCalculation)
            {
                schemes.cFlux.Add(new VFluxControl()
                {
                    Flux = x.flux,
                    Enable = x.enable
                });
            }
            schemes.AcceptChanges();
        }     
 public void UpdateFromProject(VProject vProject)
 {
     _model = (VWakeModel)vProject.ProjectModel;
     DataContext = _model;
     gridDatabase.ItemsSource = _model.VTurbines;
 }
예제 #24
0
 public void UpdateFromProject(VProject vProject)
 {
     _projectModel = (VMesoWind) vProject.ProjectModel;
 }
예제 #25
0
        public void UpdateFromProject(VProject vProject)
        {
            _vProject = vProject;
            var path = _fileHandler.GetPath(_vProject.ProjectDir);
            var d = (TurbineArrayPropData) _fileHandler.Read(path);            

            if (d == null) return;
            viewPropArray.OutputControl = d.outputControl;
            viewPropArray.OutputInterval = d.outputInterval;

            foreach (var x in d.turbine)
            {
                if (x.turbineType != "")
                {
                    turbineNameArray.Add(x.turbineType);
                    viewTurbineType.TurbineTypes.Insert( viewTurbineType.TurbineTypes.Count - 1,
                                                         new VTurbineType(x.turbineType, _vProject.ProjectDir, true));
                }
                viewPropArray.Turbines.Insert( viewPropArray.Turbines.Count - 1,
                                               new VTurbineArrayInstance()
                                               {
                                                    Azimuth = x.azimuth,
                                                    BaseLocation = new VVertice(x.baseLocation),
                                                    BladeUpdateType = x.bladeUpdateType,
                                                    Epsilon = x.epsilon,
                                                    FluidDensity = x.fluidDensity,
                                                    NacYaw = x.nacYaw,
                                                    NumBladePoints = x.numBladePoints,
                                                    Pitch = x.pitch,
                                                    PointInterpType = x.pointInterpType,
                                                    PointDistType = x.pointDistType,
                                                    RotSpeed = x.rotSpeed,
                                                    RotationDir = x.rotationDir,
                                                    TipRootLossCorrType = x.tipRootLossCorrType,
                                                    TypesCopy = turbineNameArray, // TODO
                                                    TurbineType = x.turbineType,
                                                    PropName = "turbine" + viewPropArray.Turbines.Count,
                                               });
            }
            viewPropArray.AcceptChanges();
        }