glotzerlab / hoomd-blue

Molecular dynamics and Monte Carlo soft matter simulation on GPUs.
http://glotzerlab.engin.umich.edu/hoomd-blue
BSD 3-Clause "New" or "Revised" License
335 stars 131 forks source link

Add cosine channel for MPCD #1776

Open tzortziskoul opened 5 months ago

tzortziskoul commented 5 months ago

Description

We want to implement a second channel for mpcd streaming geometry in hoomd v4. It will be a symmetric wavy channel.

Proposed solution

The new geometry will be implemented as follows:

channel = hoomd.mpcd.geometry.CosineChannel(...)
hoomd.mpcd.stream.BounceBack(period=..., geometry=channel)

Additional context

We already have a plugin that implements some of the necessary infrastructure for hoomd v2, which we will port to hoomd v4. A similar issue has been opened for assymetric Contraction Expansion channel.

mphoward commented 5 months ago

This issue is very similar to #1775 but the two cosines follow each other to make an S-shaped geometry. We will support implementing this feature too.

My only comment is that this geometry should be named CosineChannel according to our discussion, not CosineWavy.

tzortziskoul commented 5 months ago

Yes, this is right, I just changed it to CosineChannel.