I found when using compute rigid and variable c_ID[body][dim] and than printing the variable to file the data is not updated. As variable.cpp calls compute->compute_array() there should be a method in compute_rigid.cpp which calls update_pointers().
Best,
Christian.
Attachment | Size |
---|---|
![]() | 2.73 KB |
aaigner | Mon, 11/13/2017 - 18:25
Minimal example ...
Hi Chris!
Can you provide a quick minimal example?
Best wishes,
Andreas
richti83 | Tue, 11/14/2017 - 08:06
Hi Andreas,
Hi Andreas,
I attached a simple script in my first post, pls see comments line 62 and 66.
it's simple to fix:
just add
void ComputeRigid::compute_array()
{
invoked_array = update->ntimestep;
update_pointers();
}
to compute_rigid.cpp as variable.cpp calls this method for array-style variables.
Best,
Christian.
aaigner | Tue, 11/14/2017 - 13:11
How did that ever work...?
Hi Christian,
how did that ever work? If I test your script with LIGGGHTS-PUBLIC (without any changes) it fails. In particular, this should not work since compute rigid calculates an array_local (per-processor), which is not designed for access via the input-script.
It would be possible to change the code to a 'global array'-based version (including some inter-processor communication = overhead).
Did you use a modified version?
Regards,
Andreas
richti83 | Tue, 11/14/2017 - 14:38
Oh, sorry you're right, I
Oh, sorry you're right, I used a special version of compute_rigid. Sorry for the noise.
aaigner | Tue, 11/14/2017 - 16:40
Good :-)
Thanks anyway.
Better one extra bug-report than one unrecognised bug.