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

Merge branch develop into master for 2023 release #965

Merged
merged 190 commits into from
Feb 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
190 commits
Select commit Hold shift + click to select a range
753cfe8
Fix entry point bug in g application
mainegra May 7, 2021
7d5e2ce
Fix buffer overflow from scoring bin rounding
mxxo Apr 4, 2022
2e74c8e
Fix #828: out-of-bounds dose scoring when ir = -1
mxxo Jan 24, 2022
c404f26
Document NRC bremsstrahlung cross section option
mxxo May 27, 2022
efd0221
Fix buffer overflow from scoring vacuum media dose
mxxo Mar 30, 2022
1692e08
Fix element order in MCDF-XCOM shell-wise sampling
mainegra Feb 8, 2022
5b7956c
Add templates for bug reports and feature requests
ftessier Jan 28, 2022
90905b8
Fix egs-parallel leading character bug in job name
rtownson May 14, 2021
420c334
Fix #708: increase precision for density output
ftessier Apr 23, 2021
b53671e
Change endl to \n in egs++ scoring for performance
rtownson Apr 23, 2021
b811681
Increase the list of colours for the BEAMnrc gui
rtownson Apr 29, 2021
9da54a8
Add git info to makefiles and output
rtownson Feb 28, 2018
811fdb7
Add app compile time and report local differences
rtownson Mar 1, 2018
db0bb94
Add check for cmp command and git repository
rtownson Mar 5, 2018
57879d8
Add git logging to configuration GUI
rtownson Mar 8, 2018
0cd410d
Add git log to configuration for windows
rtownson Mar 12, 2018
9c677c9
Change git reporting to be passed at compile time
rtownson Jan 28, 2020
4d30bf8
Fix windows commands for git reporting
rtownson Jan 28, 2020
1a12487
Merge #414: add git hash, branch and compile time
ftessier Jun 30, 2022
017eb2e
Fix #573: correct I-value for aluminum alloys
ftessier Apr 23, 2021
0656939
Guard against more than one track_scoring object
mxxo Jul 15, 2021
def34e2
Fix memory leaks reported by sanitizer in egs++
mxxo Jul 23, 2021
825038e
Fix regions array buffer overflow in egs++ viewer
mxxo Jul 27, 2021
19dee1b
Fix total dose in the getting started solutions
rtownson Oct 20, 2021
d673538
Document egs++ random number generator definition
mxxo Nov 5, 2021
2aa5dcc
Fix #803: window error from DYNJAWS in BEAMnrc GUI
rtownson Dec 2, 2021
25690cd
Decrease minimum inter-CM gap from 0.01 to 1e-5 cm
Feb 25, 2022
c4267ce
Fix #749: add SAD to z position for phsp scoring
Mar 4, 2022
a02eab7
Fix flurznrc bug upon reading the SLOTE parameter
rtownson May 10, 2022
495ff78
Gracefully exit addphsp if too many particles
blakewalters Jun 7, 2021
6f0066a
Fix handling of DICOM slices smaller than 512x512
mpayrits May 16, 2021
ec6a42f
Update compiler flags to require c++14 standard
ftessier Apr 22, 2021
930014e
Add -mcmodel=medium to the default compiler flags
crcrewso May 21, 2021
4a06ce0
Fix many small transport bugs in synchdmlc
blakewalters Aug 9, 2021
3271054
Address input override bugs for M120 Millenium MLC
blakewalters Sep 13, 2021
7e5d0f7
Fix y boundary for synchdmlc target overrides
blakewalters Oct 15, 2021
88828ac
Fix target leaf in synchdmlc
blakewalters Oct 29, 2021
bd60702
Fix HOWNEAR for half isocenter leaves
blakewalters Oct 30, 2021
1df517f
Add debugging information output for synchdmlc
blakewalters Nov 12, 2021
25d24eb
Debug half target and half iso cross sections
Dec 10, 2021
39d85c9
Add new leaf orientation option for synchdmlc
Mar 5, 2022
7c0e351
Reverse definition of leaf opening sequence
Mar 11, 2022
5230f76
Fix synchdmlc QUARTER leaf restriction relaxation
Mar 18, 2022
b64d4f2
Add new FIND_Z_BOUNDS macro in synchdmlc
ftessier Jun 30, 2022
5f5143b
Remove debug output inserted to fix synchdmlc
ftessier Jun 30, 2022
11cf3b8
Update documentation to reflect synchdmlc changes
May 20, 2022
5e0b122
Remove EOL whitespace in updated synchdmlc files
ftessier Jun 30, 2022
c35eda8
Merge #878: fix BEAMnrc synchdmlc CM bugs
ftessier Jul 4, 2022
62b70a2
EGS_Mesh: initial commit of egs_mesh library files
mxxo Sep 23, 2020
42a2ee3
EGS_Mesh: add rudimentary unit tests
mxxo Oct 5, 2020
3ef76e0
EGS_Mesh: initial commit of msh file parser
mxxo Oct 6, 2020
00e52d3
EGS_Mesh: remove msh2 support, only support msh4
mxxo Oct 27, 2020
13c14c5
EGS_Mesh: further implement msh4 file parser
mxxo Oct 28, 2020
54d0cf6
EGS_Mesh: remove all msh2 specific functions
mxxo Oct 30, 2020
3409236
EGS_Mesh: catch errors and throw in msh4 parser
mxxo Nov 2, 2020
6759b21
EGS_Mesh: add RUN_TEST and clean msh4 parser doc
mxxo Nov 10, 2020
b4c47bb
EGS_Mesh: remove extra files and egs_mesh lib
mxxo Nov 11, 2020
af9a0c6
EGS_Mesh: add basic class for parser return type
mxxo Nov 11, 2020
be030dd
EGS_Mesh: add msh_parser namespaces to shield impl
mxxo Nov 11, 2020
904e50e
EGS_Mesh: add copyright notice and header guard
mxxo Nov 11, 2020
f9d6a24
EGS_Mesh: add pass-through constructors
mxxo Nov 25, 2020
c5b3c9a
EGS_Mesh: add fast nlogn neighbour algorithm
mxxo Nov 20, 2020
966240a
EGS_Mesh: add tetrahedron class, erase legacy code
mxxo Nov 23, 2020
59b943c
EGS_Mesh: sort tetrahedron nodes for face test
mxxo Nov 25, 2020
b92addc
EGS_Mesh: rewrite neighbour algorithm with faces
mxxo Nov 26, 2020
b2079b9
EGS_Mesh: ensure node tags >= 1, use std::size_t
mxxo Nov 26, 2020
ea6485e
EGS_Mesh: copy runner output for neighbour tests
mxxo Nov 26, 2020
b72e89f
EGS_Mesh: rename neighbour header, add copyright
mxxo Dec 10, 2020
94831c0
EGS_Mesh: add skeleton header for egs_mesh.cpp
mxxo Jan 11, 2021
e180df1
EGS_Mesh: factor msh41 parser into egs_mesh.cpp
mxxo Jan 12, 2021
7ee2592
EGS_Mesh: implement isInside method
mxxo Jan 18, 2021
46e42be
EGS_Mesh: implement isWhere method
mxxo Jan 27, 2021
477adea
EGS_Mesh: implement hownear method, internal case
mxxo Jan 27, 2021
51f0797
EGS_Mesh: find boundary elements in constructor
mxxo Jan 28, 2021
c1b217b
EGS_Mesh: improve isWhere method and hownear tests
mxxo Jan 29, 2021
41bdd8e
EGS_Mesh: implement hownear method, external case
mxxo Jan 29, 2021
7e38d02
EGS_Mesh: implement media information
mxxo Feb 8, 2021
d01ba47
EGS_Mesh: number of mesh elements must fit in int
mxxo Feb 8, 2021
2623708
EGS_Mesh: implement howfar method, internal case
mxxo Feb 11, 2021
1617ad9
EGS_Mesh: order nodes, store face boundaries
mxxo Feb 11, 2021
dba06ed
EGS_Mesh: implement howfar method, external case
mxxo Feb 22, 2021
2b6c4fd
EGS_Mesh: register EGS_Mesh as an EGS_BaseGeometry
mxxo Feb 24, 2021
83a86c4
EGS_Mesh: add Makefile to version control
mxxo Apr 14, 2021
e19f32e
EGS_Mesh: add mesh media to simulation media list
mxxo Feb 24, 2021
0fa20cc
EGS_Mesh: try to fix negative usteps with epsilon
mxxo Feb 25, 2021
fb6a465
EGS_Mesh: add mevegs application based on tutor7pp
mxxo Mar 15, 2021
1e0fa43
EGS_Mesh: fix buffer overflow from roundoff error
mxxo Apr 5, 2022
e958ae5
EGS_Mesh: add mevex implementation for comparison
mxxo Mar 25, 2021
dabb5ca
EGS_Mesh: fix output to match original egs_mesh
mxxo Mar 26, 2021
0f32992
EGS_Mesh: refactor isWhere with nodes helper
mxxo Apr 22, 2021
be401b1
EGS_Mesh: perf: precalculate boundary elements
mxxo Apr 15, 2021
98d534b
EGS_Mesh: perf: back to bool vector to save space
mxxo Apr 19, 2021
52f619e
EGS_Mesh: perf: reorder mesh by distance to source
mxxo Apr 26, 2021
834a2fc
EGS_Mesh: perf: implement kdtree lookup in isWhere
mxxo May 13, 2021
8f99c77
EGS_Mesh: perf: replace quadratic node lookup
mxxo May 14, 2021
28498aa
EGS_Mesh: improve library and mevegs application
mxxo Jul 1, 2021
0e670d3
EGS_Mesh: fix msh output in egs_genvelope
mxxo Aug 17, 2021
54d5240
EGS_Mesh: fix calculation of normals
mxxo Jul 27, 2021
848a215
EGS_Mesh: initial commit of octree implementation
mxxo Jul 5, 2021
9aca93c
EGS_Mesh: refactor octree for better performance
mxxo Sep 9, 2021
2076369
EGS_Mesh: improve octree for overlapping elements
mxxo Sep 9, 2021
e575aa4
EGS_Mesh: implement howfar method for octree
mxxo Sep 14, 2021
f524cf6
EGS_Mesh: add a second octree for surfaces only
mxxo Sep 14, 2021
6c9dd9e
EGS_Mesh: fix error in ray-AABB intersection
mxxo Sep 15, 2021
fcd9b8b
EGS_Mesh: search more octants in howfar_exterior
mxxo Sep 21, 2021
4717497
EGS_Mesh: pass element tags to constructor
mxxo Sep 14, 2021
8e95a93
EGS_Mesh: avoid storing duplicated element info
mxxo Sep 14, 2021
48b8a21
EGS_Mesh: implement octree-accelerated hownear
mxxo Sep 27, 2021
c625755
EGS_Mesh: return a lower bound in hownear_exterior
Sep 28, 2021
5b0bad7
EGS_Mesh: improve hownear_interior performance
mxxo Oct 1, 2021
19dfd78
EGS_Mesh: pass to octree constructor, save memory
mxxo Oct 1, 2021
acef99e
EGS_Mesh: store node offsets instead of coords
mxxo Oct 1, 2021
bff7bff
EGS_Mesh: rework constructor to reduce peak memory
mxxo Oct 1, 2021
a006a3d
EGS_Mesh: reduce memory use of neighbour algorithm
mxxo Oct 4, 2021
37d8b77
EGS_Mesh: move parsed data vectors in constructor
mxxo Oct 4, 2021
ff647c0
EGS_Mesh: remove obsolete or unnecessary code
mxxo Oct 5, 2021
6e2bcea
EGS_Mesh: fix destructor definition issue
mxxo Oct 13, 2021
b5d7c4a
EGS_Mesh: fix howfar_interior for undershoots
mxxo Oct 13, 2021
4b9c882
EGS_Mesh: refactor msh4.1 parser, use EGS_MeshSpec
mxxo Oct 22, 2021
246842d
EGS_Mesh: stream result data to directly to output
mxxo Oct 25, 2021
e9f89ee
EGS_Mesh: add Visualization Toolkit (VTK) output
mxxo Oct 26, 2021
b015ef1
EGS_Mesh: push stuck particles along momentum
mxxo Nov 3, 2021
aa99cf9
EGS_Mesh: fix stuck particles at tet corners
mxxo Nov 8, 2021
35f65d0
EGS_Mesh: recode howfar_interior with thick planes
mxxo Dec 21, 2021
a802369
EGS_Mesh: add unit tests for the egs_mesh library
mxxo Jan 3, 2022
a5135b9
EGS_Mesh: fix media offsets if there's other media
mxxo Jan 13, 2022
8f08a24
EGS_Mesh: add progress indicators for setup
mxxo Jan 19, 2022
7639706
EGS_Mesh: fix various small issues in library
ftessier Jul 8, 2022
70f250c
EGS_Mesh: remove legacy version of library files
mxxo Feb 14, 2022
d9a33af
EGS_Mesh: combine all tests into test_egs_mesh.cpp
mxxo Feb 15, 2022
80f4036
EGS_Mesh: remove obsolete writeGmsh method
mxxo Feb 16, 2022
64aaba7
EGS_Mesh: use trailing underscore for data members
mxxo Feb 16, 2022
a3eb460
EGS_Mesh: clean up library source code
mxxo Feb 16, 2022
1908a26
EGS_Mesh: update copyright headers
mxxo Feb 16, 2022
baeac81
EGS_Mesh: add library documentation
mxxo Feb 17, 2022
307b556
EGS_Mesh: use precalculated face normals for view
mxxo Feb 16, 2022
45a6295
EGS_Mesh: add egsinp scale key for non-cm units
mxxo Feb 18, 2022
a6ecb46
EGS_Mesh: add a TetGen node and ele file parser
mxxo Apr 5, 2022
2dff78d
EGS_Mesh: apply astyle for uniform code formatting
ftessier Jul 8, 2022
a34a80a
Update link to citing recommendation
ftessier Apr 21, 2021
6645b53
Fix #543: prune KERMA-INSERT macro and dead code
ftessier Apr 21, 2021
7eea190
Fix a typo in the egs_cbct documentation
Mar 17, 2022
ffe80ec
Apply astyle for uniform code formatting
ftessier Jul 8, 2022
ec65bb2
Fix configure script, missing 's' in sed command
ftessier Jul 12, 2022
891b57c
EGS_Mesh: tweak headers to standard style
ftessier Jul 15, 2022
a214016
EGS_Mesh: add historical account of development
ftessier Jul 15, 2022
374fe8c
Add density correction files for icrm-hpge example
rtownson May 19, 2021
2c11e39
Check g++ version to set default c++ standard flag
rtownson Jul 14, 2022
8b2fc94
Fix branch logging and code comparisons
rtownson Jul 12, 2022
c986fd0
Update radionuclide source to rely on base source
MartinMartinov Mar 3, 2021
76fdd43
Fix minor tutor7pp comment typos
rtownson Jul 25, 2022
bf2dab1
Fix #904: avoid gcc -mcmodel flag on macos systems
ftessier Jul 19, 2022
ea4c9b4
Implement sparse binary dose format in DOSXYZnrc
marenaud Jan 13, 2018
3fbde13
Improve the .bindos format and add documentation
marenaud Jan 16, 2018
1e33700
Add a .bindos output option to the DOSXYZnrc gui
marenaud Jan 16, 2018
ab8758b
Merge #405: add sparse binary output in DOSXYZnrc
ftessier Jul 25, 2022
ee80a56
Adjust authorship for egs_mesh and mevegs Makefile
ftessier Jul 20, 2022
fe12794
Remove blank line before copyright for consistency
ftessier Jul 20, 2022
35a59d3
Change egs++ geometry getMass to getVolume
MartinMartinov Aug 23, 2021
2de7ac5
Fix #928: adjust alignment of comment in MLCE
blakewalters Oct 31, 2022
348feec
Add git hash and compile time in BEAMnrc log
rtownson Aug 22, 2022
07bd11c
Add short documentation about egs++ input loops
rtownson Aug 10, 2022
e486d9b
Fix macOS configuration for alternative g++ names
mchamberland Jul 29, 2022
0f4f209
Fix #894: revert egsphant to egs_brachy encoding
ftessier Jul 8, 2022
e22a88d
Merge #887: Add EGS_Mesh geometry for CAD models
ftessier Oct 31, 2022
962cf5d
Add 3ddose_tools as a third-party submodule
ftessier Jul 25, 2022
9c8f0b4
Merge #893: fix some minor issues before release
ftessier Jan 10, 2023
4074a60
Fix #945, #804: egs_chamber examples don't work
rtownson Jan 5, 2023
e709f36
Tweak spaces to match astyle coding standard
ftessier Jan 16, 2023
ef7f5fc
Add method to access the_epcont->tvstep variable
mainegra Jan 24, 2022
49ea9da
Add a fluence scoring ausgab object
mainegra Jan 27, 2022
f507af5
Handle positrons in fluence scoring object
mainegra Jan 27, 2022
0c97557
Add debugging switch and clean target
mainegra Jan 27, 2022
9374111
Add base class to fluence scoring object
mainegra Feb 3, 2022
22c62fa
Add auxiliary fluence scoring functions
mainegra Feb 3, 2022
35da590
Add a method to get the charge of source particles
mainegra Feb 9, 2022
0786b1e
Add method to get the maximum energy of the source
mainegra Mar 1, 2022
da84f5a
Set fluence rectangular field at origin, along +z
mainegra Jul 27, 2022
651c5ac
Improve fluence scoring logic, add documentation
mainegra Feb 9, 2022
a915a0c
Improve and add features to fluence scoring object
mainegra Mar 1, 2022
f700470
Split fluence scoring object input in blocks
mainegra Mar 23, 2022
fd63546
Improve fluence scoring object documentation
mainegra Jul 26, 2022
5c2757a
Score integral electron fluence using TVSTEP
mainegra Jul 28, 2022
1951f85
Link in documentation for fluence scoring object
mainegra Jul 27, 2022
bd45bd7
Apply standard EGSnrc code formatting with astyle
ftessier Oct 18, 2022
2d80093
Remove double precision suffix notation for clang
ftessier Jan 10, 2023
14fa724
Fix a few typos in the documentation text
ftessier Jan 23, 2023
1dc907a
Merge #836: add generic fluence scoring object
ftessier Jan 23, 2023
d44892b
Fix #949: compiler errors for egs_mesh on macOS
rtownson Jan 3, 2023
8be7c57
Fix #956: ausgab calls for photonuclear with xcse
ftessier Feb 6, 2023
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
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
name: Bug report
about: Create a report to help us fix EGSnrc bugs
title: ''
labels: 'bug'
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
A precise description of the steps to reproduce the behavior:

1. ...
2. ...
3. ...

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Operating system**

- [ ] Linux
- [ ] Windows
- [ ] macOS
- [ ] Other:

**EGSnrc version**
[e.g., v2021, develop, or commit hash]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea to help us improve EGSnrc
title: ''
labels: 'improvement'
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. For example, _"I'm always frustrated when [...]"_

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "third-party/3ddose_tools"]
path = third-party/3ddose_tools
url = https://github.com/MartinMartinov/3ddose_tools
34 changes: 28 additions & 6 deletions HEN_HOUSE/doc/src/getting-started/getting-started.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2308,7 +2308,7 @@ \subsubsection{Add ausgab (output) options}
# List of individual regions
dose regions = chamber_cavity_label
# List of each region volume (in same order), cm^3
volume = 0.02880 0.57732 0.05916
volume = 0.57732 0.02880 0.05916
:stop ausgab object:
:stop ausgab object definition:
\end{lstlisting}
Expand Down Expand Up @@ -2375,12 +2375,34 @@ \subsubsection{Questions}
this different from the total dose to air?

\begin{answer}
The total dose to the air cavity is the sum of the dose to regions 3, 7 and 31:
$6.6491\e{-15} \pm 1.002\%$.
The total dose to the air cavity is NOT the sum of the dose to regions 3, 7 and 31.
Instead, there are two alternative methods. First is the pedagogical approach:
use the energy deposited and the mass (or density multiplied by volume) of the combined regions, as well as the conversion factor for MeV/g to Gy, 1.602e-10.

This is smaller than the total dose to air under
\textit{Summary of media dosimetry}, which includes the dose to air regions
outside the chamber.
\begin{equation*}
D = \frac{E_1 + E_2 + E_3}{m_1 + m_2 + m_3}
\end{equation*}
\begin{equation*}
= (\frac{9.4809e-09 + 4.7904e-10 + 1.0028e-09}{0.001*(0.5773 + 0.0288 + 0.0592)})*1.602e-10
\\
= 2.6398e-15
\end{equation*}

The second method is to add the doses weighted by the volume. In theory this should give the same answer, but due to the limited number of significant figures printed in the output,
the result is not the same. For that reason, this is the more accurate method. Note that we have eliminated dependency on density because all the regions are of equal density - it is
left as an exercise to the reader to show the equivalency with the first method.
\begin{equation*}
D = D_1 * \frac{V_1}{V} + D_2 * \frac{V_2}{V} + D_3 * \frac{V_3}{V}
\end{equation*}
\begin{equation*}
= 2.1836e-15*0.5773/0.6653 + 2.2117e-15*0.0288/0.6653 + 2.2538e-15*0.0592/0.6653
\\
= 2.1911e-15
\end{equation*}

The total dose to the cavity is smaller than the total dose to air under
\textit{Summary of media dosimetry}, because the total dose to air includes the
dose to additional air regions outside the chamber.
\end{answer}

\end{question}
Expand Down
Loading