Customized revision of NAMD

From: Meng Shen (meng.s.shen_at_gmail.com)
Date: Thu Aug 11 2022 - 09:56:06 CDT

Dear NAMD developer team,

I’m recently simulating an interface system, where forcefield on one side of the system is developed with 1-4scaling of 0.8333, while the other side with 1-4scaling of 1, and the two sides are not covalently bonded to each other. I understand that all NAMD versions so far have a uniform 1-4 scaling. It’s theoretically possible to do hybrid and I need to revise NAMD myself.

I spent a couple of days learning the basics about charm++, and dig into NAMD source code, but I still have a couple of questions that confuse me. I appreciate it a lot if you don’t mind pointing me to the right direction. In terms of the platforms, I’m running the jobs on stampede2 skx nodes, and a local AMD EPYC CPU node.

  1. Where does NAMD code apply the 1-4scaling of electrostatic forces/energy? I’ve been trying to track the usage of variables “scale14”, and “modf”, but lost track of them. Besides, there seems to be many files of ComputeNonbondedxxx.C in NAMD code. I ask which files I need to pay attention to?
  2. Can I ask where and how NAMD determines whether a pair of atoms are connected by 3 bonds? I assume it’s after reading psf. But I didn’t find where 1-4 bonds are identified. Can you please help me?
  3. I notice there are main.C and mainfunc.C. While I understand the workflow of charm to run main function of main.C as the entry point defined in main.ci. But I didn’t find anywhere mainfunc.C was called. But based on the output of my NAMD jobs, I’m sure functions in mainfunc.C was called. That really confuses me, and your help is appreciated!

Thank you!

Best regards,
Stephanie

This archive was generated by hypermail 2.1.6 : Tue Dec 13 2022 - 14:32:44 CST