-
Notifications
You must be signed in to change notification settings - Fork 3
Apothesis: an open source 'C ' software for studying deposition processes via the kinetic Monte Carlo
Apothesis is a kinetic Monte Carlo software for deposition processes.
Currently there is no generalized kinetic Monte Carlo (KMC) software for deposition processes. Although, open source software based on the KMC method do exit for handling surface processes such as SPPARKS 2016, Zakros 2016 and KMCLib 2014, these codes are focused on catalysis and do not take into account the development of film morphology - a central feature of deposition processes - or refer to material destruction (MMonCa 2016). There are also software that take into account the film development (NASCAAM 2016) but they are very simplistic and cannot be used for complex processes such as the ones that modern technologies demand.
These are the drawbacks and limitations that Apothesis tries to overcome. Apothesis targets to be the first generalized deposition oriented software based on KMC that can handle complex processes in arbitrary surfaces.
References:
- [SPPARKS 2016] http://spparks.sandia.gov/
- [Zacros 2016] http://www.ucl.ac.uk/~ucecmst/software.html
- [KMClib 2014] Leetmaa M. and Skorodumova N.V. “KMCLib: A general framework for lattice kinetic Monte Carlo (KMC) simulations” Computer Physics Communications 185, 2340 (2014).
- [MMonCa 2016] http://www.materials.imdea.org/MMonCa
- [NASCAM 2016 ] https://www.unamur.be/sciences/physique/pmr/telechargement/logiciels/nascam
The goal of the code project is to enable Apothesis to handle multicomponent species. That said, currently Apothesis can handle only one species; the one that is to be deposited. In order to generalize Apothesis and enable it to handle surface reactions, it must first be able to handle multiple species in the computational domain. The tasks that have to be
-
Develop the core classes that will handle multiple species. Each species will be able to participate in a certain, predefined number of processes.
-
Develop the core classes that will treat surface reactions of the form: A -> B(solid) + (By products) ...
-
Test the development in a realistic but simple system (e.g. tungsten deposition).
-
Write documentation and simple test cases. The development will be in
C++
.
This package will be a useful asset for GeomScale since it will broader the spectrum of scientific communities that GeomScale targets. Moreover, there is a tight connection between kinetic Monte Carlo and Monte Carlo algorithms for sampling and integration from convex regions and this connection will be highlighted and exploited for the benefit of the community.
Nikolaos Cheimarios <n.cheimarios at gmail.com> is an expert in multi scale modeling and computational chemistry, in particular scientific software development, numerical solution of partial differential equations, transport phenomena, non-linear phenomena, stochastic processes, molecular simulations and high performance computing (HPC) in CPU and GPU .
Vissarion Fisikopoulos <vissarion.fisikopoulos at gmail.com> is an expert in mathematical software, computational geometry and optimization, and has previous GSOC mentoring experience with Boost C++ libraries (2016-2019) and the R-project (2018-2019).
Students, please contact both mentors below after completing at least one of the tests below.
Students, please do one or more of the following tests before contacting the mentors above.
MENTORS: write several tests that potential students can do to demonstrate their capabilities for this particular project.
e.g.
- Easy: Download, compile and run Apothesis. Perform the simple test that is described in Apothesis.
- Medium: Write an arbitrary process class that returns its name. The class must contains only the necessary functions in order for Apothesis to compile and on runtime to print its name (i.g. "Hello I am MySurfaceReaction class") in the terminal. The class does not have to have any physical/chemical meaning.
- Hard: Create a sketch/highlights of your idea of how multicomponent species must be introduced in Apothesis. For this special case consider only absorption, diffusion and migration for the surface processes. Create a flowchart taking into account the aforementioned processes and assume that only two species (A and B) are introduced.
- Soumyajit Chakraborty, https://github.com/soumyajit1729, https://github.com/soumyajit1729/Apothesis (Easy task)
Students, please post a link to your test results here.
- EXAMPLE STUDENT 1 NAME, LINK TO GITHUB PROFILE, LINK TO TEST RESULTS.
Name:Rohit Email:[email protected] GitHub:https://github.com/phoenixrao885/gsoc-monte-carlo-solutions Test done :monte carlo integration -Easy,Medium,Hard,Bonus
Name: Prajwal Bagal Email: [email protected] Github: https://github.com/Prajwalbagal/GeomScaleTest
Name:Abhishek Agrawal Email:[email protected] GitHub:Easy-task: https://github.com/abhishek8764/Monte-Carlo-Integration
Name: Divesh Kuamar Email: [email protected] Task-Link(Easy Randomized LP solver): https://github.com/diveshkr-code/Geomscale_Gsoc2020`
Name: Deifilia To Email: [email protected] Task-link: (Easy and Medium of Apothesis): https://github.com/DeifiliaTo/Apothesis_gsoc
Name: Soumyajit Chakraborty Email: [email protected] Task-Link(Easy Task of Apothesis): https://github.com/soumyajit1729/Apothesis
Name: Soumyajit Chakraborty Email: [email protected] Task-Link(Medium Task of Apothesis): https://github.com/soumyajit1729/Apothesis
Name: Soumyajit Chakraborty Email: [email protected] Task-Link(Hard Task of Apothesis): https://docs.google.com/presentation/d/1mX4UA3x8cs6--aCZ_cN2ZNB6jr3eC7P5sbiEB92YEC0/edit?usp=sharing
Name:Abhishek Agrawal Email:[email protected] GitHub:Medium-task: https://github.com/abhishek8764/Monte-Carlo-Integration
Name: Alexandros Manochis, Email: [email protected], Github: https://github.com/AlexManochis/volume_approximation/tree/gsoc20, Project: A comparative study of uniform high dimensional samplers, Tests completed: Easy, Medium, Hard
Name: Sunit Gautam Email: [email protected], [email protected] GitHub: https://github.com/gsunit/Monte-Carlo-Intergration Tasks completed: Monte Carlo integration - Easy, Medium, Hard
Name: Vaibhav Thakkar
Email: [email protected]
GitHub: https://github.com/vaithak/GeomScale_LP
Tasks completed: Randomized LP - Easy, Medium, Hard
Name: Sharat Bhat Email: [email protected] Github: https://github.com/Sharat-Bhat Tasks: https://github.com/Sharat-Bhat/GSoC_volesti
Name: Kunal Katiyar Email: [email protected] GitHub: https://github.com/KunalKatiyar/GSoC_RandLP
Name: Reyan Ahmed Email: [email protected] GitHub: https://github.com/abureyanahmed/VolEsti_test
Name:Abhishek Agrawal Email:[email protected] GitHub:Easy-task: https://github.com/abhishek8764/A-comparative-study-of-uniform-high-dimensional-samplers
Name: Sushovan Haldar Email: [email protected] Github: Easy task of using volesti : https://github.com/SushovanHaldar/geomscalecodes
Name: Anastasios Sourpis Email: [email protected] Github: Apothesis : https://github.com/pithonas/Apothesis
Name: Daniel Pozo Email: [email protected] GitHub: https://github.com/danipozo/uld-test-solutions
Name: Iasonas Nikolaou Email: [email protected] GitHub: (Easy and medium task, randomized LP) https://github.com/jasonNikolaou/GeomScale_gsoc
Name: Fernando Martin Email: fdmartin92 (at) gmail (dot) com GitHub: https://github.com/fmartin92/GeomScale_MonteCarlo (All tasks corresponding to the Monte Carlo integration proposal)
Name: Marios Papachristou Email: papachristoumarios [at) gmail (dot] com GitHub: https://github.com/papachristoumarios/geomscales-challenge (All challenges for ULD)
Name: Eugenio Borghini Email: [email protected] GitHub: https://github.com/eugenusb/GeomScale_LP (Easy and medium test projects for the randomized LP solver)
Name: Muhammad Ali Nayeem Email: [email protected] GitHub: https://github.com/ali-nayeem Test: https://github.com/ali-nayeem/gsoc2020_rand_LP_solver
Name: Bychkov Andrey Email: [email protected] GitHub: https://github.com/AndreyBychkov Test: https://github.com/AndreyBychkov/LIPA (Hard for Optimization and SOS)
Name: Yuan Yuan Email: [email protected] Github:https://github.com/yzy0014 Test:https://github.com/yzy0014/GeomScale Test demo:https://rpubs.com/yzy0014/584976, https://rpubs.com/yzy0014/585064 (High dimensional sampling with applications to structural biology)
Name: Haris Zafeiropoulos Email: [email protected] Github:https://github.com/hariszaf/ Test:https://hariszaf.github.io/gsoc2020/
Name: Mokhwa Lee
Email: [email protected] OR [email protected]
Github: https://github.com/Mokhwalee
Test: https://github.com/Mokhwalee/Exercise-Gsos
( Monte Carlo - Easy, Medium, Hard, Bonus )
Name: Antonis Skarlatos
Email: [email protected]
Github: https://github.com/Hepic/
Test: https://github.com/Hepic/Monte-Carlo-integration
(Monte-Carlo-integration: easy/medium/hard/bonus Languages used: R/C++)
Name: Konstantinos Emmanouilidis
Email: [email protected]
Github: https://github.com/emmanouilidisk
Test: https://github.com/emmanouilidisk/GeomScale_challenges
(Challenges for Randomised LP Solver)
Name: Imrane Belhadia Email: [email protected] Github:https://github.com/ImraneBELH Test: https://github.com/ImraneBELH/gsocEvaluation-MonteCarlo.git (Monte Carlo)
Name: Repouskos Panagiotis Email: [email protected] Github: https://github.com/panagiotisrep/volume_approximation/tree/Optimization , https://github.com/panagiotisrep/volume_approximation/tree/SDP-cutting-plane Test: Randomized SDP solver (medium, hard)
Name: Mohammad Taufeeque
Email: [email protected]
Github: https://github.com/taufeeque9
Test: https://github.com/taufeeque9/GSoC_Randomized_SDP_Solver_Test
(Easy and hard task for Randomized SDP Solver)
Name: Bento Natura
Email: [email protected]
Github: https://github.com/platformconclude/volume_approximation/tree/spectra_sampling
Test: Randomized SDP solver (medium)
Github: https://github.com/platformconclude/simple_LP_IPM
Test: Interior point method for linear programming (IPM)
Name: Ritwik Chakraborty
Email: [email protected]
Github: https://github.com/ritwikchakraborty123
Test: :A comparative study of uniform high-dimensional samplers (medium)