Fatal error in function MatPtr

Questions and discussion about applications, input, output and general user topics
Post Reply
Yousef1986
Posts: 73
Joined: Fri Sep 04, 2015 3:33 pm
Security question 1: No
Security question 2: 92
Location: Karlsruhe, Germany
Contact:

Fatal error in function MatPtr

Post by Yousef1986 » Wed Dec 14, 2016 1:38 pm

Dear Jaakko,

I have a 3D model of an SMR, and I am trying to do full core depletion.

The problem is when trying to subdivide each fuel pin using the <div> card, Serpent produce:

Calculating material volumes by Monte Carlo...

Fatal error in function MatPtr:

Unable to find divide zone

Simulation aborted.

Do you know how I can fix this problem?

One more thing: when running without using the <div> card and asking for power distribution using <set cpd 2>, Serpent does not print pin power.

The problem seems that Serpent is unable to find fuel pins by somehow.

By the way, I am using Serpent 2.1.27.
Yousef Alzaben
Ph.D. Student
Karlsruhe Institute of Technology (KIT)

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

Re: Fatal error in function MatPtr

Post by Jaakko Leppänen » Mon Dec 19, 2016 11:09 pm

Could you send me the input file.
- Jaakko

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

Re: Fatal error in function MatPtr

Post by Jaakko Leppänen » Thu Dec 22, 2016 1:44 pm

The algorithm that handles the automated depletion zone division is pretty complicated, and I think the problem here is somehow related to the number of geometry levels (the divided materials are identified by a unique index, and if the number of levels is large, the indexes can exceed the maximum value that can be stored in a long integer).

In your case I got the calculation running by using "div UO2 sep 3" instead of "div UO2 sep 1". This means that the division starts from the third level below the highest. The division then produces different materials for each fuel pin (13712 in total). Similarly "div UO2 sep 4" performs the division at assembly level, in such way that different fuel materials are assigned for each assembly but all pins inside the assembly consist of the same material.

The automated depletion zone division is described at: http://serpent.vtt.fi/mediawiki/index.p ... e_division
- Jaakko

Yousef1986
Posts: 73
Joined: Fri Sep 04, 2015 3:33 pm
Security question 1: No
Security question 2: 92
Location: Karlsruhe, Germany
Contact:

Re: Fatal error in function MatPtr

Post by Yousef1986 » Thu Dec 22, 2016 1:54 pm

Thank you Jaakko.

What about pin power, I cannot access this info. and I guess it's the problem of the level and currently processcpd.c assumes that level 1 is my pin level.

If that is the problem, would it be a good idea to add a parameter to specify the pin level in "set cpd" card and keep a default value equal to 1.
Yousef Alzaben
Ph.D. Student
Karlsruhe Institute of Technology (KIT)

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

Re: Fatal error in function MatPtr

Post by Jaakko Leppänen » Thu Dec 22, 2016 2:53 pm

It's probably related to the same problem. Both the automated division and the pin-wise power distribution were originally designed with the (false) assumption that the pin universes are always located at the highest geometry level. In your geometry you probably have control rods or other structures that go beyond that.

Your core looks regular, so you should be able to get the pin-wise power distribution using a mesh detector.
- Jaakko

Yousef1986
Posts: 73
Joined: Fri Sep 04, 2015 3:33 pm
Security question 1: No
Security question 2: 92
Location: Karlsruhe, Germany
Contact:

Re: Fatal error in function MatPtr

Post by Yousef1986 » Mon Feb 13, 2017 7:08 pm

Dear Jaakko

Sorry for the late followup.

I tried what you have suggested by changing divide material card to div UO2 sep 3 for pin level depletion and it worked for the UO2 pins.
However, I have burnable poison pins (Al2O3B4C) and when including div Al2O3B4C sep 3 to undergo depletion, it gives the same error message as before:

Fatal error in function MatPtr:

Unable to find divide zone

Simulation aborted.

Do you have any idea what is the source of this error?

P.S.: I am using the latest update Serpent 2.1.28 and can see the nice warning message if I did not place the "correct" geometry level.
Yousef Alzaben
Ph.D. Student
Karlsruhe Institute of Technology (KIT)

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

Re: Fatal error in function MatPtr

Post by Jaakko Leppänen » Tue Feb 14, 2017 9:18 pm

Do you have these absorber pins at universes located at multiple levels? If so, duplicating the material card and using a different name might help.
- Jaakko

Post Reply