fieldsaver

Asked by Debski

Dear Dion,

Just at first glance - switching scaling off (scaling=False in NRotBondPrms() does not seem to help.
So I need to have a look into the code to verify if correctly understand Fieldsaver/checkpointer outputs.
In which files can I find the source code for
fieldsaver used to output elastic energy and checpointer ?

Regards
Wojciech

Question information

Language:
English Edit question
Status:
Answered
For:
ESyS-Particle Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Dion Weatherley (d-weatherley) said :
#1

Hi Wojciech,

The fieldsaver implementation is a bit complicated. The generic infrastructure for FieldSavers of various types (ParticleScalar, InteractionVector, etc) can be found in the Fields/ direcctory. However, the actual values that are output by these fieldsavers, is generally found in the relevant files within Model/ directory. Searching for "ScalarFieldFunction" or "VectorFieldFunction" in Model/ should help narrow down the search.

For example, to see what is being output by NRotBondedPrms when you request the scalar field "potential_energy":
1) open Model/BondedInteraction.cpp
2) search for "ScalarFieldFunction"
3) check the list for "potential_energy"
4) search for the subroutine being called; "getPotentialEnergy" in this case
5) read the code for computing this scalar field value

The checkpointer code is in Parallel/ subdirectory. The key routines can be found by searching for "saveCheckPointData" in SubLattice.hpp (for NRotSphere simulations) or RotSubLattice.hpp (for RotSphere simulations).

Cheers,

Dion

Can you help with this problem?

Provide an answer of your own, or ask Debski for more information if necessary.

To post a message you must log in.