Releases: issp-center-dev/2DMAT
v2.2.0
Changes from v2.1.0
New Features
-
sim-trhepd-rheed
can now treat many-beam condition data [#56] - Limitation (constraint) of the parameter space [#56]
- Parameters
$x$ satisfying the inequity$Ax+b \ge 0$ are considered-
$A$ is a matrix and$b$ is a vector - This inequity
$(\ge 0)$ means that all the elements are non-negative
-
- Parameters
-
runner.mapping.b
in the input file now accepts a column vector [#52]
Fixed issues
v2.1.0
Release note
Update from v2.0.0
Samples
- Add a sample tool for generating an xyz file from the optimized atomic structure obtained by SXRD (#44)
- Simple sample for function solver is added (#40)
Documents
- Simple tutorial for adding user-defined solver is added (#37)
sample/leed
moves tosample/leed/mapper/
(#41)- Description of
solver.post.Rfactor_type
forsim_trhepd_rheed
solver is updated (#47, #48)
For developers
Misc
- Delete tool/todft directory (#42)
- NOTE: todft tool has already been moved to sim-trhepd-rheed
- Remove old directory (#43)
Full Changelog: v2.0.0...v2.1.0
v2.0.0
Release Note
Update from v1.0.1
General
- rearranged the structure of samples directories (#33)
- change TOML python package from
toml
totomli
(#26)toml
is deprecated: we continue a support of this in this version but will drop it in future
Algorithm
- 🆕
pamc
(#30)- population annealing monte carlo method
exchange
- becomes able to specify temperatures by inverse temperature beta (#27)
- becomes able to calculate multiple replicas in one MPI process (#22)
- becomes able to search the discrete parameter space as
mapper
andbayes
algorithms viaMeshData.txt
(#21)- for MC update, it needs a neighbor list;
py2dmat_neighborlist
can generate it.
- for MC update, it needs a neighbor list;
- a post-processing script,
separateT.py
, is absorbed into the main program as a post process (#22) - when a replica goes out of bounds, the solver won't be called (of course, update will be rejected) (#28)
- 🆕
montecarlo
(for developers) (#19)- base class for Monte Carlo methods
- exchange and pamc are based on it
- Downgrade NumPy.Random to the old API (#18)
Solver
- 🆕
sxrd
- surface x-ray diffraction (SXRD) experiments
- wrapper for sxrdcalc/sxrdcalc
- 🆕
leed
- Low Energy Electron Diffraction experiments
- wrapper for SATLEED
sim_trhepd_rheed
Full Changelog: v1.0.1...v2.0.0
v2.0-beta
Release Note
Update from v1.0.1
General
- rearranged the structure of samples directories (#33)
- change TOML python package from
toml
totomli
(#26)toml
is deprecated: we continue a support of this in this version but will drop it in future
Algorithm
- 🆕
pamc
(#30)- population annealing monte carlo method
exchange
- becomes able to specify temperatures by inverse temperature beta (#27)
- becomes able to calculate multiple replicas in one MPI process (#22)
- becomes able to search the discrete parameter space as
mapper
andbayes
algorithms viaMeshData.txt
(#21)- for MC update, it needs a neighbor list;
py2dmat_neighborlist
can generate it.
- for MC update, it needs a neighbor list;
- a post-processing script,
separateT.py
, is absorbed into the main program as a post process (#22) - when a replica goes out of bounds, the solver won't be called (of course, update will be rejected) (#28)
- 🆕
montecarlo
(for developers) (#19)- base class for Monte Carlo methods
- exchange and pamc are based on it
- Downgrade NumPy.Random to the old API (#18)
Solver
- 🆕
sxrd
- surface x-ray diffraction (SXRD) experiments
- wrapper for sxrdcalc/sxrdcalc
sim_trhepd_rheed
v1.0.1
v1.0.0
Release note
Changes from v0.1.x
New features
- Generate Meshdata ( #1 )
- Add new benchmark function, himmelblau (#3)
- Logging of callings solver (#4)
Changes
- Rename surf solver to sim-trhepd-rheed (#2)
- Rearrange documentation orders (#6)
- Change bayes input sections (#8)
Documents
- Add English manual (#7)
For developers
- Document for the topic branch with the name of '*-autodoc' will be deployed to https://issp-center-dev.github.io/2DMAT/manual/*/ (#5)
v0.1.0
2DMAT -- Data-analysis software of quantum beam diffraction experiments for 2D material structure
2DMAT is a framework for applying a search algorithm to a direct problem solver to find the optimal solution. As the standard direct problem solver, the experimental data analysis software for two-dimensional material structure analysis is prepared. The direct problem solver gives the deviation between the experimental data and the calculated data obtained under the given parameters such as atomic positions as a loss function used in the inverse problem. The optimal parameters are estimated by minimizing the loss function using a search algorithm. For further use, the original direct problem solver or the search algorithm can be defined by users.
In the current version, for solving a direct problem, 2DMAT offers the wrapper of the solver for the total-reflection high-energy positron diffraction (TRHEPD) experiment. As algorithms, it offers the Nelder-Mead method, the grid search method, the Bayesian optimization method, and the replica exchange Monte Carlo method. In the future, we plan to add other direct problem solvers and search algorithms in 2DMAT.
Document
- English (in preparation)
- 日本語
py2dmat
py2dmat
is a python framework library for solving inverse problems.
It also offers a driver script to solve the problem with predefined algorithms and solvers (py2dmat
also means this script).
Prerequists python and python packages
- Required
- python >= 3.6
- numpy >= 1.17
- toml
- Optional
- scipy
- for
minsearch
algorithm
- for
- mpi4py
- for
exchange
algorithm
- for
- physbo >= 0.3
- for
bayes
algorithm
- for
- scipy
Install
- From PyPI (Recommended)
python3 -m pip install py2dmat
- If you install them locally, use
--user
option likepython3 -m pip install --user
pipx
may help you from the dependency hell :p
- If you install them locally, use
- From Source (For developers)
- update
pip >= 19
bypython3 -m pip install -U pip
python3 -m pip install 2DMAT_ROOT_DIRECTORY
to installpy2dmat
package andpy2dmat
command
- update
Simple Usage
py2dmat input.toml
(use the installed script)python3 src/py2dmat_main.py input.toml
(use the raw script)- For details of the input file, see the document.
License
This package is distributed under GNU General Public License version 3 (GPL v3) or later.
Copyright
© 2020- The University of Tokyo. All rights reserved.
This software was developed with the support of "Project for advancement of software usability in materials science" of The Institute for Solid State Physics, The University of Tokyo.