Update a chunk compute

Hello,

I have two separate material blocks each with a difference lattice distance and their dimensions are not aligned. I use compute chunk/atom to later use compute dipole/chunk. For my study, it is important that the chunks inside one material block be similar at the beginning (the same number of atoms per chunk).

Therefore, I call compute chunk/atom twice to ensure correct chunking of each of the material blocks. The question becomes, is there a way to perform chunking with two different rules but yet generate a single chunk map (chunk id/atom) ?

Currently, if I perform two subsequent compute chunk/atom commands I end up with two different chunk maps with redundant numbering which makes the post-processing a lot harder.

Regards,

Khalid Abdelaziz

The question becomes, is there a way to perform chunking with two different rules but yet generate a single chunk map (chunk id/atom) ?

Not sure what this means. The compute chunk/atom command does what it says. What are you

wanting to do different? You need to explain it in more detail.

Steve

I need to call compute chunk/atom two times with two different chunking parameters (bin/3d …). When I give the second compute the same id as the first, I get an error message. When I give it a different id, I end up with two completely independent atom to chunk mappings.

Is there a way to call compute chunk/atom two times and have it “add to” a previous atom to chunk mapping ?

I need to call compute chunk/atom two times with two different chunking
parameters (bin/3d ...). When I give the second compute the same id as the
first, I get an error message. When I give it a different id, I end up with
two completely independent atom to chunk mappings.

​let me try to rephrase this: what you want to realize is a 3d-binning,
where the size of the bins is different in different regions. is that
correct?

Is there a way to call compute chunk/atom two times and have it "add to" a
previous atom to chunk mapping ?

​no.

axel.​

Yes, Axel. I need 3d-binning where the size of the bins is different in different regions.

If that can’t be done right now. How easy/hard do you think it would be for me to code this “feature” into LAMMPS ?

Yes, Axel. I need 3d-binning where the size of the bins is different in
different regions.

If that can't be done right now. How easy/hard do you think it would be
for me to code this "feature" into LAMMPS ?

​i currently don't see a straightforward way to implement this into LAMMPS
cleanly.
tell me again, what is the issue with having two sets of bins?​
you can restrict the range and average over them separately and then
combine the results.

axel.

I use compute dipole/chunk and dump its result using fix ave/time to a chunks dump file because I couldn’t find a way to map chunk properties into atom properties. I, therefore, wrote a post-processor program which combines the chunk_dump and the atom_dump files and also calculates additional atom values based on the chunk properties.

The post processing code gets overly complicated when there are two separate chunk maps because some of the properties which the code calculates have to consider all the chunks in the system.

I was thinking that it makes sense for LAMMPS to have this kind of flexibility, something like:

compute chunkcompute1 region1 chunk/atom bin/3d …

compute chunkcompute2 region2 chunk/atom bin/3d … chunkcompute1 (add/update chunkcompute1)

Or maybe my case is too specific …

Thanks,

Khalid Abdelaziz