-
Notifications
You must be signed in to change notification settings - Fork 218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pinning ionization energies to the particle species #771
Comments
Probably only the ionization energies should be pinned to the particles and the field strengths necessary in the |
Dear all, We will have to devise a performant mechanism on accessing atomic data in general. Storing data per particle or even per species will quickly eat up all our memory. Better think of indexing a large data base. Best, Michael |
I'm feeling the need to express my concerns about ionization energies or atomic data in general again and I really don't like that there is still no self-consistent container for atomic data, yet. Currently I am encountering this problem in #922 again and there are several conventions in our code that make this matter challenging. These are:
C++ restricts the use of constant vectors on GPU and even though I can imagine an update to in struct Hydrogen
{
static const float_X numberOfProtons = 1.0;
static const float_X numberOfNeutrons = 0.0;
/* ground state ionization potential(s) in SI units */
struct IonizationPotentials;
}; in namespace picongpu
{
namespace SI // ? ? ?
{
struct Hydrogen::IonizationPotentials
{
PMACC_CONST_VECTOR(float_64, 1, IONIZATION_ENERGY,
2.18e-18
);
};
struct Carbon::IonizationPotentials
{
... // I need to name this one differently and give it 6 values
};
} // namespace SI
} // namespace picongpu but how exactly (if at all) should that be embedded in the What is the best way to do this? Or at least a better way before I devise a half-a**ed solution, again, that needs changing after a week, again. I would really appreciate some detailed ideas here. Does this new |
to answer the core questions online, the rest offline (to save time):
If we do not have a way to simply multiply each entry of a
No, you don't violate that. Simply name your conversion factors, see for example the way we convert ratios to
"Nr. 2": More reading: results of offline discussion |
We should discuss this offline next week. I think Marco's comments are important and we should have a consistent way to approach them. |
solved and documented in the PR. |
Currently the ionization energies and related values are stored in
ionizationEnergies.param
and are still somewhat hard-coded and non-generic. To add an array of ionization energies for an additional species, one would just create one under a different name.As this is information that is closely connected to the species anyway it should also be pinned to it and implemented generically.
The text was updated successfully, but these errors were encountered: