Comments (6)
How many periods/layers you have in your superlattice? Can you provide an example script and specify what "quite a while" means?
I need to think about the possibilities of parallelization, but I think it's not as easy as in PowderModel. It might be actually easier in this case to look into numexpr.
from xrayutilities.
Thanks for you very fast answer. 555 periods ! I know its a lot (and relaxation may occur). I will have look to numexpr.
from xrayutilities.
yes 555 is a lot and the main loop in DynamicalModel goes over the layers and this is one which I think can't be parallelized, but its execution (loop body) could likely be optimized (maybe by numexpr). Any pull requests/patches are certainly welcome.
from xrayutilities.
Hi Dominique
back to this topic. I found out that the Darwin model was much faster when dealing with large superlattices. Is it related to the fact that every single layer produced by the loop has its own fitting parameters in the dynamical model? Maybe a superlattice layer model could be implemented, so that the fitting parameters would remain the same for each identical layer of the loop. Not sure I am clear... sorry. And not sure I have the skills to code it... sorry.
from xrayutilities.
I don't know why Darwin model could be faster.
But I think linking the parameters in a superlattice is already possible by using lmfit features. Basically in the same way as you do in your new example. You have to basically set the parameter to be equal to a different one. In this way all equal layers in a super lattice can be made to be represented by one parameter
See
xrayutilities/examples/simpack_xrd_dyn_AlGaAs.py
Lines 118 to 120 in 0af8aa7
Note:
It would maybe be good for this to be a bit more usable to give a way to during construction of a Layer define a specific name: A change for this is required in this method I guess:
xrayutilities/lib/xrayutilities/simpack/smaterials.py
Lines 50 to 66 in 0af8aa7
Currently the names of the layers are automatically generated from the underlaying materials name. An optional keyword argument in the mentioned function would likely be better and one can still fall back to using the materials name if nothing is specified.
from xrayutilities.
Currently the names of the layers are automatically generated from the underlaying materials name. An optional keyword argument in the mentioned function would likely be better and one can still fall back to using the materials name if nothing is specified.
#169 picks up this idea and implements it.
from xrayutilities.
Related Issues (20)
- make it possible to show different planes in reciprocal space (xu.materials.show_reciprocal_space_plane)
- Clarification of `Experiment` parameters `ndir`, `idir` and `sampleor` HOT 1
- Implementation of the anisotropic Poisson ratio
- installation with pyproject.toml produce a warning about the data HOT 4
- 1.7.4 warning during the Debian build process (test) HOT 1
- C-code does not respect the xrayutilities.config.VERBOSITY
- add doctest integration in the azure pipelines
- implementation of FitModel is very weird
- _area_detector_calib_fit is an empty function? HOT 2
- Testdata for Mythen Detector HOT 3
- numpy 1.25 deprecation warnings
- Stacking orientation of non-cubic layers HOT 8
- Loading .ras Files HOT 5
- Import error with numpy.core.multiarray HOT 3
- Positional arguments in KinematicalModel.simulate() HOT 3
- multiprocessing not using multiple threads HOT 1
- how to perform reciprocal space mapping HOT 3
- Exceptions in thread during Convolve gets stuck waiting for results instead of throwing an error in the main function call HOT 6
- lmfit 1.3.0 breaks simpack.FitModel HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xrayutilities.