Skip to content
Snippets Groups Projects
Forked from agnumpde / dune-tectonic
112 commits ahead of the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
iterations.py 1.32 KiB
import numpy as np
import matplotlib.pyplot as plt

def iterations(h5file, FINAL_TIME, interval = []):

    # read time steps
    tau = np.array(h5file['relativeTimeIncrement']) * FINAL_TIME
    tau = np.delete(tau, 0)

    # read fpi iterations
    fpi_final = np.array(h5file['iterations/fixedPoint/final'])
    fpi_final = np.delete(fpi_final, 0)
    #fpi_total = np.array(h5file['iterations/fixedPoint/total'])

    # read multigrid iterations
    multigrid_final = np.array(h5file['iterations/multiGrid/final'])
    multigrid_final = np.delete(multigrid_final, 0)
    #multigrid_total = np.array(h5file['iterations/multiGrid/total'])

    if len(interval) == 0:
        interval = [0, len(tau)-1]
    t = np.linspace(interval[0], interval[1], interval[1]-interval[0]+1, endpoint=True, dtype='int8')

     # plot
    fig = plt.figure()

    ax_fpi = fig.add_subplot(3, 1, 1)
    ax_fpi.plot(t, fpi_final[t], color='black', linestyle='-')
    ax_fpi.set_ylabel('fpi')
    #-------------------------

    ax_mg = fig.add_subplot(3, 1, 2)
    ax_mg.plot(t, multigrid_final[t], color='black', linestyle='-')
    ax_mg.set_ylabel('multigrid')
    #-------------------------

    ax_tau = fig.add_subplot(3, 1, 3)
    ax_tau.plot(t, tau[t], color='black', linestyle='-')
    ax_tau.set_ylabel('tau')
    #-------------------------

    fig.canvas.draw()