https://github.com/vifactor/dislscatcubfitthreadingmult
Simultaneous fit of multiple data files containing rocking curves measured in double-crystal skew geometry (Cubic case)
https://github.com/vifactor/dislscatcubfitthreadingmult
Last synced: about 1 year ago
JSON representation
Simultaneous fit of multiple data files containing rocking curves measured in double-crystal skew geometry (Cubic case)
- Host: GitHub
- URL: https://github.com/vifactor/dislscatcubfitthreadingmult
- Owner: vifactor
- Created: 2014-08-27T08:29:00.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2014-09-10T13:01:03.000Z (almost 12 years ago)
- Last Synced: 2025-06-10T23:03:50.349Z (about 1 year ago)
- Language: C++
- Homepage:
- Size: 188 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Program to calculate vertical threading dislocation density in epitaxial layer
with cubic interface from double-crystal scans.
Simultaneous fit to multiple data files is possible.
# Requirements
### Following programs should be present on your computer
- gcc compiler
- cmake
### Following libraries should be present on your computer
- [Gnu Scientific Library (GSL)](http://www.gnu.org/software/gsl/)
- [Basic Linear Algebra Subprograms (BLAS)](http://www.netlib.org/blas/)
### Following libraries will be installed by cmake
- [Port3](http://www.netlib.org/port/)
- [libconfig](http://www.hyperrealm.com/libconfig/)
# Build
From command line in the program folder type following:
1. mkdir build
2. cd build/
3. cmake ..
4. make
5. (optional) ln -s /home/user/folder-with-program/DislScatCubFITThreadingMult/build/DislScatCubFITThreadingMult /home/user/bin/DislScatCubFITThreadingMult
After 4-th step you may find *DislScatCubFITThreadingMult* in the *build/* directory.
After 5-th step, you will be able then run your program from any location simply typing
*DislScatCubFITThreadingMult* in a terminal window.
# Usage
####Suggested folder structure:
.
├── config
│ ├── data.cfg
│ ├── fit.cfg
│ ├── sample.cfg
├── data1.dat
├── data2.dat
├── ...
├── datan.dat
Data files should mandatory contain (at least) two columns entitled in the header as follows:
# [omega] [intensity]
or
# [domega] [intensity]
if 0-point is in the peak center. [omega]-column values should be in degrees.
Each added datafile should possess the following record in the *data.cfg* configuration file:
{
file = "relative_path/data.dat";
Q = [ H, K, L ];
resolution :
{
x = double_value;
z = double_value;
};
I0 = double_value;
Ibg = double_value;
}
Do not forget to add record
{
name = "Data.[index].I0";
minVal = double_value;
maxVal = double_value;
}
to *fit.cfg* upon addition of a new datafile.
This will add a new intensity-scale fit variable.
Normally, you always want to fit intensity scale.
####To run the program type:
*DislScatCubFITThreadingMult* config/
####Folder structure after run:
.
├── config
│ ├── data.cfg
│ ├── data.~cfg
│ ├── fit.cfg
│ ├── resume.txt
│ ├── sample.cfg
│ ├── sample.~cfg
│ ├── data1.ft
│ ├── data2.ft
│ ├── ...
│ └── datan.ft
├── data1.dat
├── data2.dat
├── ...
└── datan.dat
## Tested on
Linux Mint 17
Ubuntu 12.04, 14.04