Comments (5)
Currently the model finder always returns a valid model: using the integral approach, the process xs is recalculated at the post-step energy and if it's zero (no applicable process) then no model is returned before actually trying to select a model. We might be able to use your suggestion if the post-step process xs is zero and resample a process, but I don't think we would need material-dependent model applicabilities.
from celeritas.
the applicability doesn't allow us to limit correctly the lower energy of models based on their production cutoff, so we end up sampling inapplicable discrete models (most seriously in the case of stopped positrons)
Is this because of the applicability, or because the process is sampled from the cross sections calculated at the pre-step energy and the particle might lose energy over the step (possibly making the sampled process/model inapplicable at the post-step energy)?
from celeritas.
It's because the way I implemented applicability requires the same lower bound for all materials. If we could do material-dependent, then we would be able to select the actually applicable models from the post-slowing-down energy.
from celeritas.
But won't we still be sampling the (possibly now inapplicable) process from the pre-step energy?
from celeritas.
Right: we calculated the process cross sections using pre-step energies. Well, perhaps we could adjust the logic at the end of select_discrete_interaction
so that if the model finder returns "no model" (which it can do with the post-step energy), the associated per-process xs is set to zero (and the macro xs reduced accordingly) and we return to the top of the function to resample a process? Unless there are processes with upper energy bounds, this will allow us to always sample a process that has a valid model.
from celeritas.
Related Issues (20)
- Implement short-circuit volume evaluation using infix notation HOT 1
- Improve physics memory utilization and performance
- Replace StreamStore and helpers with reduction function
- Construct optical photon physics cross section tables HOT 2
- `G4VDecayChannel`: `G4MuonDecayChannel` HOT 1
- Optimize track vector data layout for particle types
- Debug parallel crashes running with multiple streams on Frontier HOT 1
- Fix performance regression in ORANGE testem3 HOT 6
- Add 3D raytrace visualizer
- DUNE integration
- LZ integration HOT 1
- ePIC integration HOT 5
- LEGEND integration HOT 2
- ALICE integration
- Support optical surface interfaces HOT 2
- Define "volume instance" IDs and expose physical volumes for Geant4/VecGeom
- Refactor and optimize field propagation
- Move RNGs down to corecel
- Optical photon stepping loop
- Basic muon decay physics
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 celeritas.