Пример #1
0
        public SolverData()
        {
            FieldEpsilon = new FieldEpsilon();
            FieldK = new FieldK();
            FieldNut = new BoundaryField();
            FieldP = new FieldP();
            FieldR = new FieldR();
            FieldU = new FieldU();
            #region Handlers
            _controlDictHandler = new ControlDictHandler();
            _transportPropHandler = new TransportPropertiesHandler();
            _blockMeshHandler = new BlockMeshDictHandler();
            _turbineArrayPropHandler = new TurbineArrayPropHandler();
            _turbineProperiesHandler = new TurbineProperiesHandler("NREL5MWRef", true);
            _fieldEpsilonHandler = new FieldEpsilonHandler();
            _fieldKHandler = new FieldKHandler();
            _fieldPHandler = new FieldPHandler();
            _fieldUHandler = new FieldUHandler();
            _fieldRHandler = new FieldRHandler();
            _fvSolutionHandler = new FvSolutionHandler();
            _fvSchemesHandler = new FvSchemesHandler();
            _decomposeParDictHandler = new DecomposeParDictHandler();
            _turbulencePropertiesHandler = new TurbulencePropertiesHandler();
            _airfoilPropertiesHandler = new AirfoilPropertiesHandler(null);
            #endregion

            #region Data
            BlockMeshDict = (BlockMeshDictData) _blockMeshHandler.Read(null);
            ControlDict = (ControlDictData) _controlDictHandler.Read(null);
            TransportProperties = (TransportPropertiesData) _transportPropHandler.Read(null);
            TurbineArrayProperties = (TurbineArrayPropData) _turbineArrayPropHandler.Read(null);
            TurbineProperties = (TurbinePropertiesData) _turbineProperiesHandler.Read(null);
            FvSolution = (FvSolutionData) _fvSolutionHandler.Read(null);
            FvScheme = (FvSchemesData) _fvSchemesHandler.Read(null);
            DecomposeParDict = (DecomposeParDictData) _decomposeParDictHandler.Read(null);
            TurbulenceProperties = (TurbulencePropertiesData)_turbulencePropertiesHandler.Read(null);

            AirfoilData = _airfoilPropertiesHandler.ReadDefault();

            #endregion

            /* extra post-initialize calls */
            InitTransportProperties(TransportProperties);
            InitFieldK(FieldK);
            InitFieldEpsilon(FieldEpsilon);
            InitFieldP(FieldP);
            InitFieldR(FieldR);
            InitFieldU(FieldU);

            AirfoilProperties = new AirfoilPropertiesData();
            ProcessingSettings = new ProcessingSettings();
        }
Пример #2
0
        private static void InitFieldU(FieldU f)
        {
            f.InternalField.Type = PatchValueType.Uniform;
            f.InternalField.Value1 = 7.304m;
            f.InternalField.Value2 = 8.226m;
            f.InternalField.Value3 = 0;

            f.TopType = PatchType.slip;

            f.WestType = PatchType.atmBoundaryLayerInletVelocity;
            f.WestParams.Uref = 11;
            f.WestParams.Href = 520;
            f.WestParams.N = new Vertice()
                                   {
                                       X = 0.664m,
                                       Y = 0.7478m,
                                       Z = 0
                                   };
            f.WestParams.Z = new Vertice()
                                   {
                                       X = 0,
                                       Y = 0,
                                       Z = 1
                                   };
            f.WestParams.Z0 = new PatchValueScalar()
                                    {
                                        Type = PatchValueType.Uniform,
                                        Value = 0.014m
                                    };
            f.WestParams.ZGround = new PatchValueScalar()
                                         {
                                             Type = PatchValueType.Uniform,
                                             Value = 0
                                         };
            f.WestParams.Value.Type = PatchValueType.Uniform;
            f.WestParams.Value.Value1 = 0;
            f.WestParams.Value.Value2 = 0;
            f.WestParams.Value.Value3 = 0;

            f.EastType = PatchType.zeroGradient;
            f.NorthType = PatchType.zeroGradient;
            f.BottomType = PatchType.fixedValue;
            f.BottomValue.Type = PatchValueType.Uniform;
            f.BottomValue.Value1 = 0;
            f.BottomValue.Value2 = 0;
            f.BottomValue.Value3 = 0;


            f.SouthType = PatchType.atmBoundaryLayerInletVelocity;
            f.SouthParams.Uref = 11;
            f.SouthParams.Href = 520;
            f.SouthParams.N = new Vertice()
            {
                X = 0.664m,
                Y = 0.7478m,
                Z = 0
            };
            f.SouthParams.Z = new Vertice()
            {
                X = 0,
                Y = 0,
                Z = 1
            };
            f.SouthParams.Z0 = new PatchValueScalar()
            {
                Type = PatchValueType.Uniform,
                Value = 0.014m
            };
            f.SouthParams.ZGround = new PatchValueScalar()
            {
                Type = PatchValueType.Uniform,
                Value = 0
            };
            f.SouthParams.Value.Type = PatchValueType.Uniform;
            f.SouthParams.Value.Value1 = 0;
            f.SouthParams.Value.Value2 = 0;
            f.SouthParams.Value.Value3 = 0;
        }