I don’t know if my opinion is relevant as a basic/medium level LAMMPS user, but below are some of my comments.
any feedback is relevant. even from people that are frustrated or disappointed or content with how everything is. in fact, it has been quite a while since the last time I needed to wear my “asbestos underwear” for being flamed.
for example, we have almost 1500 subscribers on this mailing list, but only a small subset posts questions (and not necessary a representative subset), so it is very difficult for me to assess how the community thinks.
Thank you for all the support, developers!
- Operating and moderating the mailing list and the forum at the same time is not going to work forever as it requires duplication of efforts. What speaks for closing the mailing list, what is making the LAMMPS categories in the read-only forum and only use it as a mailing list archive?
While I prefer the mailing list for convenience, I think the forum support could get a lot better in places. In the forum, the user can sort the field of his question (installation, errors, software calculations… etc). In addition, the person asking the question could rate their level in LAMMPS to encourage other users (more experienced and non-developers) to also answer the questions. If possible to implement, a user question evaluation scheme (such as Stack Overflow, for example) could rate it in terms of the effort it would take to solve it, helping developers to focus their time on the most relevant questions.
Perhaps some background on this. MatSci uses the “Discourse” software, which was designed by some of the people that were originally working on the Stackexchange software that drives Stack overflow and a whole bunch of other, similar sites. The intention behind stackexchange was to have a framework that would be something like a living FAQ, i.e. redundant questions are discouraged and the purpose would be to have the community figure out the best solutions for the given problem (due to up/down voting) and gamify the process by rewarding people make contributions that get upvoted.
Discourse, on the other hand, was started because its programmers felt that the stackexchange environment would not be sufficiently inclusive and encourage more open discussions. Hence some of the design decisions (e.g. you have likes, but no dislikes) and a more conversation oriented layout and handling of topics.
That said, there are several categories created already (and we could add more), but also, everybody can attach one or more tags to each topic so it is possible to have things flagged to identify what it is about quickly.
- We need more participation from a larger number of LAMMPS users. Users with little experience should guide those new to LAMMPS, those with more experience should help those with less, and experts should focus on complicated topics or assist others to correct mistakes or provide additional insight. What could be done to encourage this? What are the reasons that people do not participate in discussions, even if they would know (part of) the answer?
I believe that this situation is not only exclusive to LAMMPS, I follow other mailing lists from other software and see the same characteristics: who end up answering users’ questions in most cases are developers.
I am a basic/medium level LAMMPS user, but I confess that I could help newer users with the most basic questions by answering, for example, in the mailing list. However, as a Ph.D. candidate my time has been limited as I have ended up devoting my time to studying subjects that were not initially scheduled (it is a personal matter).
Another point is that I see that some users do not make the slightest effort to seek solutions to their problems, this ends up discouraging me to dedicate my time to help. Using Google, for example, it is possible to find the causes and solutions for almost all simulation errors in LAMMPS through answers already provided in the email list in previous situations. This should be a basic action on the part of users, but I have no idea why it doesn’t.
It is tempting to look at it from that perspective, but over the years I have figured out that there are other ways to look at people asking “obvious” questions.
when people are new to the community (which is much easier to see in the forum, BTW), they should be given some more leeway and then - as time progresses and they should be able to solve more (simple) problems on their own and then one can educate them unless they improve their effort, the amount of help given will eventually drop off (and that may be the point when expert help would be needed the most since the “simple” problems are already solved).
I have learned not to ask “how much will the other person benefit?” or “does that person deserve me spending the effort?”, but rather “is there something that I can learn?” and the answer to that is quite frequently “yes”. Often there are little unexpected twists and details and even for the most trivial questions it is sometimes useful to recheck the documentation and make some tests of your own. Beginners are untainted and can question everything and sometimes it is useful to go back and make certain that you have the right explanations for basic questions.
you can improve the confidence in what you know. you can practice how to argue with and convince somebody. both of which are tremendously helpful to prepare for a career in science.
- LAMMPS has a large manual with lots of explanations and technical details, yet it seems that problems often arise because people don’t read enough of it, or have difficulties identifying the most relevant parts, or need more practical examples with explanations. What could be done by the LAMMPS community to improve this?
In fact, this tendency toward being lazy to seek information (even with its availability) is a recurrent feature in today’s world.
The first time I looked at the LAMMPS manual, I confess that I was startled by the large amount of information available, however, over time I got used to how to read it. Perhaps the look and the high amount of information discourage users from investigating their problems and looking for solutions. I don’t know how viable it would be to create a simpler version of the manual (teaching the user to look for information in the more complete manual available). In the manual, perhaps it could help if a FAQ (Frequently Asked Questions) were placed.
A FAQ is mostly “legwork”. But I can say from personal experience that it can be extremely educational to prepare one. And particularly people with some but not too much experience are in a much better position to do this than experienced LAMMPS users or developers. What is needed is to understand why the questions are asked frequently and that requires remembering when you asked them yourself. One effective method is to dig through the mailing list archive and look for “interesting” questions and then summarize the responses and possibly try to implement some of the solutions (i.e. try to invent inputs for the problems and then see first hand how the proposed solution(s) play out). I have done that when I was learning to use the CPMD software and has helped me enormously to learn how to use it well.
Nowadays, several LAMMPS tutorials can be found on youtube for new users (which include installation and basic simulations). When I started using LAMMPS 4 years ago, this type of content was more limited. In my opinion, promoting more this kind of content (videos) on the LAMMPS website itself can efficiently help new users, in addition to encouraging more experienced users to produce this kind of content (videos).
since the LAMMPS developers are rarely looking for tutorials on LAMMPS it would be important for this, that people recommend those that are worth sharing.
One of the easiest examples of tutorials to learn using LAMMPS for me was those by Mark A. Tschopp (https://icme.hpc.msstate.edu/mediawiki/index.php/LAMMPS_tutorials.html). I find that allocating tutorials on a page like this (wiki page) is more effective (for me) than presenting them in .pdf
mind you that page is unmaintained for years now. I recently found that there is a github page by the same author with updated versions (as jupyter notebooks) at: https://github.com/mrkllntschpp/lammps-tutorials
files or github links. Another way is the videos as previously mentioned (an example is the youtube channel LAMMPS Tube)
thanks for sharing your observations and suggestions.