Skip to content

Instantly share code, notes, and snippets.

@wd15
Last active July 31, 2024 16:00
Show Gist options
  • Save wd15/4baf6e83aef80ff48af0535f2c8262be to your computer and use it in GitHub Desktop.
Save wd15/4baf6e83aef80ff48af0535f2c8262be to your computer and use it in GitHub Desktop.
---
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
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)
{
"@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": []
}
]
}
<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">&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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