{"id":16554442,"url":"https://github.com/tkphd/ppcproject","last_synced_at":"2025-04-12T05:52:00.994Z","repository":{"id":15830438,"uuid":"18570328","full_name":"tkphd/PPCproject","owner":"tkphd","description":"RPI CSCI-6360 Parallel Programming \u0026 Computing group project","archived":false,"fork":false,"pushed_at":"2020-06-16T14:59:24.000Z","size":981,"stargazers_count":2,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-12T05:51:50.399Z","etag":null,"topics":["grain-growth","materials-science","mmsp","monte-carlo","phase-field"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"dcworldwide/react-native-tinder-swipe-cards","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tkphd.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}},"created_at":"2014-04-08T18:35:46.000Z","updated_at":"2021-04-08T07:50:25.000Z","dependencies_parsed_at":"2022-09-03T11:30:22.048Z","dependency_job_id":null,"html_url":"https://github.com/tkphd/PPCproject","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkphd%2FPPCproject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkphd%2FPPCproject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkphd%2FPPCproject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkphd%2FPPCproject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tkphd","download_url":"https://codeload.github.com/tkphd/PPCproject/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248525156,"owners_count":21118616,"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","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":["grain-growth","materials-science","mmsp","monte-carlo","phase-field"],"created_at":"2024-10-11T19:51:28.597Z","updated_at":"2025-04-12T05:52:00.961Z","avatar_url":"https://github.com/tkphd.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"PPCproject\n==========\n\nRPI CSCI-6360 Parallel Programming \u0026amp; Computing 2014: Group Project\n\nIf you wish to contribute to this code, please fork this repository (http://github.com/fifthblackbird/PPCproject) into your GitHub account before cloning.\n\nThis is a group project intended to implement POSIX threads and to improve MPI-IO performance in MMSP (http://github.com/mesoscale/mmsp).\n\nThe code depends on the Mesoscale Microstructure Simulation Project (MMSP) libraries [1].\n\nThe source directory contains code for grain growth simulations using a sparse phase-field model [2] and a Potts Monte Carlo model [3].\n\nBefore building this code, download the MMSP source code and create symbolic links to ```MMSP/include``` and ```MMSP/algorithms```.\n\nE.g., if you store MMSP in ~/Downloads/mmsp, run\n```\nln -s ~/Downloads/mmsp/include source/include\nln -s ~/Downloads/mmsp/algorithms source/algorithms\n```\n\nIn ```source/```, the Make commands default to the phase-field model:\ne.g., ```make``` or ```make parallel``` will build ```graingrowth.out``` or ```parallel_GG.out```, respectively, both of which depend on ```graingrowth.cpp```.\n\nTo compile the Monte Carlo version, append \"mc\" to the commands:\ne.g., ```make mc``` or ```make parallelmc``` will build ```graingrowth.out``` or ```parallel_MC.out```, respectively, both of which depend on ```graingrowth_MC.cpp```.\n\nTo build this code on an IBM Blue Gene/Q supercomputer, make sure the IBM xl_r compiler and zlib library are available.\nOn the Rensselaer Polytechnic Institute BG/Q, AMOS, ```module load xl_r experimental/zlib```.\nThen, ```make bgq``` or ```make bgqmc```.\n\nThe recommended mode for this program is using --nonstop, which will intialize and coarsen a simulation domain.\ne.g., use \n```\nmpirun -np 6 ./parallel_GG.out --nonstop 3 voronoi.000.dat 200 200 4\n```\nto initialize and save a startup file (```voronoi.000.dat```) and a checkpoint file after 200 steps (```voronoi.200.dat```), using six MPI ranks with 4 pthreads each.\nMake sure you have hardware support for 24 threads before running this command!\n\nNote that AMOS is big-endian. Most consumer PCs are little-endian.\nIf you have downloaded a binary data file generated using MMSP on AMOS, ```make wrongendian``` and run it on the file.\nAfterwards, you can use standard MMSP utilities (e.g., ```mmsp2vti```) to export a file for visualization.\n\n\nReferences:\n\n1.  J. Gruber and T. Keller. The Mesoscale Microstructure Simulation Project. http://github.com/mesoscale/mmsp\n\n2.  I. Steinbach and F. Pezzolla. \"A Generalized Field Method for Multiphase Transformations Using Interface Fields.\"\n    Physica D 134 (1999) 385-393. DOI: 10.1016/S0167-2789(99)00129-3\n\n3.  S.A. Wright, S.J. Plimpton, T.P. Swiler, R.M. Fye, M.F. Young, and E.A. Holm. \"Potts-model grain growth simulations: Parallel algorithms and applications.\"\n    SAND Report (1997) 1925.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkphd%2Fppcproject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftkphd%2Fppcproject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkphd%2Fppcproject/lists"}