CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

Implementing a New Boundary Condition

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

Reply
 
LinkBack Thread Tools Display Modes
Old   May 22, 2007, 10:24
Default Hi all, I am trying to implem
  #1
Member
 
Ivor Clifford
Join Date: Mar 2009
Location: Switzerland
Posts: 91
Rep Power: 8
cliffoi is on a distinguished road
Hi all,
I am trying to implement a new boundary condition for the solution of the neutron diffusion equation. For this problem we have what is commonly called an extrapolated length boundary condition, i.e. the neutron density goes to zero at some distance past the boundary.
I have derived the necessary expressions to be implemented in my extrapolatedLengthFvPatchField class functions (evaluate, gradientInternalCoeffs, etc.) but I'm having problems coding them. I keep getting errors when compiling because the necessary operators aren't found.
This is clearly because I don't know how to code the expressions in such a way that they apply to all the templated types (The sphericalTensor class is in particular giving me problems).
If anybody could help me, I'd really appreciate it.
The gradient at the boundary dF/dx|_B = -1/(deltaX+extrLen)*F_P
The value at the boundary F_B = deltaX/(deltaX+extrLen)*F_P

where
F_P is the cell value (this->internalField())
deltaX is the distance to the boundary (1/deltaCoeffs())
extrLen is the extrapolated length value specified by the user.

Any help would be appreciated.
Thanks in advance
cliffoi is offline   Reply With Quote

Old   January 2, 2008, 09:28
Default Hi Ivor, I'm also interest
  #2
New Member
 
Vanmaercke Simon
Join Date: Mar 2009
Location: Mol, Belgium
Posts: 8
Rep Power: 8
vanmaercke is on a distinguished road
Hi Ivor,

I'm also interested in solving the neutron diffusion equation with openFOAM. OpenFOAM is new to me and due to the nature of your question i think you are already have overcome a lot of difficulties i'm facing now so i would like to ask you:
1) How did you define your multiple materials? The only way to solve this i can think of is by defining volScalarFields with your absorption/fission/... cross sections. But this wastes a lot of memory (especially when you want to solve multi-group problems). Have you found a better solution?
2) Have you already written a neutron diffusion equation solver? And if so can i use your version?

For your question: Are there no more easy options then defining your own boundary conditions you can use?
What i was planning to do was to include in my model the volume around the area of interest. In my case that would mean that I simply add to my mesh the water/air around the reactor vessel. To these new boundaries i simply apply the boundary condition that the flux at the boundary is zero.
This is more accurate then extrapolated length but requires a bit more calculation time/memory. However the mesh of the added volume can be very course...

Regards,

Simon
vanmaercke is offline   Reply With Quote

Old   January 2, 2008, 16:18
Default Ivor, For your application, d
  #3
Member
 
David P. Schmidt
Join Date: Mar 2009
Posts: 70
Rep Power: 8
schmidt_d is on a distinguished road
Ivor,
For your application, do you actually need templating?
Here is an example of a BC that is just for scalars that is based on a similar concept of an extrapolation length.

http://openfoamwiki.net/index.php/Co...reTransmissive
David
schmidt_d is offline   Reply With Quote

Old   January 3, 2008, 02:51
Default Hi Simon, I have made substan
  #4
Member
 
Ivor Clifford
Join Date: Mar 2009
Location: Switzerland
Posts: 91
Rep Power: 8
cliffoi is on a distinguished road
Hi Simon,
I have made substantial progress with the diffusion solver, however there are several numerical issues which we are working on. In particular we are working on a block coupled solution for multiple energy groups. The extrapolated length boundary condition has been successfully implemented for the case of scalars as well (thanks David for your suggestion, this is what I did end up doing) and I have derived the simple expression which can be used to implement an albedo boundary condition based on the extrapolated length boundary condition. Unfortunately the code is not ready for release but I can send you a draft copy of my mini-dissertation entitled "Object-oriented Multiphysics Applied to Spatial Reactor Dynamics" which covers the work I've completed so far.
In terms of cross-section representation, my current implementation uses constant cross-sections read in as individual volScalarFields. For directional diffusion constants, I plan to use a volTensorField.
For more advanced material definitions I was planning to use a labelList of material numbers and create a class which calculates the cross-sections based on the material number.

Regards
Ivor
cliffoi is offline   Reply With Quote

Old   January 3, 2008, 05:19
Default Hi Ivor, Thank you for the
  #5
New Member
 
Vanmaercke Simon
Join Date: Mar 2009
Location: Mol, Belgium
Posts: 8
Rep Power: 8
vanmaercke is on a distinguished road
Hi Ivor,

Thank you for the information. I would certainly be interested in your mini-dissertation! I just started my phd concerning the development of a secondary scram system for Lead Fast Reactors. What you did can be very usefull to assess my different concepts simulating neutronics, thermal diffusion, and fluid dynamics, all in one go
(this does almost seem to beautiful to be true!)

Regards,

Simon
vanmaercke is offline   Reply With Quote

Old   January 4, 2008, 04:24
Default Hi Simon, If you can be patie
  #6
Member
 
Ivor Clifford
Join Date: Mar 2009
Location: Switzerland
Posts: 91
Rep Power: 8
cliffoi is on a distinguished road
Hi Simon,
If you can be patient, the dissertation is currently out for examination. I will try to load it onto the wiki after it has been approved. It shouldn't be more than a month or so.

Regards
Ivor
cliffoi is offline   Reply With Quote

Old   January 7, 2008, 06:14
Default Hi Ivor, I can be patient
  #7
New Member
 
Vanmaercke Simon
Join Date: Mar 2009
Location: Mol, Belgium
Posts: 8
Rep Power: 8
vanmaercke is on a distinguished road
Hi Ivor,

I can be patient ;-)! Thank you in advance!

Simon
vanmaercke is offline   Reply With Quote

Old   February 11, 2008, 06:45
Default Hi Simon, I have now uploaded
  #8
Member
 
Ivor Clifford
Join Date: Mar 2009
Location: Switzerland
Posts: 91
Rep Power: 8
cliffoi is on a distinguished road
Hi Simon,
I have now uploaded the document to the wiki under Main ContribPapers.

Regards
Ivor
cliffoi is offline   Reply With Quote

Old   February 11, 2008, 13:11
Default Hi Ivor, Thank you very mu
  #9
New Member
 
Vanmaercke Simon
Join Date: Mar 2009
Location: Mol, Belgium
Posts: 8
Rep Power: 8
vanmaercke is on a distinguished road
Hi Ivor,

Thank you very much. At first sight I believe you have performed a very nice job! I'm sure that your work will save me a great deal time in the future.

A small issue is however the download from the wiki site. I could download it without any problem but the extention is .tar.gz while i think it is a zip or something? In the end it worked after trying some extentions ;-)

Thank you again!

Simon
vanmaercke is offline   Reply With Quote

Reply

Thread Tools
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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Implementing new oscillating boundary condition chbenz OpenFOAM Running, Solving & CFD 0 February 19, 2009 03:27
Implementing PseudoMass Transfer Boundary Condition rsungkorn OpenFOAM Running, Solving & CFD 0 February 11, 2008 08:28
Problems implementing a boundary condition ogloth OpenFOAM Running, Solving & CFD 3 July 17, 2007 15:36
Implementing boundary condition for LES Linfeng BI Main CFD Forum 2 December 9, 2002 09:58
implementing boundary conditions Andreas Abdon CFX 2 March 15, 2000 14:20


All times are GMT -4. The time now is 04:41.