Commit b0263e87 authored by Giacomo Fiorin's avatar Giacomo Fiorin
Browse files

Fix missing force with extended-Lagrangian mass

parent 925f4272
Loading
Loading
Loading
Loading
+119 −0
Original line number Diff line number Diff line
# library build -*- makefile -*- for colvars module

# which file will be copied to Makefile.lammps

EXTRAMAKE = Makefile.lammps.empty

# ------ SETTINGS ------

CXX =		g++
CXXFLAGS =	-O2 -g -Wall -fPIC -funroll-loops # -DCOLVARS_DEBUG
ARCHIVE =	ar
ARCHFLAG =	-rscv
SHELL =		/bin/sh

# ------ DEFINITIONS ------

SRC = colvaratoms.cpp colvarbias_abf.cpp colvarbias_alb.cpp colvarbias.cpp  \
 colvarbias_histogram.cpp colvarbias_meta.cpp colvarbias_restraint.cpp      \
 colvarcomp_angles.cpp colvarcomp_coordnums.cpp colvarcomp.cpp              \
 colvarcomp_distances.cpp colvarcomp_protein.cpp colvarcomp_rotations.cpp   \
 colvardeps.cpp colvar.cpp colvargrid.cpp colvarmodule.cpp colvarparse.cpp  \
 colvarscript.cpp colvartypes.cpp colvarvalue.cpp

LIB = libcolvars.a
OBJ = $(SRC:.cpp=.o)
EXE = #colvars_standalone

# ------ MAKE PROCEDURE ------

default: $(LIB) $(EXE) Makefile.lammps

Makefile.lammps:
	@cp $(EXTRAMAKE) Makefile.lammps

$(LIB):	$(OBJ)
	$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)

colvars_standalone: colvars_main.o colvarproxy_standalone.o $(LIB)
	$(CXX) -o $@ $(CXXFLAGS) $^

# ------ MAKE FLAGS ------

.SUFFIXES:
.SUFFIXES: .cpp .o

.PHONY: default clean

# ------ COMPILE RULES ------

.cpp.o:
	$(CXX) $(CXXFLAGS) -c $<

# ------ DEPENDENCIES ------
#
colvaratoms.o: colvaratoms.cpp colvarmodule.h colvartypes.h colvarproxy.h \
 colvarvalue.h colvarparse.h colvardeps.h colvaratoms.h
colvarbias_abf.o: colvarbias_abf.cpp colvarmodule.h colvartypes.h \
 colvarproxy.h colvarvalue.h colvar.h colvarparse.h colvardeps.h \
 colvarbias_abf.h colvarbias.h colvargrid.h
colvarbias_alb.o: colvarbias_alb.cpp colvarmodule.h colvartypes.h \
 colvarproxy.h colvarvalue.h colvarbias_alb.h colvar.h colvarparse.h \
 colvardeps.h colvarbias_restraint.h colvarbias.h
colvarbias.o: colvarbias.cpp colvarmodule.h colvartypes.h colvarproxy.h \
 colvarvalue.h colvarbias.h colvar.h colvarparse.h colvardeps.h
colvarbias_histogram.o: colvarbias_histogram.cpp colvarmodule.h \
 colvartypes.h colvarproxy.h colvarvalue.h colvar.h colvarparse.h \
 colvardeps.h colvarbias_histogram.h colvarbias.h colvargrid.h
colvarbias_meta.o: colvarbias_meta.cpp colvar.h colvarmodule.h \
 colvartypes.h colvarproxy.h colvarvalue.h colvarparse.h colvardeps.h \
 colvarbias_meta.h colvarbias.h colvargrid.h
colvarbias_restraint.o: colvarbias_restraint.cpp colvarmodule.h \
 colvartypes.h colvarproxy.h colvarvalue.h colvarbias_restraint.h \
 colvarbias.h colvar.h colvarparse.h colvardeps.h
colvarcomp_angles.o: colvarcomp_angles.cpp colvarmodule.h colvartypes.h \
 colvarproxy.h colvarvalue.h colvar.h colvarparse.h colvardeps.h \
 colvarcomp.h colvaratoms.h
colvarcomp_coordnums.o: colvarcomp_coordnums.cpp colvarmodule.h \
 colvartypes.h colvarproxy.h colvarvalue.h colvarparse.h colvardeps.h \
 colvaratoms.h colvar.h colvarcomp.h
colvarcomp.o: colvarcomp.cpp colvarmodule.h colvartypes.h colvarproxy.h \
 colvarvalue.h colvar.h colvarparse.h colvardeps.h colvarcomp.h \
 colvaratoms.h
colvarcomp_distances.o: colvarcomp_distances.cpp colvarmodule.h \
 colvartypes.h colvarproxy.h colvarvalue.h colvarparse.h colvardeps.h \
 colvar.h colvarcomp.h colvaratoms.h
colvarcomp_protein.o: colvarcomp_protein.cpp colvarmodule.h colvartypes.h \
 colvarproxy.h colvarvalue.h colvarparse.h colvardeps.h colvar.h \
 colvarcomp.h colvaratoms.h
colvarcomp_rotations.o: colvarcomp_rotations.cpp colvarmodule.h \
 colvartypes.h colvarproxy.h colvarvalue.h colvarparse.h colvardeps.h \
 colvar.h colvarcomp.h colvaratoms.h
colvar.o: colvar.cpp colvarmodule.h colvartypes.h colvarproxy.h \
 colvarvalue.h colvarparse.h colvardeps.h colvar.h colvarcomp.h \
 colvaratoms.h colvarscript.h colvarbias.h
colvardeps.o: colvardeps.cpp colvardeps.h colvarmodule.h colvartypes.h \
 colvarproxy.h colvarvalue.h colvarparse.h
colvargrid.o: colvargrid.cpp colvarmodule.h colvartypes.h colvarproxy.h \
 colvarvalue.h colvarparse.h colvardeps.h colvar.h colvarcomp.h \
 colvaratoms.h colvargrid.h
colvarmodule.o: colvarmodule.cpp colvarmodule.h colvartypes.h \
 colvarproxy.h colvarvalue.h colvarparse.h colvardeps.h colvar.h \
 colvarbias.h colvarbias_abf.h colvargrid.h colvarbias_alb.h \
 colvarbias_restraint.h colvarbias_histogram.h colvarbias_meta.h \
 colvarscript.h
colvarparse.o: colvarparse.cpp colvarmodule.h colvartypes.h colvarproxy.h \
 colvarvalue.h colvarparse.h
colvarscript.o: colvarscript.cpp colvarscript.h colvarmodule.h \
 colvartypes.h colvarproxy.h colvarvalue.h colvarbias.h colvar.h \
 colvarparse.h colvardeps.h
colvartypes.o: colvartypes.cpp colvarmodule.h colvartypes.h colvarproxy.h \
 colvarvalue.h colvarparse.h
colvarvalue.o: colvarvalue.cpp colvarmodule.h colvartypes.h colvarproxy.h \
 colvarvalue.h

# ------ CLEAN ------

clean:
	-rm *.o *~ $(LIB)
+7 −0
Original line number Diff line number Diff line
@@ -314,6 +314,9 @@ colvar::colvar(std::string const &conf)
      enable(f_cv_extended_Lagrangian);
      provide(f_cv_Langevin);

      // The extended mass will apply forces
      enable(f_cv_gradient);

      xr.type(value());
      vr.type(value());
      fr.type(value());
@@ -1209,6 +1212,10 @@ cvm::real colvar::update_forces_energy()

  if (is_enabled(f_cv_extended_Lagrangian)) {

    if (cvm::debug()) {
      cvm::log("Updating extended-Lagrangian degrees of freedom.\n");
    }

    cvm::real dt = cvm::dt();
    colvarvalue f_ext(fr.type());
    f_ext.reset();
+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@
#define COLVARMODULE_H

#ifndef COLVARS_VERSION
#define COLVARS_VERSION "2016-12-22"
#define COLVARS_VERSION "2016-12-27"
#endif

#ifndef COLVARS_DEBUG