git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@8602 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -23,28 +23,26 @@ LMPDPTR = 3
|
|||||||
LMPDPTRPTR = 4
|
LMPDPTRPTR = 4
|
||||||
|
|
||||||
class lammps:
|
class lammps:
|
||||||
def __init__(self,args=None):
|
def __init__(self,name="",cmdlineargs=None):
|
||||||
|
|
||||||
# attempt to load parallel library first, serial library next
|
# load liblmp.so by default
|
||||||
# could provide caller a flag to choose which library to load
|
# if name = "g++", load liblmp_g++.so
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.lib = CDLL("_lammps.so")
|
if not name: self.lib = CDLL("liblmp.so")
|
||||||
|
else: self.lib = CDLL("liblmp_%s.so" % name)
|
||||||
except:
|
except:
|
||||||
try:
|
raise OSError,"Could not load LAMMPS dynamic library"
|
||||||
self.lib = CDLL("_lammps_serial.so")
|
|
||||||
except:
|
|
||||||
raise OSError,"Could not load LAMMPS dynamic library"
|
|
||||||
|
|
||||||
# create an instance of LAMMPS
|
# create an instance of LAMMPS
|
||||||
# don't know how to pass an MPI communicator from PyPar
|
# don't know how to pass an MPI communicator from PyPar
|
||||||
# no_mpi call lets LAMMPS use MPI_COMM_WORLD
|
# no_mpi call lets LAMMPS use MPI_COMM_WORLD
|
||||||
# cargs = array of C strings from args
|
# cargs = array of C strings from args
|
||||||
|
|
||||||
if args:
|
if cmdlineargs:
|
||||||
args.insert(0,"lammps.py")
|
cmdlineargs.insert(0,"lammps.py")
|
||||||
narg = len(args)
|
narg = len(cmdlineargs)
|
||||||
cargs = (c_char_p*narg)(*args)
|
cargs = (c_char_p*narg)(*cmdlineargs)
|
||||||
self.lmp = c_void_p()
|
self.lmp = c_void_p()
|
||||||
self.lib.lammps_open_no_mpi(narg,cargs,byref(self.lmp))
|
self.lib.lammps_open_no_mpi(narg,cargs,byref(self.lmp))
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user