From 1d970d3cdf5031fcf448cb3cb2f5e63895c34da5 Mon Sep 17 00:00:00 2001 From: Jakub Krajniak <jkrajniak@gmail.com> Date: Tue, 29 Nov 2016 12:15:39 +0100 Subject: [PATCH] dihedral_nharmonic: added writing coefficient by write_data (cherry picked from commit 618f5c6aa52a41035391654af74c335dd0adf33e) --- src/USER-MISC/dihedral_nharmonic.cpp | 20 +++++++++++++++++++- src/USER-MISC/dihedral_nharmonic.h | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/USER-MISC/dihedral_nharmonic.cpp b/src/USER-MISC/dihedral_nharmonic.cpp index ba8af7e65b..25049b8ec2 100644 --- a/src/USER-MISC/dihedral_nharmonic.cpp +++ b/src/USER-MISC/dihedral_nharmonic.cpp @@ -35,7 +35,9 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -DihedralNHarmonic::DihedralNHarmonic(LAMMPS *lmp) : Dihedral(lmp) {} +DihedralNHarmonic::DihedralNHarmonic(LAMMPS *lmp) : Dihedral(lmp) { + writedata = 1; +} /* ---------------------------------------------------------------------- */ @@ -334,3 +336,19 @@ void DihedralNHarmonic::read_restart(FILE *fp) for (int i = 1; i <= atom->ndihedraltypes; i++) setflag[i] = 1; } +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void DihedralNHarmonic::write_data(FILE *fp) +{ + fwrite(&nterms[1],sizeof(int),atom->ndihedraltypes,fp); + for (int i = 1; i <= atom->ndihedraltypes; i++) { + fprintf(fp, "%d %d ", i, nterms[i]); + for (int j = 0; j < nterms[i]; j++ ) { + fprintf(fp, "%f ", a[i][j]); + } + fprintf(fp, "\n"); + } + +} diff --git a/src/USER-MISC/dihedral_nharmonic.h b/src/USER-MISC/dihedral_nharmonic.h index c347f37cbd..2e8050feb9 100644 --- a/src/USER-MISC/dihedral_nharmonic.h +++ b/src/USER-MISC/dihedral_nharmonic.h @@ -33,6 +33,7 @@ class DihedralNHarmonic : public Dihedral { void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); + void write_data(FILE *); protected: int *nterms; -- GitLab