lammps.py for Windows?

Paul,

Of course I remember you, thanks for the response! My need for Windows support is really limited to the dll. Based on Axel’s comments, I think perhaps our sysadmin and I can figure it out … eventually. But, thanks kindly for you input. Just out of curiosity, do you compile LAMMPS in VS or in one of the environments like Cygwin?

–Fred

Hi Fred

Neither :slight_smile: We compile LAMMPS for Windows using the Intel compilers, but using more or less normal Makefiles in the Cygwin environment. Unfortunately, while the Intel compilers on Windows used to accept command line arguments in both the Unix style and in the Windows style, Intel has been phasing out the Unix style on Windows, so it is increasingly difficult to keep similar Makefiles on Windows and Linux. Also the string length of the command line, including arguments, is relatively limited on Windows, so the approach of LAMMPS of naming all the source or object files as arguments to the compiler or linker does not work on Windows.

Hence I completely agree with Axel that compiling LAMMPS on Windows is a challenging task, and while it can be educational, after a while one gets enough education and just wants it to work. Though I haven’t tried it, I would suspect that Axel’s approach of cross-compiling or using MinGW is the easiest way. Our approach used to be quite straightforward, but has become quite difficult, though we have the advantage of having evolved along with the Intel compilers. Or perhaps we are the frog in the pot of heating water and don’t realize just how bad it has become :-).

Paul

MATERIALS DESIGN, INC.
6 First National Place / PO Box 2000 | Angel Fire, New Mexico 87710 | USA
Direct +1.760.495.4924, ext. 102 | Mobile +1.505.603.8182 | Fax +1.760.897.2179
[email protected] | www.materialsdesign.com

This email is covered by the Electronic Communications Privacy Act, 18 U.S.C. Section 2510-2521. This message and any attachments hereto may contain confidential information intended only for the use of the individual or entity named above. If you are not the intended recipient(s), or the employee or agent responsible for delivery of this message to the intended recipient(s), you are hereby notified that any dissemination, distribution or copying of this email message is strictly prohibited. If you have received this message in error, please immediately notify the sender and delete this email from your computer. The sender does not waive any privilege in the event this message was inadvertently disseminated.

MedeA® and Materials Design® are registered trademarks of Materials Design, Inc.

Hi Fred

Neither :slight_smile: We compile LAMMPS for Windows using the Intel compilers, but
using more or less normal Makefiles in the Cygwin environment.
Unfortunately, while the Intel compilers on Windows used to accept command
line arguments in both the Unix style and in the Windows style, Intel has
been phasing out the Unix style on Windows, so it is increasingly difficult
to keep similar Makefiles on Windows and Linux. Also the string length of
the command line, including arguments, is relatively limited on Windows, so
the approach of LAMMPS of naming all the source or object files as arguments
to the compiler or linker does not work on Windows.

Hence I completely agree with Axel that compiling LAMMPS on Windows is a
challenging task, and while it can be educational, after a while one gets
enough education and just wants it to work. Though I haven’t tried it, I
would suspect that Axel’s approach of cross-compiling or using MinGW is the
easiest way. Our approach used to be quite straightforward, but has become
quite difficult, though we have the advantage of having evolved along with
the Intel compilers. Or perhaps we are the frog in the pot of heating water
and don’t realize just how bad it has become :-).

hi paul,

at the moment, the reasonably portable and future-proof approach to
have a cross-platform build environment that includes windows and its
native compiler environment (be it VC++ or intel) is to switch to a
cmake based build system. but that is not likely to happen for LAMMPS
because cmake has multiple issues that are not steve-compatible. the
LIGGHTS folks have it easier, since they don't have to go through the
steve filter and have applications that do not require to run on
"exotic" high-end machines (and many more windows users).

if it wasn't so much of an initial effort to switch to either cmake or
automake, i would have done this already in LAMMPS-ICMS. automake
could be make steve-compatible, but we have over the last years
incrementally improved and simplified the existing build process so
much, that there is little benefit left. if you compare the number of
inquiries about compiling LAMMPS to what it was, say, five years ago,
there is a very marked difference... :wink:

axel.