Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set correct energy limits for Coulomb scattering #1266

Merged
merged 4 commits into from
Jun 12, 2024

Conversation

amandalund
Copy link
Contributor

  • Set the Coulomb scattering energy limits based on the cross section grid bounds
  • Get the MSC energy limits from MscParamsHelper instead of using XsCalculator
  • Regenerate four-steel-slabs.root with Urban MSC at low energies and WentzelVI + single Coulomb scattering at high energies

@amandalund amandalund added the physics Particles, processes, and stepping algorithms label Jun 11, 2024
@amandalund amandalund requested a review from sethrj June 11, 2024 18:10
Copy link
Member

@sethrj sethrj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@sethrj sethrj enabled auto-merge (squash) June 12, 2024 15:04
@sethrj sethrj merged commit 7d704d5 into celeritas-project:develop Jun 12, 2024
28 checks passed
@amandalund amandalund deleted the coulomb-energy-limit branch June 12, 2024 15:46
@sethrj
Copy link
Member

sethrj commented Jun 21, 2024

@amandalund Did you regenerate these using ninja update-four-slabs update-simple-cms with Geant4 11.0.x, or some other way? When I regenerate them on master, I see a warning:

status: Building Geant4 physics tables
/Users/seth/Code/celeritas-temp/src/celeritas/ext/detail/CelerEmStandardPhysics.cc:367: warning: Urban multiple scattering is used for all energies: disabling G4eCoulombScatteringModel
/Users/seth/Code/celeritas-temp/src/celeritas/ext/detail/CelerEmStandardPhysics.cc:367: warning: Urban multiple scattering is used for all energies: disabling G4eCoulombScatteringModel

and then a bunch of failures in the UrbanMsc and ImportProcess tests, including:

/Users/seth/Code/celeritas-temp/test/celeritas/em/UrbanMsc.test.cc:237: Failure
Value of: value_as<MevEnergy>(params.params.high_energy_limit)
  Actual: 1000000
Expected: 1e2
Which is: 100
(Relative error 9999 exceeds tolerance 9.9999999999999998e-13)

and

/Users/seth/Code/celeritas-temp/test/celeritas/ext/RootImporter.test.cc:139: Failure
Expected equality of these values:
  11
  processes.size()
    Which is: 9

and

unknown file: Failure
C++ exception with description "celeritas: runtime error: imported process data is unavalable for PDG{11} (needed for 'coulomb_scat')
/Users/seth/Code/celeritas-temp/src/celeritas/phys/ImportedProcessAdapter.cc:132: 'proc_ids.process' failed" thrown in the test body.

@amandalund
Copy link
Contributor Author

Some other way... and I used the following physics options:

"coulomb_scattering": true,
"msc": "urban_wentzelvi"

@sethrj
Copy link
Member

sethrj commented Jun 22, 2024

Thanks @amandalund , this lets the tests pass again:

--- a/test/celeritas/data/four-steel-slabs.geant.json
+++ b/test/celeritas/data/four-steel-slabs.geant.json
@@ -13,14 +13,14 @@
 "apply_cuts": false,
 "lpm": true,
 "max_energy": [
- 1000000.0,
+ 100000000.0,
  "MeV"
 ],
 "min_energy": [
  0.0001,
  "MeV"
 ],
-"msc": "urban",
+"msc": "urban_wentzelvi",
 "rayleigh_scattering": true
 }

but the resulting ROOT files are still 10-30% bigger... according to file the ones in the repo are ROOT file Version 62802 (Compression: 101) and the new ones are ROOT file Version 63002 (Compression: 101), but I'm not sure why that would make them any different in size...

@sethrj sethrj added the minor Minor internal changes or fixes label Jul 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
minor Minor internal changes or fixes physics Particles, processes, and stepping algorithms
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants