Example #1
1
        public static void Save(VProject vProject, XmlTextWriter xml)
        {
            Debug.Assert(vProject.ProjectDescriptor != null);
            Debug.Assert(vProject.ProjectDescriptor.Code != null);
            Debug.Assert(vProject.Items != null);

            xml.WriteStartElement("Code");
            xml.WriteValue(vProject.ProjectDescriptor.Code);
            xml.WriteEndElement();

            xml.WriteStartElement("ProjectItems");
            foreach (var item in vProject.Items)
            {
                xml.WriteStartElement("ProjectItem");

                xml.WriteStartElement("DisplayName");
                xml.WriteValue(item.DisplayName);
                xml.WriteEndElement();

                xml.WriteStartElement("Code");
                xml.WriteValue(item.Descriptor.Code);
                xml.WriteEndElement();

                xml.WriteEndElement();
            }
            xml.WriteEndElement();
        }
Example #2
0
 public void UpdateFromProject(VProject vProject)
 {
     _model = (VWindWave)vProject.ProjectModel;
     _model.PropertyChanged += _model_PropertyChanged;
     DataContext             = _model;
     CalculateOutput();
 }
Example #3
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();
        }
Example #4
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();
        }
Example #5
0
        public static void Save(VProject vProject, XmlTextWriter xml)
        {
            Debug.Assert(vProject.ProjectDescriptor != null);
            Debug.Assert(vProject.ProjectDescriptor.Code != null);
            Debug.Assert(vProject.Items != null);

            xml.WriteStartElement("Code");
            xml.WriteValue(vProject.ProjectDescriptor.Code);
            xml.WriteEndElement();

            xml.WriteStartElement("ProjectItems");
            foreach (var item in vProject.Items)
            {
                xml.WriteStartElement("ProjectItem");

                xml.WriteStartElement("DisplayName");
                xml.WriteValue(item.DisplayName);
                xml.WriteEndElement();

                xml.WriteStartElement("Code");
                xml.WriteValue(item.Descriptor.Code);
                xml.WriteEndElement();

                xml.WriteEndElement();
            }
            xml.WriteEndElement();
        }
        public IHttpActionResult CanInnerEdit(string projectId)
        {
            var canInnerEditRoleCodeList = new List <string>
            {
                ProjectUserRoleCode.AssetActor,
                ProjectUserRoleCode.AssetRep,
                ProjectUserRoleCode.AssetManager
            };
            var result = ProjectUsers.Any(pu => pu.ProjectId == projectId &&
                                          pu.UserAccount == ClientCookie.UserCode &&
                                          canInnerEditRoleCodeList.Contains(pu.RoleCode));

            if (result)
            {
                var project = VProject.Search(i => i.ProjectId == projectId).FirstOrDefault();
                if (project != null)
                {
                    switch (project.FlowCode)
                    {
                    case FlowCode.Closure:
                        result = !ProjectInfo.IsFlowStarted(projectId, FlowCode.Closure_ClosurePackage);
                        break;

                    case FlowCode.Renewal:
                        result = !ProjectInfo.IsFlowStarted(projectId, FlowCode.Renewal_Package);
                        break;
                    }
                }
            }
            return(Ok(result));
        }
Example #7
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;
 }
Example #8
0
        public void UpdateFromProject(VProject vProject)
        {
            _projectModel = (VMesoWind)vProject.ProjectModel;
            _projectModel.TargetNotified += _model_TargetNotified;

            grid.CustomUnboundColumnData += grid_CustomUnboundColumnData;

            BindData();
        }
Example #9
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;
        }
Example #10
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();
        }
        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();
        }
Example #12
0
        //private static void InitAblPisoSolver(VNewCase newProject, VCase vCase)
        //{
        //    var d = new AblPisoSolver();
        //    var pdir = InitProjectDir(newProject, d.Name);
        //    var proj = new VProject
        //    {
        //        DisplayName = d.Name,
        //        ProjectDir = pdir,
        //        ProjectDescriptor = d,
        //    };
        //    proj.Initialize();
        //    vCase.Items.Add(proj);
        //}

        //private static void InitAblGeometryAndMesh(VNewProject newProject, VCase vCase)
        //{
        //    var d = new AblGeometryAndMesh();
        //    var pdir = InitProjectDir(newProject, d.Name);
        //    var proj = new VProject
        //    {
        //        Name = d.Name,
        //        ProjectDir = pdir,
        //        ProjectDescriptor = d,
        //    };
        //    proj.Initialize();
        //    proj.GetState().Save();
        //    vCase.Items.Add(proj);
        //}

        //private static void InitWindPlant(VNewCase newProject, VCase vCase)
        //{
        //    var d = new WindPlantPisoSolver();
        //    var pdir = InitProjectDir(newProject, d.Name);
        //    var proj = new VProject
        //    {
        //        DisplayName = d.Name,
        //        ProjectDir = pdir,
        //        ProjectDescriptor = d,
        //    };
        //    proj.Initialize();
        //    vCase.Items.Add(proj);
        //}

        private static void InitMesoWind(VNewCase newProject, VCase vCase)
        {
            var d    = new MesoWindProjectDescriptor();
            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);
        }
Example #13
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();
        }
Example #14
0
        public IHttpActionResult OutputExcel(ProjectSearchCondition condition)
        {
            int totalItems = 0;
            var list       = VProject.Search(-1, -1, condition, ref totalItems);

            var    current      = System.Web.HttpContext.Current;
            var    fileName     = "AM_Project_List_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx";
            string tempFilePath = current.Server.MapPath("~/") + "Temp\\" + fileName;

            ExcelDataInputDirector.SaveToExcel <VProject>(list, tempFilePath);

            //current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx");
            //current.Response.ContentType = "application/octet-stream";
            //current.Response.WriteFile("" + tempFilePath + "");
            //current.Response.End();
            return(Ok(new
            {
                fileName = fileName
            }));
        }
Example #15
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();
        }
Example #16
0
        public ActionResult FlowInfoQuery(string _USCode, string _FlowCode, int _TopRowCount)
        {
            string result = string.Empty;

            int totalRecords = 0;

            var lsProjectInfo = new List <VProject>();

            if (_TopRowCount == -1)
            {
                lsProjectInfo = VProject.Search(i => i.USCode == _USCode && i.FlowCode == _FlowCode).OrderByDescending(i => i.ProjectId).ToList();
            }
            else
            {
                lsProjectInfo = VProject.Search(i => i.USCode == _USCode && i.FlowCode == _FlowCode, obp => obp.ProjectId, 1, _TopRowCount, out totalRecords, true).ToList();
            }

            result = Newtonsoft.Json.JsonConvert.SerializeObject(lsProjectInfo);
            return(Content(result));
        }
Example #17
0
        public IHttpActionResult Search(int pageIndex, int pageSize, ProjectSearchCondition condition)
        {
            int totalItems = 0;
            var list       = VProject.Search(pageIndex, pageSize, condition, ref totalItems);

            foreach (var projectItem in list)
            {
                var item = projectItem;

                item.SetPendingRight();
                //item.SetPackageHoldingSource();
            }

            //if (condition.HoldingStatus != HoldingStatus.Unknown)
            //{
            //    list =
            //        list.Where(
            //            e => e.PackageHoldingDto != null && e.PackageHoldingDto.Status == condition.HoldingStatus).ToList();
            //}
            return(Ok(new PagedDataSource(totalItems, list.ToArray())));
        }
Example #18
0
        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();
        }
Example #19
0
        public static VProject ReadFrom(XmlTextReader xml, IProjectConfiguration config)
        {
            var project = new VProject();

            if (xml.ReadToFollowing("Code"))
            {
                var code = xml.ReadElementContentAsString();
                project.ProjectDescriptor = config.GetDescriptor(code);
            }

            if (xml.ReadToFollowing("ProjectItems"))
            {
                while (xml.ReadToFollowing("ProjectItem"))
                {
                    xml.ReadToFollowing("Name");
                    var name = xml.ReadElementContentAsString();
                    xml.ReadToFollowing("Code");
                    var c = xml.ReadElementContentAsString();
                    project.Items.Add(new VProjectItem(config.GetItemDescriptor(c), name));
                }
            }
            return project;
        }
Example #20
0
        public static VProject ReadFrom(XmlTextReader xml, IProjectConfiguration config)
        {
            var project = new VProject();

            if (xml.ReadToFollowing("Code"))
            {
                var code = xml.ReadElementContentAsString();
                project.ProjectDescriptor = config.GetDescriptor(code);
            }

            if (xml.ReadToFollowing("ProjectItems"))
            {
                while (xml.ReadToFollowing("ProjectItem"))
                {
                    xml.ReadToFollowing("Name");
                    var name = xml.ReadElementContentAsString();
                    xml.ReadToFollowing("Code");
                    var c = xml.ReadElementContentAsString();
                    project.Items.Add(new VProjectItem(config.GetItemDescriptor(c), name));
                }
            }
            return(project);
        }
Example #21
0
 public void UpdateFromProject(VProject vProject)
 {
 }
Example #22
0
 public void UpdateFromProject(VProject vProject)
 {
     _projectModel            = (VMesoWind)vProject.ProjectModel;
     MainMap.Center.Longitude = (double)_projectModel.Longitude;
     MainMap.Center.Latitude  = (double)_projectModel.Latitude;
 }
Example #23
0
 public void UpdateFromProject(VProject vProject)
 {
     _projectModel = (VMesoWind)vProject.ProjectModel;
 }
 public void UpdateFromProject(VProject vProject)
 {
     _model      = (VWakeModel)vProject.ProjectModel;
     DataContext = _model;
 }
Example #25
0
 public void UpdateFromProject(VProject vProject)
 {
     _model = (VMesoWind)vProject.ProjectModel;
     _model.TargetNotified += _model_TargetNotified;
     DataContext            = _model;
 }
Example #26
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();
        }
Example #27
0
 public void UpdateFromProject(VProject vProject)
 {
     _model = (VMesoWind)vProject.ProjectModel;
     _model.TargetNotified  += _model_TargetNotified;
     VelocityFreq.DataSource = _model.VelocityFreq;
 }
Example #28
0
 public void UpdateFromProject(VProject vProject)
 {
     throw new NotImplementedException();
 }
 public void UpdateFromProject(VProject vProject)
 {
     _model      = (VWakeModel)vProject.ProjectModel;
     DataContext = _model;
     gridDatabase.ItemsSource = _model.VTurbines;
 }
Example #30
0
 public CaseExplorerEventArgs(VProject project, VProjectItem pItem)
 {
     Project     = project;
     ProjectItem = pItem;
 }
Example #31
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();
        }