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

Incorrect geometry check in SYNCVMLC #497

Closed
ojalaj opened this issue Nov 22, 2018 · 5 comments
Closed

Incorrect geometry check in SYNCVMLC #497

ojalaj opened this issue Nov 22, 2018 · 5 comments
Assignees
Labels

Comments

@ojalaj
Copy link

ojalaj commented Nov 22, 2018

According to Varian TB information for Millennium MLC, WBS < WG + WTIP. Similarly than in #442 for SYNCHDMLC, code check W_(bottom of support rail) >= W_groove + W_tip should be W_(bottom of support rail) < W_groove + W_tip.

I.e. in SYNCVMLC_cm.mortran should line 1298 be:
IF(WRAILBOT_$SYNCVMLC(2)>WGROOVE_$SYNCVMLC(2)+WTIP_$SYNCVMLC(2))[
and then change lines 1301-1302 accordingly?

Now I get:

 ***ERROR IN CM   5 (MLC) in TARGET leaf definition:
 WRAILBOT_MLC(2)<WGROOVE_MLC(2)+WTIP_MLC(2).
 Lower rail too narrow.
@blakewalters
Copy link
Contributor

@ojalaj, this would also mean the geometry of target leaves in DYNVMLC is incorrect. I'm not all that familiar with the Millennium MLCs, but I think DYNVMLC and SYNCVMLC were intended to model the 80-leaf Millennium, while SYNCHDMLC, in which W_railbot < W_tip + W_groove, is intended to model both the 120-leaf Millennium and the HD MLCs. @marenaud, do you have some experience with the 80-leaf Millennia?

@ojalaj
Copy link
Author

ojalaj commented Dec 10, 2018

Hi @blakewalters & @marenaud. I have not modelled 80-leaf Millennium at all, so I don't have any experience on the possible problems with DYNVMLC/SYNCVMLC related to 80-leaf Millennium. What I do know, however, is that 80-leaf model has OUTBOARD leaves #1 and #40 and then 38 FULL leaves in between (correct me if I'm wrong). For years I've used SYNCVMLC for modelling 120-leaf Millennium and for couple of years I've used SYNCHDMLC for HD120 MLC. I have not even thought that SYNCHDMLC could/should be used for 120-leaf Millennium (maybe just because there is "HD" in the CM name and in Varian terminology "HD" is used only HD120 MLC). Do you have any thoughts on this @marenaud ?

@marenaud
Copy link
Contributor

marenaud commented Dec 10, 2018

Hi all,

I don't have any experience modeling the 80 leaf MLC, though I know that the original DYNVMLC (and therefore SYNCVMLC) module was specifically for the 120-leaf millenium.

I have some memories of wrangling with geometry checks but I don't remember exactly what I did to make BEAMnrc accept our measured data, especially now that there's been a few changes to the checks. I now use SYNCHDMLC for both the millenium 120 and the HD (thanks to a bug fix by @blakewalters), but up until last year I had two different accelerators (one with SYNCVMLC, and one with SYNCHDMLC).

@blakewalters
Copy link
Contributor

Thanks for the input, @marenaud, and the information (reminder?) that DYNVMLC and, thus, SYNCVMLC, were coded with the 120-leaf collimator in mind. In this case, then, it does, indeed seem like the restriction on W_railbot is wrong. If you happen to have any of your old SYNCVMLC/DYNVMLC inputs lying around, @marenaud, I'd certainly be interested in seeing them!

@ojalaj
Copy link
Author

ojalaj commented Dec 10, 2018

Thanks for the contribution @marenaud. I should have remembered the paper @marenaud referenced to and only 120-leaf Millennium contains HALF leaves. For DYNVMLC PIRS-509 also mentions Millennium MLC and that there are usually 120 leaves.

Anyhow, now that I see that there is no restriction to change from SYNCVMLC to SYNCHDMLC for 120-leaf Millennium, I may make the change as well. Another limitation both CMs still share is the accurate model for OUTBOARD leaves #1 and #60, but that is another story then.

blakewalters added a commit that referenced this issue Mar 9, 2019
Previously, in both SYNCVMLC and DYNVMLC, input would
fail if, for target leaves:

width of bottom of support rail (WRAILBOT) <
  width of groove (WGROOVE) + width of leaf tip (WTIP)

This restriction is incorrect, based on VARIAN's specs for
the Millenium and HD 120 MLCs.  Moreover, it is inconsistent
with the (fixed) check in SYNCHMDMLC.  Thus, the check has been
changed so that input fails if:

WRAILBOT>WGROOVE+WTIP

Also, added a check on WTIP for QUARTER/HALF TARGET leaves
in SYNCHDMLC.
blakewalters added a commit that referenced this issue Mar 9, 2019
Previously, in both SYNCVMLC and DYNVMLC, input would
fail if, for target leaves:

width of bottom of support rail (WRAILBOT) <
  width of groove (WGROOVE) + width of leaf tip (WTIP)

This restriction is incorrect, based on VARIAN's specs for
the Millenium and HD 120 MLCs.  Moreover, it is inconsistent
with the (fixed) check in SYNCHMDMLC.  Thus, the check has been
changed so that input fails if:

WRAILBOT>WGROOVE+WTIP

Also, added a check on WTIP for QUARTER/HALF TARGET leaves
in SYNCHDMLC.
ftessier pushed a commit that referenced this issue Nov 21, 2019
Reverse the following failure condition in both SYNCVMLC and DYNVMLC
component modules, for target leaves:

width of bottom of support rail (WRAILBOT) <
width of groove (WGROOVE) + width of leaf tip (WTIP)

This restriction is incorrect, based on Varian's specs for the Millenium
and HD 120 multi-leaf collimators (MLC). Moreover, it is inconsistent
with the (fixed) check in SYNCHMDMLC. Thus, the failure condition has
been reversed to read:

WRAILBOT > WGROOVE + WTIP

Also add a check on WTIP for QUARTER/HALF TARGET leaves in SYNCHDMLC.
ftessier pushed a commit that referenced this issue Nov 21, 2019
Reverse the following failure condition in both SYNCVMLC and DYNVMLC
component modules, for target leaves:

width of bottom of support rail (WRAILBOT) <
width of groove (WGROOVE) + width of leaf tip (WTIP)

This restriction is incorrect, based on Varian's specs for the Millenium
and HD 120 multi-leaf collimators (MLC). Moreover, it is inconsistent
with the (fixed) check in SYNCHMDMLC. Thus, the failure condition has
been reversed to read:

WRAILBOT > WGROOVE + WTIP

Also add a check on WTIP for QUARTER/HALF TARGET leaves in SYNCHDMLC.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants