CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Programming & Development

Newbie developing a neutron transport solver

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree2Likes
  • 1 Post By ChasingNeutrons
  • 1 Post By ChasingNeutrons

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 5, 2016, 11:30
Question Newbie developing a neutron transport solver
  #1
New Member
 
Paul
Join Date: Jun 2016
Posts: 21
Rep Power: 9
ChasingNeutrons is on a distinguished road
Hi guys,

I've just picked up OpenFOAM and, as seems to be the common sentiment, it's quite a lot to wrap one's head around at the start!

I'm using OpenFOAM for the sake of my dissertation; one of the goals is to improve OpenFOAM capabilities for analysing nuclear reactors. Specifically, rather than using some sort of diffusion equation to model neutronics (as has been done in the past relatively straightforwardly) I am to implement a more precise neutron transport model. There's a burgeoning nuclear special interests group on the wiki which is making increasing use of OpenFOAM for all sorts of interesting projects.

The actual details of the model are immensely straightforward but as both an OpenFOAM and also a C++ beginner I would very much appreciate any words of guidance and wisdom in an attempt to streamline the process. I suppose it's a bit disheartening when the vast majority of foam-y tutorials are based on fluids which, unless I have such fortune as to bring my project to the stage of thermal-hydraulic and neutronic coupling, is largely far removed from what I will be dealing with!

At the same time, I most certainly don't want to unnecessarily duplicate efforts previously made so I'll include a couple of key bits of the code which I'm struggling to implement. I could go on for quite a long time about all of the things I don't know but I suspect at that point I would be better hiring someone to do the work for me!

The main idea behind this specific method is ray tracing across a geometry, i.e., drawing lines from the boundaries of the geometry in a number of different discrete directions and store information such as the value of a flux along the ray at each intersection point with a cell face and the length of the ray between intersections. Hence, if OpenFOAM has some well developed routines or classes for creating and handling these rays I would be very grateful for a pointer in their direction! Similarly, I would like to know how to set boundary conditions for each of these rays and their corresponding directions, e.g., vacuum and reflective.

On a presumably much more standard topic, in making a new solver there are of course going to be a number of iterative routines to test for convergence. This problem is no doubt due to either my laziness or just consistently looking in the wrong place but I'm given to suspect that OpenFOAM also has some classes for dealing with the convergence of whichever scalar field is being solved. How can I go about using these? I've already developed my simple 1D solver in MATLAB where it was simply a case of storing the old value and comparing at the end of each iteration but I would like to do things the foam-y way if possible!

Apologies for a long and winding post. Really very grateful for any help or wise words and do berate me if I'm on entirely the wrong track - I'm a bit of a headless chicken at the moment as far as OpenFOAM goes.

Cheers.
Ramzy1990 likes this.
ChasingNeutrons is offline   Reply With Quote

Old   June 6, 2016, 07:23
Default
  #2
New Member
 
Paul
Join Date: Jun 2016
Posts: 21
Rep Power: 9
ChasingNeutrons is on a distinguished road
On doing a bit of investigating, it seems as if preliminarily there may be some ideas to transplant from the Lagrangian particle solvers. It may be simply a case of initialising the particles along the boundaries, each moving in a specified direction and then storing all cell intersection data and killing them once they've collided with the boundaries.
Ramzy1990 likes this.
ChasingNeutrons is offline   Reply With Quote

Reply

Tags
neutron, neutron transport, neutronics, solver, solver development

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Radiation Modeling Using Discrete Ordinates Method and Parallel Solver malicemethods FLUENT 3 May 25, 2018 15:25
multi region problem in developing a new solver huyidao OpenFOAM Programming & Development 1 May 17, 2016 08:28
fluent divergence for no reason sufjanst FLUENT 2 March 23, 2016 17:08
thobois class engineTopoChangerMesh error Peter_600 OpenFOAM 4 August 2, 2014 10:52
Setting a B.C using UserFortran in 4.3 tokai CFX 10 July 17, 2001 17:25


All times are GMT -4. The time now is 20:30.