示例#1
0
        /// <summary>
        /// ...
        /// </summary>
        public override void PostRestart(double time, TimestepNumber timestep)
        {
            //InitLogEnergyOrrSommerfeld();

            WorkingSet.Initialize(Control);

            // Create WorkingSetMatrices
            switch (Control.PhysicsMode)
            {
            case PhysicsMode.Incompressible:
                break;

            case PhysicsMode.LowMach:
                LowMachSIMPLEControl lowMachConf = Control as LowMachSIMPLEControl;
                m_WorkingSetMatrices = new VariableMatrices(base.GridData, WorkingSet.VelBasis, WorkingSet.PressureBasis,
                                                            lowMachConf.EoS, WorkingSet.Temperature.Current);
                break;

            case PhysicsMode.Multiphase:
                MultiphaseSIMPLEControl multiphaseConf = Control as MultiphaseSIMPLEControl;
                m_WorkingSetMatrices = new VariableMatrices(base.GridData, WorkingSet.VelBasis, WorkingSet.PressureBasis,
                                                            multiphaseConf.EoS, WorkingSet.Phi.Current);
                break;

            default:
                throw new NotImplementedException();
            }

            WorkingSet.CheckForNanOrInf(Control);
            // push start values to history
            WorkingSet.Push(Control);
        }
示例#2
0
        /// <summary>
        /// Initializes velocity and pressure
        /// </summary>
        protected override void SetInitial()
        {
            //WriteQuadNodesOrrSommerfeld();
            //InitOrrSommerfeld();

            base.SetInitial();

            //TaylorVortexHack();

            WorkingSet.Initialize(Control);

            // Create WorkingSetMatrices
            switch (Control.PhysicsMode)
            {
            case PhysicsMode.Incompressible:
                break;

            case PhysicsMode.LowMach:
                LowMachSIMPLEControl lowMachConf = Control as LowMachSIMPLEControl;
                m_WorkingSetMatrices = new VariableMatrices(base.GridData, WorkingSet.VelBasis, WorkingSet.PressureBasis,
                                                            lowMachConf.EoS, WorkingSet.Temperature.Current);
                break;

            case PhysicsMode.Multiphase:
                MultiphaseSIMPLEControl multiphaseConf = Control as MultiphaseSIMPLEControl;
                m_WorkingSetMatrices = new VariableMatrices(base.GridData, WorkingSet.VelBasis, WorkingSet.PressureBasis,
                                                            multiphaseConf.EoS, WorkingSet.Phi.Current);
                break;

            default:
                throw new NotImplementedException();
            }

            WorkingSet.CheckForNanOrInf(Control);
            // push start values to history
            WorkingSet.Push(Control);
        }