Skip to content

Conversation

@valeriaRaffuzzi
Copy link
Member

@valeriaRaffuzzi valeriaRaffuzzi commented Oct 8, 2025

This PR adds a wedge surface, with the properties as described in the docs. The wedge can be a bounding surface. In short:

  • it's made of 5 planes
  • it's aligned with 1 axis
  • it can be arbitrarily rotated in the 2D plane defined by the other 2 axis

All the unit tests pass; the validation cases I tried (mixing reflective and periodic BC, asymmetric cases, DT and ST), all using the wedge as a bounding surface, agree with a reference case made with a box surface.

I also collected the 'composite surfaces' (box, truncated cone and cylinder, wedge) in an appropriate folder.

Copy link
Collaborator

@ChasingNeutrons ChasingNeutrons left a comment

Choose a reason for hiding this comment

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

Looks good! Only a few queries or requests for a bit more clarity.

@@ -0,0 +1,18 @@
module compSurface_inter
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is it necessary to make this? I think this just makes the code more complicated without adding functionality. It is appropriate to have composites in a folder, but the benefits of a subclass are unclear.
Maybe I should say the same thing about the quadSurface too...

Copy link
Member Author

Choose a reason for hiding this comment

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

I guess it is useless for now, but it might add flexibility later. It might be good to reduce number of files for now so I am happy to remove both.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Maybe @Mikolaj-A-Kowalski remembers a reason for having quadSurface at least?

@@ -1,10 +1,10 @@
module cone_class
module truncCone_class
Copy link
Collaborator

Choose a reason for hiding this comment

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

Do we need the name change? I am a bit anti because it breaks csg2csg. Not major, but I get doing this more if we intend to make a regular cone afterwards.

Copy link
Member Author

Choose a reason for hiding this comment

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

I like to keep the name consistent with the truncCylinder and self-explanatory. We can also consider making an infinite double-sided cone.
Hopefully this is just a search-replace in csg2csg!

@valeriaRaffuzzi
Copy link
Member Author

Looks good! Only a few queries or requests for a bit more clarity.

Should be all done!

!!
subroutine kill_shortInt(self)
class(linkedIntList), intent(inout) :: self
integer(shortInt) :: i
Copy link
Collaborator

Choose a reason for hiding this comment

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

Thank you for this!

@ChasingNeutrons ChasingNeutrons merged commit 7dcb0ac into CambridgeNuclear:main Oct 8, 2025
5 checks passed
@valeriaRaffuzzi valeriaRaffuzzi deleted the wedge branch October 8, 2025 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants