Message: Re: What is the correct way to create a G4Element consisting of a single G4Isotope? Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: What is the correct way to create a G4Element consisting of a single G4Isotope? 

Forum: Geometry
Date: 29 Oct, 2018
From: Michael H. Kelsey <Michael H. Kelsey>

Sergio Losilla writes:
> Hmmm I think I have not explained myself correctly.
> 
> > I think you were expecting that your specially created G4Element would
> > reflect reality :-) You are creating your _own_ object of type
> > G4Element, and it is up to you to specify its isotopic composition. What
> > you did above was to specify a 100% purified "element" made of a single
> > isotope,
> 
> But I *do* want to specify a 100% purified "element" made of a single
> isotope (10B)! :-D
> 
> > so of course A(element) = A(isotope), and trivially N(element)
> > = N(isotope).
> 
> Well, this is the problem: N(element) = 10.0129 and N(isotope) = 10. I
> expected that N(element) = 10. I do not want them to differ. Or well, I
> think I do not want them to differ, that is why I was asking if this is
> what I should expect.
> 
> I hope I made more sense now.

Yes, it does, sorry for my confusion previously.  

So, G4Isotope "knows" that is defines a single unique nucleus, and is built
around "nuclear" assumptions.  The G4Isotope constructor takes Z and N as
_integer_ arguments, which count the number of protons and total number of
nucleons respectively.  You can tell it the atomic mass (A) as a double if
desired, or it will compute it for you (including binding energy, atomic
electrons, etc.).  G4Isotope::GetN() returns an integer, which is just the N
value you gave it in the constructor.

G4Element, on the other hand, is designed to be some combination of
isotopes, and is build around "chemical" definitions and assumptions.  In
particular, in a mixture of isotopes, the effective "number of nucleons" is
taken as just the molar mass divided by N_A, which is a double.
You can see in G4Element.hh that GetAtomicMassAmu() and GetN() return the
same value, A/(g/mol).  The latter is just shorthand for the former.

For your case, that leads to the apparent inconsistency between the two
GetN() values you print out.

Conceivably, one could define N_eff as the weighted average of the isotopic
N values.  However, a G4Element doesn't have to have any isotopes at all
attached to it -- it can be defined with values in isolation.  In that case,
the end user (and a constructor) would have allow setting N_eff and A_eff
separately, with all the potential inconsistencies that would allow.

      -- Mike Kelsey

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 None: Re: What is the correct way to create a G4Element consisting of a single G4Isotope?   (Sergio Losilla - 30 Oct, 2018)
 Add Message Add Message
to: "Re: What is the correct way to create a G4Element consisting of a single G4Isotope?"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]