Ejemplo n.º 1
0
 public Action GetSaveCommand()
 {
     return(() =>
     {
         var path = _fileHandler.GetPath(_vProject.ProjectDir);
         var d = (SetFieldsAblDictData)_fileHandler.Read(path);
         d.xMax = _model.xMax;
         d.yMax = _model.yMax;
         d.zMax = _model.zMax;
         d.logInit = _model.logInit;
         d.deltaU = _model.deltaU;
         d.deltaV = _model.deltaV;
         d.Uperiods = _model.Uperiods;
         d.Vperiods = _model.Vperiods;
         d.zPeak = _model.zPeak;
         d.zInversion = _model.zInversion;
         d.widthInversion = _model.widthInversion;
         d.Tbottom = _model.Tbottom;
         d.Ttop = _model.Ttop;
         d.dTdz = _model.dTdz;
         d.Ug = _model.Ug;
         d.UgDir = _model.UgDir;
         d.z0 = _model.z0;
         d.kappa = _model.kappa;
         d.updateInternalFields = _model.updateInternalFields;
         d.updateBoundaryFields = _model.updateBoundaryFields;
         _fileHandler.Write(path, d);
         _model.AcceptChanges();
     });
 }
Ejemplo n.º 2
0
 public Action GetSaveCommand()
 {
     return(() =>
     {
         var path = _fileHandler.GetPath(_vProject.ProjectDir);
         var d = (DecomposeParDictData)_fileHandler.Read(path);
         d.numberOfSubdomains = _model.ParallelProcessors;
         //TODO: Mesh refinement
         _fileHandler.Write(path, d);
         _model.AcceptChanges();
     });
 }
        public override void Write(string path, object data)
        {
            var obj = (TurbulencePropertiesData)data;
            var txt = new StringBuilder(TurbulencePropertiesRes.Template);

            txt.Replace("({[[simulationType]]})", obj.SimulationType.ToString());
            WriteToFile(path, txt.ToString());

            if (_fileHandler != null)
            {
                path = path.Replace("\\constant\\turbulenceProperties", "");
                _fileHandler.Write(_fileHandler.GetPath(path),
                                   (obj.SimulationType == TurbulenceModel.RASModel)
                                        ? (object)obj.RasProperties
                                        : obj.LesProperties);
            }
        }
Ejemplo n.º 4
0
 public Action GetSaveCommand()
 {
     return(() =>
     {
         foreach (var x in viewTurbineType.TurbineTypes)
         {
             if (x.ShowInstance != Visibility.Collapsed)
             {
                 x.Save(_vProject.ProjectDir);
             }
         }
         var p = new TurbineArrayPropData()
         {
             outputControl = viewPropArray.OutputControl,
             outputInterval = viewPropArray.OutputInterval
         };
         foreach (var item in viewPropArray.Turbines)
         {
             if (item.ShowInstance != Visibility.Collapsed)
             {
                 p.turbine.Add(new TurbineInstance()
                 {
                     azimuth = item.Azimuth,
                     baseLocation = new Vertice(item.BaseLocation.X,
                                                item.BaseLocation.Y,
                                                item.BaseLocation.Z),
                     turbineType = item.TurbineType,
                     bladeUpdateType = item.BladeUpdateType,
                     epsilon = item.Epsilon,
                     fluidDensity = item.FluidDensity,
                     nacYaw = item.NacYaw,
                     numBladePoints = item.NumBladePoints,
                     pitch = item.Pitch,
                     pointDistType = item.PointDistType,
                     pointInterpType = item.PointInterpType,
                     rotSpeed = item.RotSpeed,
                     rotationDir = item.RotationDir,
                     tipRootLossCorrType = item.TipRootLossCorrType
                 });
             }
         }
         var path = _fileHandler.GetPath(_vProject.ProjectDir);
         _fileHandler.Write(path, p);
     });
 }
Ejemplo n.º 5
0
        public Action GetSaveCommand()
        {
            return(() =>
            {
                var path = _fileHandler.GetPath(_vProject.ProjectDir);
                var d = (AblPropertiesData)_fileHandler.Read(path);

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

                _fileHandler.Write(path, d);
                _model.AcceptChanges();
            });
        }
Ejemplo n.º 6
0
        public Action GetSaveCommand()
        {
            return(() =>
            {
                var path = _fileHandler.GetPath(_vProject.ProjectDir);
                var d = (ControlDictData)_fileHandler.Read(path);

                d.application = _model.Application;
                d.startFrom = _model.StartFrom;
                d.startTime = _model.StartTime;
                d.stopAt = _model.StopAt;
                d.endTime = _model.EndTime;
                d.deltaT = _model.DeltaT;
                d.writeControl = _model.WriteControl;
                d.writeInterval = _model.WriteInterval;
                d.purgeWrite = _model.PurgeWrite;
                d.writeFormat = _model.WriteFormat;
                d.writePrecision = _model.WritePrecision;
                d.writeCompression = _model.WriteCompression;
                d.timeFormat = _model.TimeFormat;
                d.timePrecision = _model.TimePrecision;
                d.runTimeModifiable = _model.IsRunTimeModifiable
                    ? FlagYesNo.yes
                    : FlagYesNo.no;
                d.adjustTimeStep = _model.AdjustTimeStep
                    ? FlagYesNo.yes
                    : FlagYesNo.no;
                d.maxCo = _model.MaxCo;
                d.maxDeltaT = _model.MaxDeltaT;

                // Functions

                _fileHandler.Write(path, d);
                _model.AcceptChanges();
            });
        }
Ejemplo n.º 7
0
        public Action GetSaveCommand()
        {
            return(() =>
            {
                var path = _fileHandler.GetPath(_vProject.ProjectDir);
                var d = (TransportPropertiesData)_fileHandler.Read(path);

                d.betaM = _model.BetaM;
                d.betaSurfaceStress = _model.BetaSurfaceStress;
                d.deltaLESCoeff = _model.DeltaLESCoeff;
                d.gammM = _model.GammM;
                d.LESModel = _model.LESModel;
                d.nu = _model.MolecularViscosity;
                d.z0 = _model.RoughnessHeight;
                d.Cs = _model.SmagorinskyConstant;
                d.surfaceStressModel = _model.SurfaceStressModel;
                d.q0 = _model.SurfaceTemperatureFlux;
                d.TRef = _model.TRef;
                d.transportModel = _model.TransportModel;
                d.kappa = _model.VonKarmanConstant;
                _fileHandler.Write(path, d);
                _model.AcceptChanges();
            });
        }
Ejemplo n.º 8
0
        public Action GetSaveCommand()
        {
            return(() =>
            {
                var path = _fileHandler.GetPath(_vProject.ProjectDir);
                var d = new FvSchemesData(true);

                foreach (var x in schemes.cInterpolation)
                {
                    d.interpolationSchemes.Add(new InterpolationScheme()
                    {
                        scheme = x.Scheme,
                        use_default = (x.Scheme == "default"),
                        function = x.Function,
                        interpolation = x.InterpolationType,
                        view = x.BoundView,
                        lower_limit = (x.BoundView != BoundView.None) ? x.LowerLimit : 0,
                        upper_limit = (x.BoundView != BoundView.None) ? x.UpperLimit : 0,
                        flux = x.Flux,
                        psi = x.Psi
                    });
                }
                foreach (var x in schemes.cSnGrad)
                {
                    d.snGradSchemes.Add(new SurfaceNormalGradientScheme()
                    {
                        scheme = x.Scheme,
                        use_default = (x.Scheme == "default"),
                        function = x.Function,
                        type = x.SurfaceNoramGradientType,
                        psi = x.Psi
                    });
                }
                foreach (var x in schemes.cGradient)
                {
                    d.gradSchemes.Add(new GradientScheme()
                    {
                        scheme = x.Scheme,
                        use_default = (x.Scheme == "default"),
                        function = x.Function,
                        interpolation = x.InterpolationType,
                        discretisation = x.DiscretisationType,
                        limited = x.LimitedType,
                        psi = x.Psi
                    });
                }
                foreach (var x in schemes.cDivergence)
                {
                    d.divSchemes.Add(new DivergenceScheme()
                    {
                        scheme = x.Scheme,
                        use_default = (x.Scheme == "default"),
                        function = x.Function,
                        discretisation = x.DiscretisationType,
                        interpolation = x.InterpolationType,
                        view = x.BoundView,
                        lower_limit = (x.BoundView != BoundView.None) ? x.LowerLimit : 0,
                        upper_limit = (x.BoundView != BoundView.None) ? x.UpperLimit : 0,
                        psi = x.Psi
                    });
                }
                foreach (var x in schemes.cLaplacian)
                {
                    d.laplacianSchemes.Add(new LaplacianScheme()
                    {
                        scheme = x.Scheme,
                        use_default = (x.Scheme == "default"),
                        function = x.Function,
                        interpolation = x.InterpolationType,
                        discretisation = x.DiscretisationType,
                        snGradScheme = x.SurfaceNoramGradientType,
                        psi = x.Psi
                    });
                }
                foreach (var x in schemes.cTime)
                {
                    d.ddtSchemes.Add(new TimeScheme()
                    {
                        scheme = x.Scheme,
                        use_default = (x.Scheme == "default"),
                        function = x.Function,
                        type = x.TimeSchemeType,
                        psi = x.Psi
                    });
                }
                foreach (var x in schemes.cFlux)
                {
                    d.fluxCalculation.Add(new FluxCalculation()
                    {
                        flux = x.Flux,
                        enable = x.Enable
                    });
                }
                _fileHandler.Write(path, d);
                schemes.AcceptChanges();
            });
        }