Beispiel #1
0
        if not initial_step and dE > 0.0:
            dt.chop()
            converged = False

    initial_step = False

    # Update time with final dt value
    t += dt.get()

    if tstep % 1 == 0:
        ts.dump(t)

        # Assigning timestep size according to grad_mu_max:
        grad_mu = ts.get_function("abs_grad_mu")
        grad_mu_max = mpi_max(grad_mu.vector().get_local())
        dt_prev = dt.get()
        dt.set(min(0.25/grad_mu_max, T-t))
        info_blue("dt = {}".format(dt.get()))

        ts.dump_stats(t,
                      [grad_mu_max, dt_prev, dt.get(),
                       float(h.values()),
                       Eout_0, Eout_2,
                       Eout_0 + Eout_2, float(tau.values()),
                       dE],
                      "data")

    if tstep % parameters["checkpoint_intv"] == 0 or t >= T:
        save_checkpoint(tstep, t, geo_map.ref_mesh,
                        u_, u_1, ts.folder, parameters)
Beispiel #2
0
                info_blue("E_after  = {}".format(E_after))
                info_blue("dE       = {}".format(dE))
                info_blue("dt       = {}".format(dt.get()))
                dt.chop()
                converged = False

    initial_step = False

    # Update time with final dt value
    t += dt.get()
    # Set dt:
    grad_mu_ufl = df.sqrt(geo_map.gab[i, j] * mu_.dx(i) * mu_.dx(j))
    grad_mu = df.project(grad_mu_ufl, geo_map.S_ref)
    grad_mu_max = mpi_max(grad_mu.vector().get_local())
    dt_prev = dt.get()
    dt.set(min(min(0.25 / grad_mu_max, T - t), parameters["t_ramp"] / 100))
    info_blue("dt = {}".format(dt.get()))

    if tstep % 10 == 0 or np.floor(t / 1000) - np.floor(t_prev / 1000) > 0:
        ts.dump(t)

        # Assigning timestep size according to grad_mu_max:
        #grad_mu = ts.get_function("abs_grad_mu")
        #grad_mu_max = mpi_max(grad_mu.vector().get_local())
        #dt_prev = dt.get()
        #dt.set(min(min(0.25/grad_mu_max, T-t),parameters["t_ramp"]/100) )
        #info_blue("dt = {}".format(dt.get()))

    ts.dump_stats(t, [
        grad_mu_max, dt_prev,
        dt.get(),