If you are just starting with LAMMPS (or LIGGGHTS), the documentation is a nightmare. The documentation is complete, but you can't figure out where to start from an alphabetical list of hundreds of commands. Your tutorial solves this problem. One suggestion: Next time you make a video, please raise the volume a bit. Anyway, Thank you!! Now, on to the next tutorial.
Thanks for the feedback! And, you are right. It is difficult to get started with LAMMPS because of how powerful it is - and how unstructured the input file is. I'm glad this could be helpful!
thanks for the videos. They are very helpful. could you tell how to get potential files for the compounds(ZrB2) that are not available in LAMMPS library
Melting 1. Set the initial configuration of the nanopowder in three versions: A) an ordered system in which titanium nanoparticles of identical sizes (from 5 to 20 nm) are located at the nodes of the cubic lattice (up to 64). 😎 at lattice sites of fcc (two embedded cubic sublattices). C) randomly distributed particles of random sizes. To relax at 300 K and 0 bar for 100 ps. 2. Heat from 300 to 2500 K for times of 50, 100, 200, 500 ps. Calculate the surface area of the particles (construct surface mesh) and the fraction of the initial area -> the conclusion about the efficiency of fusion / sintering. 3. Cool then 2500 to 300 K. Then apply uniaxial simple stretching and determine the yield strength and tensile strength. Compare with a monolithic sample of titanium. Compacting 1 === 2. Compress uniaxially with a constant strain rate of 10, 1 and 0.1 / ns until the pores disappear. Calculate the surface area of the particles (construct surface mesh) and the fraction of the initial area -> the conclusion about the efficiency of fusion / sintering. 3. Apply a uniaxial simple stretching and determine the yield strength and tensile strength. Compare with a monolithic sample of titanium.
Thanks! I don't actually have an informed recommendation for powder flow simulations because I have not done them myself. However, I believe LAMMPS is capable of it, and there is a modified version of the code, LIGGGHTS, that specializes in it. If I were to try to run a powder flow sim, that's where I would start.
Hello Great, well designed and informative videos! I was wondering how we could add two kinds of atoms/molecules in the simulation box. Could you please help me with that? Also, how do we introduce a molecule instead of an atom in the simulation box?
Hello! Thank you and thanks for watching! That is a great question, and making a video on simulating multi-element systems is definitely on my list. Unfortunately, the summer has simply proven to be too busy. But, the concept is actually pretty simple! There is a tutorial here (icme.hpc.msstate.edu/mediawiki/index.php/LAMMPS_Relaxed_Bi-layer) that you can follow for a metal bilayer. Note that this tutorial uses an EAM potential rather than the more robust MEAM potential. Similarly, you can follow this tutorial (icme.hpc.msstate.edu/mediawiki/index.php/LAMMPS_reactive_deformation_of_a_single_polyethylene_chain) for an all-atom polymer chain simulation. Other molecules can be defined in the same way. I hope this helps! And, hopefully I will soon be able to make a video on this topic.
I'd be very interested in that video. Also, how do I find the different possible values for pair_coeff? I was for example, trying to find the appropriate value to simulate gold atoms which are under LJ potential with a cutoff of 3.0 nm
That is actually a difficult question. I would try searching around online - you might find something from previous literature of someone who has used the LJ potential for gold. However, be careful what you simulate with the LJ potential. It is a very basic pair potential and cannot capture many material effects. It is a good potential to prototype a simulation, but should only be a last resort for metal. Another possibility, though I have not tried this myself with an LJ potential, is to generate some DFT data and fit the LJ potential yourself. This data is very easy to generate, you can see my video on using Quantum Espresso to do something like that.
I must apologise for asking too many questions lol. I'm trying to learn to use lammps on my own, to develop a system which simulates evaporation. I just wanted to make sure that the system that I created is right, without the various processes . So, how do I create a dump file with which I'm able to see the structure of the system that I created, without any other detail in VMD or OVITO? Also, could you suggest me resources to learn the use of lammps which is more related to chemical engineering?
No problem! I am happy to help. If you just want to see the structure of your model from a dump file, you can assign any potential you want to your atoms, setup a dump command like I do in this script, and then do something like "run 0" - rather than running it for some number of timesteps. It will output the dump file without simulating any time. If you don't necessarily care about the "dump" format, you can also use the "write_data" (lammps.sandia.gov/doc/write_data.html) command, which will also write a data file that can be read by OVITO (at least, I am not sure about VMD). Unfortunately, I don't know of too many other resources for lammps. But, if you look at the example problems that are shipped with lammps, there may be something more helpful. Other than that, the best I can suggest is some web searches looking for literature on simulations that have already been done. Sorry I can't be of more help in this regard. But, if you do find a good resource, let me know so I can pass it on to others who have similar questions!
Hey, your video is great. currently, I am using materials studio for my molecular simulation work, but I want to use LAMMPS. I have installed the setup, but I dont find the executable file anywhere in my windows menu. After reading some blogs, I found to install the mpich2.msi file followed by the smpd.exe from command menu. but still, I dont understand where I will get the executable file. plz help me out of this.
Thanks for watching! This is actually a common problem. The executables will not show up in the start menu. You can find them in the installation directory under "bin". You will have to run it from the command line anyway.
Thanks for replying. And one more thing I wanna say, since I am new to this field, I need more tutorials. In your channel I found very limited videos. I must say keep uploading more videos, which will be very helpful for beginners like me. Is there any other source, that I can learn from ??
+susant kumar Thanks! I do plan on making more, and I am open to suggestions for topics. As far as other tutorials, there is not a ton of them, as you may have noticed. But, there is a website that has some links and some examples: icme.hpc.msstate.edu Then click on "Nanoscale" on to bar on the left. You should see some lammps resources.
Thanks for watching! The orient commands specify the direction (in cartesian space) of the axes. For example, x 0 1 0, means that the local x-axis of the crystal structure is pointing along the global Y-axis.
Usually this is because LAMMPS can't find your potential file. Checkout one of my recent videos on Installing LAMMPS from scratch - it might help. Essentially though, you need to have the potential file in the folder that you are running, or have an environment variable set that points LAMMPS to the potential files. Or, you can put in the full path in your input file.
Hi sir I have a small problem I jave implement lj potential in python for that I should have a array of atom positions which is surrounded by a average of 265 atoms I don't how to implement someone told me I have to download atom positions from LAMMPS software and code but I don't know how to get atom positions help me in this sir Thank you
Hello! So, I don't think I fully understand the question. You can generate atom positions yourself if you know some information about what state they are in. Are you trying to implement an lj potential for small systems just in python?
Hi sir please open in this paper A Preliminary Study of Neural Network-based Approximation for HPC Applications And see the section lj potential lammps I have to implement it
Hello, first of all your videos are extremely helpfull. I was wondering if you could help me with an error that occures during the compilation. Eventhought I have done everything as you suggest on your videos, there seems to be a problem with the meam directory. Every time I try to run the executable this shows up: "ERROR on proc 0: Cannot open MEAM potential file Cu.meam". Is there any way I can fix this? Thank you for your time.
+SunburstMinded Thanks for watching! I am glad you have found them helpful. So, it looks like from your error, you don't have the copper parameter file. One thing you should be able to do is look in the folder of your distribution of lammps. You should see a folder named "potentials" or something similar. Inside that folder you should find the "Cu.meam" file. Copy that file to the folder that you are running your simulations from. You may run into the same problem with the "Cu.library.meam" or "library.meam" - you can fix it the same way if you do have that problem.
I managed to fix everything and now the simulation works propertly. Is it possible to make a video in order to explain how can somebody create molecules and bonds with LAMMPS
Great! I am glad to hear it is working. Unfortunately, organic materials are not my area of research, but I would love to have a guest on my channel create something like that! In the meantime, I included a link that has an example of doing an MD simulation of PE in LAMMPS. icme.hpc.msstate.edu/mediawiki/index.php/Deformation_of_Amorphous_Polyethylene If you look into the datafile on this page, you can see the format of molecules and bonds in a LAMMPS atom file. However, most researchers I know use Materials Studio to create these structures. (accelrys.com/products/collaborative-science/biovia-materials-studio/) If you find a free alternative, let me know!! Thanks!
Thanks. Very useful video for beginners. However, I can not find any input files on EVOCD working on my Windows OS. Any idea from the report below? Thanks. ------------------------------------------------------------------------------------------------------------------------------------------ D:\Xiaopu\LAMMPS>lmp_serial -in in.gb LAMMPS (27 Nov 2018) OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:87) using 1 OpenMP thread(s) per MPI task Total wall time: 0:00:00 ------------------------------------------------------------------------------------------------------------------------------------------
Thanks for watching! From what I can tell from your output, it is working. There are no error messages, but it also seems like the input script doesn't have much in it. See if it created a log file (maybe something like "log.lammps"?) - it may have written more output into that file.
Hello! Thanks for watching! There are quite a few different things that could be causing this error. Could you reply with the code you have for setting up your MEAM potential? Essentially, LAMMPS can't find the element that you are asking it to find. I would make sure that the library file actually has the element.
Usually these types of errors are due to small typos (I know from my own experience!). If you are still having this issue, can you paste the line you have for the pair coefficients command?
Hello, Thanks for the great video and explanation. I have tried to run the same simulation and I have been getting this error ERROR: Incorrect args for pair coefficients (../pair_meam.cpp:382) Last command: pair_coeff **library.meam ${material} ${material}.meam {material}. Can you please help me to fix this error. Thanks in advance
+Lakshmikanth Srinivasamurthy Thanks for watching! Based on the error, it looks like you might have a typo on your "pair_coeff" line. Make sure that you have spaces around the *. These are basically saying that you will be using this potential between all of the atoms of all types. Also make sure you have a "$" before the curly braces "{}". That tells LAMMPS that it is a variable name - it looks like you may be missing one on your last "${material}". I hope this helps!
Hello! Thanks for watching! So, I am not positive what you're asking. But, you should look into the "wall" commands in the LAMMPS documentation. There are some wall styles that will "reflect" atoms that try to pass through the wall, and there are others that will put a force on the atoms. You may find something there!
Hi this is Harsha I am doing my PhD and I am a civil engineer and I have a lot of doubts, is there by any chance that I can talk to u in person and explain my problem. If u want to charge for ur time also it's ok but I need some one who can help me in this. I want some experts help to complete my PhD. Hope you can understand and I am serious and eagerly waiting for your reply.
Hello Harsha! Thanks for watching! I would be glad to help you out if I can, but I am also just working on my PhD, so I don't think that I am an expert yet myself. But, if you can describe your question for me, I would be glad to help any way I can!
thanks man thank you very much, Can I talk with you by Skype, or through chat so I can explain my problem more clearly. I want to do tensile load test for a unit cell.
I definitely agree! I usually use windows in these tutorials because it seems like most people end up using windows - this way I run into more of the errors that they will likely run into. But, when I am doing it for my own research, it is always on Linux. That said, I was able to get it to work in this tutorial on Windows 10. Did it give you an error message?
Hi, thanks yes- ''cannot open lammps for writing /lampps.cpp:296'' after I downloaded ubuntu in windows with bash command and it works The problem is where the linux files are saved in windows 10? and I am trying to learn the bash command in linux......... Thanks for the examples you post
These videos are amazing resources. Cannot express how much I appreciate. Thanks!
If you are just starting with LAMMPS (or LIGGGHTS), the documentation is a nightmare. The documentation is complete, but you can't figure out where to start from an alphabetical list of hundreds of commands. Your tutorial solves this problem.
One suggestion: Next time you make a video, please raise the volume a bit.
Anyway, Thank you!! Now, on to the next tutorial.
Thanks for the feedback! And, you are right. It is difficult to get started with LAMMPS because of how powerful it is - and how unstructured the input file is. I'm glad this could be helpful!
Thank you so much. Please make more such videos for explanation of other tutorials given on ICME website.
Great explanation. It's much clearer for me now, thank you so much!
pair_coeff have changed their input format?
thanks for the videos. They are very helpful.
could you tell how to get potential files for the compounds(ZrB2) that are not available in LAMMPS library
The download links for lammps are down, could any of you share the windows installer with me? :D
Melting
1. Set the initial configuration of the nanopowder in three versions:
A) an ordered system in which titanium nanoparticles of identical sizes (from 5 to 20 nm) are located at the nodes of the cubic lattice (up to 64).
😎 at lattice sites of fcc (two embedded cubic sublattices).
C) randomly distributed particles of random sizes.
To relax at 300 K and 0 bar for 100 ps.
2. Heat from 300 to 2500 K for times of 50, 100, 200, 500 ps. Calculate the surface area of the particles (construct surface mesh) and the fraction of the initial area -> the conclusion about the efficiency of fusion / sintering.
3. Cool then 2500 to 300 K. Then apply uniaxial simple stretching and determine the yield strength and tensile strength. Compare with a monolithic sample of titanium.
Compacting
1 ===
2. Compress uniaxially with a constant strain rate of 10, 1 and 0.1 / ns until the pores disappear. Calculate the surface area of the particles (construct surface mesh) and the fraction of the initial area -> the conclusion about the efficiency of fusion / sintering.
3. Apply a uniaxial simple stretching and determine the yield strength and tensile strength. Compare with a monolithic sample of titanium.
mohammad abbas please u can help me
What if I want to measure a semiconductor? what units do I choose?
Hello. I want to calculate scattering function for a system colloidal. Please help me for this
Amazing explanation Sir, please can i get your input script?
Great video! What software do you recommend for powder flow?
Thanks! I don't actually have an informed recommendation for powder flow simulations because I have not done them myself. However, I believe LAMMPS is capable of it, and there is a modified version of the code, LIGGGHTS, that specializes in it. If I were to try to run a powder flow sim, that's where I would start.
thanks. you teach great. and what a soothing voice
How to set output from dump commnad of comupte quantities like msd vacf rdf
how to change the number density of particle in the simulation box?
can you tell me how to write input file for hcp lattice
Hello! I want to simulate a nucleic acid molecule so will you please tell me how we set up an input script for it?
Why are you not use mass of copper atom i. e mass 1 (mass of cu)
@EnCodeVentor do you have any recommended text editors for LAMMPS?
Your video are great..
Please kindly do a tutorial video on four or five elements using lj potential
Fantastic stuff. Thanks so much, this is so helpful!
Hello, I am new in MD I want to this software to simulate water Ca ion system i need your help
Hello
Great, well designed and informative videos!
I was wondering how we could add two kinds of atoms/molecules in the simulation box. Could you please help me with that? Also, how do we introduce a molecule instead of an atom in the simulation box?
Hello! Thank you and thanks for watching! That is a great question, and making a video on simulating multi-element systems is definitely on my list. Unfortunately, the summer has simply proven to be too busy. But, the concept is actually pretty simple! There is a tutorial here (icme.hpc.msstate.edu/mediawiki/index.php/LAMMPS_Relaxed_Bi-layer) that you can follow for a metal bilayer. Note that this tutorial uses an EAM potential rather than the more robust MEAM potential.
Similarly, you can follow this tutorial (icme.hpc.msstate.edu/mediawiki/index.php/LAMMPS_reactive_deformation_of_a_single_polyethylene_chain) for an all-atom polymer chain simulation. Other molecules can be defined in the same way.
I hope this helps! And, hopefully I will soon be able to make a video on this topic.
I'd be very interested in that video.
Also, how do I find the different possible values for pair_coeff?
I was for example, trying to find the appropriate value to simulate gold atoms which are under LJ potential with a cutoff of 3.0 nm
That is actually a difficult question. I would try searching around online - you might find something from previous literature of someone who has used the LJ potential for gold. However, be careful what you simulate with the LJ potential. It is a very basic pair potential and cannot capture many material effects. It is a good potential to prototype a simulation, but should only be a last resort for metal.
Another possibility, though I have not tried this myself with an LJ potential, is to generate some DFT data and fit the LJ potential yourself. This data is very easy to generate, you can see my video on using Quantum Espresso to do something like that.
I must apologise for asking too many questions lol. I'm trying to learn to use lammps on my own, to develop a system which simulates evaporation. I just wanted to make sure that the system that I created is right, without the various processes .
So, how do I create a dump file with which I'm able to see the structure of the system that I created, without any other detail in VMD or OVITO?
Also, could you suggest me resources to learn the use of lammps which is more related to chemical engineering?
No problem! I am happy to help.
If you just want to see the structure of your model from a dump file, you can assign any potential you want to your atoms, setup a dump command like I do in this script, and then do something like "run 0" - rather than running it for some number of timesteps. It will output the dump file without simulating any time. If you don't necessarily care about the "dump" format, you can also use the "write_data" (lammps.sandia.gov/doc/write_data.html) command, which will also write a data file that can be read by OVITO (at least, I am not sure about VMD).
Unfortunately, I don't know of too many other resources for lammps. But, if you look at the example problems that are shipped with lammps, there may be something more helpful. Other than that, the best I can suggest is some web searches looking for literature on simulations that have already been done. Sorry I can't be of more help in this regard. But, if you do find a good resource, let me know so I can pass it on to others who have similar questions!
great job , really appreciate it
Thank for this video.
I have a problem with my code. it is about interaction laser pulse and cluster.how can I connect with you for sharing that code?
Are you trying to model a laser interaction on an atomic system in LAMMPS? It sounds like an interesting problem.
Hey, your video is great. currently, I am using materials studio for my molecular simulation work, but I want to use LAMMPS. I have installed the setup, but I dont find the executable file anywhere in my windows menu. After reading some blogs, I found to install the mpich2.msi file followed by the smpd.exe from command menu. but still, I dont understand where I will get the executable file. plz help me out of this.
Thanks for watching! This is actually a common problem. The executables will not show up in the start menu. You can find them in the installation directory under "bin". You will have to run it from the command line anyway.
Thanks for replying. And one more thing I wanna say, since I am new to this field, I need more tutorials. In your channel I found very limited videos. I must say keep uploading more videos, which will be very helpful for beginners like me.
Is there any other source, that I can learn from ??
+susant kumar Thanks! I do plan on making more, and I am open to suggestions for topics. As far as other tutorials, there is not a ton of them, as you may have noticed. But, there is a website that has some links and some examples: icme.hpc.msstate.edu Then click on "Nanoscale" on to bar on the left. You should see some lammps resources.
What would orient x 010 mean and how would it change the other orient y and orient z? Is it just axis rotation? Need a little clarification
Thanks for watching! The orient commands specify the direction (in cartesian space) of the axes. For example, x 0 1 0, means that the local x-axis of the crystal structure is pointing along the global Y-axis.
Thanks for the prompt response. I highly appreciate it
Please, how do I fix this error? "ERROR on proc 0: Cannot open EAM potential file Al99.eam.alloy (../pair_eam_alloy.cpp:131)
Usually this is because LAMMPS can't find your potential file. Checkout one of my recent videos on Installing LAMMPS from scratch - it might help. Essentially though, you need to have the potential file in the folder that you are running, or have an environment variable set that points LAMMPS to the potential files. Or, you can put in the full path in your input file.
Hi sir I have a small problem I jave implement lj potential in python for that I should have a array of atom positions which is surrounded by a average of 265 atoms I don't how to implement someone told me I have to download atom positions from LAMMPS software and code but I don't know how to get atom positions help me in this sir
Thank you
Hello! So, I don't think I fully understand the question. You can generate atom positions yourself if you know some information about what state they are in. Are you trying to implement an lj potential for small systems just in python?
Hi sir please open in this paper A Preliminary Study of Neural Network-based Approximation for HPC Applications
And see the section lj potential lammps I have to implement it
Hello, first of all your videos are extremely helpfull. I was wondering if you could help me with an error that occures during the compilation. Eventhought I have done everything as you suggest on your videos, there seems to be a problem with the meam directory. Every time I try to run the executable this shows up: "ERROR on proc 0: Cannot open MEAM potential file Cu.meam". Is there any way I can fix this?
Thank you for your time.
Also if I use string variabe ${material} this error shows up: "ERROR on proc 0: Substitution for illegal variable (../imput.cpp:533) "
+SunburstMinded Thanks for watching! I am glad you have found them helpful. So, it looks like from your error, you don't have the copper parameter file. One thing you should be able to do is look in the folder of your distribution of lammps. You should see a folder named "potentials" or something similar. Inside that folder you should find the "Cu.meam" file. Copy that file to the folder that you are running your simulations from. You may run into the same problem with the "Cu.library.meam" or "library.meam" - you can fix it the same way if you do have that problem.
I managed to fix everything and now the simulation works propertly. Is it possible to make a video in order to explain how can somebody create molecules and bonds with LAMMPS
Great! I am glad to hear it is working.
Unfortunately, organic materials are not my area of research, but I would love to have a guest on my channel create something like that!
In the meantime, I included a link that has an example of doing an MD simulation of PE in LAMMPS. icme.hpc.msstate.edu/mediawiki/index.php/Deformation_of_Amorphous_Polyethylene
If you look into the datafile on this page, you can see the format of molecules and bonds in a LAMMPS atom file. However, most researchers I know use Materials Studio to create these structures. (accelrys.com/products/collaborative-science/biovia-materials-studio/)
If you find a free alternative, let me know!! Thanks!
I'd be very interested in such a video. Thank you for your help!
Great job ty for video.
Thanks. Very useful video for beginners. However, I can not find any input files on EVOCD working on my Windows OS. Any idea from the report below? Thanks.
------------------------------------------------------------------------------------------------------------------------------------------
D:\Xiaopu\LAMMPS>lmp_serial -in in.gb
LAMMPS (27 Nov 2018)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:87)
using 1 OpenMP thread(s) per MPI task
Total wall time: 0:00:00
------------------------------------------------------------------------------------------------------------------------------------------
Thanks for watching! From what I can tell from your output, it is working. There are no error messages, but it also seems like the input script doesn't have much in it. See if it created a log file (maybe something like "log.lammps"?) - it may have written more output into that file.
Hello
I am getting an error: "Did not find all elements in the meam library file".
Please help me to resolve this.
Hello! Thanks for watching! There are quite a few different things that could be causing this error. Could you reply with the code you have for setting up your MEAM potential? Essentially, LAMMPS can't find the element that you are asking it to find. I would make sure that the library file actually has the element.
i always have this issue when i run my lammps script ..it always says incorrect args for pair potential ...illd appreciate any help on this issue
Usually these types of errors are due to small typos (I know from my own experience!).
If you are still having this issue, can you paste the line you have for the pair coefficients command?
Your videos are great, can you make more on LAMMPS ? thanks btw
Hello,
Thanks for the great video and explanation. I have tried to run the same simulation and I have been getting this error
ERROR: Incorrect args for pair coefficients (../pair_meam.cpp:382)
Last command: pair_coeff **library.meam ${material} ${material}.meam {material}.
Can you please help me to fix this error.
Thanks in advance
I have fixed the error. Thanks for great video.
+Lakshmikanth Srinivasamurthy Thanks for watching! Based on the error, it looks like you might have a typo on your "pair_coeff" line. Make sure that you have spaces around the *. These are basically saying that you will be using this potential between all of the atoms of all types. Also make sure you have a "$" before the curly braces "{}". That tells LAMMPS that it is a variable name - it looks like you may be missing one on your last "${material}". I hope this helps!
Hi.. how to do reflecting boundary in LAMMPS?
Hello! Thanks for watching! So, I am not positive what you're asking. But, you should look into the "wall" commands in the LAMMPS documentation. There are some wall styles that will "reflect" atoms that try to pass through the wall, and there are others that will put a force on the atoms. You may find something there!
Very useful
Super
Very useful thankyou .
Sir can you provide me an email id or contact as i have some doubts regarding MD simulation and lammps
Hi this is Harsha I am doing my PhD and I am a civil engineer and I have a lot of doubts, is there by any chance that I can talk to u in person and explain my problem. If u want to charge for ur time also it's ok but I need some one who can help me in this. I want some experts help to complete my PhD. Hope you can understand and I am serious and eagerly waiting for your reply.
Hello Harsha! Thanks for watching! I would be glad to help you out if I can, but I am also just working on my PhD, so I don't think that I am an expert yet myself. But, if you can describe your question for me, I would be glad to help any way I can!
thanks man thank you very much, Can I talk with you by Skype, or through chat so I can explain my problem more clearly. I want to do tensile load test for a unit cell.
It is better to use Linux. It is very complicated with windows- this example crashes when I tried it
in windows 10 ......
I definitely agree! I usually use windows in these tutorials because it seems like most people end up using windows - this way I run into more of the errors that they will likely run into. But, when I am doing it for my own research, it is always on Linux. That said, I was able to get it to work in this tutorial on Windows 10. Did it give you an error message?
Hi, thanks
yes- ''cannot open lammps for writing /lampps.cpp:296''
after I downloaded ubuntu in windows with bash command
and it works
The problem is where the linux files are saved in windows 10?
and I am trying to learn the bash command in linux.........
Thanks for the examples you post