Automatic division of depletion zones

This category replaces the missing input manual
User avatar
Jaakko Leppänen
Site Admin
Posts: 2388
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

Re: Automatic division of depletion zones

Post by Jaakko Leppänen » Tue Jan 14, 2014 12:59 pm

The naming convention is <parent name>z<n>, where n is a running index starting from 1. Unortunately it can be a bit difficult to relate the index to a material zone in the geometry, since the division is done by a recursive algorithm and the order in which the indexes are assigned to sub-zones depends on how the geometry data is entered. Automatic division of detectors has not been implemented yet, but defining multiple material bins per detector should work, for example:

Code: Select all

det 1 
dm fuelz1 
dm fuelz2
dm fuelz3
should give you three values corresponding to sub-zones 1, 2 and 3 in material fuel.
- Jaakko

jhykes
Posts: 7
Joined: Fri May 24, 2013 5:17 pm
Security question 1: No
Security question 2: 92

Re: Automatic division of depletion zones

Post by jhykes » Fri Mar 21, 2014 9:30 pm

I'd like to follow up on Cole's question.

I'm trying to extract the number densities for a particular ring in a particular fuel pin. Do you have any more advice on how I can determine how the automatic material names are defined?

I guess if all else fails I can define a new material for only that pin.

-Josh

User avatar
Jaakko Leppänen
Site Admin
Posts: 2388
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

Re: Automatic division of depletion zones

Post by Jaakko Leppänen » Fri Mar 21, 2014 11:37 pm

It gets very complicated, because the index assigned to the materials depends on the order in which a recursive function loops over them. But you can try the following...

1) Add line:

printf("%s\n", GetText(mat + MATERIAL_PTR_NAME));

at the end of matptr.c, just before the return call.

2) Define a point source:

src 1 sp <x> <y> <z>

that is located in the ring.

When you run the calculation, you should get a list of material names, and the first one printed should be that located in position <x> <y> <z> (just be sure to remove any plot commands).

Let me know if this works...
- Jaakko

jhykes
Posts: 7
Joined: Fri May 24, 2013 5:17 pm
Security question 1: No
Security question 2: 92

Re: Automatic division of depletion zones

Post by jhykes » Sat Mar 22, 2014 12:50 am

Hello Jaakko,

Thank you for the suggestion. The method you described works in my case. The first material name printed after "Sampling initial source..." agrees with what I was guessing it was.

Thank you for your help.

-Josh

User avatar
Jaakko Leppänen
Site Admin
Posts: 2388
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

Re: Automatic division of depletion zones

Post by Jaakko Leppänen » Sat Mar 22, 2014 11:47 am

Maybe it would a useful command-line feature to print out the geometry and material data in a user-given point? I'll add this in my todo-list.
- Jaakko

cgentry7
Posts: 24
Joined: Mon Jun 03, 2013 10:59 pm
Security question 1: No
Security question 2: 92

Re: Automatic division of depletion zones

Post by cgentry7 » Mon Jun 09, 2014 8:38 pm

In my FHR modeling, I am now encountering a new albeit similar challenge in defining the desired detectors. My core consist of several nested layers of universes for the purpose of using the automatic depletion region feature:

1.) Core consists of assemblies (listed as radial hex lattice)
2.) Assemblies consist of axial regions (listed as vertical lattice)
3.) Axial regions consist of 3 tri-section (each defined as its own universe)
4.) Each tri-section has 6 plates (each plate defined as its own universe
5.) Each plate has 3 layers along its width i.e. short edge (each layer is its own universe)
6.) Each layer consist of subdivision along the long edge (each subdivision is its own universe)

The assembly design is repeated throughout the core in every location, so using the automatic depletion region feature reduces what would otherwise by a million line long input into 800 lines. However, I want to define tallies for every individual instance of the plate layer subdivisions in the core. The goal is to get power distributions along each plate layer, in each individual axial region, in each individual assembly. Unfortunately, I don't believe the du, dc, dl, flags will be sufficient due to the several layers of nesting, and I cannot think of a good alternative.

A possible way to address this might be to add a feature similar to the automatic depletion region feature in which I can specify a level of nesting to consider when defining the bins of a detector. Would this be possible / practical, or would there be a better alternative?

jesse.johns
Posts: 114
Joined: Wed Apr 20, 2011 5:19 am

Re: Automatic division of depletion zones

Post by jesse.johns » Thu Jan 08, 2015 1:58 am

Hello,

I am using Serpent 2.1.22.

If I am using the usym option to set up symmetry and I am also using the zone seperation, I notice that Serpent still uses just as much memory as if there isn't symmetry. I find, also, that during the depletion run it is maintaining all of the now, zero-volume depletion zones. If I have 1/4 symmetry, for example, I would have 1/4 the number of materials and therefore I would suspect about 1/4 the memory usage for the depletion sequence. Additionally, when Serpent runs through all the excess materials with zero-volume, it is still printing them. This consumes a lot of CPU overhead and harddrisk memory.

I am wondering if there is a way to alter the simulation sequence so that the symmetry condition is generated then the depletion zone are split so to avoid generating extra materials and prevent wasting memory.

Thanks,

Jesse

User avatar
Jaakko Leppänen
Site Admin
Posts: 2388
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

Re: Automatic division of depletion zones

Post by Jaakko Leppänen » Sun Jan 11, 2015 11:34 am

The problem is that the code cannot tell which part of the geometry is left outside the symmetry section, so the only solution is to replace the pins that are left outside with water cells or something similar. When using the divisor card with symmetries it is also important to check that your material volumes are correct with the -checkvolumes option.
- Jaakko

Andy_Turner
Posts: 18
Joined: Tue Jan 12, 2016 11:38 am
Security question 1: No
Security question 2: 92

Re: Automatic division of depletion zones

Post by Andy_Turner » Thu Mar 24, 2016 2:01 pm

Jaakko - thank you for implementing subx suby subz, this will be useful for large scale activation calculations.

When using this method to 'superimpose a mesh' over the geometry for burn divisions, I note that depletion zones are created even for zones that have none of the material present.
Perhaps it would be better to take the stochastic volume results, and where volume of material in zone is zero, to then not allocate memory to this zone in the transport run.

I also note that where depletion zones with a small slither of material are not sampled during the volume step, but have flux results during the transport step, cause a zero volume error in the transmutation step.
Only defining depletion zones where volume of material is non-zero would also solve this issue.
- Andy Turner, CCFE

User avatar
Jaakko Leppänen
Site Admin
Posts: 2388
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

Re: Automatic division of depletion zones

Post by Jaakko Leppänen » Wed Mar 30, 2016 11:24 am

I agree that this would be a useful feature. The problem is that the code has no way of knowing which material zones are part of the actual geometry and which are not. The only way of identifying the zones would be to run the Monte Carlo based volume calculation routine, but at that point the division is already made. So in practice it would require some major changes in the code structure.

The efficiency of the volume calculation could basically be improved by looping over the divided sub-zones and sampling points inside each of them separately. I'll make a note of this in my TODO-list.
- Jaakko

Post Reply