Skip to content

[WIP] Lammps support#319

Open
jhprinz wants to merge 24 commits into
openpathsampling:masterfrom
jhprinz:lammps
Open

[WIP] Lammps support#319
jhprinz wants to merge 24 commits into
openpathsampling:masterfrom
jhprinz:lammps

Conversation

@jhprinz

@jhprinz jhprinz commented Oct 5, 2015

Copy link
Copy Markdown
Contributor

This is part of future stuff, but I thought to give it a little try. Apparently there is a python API for lammps that could make all of this extremely simple. Lammps Python Docs

So far no luck in installing Lammps but I will figure it out eventually...

@jhprinz jhprinz added this to the Future milestone Oct 5, 2015
@jhprinz

jhprinz commented Oct 6, 2015

Copy link
Copy Markdown
Contributor Author

Woohoo... Created an engine today. Seems that it is not so difficult to use our framework at all...

I ran a 1000 steps trajectory of a simple LJ Fluid for testing. Still some subtleties to figure out, but we might interest a lot of people once lammps is supported. Not sure how to really test this since I have so clue on how to properly use lammps... Means we might need someone that has used lammps before.

@jhprinz

jhprinz commented Oct 13, 2015

Copy link
Copy Markdown
Contributor Author

Alright, this failed because we need to install lammps, which I think need some time to figure out how to install in travis. On my machine it passes though...

@dwhswenson

Copy link
Copy Markdown
Member

Alright, this failed because we need to install lammps, which I think need some time to figure out how to install in travis.

Is there a reason not to use the pre-built Ubuntu package? I mean, it would be nice to get away from using sudo and onto Travis's newer architectures, but we're already using sudo to get conda, right?

@jhprinz

jhprinz commented Nov 17, 2015

Copy link
Copy Markdown
Contributor Author

I don't think so. I did not look for this. installation on OS X was a little tricky due to me updating to El Capitain and my mix of homebrew and macports installations.

@jhprinz

jhprinz commented Nov 18, 2015

Copy link
Copy Markdown
Contributor Author

does not seem to work. The installable binary does not include python wrappers...

@dwhswenson

Copy link
Copy Markdown
Member

:-( Oh well, it was an idea worth trying. There may be a way to get the python wrappers separately?

This is milestoned for "future" anyway, but I would have been happier to see fewer red Xs in the list of PRs. That was my main reason for hoping this would be a quick and easy fix!

@jhprinz

jhprinz commented Nov 18, 2015

Copy link
Copy Markdown
Contributor Author

The idea was great and installing was extremely easy. Three lines in install.sh and it installed pretty fast.
There is just no python package available. It could be that you can do this separately, but I do not know how to do that.

@jhprinz

jhprinz commented Nov 24, 2015

Copy link
Copy Markdown
Contributor Author

This is ready to be reviewed although it can take a while. All it does is create an engine that takes a Lammps script and extracts Snapshot objects. It contains a simple test notebook. Note that so far we cannot have automatic traivs testing since the binary of lammps does not contain Python support!

@jhprinz jhprinz changed the title [WIP] Lammps support [REVIEW] Lammps support Nov 24, 2015
@dwhswenson

Copy link
Copy Markdown
Member

The code looks fine, but it is currently kind of ghost code: it isn't actually imported in the __init__.

I don't want to merge this until we have working tests for it. With working tests, we can count on Travis to warn us of any problems due to changes in LAMMPS before they start causing problems for our users.

Also, I think this is a good place to figure out how to deal with "optional" external packages. My suggestion: In __init__.py

try:
    import lammps
except ImportError:
    pass # maybe raise a quiet warning about LAMMPS not available?
else:
    from lammps_engine import LammpsEngine

@jhprinz

jhprinz commented Nov 25, 2015

Copy link
Copy Markdown
Contributor Author

Yes, it is not meant to be merged. I just wanted you to have a look. We definitely need to make this work with travis, but potetially not in the main branch since building lamps could take a while.

@dwhswenson

Copy link
Copy Markdown
Member

Okay -- I'll remove my assignment for now. My comment above says what I had to say, and there's nothing more for me to do right now.

It looks like the Ubuntu package might not even have the shared lib included. We may have to roll our own library-based installer -- at that point, it would probably be worth looking to making it conda installable. But that also makes it a much lower priority.

@dwhswenson dwhswenson removed their assignment Nov 25, 2015
@dwhswenson dwhswenson mentioned this pull request May 13, 2016
5 tasks
@dwhswenson dwhswenson modified the milestones: 1.x, Future Jun 23, 2016
@jhprinz jhprinz changed the title [REVIEW] Lammps support [WIP] Lammps support Jun 23, 2016
@jhprinz jhprinz changed the title [WIP] Lammps support Lammps support Jun 26, 2016
@jhprinz

jhprinz commented Jul 13, 2016

Copy link
Copy Markdown
Contributor Author

There were some issues on merge. Apparently it took parts of the old openmm engine. I probably need to fix this some other way... But not now...

@jhprinz jhprinz changed the title Lammps support [WIP] Lammps support Jul 13, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants