Example #1
0
        /// <summary>
        /// Perform Advection
        /// </summary>
        /// <param name="dt"> Timestepsize</param>
        public override void Advect(double dt)
        {
            m_dt = dt;
            MeanVelocity.Clear();
            MeanVelocity.AccLaidBack(1.0, Velocity.Current);

            TimeEvo.Perform(dt);
        }
Example #2
0
        /// <summary>
        /// Setup and solve the System, No evaluation of RHS, this is done in <see cref="FinishTimeStep"/>
        /// </summary>
        /// <param name="dt">TimestepSize</param>
        public override void Advect(double dt)
        {
            if (!divUzero)
            {
                this.divU.Clear();
                // Compute Divergence locally,
                // the values at the singularities might spoil accuracy in the other cells,
                // if a flux formulation is used
                this.divU.Divergence(1.0, this.Velocity);
            }

            MeanVelocity.Clear();
            MeanVelocity.AccLaidBack(1.0, Velocity);

            var OldLevelSet = LevelSet.CloneAs();

            myBDFTimestepper.Perform(dt);
            OldLevelSet.Acc(-1.0, LevelSet);
        }