Next Article in Journal
Plasma Electrochemical Synthesis of Graphene-Phosphorene Composite and Its Catalytic Activity towards Hydrogen Evolution Reaction
Next Article in Special Issue
3D Variable Range Hopping Electrical Conduction of a Carbon from Polyaniline Vapor
Previous Article in Journal
Technology Features of Diamond Coating Deposition on a Carbide Tool
 
 
Article
Peer-Review Record

OctCarb—A GNU Octave Script for the Analysis and Evaluation of Wide-Angle Scattering Data of Non-Graphitic Carbons

by Oliver Osswald * and Bernd M. Smarsly *
Reviewer 1:
Reviewer 2: Anonymous
Reviewer 3: Anonymous
Submission received: 3 November 2022 / Revised: 25 November 2022 / Accepted: 29 November 2022 / Published: 9 December 2022
(This article belongs to the Special Issue Characterization of Disorder in Carbons (2nd Edition))

Round 1

Reviewer 1 Report

The principle is very exciting. So, I have tried to install the software on my computer to evaluate the claims.
With windows 10, 64 bits, the directories are not the same in the file and the arborescence.
No clear convergence at the beginning, and some warnings, and very slow. After 4 hours, I stopped and used the results in my comments. My conclusion to this part is that automatic initialization is missing and the multiprocessors setting is not implemented by default (I use the octave installer from the authors’ website). Moreover when you start a program with
clear;
clear;
clear all;
clear all;
clear -all;
clear -all;
clear;
clear;
clear all;
clear all;
clear -all;
clear -all;
It’s not surprising to believe that’s not the final version of the code.
Before testing, considering Octave, I was sure that a GUI was proposed. This is not the case. This could be done in the future.

My comments going through the paper:
1/ We expect a calculation time comparison between other software. After spending a so long time on this software, I'm curious about what is expected if it works properly.  Matlab is really faster than octave (multiprocessors by default ...). Instead of using oct file, programming with compatibility % instead of ", and so on and using mex file to generate the iOct will be great and generate a code compatible with both software (Octave and Matlab). Compatibility with both is for me and probably many other researchers quite important.

2/ A remark: many tests can be done, one is the accuracy of the obtained values. Using XaNSoNS, I have generated the diffractogram of a cylinder of turbostratic carbon with La=Lc=34.5A, c=3.45A, acc=1.42A. I have added to my review the input file and the output file for the authors’ checking. And the result was quite good but not exactly equal to the input parameters: La=38.5, Lc=33.8, lcc=1.42, and a3=3.44 probably because I did not wait for enough time to have the full convergence. During the fitting, it could be good to have La and Lc with the updated figure. Feeding the software with calculated diffractograms and true diffractograms (AI approach) is probably promising for the future. I have other diffractograms to test but I could not spend a week just for simple tests.
3/ From a physical point of view, as the maximum of 10 is shifted with small La (ref 35; or Puech et al, Carbon, 147, 602, 2019 in the SI, eq SI-11) and as the approach seems limited to large La (Conclusion of Warren, B. T., & Bodenstein, P. (1966). The shape of two-dimensional carbon black reflections. Acta Crystallographica, 20(5), 602-605: "For samples in which the layers are very small, it is necessary to develop the diffraction pattern from the general Debye scattering equation.") which is the basis of ref 44, this means that the distortion of the peak can be misinterpreted, or is it corrected in the present version? Can the authors comment on the fact that they have certainly taken into account this effect?
4/ A remark but I know that the authors will not correct this: for the notation, both (10) and 10 are used depending on the country and authors but it should be 10 (as in the past with Warren). () is for Miller's natation.
5/ Ref 38 is no longer active, so remove the reference or find another similar reference.
In conclusion, this contribution is well written, really important, and should be published after minor corrections even if some software improvements in the future can be easily done. In the present form, the software is very slow with the default values.

Comments for author File: Comments.zip

Author Response

Dear reviewer,

 

many thanks for your positive report and your well-considered suggestions.

The lack of clear convergence at the beginning of the refinement is due to the fact that initially not all parameters are adjusted simultaneously, but only the background as well as the layer and stacking parameters individually. Thus, it is impossible to achieve convergence for the entire s-range simultaneously from the beginning.

 

Unfortunately, we do not understand the long computing time you encountered. There are several factors that influence the computing time, and some of which you have already mentioned. However, we reviewed your file, and it seems there must be a problem with Octave itself. We have already successfully evaluated neutron scattering data with ~ 2300 data points in a measurement range up to s = 3.5 A^-1within one hour, so we did not pursue the time aspect any further. It could also be that your data has a lot of oscillations alongside the reflexes that OctCarb is trying to refine, although these are just artifacts from the simulation. It is true that the multi-CPU settings were not treated, which can be further optimized. We took a closer look at the problem, and it is possible to use the „parallel“ package for Octave (https://gnu-octave.github.io/packages/parallel/). Unfortunately, by implementing this feature in the present OctCarb Version, several errors occur and we were not able to run the script. We have already opened an issue on the respective platform (https://savannah.gnu.org/bugs/index.php?63412), but we regret that it is impossible to implement this feature in 5 days, since we are dependent on Octave. Therefore, we believe, the manuscript and OctCarb can be published even containing this small shortcoming. When the problem will be solved, we will certainly update the script using GitHub.

 

The "clear" section at the beginning is placed on purpose to ensure that absolutely no data/variables are left set. This might be less relevant for standard analysis, but is absolutely necessary for batch processing of multiple samples.

 

On 1) A systematic comparison of the computing times with other software is indeed a valid point, but requires quite a bit of effort, because the computing times should be varied as a function of different parameters, e.g. the number of data points, etc.

Mathematica: originally we had performed all our analyses on this software, without automatic refinement, i.e. by more or less manual refinement. Of course, we also used the non-linear fitting tool implemented in Mathematica for data fitting using raw data, but quite often encountered severe software-related problems: aside from the quite slow progress (taking up to several days) in many cases Mathematica simply “crashed”, the reason for this being unclear. In those cases, which allowed for a complete refinement, the computing times were always much longer than using OctCarb.

Unfortunately, we do not have a license for MatLab. It is of course true that the refinement could also be done with MatLab, although this contradicts the basic idea of free open source software. However, it was pointed out in the article (conclusion) that this is possible in principle.

Evidently, a comparison can be made with CarbX (our own software tool), since this is the only program that follows the same mathematical approach for refinement of WAXS/WANS of NGCs. However, the automatic fitting also requires Wolfram Mathematica, for which we unfortunately do not have a licence anymore. Yet, from previous data evaluation we know that CarbX took at least twice as long, often much longer, for the same measurement data, because Mathematica itself – in our experience – is a limiting factor.

Hence, while a systematic comparison with these established mathematical, commercial software is certainly an important question, we are not able to perform such comparison within a short period of time and suggest to leave that for a separate study.

 

On 2) We greatly appreciate your great effort in testing and validating our algorithm! Having looked at the data simulated by XaNSoNS we think that one should be careful in discussing the differences in the refined structural parameters (La, …): the simulated curve contains oscillations in the vicinity of the 002 and the 10 reflections, perhaps because XaNSoNS bases on precise atomic positions, using the Debye scattering function or similar approaches. However, such oscillations cannot occur for the WAXS/WANS of NGC, because of the dispersity in size, the turbostratic nature, etc. Looking at the difference between the simulated data and the refinement, we propose that the fitting algorithm, of course, tries to find a reasonable comprise to account for the oscillations, which however goes at cost of the refinement particularly of the 002, but also of the 10 profile: for instance, the fitting of the 10 reflection is not optimum at the left side of the 10 reflection’s foot, and also the shape of the 10 reflection around the maximum shows a systematic deviation. We think that due to these small mismatches the La value differs, but one might argue that the deviation (12%) is quite small in spite of the systematic deviation, showing – on the contrary – that our routine provides reasonable values even in these cases.

The larger deviation in La (~ 12%) can have other reasons: It is not entirely clear whether La is defined in XaNSoNS in the same way as in the work of Ruland and Smarsly (2002) or whether layer polydispersity, i.e. the deviation the layer shape was simulated in XaNSoNS. In addition, the simulated s-range is relatively small and suffers from the damping of the atomic-form-factor. Therefore, only few reflections are available to distinguish between layer size and layer disorder, which however our approach takes into account. Finally, XaNSoNS seems to be based on the Debye equation and thus on perfect positions, but the model by Ruland and Smarsly (2002) and thus OctCarb are based on a Gaussian approximation for the shape of graphene layers, not atomic positions. For this issue, please see the comparison made in Fig. 3 in Ruland & Smarsly (2002).

 

On 3) You pointed to a very subtle issue, and we appreciate that this gives us the opportunity to avoid misunderstanding. Hence, we added a small paragraph to the main manuscript.

The calculation of profiles for the hk reflections in the work of Ruland & Smarsly (2002), used in OctCarb, is based on the concept of chord length distributions (equation 8 in Ruland & Smarsly (2002)), but not the Debye scattering formula. This issue was indeed discussed in the work from 2002: in Figure 3 we had compared hk profiles calculated on the one hand with the Debye scattering formula and on the other hand with our approximation, based on the concept of chord-length distributions. Excellent agreement was seen even for small La values of for La = 7.54 Å. Hence, our approach is equally valid also for very small La values, which is a major advantage of our work from 2002.

Hence, no single-peak analysis is done (as in Warren & Bodenstein 1966), and in our case the (hk)-interferences are calculated as a whole profile shape including position and width. The used equation (equation 7 in Ruland & Smarsly (2002)) is based on a Gaussian-distribution, which was determined analytically (Ruland & Tompa (1967)), so the mentioned approximation of Warren & Bodenstein (1966) is not used.

 

On 4) That is correct, the notation with the brackets is, strictly speaking, wrong, but is used for reasons of readability. For example, "10-reflection" could easily be misinterpreted as "ten reflections". This note was already added in the text (in 2.1).

 

On 5) The reference has been corrected, thanks for the comment!

 

In summary, you are of course right with the criticism of the unsatisfactory runtime. This has already been improved, and further additions may follow via GitHub. The other comments were included in the text, but we ask for your understanding that an exact runtime comparison or an optimization for MatLab is not only necessary for cost reasons (the software would have to be purchased), but also in the short time (5 days) not possible. However, thanks to the use of GitHub, an extension/improvement is possible in the future.

Reviewer 2 Report

The paper is describing the making and operating conditions of a software tool intended to be used for refinement of wide-angle X-ray and neutron scattering data of non-graphitic carbons (NGCs). The proposed refinement script on an approach constructed 20 years ago. As the software has been built for the use of inexperienced users, I found the paper to be describing quite well the algorithms. 

There is a comprehensive presentation of the problems encountered over the years and the way the program is solving now this issue is convincingly argued. Also, several users have found the program useful and working well, within the purposes it was intended for.

the paper is suitable for publication in Carbon journal. 

Author Response

Dear reviewer,

 

many thanks for your positive report. It seems, that you don't have have any suggestions or remarks on the manuscript, thaks a lot!

 

Best regards,

 

Oliver Osswald

Reviewer 3 Report

The authors contributed to making a computational software readily available for analyzing and evaluation of wide-angle scattering data of non-graphitic carbons. Unlike the commercial Matlab from MathWorks which requires a high license fee, this simulation tool is written in Octave script language, completely free of charge and open-source. It has been tested and worked as expected. The GUI feature makes refinement of WAXS/WANS quite straightforward for users. In general, the manuscript is well-organized and presented in a very logical manner. The computational software is robust and provides valuable and meaningful knowledge in material studies, in particular, research of non-graphitic carbon. I would recommend it for publication in C - Journal of Carbon Research in its current version. 

Author Response

Dear reviewer,

 

many thanks for your positive report. It seems, that you don't have have any suggestions or remarks on the manuscript, thaks a lot!

 

Best regards,

 

Oliver Osswald

Round 2

Reviewer 1 Report

The authors have answered my questions and have modified the manuscript accordingly.

Back to TopTop