Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
415 commits
Select commit Hold shift + click to select a range
c6ef59a
addressing review comments. also made final state configuration optio…
cclaessens May 7, 2024
9bced1d
Added return statements to cavity formulas print functions to let sca…
benanator77 May 7, 2024
0c2e698
Merge pull request #64 from project8/feature/reorganize_mermithid
cclaessens May 8, 2024
148b644
Improving plot formatting
taliaweiss May 14, 2024
bd31e8b
Clean section on Scripts used in sensitivity calculations
taliaweiss May 14, 2024
b0f962d
Updated readme
cclaessens May 14, 2024
1cc2242
Merge branch 'feature/sensitivity_curve' of https://github.com/projec…
cclaessens May 14, 2024
744f267
Add info re config files/documentation; improve formatting
taliaweiss May 14, 2024
99dd6d8
Merge branch 'feature/sensitivity_curve' of https://github.com/projec…
taliaweiss May 14, 2024
426a938
fixes in readme
cclaessens May 14, 2024
9e0beb7
Merge branch 'feature/sensitivity_curve' of https://github.com/projec…
cclaessens May 14, 2024
fce82da
Fix more formatting
taliaweiss May 14, 2024
d7499c4
Merge branch 'feature/sensitivity_curve' of https://github.com/projec…
taliaweiss May 14, 2024
601786b
Fix math formatting
taliaweiss May 14, 2024
8b03bc9
hopefully fixed title
cclaessens May 14, 2024
bcb7b8a
Merge branch 'feature/sensitivity_curve' of https://github.com/projec…
cclaessens May 14, 2024
ca462fc
Created readthedocks.yaml
cclaessens May 14, 2024
70dc13f
added spinx_rtd_theme
cclaessens May 14, 2024
d5590c6
typo
cclaessens May 14, 2024
9fe855d
trying requirements.txt
cclaessens May 14, 2024
d927a63
just sphinx_rtd_theme
cclaessens May 14, 2024
e65b5cc
another way
cclaessens May 14, 2024
8b6f39b
adding better-apidoc in requirement
cclaessens May 14, 2024
e1a044f
more requirements
cclaessens May 14, 2024
f425bc9
in case the order matters
cclaessens May 14, 2024
e3fb414
dunno
cclaessens May 14, 2024
fb10716
started conf from scratch
cclaessens May 20, 2024
848f6c3
trying different extension
cclaessens May 20, 2024
a1d9c6d
switched to sphinx_rtd_theme
cclaessens May 20, 2024
6d513b8
commented apidoc in makefile. I think it is not used.
cclaessens May 22, 2024
3cca3d6
seems to work without betterapi. deleting it.
cclaessens May 22, 2024
57f0bdd
Merge pull request #66 from project8/fix_rtd_documentation
cclaessens May 22, 2024
9068661
adding prints for efficiency and crlb in case of nonzero slope
cclaessens May 24, 2024
8f19317
Fixed miss-handling of units for outputting scan parameters
benanator77 May 24, 2024
6f9daea
prepping for merging feature/sensitivity_curve
benanator77 May 28, 2024
4ef313c
Finished merging, see some logging errors tho
benanator77 May 28, 2024
66e3c18
Fixed lingering issue with track duration units
benanator77 May 28, 2024
ac564ca
fixed bug that had broken the Phase II sensitivity line in the Cavity…
cclaessens May 28, 2024
07ceb6f
added check of current value to detect wrong combination of category …
cclaessens May 28, 2024
80fe4d3
Merge branch 'feature/sensitivity_curve' into feature/scan_output_array
benanator77 Jun 1, 2024
41966af
Small edits to documentation
taliaweiss Jun 6, 2024
058e69b
Merge branch 'feature/sensitivity_curve' of https://github.com/projec…
taliaweiss Jun 6, 2024
26fc765
changed 1.28 to 1.64
cclaessens Jun 7, 2024
775e356
Temporarily modify sensitivity test file not to include comparison cu…
taliaweiss Jun 10, 2024
1c34f69
Merge fix; change printouts from 1.28 to 1.64
taliaweiss Jun 11, 2024
185459e
Ensure I'm optimizing over density
taliaweiss Jun 11, 2024
153b0f6
Merge branch 'feature/sensitivity_curve' into feature/LFA_sensitivity
taliaweiss Jun 11, 2024
d462bf9
Remove optimize_main_density parameter
taliaweiss Jun 11, 2024
5ecb40f
No longer configure unused parameter
taliaweiss Jun 11, 2024
f3ce3e9
Coded calculation of atom trap bite efficiency; added efficiency fact…
taliaweiss Jun 12, 2024
9242e40
Add initial 'BNL magnet' sensitivity scenario
taliaweiss Jul 10, 2024
ca5f9ed
Added option for log param array to parameter scanning, defaults to '…
benanator77 Jul 17, 2024
297e2d4
Printing text to note when numbers are for highest-exposure point on …
taliaweiss Sep 16, 2024
06f3958
Added function to print disclaimers about sensitivity calculation (an…
taliaweiss Sep 16, 2024
8a7b0c2
Fixed mistake in function to print disclaimers about sensitivity calc
taliaweiss Sep 16, 2024
f9282de
Adding my current version of the parameter scan config
benanator77 Sep 16, 2024
e87c9b2
Implemented Talia's suggestions in PR request comments, and also foun…
benanator77 Sep 17, 2024
89d5331
Merge branch 'feature/sensitivity_curve' into feature/1.64_times_sigma
taliaweiss Oct 2, 2024
6d71259
Merge pull request #69 from project8/feature/1.64_times_sigma
taliaweiss Oct 2, 2024
d8679f9
Making plot with updated LFA values and PIV scenario with min pitch =…
taliaweiss Oct 6, 2024
10b8e01
Prepping merge and resolving conflicts. Moved unit handling out of Ca…
benanator77 Oct 17, 2024
edc49f8
Print out systematics and track length before optimizing density; sta…
taliaweiss Oct 22, 2024
099727f
Implemented Wouter's 'flat fraction' code in sensitivity calculation,…
taliaweiss Oct 30, 2024
b141f9a
Include linkage between cavity power and flat-harmonic model trajecto…
taliaweiss Oct 31, 2024
c68fe87
Merge branch 'feature/sensitivity_curve' into feature/scan_output_array
taliaweiss Oct 31, 2024
a48e5b6
Merge pull request #68 from project8/feature/scan_output_array
taliaweiss Oct 31, 2024
5eeae19
Divide TE011 mode power by 2, per Rick's findings
taliaweiss Nov 3, 2024
e751050
Fix typo
taliaweiss Nov 4, 2024
300a2ea
Merge branch 'feature/sensitivity_curve' of https://github.com/projec…
taliaweiss Nov 4, 2024
59cb5f4
Print out f_c uncertainty from CRLB in Hz
taliaweiss Nov 4, 2024
d4fb413
Added comments pointing out Rick's factor of 1/2 in cavity power and …
taliaweiss Nov 5, 2024
c7b024f
added independent trap L/D dependency for electron axial motion
Nov 5, 2024
98a42f2
added independent trap L/D dependency for electron axial motion
mohiuddinrazu Nov 5, 2024
36d5b63
Merge branch 'feature/sensitivity_curve_diff_l_over_d' of github.com:…
mohiuddinrazu Nov 5, 2024
4274186
added independent trap L/D dependency for magnetic field flat harmoni…
mohiuddinrazu Nov 6, 2024
bddbc54
Corrected error caught by Ben F with not converting deg to rad
taliaweiss Nov 8, 2024
03193dd
Implemented cosmic ray background rate calculation
taliaweiss Nov 11, 2024
2721b60
Merge branch 'feature/sensitivity_curve' of github.com:project8/mermi…
mohiuddinrazu Nov 15, 2024
6b1d9e7
added different L/D support for traps
mohiuddinrazu Nov 19, 2024
1182661
Implemented trap length instead of trap L/D, renamed cavity L/D
mohiuddinrazu Nov 22, 2024
42bcf2f
removed unnecessary lines
mohiuddinrazu Nov 22, 2024
76f956a
Using the desired pitch angle in the config file for f_a uncertainty …
taliaweiss Nov 25, 2024
d18c0d2
Run Razu's changes to include diff trap and cavity lengths; debug and…
taliaweiss Nov 25, 2024
98e8e46
Use inputted pitch instead of min pitch for f_a uncertainty calculation
taliaweiss Nov 25, 2024
845e637
Merge branch 'feature/sensitivity_curve' into feature/sensitivity_cur…
taliaweiss Nov 25, 2024
3252f31
Merge pull request #70 from project8/feature/sensitivity_curve_diff_l…
taliaweiss Nov 25, 2024
3a4baf9
Removed factor of 1/2 in cavity power; incorporated carrier_power_fra…
taliaweiss Dec 6, 2024
cfc885c
Minor adjustement to parameter scan csv output digits.
benanator77 Dec 6, 2024
1fe8035
added trapping efficiency calculation
mohiuddinrazu Dec 10, 2024
164e39a
replaced fixed variation w/ percent variation
mohiuddinrazu Dec 10, 2024
509350b
code cleanup
mohiuddinrazu Dec 10, 2024
3e331d3
add function det_efficiency_tau(self, threshold)
Dec 11, 2024
640d723
adjust the indent
Dec 11, 2024
d7123df
add function background_rate(self, threshold)
Dec 11, 2024
1b30c87
import modules ncx2, chi2, and quad
Dec 11, 2024
b89717e
How do we know if the result of the rf_background_rate_cavity(self) i…
Dec 13, 2024
ee0134b
Merge fix
taliaweiss Dec 16, 2024
2ef644d
New formula for sigma_noise from determination of f_carrier and f_lsb…
taliaweiss Dec 17, 2024
c3c5c68
Calculating Larmor power for theta=pi/2, to allow me to remove the pi…
taliaweiss Dec 17, 2024
44d7f90
Made it so that p and q are calculated given the inputted trap info
taliaweiss Dec 17, 2024
6f53fec
Testing out different flat fractions
taliaweiss Dec 17, 2024
b825e5a
removed radial dependency and restored sigmae_r
mohiuddinrazu Dec 18, 2024
936c0ad
removed unnecessary variables
mohiuddinrazu Dec 18, 2024
05f3d30
Merge branch 'feature/sensitivity_curve' into feature/trapping_effici…
taliaweiss Dec 18, 2024
ec59430
Slightly finer-grained trapping eff calculation (more z steps)
taliaweiss Dec 18, 2024
6ae240e
Merge pull request #71 from project8/feature/trapping_efficiency_calc…
taliaweiss Dec 18, 2024
25d42e9
run methods self.assign_background_rate_from_threshold() and self.ass…
Dec 18, 2024
36645b8
after debugging the processor is running with the configure file http…
Dec 19, 2024
0d6f1ee
after debugging, the script runs for the configuration file https://g…
Dec 19, 2024
34e3059
Avoiding unecessary sqrt-ing and then squaring of frequency variance …
taliaweiss Dec 20, 2024
3e18bc9
Merge branch 'feature/sensitivity_curve' of https://github.com/projec…
taliaweiss Dec 20, 2024
db3c2a3
Merge fix, and changed pitch analysis cut to use function accounting …
taliaweiss Dec 20, 2024
bab7df3
Removed one of two print_SNRs functions, and made remaining function …
taliaweiss Dec 20, 2024
83ff5c1
Added descriptive printouts to print_SNRs
taliaweiss Dec 20, 2024
57594d9
Make the configuration use_threshold = True used in the code
Dec 23, 2024
56b87ff
Merge pull request #72 from project8/feature/LFA_sensitivity
taliaweiss Dec 23, 2024
b90d342
Fixed spelling
taliaweiss Dec 25, 2024
8673801
Merge fix
taliaweiss Dec 25, 2024
fadd74f
Implement three of my comments on PR #73
taliaweiss Dec 25, 2024
db044b2
Debugged, cleaned code, used cyclotron radius for unusable distance f…
taliaweiss Dec 25, 2024
59c1b71
move assign_detection_efficiency_from_threshold() above the two backg…
Dec 26, 2024
0475a34
add comments to the det_efficiency_tau() and rf_background_rate_cavit…
Dec 26, 2024
04c147f
add reference to the antenna paper
Dec 26, 2024
982c5c7
adjust the variable names in det_efficiency_track_duration track_dura…
Dec 26, 2024
bd379e2
Have consistent order of printing SNR values and efficiency factors
taliaweiss Dec 28, 2024
85a6da3
Print detection efficiency integration error
taliaweiss Dec 28, 2024
25a6d76
Change parameter name threshold->detection_threshold. Remove the try-…
Dec 29, 2024
61f3b76
modify the script so only runs on the configuration Config_LFA_Experi…
Dec 29, 2024
ba4a895
Preparing to test Yu-Hao's new changes
taliaweiss Dec 30, 2024
8eb26a9
Merge branch 'feature/sensitivity_curve_link_rf_background_and_detect…
taliaweiss Dec 30, 2024
cf8b2e9
Fixed problem of detection efficiency not being re-calculated for eac…
taliaweiss Dec 31, 2024
3aff343
Added 2 more x-axis exposure-type options, added option to mark an op…
taliaweiss Jan 8, 2025
9b0b012
Legend position (bbox to anchor) can now be configured by user
taliaweiss Jan 8, 2025
af2e075
Added ncav*eff*time plotting option; changed some straggler 1.64 fact…
taliaweiss Jan 27, 2025
ee94c38
Changed back to 1.64 (I got confused about the direction of the change)
taliaweiss Jan 27, 2025
3806bb7
added Gauss–Laguerre quadrature integration method for speed and stab…
mohiuddinrazu Feb 4, 2025
801a151
Added function to calculate trap_length from cavity L/D, assumes 80% …
benanator77 Feb 4, 2025
7345d35
Fixed det eff calculation to have factor of 2 multiplying SNR; calcul…
taliaweiss Feb 10, 2025
ebbb92d
Merge branch 'feature/sensitivity_curve_link_rf_background_and_detect…
taliaweiss Feb 10, 2025
f5ef79a
Fixed usage of new function to calculate CRLB variance
taliaweiss Feb 10, 2025
65198c7
Reduced number of Gauss-Laguerre quadrature points to prevent nan iss…
taliaweiss Feb 10, 2025
ca328ca
Calculating det eff for power vs radius then averaging over radii; fi…
taliaweiss Feb 11, 2025
f203752
Gauss-Laguerre method calculations added
mohiuddinrazu Feb 18, 2025
eb4f1e6
Added a line to increase sample count of radii if calculate_det_eff_f…
benanator77 Feb 18, 2025
f643dda
Added log x scale plotting of densities if the parameter value array …
benanator77 Feb 20, 2025
a2688c3
Recalculate bkgd rate for optimum density so that correct background …
taliaweiss Mar 2, 2025
902652c
Merge branch 'feature/sensitivity_curve_link_rf_background_and_detect…
taliaweiss Mar 2, 2025
9df77ac
Updated threshold LFA sensitivity vs. density plot and numbers
taliaweiss Mar 2, 2025
3f2808d
Added condition to set r_sample=1000 if config has fixed efficiency True
benanator77 Mar 3, 2025
2deb553
Fixed issue where sigmae_phi was set to take from the theta input, wh…
benanator77 Mar 3, 2025
b824e0c
Fixed problem where sideband order wasn't affecting Q
taliaweiss Mar 3, 2025
077f115
Merge branch 'feature/sensitivity_curve_link_rf_background_and_detect…
taliaweiss Mar 3, 2025
e7eb34e
Fixed problem of using sense_main in two comparison-curve-specific pl…
taliaweiss Mar 3, 2025
a9cc5b4
Handling density/threshold optimization options better for comparison…
taliaweiss Mar 4, 2025
6927720
Fixed event rate calcs to use *2 for T2 and *1 for T; added operating…
taliaweiss Mar 20, 2025
aff7ed0
In parameter scan processor, fixed event rate calcs to use *2 for T2 …
taliaweiss Mar 20, 2025
ade381b
Added a call to Print_Efficiencies in scan processor.
benanator77 Mar 24, 2025
46bbb74
Merge branch 'feature/sensitivity_curve_link_rf_background_and_detect…
benanator77 Mar 24, 2025
46f6b99
Separated cavity formulas init, only reads config in init, default va…
benanator77 Apr 7, 2025
70b2560
Made more aspects of sensitivity plotting configurable from a diction…
taliaweiss Apr 17, 2025
53e92b3
Merge branch 'feature/sensitivity_curve_link_rf_background_and_detect…
taliaweiss Apr 17, 2025
06503dd
Fixed issue with comparison curve detection threshold optimization fo…
taliaweiss Apr 18, 2025
f293996
Finished swapping back LFA target and threshold curves in the sensiti…
taliaweiss Apr 18, 2025
df47f1e
Added eta/(1-eta) term to chirp CRLB for more accurate results in the…
taliaweiss May 7, 2025
1ee65fe
Merge branch 'feature/sensitivity_curve_link_rf_background_and_detect…
mohiuddinrazu Jun 4, 2025
12c6358
Merge pull request #76 from project8/detection_eff_integration
mohiuddinrazu Jun 4, 2025
7c26d90
Merge pull request #73 from project8/feature/sensitivity_curve_link_r…
mohiuddinrazu Jun 4, 2025
40077a4
Re-merged hotfix/1.2.3 so I can delete the branch
taliaweiss Jul 2, 2025
136254c
Updated eta-dependent term of CRLB formula
taliaweiss Jul 2, 2025
3c6d865
resolving merge conflict, function moved into different file, we fix …
renereimann Jul 3, 2025
f24fa17
Merge branch 'feature/sensitivity_curve' of github.com:project8/mermi…
renereimann Jul 3, 2025
6aa6325
Update README.md with info on getting submodules
taliaweiss Aug 31, 2025
a73d60b
Merge remote-tracking branch origin feature/sensitivity_curve into at…
ManjinderOueslati Nov 19, 2025
1810aaa
Merge remote-tracking branch 'origin/atomic_effects' into atomic_effects
ManjinderOueslati Nov 19, 2025
167aae4
100m^3 cavities in sensitivity vs. livetime and density plots
taliaweiss Nov 21, 2025
1b50519
Make code work when there's no comparison curve
taliaweiss Nov 21, 2025
53616b4
Back to plots before testing effect of f_flat
taliaweiss Nov 21, 2025
60049e5
For PIV, using unloaded Q values from Tianhuan's CST studies
taliaweiss Dec 10, 2025
938fbb5
Add option to use arrays of carrier and sideband power fractions fro…
taliaweiss Dec 16, 2025
45d56f7
New sens vs density with all 4 curves
taliaweiss Dec 16, 2025
8d5de25
Added trapped pitch angle dist calc; reduced output for verbose==False
taliaweiss Dec 18, 2025
7c6f251
Update docker-compose and sensitivity configuration documentation
ManjinderOueslati Jan 13, 2026
bc209bb
Update sensitivity configuratio documentation
ManjinderOueslati Jan 13, 2026
9fa11f5
Finer grid for trapped pitch distribution calculation; improved comments
taliaweiss Jan 27, 2026
d679f34
Added ioffe bite calculation and pumping calculations
ManjinderOueslati Jan 30, 2026
d98208c
Updated docker compose file
ManjinderOueslati Jan 30, 2026
6392c56
Refactor maxf assignment in FakeDataGenerator
ManjinderOueslati Jan 30, 2026
811b5b3
Spaces and Tabs issue
ManjinderOueslati Jan 31, 2026
67eee46
Updated docker-compose.yaml file
ManjinderOueslati Jan 31, 2026
eac8946
Space and Tab issue
ManjinderOueslati Jan 31, 2026
d345d21
Testing atomic effects config file
ManjinderOueslati Jan 31, 2026
b365c42
Ioffe calculation error fix
ManjinderOueslati Jan 31, 2026
db94456
Fix typo in Efficiency reference for Ioffe bite calculation
ManjinderOueslati Jan 31, 2026
fe1592d
Fixed python environment for local repository and typo errors in Form…
ManjinderOueslati Jan 31, 2026
a4f2757
Merge branch 'atomic_effects' of github.com:project8/mermithid into a…
ManjinderOueslati Jan 31, 2026
ae2e449
Merge sensitivity curve updates from feature/sensitivity_curve branch
ManjinderOueslati Feb 2, 2026
cd366a7
Merge Cavity_Sensitivity_analysis.py
ManjinderOueslati Feb 2, 2026
70c790b
Atomic Calculator pumping formulas
ManjinderOueslati Feb 2, 2026
95a4690
Fixed PYTHONPATH implementation issue
ManjinderOueslati Feb 2, 2026
32f4025
Clarify the 'number_density' is mean between trap coils
taliaweiss Feb 3, 2026
1309d3f
Added Inelastic + Elastic Cross-section for atomic T from Hamish Atom…
ManjinderOueslati Feb 4, 2026
f752bdb
Updated numerical units to include pressure, mass, etc.
ManjinderOueslati Feb 5, 2026
74fd788
Updated numerical units to include pressure, mass, etc. with document…
ManjinderOueslati Feb 5, 2026
256989c
Updated numerical units to include pressure, mass, etc. with document…
ManjinderOueslati Feb 5, 2026
a4c947e
Updated numerical units to include pressure, mass, etc. with document…
ManjinderOueslati Feb 5, 2026
079a0d5
Edited Processor to include pumping calculation logger info
ManjinderOueslati Feb 5, 2026
506e9b9
Adding T2 background in atomic trap to Processor
ManjinderOueslati Feb 5, 2026
f3b8ef2
T2 background in atomic trap
ManjinderOueslati Feb 5, 2026
d4b9bcf
Modified logger output for T2 bkg and pumping calc
ManjinderOueslati Feb 6, 2026
cedf93b
Gas density documentation update + logger info update
ManjinderOueslati Feb 9, 2026
6c7da31
Merged cavity processor
ManjinderOueslati Feb 9, 2026
9d311e8
Added constants and cross-sections from atomic calculator
ManjinderOueslati Feb 10, 2026
c889f10
Constants for gravity + dipolar trap loss calculations
ManjinderOueslati Feb 10, 2026
8c8d78c
Edited cavity formula to incorporate volume with cone
ManjinderOueslati Feb 10, 2026
ca73c2d
Fixed He leak calculaton and added more constants
ManjinderOueslati Feb 11, 2026
8cd9c9c
Added conversions from atomic calculator to constants and begun evapo…
ManjinderOueslati Feb 12, 2026
04bde55
evaporation out the top
ManjinderOueslati Feb 16, 2026
5df987c
Evaporation Loss Calculations
ManjinderOueslati Feb 17, 2026
219fb97
Included last of evaporation calculations, fixed logger info output, …
ManjinderOueslati Feb 17, 2026
6be5c85
Finished Calculations for atom supply to trap and turbopump requirements
ManjinderOueslati Feb 18, 2026
8f66ac5
Added documentation to source loss terms
ManjinderOueslati Feb 19, 2026
ca618fa
account for recon efficiency (with track length distribution)
taliaweiss Feb 20, 2026
5ce08e4
Merge fix
taliaweiss Feb 20, 2026
f0dc49c
Added Cryopump and Injection line calculations and parameters
ManjinderOueslati Feb 23, 2026
363eaf9
Fixed molar volume bug
ManjinderOueslati Feb 24, 2026
2c6ea1b
Added more experimental parameters and activity calculations
ManjinderOueslati Feb 24, 2026
539a221
Editing Broadening effects
ManjinderOueslati Feb 25, 2026
bf17249
Added Atomic Calculator stand alone functions python file
ManjinderOueslati Mar 2, 2026
a00f894
Added Plasma Broadening Effects to Sensitivity
ManjinderOueslati Mar 3, 2026
f67bbb3
Updated documentation regarding magnetic field sigma
ManjinderOueslati Mar 3, 2026
4a678df
Updating sensitivity plot
taliaweiss Apr 14, 2026
543f870
More tests
taliaweiss Apr 14, 2026
0df4c2b
Initial edits to incldue T2 molecular background to atomic T sensitivity
ManjinderOueslati Jun 24, 2026
9cdc20a
Edited Delta E window to include T2 background in signal rate
ManjinderOueslati Jun 26, 2026
9cc8bd7
Sensitivity Calculation edit of stats to include molecular bkg
ManjinderOueslati Jun 29, 2026
275e8fe
Finished T2 bkg integration into Stat Sensitivity Formula
ManjinderOueslati Jun 29, 2026
2df7bb2
Small minor change of T2 bkg implementation
ManjinderOueslati Jun 29, 2026
23132e7
Added comments and moved AtomicCalculator.py
ManjinderOueslati Jun 30, 2026
0036e86
Added flag for fixed T2/T ratio and change usage of fixed total effic…
ManjinderOueslati Jul 1, 2026
75a82fe
Merge branch 'feature/sensitivity_curve' into atomic_effects
ManjinderOueslati Jul 1, 2026
b328475
Update last 1eV fractions to use vals from Bayesian sensitivity paper
taliaweiss Jul 13, 2026
2f78c3a
Added molecular activity in last eV of spectrum option
ManjinderOueslati Jul 15, 2026
1a6e4b9
Merge branch 'atomic_effects' of github.com:project8/mermithid into a…
ManjinderOueslati Jul 15, 2026
5b77a8a
Added molecular activity case in last eV of spectrum
ManjinderOueslati Jul 15, 2026
cfc689c
Added comment for information of last eV fraction
ManjinderOueslati Jul 15, 2026
64fce88
Apply suggestion from @chhlam
ManjinderOueslati Jul 28, 2026
e725253
Merge branch 'feature/sensitivity_curve' into atomic_effects
ManjinderOueslati Jul 28, 2026
9089212
Addressing Chi-Ho Lam's comments in order to merge with feature/Sensi…
ManjinderOueslati Jul 29, 2026
de6e8a3
Added relevant links and information regarding Atomic Calculator calc…
ManjinderOueslati Jul 29, 2026
eea29a1
Merge pull request #80 from project8/atomic_effects
ManjinderOueslati Jul 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -101,3 +101,5 @@ ENV/
.mypy_cache/
*.root
*.png
*.pdf
*.DS_Store
31 changes: 31 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Read the Docs configuration file for Sphinx projects
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.11"

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: documentation/conf.py
# You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs
# builder: "dirhtml"
# Fail on all warnings to avoid broken references
# fail_on_warning: true

# Optionally build your docs in additional formats such as PDF and ePub
# formats:
# - pdf
# - epub

# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: documentation/requirements.txt
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ RUN mkdir -p $MERMITHID_BUILD_PREFIX &&\

RUN source $COMMON_BUILD_PREFIX/setup.sh &&\
pip install iminuit &&\
pip install numericalunits &&\
/bin/true

########################
Expand Down
34 changes: 27 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Mermithid is an extension of [morpho](https://github.com/morphoorg/morpho) that

## Requirements

You will need to install via a package manager (such as apt-get):
If you are not using a container with pre-installed dependencies, you will need to install via a package manager (such as apt-get):

- python (3.x; 2.7.x support not guaranteed)
- python-pip
Expand All @@ -15,10 +15,15 @@ You will need to install via a package manager (such as apt-get):

## Installation

After cloning mermithid, run `git submodule update --init --recursive`.

These are two possible ways of installing and working with mermithid.

### Virtual environment installation

Before installing, clone subdirecories recursively: ``git submodule update --init --recursive``.
<br>Then install mermithid in your environment:

1. Cicada and Phylloxera need to be installed in a sub directory:

```bash
Expand All @@ -45,16 +50,24 @@ These are two possible ways of installing and working with mermithid.

### Docker installation

Docker provides a uniform test bed for development and bug testing. Please use this environment to testing/resolving bugs.
Create a docker image and start a mermithid container

1. Install Docker (Desktop version): <https://docs.docker.com/engine/installation/>
2. Clone and pull the latest master version of mermithid
3. Inside the mermithid folder, execute `docker-compose run mermithid`. The container prompter should appear at the end of the installation. A directory (`mermithid_share`) should be created in your home and mounted under the `/host` folder: you can modify this by editing the docker-compose file.
4. When reinstalling, you can remove the image using `docker rmi mermithid_mermithid`
3. Clone and pull the latest main version of mermithid or the feature branch you want to work with
4. Go to the cloned directory: ``cd mermithid``
5. Pull the submodules: ``git submodule update --init --recursive``
6. Build docker image: ``docker build --no-cache -t mermithid:<tag> .``
7. To start the container and mount a directory for data sharing with your host into the container do:
<br>```docker run --rm -it -v ~/mermithid_share:/host mermithid:<tag> /bin/bash```

An alternative to steps 6 and 7 is to use docker-compose by executing: ``docker-compose run mermithid``.

<br>In both cases files saved in ```/host``` are shared with the host in ```~/mermithid_share```.


### Running mermithid

In both cases, you need to set the paths right for using these software. For example in the docker container:
For running mermithid you need to set the paths right for using these software. For example in the docker container:

```bash
source $MERMITHID_BUILD_PREFIX/setup.sh
Expand All @@ -64,4 +77,11 @@ source $MERMITHID_BUILD_PREFIX/bin/this_phylloxera.sh

## Quick start and examples

Mermithid works a-la morpho, where the operations on data are defined using processors. Each processor should be defined with a name, then should have its attributes configured using a dictionary before being run. Examples of how to use mermithid can be found in the "tests" folder.
Mermithid works a-la morpho, where the operations on data are defined using processors. Each processor should be defined with a name, then should have its attributes configured using a dictionary before being run. Examples of how to use mermithid can be found in the "tests" and the "test_analysis" folders.


## Easy development

To develop mermithid without having to rebuild the container, share the repository on the host with the container by starting it with: ```docker run --rm -it -v ~/mermithid_share:/host -v ~/repos/mermithid:/mermithid mermithid:<tag> /bin/bash```. This assumes that mermithid was cloned to ``~/repos``.

After sourcing the setup scripts, modify the PYTHONPATH: ```export PYTHONPATH=/mermithid:$PYTHONPATH```. Now changes made on the host will directly be used by the container.
41 changes: 36 additions & 5 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,40 @@
version: "3"

#version: "3.9"

# Check running containers docker ps (detached) -d
#docker compose up -d

# Attach to container docker attach [name]
#docker attach mermithid_sensitivity

# Mermithid is a bind mount, this guarantees: live code edits on host, Python imports always resolve to your branch & no accidental use of the installed site-packages version
#export PYTHONPATH=/mermithid/:$PYTHONPATH &&

# /mermithid is on sys.path. Python should import from it but it does not, because mermithid is already imported earlier by ROOT’s import hook. Once a module is loaded, Python never re-resolves it.
# environment: is already working. It just can’t solve this class of problem. PYTHONPATH is correct; ROOT imports mermithid first and locks it in — only an editable install can override that.
#environment: #- PYTHONPATH=/mermithid:${PYTHONPATH}
# Overriding sys for PYTHONPATH
services:
mermithid:
build: .
command: "/bin/bash"
image: mermithid:sensitivity_branch
container_name: mermithid_sensitivity
stdin_open: true # Interactive search
tty: true # Allocate TTY
volumes:
# share a subdirectory from the host to /host in the docker (can be edited)
- ~/mermithid_share:/host
- ~/repos/mermithid:/mermithid
- ~/repos/mermithid_share:/host_data
- ~/repos/termite:/termite
command: >
bash -lic "
source /usr/local/p8/mermithid/v1.2.3/setup.sh &&
source /usr/local/p8/mermithid/v1.2.3/bin/this_phylloxera.sh &&
source /usr/local/p8/mermithid/v1.2.3/bin/this_cicada.sh &&
pip install -e /mermithid &&
bash
"
#bash -c "
#source /usr/local/p8/mermithid/v1.2.3/setup.sh &&
#source /usr/local/p8/mermithid/v1.2.3/bin/this_phylloxera.sh &&
#source /usr/local/p8/mermithid/v1.2.3/bin/this_cicada.sh &&
#exec bash
#"
4 changes: 0 additions & 4 deletions documentation/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ SPHINXPROJ = mermithid
SOURCEDIR = .
BUILDDIR = build

PY_CMD = import better_apidoc; better_apidoc.main(['better_apidoc','-t', '_templates','--force','--separate','-o','better_apidoc_out','../$(SPHINXPROJ)']) # overwrite existing files
APIDOC_CMD = python -c "$(PY_CMD)"

# Put it first so that "make" without argument is like "make help".
help:
Expand All @@ -22,5 +20,3 @@ help:
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

betterapi:
@$(APIDOC_CMD)
Loading