Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • May 01 11:54

    github-actions[bot] on v1.5.5-sync2022-05-01

    (compare)

  • May 01 11:54

    github-actions[bot] on master

    Scheduled sync of lammps_vscode… 1.5.5 (compare)

  • Apr 01 15:41

    dependabot[bot] on npm_and_yarn

    (compare)

  • Apr 01 15:41

    ThFriedrich on master

    Bump ansi-regex from 3.0.0 to 3… Merge pull request #38 from ThF… (compare)

  • Apr 01 15:41
    ThFriedrich closed #38
  • Apr 01 15:39

    ThFriedrich on master

    Fix addition of linked commands… Merge branch 'master' of https:… (compare)

  • Apr 01 11:54
    dependabot[bot] labeled #38
  • Apr 01 11:54
    dependabot[bot] opened #38
  • Apr 01 11:54

    dependabot[bot] on npm_and_yarn

    Bump ansi-regex from 3.0.0 to 3… (compare)

  • Apr 01 11:54

    github-actions[bot] on v1.5.4-sync2022-04-01

    (compare)

  • Apr 01 11:54

    github-actions[bot] on master

    Scheduled sync of lammps_vscode… 1.5.4 (compare)

  • Mar 28 09:06

    dependabot[bot] on npm_and_yarn

    (compare)

  • Mar 28 09:06

    ThFriedrich on master

    Bump plist from 3.0.4 to 3.0.5 … Merge pull request #37 from ThF… (compare)

  • Mar 28 09:06
    ThFriedrich closed #37
  • Mar 28 09:04
    dependabot[bot] labeled #37
  • Mar 28 09:04
    dependabot[bot] opened #37
  • Mar 28 09:04

    dependabot[bot] on npm_and_yarn

    Bump plist from 3.0.4 to 3.0.5 … (compare)

  • Mar 28 09:04

    dependabot[bot] on npm_and_yarn

    (compare)

  • Mar 28 09:04

    ThFriedrich on master

    Bump minimist from 1.2.5 to 1.2… Merge pull request #36 from ThF… (compare)

  • Mar 28 09:04
    ThFriedrich closed #36
Arnaud Allera
@arn-all
Hi Thomas, I just came up with an idea.
I think it might be useful to have some (live) plotting capabilities of the data saved by LAMMPS in the course of a simulation from within VSCode. I would typically enjoy opening a LAMMPS log file, hit a button and get a simple graph of any thermo output I like, so I can watch its progression without bringing along a script of my own. I'm also thinking of having it running remotely thanks to VSCode SSH capabilities, so I can watch the live evolution of my simulation very easily. Being able to plot NEB energy barriers would also be pretty handy.
That all sounds like a bit of work, and some new dependencies (something like plotly.js or chart.js ?). Does it sound relevant for the extension ? Would you be interested by such a feature ?
I'd be happy to dig a bit more and post an issue if you are interested :)
Thomas Friedrich
@ThFriedrich
Hi Arnaud!
Thanks a lot for sharing your thoughts. I love the idea! :) I think it's also super relevant because I guess many people are actually running Lammps remote on some kind of cluster, server or whatever. Live plotting would be an amazing feature. I think we could actually create an interactive live panel through the webview-api. We'd need to have it pointing at some log-file (or maybe also dump-file to inspect structures?) and then have the user select what to plot. Since the log-output is very customisable, I reckon we'd need a flexible interface. When choosing a plot-package we should probably keep that in mind. It seems though as most packages allow for some kind of interactive interface.
Thomas Friedrich
@ThFriedrich
I'd be happy to work with you on that. :) Feel free to post an issue. Since there's now an github-action schedule in place for automated synchronization and publishing of the master branch, we should work on that feature in a new branch I guess.
Arnaud Allera
@arn-all
Okay, I'll post an issue :)
The idea of a fully featured dashboard in a webview panel sounds great, I'll detail some feature requests in the issue ! We can discuss then what seems easily feasible with JS & VSCode ecosystems.
I'm not sure about displaying atoms positions in VSCode.. It seems less relevant to me because just seeing the atoms is often not enough, users will probably need some kind of topological/geometrical/crystals/molecules analysis that are better found in dedicated softwares. Implementing them here sounds really complex.
Arnaud Allera
@arn-all
Thomas Friedrich
@ThFriedrich
Thomas Friedrich
@ThFriedrich
I was looking at different plot-packages already and I think plotly.js is the most versatile package and seems fairly easy to use. I played around with it a bit and prepared a webview interface (essentially the same as the documentation webview) which can run scripts and receive data. That way we could now focus on designing the panel. This is now in principle like designing a html-webpage...
Thomas Friedrich
@ThFriedrich
I pushed the state I am at now to a new branch. It's a bit messy. I'll try and beutify and comment it out a bit later. But in principle thats very basically how it could work. Most of the work here is done in the file:
https://github.com/ThFriedrich/lammps_vscode/blob/interactive_plot_panel/src/plot_fcns.ts
plots.gif
Arnaud Allera
@arn-all
It looks great, I'm really impressed ! And thanks for the gif demo.
I'll pull the changes and try to play around with it
Arnaud Allera
@arn-all
I managed to get it, up and running (hadn't played with it in a while !). It definitely works smoothly; I'm now very confident in the idea of a dashboard.
As I'm definitely not a JS expert, what I can do for now is look at how read_log_data() could extract more information from logfiles (number of atoms, groups, whatever...), and propose regex and strategies to make it more flexible ?
Thomas Friedrich
@ThFriedrich
That'd be great! The RegEx I put there is now picking up all tab-delimited blocks basically. It may not be very robust (e.g. I am not sure whether it actually works for all cases and it picks up some wrong lines as well it seems). As you say, there's a lot more usefule information in the logs as well we should extract if possible. So there's indeed much to do on the reading log-files part. I'd be great if you could look at these things. :)
Arnaud Allera
@arn-all

I just finished writing Python code to parse Lammps logfiles. It is able to :

  • Identify the different computational steps of a lammps execution (based on run, NEB and minimize commands)
  • Find & store the parameters used for each step
  • Extract the tabulated results incrementally

This is much of a 'prototype' to validate the algorithm and regexes.
I tried to write something easily portable to JS. It is not very robust though and will require some error handling.
I guess it would be good practice to also write a set of tests based on lammps examples later.