Probe-Particle / ppafm

Classical force field model for simulating atomic force microscopy images.
MIT License
50 stars 19 forks source link

Ideas for an overview manuscript #68

Closed ondrejkrejci closed 2 months ago

ondrejkrejci commented 1 year ago

To be closed after the paper has been accepted.

NikoOinonen commented 1 year ago

For the GUI, it's working pretty well right now and not all of the issues mentioned in #42 are critical, but there are some obvious ways to make it crash still, and I would at least like to fix those before the publication.

NikoOinonen commented 1 year ago

We should also make a DOI for the repo to cite in the paper. It's more permanent than an URL. I also want to cite it in my thesis.

ondrejkrejci commented 1 year ago

I think that we agreed on Computer Physics Communications and the overleaf link is here.

ProkopHapala commented 1 year ago

Hi, I sketched some initial (introduction and discussin of different simulations modesl, GPU and GUI), also I added added some relevant citations. I will work on it more later. Please have a look if you want.

ProkopHapala commented 1 year ago

I think we should think about figures now. I'm now thinking about these 2-3

  1. Comparison of image contrast over characteristic molecules with all the different methods. Methods should be like:

    1. Lenard-Jones + Point Charges,
    2. Lenard-Jones + Quadrupole
    3. Lenard-Jones + CO-desnity derived electrostatics
    4. FDBM = Pauli form CO density + D3 dispersion atractve vdW + CO denisity derived electrostatics/

    The moleucles could be e.g.

    1. pyridine
    2. PTCDA
    3. BPBA
    4. phtalocyanine with hydrogens in the center
    5. fluor-chlor-brom-benzene
    6. FFPB
    7. CaF2 surface
  2. Comparison of image contrast obtained for different parameters woth FDBM (@NikoOinonen)

  3. Screenshot of the GUI

@ProkopHapala, @ondrejkrejci, (we should find if we have still some data )
@yakutovicha - do you have data for the old paper where you did the fitting of probe particle parameters? I think the set of molecules you ued was quite representative/ relevant for this

NikoOinonen commented 1 year ago

Hi, I sketched some initial (introduction and discussin of different simulations modesl, GPU and GUI), also I added added some relevant citations. I will work on it more later. Please have a look if you want.

Good work! I fixed some typos and left some comments there.

  1. Screenshot of the GUI

We can probably use the one that is on the wiki, unless we want some specific molecule in the image: https://github.com/Probe-Particle/ppafm/wiki/PPAFM-GUI

ondrejkrejci commented 1 year ago

Hei everyone, I am done for this week.

@yakutovicha - could you have a look on some parts like the complex-tip notes and technical details

@mondracek and @aureliojgc - could you write something on the KPFM.

@ProkopHapala and @NikoOinonen - could you work on that image for different theory stages?

And @ProkopHapala - really thank you for the work on the text. I've put some of my visions into it. Have a look if that is OK with you.

ProkopHapala commented 1 year ago

@ondrejkrejci

I was quickly looking into you changes. few comments:

  1. ad Figure 1 - Do we really want to introduce double-particle model there? I think the image gives it too much attention (half of the first figure), while in the paper it will be just side-note - or you have different opinion and want to expand some section about double-probe particle ?
  2. ad Figure 1 - I don't like visualy to font "verbatin", it is not good on figures which has to be re-scaled, can we use different font (e.g. verdana bold) ?
  3. ad Eq.2 - I think it should be written using vectors rather than per-component. We can also write just potential energy (as it is done later)
  4. Not sure we have to write explicitly $F = - \nabla E$, everybody knows that

In general:

ondrejkrejci commented 1 year ago

Ok, 1 -> new image at the end of the paper 2 -> adjusted, please check 3 -> I want to clearly state how the force is applied on the tip. As we have 1 radial and 2 lateral springs, Feel free to change or suggest a better version. 3b -> As for the energies versus forces. Whatever. At the moment energies are used just for the PP-sample interactions. and it is said in the beggining of paragraph 2.2. 4 -> removed. I have adjusted the text once more. And especially the images. I have uploaded svgs so you can adjust the images as well if you want. In blue there is only what images are missing. I have started to use comments, instead of blue. There is quite a lot of them. For example we have at the moment somehow good description of the model, but we are missing some discussion of normally used parameters e.g. for CO tip.

ProkopHapala commented 1 year ago

1 -> new image at the end of the paper

Good, maybe we make the Fig. 1 smaller, or athther something because to my taste it takes much space relative to amount of information.

3 -> I want to clearly state how the force is applied on the tip. As we have 1 radial and 2 lateral springs, Feel free to change or suggest a better version.

I changed it, since how was it written was not really how is it calculated (I think). Originally I did not want to go into these technical details (they are also described in previous paper), but if you want to go there we should do it completely. Not sure if $\odot$ as element-wise product of two vector is something everybody understand.

3b -> As for the energies versus forces. Whatever. At the moment energies are used just for the PP-sample interactions. and it is said in the beggining of paragraph 2.2.

Yes, true, for calculation we actually need forces rather than energies. But in the paper it is easier to write equations for energies. (I think it does not matter much, assuming we did the derivative right :) )

yakutovicha commented 1 year ago

Outline:

  1. Intro 1.1. Why SPM (nc-AFM, kpafm)? 1.2. Why ppafm? 1.3. Versatility of ppafm (LJ, electrostatics, KPAFM) 1.4. What to use PPAFM for? 1.5. Brief description of the following topics of the paper (?)
  2. NC-AFM models 2.1. What nc-AFM can teach us? 2.2. Description of the tip. 2.3. Very basic LJ model. Characteristics of the model: what does it do and doesn't do? 2.4. + point charges. -/- 2.5. + dft based electrostatics. -/- 2.6. full density-based model 2.7. Show a model system with different sets of features enabled and discuss how they improve the model performance.
  3. Other models 3.1. What can be done on top of nc-AFM? 3.2. KPAFM + examples 3.3. STM + examples 3.4. EITS?
  4. How to use ppafm? 4.1. Installation (conda, pip, Docker) 4.2. User interfaces (GUI, cmd, python-API)
  5. Implementation. 4.1. Numerical methods (here we discuss main numerical tools used in chapter 2) 4.2. Python/C++/openCL
  6. Conclusion
NikoOinonen commented 1 year ago

We agreed on some division of responsibilities for each chapter in the last meeting last week. But should some one person first take care of reorganizing the current text into the new chapter structure, or should we all just move the relevant pieces of text to our respective chapters (which could become messy)?

ProkopHapala commented 1 year ago

We agreed on some division of responsibilities for each chapter in the last meeting last week. But should some one person first take care of reorganizing the current text into the new chapter structure, or should we all just move the relevant pieces of text to our respective chapters (which could become messy)?

I think it is better that everybody work on the paper when he has time, and not wait for anybody else. Therefore I think it is better if everybody move his part where he finds it fits. Also the "responsibility" is relative, definitely it is appreciated to improve any other part even if it is not your part.

ondrejkrejci commented 12 months ago

Hi everyone, I have added the chapters and rearranged accordingly. But now, some parts of the text does not make sense (at all). I will look at the introduction @ProkopHapala - could you have a deeper look on the nc-AFM simulations (section 2) now. Especially the section 2.1. - what we can learng from AFM @yakutovicha and @NikoOinonen - could you please look on the images for the AFM methods comparison @aureliojgc and @mondracek - could you have a look on 3.2 KPFM ? @yakutovicha - please have a look on the chapter 4 - How to use PPAFM @NikoOinonen - please have a look on the chapter 5 - implementation Thank you!

ProkopHapala commented 11 months ago

@ondrejkrejci : I went today through the manuscript from 1.Introduction to end of 2. nc-AFM models. I improved what I could and I'm quite satisifed with that parts. (maybe tomorrow I can see the rest)

@NikoOinonen : I think the most crucial part is to have the images comparing various models. Do you have some idea when you can do it? I think large part of the paper revolves around it, and once this is done, the rest of the paper is just polishing details. .... Do you need some help?

(generally I think it would be feasible to finish the paper this year or early January - which I would very much appreciated, in order to mention the paper in yearly report to my grant)

NikoOinonen commented 11 months ago

I think the most crucial part is to have the images comparing various models. Do you have some idea when you can do it? I think large part of the paper revolves around it, and once this is done, the rest of the paper is just polishing details. .... Do you need some help?

@ProkopHapala Yeah, sorry for being slow. I'll try to get to it next week. If you have time, you could maybe look at the data and think if we want all of the different examples, or only some of them.

ProkopHapala commented 11 months ago

I finished reading and editing till the end. I even sketched some summary (feel free to modify it). I think we are not so far from finishing it.

The main things where we should focus now is to add simulated images images for each technique mentioned.

@NikoOinonen

Beside making the figures for 2.2.5. Comparison of AFM simulation models please look here:

@ondrejkrejci

@yakutovicha

I a bit rewrited 4.1. Installation, please check if it is corred (can we install on Windoes and MacOS using pip ?), eventually polish it.

@aureliojgc and @mondracek

@ProkopHapala

I have to look what is the problem with IETS and eventually also make some example simulation image

NikoOinonen commented 11 months ago

@ProkopHapala I added some text on the Python API into 4.4. I chose not to mention there any specific class names, because these are likely subject to change in the future. Also rewrote the installation in 4.1 a bit.

yakutovicha commented 11 months ago

@yakutovicha

I a bit rewrited 4.1. Installation, please check if it is corred (can we install on Windoes and MacOS using pip ?), eventually polish it.

For your information. I am leaving for the holidays this week, then I will have a tutorial to conduct. I can only contribute during the week of 18-22nd December.

ondrejkrejci commented 11 months ago

@NikoOinonen please could you ask Adam, from which project you were paid, we should add it there! Thanks!

NikoOinonen commented 11 months ago

@ondrejkrejci I added the projects to the acknowledgements.

ProkopHapala commented 10 months ago

Hi all, I added preliminary comparison for AFM simulation models from @NikoOinonen into the paper, and wrote some discussion of the observed contrast. With that I consider the paper almost done. Please have a look on my changes.

EVERYBODY: Please have a look on the part relevant for you. I would be really happy if we can finish and submit it before chrismass or early in january.

NikoOinonen commented 10 months ago

@ProkopHapala I updated the figure with the geometries and added the simulation parameters to the text.

NikoOinonen commented 10 months ago

@ProkopHapala I updated the figure again, now with the pentacene fixed, so you could add discussion on that example as well.

ProkopHapala commented 10 months ago

Hi @ondrejkrejci I updated the Fig.1 (schematics of PP force), maybe you can look on it if you agree ?

Also slightly modified the Fig.3 (PPSTM). I put there as placeholder image of HOMO from our old article. Please replace it (it was monolayer, not single molecule, also there is this stupid red line). And check if what I wrote there is correct? Is it HOMO, is it with $p_z$ orbital on the tip?

Now it remains to put there the image of IETS. Should I make such image or will you do it? The thing is I don't remember very well the last simulations we did in Bruno's paper (because you were doing it). It would be good to make it somewhat consistent. But in principle I can do it as well.

yakutovicha commented 10 months ago

An idea for the title:

Advancing Scanning Probe Microscopy Simulations: A Decade of Development in Probe-Particle Models

NikoOinonen commented 10 months ago

So I will try to soon add an example that plots the main simulations figure: #246

ProkopHapala commented 10 months ago

An idea for the title: Advancing Scanning Probe Microscopy Simulations: A Decade of Development in Probe-Particle Models

I quite like it, I only worry that it would look like historical summary without any new features. But we have a lot o new features.

NikoOinonen commented 10 months ago

An idea for the title: Advancing Scanning Probe Microscopy Simulations: A Decade of Development in Probe-Particle Models

I quite like it, I only worry that it would look like historical summary without any new features. But we have a lot o new features.

I think it's good. I would say the word Advancing is enough for suggesting that there are new developments.

ProkopHapala commented 9 months ago

Hi, I was just looking on the state of the article. To me the text looks fine. Does anybody have any serious objections or suggestions with respect to the text?

We are still missing the the figures:

Then I think we just have to check format of references, remove the blue comments, and we are ready to go. Or do you have other ideas?

yakutovicha commented 9 months ago

To me the text looks fine. Does anybody have any serious objections or suggestions with respect to the text?

Tonight I will go through the text and fix issues that I find. I will make sure to have it done by tomorrow's meeting.

NikoOinonen commented 9 months ago

I went through the text just now. Mostly I think it's complete. A couple of things I noticed:

ondrejkrejci commented 9 months ago

Thanks @NikoOinonen!

IETS is my problem. @mondracek - add your projects into acknowledgments, if you want. @mondracek and @ProkopHapala - add acknowledgements for the supercomputers.

BTW, I will work on abstract and cover letter, hopefully over the weekend.

ProkopHapala commented 9 months ago

OK, I did now:

ondrejkrejci commented 9 months ago

@yakutovicha - overleaf line 480, could you please provide a XC that you have used for your DFT? Thank you!

ondrejkrejci commented 9 months ago

@ProkopHapala - I have checked those symbols - it seems to be fine and consistent as far I can tell.

Please have a quick look on:

I will provide @NikoOinonen my data at latest tomorrow, so he can provide the citations/url there.

@mondracek - did Pavel checked your section? Don't you want acknowledge him in the acknowledgments?

@yakutovicha - what about your supervisor.

I will work on the cover letter at latest tomorrow.

NikoOinonen commented 9 months ago

@mondracek If you could also send me the KPFM-related files, then I can add them to the dataset at the same time.

ProkopHapala commented 9 months ago

@ondrejkrejci did we already settle the journal? We have a rule that before submission we have to report to head of department where we want to submit, and he must agree (main purpose is avoid MDPI or predatory journals)

ondrejkrejci commented 9 months ago

Sure, we go now for: https://www.sciencedirect.com/journal/computer-physics-communications

ProkopHapala commented 9 months ago

@ondrejkrejci

ondrejkrejci commented 9 months ago

Done from my side. We are almost finished, we are discussing some final details about the cover letter. Please have a look there, see todays email. Does anyone wants to have some final look? Or could we go through?

ondrejkrejci commented 9 months ago

@NikoOinonen - could you check, if you can change the description of the dataset on Zenodo? Like that we just add there the connection to ArXiv, once it is uploaded? Thank you! @yakutovicha - Would it be possible to do a new release, so the Zenodo database is directly connected with the latest version? Thank you!

NikoOinonen commented 9 months ago

@ondrejkrejci Only changing the uploaded files requires a new version. All the other information can be edited at any time.

ProkopHapala commented 9 months ago

@ondrejkrejci @NikoOinonen

Hi, there are data for the IETS, the zip has 430MB, I did not want to spend time contemplating what to include, co basically I just zipped whole simulation folder (including scripts, inputs, but also output FF, vibration eigenvectros, and PP positions, and AFM, all in both .npz and .png). If you think we should sort it out and add there just the necessary, feel free to repack it.

All data (.zip, 430MB) https://mega.nz/file/bOxSGDAY#aeT5N4oyurJlzi7FDFeRs46p6uEJW7HQ6Qr6dg6yHX0

Or if you want just inputs, there it is, it has 5kB IETS_FePc_Au-just-inputs.zip

NikoOinonen commented 9 months ago

@ProkopHapala If the size of the input files is only 5kB, I think we could just upload it as an example to the repo. I'm thinking we only use Zenodo for the large files.

ProkopHapala commented 9 months ago

@ProkopHapala If the size of the input files is only 5kB, I think we could just upload it as an example to the repo. I'm thinking we only use Zenodo for the large files.

yes, why not. We can put it as example.

But I was thinking you wanted also to have somewhere the results because (e.g. to monitor eventual changes in the code, as @mondracek was emphasizing)

NikoOinonen commented 9 months ago

to monitor eventual changes in the code

Well, we have versioning for that reason. I would say most of the time people are looking how to run the latest version instead of a historic one. And the general goal is to maintain the existing examples anyway.

If we really want to make sure that there is an archive version, I think Zenodo also supports archiving a Github repo and giving a DOI to it.

ondrejkrejci commented 9 months ago

@ProkopHapala

We are ready to go tomorrow.

NikoOinonen commented 9 months ago

I got all the files now, and uploaded them to Zenodo: https://doi.org/10.5281/zenodo.10563098.

I added a basic description of the files. Feel free to suggest a more detailed description and I can add it.

ondrejkrejci commented 9 months ago

Hi Everyone: