Skip to content
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

Individual attributes for different species #614

Closed
n01r opened this issue Dec 18, 2014 · 8 comments
Closed

Individual attributes for different species #614

n01r opened this issue Dec 18, 2014 · 8 comments

Comments

@n01r
Copy link
Member

n01r commented Dec 18, 2014

While implementing Ionization in PIConGPU it became obvious that the attribute chargeState will not be sufficient in the future. For precise information especially on ion species it will become necessary to introduce another independent attribute:

  • coreCharge or protonNumber or maxNumOfElectrons
    That way it will be clear if the species is e.g. Hydrogen or Carbon. Also it will be very native with respect to the underlying physics.

The issue #108 already suggested that e.g. plugins should be able to activate specific attributes. Ideally though, some attributes shouldn't even exist for some species. Setting a coreCharge for each electron does not only look like a waste of memory on a first glance but with the run time creation of electrons in #595 one might encounter more serious memory problems.

It should therefore be possible to assign attributes differently for different species. Memory should also be dedicated to that species accordingly and maybe even automatically.

Example

  • we simulate initially neutral Carbon atoms
  • they will eventually be stripped off of their 6 electrons
  • our simulation is f**king awesome and therefore automatically notices that the amount of electrons increases and gives them more memory
@n01r n01r changed the title Individual atrributes for different species Individual attributes for different species Dec 18, 2014
@ax3l
Copy link
Member

ax3l commented Dec 18, 2014

I am against coreCharge, protonNumber and neutronNumber is something I could relate to, they will be static frame attributes anyway (only static memory /registers used).

@n01r n01r mentioned this issue Dec 18, 2014
10 tasks
@ax3l ax3l added the refactoring code change to improve performance or to unify a concept but does not change public API label Jan 5, 2015
@ax3l ax3l added this to the Open Beta milestone Jan 5, 2015
@ax3l ax3l added question and removed refactoring code change to improve performance or to unify a concept but does not change public API labels Jan 5, 2015
@ax3l
Copy link
Member

ax3l commented Jan 28, 2015

after discussions today, we decided to rather store the # of bound electrons instead of the charge state (since it is easier to be expanded to electron configurations later on).

@n01r
Copy link
Member Author

n01r commented Jan 28, 2015

Should it still be float like you suggested with chargeState? I've never heard of an Effective Number of Electrons 😛 BUT there is an Effective Atomic Number.

@ax3l
Copy link
Member

ax3l commented Jan 28, 2015

yes, float_X please. since a chargeState Q could in principle be an effective charge state, N_e in Q=Z-N_e is of course, too. (and even more important: Z is a float_X, too)

it's not super-obvious in the first place but likely to be useful in the future.

@n01r
Copy link
Member Author

n01r commented Jan 28, 2015

I already have one branch ready for protonNumber and neutronNumber which is based on my ionization feature branch. I am refactoring chargeState now ... trying to, let's see if it works out. 😉

@n01r
Copy link
Member Author

n01r commented Mar 30, 2015

The only thing left in this issue is automatic memory assignment based on how many particles may exist during the simulation, not only before. But that could be handled later, separately.

@ax3l
Copy link
Member

ax3l commented Mar 30, 2015

sounds great, do you want to open a fresh issue for that (with a longer description of the memory assignment task)?

@n01r
Copy link
Member Author

n01r commented Mar 30, 2015

Yeah, I'd rather do that.

@n01r n01r closed this as completed Mar 30, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants