{"id":21594076,"url":"https://github.com/ornl/thermo4pfm","last_synced_at":"2025-08-07T00:47:45.964Z","repository":{"id":39884065,"uuid":"339172070","full_name":"ORNL/Thermo4PFM","owner":"ORNL","description":"Library to evaluate alloy compositions in Phase-Field models","archived":false,"fork":false,"pushed_at":"2025-04-15T14:39:19.000Z","size":760,"stargazers_count":20,"open_issues_count":3,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-27T00:15:16.933Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ORNL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-02-15T18:37:47.000Z","updated_at":"2025-05-31T11:32:36.000Z","dependencies_parsed_at":"2024-01-17T21:14:15.337Z","dependency_job_id":"5f31593d-9a7a-44b0-8499-1f8bc1c9355d","html_url":"https://github.com/ORNL/Thermo4PFM","commit_stats":{"total_commits":191,"total_committers":5,"mean_commits":38.2,"dds":0.0732984293193717,"last_synced_commit":"fcf482d01bd28aca979bc182a2f311491159c1fd"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/ORNL/Thermo4PFM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ORNL%2FThermo4PFM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ORNL%2FThermo4PFM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ORNL%2FThermo4PFM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ORNL%2FThermo4PFM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ORNL","download_url":"https://codeload.github.com/ORNL/Thermo4PFM/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ORNL%2FThermo4PFM/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269181027,"owners_count":24373848,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-06T02:00:09.910Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-24T17:15:52.942Z","updated_at":"2025-08-07T00:47:45.927Z","avatar_url":"https://github.com/ORNL.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Thermo4PFM\n\nLibrary to compute equilibrium compositions and equal chemical potential\ncompositions in binary and ternary alloys.\nThis library supports thermodynamic data formulated according to CALPHAD\n(Computer Coupling of Phase Diagrams and Thermochemistry) models, as\nwell as dilute binary alloys.\n\nOne major aim is to solve the Kim-Kim-Suzuki (KKS) equations to obtain\nlocal compositions given a local mixture of two phases.\nThese quantities are then used to evaluate the phase-field model driving\nforce (right-hand side of time-evolution equation), as well as the\nenergy density.\n\nIn the CALPHAD approach, the Gibbs energy of each individual phase is\ndefined, and the model parameters are collected in a thermodynamic\ndatabase.\nFor multicomponent solution phases, the Gibbs energy is modeled as the\nsum of 3 components:\n\n* the contribution from the mechanical mixing of the pure components\n* is the ideal mixing contribution\n* the excess Gibbs energy of mixing due to non-ideal interactions\n\nThe values of coefficients used for parameterizing these energies are\nstored in JSON (JavaScript Object Notation) files.\nThese files are parsed with the Boost Property Tree library.\n\nCurrent functionalities include:\n\n* KKS equations solver for binary (CALPHAD and dilute) and ternary\n  alloys (CALPHAD)\n* equilibrium compositions solvers for binary and ternary alloys\n  (CALPHAD)\n\nSolvers are based on internal Newton solver.\nSpecific solvers are derived classes of base class \"Newton\" and\nimplement specific Jacobian and right-hand side calculations.\nCramer's rule is used to solve the linear system at each Newton\niteration.\nSolvers are templated on the dimension of the system of equations to be\nsolved.\n\nIssues related to compositions possibly taking values outside of\n$[0, 1]$ during iterative solve are mostly handled by using continuous\nextensions of $x \\log(x)$ and $(1-x) \\log(1-x)$ functions.\n\n## Dependencies\n\n* [BOOST](http://www.boost.org)\n\n## References\n\nJ.-L. Fattebert, S. DeWitt, A. Perron, J. Turner,\n\"Thermo4PFM: Facilitating Phase-field simulations of alloys with thermodynamic driving forces\",\n_Comput. Phys. Comm._, __288__ (2023), 108739\n\nS.G. Kim, W.T. Kim, T. Suzuki,\n\"Phase-field model for binary alloys\",\n_Phys. Rev. E_ __60__:6 (1999) 7186.\n\nJ.-L. Fattebert, M. E. Wickett, P. E. A. Turchi,\n\"Phase-field modeling of coring during solidification of Au-Ni alloy\nusing quaternions and CALPHAD input\",\n_Acta Mater._, __62__ (2014), 89-104\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fornl%2Fthermo4pfm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fornl%2Fthermo4pfm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fornl%2Fthermo4pfm/lists"}