git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@10165 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2013-06-28 19:30:58 +00:00
parent f1fec72c71
commit bfbe995a9c
36 changed files with 1499 additions and 12 deletions

View File

@ -3,6 +3,7 @@
// LAMMPS includes
#include "lammps.h"
#include "lmptype.h"
#include "atom.h" // x, v, f
#include "domain.h" // for basing locations on regions
#include "region.h" // region bounding box and style
@ -609,7 +610,7 @@ void LammpsInterface::atomPE_init(void)
}
}
void LammpsInterface::atomPE_addstep(int step)
void LammpsInterface::atomPE_addstep(LAMMPS_NS::bigint step)
{
atomPE_->addstep(step);
}

View File

@ -131,4 +131,4 @@ DEPENDS = $(OBJ:.o=.d)
# ------ CLEAN ------
clean:
rm *.o *.d *~ $(LIB)
-rm *.o *.d *~ $(LIB)

5
lib/atc/Makefile.lammps Normal file
View File

@ -0,0 +1,5 @@
# Settings that the LAMMPS build will import when this package library is used
user-atc_SYSINC =
user-atc_SYSLIB = -lblas -llapack
user-atc_SYSPATH =

View File

@ -2,4 +2,5 @@
user-atc_SYSINC =
user-atc_SYSLIB = -llinalg -lgfortran
user-atc_SYSPATH = -L../../lib/linalg
user-atc_SYSPATH = -L../../lib/linalg$(LIBOBJDIR)

View File

@ -0,0 +1,149 @@
# library build -*- makefile -*-
SHELL = /bin/sh
# ------ FILES ------
SRC = ATC_HardyKernel.cpp \
ATC_Transfer.cpp \
ATC_TransferHardy.cpp \
ATC_TransferThermal.cpp \
ATC_TransferUtility.cpp \
AtomicRegulator.cpp \
ElasticTimeIntegrator.cpp \
ElectronFlux.cpp \
ElectronHeatCapacity.cpp \
ElectronHeatFlux.cpp \
ElectronPhononExchange.cpp \
ExtrinsicModel.cpp \
ExtrinsicModelTwoTemperature.cpp \
FE_Element.cpp \
FE_Engine.cpp \
FE_Mesh.cpp \
FieldEulerIntegrator.cpp \
ImplicitSolveOperator.cpp \
Kinetostat.cpp \
LammpsInterface.cpp \
Material.cpp \
Matrix.cpp \
OutputManager.cpp \
PhysicsModelThermal.cpp \
PhysicsModelTwoTemperature.cpp \
PrescribedDataManager.cpp \
Solver.cpp \
Thermostat.cpp \
TimeFilter.cpp \
TimeIntegrator.cpp \
Vector.cpp \
XT_Function.cpp
INC = Array2D.h \
Array.h \
ATC_Error.h \
ATC_HardyKernel.h \
ATC_Transfer.h \
ATC_TransferHardy.h \
ATC_TransferThermal.h \
ATC_TypeDefs.h \ \
AtomicRegulator.h \
CG.h \
CloneVector.h \
DenseMatrix.h \
DenseVector.h \
DiagonalMatrix.h \
ElasticTimeIntegrator.h \
ElectronFlux.h \
ElectronHeatCapacity.h \
ElectronHeatFlux.h \
ElectronPhononExchange.h \
ExtrinsicModel.h \
ExtrinsicModelTwoTemperature.h \
FE_Element.h \
FE_Engine.h \
FE_Mesh.h \
FieldEulerIntegrator.h \
GMRES.h \
ImplicitSolveOperator.h \
Kinetostat.h \
LammpsInterface.h \
Material.h \
MatrixDef.h \
Matrix.h \
MatrixLibrary.h \
OutputManager.h \
PhysicsModel.h \
PhysicsModelThermal.h \
PhysicsModelTwoTemperature.h \
PrescribedDataManager.h \
Quadrature.h \
Solver.h \
SparseMatrix.h \
SparseMatrix-inl.h \
SparseVector.h \
SparseVector-inl.h \
StringManip.h \
Thermostat.h \
TimeFilter.h \
TimeIntegrator.h \
Utility.h \
Vector.h \
XT_Function.h
# ------ DEFINITIONS ------
# which file will be copied to Makefile.lammps
EXTRAMAKE = Makefile.lammps.linalg
DIR = Obj_mingw32/
LIB = $(DIR)libatc.a
OBJ = $(SRC:%.cpp=$(DIR)%.o)
# ------ SETTINGS ------
# include any MPI settings needed for the ATC library to build with
# the same MPI library that LAMMPS is built with
CC = i686-w64-mingw32-g++
CCFLAGS = -I../../src -I../../src/STUBS -DMPICH_IGNORE_CXX_SEEK \
-O3 -march=i686 -mtune=generic -mfpmath=387 -mpc64 \
-ffast-math -funroll-loops -fstrict-aliasing \
-DLAMMPS_SMALLSMALL -Wno-uninitialized
ARCHIVE = i686-w64-mingw32-ar
ARCHFLAG = -rcs
DEPFLAGS = -M
LINK = i686-w64-mingw32-g++
LINKFLAGS = -O
USRLIB =
SYSLIB =
# ------ MAKE PROCEDURE ------
default: $(DIR) $(LIB) Makefile.lammps
$(DIR):
mkdir $(DIR)
Makefile.lammps:
@cp $(EXTRAMAKE) Makefile.lammps
$(LIB): $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
@cp $(EXTRAMAKE) Makefile.lammps
# ------ COMPILE RULES ------
$(DIR)%.o:%.cpp
$(CC) $(CCFLAGS) -c $< -o $@
$(DIR)%.d:%.cpp
$(CC) $(CCFLAGS) $(DEPFLAGS) $< > $@
# ------ DEPENDENCIES ------
DEPENDS = $(OBJ:.o=.d)
# ------ CLEAN ------
clean:
rm $(DIR)*.o $(DIR)*.d *~ $(LIB)
$(DEPENDS) : $(DIR)
sinclude $(DEPENDS)

View File

@ -0,0 +1,150 @@
# library build -*- makefile -*-
SHELL = /bin/sh
# ------ FILES ------
SRC = ATC_HardyKernel.cpp \
ATC_Transfer.cpp \
ATC_TransferHardy.cpp \
ATC_TransferThermal.cpp \
ATC_TransferUtility.cpp \
AtomicRegulator.cpp \
ElasticTimeIntegrator.cpp \
ElectronFlux.cpp \
ElectronHeatCapacity.cpp \
ElectronHeatFlux.cpp \
ElectronPhononExchange.cpp \
ExtrinsicModel.cpp \
ExtrinsicModelTwoTemperature.cpp \
FE_Element.cpp \
FE_Engine.cpp \
FE_Mesh.cpp \
FieldEulerIntegrator.cpp \
ImplicitSolveOperator.cpp \
Kinetostat.cpp \
LammpsInterface.cpp \
Material.cpp \
Matrix.cpp \
OutputManager.cpp \
PhysicsModelThermal.cpp \
PhysicsModelTwoTemperature.cpp \
PrescribedDataManager.cpp \
Solver.cpp \
Thermostat.cpp \
TimeFilter.cpp \
TimeIntegrator.cpp \
Vector.cpp \
XT_Function.cpp
INC = Array2D.h \
Array.h \
ATC_Error.h \
ATC_HardyKernel.h \
ATC_Transfer.h \
ATC_TransferHardy.h \
ATC_TransferThermal.h \
ATC_TypeDefs.h \ \
AtomicRegulator.h \
CG.h \
CloneVector.h \
DenseMatrix.h \
DenseVector.h \
DiagonalMatrix.h \
ElasticTimeIntegrator.h \
ElectronFlux.h \
ElectronHeatCapacity.h \
ElectronHeatFlux.h \
ElectronPhononExchange.h \
ExtrinsicModel.h \
ExtrinsicModelTwoTemperature.h \
FE_Element.h \
FE_Engine.h \
FE_Mesh.h \
FieldEulerIntegrator.h \
GMRES.h \
ImplicitSolveOperator.h \
Kinetostat.h \
LammpsInterface.h \
Material.h \
MatrixDef.h \
Matrix.h \
MatrixLibrary.h \
OutputManager.h \
PhysicsModel.h \
PhysicsModelThermal.h \
PhysicsModelTwoTemperature.h \
PrescribedDataManager.h \
Quadrature.h \
Solver.h \
SparseMatrix.h \
SparseMatrix-inl.h \
SparseVector.h \
SparseVector-inl.h \
StringManip.h \
Thermostat.h \
TimeFilter.h \
TimeIntegrator.h \
Utility.h \
Vector.h \
XT_Function.h
# ------ DEFINITIONS ------
# which file will be copied to Makefile.lammps
EXTRAMAKE = Makefile.lammps.linalg
DIR = Obj_mingw32-mpi/
LIB = $(DIR)libatc.a
OBJ = $(SRC:%.cpp=$(DIR)%.o)
# ------ SETTINGS ------
# include any MPI settings needed for the ATC library to build with
# the same MPI library that LAMMPS is built with
CC = i686-w64-mingw32-g++
CCFLAGS = -I../../tools/mingw-cross/mpich2-win32/include/ \
-I../../src -I../../src/STUBS -DMPICH_IGNORE_CXX_SEEK \
-O3 -march=i686 -mtune=generic -mfpmath=387 -mpc64 \
-ffast-math -funroll-loops -fstrict-aliasing \
-DLAMMPS_SMALLSMALL -Wno-uninitialized
ARCHIVE = i686-w64-mingw32-ar
ARCHFLAG = -rcs
DEPFLAGS = -M
LINK = i686-w64-mingw32-g++
LINKFLAGS = -O
USRLIB =
SYSLIB =
# ------ MAKE PROCEDURE ------
default: $(DIR) $(LIB) Makefile.lammps
$(DIR):
mkdir $(DIR)
Makefile.lammps:
@cp $(EXTRAMAKE) Makefile.lammps
$(LIB): $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
@cp $(EXTRAMAKE) Makefile.lammps
# ------ COMPILE RULES ------
$(DIR)%.o:%.cpp
$(CC) $(CCFLAGS) -c $< -o $@
$(DIR)%.d:%.cpp
$(CC) $(CCFLAGS) $(DEPFLAGS) $< > $@
# ------ DEPENDENCIES ------
DEPENDS = $(OBJ:.o=.d)
# ------ CLEAN ------
clean:
rm $(DIR)*.o $(DIR)*.d *~ $(LIB)
$(DEPENDS) : $(DIR)
sinclude $(DEPENDS)

View File

@ -0,0 +1,149 @@
# library build -*- makefile -*-
SHELL = /bin/sh
# ------ FILES ------
SRC = ATC_HardyKernel.cpp \
ATC_Transfer.cpp \
ATC_TransferHardy.cpp \
ATC_TransferThermal.cpp \
ATC_TransferUtility.cpp \
AtomicRegulator.cpp \
ElasticTimeIntegrator.cpp \
ElectronFlux.cpp \
ElectronHeatCapacity.cpp \
ElectronHeatFlux.cpp \
ElectronPhononExchange.cpp \
ExtrinsicModel.cpp \
ExtrinsicModelTwoTemperature.cpp \
FE_Element.cpp \
FE_Engine.cpp \
FE_Mesh.cpp \
FieldEulerIntegrator.cpp \
ImplicitSolveOperator.cpp \
Kinetostat.cpp \
LammpsInterface.cpp \
Material.cpp \
Matrix.cpp \
OutputManager.cpp \
PhysicsModelThermal.cpp \
PhysicsModelTwoTemperature.cpp \
PrescribedDataManager.cpp \
Solver.cpp \
Thermostat.cpp \
TimeFilter.cpp \
TimeIntegrator.cpp \
Vector.cpp \
XT_Function.cpp
INC = Array2D.h \
Array.h \
ATC_Error.h \
ATC_HardyKernel.h \
ATC_Transfer.h \
ATC_TransferHardy.h \
ATC_TransferThermal.h \
ATC_TypeDefs.h \ \
AtomicRegulator.h \
CG.h \
CloneVector.h \
DenseMatrix.h \
DenseVector.h \
DiagonalMatrix.h \
ElasticTimeIntegrator.h \
ElectronFlux.h \
ElectronHeatCapacity.h \
ElectronHeatFlux.h \
ElectronPhononExchange.h \
ExtrinsicModel.h \
ExtrinsicModelTwoTemperature.h \
FE_Element.h \
FE_Engine.h \
FE_Mesh.h \
FieldEulerIntegrator.h \
GMRES.h \
ImplicitSolveOperator.h \
Kinetostat.h \
LammpsInterface.h \
Material.h \
MatrixDef.h \
Matrix.h \
MatrixLibrary.h \
OutputManager.h \
PhysicsModel.h \
PhysicsModelThermal.h \
PhysicsModelTwoTemperature.h \
PrescribedDataManager.h \
Quadrature.h \
Solver.h \
SparseMatrix.h \
SparseMatrix-inl.h \
SparseVector.h \
SparseVector-inl.h \
StringManip.h \
Thermostat.h \
TimeFilter.h \
TimeIntegrator.h \
Utility.h \
Vector.h \
XT_Function.h
# ------ DEFINITIONS ------
# which file will be copied to Makefile.lammps
EXTRAMAKE = Makefile.lammps.linalg
DIR = Obj_mingw64/
LIB = $(DIR)libatc.a
OBJ = $(SRC:%.cpp=$(DIR)%.o)
# ------ SETTINGS ------
# include any MPI settings needed for the ATC library to build with
# the same MPI library that LAMMPS is built with
CC = x86_64-w64-mingw32-g++
CCFLAGS = -I../../src -I../../src/STUBS -DMPICH_IGNORE_CXX_SEEK \
-O3 -march=core2 -mtune=core2 -mpc64 -msse2 \
-ffast-math -funroll-loops -fstrict-aliasing \
-DLAMMPS_SMALLBIG -Wno-uninitialized
ARCHIVE = x86_64-w64-mingw32-ar
ARCHFLAG = -rcs
DEPFLAGS = -M
LINK = x86_64-w64-mingw32-g++
LINKFLAGS = -O
USRLIB =
SYSLIB =
# ------ MAKE PROCEDURE ------
default: $(DIR) $(LIB) Makefile.lammps
$(DIR):
mkdir $(DIR)
Makefile.lammps:
@cp $(EXTRAMAKE) Makefile.lammps
$(LIB): $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
@cp $(EXTRAMAKE) Makefile.lammps
# ------ COMPILE RULES ------
$(DIR)%.o:%.cpp
$(CC) $(CCFLAGS) -c $< -o $@
$(DIR)%.d:%.cpp
$(CC) $(CCFLAGS) $(DEPFLAGS) $< > $@
# ------ DEPENDENCIES ------
DEPENDS = $(OBJ:.o=.d)
# ------ CLEAN ------
clean:
rm $(DIR)*.o $(DIR)*.d *~ $(LIB)
$(DEPENDS) : $(DIR)
sinclude $(DEPENDS)

View File

@ -0,0 +1,150 @@
# library build -*- makefile -*-
SHELL = /bin/sh
# ------ FILES ------
SRC = ATC_HardyKernel.cpp \
ATC_Transfer.cpp \
ATC_TransferHardy.cpp \
ATC_TransferThermal.cpp \
ATC_TransferUtility.cpp \
AtomicRegulator.cpp \
ElasticTimeIntegrator.cpp \
ElectronFlux.cpp \
ElectronHeatCapacity.cpp \
ElectronHeatFlux.cpp \
ElectronPhononExchange.cpp \
ExtrinsicModel.cpp \
ExtrinsicModelTwoTemperature.cpp \
FE_Element.cpp \
FE_Engine.cpp \
FE_Mesh.cpp \
FieldEulerIntegrator.cpp \
ImplicitSolveOperator.cpp \
Kinetostat.cpp \
LammpsInterface.cpp \
Material.cpp \
Matrix.cpp \
OutputManager.cpp \
PhysicsModelThermal.cpp \
PhysicsModelTwoTemperature.cpp \
PrescribedDataManager.cpp \
Solver.cpp \
Thermostat.cpp \
TimeFilter.cpp \
TimeIntegrator.cpp \
Vector.cpp \
XT_Function.cpp
INC = Array2D.h \
Array.h \
ATC_Error.h \
ATC_HardyKernel.h \
ATC_Transfer.h \
ATC_TransferHardy.h \
ATC_TransferThermal.h \
ATC_TypeDefs.h \ \
AtomicRegulator.h \
CG.h \
CloneVector.h \
DenseMatrix.h \
DenseVector.h \
DiagonalMatrix.h \
ElasticTimeIntegrator.h \
ElectronFlux.h \
ElectronHeatCapacity.h \
ElectronHeatFlux.h \
ElectronPhononExchange.h \
ExtrinsicModel.h \
ExtrinsicModelTwoTemperature.h \
FE_Element.h \
FE_Engine.h \
FE_Mesh.h \
FieldEulerIntegrator.h \
GMRES.h \
ImplicitSolveOperator.h \
Kinetostat.h \
LammpsInterface.h \
Material.h \
MatrixDef.h \
Matrix.h \
MatrixLibrary.h \
OutputManager.h \
PhysicsModel.h \
PhysicsModelThermal.h \
PhysicsModelTwoTemperature.h \
PrescribedDataManager.h \
Quadrature.h \
Solver.h \
SparseMatrix.h \
SparseMatrix-inl.h \
SparseVector.h \
SparseVector-inl.h \
StringManip.h \
Thermostat.h \
TimeFilter.h \
TimeIntegrator.h \
Utility.h \
Vector.h \
XT_Function.h
# ------ DEFINITIONS ------
# which file will be copied to Makefile.lammps
EXTRAMAKE = Makefile.lammps.linalg
DIR = Obj_mingw64-mpi/
LIB = $(DIR)libatc.a
OBJ = $(SRC:%.cpp=$(DIR)%.o)
# ------ SETTINGS ------
# include any MPI settings needed for the ATC library to build with
# the same MPI library that LAMMPS is built with
CC = x86_64-w64-mingw32-g++
CCFLAGS = -I../../tools/mingw-cross/mpich2-win64/include/ \
-I../../src -I../../src/STUBS -DMPICH_IGNORE_CXX_SEEK \
-O3 -march=core2 -mtune=core2 -mpc64 -msse2 \
-ffast-math -funroll-loops -fstrict-aliasing \
-DLAMMPS_SMALLBIG -Wno-uninitialized
ARCHIVE = x86_64-w64-mingw32-ar
ARCHFLAG = -rcs
DEPFLAGS = -M
LINK = x86_64-w64-mingw32-g++
LINKFLAGS = -O
USRLIB =
SYSLIB =
# ------ MAKE PROCEDURE ------
default: $(DIR) $(LIB) Makefile.lammps
$(DIR):
mkdir $(DIR)
Makefile.lammps:
@cp $(EXTRAMAKE) Makefile.lammps
$(LIB): $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
@cp $(EXTRAMAKE) Makefile.lammps
# ------ COMPILE RULES ------
$(DIR)%.o:%.cpp
$(CC) $(CCFLAGS) -c $< -o $@
$(DIR)%.d:%.cpp
$(CC) $(CCFLAGS) $(DEPFLAGS) $< > $@
# ------ DEPENDENCIES ------
DEPENDS = $(OBJ:.o=.d)
# ------ CLEAN ------
clean:
rm $(DIR)*.o $(DIR)*.d *~ $(LIB)
$(DEPENDS) : $(DIR)
sinclude $(DEPENDS)

View File

@ -2,4 +2,4 @@
user-awpmd_SYSINC =
user-awpmd_SYSLIB = -llinalg -lgfortran
user-awpmd_SYSPATH = -L../../lib/linalg
user-awpmd_SYSPATH = -L../../lib/linalg$(LIBOBJDIR)

View File

@ -0,0 +1,80 @@
# library build -*- makefile -*-
SHELL = /bin/sh
# which file will be copied to Makefile.lammps
EXTRAMAKE = Makefile.lammps.linalg
# ------ FILES ------
SRC = logexc.cpp wpmd.cpp wpmd_split.cpp
vpath %.cpp ivutils/src
vpath %.cpp systems/interact/TCP
INC = \
cerf.h \
cerf2.h \
cerf_octave.h \
cvector_3.h \
lapack_inter.h \
logexc.h \
pairhash.h \
refobj.h \
tcpdefs.h \
vector_3.h \
wavepacket.h \
wpmd.h \
wpmd_split.h
# ------ DEFINITIONS ------
DIR = Obj_mingw32/
LIB = $(DIR)libawpmd.a
OBJ = $(SRC:%.cpp=$(DIR)%.o)
# ------ SETTINGS ------
# include any MPI settings needed for the ATC library to build with
# the same MPI library that LAMMPS is built with
CC = i686-w64-mingw32-g++
CCFLAGS = -O2 -march=i686 -mtune=generic -mfpmath=387 -mpc64 \
-finline-functions \
-ffast-math -funroll-loops -fstrict-aliasing \
-Wall -W -Wno-uninitialized -Isystems/interact/TCP/ -Isystems/interact -Iivutils/include
ARCHIVE = i686-w64-mingw32-ar
ARCHFLAG = -rscv
DEPFLAGS = -M
#LINK =
#LINKFLAGS =
USRLIB =
SYSLIB =
# ------ MAKE PROCEDURE ------
default: $(DIR) $(LIB) Makefile.lammps
$(DIR):
mkdir $(DIR)
Makefile.lammps:
@cp $(EXTRAMAKE) Makefile.lammps
$(LIB): $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
@cp $(EXTRAMAKE) Makefile.lammps
# ------ COMPILE RULES ------
$(DIR)%.o:%.cpp
$(CC) $(CCFLAGS) -c $< -o $@
$(DIR)%.d:%.cpp
$(CC) $(CCFLAGS) $(DEPFLAGS) $< > $@
# ------ DEPENDENCIES ------
DEPENDS = $(OBJ:.o=.d)
# ------ CLEAN ------
clean:
rm *.d *~ $(OBJ) $(LIB)

View File

@ -0,0 +1,13 @@
# -*- makefile -*- wrapper for non-MPI libraries
SHELL=/bin/sh
all:
$(MAKE) $(MFLAGS) mingw32-cross
rm -f Obj_mingw32-mpi
ln -s Obj_mingw32 Obj_mingw32-mpi
clean:
$(MAKE) $(MFLAGS) clean-mingw32-cross
rm -f Obj_mingw32-mpi

View File

@ -0,0 +1,79 @@
# library build -*- makefile -*-
SHELL = /bin/sh
# which file will be copied to Makefile.lammps
EXTRAMAKE = Makefile.lammps.linalg
# ------ FILES ------
SRC = logexc.cpp wpmd.cpp wpmd_split.cpp
vpath %.cpp ivutils/src
vpath %.cpp systems/interact/TCP
INC = \
cerf.h \
cerf2.h \
cerf_octave.h \
cvector_3.h \
lapack_inter.h \
logexc.h \
pairhash.h \
refobj.h \
tcpdefs.h \
vector_3.h \
wavepacket.h \
wpmd.h \
wpmd_split.h
# ------ DEFINITIONS ------
DIR = Obj_mingw64/
LIB = $(DIR)libawpmd.a
OBJ = $(SRC:%.cpp=$(DIR)%.o)
# ------ SETTINGS ------
# include any MPI settings needed for the ATC library to build with
# the same MPI library that LAMMPS is built with
CC = x86_64-w64-mingw32-g++
CCFLAGS = -O3 -march=core2 -mtune=core2 -mpc64 -msse2 \
-ffast-math -funroll-loops -fstrict-aliasing \
-Wall -W -Wno-uninitialized -Isystems/interact/TCP/ -Isystems/interact -Iivutils/include
ARCHIVE = x86_64-w64-mingw32-ar
ARCHFLAG = -rscv
DEPFLAGS = -M
#LINK =
#LINKFLAGS =
USRLIB =
SYSLIB =
# ------ MAKE PROCEDURE ------
default: $(DIR) $(LIB) Makefile.lammps
$(DIR):
mkdir $(DIR)
Makefile.lammps:
@cp $(EXTRAMAKE) Makefile.lammps
$(LIB): $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
@cp $(EXTRAMAKE) Makefile.lammps
# ------ COMPILE RULES ------
$(DIR)%.o:%.cpp
$(CC) $(CCFLAGS) -c $< -o $@
$(DIR)%.d:%.cpp
$(CC) $(CCFLAGS) $(DEPFLAGS) $< > $@
# ------ DEPENDENCIES ------
DEPENDS = $(OBJ:.o=.d)
# ------ CLEAN ------
clean:
rm *.d *~ $(OBJ) $(LIB)

View File

@ -0,0 +1,13 @@
# -*- makefile -*- wrapper for non-MPI libraries
SHELL=/bin/sh
all:
$(MAKE) $(MFLAGS) mingw64-cross
rm -f Obj_mingw64-mpi
ln -s Obj_mingw64 Obj_mingw64-mpi
clean:
$(MAKE) $(MFLAGS) clean-mingw64-cross
rm -f Obj_mingw64-mpi

View File

@ -8,7 +8,7 @@ typedef int lapack_int;
typedef complex<float> lapack_complex_float;
typedef complex<double> lapack_complex_double;
#ifdef _WIN32
#if defined(_WIN32) && !defined(__MINGW32__)
//#define MKL_Complex8 lapack_complex_float
//#define MKL_Complex16 lapack_complex_double

View File

@ -7,9 +7,9 @@
#include <stdexcept>
#include <string>
# ifndef _WIN32
#if !defined(_WIN32) || defined(__MINGW32__)
# include <typeinfo>
# endif
#endif
/// this specifies whether to put file/line info in error messages

View File

@ -220,7 +220,8 @@ public:
};
/*double w=wk.get_width();
#if 0
double w=wk.get_width();
Vector_3 r=wk.get_r();
double t=3/(2*w*w*w);
fe_w[ic1+k1]+= t*E_der[s1][indw1+8*k1]+imag(wk.a)*E_der[s1][indw1+8*k1+1]/w;
@ -230,7 +231,8 @@ public:
fe_p[ic1+k1][i]+= (-E_der[s1][indw1+8*k1+2+2*i+1])*(m_electron/h_plank); //*(h_plank/m_electron);
fe_pw[ic1+k1]+=(r[i]*E_der[s1][indw1+8*k1+2+2*i+1]/w)/h_plank;
fe_w[ic1+k1]+=2*r[i]*(t*E_der[s1][indw1+8*k1+2+2*i]+imag(wk.a)*E_der[s1][indw1+8*k1+2+2*i+1]/w);
}*/
}
#endif
/// constructs a conjugate packet
@ -239,4 +241,4 @@ inline WavePacket conj(const WavePacket &wp){
}
# endif // WAVEPACKET_H
# endif // WAVEPACKET_H

5
lib/gpu/Makefile.lammps Normal file
View File

@ -0,0 +1,5 @@
# Settings that the LAMMPS build will import when this package library is used
gpu_SYSINC =
gpu_SYSLIB = -lcudart -lcuda
gpu_SYSPATH = -L/usr/local/cuda/lib64

View File

@ -0,0 +1,6 @@
# Settings that the LAMMPS build will import when this package library is used
# settings for OpenCL builds
gpu_SYSINC =
gpu_SYSLIB = -Wl,--enable-stdcall-fixup -L../../tools/mingw-cross$(LIBOBJDIR) -lOpenCL
gpu_SYSPATH =

View File

@ -0,0 +1,17 @@
CUDA_HOME = ../../tools/mingw-cross/OpenCL
OCL_CPP = i686-w64-mingw32-g++ -O2 -march=i686 -mtune=generic -mfpmath=387 \
-mpc64 -DMPI_GERYON -DUCL_NO_EXIT -I../../src/STUBS \
-I$(CUDA_HOME)/include
OCL_LINK = -Wl,--enable-stdcall-fixup -L$(CUDA_HOME)/../Obj_mingw32 -lOpenCL -L../../src/STUBS -lmpi_mingw32
OCL_PREC = -D_SINGLE_DOUBLE
OCL_TUNE = -DFERMI_OCL
EXTRAMAKE = Makefile.lammps.mingw-cross
BIN_DIR = Obj_mingw32
OBJ_DIR = Obj_mingw32
LIB_DIR = Obj_mingw32
AR = i686-w64-mingw32-ar
BSH = /bin/sh
include Opencl.makefile

View File

@ -0,0 +1,19 @@
CUDA_HOME = ../../tools/mingw-cross/OpenCL
OCL_CPP = i686-w64-mingw32-g++ -O2 -march=i686 -mtune=generic -mfpmath=387 \
-mpc64 -DMPI_GERYON -DUCL_NO_EXIT -I$(CUDA_HOME)/include \
-I../../tools/mingw-cross/mpich2-win32/include/ \
-DMPICH_IGNORE_CXX_SEEK
OCL_LINK = -Wl,--enable-stdcall-fixup -L$(CUDA_HOME)/../Obj_mingw32 -lOpenCL \
-L../../tools/mingw-cross/mpich2-win32/lib -lmpi
OCL_PREC = -D_SINGLE_DOUBLE
OCL_TUNE = -DFERMI_OCL
EXTRAMAKE = Makefile.lammps.mingw-cross
BIN_DIR = Obj_mingw32-mpi
OBJ_DIR = Obj_mingw32-mpi
LIB_DIR = Obj_mingw32-mpi
AR = i686-w64-mingw32-ar
BSH = /bin/sh
include Opencl.makefile

View File

@ -0,0 +1,18 @@
CUDA_HOME = ../../tools/mingw-cross/OpenCL
OCL_CPP = x86_64-w64-mingw32-g++ -O3 -march=core2 -mtune=core2 -mpc64 \
-msse2 -DMPI_GERYON -DUCL_NO_EXIT -I../../src/STUBS \
-I$(CUDA_HOME)/include
OCL_LINK = -Wl,--enable-stdcall-fixup -L$(CUDA_HOME)/../Obj_mingw64 -lOpenCL \
-L../../src/STUBS -lmpi_mingw64
OCL_PREC = -D_SINGLE_DOUBLE
OCL_TUNE = -DFERMI_OCL
EXTRAMAKE = Makefile.lammps.mingw-cross
BIN_DIR = Obj_mingw64
OBJ_DIR = Obj_mingw64
LIB_DIR = Obj_mingw64
AR = x86_64-w64-mingw32-ar
BSH = /bin/sh
include Opencl.makefile

View File

@ -0,0 +1,20 @@
CUDA_HOME = ../../tools/mingw-cross/OpenCL
OCL_CPP = x86_64-w64-mingw32-g++ -O3 -march=core2 -mtune=core2 -mpc64 \
-msse2 -DMPI_GERYON -DUCL_NO_EXIT -I$(CUDA_HOME)/include \
-I../../tools/mingw-cross/mpich2-win64/include/ \
-DMPICH_IGNORE_CXX_SEEK
OCL_LINK = -Wl,--enable-stdcall-fixup -L$(CUDA_HOME)/../Obj_mingw64 -lOpenCL \
-L../../tools/mingw-cross/mpich2-win64/lib -lmpi
OCL_PREC = -D_SINGLE_DOUBLE
OCL_TUNE = -DFERMI_OCL
EXTRAMAKE = Makefile.lammps.mingw-cross
BIN_DIR = Obj_mingw64-mpi
OBJ_DIR = Obj_mingw64-mpi
LIB_DIR = Obj_mingw64-mpi
AR = x86_64-w64-mingw32-ar
BSH = /bin/sh
include Opencl.makefile

View File

@ -101,7 +101,10 @@ CBNS = $(OBJ_DIR)/device.cubin $(OBJ_DIR)/device_cubin.h \
$(OBJ_DIR)/lj_coul_debye.cubin $(OBJ_DIR)/lj_coul_debye_cubin.h \
$(OBJ_DIR)/coul_dsf.cubin $(OBJ_DIR)/coul_dsf_cubin.h
all: $(GPU_LIB) $(EXECS)
all: $(OBJ_DIR) $(GPU_LIB) $(EXECS)
$(OBJ_DIR):
mkdir -p $@
$(OBJ_DIR)/cudpp.o: cudpp_mini/cudpp.cpp
$(CUDR) -o $@ -c cudpp_mini/cudpp.cpp -Icudpp_mini

View File

@ -73,7 +73,10 @@ KERS = $(OBJ_DIR)/device_cl.h $(OBJ_DIR)/atom_cl.h \
OCL_EXECS = $(BIN_DIR)/ocl_get_devices
all: $(OCL_LIB) $(EXECS)
all: $(OBJ_DIR) $(OCL_LIB) $(EXECS)
$(OBJ_DIR):
mkdir -p $@
$(OBJ_DIR)/atom_cl.h: lal_atom.cu lal_preprocessor.h
$(BSH) ./geryon/file_to_cstr.sh atom lal_preprocessor.h lal_atom.cu $(OBJ_DIR)/atom_cl.h

View File

@ -0,0 +1,85 @@
# *
# *_________________________________________________________________________*
# * Minimal BLAS/LAPACK Library for ATC and AWPMD
# To compile and link LAMMPS to the linalg library generated by this Makefile,
# adjust the corresponding definitions in the library's Makefile.lammps file.
#
# for lib/atc/Makefile.lammps use:
# user-atc_SYSINC =
# user-atc_SYSLIB = ../../lib/linalg/$(LIBOBJDIR)liblinalg.a -lgfortran
# user-atc_SYSPATH =
#
# for lib/awpmd/Makefile.lammps use:
# user-awpmd_SYSINC =
# user-awpmd_SYSLIB = ../../lib/linalg/$(LIBOBJDIR)liblinalg.a -lgfortran
# user-awpmd_SYSPATH =
SHELL = /bin/sh
# ------ FILES ------
SRC = dasum.f daxpy.f dcopy.f ddot.f dgecon.f dgemm.f dgemv.f dger.f \
dgetf2.f dgetrf.f dgetri.f disnan.f dlabad.f dlaisnan.f dlamch.f\
dlacn2.f dlange.f dlassq.f dlaswp.f dlatrs.f drscl.f dscal.f \
dswap.f dtrmm.f dtrmv.f dtrsm.f dtrsv.f dtrti2.f dtrtri.f \
idamax.f ieeeck.f ilaenv.f iparmq.f lsame.f xerbla.f zdotc.f \
zdscal.f zhpr.f zpptrf.f zpptri.f zscal.f ztpmv.f ztpsv.f ztptri.f
FILES = $(SRC) Makefile.* README
# ------ DEFINITIONS ------
DIR = Obj_mingw32/
LIB = $(DIR)liblinalg.a
OBJ = $(SRC:%.f=$(DIR)%.o)
# ------ SETTINGS ------
FC = i686-w64-mingw32-gfortran
FFLAGS = -O3 -march=i686 -mtune=generic -mfpmath=387 -mpc64 \
-ffast-math -funroll-loops -fstrict-aliasing -Wall -W \
-Wno-uninitialized -fno-second-underscore
FFLAGS0 = -O0 -march=i686 -mtune=generic -mfpmath=387 -mpc64 \
-Wall -W -Wno-uninitialized -fno-second-underscore
ARCHIVE = i686-w64-mingw32-ar
AR = i686-w64-mingw32-ar
ARCHFLAG = -rcs
USRLIB =
SYSLIB =
.PHONY: default clean tar
.SUFFIXES:
.SUFFIXES: .F .f .o
# ------ MAKE PROCEDURE ------
default: $(DIR) $(LIB)
$(LIB): $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
$(DIR):
mkdir $(DIR)
# ------ COMPILE RULES ------
$(DIR)%.o:%.F
$(F90) $(F90FLAGS) -c $< -o $@
$(DIR)%.o:%.f
$(FC) $(FFLAGS) -c $< -o $@
$(DIR)dlamch.o: dlamch.f
$(FC) $(FFLAGS0) -c $< -o $@
# ------ CLEAN ------
clean:
-rm $(DIR)*.o $(DIR)*.mod *~ $(LIB)
-rmdir $(DIR)
tar:
-tar -czvf ../linalg.tar.gz $(FILES)

View File

@ -0,0 +1,13 @@
# -*- makefile -*- wrapper for non-MPI libraries
SHELL=/bin/sh
all:
$(MAKE) $(MFLAGS) mingw32-cross
rm -f Obj_mingw32-mpi
ln -s Obj_mingw32 Obj_mingw32-mpi
clean:
$(MAKE) $(MFLAGS) clean-mingw32-cross
rm -f Obj_mingw32-mpi

View File

@ -0,0 +1,85 @@
# *
# *_________________________________________________________________________*
# * Minimal BLAS/LAPACK Library for ATC and AWPMD
# To compile and link LAMMPS to the linalg library generated by this Makefile,
# adjust the corresponding definitions in the library's Makefile.lammps file.
#
# for lib/atc/Makefile.lammps use:
# user-atc_SYSINC =
# user-atc_SYSLIB = ../../lib/linalg/$(LIBOBJDIR)liblinalg.a -lgfortran
# user-atc_SYSPATH =
#
# for lib/awpmd/Makefile.lammps use:
# user-awpmd_SYSINC =
# user-awpmd_SYSLIB = ../../lib/linalg/$(LIBOBJDIR)liblinalg.a -lgfortran
# user-awpmd_SYSPATH =
SHELL = /bin/sh
# ------ FILES ------
SRC = dasum.f daxpy.f dcopy.f ddot.f dgecon.f dgemm.f dgemv.f dger.f \
dgetf2.f dgetrf.f dgetri.f disnan.f dlabad.f dlaisnan.f dlamch.f\
dlacn2.f dlange.f dlassq.f dlaswp.f dlatrs.f drscl.f dscal.f \
dswap.f dtrmm.f dtrmv.f dtrsm.f dtrsv.f dtrti2.f dtrtri.f \
idamax.f ieeeck.f ilaenv.f iparmq.f lsame.f xerbla.f zdotc.f \
zdscal.f zhpr.f zpptrf.f zpptri.f zscal.f ztpmv.f ztpsv.f ztptri.f
FILES = $(SRC) Makefile.* README
# ------ DEFINITIONS ------
DIR = Obj_mingw64/
LIB = $(DIR)liblinalg.a
OBJ = $(SRC:%.f=$(DIR)%.o)
# ------ SETTINGS ------
FC = x86_64-w64-mingw32-gfortran
FFLAGS = -O3 -march=core2 -mtune=generic -msse2 -mpc64 \
-ffast-math -funroll-loops -fstrict-aliasing -Wall -W \
-Wno-uninitialized -fno-second-underscore
FFLAGS0 = -O0 -march=core2 -mtune=generic -msse2 -mpc64 \
-Wall -W -Wno-uninitialized -fno-second-underscore
ARCHIVE = x86_64-w64-mingw32-ar
AR = x86_64-w64-mingw32-ar
ARCHFLAG = -rcs
USRLIB =
SYSLIB =
.PHONY: default clean tar
.SUFFIXES:
.SUFFIXES: .F .f .o
# ------ MAKE PROCEDURE ------
default: $(DIR) $(LIB)
$(LIB): $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
$(DIR):
mkdir $(DIR)
# ------ COMPILE RULES ------
$(DIR)%.o:%.F
$(F90) $(F90FLAGS) -c $< -o $@
$(DIR)%.o:%.f
$(FC) $(FFLAGS) -c $< -o $@
$(DIR)dlamch.o: dlamch.f
$(FC) $(FFLAGS0) -c $< -o $@
# ------ CLEAN ------
clean:
-rm $(DIR)*.o $(DOR)*.mod *~ $(LIB)
-rmdir $(DIR)
tar:
-tar -czvf ../linalg.tar.gz $(FILES)

View File

@ -0,0 +1,13 @@
# -*- makefile -*- wrapper for non-MPI libraries
SHELL=/bin/sh
all:
$(MAKE) $(MFLAGS) mingw64-cross
rm -f Obj_mingw64-mpi
ln -s Obj_mingw64 Obj_mingw64-mpi
clean:
$(MAKE) $(MFLAGS) clean-mingw64-cross
rm -f Obj_mingw64-mpi

View File

@ -0,0 +1,65 @@
# * -*- makefile -*-
# *_________________________________________________________________________*
# * MEAM: MODEFIED EMBEDDED ATOM METHOD *
# * DESCRIPTION: SEE READ-ME *
# * FILE NAME: Makefile *
# * AUTHORS: Greg Wagner, Sandia National Laboratories *
# * CONTACT: gjwagne@sandia.gov *
# *_________________________________________________________________________*/
SHELL = /bin/sh
# which file will be copied to Makefile.lammps
EXTRAMAKE = Makefile.lammps.gfortran
# ------ FILES ------
SRC = meam_data.F meam_setup_done.F meam_setup_global.F meam_setup_param.F meam_dens_init.F meam_dens_final.F meam_force.F meam_cleanup.F
FILES = $(SRC) Makefile
# ------ DEFINITIONS ------
DIR = Obj_mingw32/
LIB = $(DIR)libmeam.a
OBJ = $(SRC:%.F=$(DIR)%.o)
# ------ SETTINGS ------
F90 = i686-w64-mingw32-gfortran
F90FLAGS = -O3 -march=i686 -mtune=generic -mfpmath=387 -mpc64 \
-ffast-math -funroll-loops -fstrict-aliasing -J$(DIR) \
-Wall -W -Wno-uninitialized -fno-second-underscore
#F90FLAGS = -O
ARCHIVE = i686-w64-mingw32-ar
ARCHFLAG = -rcs
LINK = i686-w64-mingw32-g++
LINKFLAGS = -O
USRLIB =
SYSLIB =
# ------ MAKE PROCEDURE ------
default: $(DIR) $(LIB)
$(DIR):
-mkdir $(DIR)
$(LIB): $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
@cp $(EXTRAMAKE) Makefile.lammps
# ------ COMPILE RULES ------
$(DIR)%.o:%.F
$(F90) $(F90FLAGS) -c $< -o $@
# ------ CLEAN ------
clean:
-rm $(DIR)*.o $(DIR)*.mod *~ $(LIB)
-rmdir $(DIR)
tar:
-tar -cvf ../MEAM.tar $(FILES)

View File

@ -0,0 +1,13 @@
# -*- makefile -*- wrapper for non-MPI libraries
SHELL=/bin/sh
all:
$(MAKE) $(MFLAGS) mingw32-cross
rm -f Obj_mingw32-mpi
ln -s Obj_mingw32 Obj_mingw32-mpi
clean:
$(MAKE) $(MFLAGS) clean-mingw32-cross
rm -f Obj_mingw32-mpi

View File

@ -0,0 +1,65 @@
# * -*- makefile -*-
# *_________________________________________________________________________*
# * MEAM: MODEFIED EMBEDDED ATOM METHOD *
# * DESCRIPTION: SEE READ-ME *
# * FILE NAME: Makefile *
# * AUTHORS: Greg Wagner, Sandia National Laboratories *
# * CONTACT: gjwagne@sandia.gov *
# *_________________________________________________________________________*/
SHELL = /bin/sh
# which file will be copied to Makefile.lammps
EXTRAMAKE = Makefile.lammps.gfortran
# ------ FILES ------
SRC = meam_data.F meam_setup_done.F meam_setup_global.F meam_setup_param.F meam_dens_init.F meam_dens_final.F meam_force.F meam_cleanup.F
FILES = $(SRC) Makefile
# ------ DEFINITIONS ------
DIR = Obj_mingw64/
LIB = $(DIR)libmeam.a
OBJ = $(SRC:%.F=$(DIR)%.o)
# ------ SETTINGS ------
F90 = x86_64-w64-mingw32-gfortran
F90FLAGS = -O3 -march=core2 -mtune=core2 -msse2 -mpc64 \
-ffast-math -funroll-loops -fstrict-aliasing -J$(DIR) \
-Wall -W -Wno-uninitialized -fno-second-underscore
#F90FLAGS = -O
ARCHIVE = x86_64-w64-mingw32-ar
ARCHFLAG = -rcs
LINK = x86_64-w64-mingw32-g++
LINKFLAGS = -O
USRLIB =
SYSLIB =
# ------ MAKE PROCEDURE ------
default: $(DIR) $(LIB)
$(DIR):
-mkdir $(DIR)
$(LIB): $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
@cp $(EXTRAMAKE) Makefile.lammps
# ------ COMPILE RULES ------
$(DIR)%.o:%.F
$(F90) $(F90FLAGS) -c $< -o $@
# ------ CLEAN ------
clean:
-rm $(DIR)*.o $(DIR)*.mod *~ $(LIB)
-rmdir $(DIR)
tar:
-tar -cvf ../MEAM.tar $(FILES)

View File

@ -0,0 +1,13 @@
# -*- makefile -*- wrapper for non-MPI libraries
SHELL=/bin/sh
all:
$(MAKE) $(MFLAGS) mingw64-cross
rm -f Obj_mingw64-mpi
ln -s Obj_mingw64 Obj_mingw64-mpi
clean:
$(MAKE) $(MFLAGS) clean-mingw64-cross
rm -f Obj_mingw64-mpi

View File

@ -0,0 +1,113 @@
# *
# *_________________________________________________________________________*
# * POEMS: PARALLELIZABLE OPEN SOURCE EFFICIENT MULTIBODY SOFTWARE *
# * DESCRIPTION: SEE READ-ME *
# * FILE NAME: Makefile *
# * AUTHORS: See Author List *
# * GRANTS: See Grants List *
# * COPYRIGHT: (C) 2005 by Authors as listed in Author's List *
# * LICENSE: Please see License Agreement *
# * DOWNLOAD: Free at www.rpi.edu/~anderk5 *
# * ADMINISTRATOR: Prof. Kurt Anderson *
# * Computational Dynamics Lab *
# * Rensselaer Polytechnic Institute *
# * 110 8th St. Troy NY 12180 *
# * CONTACT: anderk5@rpi.edu *
# *_________________________________________________________________________*/
SHELL = /bin/sh
# which file will be copied to Makefile.lammps
EXTRAMAKE = Makefile.lammps.empty
# ------ FILES ------
SRC_MAIN = workspace.cpp system.cpp poemsobject.cpp
INC_MAIN = workspace.h system.h poemsobject.h
SRC_BODY = body.cpp rigidbody.cpp particle.cpp inertialframe.cpp
INC_BODY = bodies.h body.h rigidbody.h particle.h inertialframe.h
SRC_JOINT = joint.cpp revolutejoint.cpp prismaticjoint.cpp sphericaljoint.cpp \
freebodyjoint.cpp body23joint.cpp mixedjoint.cpp
INC_JOINT = joints.h joint.h revolutejoint.h prismaticjoint.h sphericaljoint.h \
freebodyjoint.h body23joint.h mixedjoint.h
SRC_POINT = point.cpp fixedpoint.cpp
INC_POINT = points.h point.h fixedpoint.h
SRC_SOLVE = solver.cpp
INC_SOLVE = solver.h
SRC_ORDERN = onsolver.cpp onfunctions.cpp onbody.cpp
INC_ORDERN = onsolver.h onfunctions.h onbody.h
SRC_MAT = virtualmatrix.cpp matrix.cpp matrixfun.cpp mat3x3.cpp virtualcolmatrix.cpp \
colmatrix.cpp vect3.cpp virtualrowmatrix.cpp rowmatrix.cpp mat6x6.cpp vect6.cpp \
fastmatrixops.cpp colmatmap.cpp eulerparameters.cpp vect4.cpp norm.cpp mat4x4.cpp \
INC_MAT = matrices.h virtualmatrix.h matrix.h matrixfun.h mat3x3.h virtualcolmatrix.h \
colmatrix.h vect3.h virtualrowmatrix.h rowmatrix.h mat6x6.h vect6.h \
fastmatrixops.h colmatmap.h eulerparameters.h vect4.h norm.h mat4x4.h
SRC_MISC = poemstreenode.cpp
INC_MISC = poemslist.h poemstreenode.h poemstree.h poemsnodelib.h SystemProcessor.h defines.h POEMSChain.h
SRC = $(SRC_MAIN) $(SRC_BODY) $(SRC_JOINT) $(SRC_POINT) $(SRC_SOLVE) $(SRC_ORDERN) $(SRC_MAT) $(SRC_MISC)
INC = $(INC_MAIN) $(INC_BODY) $(INC_JOINT) $(INC_POINT) $(INC_SOLVE) $(INC_ORDERN) $(INC_MAT) $(INC_MISC)
FILES = $(SRC) $(INC) Makefile Authors_List.txt Grants_List.txt POEMS_License.txt README Copyright_Notice
# ------ DEFINITIONS ------
DIR = Obj_mingw32/
LIB = $(DIR)libpoems.a
OBJ = $(SRC:%.cpp=$(DIR)%.o)
# ------ SETTINGS ------
CC = i686-w64-mingw32-g++
CCFLAGS = -O2 -march=i686 -mtune=generic -mfpmath=387 -mpc64 \
-ffast-math -funroll-loops -finline-functions -fno-rtti \
-fno-exceptions -fstrict-aliasing \
-Wall -W -Wno-uninitialized
ARCHIVE = i686-w64-mingw32-ar
ARCHFLAG = -rcs
DEPFLAGS = -M
LINK = i686-w64-mingw32-g++
LINKFLAGS = -O
USRLIB =
SYSLIB =
# ------ MAKE PROCEDURE ------
default: $(DIR) $(LIB)
$(DIR):
-mkdir $(DIR)
$(LIB): $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
@cp $(EXTRAMAKE) Makefile.lammps
# ------ COMPILE RULES ------
$(DIR)%.o:%.cpp
$(CC) $(CCFLAGS) -c $< -o $@
$(DIR)%.d:%.cpp
$(CC) $(CCFLAGS) $(DEPFLAGS) $< > $@
# ------ DEPENDENCIES ------
DEPENDS = $(OBJ:.o=.d)
# ------ CLEAN ------
clean:
-rm $(DIR)*.o $(DIR)*.d *~ $(LIB)
tar:
-tar -cvf ../POEMS.tar $(FILES)

View File

@ -0,0 +1,13 @@
# -*- makefile -*- wrapper for non-MPI libraries
SHELL=/bin/sh
all:
$(MAKE) $(MFLAGS) mingw32-cross
rm -f Obj_mingw32-mpi
ln -s Obj_mingw32 Obj_mingw32-mpi
clean:
$(MAKE) $(MFLAGS) clean-mingw32-cross
rm -f Obj_mingw32-mpi

View File

@ -0,0 +1,113 @@
# *
# *_________________________________________________________________________*
# * POEMS: PARALLELIZABLE OPEN SOURCE EFFICIENT MULTIBODY SOFTWARE *
# * DESCRIPTION: SEE READ-ME *
# * FILE NAME: Makefile *
# * AUTHORS: See Author List *
# * GRANTS: See Grants List *
# * COPYRIGHT: (C) 2005 by Authors as listed in Author's List *
# * LICENSE: Please see License Agreement *
# * DOWNLOAD: Free at www.rpi.edu/~anderk5 *
# * ADMINISTRATOR: Prof. Kurt Anderson *
# * Computational Dynamics Lab *
# * Rensselaer Polytechnic Institute *
# * 110 8th St. Troy NY 12180 *
# * CONTACT: anderk5@rpi.edu *
# *_________________________________________________________________________*/
SHELL = /bin/sh
# which file will be copied to Makefile.lammps
EXTRAMAKE = Makefile.lammps.empty
# ------ FILES ------
SRC_MAIN = workspace.cpp system.cpp poemsobject.cpp
INC_MAIN = workspace.h system.h poemsobject.h
SRC_BODY = body.cpp rigidbody.cpp particle.cpp inertialframe.cpp
INC_BODY = bodies.h body.h rigidbody.h particle.h inertialframe.h
SRC_JOINT = joint.cpp revolutejoint.cpp prismaticjoint.cpp sphericaljoint.cpp \
freebodyjoint.cpp body23joint.cpp mixedjoint.cpp
INC_JOINT = joints.h joint.h revolutejoint.h prismaticjoint.h sphericaljoint.h \
freebodyjoint.h body23joint.h mixedjoint.h
SRC_POINT = point.cpp fixedpoint.cpp
INC_POINT = points.h point.h fixedpoint.h
SRC_SOLVE = solver.cpp
INC_SOLVE = solver.h
SRC_ORDERN = onsolver.cpp onfunctions.cpp onbody.cpp
INC_ORDERN = onsolver.h onfunctions.h onbody.h
SRC_MAT = virtualmatrix.cpp matrix.cpp matrixfun.cpp mat3x3.cpp virtualcolmatrix.cpp \
colmatrix.cpp vect3.cpp virtualrowmatrix.cpp rowmatrix.cpp mat6x6.cpp vect6.cpp \
fastmatrixops.cpp colmatmap.cpp eulerparameters.cpp vect4.cpp norm.cpp mat4x4.cpp \
INC_MAT = matrices.h virtualmatrix.h matrix.h matrixfun.h mat3x3.h virtualcolmatrix.h \
colmatrix.h vect3.h virtualrowmatrix.h rowmatrix.h mat6x6.h vect6.h \
fastmatrixops.h colmatmap.h eulerparameters.h vect4.h norm.h mat4x4.h
SRC_MISC = poemstreenode.cpp
INC_MISC = poemslist.h poemstreenode.h poemstree.h poemsnodelib.h SystemProcessor.h defines.h POEMSChain.h
SRC = $(SRC_MAIN) $(SRC_BODY) $(SRC_JOINT) $(SRC_POINT) $(SRC_SOLVE) $(SRC_ORDERN) $(SRC_MAT) $(SRC_MISC)
INC = $(INC_MAIN) $(INC_BODY) $(INC_JOINT) $(INC_POINT) $(INC_SOLVE) $(INC_ORDERN) $(INC_MAT) $(INC_MISC)
FILES = $(SRC) $(INC) Makefile Authors_List.txt Grants_List.txt POEMS_License.txt README Copyright_Notice
# ------ DEFINITIONS ------
DIR = Obj_mingw64/
LIB = $(DIR)libpoems.a
OBJ = $(SRC:%.cpp=$(DIR)%.o)
# ------ SETTINGS ------
CC = x86_64-w64-mingw32-g++
CCFLAGS = -O2 -march=core2 -mtune=core2 -msse2 -mpc64 \
-ffast-math -funroll-loops -finline-functions -fno-rtti \
-fno-exceptions -fstrict-aliasing \
-Wall -W -Wno-uninitialized
ARCHIVE = x86_64-w64-mingw32-ar
ARCHFLAG = -rcs
DEPFLAGS = -M
LINK = x86_64-w64-mingw32-g++
LINKFLAGS = -O
USRLIB =
SYSLIB =
# ------ MAKE PROCEDURE ------
default: $(DIR) $(LIB)
$(DIR):
-mkdir $(DIR)
$(LIB): $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
@cp $(EXTRAMAKE) Makefile.lammps
# ------ COMPILE RULES ------
$(DIR)%.o:%.cpp
$(CC) $(CCFLAGS) -c $< -o $@
$(DIR)%.d:%.cpp
$(CC) $(CCFLAGS) $(DEPFLAGS) $< > $@
# ------ DEPENDENCIES ------
DEPENDS = $(OBJ:.o=.d)
# ------ CLEAN ------
clean:
-rm $(DIR)*.o $(DIR)*.d *~ $(LIB)
tar:
-tar -cvf ../POEMS.tar $(FILES)

View File

@ -0,0 +1,13 @@
# -*- makefile -*- wrapper for non-MPI libraries
SHELL=/bin/sh
all:
$(MAKE) $(MFLAGS) mingw64-cross
rm -f Obj_mingw64-mpi
ln -s Obj_mingw64 Obj_mingw64-mpi
clean:
$(MAKE) $(MFLAGS) clean-mingw64-cross
rm -f Obj_mingw64-mpi