Comments (3)
I think the easiest simulation to get up and running (which still has some depth to it) would be to simulate the free electron component of the XRTS in the random phase approximation (RPA) regime.
Scattered spectrum power is related to the dynamic structure factor S(k,w) as well as the incident and scattered wavevectors:
Here is the Dynamic Structure Factor equation for the free electron component:
The leading term is just detailed balance, which can be implemented as its own function.
Probably the most complicated part of it is doing the complex-valued triple integral for the dielectric function (in the RPA regime), but if it is done in a general enough way, you can use this function with various input distribution functions:
This requires two real-valued integrals to be done (most likely in Gaussian quadrature), followed by a Cauchy Principal Value integral to deal with the asymptote
We want to use the Fermi-Dirac distribution specifically to describe degenerate electrons in the warm dense matter regime:
The chemical potential in the above distribution function can be described by an interpolation between classical and quantum theories, given by:
where the coefficients are A = 0.25945
, B = 0.072
, and b = 0.858
Note that as temperature T goes large, the above distribution function reduces to the Maxwell-Boltzmann function, so it's still valid for classical plasmas. This interpolated chemical potential is already implemented in PlasmaPy here.
from hack-week.
The integral can be done by splitting into a double integral and a Cauchy integral. For the double integral, I think we can use scipy.dblquad
. For the Cauchy integral we can use scipy.integrate.quad
with weight = 'cauchy'
to get the principal value. This is just a wrapper around the QAWC
method from QUADPACK
.
And since these integrals are being dong at every value of photon energy in the simulation space, we might be able to further optimize this by using scipy.integrate.quad_vec
.
from hack-week.
I should've added that the theta in the equation for the chemical potential is the degeneracy parameter given by:
I already implemented the Fermi Energy in plasmapy here and theta here.
from hack-week.
Related Issues (20)
- Implement a Mach Probe analysis module
- Implement a spectral density analysis for mode identification.
- Formulary Plasma Parameter Calculator HOT 2
- Add GitHub Actions
- CMA diagrams
- [EPIC] 2022 Needed Resources HOT 2
- Implement a Fusion Power Balance Formulary
- Implement the practical fit formula for ionization rate coefficients by Voronov (1997)
- Implement the radiative and three-body recombination rates given in the NRL plasma formulary
- Implement the relaxation rates (collision frequencies) in the NRL formulary HOT 1
- Implement a diagnostic coordinate transformation tool HOT 2
- Implement the plasma critical density in the formulary
- Link for Video Tutorial on Installing Python Via Anaconda
- Update README to include items listed on the how the hack week works brainstorm
- Update (or delete) binder link
- Which planets can Dracula survive on during dayling? HOT 3
- Create educational Jupyter notebooks
- Create a `Photon` class
- Functions to get electrostatic fields from known solutions (infinite charged wires, infinite charge sheet)
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 hack-week.