In [1]:
benchmark_id = '3a.1'
line_plots = [
    dict(name='free_energy', layout=dict(log_y=True, x_label=r'<i>t</i>', y_label=r'&#8497;', range_y=[1.8e6, 2.4e6], title="Free Energy v Time")),
    dict(name='solid_fraction', layout=dict(log_y=True, x_label=r'<i>t</i>')),
    dict(name='tip_position', layout=dict(log_y=True, x_label=r'<i>t</i>')),
    dict(name='phase_field_1500', layout=dict(aspect_ratio=1.0))
]
contour_plots = []
efficiency = True
In [2]:
# Parameters
benchmark_id = "1b.1"
line_plots = [
    {
        "name": "free_energy",
        "layout": {
            "log_y": True,
            "log_x": True,
            "x_label": "Simulated Time, <i>t</i><sub>Sim</sub>&nbsp;[a.u.]",
            "y_label": "Simulated Free Energy, &#8497;&nbsp;[a.u.]",
            "title": "",
        },
    }
]
In [3]:
from IPython.display import display_markdown

display_markdown(f'''
# Benchmark { benchmark_id } Results

All results for the [{ benchmark_id } benchmark specification](../../benchmarks/benchmark{ benchmark_id }.ipynb/).
''', raw=True)

Benchmark 1b.1 Results

All results for the 1b.1 benchmark specification.

In [4]:
# To generate the comparison notebooks use:
# 
# papermill template.ipynb benchmark{version}.ipynb -f bm{version}.yaml
#
In [5]:
from IPython.display import HTML

HTML('''<script>
code_show=true; 
function code_toggle() {
 if (code_show){
 $('div.input').hide();
 $('div.prompt').hide();
 } else {
 $('div.input').show();
$('div.prompt').show();
 }
 code_show = !code_show
} 
$( document ).ready(code_toggle);
</script>
<form action="javascript:code_toggle()"><input type="submit" value="Code Toggle"></form>''')
Out[5]:
In [6]:
#from IPython.display import HTML, display
#from time import sleep

#display(HTML("""
#<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
#"""))

#sleep(0.1)

from IPython.display import HTML, display, display_markdown
from time import sleep

#import logging
#logging.basicConfig(format='%(asctime)s - %(message)s', level=logging.DEBUG)

display(HTML("""
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
"""))

sleep(0.1)


from pfhub.main import line_plot, levelset_plot, get_table_data_style, plot_order_of_accuracy, get_result_data, efficiency_plot
#import itables.interactive
from itables import init_notebook_mode

init_notebook_mode(all_interactive=False)
In [7]:
colors = dict()

for x in line_plots:
    fig = line_plot(
        data_name=x['name'],
        benchmark_id=benchmark_id,
        layout=x['layout'],
        columns=x.get('columns', ('x', 'y'))
    )
    if 'extra_lines' in x:
        for kwargs in x['extra_lines']:
            fig.add_scatter(**kwargs)  
    for datum in fig['data']:
        name = datum['name']
        color = datum['line']['color']
        datum['line']['color'] = colors.get(name, color)
        colors[name] = datum['line']['color']
    fig.show()
In [8]:
for x in contour_plots:
    data = get_result_data([x['name']], [benchmark_id], x['columns'])

    levelset_plot(
        data,
        layout=x['layout'],
        mask_func=lambda df: (x['mask_z'][0] < df.z) & (df.z < x['mask_z'][1]),
        columns=x['columns']
    ).show()
In [9]:
if efficiency:
    efficiency_plot(benchmark_id).show()
    display_markdown("<span class='plotly-footnote' >* Wall time divided by the total simulated time.</span>", raw=True)

* Wall time divided by the total simulated time.

In [10]:
display_markdown(f'''
# Table of Results

Table of { benchmark_id } benchmark result uploads.
''', raw=True)

Table of Results

Table of 1b.1 benchmark result uploads.

In [11]:
## Currently switching off interactive tables as these are not converted to HTML properly.
## This might improve when jupyter-nbcovert is updated to a later version.

init_notebook_mode(all_interactive=False)
get_table_data_style(benchmark_id, pfhub_path='../..')
Out[11]:
Timestamp Name Code Author GitHub ID
2023-02-04 moose_1b_mpf moose Matthew Frichtl mfrichtl
2020-10-15 moose_1b_guan moose Xiaoyu Guan xiaoyuguan
2020-02-03 memphis_1b memphis Remi Dingreville rdingre
2019-06-09 Spinodal_b Fenics Shubhajit M smondal44
2018-11-09 fenics_1b_ivan fenics Ivan Yashchuk IvanYashchuk
2018-08-09 moose_fh_1b moose Floyd Hilty FHilty
2018-03-19 itg_moose_1b moose Ian Greenquist itgreenquist
2017-12-18 hiperc_1b_cuda_9pt custom Trevor Keller tkphd
2017-12-18 hiperc_1b_cuda custom Trevor Keller tkphd
2017-02-12 mmsp_1b_wrksttn mmsp Trevor Keller tkphd
2017-02-10 prismspf_1b prisms Stephen DeWitt stvdwtt
2017-02-08 moose_psu_1b_STA moose PC. Simon simopier
2017-02-04 mmsp_1b_raspi mmsp Trevor Keller tkphd
2017-02-01 moose_psu_1b_IA moose PC. Simon simopier
2017-01-27 inl_moose_1b_raspi moose Daniel Schwen dschwen
2017-01-24 inl_moose_1b moose Daniel Schwen dschwen
2017-01-10 mmsp_1b_travis mmsp Trevor Keller tkphd
2017-01-10 fipy_1b_travis fipy Trevor Keller tkphd
2016-06-28 moose_1b_ia moose A. M. Jokisaari amjokisaari
2016-06-28 moose_1b_sta moose A. M. Jokisaari amjokisaari
Upload Benchmark Results