Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in
O
openmc
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 70
    • Issues 70
    • List
    • Boards
    • Labels
    • Milestones
  • Merge Requests 9
    • Merge Requests 9
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Shikhar Kumar
  • openmc
  • Merge Requests
  • !1216

Open
Opened Apr 08, 2019 by Shikhar Kumar@shikhark
  • Report abuse
Report abuse

Support different orientations for hexagonal lattices

  • Overview 59
  • Commits 27
  • Changes 11

Created by: dryuri92

I think will be helpful for OpenMC users to give opportunity to create diverse hexagonal lattice which oriented both along OY (as works in current program version ) and OX axis. My proposal is to add new field to hexlattice description called 'orient' not present by default OY long axis orientation and equal "ox" at an another one option. Description at geometry.xml will be like: ... <hex_lattice id="110" n_axial="1" n_rings="2" orient="OX" name="BN-1200 lattice"> <pitch>... ... universes 1 2 3 4 5 6 7 /universes

By default field 'orient' is absent. Coordinate system be like in OY orientation skewed but (alpha,y) fig 1 with alpha equal 60 degrees instead of (x,alpha). It allows to use the same indexation and avoid check range problem.
ox_19hex Fig 1. Skewed (alpha,y) coodinate system On Python side new "OX" lattice be like:

lattices = {}
lattices['Reactor core'] = openmc.HexLattice(lattice_id=1, name='Reactor core lattice')
lattices['Reactor core'].orientation = "OX"

when the "OY" be write the same way as early. Numeration in python are some different for "OX" from "OY" case and opposite clockwise but ring and axial layer the same.

         (1, 2)      (1, 1)      

   (1, 3)      (2, 0)      (1, 0)      

          (1, 4)      (1, 5)  

For what ? It exists a lot of problem and benchmarks (like Russian's VVER, research and contemporary fast reactors https://www.oecd-nea.org/science/docs/2015/) with hexagonal lattice when pins in assembly oriented along OY axis at the same time assembly in the reactor core lattice along OX. My problem plotting by OpenMC tools looks like image Fig 2. 7 assemblies in core with 127 pins I ve been tested on my issues and get the same result in value of keff and tallies with different orientation for standalone hexagonal with equal reflective boundary conditions. If my help to modify code or fit to your standart or add some tests is necessary ,I try to correct it.

Check out, review, and merge locally

Step 1. Fetch and check out the branch for this merge request

git fetch origin
git checkout -b "github/fork/dryuri92/newhex" "origin/github/fork/dryuri92/newhex"

Step 2. Review the changes locally

Step 3. Merge the branch and fix any conflicts that come up

git fetch origin
git checkout "origin/develop"
git merge --no-ff "github/fork/dryuri92/newhex"

Step 4. Push the result of the merge to GitLab

git push origin "develop"

Note that pushing to GitLab requires write access to this repository.

Tip: You can also checkout merge requests locally by following these guidelines.

Assignee
Assign to
v0.11
Milestone
v0.11
Assign milestone
Time tracking
0
Labels
None
Assign labels
  • View project labels
Reference: shikhark/openmc!1216