Last active
July 31, 2024 16:00
-
-
Save wd15/4baf6e83aef80ff48af0535f2c8262be to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
crate-directory: crate1 | |
title: "Phase Field Simulation: Homogeneous Nucleation Benchmark No.8a" | |
description: "An example of generating an ro-crate from a PFHub result, for now this is only focused on the computational platform, environment and implementation" | |
specification: | |
identifier: https://raw.githubusercontent.com/usnistgov/pfhub/master/benchmarks/benchmark8.ipynb | |
description: >- | |
Phase field modeling of nucleation has a long history and is | |
covered in a number of reviews (Gránásy 2002, Castro 2003, Simmons | |
2004, Gránásy 2007, Warren 2009, Heo 2014, Gránásy 2019). The | |
problem formulation of crystallization of an ideal pure liquid | |
cooled below its melting point starts with homogeneous nucleation, | |
a process in which the internal fluctuations of the undercooled | |
liquid lead to the formation of crystal-like seeds able to grow to | |
macroscopic sizes. The nucleation can be assisted by the presence | |
of surfaces (container walls, foreign particles, etc.), in which | |
case the process is termed heterogeneous nucleation. We note that | |
homogeneous nucleation is an idealized formulation, and it is | |
unlikely homogeneous nucleation occurs, due to impurities present | |
in experimental apparatus. However, creating benchmark problems | |
for homogeneous nucleation is still needed since the focus in | |
nucleation research often lies on the underlying homogeneous | |
nucleation, as it is the basis for advancing theoretical | |
approaches to the much more complex phenomena governing | |
heterogeneous nucleation. This benchmark (benchmark 8) targets | |
homogeneous nucleation while benchmark 9 targets heterogeneous | |
nucleation. | |
keywords: | |
- phase-field | |
- nucleation | |
- benchmark | |
- homogeneous-nucleation | |
name: homogeneous nucleation specification | |
url: https://pages.nist.gov/pfhub/benchmarks/benchmark8.ipynb/index.html | |
encodingFormat: application/x-ipynb+json | |
type: file | |
path: https://raw.githubusercontent.com/usnistgov/pfhub/master/benchmarks/benchmark8.ipynb | |
download: truex | |
contexts: | |
- "https://w3id.org/ro/terms/workflow-run/context" | |
authors: | |
- name: Daniel Wheeler | |
orcid: https://orcid.org/0000-0002-2653-7418 | |
affiliation: NIST | |
- name: Austyn Nguyen | |
orcid: https://orcid.org/0009-0008-2880-8403 | |
affiliation: NIST | |
license: | |
identifier: "https://spdx.org/licenses/NIST-PD.html" | |
name: "NIST-PD" | |
description: "NIST Public Domain Notice" | |
url: https://github.com/tcheneau/simpleRPL/blob/e645e69e38dd4e3ccfeceb2db8cba05b7c2e0cd3/LICENSE.txt | |
outputs: | |
- path: "data/stats.txt" | |
type: file | |
encodingFormat: "text/tab-separated-values" | |
description: "Solid Fraction and Free Energy vs. Time" | |
name: stats.txt | |
columns: | |
- identifier: time | |
description: "Simulation time" | |
unit: s | |
type: float | |
value: "column 1" | |
- identifier: fraction | |
description: "Solid fraction" | |
unit: null | |
type: float | |
value: "column 2" | |
- identifier: energy | |
description: "Free energy" | |
type: float | |
unit: J | |
value: "column 3" | |
- path: "./data/fields" | |
type: directory | |
encodingFormat: application/tar+gzip | |
description: "The phase field variable at various times during the simulation" | |
name: "./fields" | |
columns: | |
- identifier: phaseField | |
description: "Phase field variable" | |
unit: null | |
type: float | |
inputs: | |
- path: "../benchmark8/params8a.yaml" | |
encodingFormat: "text/yaml" | |
name: params8a.yaml | |
description: "Parameter file require to run simulation" | |
download: false | |
columns: | |
- identifier: factor | |
description: "fraction of equilibrium radius" | |
unit: null | |
type: float | |
value: 1.1 | |
- identifier: Lx | |
description: "length of Mesh" | |
unit: null | |
type: float | |
value: 100.0 | |
- identifier: Ly | |
description: "height of mesh" | |
unit: null | |
type: float | |
value: 100.0 | |
- identifier: dx | |
description: "cell spacing" | |
unit: null | |
type: float | |
value: 100.0 | |
- identifier: dt | |
description: "timestep" | |
unit: null | |
type: float | |
value: 0.01 | |
- path: "https://github.com/wd15/phase-field-nucleation-benchmark/blob/master/fipy/benchmark8a.py" | |
download: true | |
encodingFormat: text/x-script.python | |
name: benchmark8a.py | |
description: "script to run the main simulation" | |
- path: "../pyproject.toml" | |
name: pyproject.toml | |
encodingFormat: application/toml | |
description: "File required to build Python environment using Poetry" | |
download: false | |
workflow: | |
dateCreated: "2017-01-09" | |
name: "Main workflow" | |
creator: https://orcid.org/0000-0002-2653-7418 | |
description: "python benchmark8a.py params8a.yaml" | |
agent: https://orcid.org/0009-0008-2880-8403 | |
implementation: | |
identifier: "https://github.com/wd15/phase-field-nucleation-benchmark/commit/2a7e1778cd2f4988b592f2bd0c84852911111fb7" | |
programmingLanguage: "Python 3.11" | |
description: "FiPy implementation for \"Phase Field Benchmark Problems for Nucleation\"" | |
name: phase-field-nucleation-benchmark | |
applicationCategory: Script | |
codeRepository: https://github.com/wd15/phase-field-nucleation-benchmark | |
softwareHelp: https://github.com/wd15/phase-field-nucleation-benchmark/blob/master/README.md | |
dependencies: | |
- name: FiPy | |
identifier: "#fipy" | |
version: 3.4.4 | |
description: "FiPy is a Finite Volume PDE solver written in Python" | |
url: https://github.com/usnistgov/fipy | |
- name: Numpy | |
identifier: "#numpy" | |
version: 1.26.4 | |
description: "Numpy library" | |
url: https://github.com/numpy/numpy | |
- name: Scipy | |
identifier: "#scipy" | |
description: "Scipy library" | |
version: 1.13.1 | |
url: https://github.com/scipy/scipy | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from rocrate.rocrate import ROCrate | |
from rocrate.model.person import Person | |
from rocrate.model.entity import Entity | |
from rocrate.model.computationalworkflow import ComputationalWorkflow | |
from rocrate.model.contextentity import ContextEntity | |
from frictionless import Schema, Resource | |
import yaml | |
import toolz | |
from toolz.curried import curry, pipe | |
from toolz.curried import map as fmap | |
# Helpful webpages: | |
# - https://www.researchobject.org/workflow-run-crate/profiles/process_run_crate/ | |
# - https://biotools.readthedocs.io/en/latest/curators_guide.html#tool-type | |
# - https://github.com/ResearchObject/ro-terms/tree/master/workflow-run | |
def read_yaml(filepath): | |
with open(filepath, 'r') as file: | |
yaml_content = yaml.safe_load(file) | |
return yaml_content | |
@curry | |
def set_value(obj, key, value): | |
obj[key] = value | |
return obj | |
@curry | |
def set_attr(obj, key, value): | |
setattr(obj, key, value) | |
return obj | |
@curry | |
def crateadd(crate, thing): | |
return crate.add(thing) | |
@curry | |
def add_authors(authors, crate): | |
return pipe( | |
authors, | |
fmap(lambda x: crate.add( | |
Person( | |
crate, | |
x['orcid'], | |
properties=dict( | |
name=x['name'], | |
affiliation=x['affiliation'] | |
) | |
) | |
)), | |
list, | |
set_root("author", crate=crate) | |
) | |
@curry | |
def add_license(license, crate): | |
return pipe( | |
license, | |
lambda x: crate.add(Entity( | |
crate, | |
identifier=license['identifier'], | |
properties={ | |
"@type": "CreativeWork", | |
"name": license["name"], | |
"description": license["description"], | |
"url": license["url"] | |
} | |
)), | |
set_attr(crate, "license") | |
) | |
@curry | |
def add_files(files, crate): | |
return list(fmap(lambda x: crate.add_file( | |
x["path"], | |
fetch_remote=x["download"], | |
properties=dict( | |
name=x["name"], | |
encodingFormat=x["encodingFormat"], | |
description=x["description"], | |
variableMeasured=add_columns(x.get("columns", []), x["path"], crate) | |
)), files)) | |
@curry | |
def add_column(path, crate, column): | |
identifier = path + "#" + column['identifier'] | |
crate.add_jsonld({ | |
"@id": identifier, | |
"@type": "PropertyValue", | |
"unitCode": column["unit"], | |
"name": column["identifier"], | |
"description": column["description"], | |
"value": column.get("value", None) | |
}) | |
return {"@id": identifier} | |
@curry | |
def add_columns(columns, path, crate): | |
return list(fmap( | |
add_column(path, crate), | |
columns | |
)) | |
@curry | |
def add_tabular_file(file, crate): | |
if file['type'] == "directory": | |
return crate.add_directory( | |
file["path"], | |
properties={ | |
"description": file["description"], | |
"encodingFormat": file["encodingFormat"], | |
"name": file["name"], | |
"variableMeasured": add_columns(file.get("columns", []), file["path"], crate), | |
} | |
) | |
else: | |
return crate.add_file( | |
file["path"], | |
fetch_remote=file.get("download", False), | |
properties={ | |
"@type": ["File", "Dataset"], | |
"description": file["description"], | |
"encodingFormat": file["encodingFormat"], | |
"name": file["name"], | |
"url": file.get("url", None), | |
"keywords": file.get("keywords", None), | |
"variableMeasured": add_columns(file.get("columns", []), file["path"], crate), | |
} | |
) | |
@curry | |
def add_tabular_files(files, crate): | |
return list(fmap(add_tabular_file(crate=crate), files)) | |
@curry | |
def set_root(key, value, crate): | |
crate.root_dataset[key] = value | |
return crate | |
@curry | |
def add_dependency(crate, dependency): | |
return crate.add(Entity( | |
crate, | |
identifier=dependency["identifier"], | |
properties={ | |
"@type": "SoftwareApplication", | |
"description": dependency["description"], | |
"name": dependency["name"], | |
"url": dependency["url"], | |
"version": dependency["version"] | |
} | |
)) | |
@curry | |
def add_implementation(implementation, dependencies, crate): | |
implementation_ = crate.add(Entity( | |
crate, | |
identifier=implementation["identifier"], | |
properties={ | |
"@type": "SoftwareApplication", | |
"conformsTo": "https://bioschemas.org/profiles/ComputationalTool/1.0-RELEASE", | |
"description": implementation["description"], | |
"name": implementation["name"], | |
"applicationCategory": implementation["applicationCategory"], | |
"url": implementation["codeRepository"], | |
"codeRepository": implementation["codeRepository"], | |
"programmingLanguage": implementation["programmingLanguage"] | |
} | |
)) | |
implementation_["softwareRequirements"] = list(fmap(add_dependency(crate), dependencies)) | |
return implementation_ | |
@curry | |
def add_workflow(workflow, inputs, outputs, implementation, dependencies, crate): | |
workflow_ = crate.add(Entity( | |
crate, | |
identifier="#workflow", | |
properties={ | |
"@type": "CreateAction", | |
"name": workflow["name"], | |
"description": workflow["description"], | |
"endTime": workflow["dateCreated"] | |
} | |
)) | |
inputs_ = add_files(inputs, crate) | |
outputs_ = add_tabular_files(outputs, crate) | |
workflow_["result"] = outputs_ | |
workflow_["object"] = inputs_ | |
workflow_["agent"] = {"@id": workflow["agent"]} | |
workflow_["instrument"] = add_implementation(implementation, dependencies, crate) | |
return set_root("mentions", workflow_, crate) | |
@curry | |
def add_contexts(contexts, crate): | |
list(fmap( | |
lambda x: crate.metadata.extra_contexts.append(x), | |
contexts | |
)) | |
return crate | |
def make_run_crate(crate): | |
id_ = "https://w3id.org/ro/wfrun/process/0.4" | |
set_root("conformsTo", {"@id": id_}, crate) | |
crate.add(Entity( | |
crate, | |
identifier=id_, | |
properties={ | |
"@type": "CreativeWork", | |
"name": "Process Run Crate", | |
"version": "0.1" | |
} | |
)) | |
return crate | |
@curry | |
def add_spec(spec, crate): | |
spec_ = add_tabular_file(spec, crate) | |
return crate | |
def debug(x): | |
print('debug:', x) | |
# import ipdb; ipdb.set_trace(); | |
return x | |
def generate(data): | |
return pipe( | |
ROCrate(), | |
add_contexts(data['contexts']), | |
set_attr(key='description', value=data['description']), | |
make_run_crate, | |
set_root('title', data['title']), | |
add_authors(data['authors']), | |
add_license(data['license']), | |
add_workflow(data['workflow'], data['inputs'], data['outputs'], data['implementation'], data['dependencies']), | |
add_spec(data["specification"]), | |
lambda x: x.write(data["crate-directory"]) | |
) | |
if __name__ == '__main__': | |
data = read_yaml("config.yaml") | |
crate = generate(data) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"@context": [ | |
"https://w3id.org/ro/crate/1.1/context", | |
"https://w3id.org/ro/terms/workflow-run/context" | |
], | |
"@graph": [ | |
{ | |
"@id": "./", | |
"@type": "Dataset", | |
"author": [ | |
{ | |
"@id": "https://orcid.org/0000-0002-2653-7418" | |
}, | |
{ | |
"@id": "https://orcid.org/0009-0008-2880-8403" | |
} | |
], | |
"conformsTo": { | |
"@id": "https://w3id.org/ro/wfrun/process/0.4" | |
}, | |
"datePublished": "2024-07-30T21:10:48+00:00", | |
"description": "An example of generating an ro-crate from a PFHub result, for now this is only focused on the computational platform, environment and implementation", | |
"hasPart": [ | |
{ | |
"@id": "params8a.yaml" | |
}, | |
{ | |
"@id": "benchmark8a.py" | |
}, | |
{ | |
"@id": "pyproject.toml" | |
}, | |
{ | |
"@id": "stats.txt" | |
}, | |
{ | |
"@id": "fields/" | |
}, | |
{ | |
"@id": "benchmark8.ipynb" | |
} | |
], | |
"license": { | |
"@id": "https://spdx.org/licenses/NIST-PD.html" | |
}, | |
"mentions": { | |
"@id": "#workflow" | |
}, | |
"title": "Phase Field Simulation: Homogeneous Nucleation Benchmark No.8a" | |
}, | |
{ | |
"@id": "ro-crate-metadata.json", | |
"@type": "CreativeWork", | |
"about": { | |
"@id": "./" | |
}, | |
"conformsTo": { | |
"@id": "https://w3id.org/ro/crate/1.1" | |
} | |
}, | |
{ | |
"@id": "https://w3id.org/ro/wfrun/process/0.4", | |
"@type": "CreativeWork", | |
"name": "Process Run Crate", | |
"version": "0.1" | |
}, | |
{ | |
"@id": "https://orcid.org/0000-0002-2653-7418", | |
"@type": "Person", | |
"affiliation": "NIST", | |
"name": "Daniel Wheeler" | |
}, | |
{ | |
"@id": "https://orcid.org/0009-0008-2880-8403", | |
"@type": "Person", | |
"affiliation": "NIST", | |
"name": "Austyn Nguyen" | |
}, | |
{ | |
"@id": "https://spdx.org/licenses/NIST-PD.html", | |
"@type": "CreativeWork", | |
"description": "NIST Public Domain Notice", | |
"name": "NIST-PD", | |
"url": "https://github.com/tcheneau/simpleRPL/blob/e645e69e38dd4e3ccfeceb2db8cba05b7c2e0cd3/LICENSE.txt" | |
}, | |
{ | |
"@id": "#workflow", | |
"@type": "CreateAction", | |
"agent": { | |
"@id": "https://orcid.org/0009-0008-2880-8403" | |
}, | |
"description": "python benchmark8a.py params8a.yaml", | |
"endTime": "2017-01-09", | |
"instrument": { | |
"@id": "https://github.com/wd15/phase-field-nucleation-benchmark/commit/2a7e1778cd2f4988b592f2bd0c84852911111fb7" | |
}, | |
"name": "Main workflow", | |
"object": [ | |
{ | |
"@id": "params8a.yaml" | |
}, | |
{ | |
"@id": "benchmark8a.py" | |
}, | |
{ | |
"@id": "pyproject.toml" | |
} | |
], | |
"result": [ | |
{ | |
"@id": "stats.txt" | |
}, | |
{ | |
"@id": "fields/" | |
} | |
] | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#factor", | |
"@type": "PropertyValue", | |
"description": "fraction of equilibrium radius", | |
"name": "factor", | |
"unitCode": null, | |
"value": 1.1 | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#Lx", | |
"@type": "PropertyValue", | |
"description": "length of Mesh", | |
"name": "Lx", | |
"unitCode": null, | |
"value": 100.0 | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#Ly", | |
"@type": "PropertyValue", | |
"description": "height of mesh", | |
"name": "Ly", | |
"unitCode": null, | |
"value": 100.0 | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#dx", | |
"@type": "PropertyValue", | |
"description": "cell spacing", | |
"name": "dx", | |
"unitCode": null, | |
"value": 100.0 | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#dt", | |
"@type": "PropertyValue", | |
"description": "timestep", | |
"name": "dt", | |
"unitCode": null, | |
"value": 0.01 | |
}, | |
{ | |
"@id": "params8a.yaml", | |
"@type": "File", | |
"description": "Parameter file require to run simulation", | |
"encodingFormat": "text/yaml", | |
"name": "params8a.yaml", | |
"variableMeasured": [ | |
{ | |
"@id": "../benchmark8/params8a.yaml#factor" | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#Lx" | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#Ly" | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#dx" | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#dt" | |
} | |
] | |
}, | |
{ | |
"@id": "benchmark8a.py", | |
"@type": "File", | |
"contentUrl": "https://github.com/wd15/phase-field-nucleation-benchmark/blob/master/fipy/benchmark8a.py", | |
"description": "script to run the main simulation", | |
"encodingFormat": "text/x-script.python", | |
"name": "benchmark8a.py", | |
"variableMeasured": [] | |
}, | |
{ | |
"@id": "pyproject.toml", | |
"@type": "File", | |
"description": "File required to build Python environment using Poetry", | |
"encodingFormat": "application/toml", | |
"name": "pyproject.toml", | |
"variableMeasured": [] | |
}, | |
{ | |
"@id": "data/stats.txt#time", | |
"@type": "PropertyValue", | |
"description": "Simulation time", | |
"name": "time", | |
"unitCode": "s", | |
"value": null | |
}, | |
{ | |
"@id": "data/stats.txt#fraction", | |
"@type": "PropertyValue", | |
"description": "Solid fraction", | |
"name": "fraction", | |
"unitCode": null, | |
"value": null | |
}, | |
{ | |
"@id": "data/stats.txt#energy", | |
"@type": "PropertyValue", | |
"description": "Free energy", | |
"name": "energy", | |
"unitCode": "J", | |
"value": null | |
}, | |
{ | |
"@id": "stats.txt", | |
"@type": [ | |
"File", | |
"Dataset" | |
], | |
"description": "Solid Fraction and Free Energy vs. Time", | |
"encodingFormat": "text/tab-separated-values", | |
"keywords": null, | |
"name": "stats.txt", | |
"url": null, | |
"variableMeasured": [ | |
{ | |
"@id": "data/stats.txt#time" | |
}, | |
{ | |
"@id": "data/stats.txt#fraction" | |
}, | |
{ | |
"@id": "data/stats.txt#energy" | |
} | |
] | |
}, | |
{ | |
"@id": "./data/fields#phaseField", | |
"@type": "PropertyValue", | |
"description": "Phase field variable", | |
"name": "phaseField", | |
"unitCode": null, | |
"value": null | |
}, | |
{ | |
"@id": "fields/", | |
"@type": "Dataset", | |
"description": "The phase field variable at various times during the simulation", | |
"encodingFormat": "application/tar+gzip", | |
"name": "./fields", | |
"variableMeasured": [ | |
{ | |
"@id": "./data/fields#phaseField" | |
} | |
] | |
}, | |
{ | |
"@id": "https://github.com/wd15/phase-field-nucleation-benchmark/commit/2a7e1778cd2f4988b592f2bd0c84852911111fb7", | |
"@type": "SoftwareApplication", | |
"applicationCategory": "Script", | |
"codeRepository": "https://github.com/wd15/phase-field-nucleation-benchmark", | |
"conformsTo": "https://bioschemas.org/profiles/ComputationalTool/1.0-RELEASE", | |
"description": "FiPy implementation for \"Phase Field Benchmark Problems for Nucleation\"", | |
"name": "phase-field-nucleation-benchmark", | |
"programmingLanguage": "Python 3.11", | |
"softwareRequirements": [ | |
{ | |
"@id": "#fipy" | |
}, | |
{ | |
"@id": "#numpy" | |
}, | |
{ | |
"@id": "#scipy" | |
} | |
], | |
"url": "https://github.com/wd15/phase-field-nucleation-benchmark" | |
}, | |
{ | |
"@id": "#fipy", | |
"@type": "SoftwareApplication", | |
"description": "FiPy is a Finite Volume PDE solver written in Python", | |
"name": "FiPy", | |
"url": "https://github.com/usnistgov/fipy", | |
"version": "3.4.4" | |
}, | |
{ | |
"@id": "#numpy", | |
"@type": "SoftwareApplication", | |
"description": "Numpy library", | |
"name": "Numpy", | |
"url": "https://github.com/numpy/numpy", | |
"version": "1.26.4" | |
}, | |
{ | |
"@id": "#scipy", | |
"@type": "SoftwareApplication", | |
"description": "Scipy library", | |
"name": "Scipy", | |
"url": "https://github.com/scipy/scipy", | |
"version": "1.13.1" | |
}, | |
{ | |
"@id": "benchmark8.ipynb", | |
"@type": [ | |
"File", | |
"Dataset" | |
], | |
"contentUrl": "https://raw.githubusercontent.com/usnistgov/pfhub/master/benchmarks/benchmark8.ipynb", | |
"description": "Phase field modeling of nucleation has a long history and is covered in a number of reviews (Gr\u00e1n\u00e1sy 2002, Castro 2003, Simmons 2004, Gr\u00e1n\u00e1sy 2007, Warren 2009, Heo 2014, Gr\u00e1n\u00e1sy 2019). The problem formulation of crystallization of an ideal pure liquid cooled below its melting point starts with homogeneous nucleation, a process in which the internal fluctuations of the undercooled liquid lead to the formation of crystal-like seeds able to grow to macroscopic sizes. The nucleation can be assisted by the presence of surfaces (container walls, foreign particles, etc.), in which case the process is termed heterogeneous nucleation. We note that homogeneous nucleation is an idealized formulation, and it is unlikely homogeneous nucleation occurs, due to impurities present in experimental apparatus. However, creating benchmark problems for homogeneous nucleation is still needed since the focus in nucleation research often lies on the underlying homogeneous nucleation, as it is the basis for advancing theoretical approaches to the much more complex phenomena governing heterogeneous nucleation. This benchmark (benchmark 8) targets homogeneous nucleation while benchmark 9 targets heterogeneous nucleation.", | |
"encodingFormat": "application/x-ipynb+json", | |
"keywords": [ | |
"phase-field", | |
"nucleation", | |
"benchmark", | |
"homogeneous-nucleation" | |
], | |
"name": "homogeneous nucleation specification", | |
"url": "https://pages.nist.gov/pfhub/benchmarks/benchmark8.ipynb/index.html", | |
"variableMeasured": [] | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<html> | |
<head> | |
<script type="application/ld+json"> | |
{ | |
"@context": [ | |
"https://w3id.org/ro/crate/1.1/context", | |
"https://w3id.org/ro/terms/workflow-run/context" | |
], | |
"@graph": [ | |
{ | |
"@id": "./", | |
"@type": "Dataset", | |
"author": [ | |
{ | |
"@id": "https://orcid.org/0000-0002-2653-7418" | |
}, | |
{ | |
"@id": "https://orcid.org/0009-0008-2880-8403" | |
} | |
], | |
"conformsTo": { | |
"@id": "https://w3id.org/ro/wfrun/process/0.4" | |
}, | |
"datePublished": "2024-07-30T21:10:48+00:00", | |
"description": "An example of generating an ro-crate from a PFHub result, for now this is only focused on the computational platform, environment and implementation", | |
"hasPart": [ | |
{ | |
"@id": "params8a.yaml" | |
}, | |
{ | |
"@id": "benchmark8a.py" | |
}, | |
{ | |
"@id": "pyproject.toml" | |
}, | |
{ | |
"@id": "stats.txt" | |
}, | |
{ | |
"@id": "fields/" | |
}, | |
{ | |
"@id": "benchmark8.ipynb" | |
} | |
], | |
"license": { | |
"@id": "https://spdx.org/licenses/NIST-PD.html" | |
}, | |
"mentions": { | |
"@id": "#workflow" | |
}, | |
"title": "Phase Field Simulation: Homogeneous Nucleation Benchmark No.8a" | |
}, | |
{ | |
"@id": "https://orcid.org/0000-0002-2653-7418", | |
"@type": "Person", | |
"affiliation": "NIST", | |
"name": "Daniel Wheeler" | |
}, | |
{ | |
"@id": "https://orcid.org/0009-0008-2880-8403", | |
"@type": "Person", | |
"affiliation": "NIST", | |
"name": "Austyn Nguyen" | |
}, | |
{ | |
"@id": "https://w3id.org/ro/wfrun/process/0.4", | |
"@type": "CreativeWork", | |
"name": "Process Run Crate", | |
"version": "0.1" | |
}, | |
{ | |
"@id": "params8a.yaml", | |
"@type": "File", | |
"description": "Parameter file require to run simulation", | |
"encodingFormat": "text/yaml", | |
"name": "params8a.yaml", | |
"variableMeasured": [ | |
{ | |
"@id": "../benchmark8/params8a.yaml#factor" | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#Lx" | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#Ly" | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#dx" | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#dt" | |
} | |
] | |
}, | |
{ | |
"@id": "benchmark8a.py", | |
"@type": "File", | |
"contentUrl": "https://github.com/wd15/phase-field-nucleation-benchmark/blob/master/fipy/benchmark8a.py", | |
"description": "script to run the main simulation", | |
"encodingFormat": "text/x-script.python", | |
"name": "benchmark8a.py", | |
"variableMeasured": [] | |
}, | |
{ | |
"@id": "pyproject.toml", | |
"@type": "File", | |
"description": "File required to build Python environment using Poetry", | |
"encodingFormat": "application/toml", | |
"name": "pyproject.toml", | |
"variableMeasured": [] | |
}, | |
{ | |
"@id": "stats.txt", | |
"@type": [ | |
"File", | |
"Dataset" | |
], | |
"description": "Solid Fraction and Free Energy vs. Time", | |
"encodingFormat": "text/tab-separated-values", | |
"name": "stats.txt", | |
"variableMeasured": [ | |
{ | |
"@id": "data/stats.txt#time" | |
}, | |
{ | |
"@id": "data/stats.txt#fraction" | |
}, | |
{ | |
"@id": "data/stats.txt#energy" | |
} | |
] | |
}, | |
{ | |
"@id": "fields/", | |
"@type": "Dataset", | |
"description": "The phase field variable at various times during the simulation", | |
"encodingFormat": "application/tar+gzip", | |
"name": "./fields", | |
"variableMeasured": { | |
"@id": "./data/fields#phaseField" | |
} | |
}, | |
{ | |
"@id": "benchmark8.ipynb", | |
"@type": [ | |
"File", | |
"Dataset" | |
], | |
"contentUrl": "https://raw.githubusercontent.com/usnistgov/pfhub/master/benchmarks/benchmark8.ipynb", | |
"description": "Phase field modeling of nucleation has a long history and is covered in a number of reviews (Gránásy 2002, Castro 2003, Simmons 2004, Gránásy 2007, Warren 2009, Heo 2014, Gránásy 2019). The problem formulation of crystallization of an ideal pure liquid cooled below its melting point starts with homogeneous nucleation, a process in which the internal fluctuations of the undercooled liquid lead to the formation of crystal-like seeds able to grow to macroscopic sizes. The nucleation can be assisted by the presence of surfaces (container walls, foreign particles, etc.), in which case the process is termed heterogeneous nucleation. We note that homogeneous nucleation is an idealized formulation, and it is unlikely homogeneous nucleation occurs, due to impurities present in experimental apparatus. However, creating benchmark problems for homogeneous nucleation is still needed since the focus in nucleation research often lies on the underlying homogeneous nucleation, as it is the basis for advancing theoretical approaches to the much more complex phenomena governing heterogeneous nucleation. This benchmark (benchmark 8) targets homogeneous nucleation while benchmark 9 targets heterogeneous nucleation.", | |
"encodingFormat": "application/x-ipynb+json", | |
"keywords": [ | |
"phase-field", | |
"nucleation", | |
"benchmark", | |
"homogeneous-nucleation" | |
], | |
"name": "homogeneous nucleation specification", | |
"url": "https://pages.nist.gov/pfhub/benchmarks/benchmark8.ipynb/index.html", | |
"variableMeasured": [] | |
}, | |
{ | |
"@id": "https://spdx.org/licenses/NIST-PD.html", | |
"@type": "CreativeWork", | |
"description": "NIST Public Domain Notice", | |
"name": "NIST-PD", | |
"url": "https://github.com/tcheneau/simpleRPL/blob/e645e69e38dd4e3ccfeceb2db8cba05b7c2e0cd3/LICENSE.txt" | |
}, | |
{ | |
"@id": "#workflow", | |
"@type": "CreateAction", | |
"agent": { | |
"@id": "https://orcid.org/0009-0008-2880-8403" | |
}, | |
"description": "python benchmark8a.py params8a.yaml", | |
"endTime": "2017-01-09", | |
"instrument": { | |
"@id": "https://github.com/wd15/phase-field-nucleation-benchmark/commit/2a7e1778cd2f4988b592f2bd0c84852911111fb7" | |
}, | |
"name": "Main workflow", | |
"object": [ | |
{ | |
"@id": "params8a.yaml" | |
}, | |
{ | |
"@id": "benchmark8a.py" | |
}, | |
{ | |
"@id": "pyproject.toml" | |
} | |
], | |
"result": [ | |
{ | |
"@id": "stats.txt" | |
}, | |
{ | |
"@id": "fields/" | |
} | |
] | |
}, | |
{ | |
"@id": "ro-crate-metadata.json", | |
"@type": "CreativeWork", | |
"about": { | |
"@id": "./" | |
}, | |
"conformsTo": { | |
"@id": "https://w3id.org/ro/crate/1.1" | |
} | |
}, | |
{ | |
"@id": "https://github.com/wd15/phase-field-nucleation-benchmark/commit/2a7e1778cd2f4988b592f2bd0c84852911111fb7", | |
"@type": "SoftwareApplication", | |
"applicationCategory": "Script", | |
"codeRepository": "https://github.com/wd15/phase-field-nucleation-benchmark", | |
"conformsTo": "https://bioschemas.org/profiles/ComputationalTool/1.0-RELEASE", | |
"description": "FiPy implementation for \"Phase Field Benchmark Problems for Nucleation\"", | |
"name": "phase-field-nucleation-benchmark", | |
"programmingLanguage": "Python 3.11", | |
"softwareRequirements": [ | |
{ | |
"@id": "#fipy" | |
}, | |
{ | |
"@id": "#numpy" | |
}, | |
{ | |
"@id": "#scipy" | |
} | |
], | |
"url": "https://github.com/wd15/phase-field-nucleation-benchmark" | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#factor", | |
"@type": "PropertyValue", | |
"description": "fraction of equilibrium radius", | |
"name": "factor", | |
"value": 1.1 | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#Lx", | |
"@type": "PropertyValue", | |
"description": "length of Mesh", | |
"name": "Lx", | |
"value": 100 | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#Ly", | |
"@type": "PropertyValue", | |
"description": "height of mesh", | |
"name": "Ly", | |
"value": 100 | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#dx", | |
"@type": "PropertyValue", | |
"description": "cell spacing", | |
"name": "dx", | |
"value": 100 | |
}, | |
{ | |
"@id": "../benchmark8/params8a.yaml#dt", | |
"@type": "PropertyValue", | |
"description": "timestep", | |
"name": "dt", | |
"value": 0.01 | |
}, | |
{ | |
"@id": "data/stats.txt#time", | |
"@type": "PropertyValue", | |
"description": "Simulation time", | |
"name": "time", | |
"unitCode": "s" | |
}, | |
{ | |
"@id": "data/stats.txt#fraction", | |
"@type": "PropertyValue", | |
"description": "Solid fraction", | |
"name": "fraction" | |
}, | |
{ | |
"@id": "data/stats.txt#energy", | |
"@type": "PropertyValue", | |
"description": "Free energy", | |
"name": "energy", | |
"unitCode": "J" | |
}, | |
{ | |
"@id": "./data/fields#phaseField", | |
"@type": "PropertyValue", | |
"description": "Phase field variable", | |
"name": "phaseField" | |
}, | |
{ | |
"@id": "#fipy", | |
"@type": "SoftwareApplication", | |
"description": "FiPy is a Finite Volume PDE solver written in Python", | |
"name": "FiPy", | |
"url": "https://github.com/usnistgov/fipy", | |
"version": "3.4.4" | |
}, | |
{ | |
"@id": "#numpy", | |
"@type": "SoftwareApplication", | |
"description": "Numpy library", | |
"name": "Numpy", | |
"url": "https://github.com/numpy/numpy", | |
"version": "1.26.4" | |
}, | |
{ | |
"@id": "#scipy", | |
"@type": "SoftwareApplication", | |
"description": "Scipy library", | |
"name": "Scipy", | |
"url": "https://github.com/scipy/scipy", | |
"version": "1.13.1" | |
} | |
] | |
} | |
</script> | |
<!-- script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script --> | |
<script src="https://unpkg.com/[email protected]/dist/ro-crate-dynamic.min.js"></script> | |
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous"> | |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> | |
<meta charset='utf-8'/> | |
<style> | |
table.table { | |
padding-bottom: 300px; | |
} | |
</style> | |
</head> | |
<body> | |
<nav class="navbar"> | |
<ul class="nav navbar-nav" > | |
<li ><a href="#"><span class="glyphicon glyphicon-home dataset_name"> </span></a></li> | |
</ul> | |
</nav> | |
<div class="container"> | |
<div class="jumbotron"> | |
<h4 class="citation"></h4> | |
<h3 class="item_name"></h3> | |
<a href="./ro-crate-metadata.json">⬇️🏷️ Download all the metadata for <span class='name'></span> in JSON-LD format</a> | |
<div id="check"></div> | |
</div> | |
<div id="summary"> | |
<div class='all-meta'> | |
<div> | |
<h3> ./</h3> | |
<div id="./"> | |
<table class="table metadata table-striped" > | |
<tbody><tr> | |
<th style="text-align:left;" class="prop">@id</th> | |
<td style='text-align:left'><span>./</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">@type</th> | |
<td style='text-align:left'><span>Dataset</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">description<span> </span><a href="http://schema.org/description">[?]</a></th> | |
<td style='text-align:left'><span>An example of generating an ro-crate from a PFHub result, for now this is only focused on the computational platform, environment and implementation</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">datePublished<span> </span><a href="http://schema.org/datePublished">[?]</a></th> | |
<td style='text-align:left'><span>2024-07-30T21:10:48+00:00</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">author<span> </span><a href="http://schema.org/author">[?]</a></th> | |
<td style='text-align:left'><ul> | |
<li><a href="#https%3A//orcid.org/0000-0002-2653-7418">Daniel Wheeler</a></li> | |
<li><a href="#https%3A//orcid.org/0009-0008-2880-8403">Austyn Nguyen</a></li> | |
</ul></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">conformsTo<span> </span><a href="http://purl.org/dc/terms/conformsTo">[?]</a></th> | |
<td style='text-align:left'><a href="#https%3A//w3id.org/ro/wfrun/process/0.4">Process Run Crate</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">hasPart<span> </span><a href="http://schema.org/hasPart">[?]</a></th> | |
<td style='text-align:left'><ul> | |
<li><a href="#params8a.yaml">params8a.yaml</a></li> | |
<li><a href="#benchmark8a.py">benchmark8a.py</a></li> | |
<li><a href="#pyproject.toml">pyproject.toml</a></li> | |
<li><a href="#stats.txt">stats.txt</a></li> | |
<li><a href="#fields/">./fields</a></li> | |
<li><a href="#benchmark8.ipynb">homogeneous nucleation specification</a></li> | |
</ul></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">license<span> </span><a href="http://schema.org/license">[?]</a></th> | |
<td style='text-align:left'><a href="#https%3A//spdx.org/licenses/NIST-PD.html">NIST-PD</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">mentions<span> </span><a href="http://schema.org/mentions">[?]</a></th> | |
<td style='text-align:left'><a href="#%23workflow">Main workflow</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">title<span> </span><a href="http://schema.org/title">[?]</a></th> | |
<td style='text-align:left'><span>Phase Field Simulation: Homogeneous Nucleation Benchmark No.8a</span></td> | |
</tr><tr><th colspan="2" style="text-align:center">Items that reference this one</th><tr><tr> | |
<th style="text-align:left;" class="prop">about<span> </span><a href="http://schema.org/about">[?]</a></th> | |
<td style='text-align:left'><a href="#ro-crate-metadata.json">ro-crate-metadata.json</a></td> | |
</tr></tbody> | |
</table> | |
</div> | |
</div> | |
<hr/><br/><br/> | |
<div> | |
<h3><a href="https://orcid.org/0000-0002-2653-7418">Go to: </a> Daniel Wheeler</h3> | |
<div id="https://orcid.org/0000-0002-2653-7418"> | |
<table class="table metadata table-striped" > | |
<tbody><tr> | |
<th style="text-align:left;" class="prop">@id</th> | |
<td style='text-align:left'><a href="https://orcid.org/0000-0002-2653-7418">https://orcid.org/0000-0002-2653-7418</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">name<span> </span><a href="http://schema.org/name">[?]</a></th> | |
<td style='text-align:left'><span>Daniel Wheeler</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">@type</th> | |
<td style='text-align:left'><span>Person</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">affiliation<span> </span><a href="http://schema.org/affiliation">[?]</a></th> | |
<td style='text-align:left'><span>NIST</span></td> | |
</tr><tr><th colspan="2" style="text-align:center">Items that reference this one</th><tr><tr> | |
<th style="text-align:left;" class="prop">author<span> </span><a href="http://schema.org/author">[?]</a></th> | |
<td style='text-align:left'><a href="#./">./</a></td> | |
</tr></tbody> | |
</table> | |
</div> | |
</div> | |
<hr/><br/><br/> | |
<div> | |
<h3><a href="https://orcid.org/0009-0008-2880-8403">Go to: </a> Austyn Nguyen</h3> | |
<div id="https://orcid.org/0009-0008-2880-8403"> | |
<table class="table metadata table-striped" > | |
<tbody><tr> | |
<th style="text-align:left;" class="prop">@id</th> | |
<td style='text-align:left'><a href="https://orcid.org/0009-0008-2880-8403">https://orcid.org/0009-0008-2880-8403</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">name<span> </span><a href="http://schema.org/name">[?]</a></th> | |
<td style='text-align:left'><span>Austyn Nguyen</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">@type</th> | |
<td style='text-align:left'><span>Person</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">affiliation<span> </span><a href="http://schema.org/affiliation">[?]</a></th> | |
<td style='text-align:left'><span>NIST</span></td> | |
</tr><tr><th colspan="2" style="text-align:center">Items that reference this one</th><tr><tr> | |
<th style="text-align:left;" class="prop">author<span> </span><a href="http://schema.org/author">[?]</a></th> | |
<td style='text-align:left'><a href="#./">./</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">agent<span> </span><a href="http://schema.org/agent">[?]</a></th> | |
<td style='text-align:left'><a href="#%23workflow">Main workflow</a></td> | |
</tr></tbody> | |
</table> | |
</div> | |
</div> | |
<hr/><br/><br/> | |
<div> | |
<h3><a href="https://w3id.org/ro/wfrun/process/0.4">Go to: </a> Process Run Crate</h3> | |
<div id="https://w3id.org/ro/wfrun/process/0.4"> | |
<table class="table metadata table-striped" > | |
<tbody><tr> | |
<th style="text-align:left;" class="prop">@id</th> | |
<td style='text-align:left'><a href="https://w3id.org/ro/wfrun/process/0.4">https://w3id.org/ro/wfrun/process/0.4</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">name<span> </span><a href="http://schema.org/name">[?]</a></th> | |
<td style='text-align:left'><span>Process Run Crate</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">@type</th> | |
<td style='text-align:left'><span>CreativeWork</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">version<span> </span><a href="http://schema.org/version">[?]</a></th> | |
<td style='text-align:left'><span>0.1</span></td> | |
</tr><tr><th colspan="2" style="text-align:center">Items that reference this one</th><tr><tr> | |
<th style="text-align:left;" class="prop">conformsTo<span> </span><a href="http://purl.org/dc/terms/conformsTo">[?]</a></th> | |
<td style='text-align:left'><a href="#./">./</a></td> | |
</tr></tbody> | |
</table> | |
</div> | |
</div> | |
<hr/><br/><br/> | |
<div> | |
<h3><a href="params8a.yaml">⬇️ Download: </a> params8a.yaml</h3> | |
<div id="params8a.yaml"> | |
<table class="table metadata table-striped" > | |
<tbody><tr> | |
<th style="text-align:left;" class="prop">@id</th> | |
<td style='text-align:left'><span>params8a.yaml</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">name<span> </span><a href="http://schema.org/name">[?]</a></th> | |
<td style='text-align:left'><span>params8a.yaml</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">@type</th> | |
<td style='text-align:left'><span>File</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">description<span> </span><a href="http://schema.org/description">[?]</a></th> | |
<td style='text-align:left'><span>Parameter file require to run simulation</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">encodingFormat<span> </span><a href="http://schema.org/encodingFormat">[?]</a></th> | |
<td style='text-align:left'><span>text/yaml</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">variableMeasured<span> </span><a href="http://schema.org/variableMeasured">[?]</a></th> | |
<td style='text-align:left'><ul> | |
<li>factor: 1.1</li> | |
<li>Lx: 100</li> | |
<li>Ly: 100</li> | |
<li>dx: 100</li> | |
<li>dt: 0.01</li> | |
</ul></td> | |
</tr><tr><th colspan="2" style="text-align:center">Items that reference this one</th><tr><tr> | |
<th style="text-align:left;" class="prop">hasPart<span> </span><a href="http://schema.org/hasPart">[?]</a></th> | |
<td style='text-align:left'><a href="#./">./</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">object<span> </span><a href="http://schema.org/object">[?]</a></th> | |
<td style='text-align:left'><a href="#%23workflow">Main workflow</a></td> | |
</tr></tbody> | |
</table> | |
</div> | |
</div> | |
<hr/><br/><br/> | |
<div> | |
<h3><a href="benchmark8a.py">⬇️ Download: </a> benchmark8a.py</h3> | |
<div id="benchmark8a.py"> | |
<table class="table metadata table-striped" > | |
<tbody><tr> | |
<th style="text-align:left;" class="prop">@id</th> | |
<td style='text-align:left'><span>benchmark8a.py</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">name<span> </span><a href="http://schema.org/name">[?]</a></th> | |
<td style='text-align:left'><span>benchmark8a.py</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">@type</th> | |
<td style='text-align:left'><span>File</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">description<span> </span><a href="http://schema.org/description">[?]</a></th> | |
<td style='text-align:left'><span>script to run the main simulation</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">encodingFormat<span> </span><a href="http://schema.org/encodingFormat">[?]</a></th> | |
<td style='text-align:left'><span>text/x-script.python</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">contentUrl<span> </span><a href="http://schema.org/contentUrl">[?]</a></th> | |
<td style='text-align:left'><a href="https://github.com/wd15/phase-field-nucleation-benchmark/blob/master/fipy/benchmark8a.py">https://github.com/wd15/phase-field-nucleation-benchmark/blob/master/fipy/benchmark8a.py</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">variableMeasured<span> </span><a href="http://schema.org/variableMeasured">[?]</a></th> | |
<td style='text-align:left'></td> | |
</tr><tr><th colspan="2" style="text-align:center">Items that reference this one</th><tr><tr> | |
<th style="text-align:left;" class="prop">hasPart<span> </span><a href="http://schema.org/hasPart">[?]</a></th> | |
<td style='text-align:left'><a href="#./">./</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">object<span> </span><a href="http://schema.org/object">[?]</a></th> | |
<td style='text-align:left'><a href="#%23workflow">Main workflow</a></td> | |
</tr></tbody> | |
</table> | |
</div> | |
</div> | |
<hr/><br/><br/> | |
<div> | |
<h3><a href="pyproject.toml">⬇️ Download: </a> pyproject.toml</h3> | |
<div id="pyproject.toml"> | |
<table class="table metadata table-striped" > | |
<tbody><tr> | |
<th style="text-align:left;" class="prop">@id</th> | |
<td style='text-align:left'><span>pyproject.toml</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">name<span> </span><a href="http://schema.org/name">[?]</a></th> | |
<td style='text-align:left'><span>pyproject.toml</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">@type</th> | |
<td style='text-align:left'><span>File</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">description<span> </span><a href="http://schema.org/description">[?]</a></th> | |
<td style='text-align:left'><span>File required to build Python environment using Poetry</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">encodingFormat<span> </span><a href="http://schema.org/encodingFormat">[?]</a></th> | |
<td style='text-align:left'><span>application/toml</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">variableMeasured<span> </span><a href="http://schema.org/variableMeasured">[?]</a></th> | |
<td style='text-align:left'></td> | |
</tr><tr><th colspan="2" style="text-align:center">Items that reference this one</th><tr><tr> | |
<th style="text-align:left;" class="prop">hasPart<span> </span><a href="http://schema.org/hasPart">[?]</a></th> | |
<td style='text-align:left'><a href="#./">./</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">object<span> </span><a href="http://schema.org/object">[?]</a></th> | |
<td style='text-align:left'><a href="#%23workflow">Main workflow</a></td> | |
</tr></tbody> | |
</table> | |
</div> | |
</div> | |
<hr/><br/><br/> | |
<div> | |
<h3> stats.txt</h3> | |
<iframe src='stats.txt' width='100%' height='500'></iframe> | |
<div id="stats.txt"> | |
<table class="table metadata table-striped" > | |
<tbody><tr> | |
<th style="text-align:left;" class="prop">@id</th> | |
<td style='text-align:left'><span>stats.txt</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">name<span> </span><a href="http://schema.org/name">[?]</a></th> | |
<td style='text-align:left'><span>stats.txt</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">@type</th> | |
<td style='text-align:left'><ul> | |
<li><span>File</span></li> | |
<li><span>Dataset</span></li> | |
</ul></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">description<span> </span><a href="http://schema.org/description">[?]</a></th> | |
<td style='text-align:left'><span>Solid Fraction and Free Energy vs. Time</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">encodingFormat<span> </span><a href="http://schema.org/encodingFormat">[?]</a></th> | |
<td style='text-align:left'><span>text/tab-separated-values</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">variableMeasured<span> </span><a href="http://schema.org/variableMeasured">[?]</a></th> | |
<td style='text-align:left'><ul> | |
<li>time: undefined</li> | |
<li>fraction: undefined</li> | |
<li>energy: undefined</li> | |
</ul></td> | |
</tr><tr><th colspan="2" style="text-align:center">Items that reference this one</th><tr><tr> | |
<th style="text-align:left;" class="prop">hasPart<span> </span><a href="http://schema.org/hasPart">[?]</a></th> | |
<td style='text-align:left'><a href="#./">./</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">result<span> </span><a href="http://schema.org/result">[?]</a></th> | |
<td style='text-align:left'><a href="#%23workflow">Main workflow</a></td> | |
</tr></tbody> | |
</table> | |
</div> | |
</div> | |
<hr/><br/><br/> | |
<div> | |
<h3> ./fields</h3> | |
<div id="fields/"> | |
<table class="table metadata table-striped" > | |
<tbody><tr> | |
<th style="text-align:left;" class="prop">@id</th> | |
<td style='text-align:left'><span>fields/</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">name<span> </span><a href="http://schema.org/name">[?]</a></th> | |
<td style='text-align:left'><span>./fields</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">@type</th> | |
<td style='text-align:left'><span>Dataset</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">description<span> </span><a href="http://schema.org/description">[?]</a></th> | |
<td style='text-align:left'><span>The phase field variable at various times during the simulation</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">encodingFormat<span> </span><a href="http://schema.org/encodingFormat">[?]</a></th> | |
<td style='text-align:left'><span>application/tar+gzip</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">variableMeasured<span> </span><a href="http://schema.org/variableMeasured">[?]</a></th> | |
<td style='text-align:left'>phaseField: undefined</td> | |
</tr><tr><th colspan="2" style="text-align:center">Items that reference this one</th><tr><tr> | |
<th style="text-align:left;" class="prop">hasPart<span> </span><a href="http://schema.org/hasPart">[?]</a></th> | |
<td style='text-align:left'><a href="#./">./</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">result<span> </span><a href="http://schema.org/result">[?]</a></th> | |
<td style='text-align:left'><a href="#%23workflow">Main workflow</a></td> | |
</tr></tbody> | |
</table> | |
</div> | |
</div> | |
<hr/><br/><br/> | |
<div> | |
<h3> homogeneous nucleation specification</h3> | |
<div id="benchmark8.ipynb"> | |
<table class="table metadata table-striped" > | |
<tbody><tr> | |
<th style="text-align:left;" class="prop">@id</th> | |
<td style='text-align:left'><span>benchmark8.ipynb</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">name<span> </span><a href="http://schema.org/name">[?]</a></th> | |
<td style='text-align:left'><span>homogeneous nucleation specification</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">@type</th> | |
<td style='text-align:left'><ul> | |
<li><span>File</span></li> | |
<li><span>Dataset</span></li> | |
</ul></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">description<span> </span><a href="http://schema.org/description">[?]</a></th> | |
<td style='text-align:left'><span>Phase field modeling of nucleation has a long history and is covered in a number of reviews (Gránásy 2002, Castro 2003, Simmons 2004, Gránásy 2007, Warren 2009, Heo 2014, Gránásy 2019). The problem formulation of crystallization of an ideal pure liquid cooled below its melting point starts with homogeneous nucleation, a process in which the internal fluctuations of the undercooled liquid lead to the formation of crystal-like seeds able to grow to macroscopic sizes. The nucleation can be assisted by the presence of surfaces (container walls, foreign particles, etc.), in which case the process is termed heterogeneous nucleation. We note that homogeneous nucleation is an idealized formulation, and it is unlikely homogeneous nucleation occurs, due to impurities present in experimental apparatus. However, creating benchmark problems for homogeneous nucleation is still needed since the focus in nucleation research often lies on the underlying homogeneous nucleation, as it is the basis for advancing theoretical approaches to the much more complex phenomena governing heterogeneous nucleation. This benchmark (benchmark 8) targets homogeneous nucleation while benchmark 9 targets heterogeneous nucleation.</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">encodingFormat<span> </span><a href="http://schema.org/encodingFormat">[?]</a></th> | |
<td style='text-align:left'><span>application/x-ipynb+json</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">contentUrl<span> </span><a href="http://schema.org/contentUrl">[?]</a></th> | |
<td style='text-align:left'><a href="https://raw.githubusercontent.com/usnistgov/pfhub/master/benchmarks/benchmark8.ipynb">https://raw.githubusercontent.com/usnistgov/pfhub/master/benchmarks/benchmark8.ipynb</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">keywords<span> </span><a href="http://schema.org/keywords">[?]</a></th> | |
<td style='text-align:left'><ul> | |
<li><span>phase-field</span></li> | |
<li><span>nucleation</span></li> | |
<li><span>benchmark</span></li> | |
<li><span>homogeneous-nucleation</span></li> | |
</ul></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">url<span> </span><a href="http://schema.org/url">[?]</a></th> | |
<td style='text-align:left'><a href="https://pages.nist.gov/pfhub/benchmarks/benchmark8.ipynb/index.html">https://pages.nist.gov/pfhub/benchmarks/benchmark8.ipynb/index.html</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">variableMeasured<span> </span><a href="http://schema.org/variableMeasured">[?]</a></th> | |
<td style='text-align:left'></td> | |
</tr><tr><th colspan="2" style="text-align:center">Items that reference this one</th><tr><tr> | |
<th style="text-align:left;" class="prop">hasPart<span> </span><a href="http://schema.org/hasPart">[?]</a></th> | |
<td style='text-align:left'><a href="#./">./</a></td> | |
</tr></tbody> | |
</table> | |
</div> | |
</div> | |
<hr/><br/><br/> | |
<div> | |
<h3><a href="https://spdx.org/licenses/NIST-PD.html">Go to: </a> NIST-PD</h3> | |
<div id="https://spdx.org/licenses/NIST-PD.html"> | |
<table class="table metadata table-striped" > | |
<tbody><tr> | |
<th style="text-align:left;" class="prop">@id</th> | |
<td style='text-align:left'><a href="https://spdx.org/licenses/NIST-PD.html">https://spdx.org/licenses/NIST-PD.html</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">name<span> </span><a href="http://schema.org/name">[?]</a></th> | |
<td style='text-align:left'><span>NIST-PD</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">@type</th> | |
<td style='text-align:left'><span>CreativeWork</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">description<span> </span><a href="http://schema.org/description">[?]</a></th> | |
<td style='text-align:left'><span>NIST Public Domain Notice</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">url<span> </span><a href="http://schema.org/url">[?]</a></th> | |
<td style='text-align:left'><a href="https://github.com/tcheneau/simpleRPL/blob/e645e69e38dd4e3ccfeceb2db8cba05b7c2e0cd3/LICENSE.txt">https://github.com/tcheneau/simpleRPL/blob/e645e69e38dd4e3ccfeceb2db8cba05b7c2e0cd3/LICENSE.txt</a></td> | |
</tr><tr><th colspan="2" style="text-align:center">Items that reference this one</th><tr><tr> | |
<th style="text-align:left;" class="prop">license<span> </span><a href="http://schema.org/license">[?]</a></th> | |
<td style='text-align:left'><a href="#./">./</a></td> | |
</tr></tbody> | |
</table> | |
</div> | |
</div> | |
<hr/><br/><br/> | |
<div> | |
<h3> Main workflow</h3> | |
<div id="#workflow"> | |
<table class="table metadata table-striped" > | |
<tbody><tr> | |
<th style="text-align:left;" class="prop">@id</th> | |
<td style='text-align:left'><span>#workflow</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">name<span> </span><a href="http://schema.org/name">[?]</a></th> | |
<td style='text-align:left'><span>Main workflow</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">@type</th> | |
<td style='text-align:left'><span>CreateAction</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">description<span> </span><a href="http://schema.org/description">[?]</a></th> | |
<td style='text-align:left'><span>python benchmark8a.py params8a.yaml</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">agent<span> </span><a href="http://schema.org/agent">[?]</a></th> | |
<td style='text-align:left'><a href="#https%3A//orcid.org/0009-0008-2880-8403">Austyn Nguyen</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">endTime<span> </span><a href="http://schema.org/endTime">[?]</a></th> | |
<td style='text-align:left'><span>2017-01-09</span></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">instrument<span> </span><a href="http://schema.org/instrument">[?]</a></th> | |
<td style='text-align:left'><a href="#https%3A//github.com/wd15/phase-field-nucleation-benchmark/commit/2a7e1778cd2f4988b592f2bd0c84852911111fb7">phase-field-nucleation-benchmark</a></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">object<span> </span><a href="http://schema.org/object">[?]</a></th> | |
<td style='text-align:left'><ul> | |
<li><a href="#params8a.yaml">params8a.yaml</a></li> | |
<li><a href="#benchmark8a.py">benchmark8a.py</a></li> | |
<li><a href="#pyproject.toml">pyproject.toml</a></li> | |
</ul></td> | |
</tr><tr> | |
<th style="text-align:left;" class="prop">result<span> </span><a href="http://schema.org/result">[?]</a></th> | |
<td style='text-align:left'><ul> | |
<li><a href="#stats.txt">stats.txt</a></li> | |
<li><a href="#fields/">./fields</a></li> | |
</ul></td> | |
</tr><tr><th colspan="2" style="text-align:center">Items that reference this one</th><tr><tr> | |
<th style="text-align:left;" class="prop">mentions<span> </span><a href="http://schema.org/mentions">[?]</a></th> | |
<td style='text-align:left'><a href="#./">./</a></td> | |
</tr></tbody> | |
</table> | |
</div> | |
</div> | |
<hr/><br/><br/></div> | |
</div> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment