Skip to content

The Major Parts #3

@tabedzki

Description

@tabedzki

Note: all comments are for the pure field theory version of the code!

Part 1:

Implementing field_gradient from array_utils.cpp and all functions that are invoked underneath, including unstack_stack which maps the local index value to the master index value. Also unstack which takes the global index value and grabs the grid position of that index in all Dim. get_k_alias reorders the aliases.

Where I think LAMMPS orders its grid points: line 1377 in pppm.cpp in a function set_grid_local has an example; another example found in pppm_disp.cpp line 2687. Understanding this is important to both Part 1 and Part 3.

Part 2

Storing interactions and then calling using those in a base framework for compute_group_group. Fourier transforms of particle's densities on the grid should be done in this step after ensuring that they are going to be needed (PPPM scheme). After FFTW, then invoke the compute_group_group command.

How he ultimately uses it is found on lines 40-56 are for A acting on other monomers but provides the base framework to be repeated.

Part 3

Implementing compute_group_group and handling the differences between the grids of FFTW and PPPM scheme for convolution purposes.

in Riggle's code: Interactions are done in forces.cpp. Lines 40-56 are for A acting on other monomers but provides the base framework to be repeated.

Total polymer interactions is on lines 96 - 113 in forces.cpp

Part 4 (Really this should be higher up since this is more important than the other things)

Mapping the densities to the grid and figuring out how to pass in the densities and how to restore forces to the particles. Probably via group name would be best but that's TBD. Person should take inspiration from pppm_disp.cpp

Riggle puts particles on grid in charge_grid().
Interactions are done in forces.cpp.

Apply the nonbonded forces on each particle. Lines 182-219. This is also going to be interesting to apply.

@zvicars @amruthesht

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions