From 59af51ca91e0f4c1d8a56199380d47e44ff0f33a Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Mon, 18 Nov 2019 23:51:08 -0700 Subject: [PATCH] Added code to create pressure compute snap_press behind the scenes --- examples/snap/in.snap.compute | 1 - src/SNAP/compute_snap.cpp | 11 +++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/examples/snap/in.snap.compute b/examples/snap/in.snap.compute index 9d0739f327..f6038ff37a 100644 --- a/examples/snap/in.snap.compute +++ b/examples/snap/in.snap.compute @@ -70,7 +70,6 @@ compute vbsum all reduce sum c_vb[*] # set up new-style global compute compute snap all snap ${rcutfac} ${rfac0} ${twojmax} ${radelem1} ${radelem2} ${wj1} ${wj2} rmin0 ${rmin0} quadraticflag 0 bzeroflag 0 switchflag 0 -compute snap_press all pressure NULL virial fix snap all ave/time 1 1 1 c_snap[*] file compute.snap.dat mode vector thermo 100 diff --git a/src/SNAP/compute_snap.cpp b/src/SNAP/compute_snap.cpp index 72fce3b01b..80f731dcf3 100644 --- a/src/SNAP/compute_snap.cpp +++ b/src/SNAP/compute_snap.cpp @@ -207,10 +207,21 @@ void ComputeSnap::init() // add compute for reference virial tensor char *id_virial = (char *) "snap_press"; + + char **newarg = new char*[5]; + newarg[0] = id_virial; + newarg[1] = (char *) "all"; + newarg[2] = (char *) "pressure"; + newarg[3] = (char *) "NULL"; + newarg[4] = (char *) "virial"; + modify->add_compute(5,newarg); + delete [] newarg; + int ivirial = modify->find_compute(id_virial); if (ivirial == -1) error->all(FLERR,"compute snap requires that compute snap_press exists."); c_virial = modify->compute[ivirial]; + }