openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
703 stars 36 forks source link

[REVIEW]: NLMech: Implementation of finite difference/meshfreediscretization of nonlocal fracture models #3020

Closed whedon closed 2 years ago

whedon commented 3 years ago

Submitting author: @diehlpk (Patrick Diehl) Repository: https://github.com/nonlocalmodels/NLMech Version: v0.1.0 Editor: @Kevin-Mattheus-Moerman Reviewer: @vijaysm, @chennachaos Archive: 10.6084/m9.figshare.16688695.v1

:warning: JOSS reduced service mode :warning:

Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/271dd66ea91b7fbfdccb4b10a7ba462c"><img src="https://joss.theoj.org/papers/271dd66ea91b7fbfdccb4b10a7ba462c/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/271dd66ea91b7fbfdccb4b10a7ba462c/status.svg)](https://joss.theoj.org/papers/271dd66ea91b7fbfdccb4b10a7ba462c)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@vijaysm & @chennachaos, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @Kevin-Mattheus-Moerman know.

Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest

Review checklist for @vijaysm

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

Review checklist for @chennachaos

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

diehlpk commented 3 years ago

Overall, I have preferred the Dockerized solution to getting started with NLMech, since this avoids the need for a user to build and install all these complex TPLs. You can add the build all TPLs from source as part of the developer guide or for advanced users since it would take a non-trivial amount of time to get it built, on some user machine.

Yes, I totally agree that we have some complex TPLs, and it is not easy to install the code. As you said, we provide the docker image for people who just want to play with the code.

vijaysm commented 3 years ago

@Kevin-Mattheus-Moerman My review of NLMech is complete. Apart from some hiccups in the installation process from source, I do not have any other pending issues as @diehlpk has promptly addressed all the concerns I raised here, and at NLMech issue #131. I recommend acceptance of the submission once all the other reviews are in. Sorry about the longer than average delay in getting my review done.

chennachaos commented 3 years ago

Use of module commands in the build scripts prevent installations on personal computers which usually do not have module management software installed on them.

@chennachaos That is not correct, since the scripts generates the modules for you, but there is not need to use them to run the code.

Hi @diehlpk, I don't understand how the installation can be carried out if module command is not available.

I would like to finish the review by the end of this week. Do you have any other method that I can follow to install and test the code on my PC? I have Ubuntu 20.04.

diehlpk commented 3 years ago

Hi @diehlpk, I don't understand how the installation can be carried out if module command is not available.

I would like to finish the review by the end of this week. Do you have any other method that I can follow to install and test the code on my PC? I have Ubuntu 20.04.

Hey @chennachaos you can just run the scripts, as I showed above. They do not use the module command at all. The scripts just write modules file, you can use on clusters, but they are optional. I had to use modules on on cluster to find linked libraries.

I think if you follow these instructions on your Ubuntu, you can compile the code:

And I had to install the following packages using apt-get

After that I run

git clone https://github.com/nonlocalmodels/HPCBuildInfrastructure.git cd HPCBuildInfrastructure

and executed the following commands to build all dependencies:

I think this is what you need to do to compile the code. If you install vtk or boost using ap-get, you can skip the build-all.sh for them and CMake will use the one installed on the system.

I can test it on Ubuntu with the installed vtk and boost library, but it worked on Fedora out of the box.

chennachaos commented 3 years ago

Hi @diehlpk. I managed to install all the dependencies using the commands you provided. Thanks!

I encountered some errors while building the NLMech library. The error is due to CMake being unable to find the path to the HPX library/package. How can I fix this?

diehlpk commented 3 years ago

Hi @diehlpk. I managed to install all the dependencies using the commands you provided. Thanks!

I encountered some errors while building the NLMech library. The error is due to CMake being unable to find the path to the HPX library/package. How can I fix this? @chennachaos I added a new script

./build-all.sh Release without-gcc nl

and you should please use this script to compile the code. This script will set the path to all installed libraries using the previous scripts.

chennachaos commented 3 years ago

I pulled the new file. I am getting the same error even with ./build-all.sh Release without-gcc nl. The problem is in the installation of dependencies. In particular, the directories and other environment variables do not seem to be set properly.

diehlpk commented 3 years ago

I pulled the new file. I am getting the same error even with ./build-all.sh Release without-gcc nl. The problem is in the installation of dependencies. In particular, the directories and other environment variables do not seem to be set properly.

@chennachaos Can you please post the error to help me to check what is going wrong?

chennachaos commented 3 years ago

@diehlpk, this is the screen output.

-- The CXX compiler identification is GNU 9.3.0 -- The C compiler identification is GNU 9.3.0 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/gcc - skipped -- Detecting C compile features -- Detecting C compile features - done CMake Error at CMakeLists.txt:67 (find_package): By not providing "FindHPX.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "HPX", but CMake did not find one.

Could not find a package configuration file provided by "HPX" with any of the following names:

HPXConfig.cmake
hpx-config.cmake

Add the installation prefix of "HPX" to CMAKE_PREFIX_PATH or set "HPX_DIR" to a directory containing one of the above files. If "HPX" provides a separate development package or SDK, be sure it has been installed.

-- Configuring incomplete, errors occurred! See also "/home/chenna/Documents/HPCBuildInfrastructure/src/nl/NLMech/build/CMakeFiles/CMakeOutput.log".

diehlpk commented 3 years ago

@chennachaos Can you please do a `ls -lah build' in the ain folder, I would like to see if all libs were compiled?

diehlpk commented 3 years ago

@chennachaos Can you list the content of the folder /hpx/lib64/cmake/HPX thanks?

chennachaos commented 3 years ago

@diehlpk, see below for the out of ls commands.

chenna@chenna-XPS-L501X:~/Documents/HPCBuildInfrastructure$ ls -lah build
total 48K
drwxrwxr-x 12 chenna chenna 4.0K Jul 27 13:43 .
drwxrwxr-x  6 chenna chenna 4.0K Jul 29 17:26 ..
drwxrwxr-x  4 chenna chenna 4.0K Jul 27 11:03 blaze
drwxrwxr-x  4 chenna chenna 4.0K Jul 27 11:04 blaze-iterative
drwxrwxr-x  4 chenna chenna 4.0K Jul 27 11:08 boost
drwxrwxr-x  6 chenna chenna 4.0K Jul 27 10:54 cmake
drwxrwxr-x  7 chenna chenna 4.0K Jul 27 11:51 hpx
drwxrwxr-x  9 chenna chenna 4.0K Jul 27 11:00 hwloc
drwxr-xr-x  6 chenna chenna 4.0K Jul 27 11:02 jemalloc
drwxrwxr-x 10 chenna chenna 4.0K Jul 27 13:43 modules
drwxrwxr-x  6 chenna chenna 4.0K Jul 27 13:43 vtk
drwxrwxr-x  4 chenna chenna 4.0K Jul 27 11:14 yamlcpp
chenna@chenna-XPS-L501X:~/Documents/HPCBuildInfrastructure$ ls -lah build/hpx/lib/cmake/HPX/
total 664K
drwxr-xr-x 5 chenna chenna 4.0K Jul 27 11:51 .
drwxrwxr-x 3 chenna chenna 4.0K Jul 27 11:51 ..
-rw-r--r-- 1 chenna chenna 2.1K Jul 27 11:20 FindAmplifier.cmake
-rw-r--r-- 1 chenna chenna  564 Jul 27 11:20 FindBreathe.cmake
-rw-r--r-- 1 chenna chenna 2.4K Jul 27 11:20 FindBZip2.cmake
-rw-r--r-- 1 chenna chenna 3.0K Jul 27 11:20 FindGooglePerftools.cmake
-rw-r--r-- 1 chenna chenna 2.2K Jul 27 11:20 FindHwloc.cmake
-rw-r--r-- 1 chenna chenna 1.8K Jul 27 11:20 FindIbverbs.cmake
-rw-r--r-- 1 chenna chenna 1.1K Jul 27 11:20 FindIB_VERBS.cmake
-rw-r--r-- 1 chenna chenna 2.7K Jul 27 11:20 FindJemalloc.cmake
-rw-r--r-- 1 chenna chenna 1.4K Jul 27 11:20 FindLibfabric.cmake
-rw-r--r-- 1 chenna chenna 1.9K Jul 27 11:20 FindLibSigSegv.cmake
-rw-r--r-- 1 chenna chenna 1.6K Jul 27 11:20 FindMSR.cmake
-rw-r--r-- 1 chenna chenna 1.7K Jul 27 11:20 FindOrangeFS.cmake
-rw-r--r-- 1 chenna chenna 2.2K Jul 27 11:20 FindPAPI.cmake
-rw-r--r-- 1 chenna chenna 1.7K Jul 27 11:20 FindPMI.cmake
-rw-r--r-- 1 chenna chenna 1.7K Jul 27 11:20 FindQThreads.cmake
-rw-r--r-- 1 chenna chenna 1.4K Jul 27 11:20 FindRdmacm.cmake
-rw-r--r-- 1 chenna chenna 1.1K Jul 27 11:20 FindRDMA_CM.cmake
-rw-r--r-- 1 chenna chenna 1.4K Jul 27 11:20 FindSnappy.cmake
-rw-r--r-- 1 chenna chenna  525 Jul 27 11:20 FindSphinx.cmake
-rw-r--r-- 1 chenna chenna 1.5K Jul 27 11:20 FindTBB.cmake
-rw-r--r-- 1 chenna chenna 2.4K Jul 27 11:20 FindTBBmalloc.cmake
-rw-r--r-- 1 chenna chenna 1.9K Jul 27 11:20 FindTCMalloc.cmake
-rw-r--r-- 1 chenna chenna 1.1K Jul 27 11:20 FindValgrind.cmake
-rw-r--r-- 1 chenna chenna 9.5K Jul 27 11:20 GitExternal.cmake
-rw-r--r-- 1 chenna chenna 7.0K Jul 27 11:20 HPX_AddCompileFlag.cmake
-rw-r--r-- 1 chenna chenna 5.5K Jul 27 11:20 HPX_AddCompileTest.cmake
-rw-r--r-- 1 chenna chenna 9.7K Jul 27 11:20 HPX_AddComponent.cmake
-rw-r--r-- 1 chenna chenna  19K Jul 27 11:20 HPX_AddConfigTest.cmake
-rw-r--r-- 1 chenna chenna 6.3K Jul 27 11:20 HPX_AddDefinitions.cmake
-rw-r--r-- 1 chenna chenna 7.0K Jul 27 11:20 HPX_AddExecutable.cmake
-rw-r--r-- 1 chenna chenna 8.8K Jul 27 11:20 HPX_AddLibrary.cmake
-rw-r--r-- 1 chenna chenna 2.6K Jul 27 11:20 HPX_AddLibraryHeaders.cmake
-rw-r--r-- 1 chenna chenna 2.4K Jul 27 11:20 HPX_AddLibrarySources.cmake
-rw-r--r-- 1 chenna chenna 3.0K Jul 27 11:20 HPX_AddLinkFlag.cmake
-rw-r--r-- 1 chenna chenna  11K Jul 27 11:20 HPX_AddModule.cmake
-rw-r--r-- 1 chenna chenna 2.1K Jul 27 11:20 HPX_AddParcelport.cmake
-rw-r--r-- 1 chenna chenna 1.2K Jul 27 11:20 HPX_AddPseudoDependencies.cmake
-rw-r--r-- 1 chenna chenna  754 Jul 27 11:20 HPX_AddPseudoTarget.cmake
-rw-r--r-- 1 chenna chenna 1.7K Jul 27 11:20 HPX_AddSourceGroup.cmake
-rw-r--r-- 1 chenna chenna 7.6K Jul 27 11:20 HPX_AddTest.cmake
-rw-r--r-- 1 chenna chenna  521 Jul 27 11:20 HPX_AppendProperty.cmake
-rw-r--r-- 1 chenna chenna  24K Jul 27 11:21 HPXCacheVariables.cmake
-rw-r--r-- 1 chenna chenna 2.3K Jul 27 11:20 HPX_CheckCXXStandard.cmake
-rw-r--r-- 1 chenna chenna 1.5K Jul 27 11:20 HPX_CompilerFlagsTargets.cmake
-rw-r--r-- 1 chenna chenna 3.9K Jul 27 11:21 HPXConfig.cmake
-rw-r--r-- 1 chenna chenna 1.4K Jul 27 11:21 HPXConfigVersion.cmake
-rw-r--r-- 1 chenna chenna 1.3K Jul 27 11:20 HPX_CreateSymbolicLink.cmake
-rw-r--r-- 1 chenna chenna  322 Jul 27 11:20 HPX_CXXOverrides.cmake
-rw-r--r-- 1 chenna chenna 1.7K Jul 27 11:20 HPX_Documentation.cmake
-rw-r--r-- 1 chenna chenna  874 Jul 27 11:20 HPX_ExportTargets.cmake
-rw-r--r-- 1 chenna chenna  587 Jul 27 11:20 HPX_ForceOutOfTreeBuild.cmake
-rw-r--r-- 1 chenna chenna  417 Jul 27 11:20 HPX_FortranCompiler.cmake
-rw-r--r-- 1 chenna chenna  368 Jul 27 11:20 HPX_FortranOverrides.cmake
-rw-r--r-- 1 chenna chenna 1.3K Jul 27 11:20 HPX_ForwardCacheVariables.cmake
-rw-r--r-- 1 chenna chenna 5.3K Jul 27 11:20 HPX_GeneratePackage.cmake
-rw-r--r-- 1 chenna chenna  13K Jul 27 11:20 HPX_GeneratePackageUtils.cmake
-rw-r--r-- 1 chenna chenna 1.3K Jul 27 11:20 HPX_GitCommit.cmake
-rw-r--r-- 1 chenna chenna  765 Jul 27 11:20 HPX_HandleComponentDependencies.cmake
-rw-r--r-- 1 chenna chenna  328 Jul 27 11:20 HPX_Include.cmake
-rw-r--r-- 1 chenna chenna  61K Jul 27 11:21 HPXInternalTargets.cmake
-rw-r--r-- 1 chenna chenna  43K Jul 27 11:21 HPXInternalTargets-release.cmake
-rw-r--r-- 1 chenna chenna 5.2K Jul 27 11:21 HPXMacros.cmake
-rw-r--r-- 1 chenna chenna 2.7K Jul 27 11:20 HPX_Message.cmake
-rw-r--r-- 1 chenna chenna 3.4K Jul 27 11:20 HPX_Option.cmake
-rw-r--r-- 1 chenna chenna 3.6K Jul 27 11:20 HPX_PerformCxxFeatureTests.cmake
-rw-r--r-- 1 chenna chenna 3.2K Jul 27 11:20 HPX_PrintSummary.cmake
-rw-r--r-- 1 chenna chenna  357 Jul 27 11:20 HPX_SetCMakePolicy.cmake
-rw-r--r-- 1 chenna chenna  463 Jul 27 11:20 HPX_SetFullRPATH.cmake
-rw-r--r-- 1 chenna chenna  980 Jul 27 11:20 HPX_SetLibName.cmake
-rw-r--r-- 1 chenna chenna 1.6K Jul 27 11:20 HPX_SetOutputPaths.cmake
-rw-r--r-- 1 chenna chenna 1.2K Jul 27 11:20 HPX_SetPlatform.cmake
-rw-r--r-- 1 chenna chenna 5.4K Jul 27 11:20 HPX_SetupAllocator.cmake
-rw-r--r-- 1 chenna chenna 2.7K Jul 27 11:20 HPX_SetupApex.cmake
-rw-r--r-- 1 chenna chenna 4.5K Jul 27 11:20 HPX_SetupBoost.cmake
-rw-r--r-- 1 chenna chenna 1.1K Jul 27 11:20 HPX_SetupBoostFilesystem.cmake
-rw-r--r-- 1 chenna chenna  642 Jul 27 11:20 HPX_SetupBoostIostreams.cmake
-rw-r--r-- 1 chenna chenna  835 Jul 27 11:20 HPX_SetupBoostProgramOptions.cmake
-rw-r--r-- 1 chenna chenna  608 Jul 27 11:20 HPX_SetupBoostRegex.cmake
-rw-r--r-- 1 chenna chenna 2.4K Jul 27 11:20 HPX_SetupCUDA.cmake
-rw-r--r-- 1 chenna chenna  935 Jul 27 11:20 HPX_SetupGooglePerfTools.cmake
-rw-r--r-- 1 chenna chenna 1.5K Jul 27 11:20 HPX_SetupHpxmp.cmake
-rw-r--r-- 1 chenna chenna  745 Jul 27 11:20 HPX_SetupHwloc.cmake
-rw-r--r-- 1 chenna chenna 1.5K Jul 27 11:20 HPX_SetupLibCDS.cmake
-rw-r--r-- 1 chenna chenna  11K Jul 27 11:20 HPX_SetupLibfabric.cmake
-rw-r--r-- 1 chenna chenna 1.9K Jul 27 11:20 HPX_SetupMPI.cmake
-rw-r--r-- 1 chenna chenna  813 Jul 27 11:20 HPX_SetupPapi.cmake
-rw-r--r-- 1 chenna chenna 5.8K Jul 27 11:20 HPX_SetupTarget.cmake
-rw-r--r-- 1 chenna chenna 1.1K Jul 27 11:20 HPX_SetupValgrind.cmake
-rw-r--r-- 1 chenna chenna 3.1K Jul 27 11:20 HPX_SetupVc.cmake
-rw-r--r-- 1 chenna chenna 9.2K Jul 27 11:20 HPX_SetupVerbs.cmake
-rw-r--r-- 1 chenna chenna  976 Jul 27 11:20 HPX_ShortenPseudoTarget.cmake
-rw-r--r-- 1 chenna chenna 7.1K Jul 27 11:21 HPXTargets.cmake
-rw-r--r-- 1 chenna chenna 4.7K Jul 27 11:21 HPXTargets-release.cmake
-rw-r--r-- 1 chenna chenna 5.7K Jul 27 11:20 HPX_UpdateGitDocs.cmake
-rw-r--r-- 1 chenna chenna  632 Jul 27 11:20 HPX_Utils.cmake
-rw-r--r-- 1 chenna chenna 4.8K Jul 27 11:20 installed_hpx.cmake
drwxr-xr-x 2 chenna chenna 4.0K Jul 27 11:51 scripts
-rw-r--r-- 1 chenna chenna 5.9K Jul 27 11:20 TargetArch.cmake
drwxr-xr-x 2 chenna chenna 4.0K Jul 27 11:51 tests
drwxr-xr-x 2 chenna chenna 4.0K Jul 27 11:51 toolchains
diehlpk commented 3 years ago

@chennachaos Thanks for posting the output and I found the issues with the path

https://github.com/nonlocalmodels/HPCBuildInfrastructure/blob/d11ce4b6277b9b8a2a4b2030ff138e2a918cdb9d/build-nl.sh#L28

Can you please for now remove the 64 in lib64, and you should be able to compile the code. I will debug later this week why this issue with the 64 happens.

chennachaos commented 3 years ago

Hi @diehlpk. I changed the line you suggested. I also had to make a similar change at line 34 for the vtk library. After this, I got the following error. The issue is in locating the GMSH library.

CMake Error at cmake/FindGmsh.cmake:19 (message):
  Gmsh Library not found: Specify the GMSH_DIR where Gmsh is located
Call Stack (most recent call first):
  CMakeLists.txt:87 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/chenna/Documents/HPCBuildInfrastructure/src/nl/NLMech/build/CMakeFiles/CMakeOutput.log".
See also "/home/chenna/Documents/HPCBuildInfrastructure/src/nl/NLMech/build/CMakeFiles/CMakeError.log".
diehlpk commented 3 years ago

Hi @diehlpk. I changed the line you suggested. I also had to make a similar change at line 34 for the vtk library. After this, I got the following error. The issue is in locating the GMSH library.

CMake Error at cmake/FindGmsh.cmake:19 (message):
  Gmsh Library not found: Specify the GMSH_DIR where Gmsh is located
Call Stack (most recent call first):
  CMakeLists.txt:87 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/chenna/Documents/HPCBuildInfrastructure/src/nl/NLMech/build/CMakeFiles/CMakeOutput.log".
See also "/home/chenna/Documents/HPCBuildInfrastructure/src/nl/NLMech/build/CMakeFiles/CMakeError.log".

@chennachaos I checked the ls of the build folder you provided

chenna@chenna-XPS-L501X:~/Documents/HPCBuildInfrastructure$ ls -lah build
total 48K
drwxrwxr-x 12 chenna chenna 4.0K Jul 27 13:43 .
drwxrwxr-x  6 chenna chenna 4.0K Jul 29 17:26 ..
drwxrwxr-x  4 chenna chenna 4.0K Jul 27 11:03 blaze
drwxrwxr-x  4 chenna chenna 4.0K Jul 27 11:04 blaze-iterative
drwxrwxr-x  4 chenna chenna 4.0K Jul 27 11:08 boost
drwxrwxr-x  6 chenna chenna 4.0K Jul 27 10:54 cmake
drwxrwxr-x  7 chenna chenna 4.0K Jul 27 11:51 hpx
drwxrwxr-x  9 chenna chenna 4.0K Jul 27 11:00 hwloc
drwxr-xr-x  6 chenna chenna 4.0K Jul 27 11:02 jemalloc
drwxrwxr-x 10 chenna chenna 4.0K Jul 27 13:43 modules
drwxrwxr-x  6 chenna chenna 4.0K Jul 27 13:43 vtk
drwxrwxr-x  4 chenna chenna 4.0K Jul 27 11:14 yamlcpp

I can not find a gmshfolder there, so could it be that you did not compile gmsh using

./build-all.sh Release without-gcc gmsh

or installed the gmsh-develpackage?

chennachaos commented 3 years ago

@diehlpk, that's correct! GMSH is not part of your build system. That is why I didn't install GMSH with ./build-all.sh Release without-gcc gmsh. There is no build-gmsh.sh file in the repo.

diehlpk commented 3 years ago

@chennachaos Ok, I added the script or you can use the system package.

Kevin-Mattheus-Moerman commented 3 years ago

@chennachaos can you provide an update on how this review is going? Has @diehlpk managed to address the issues you raised? Thanks!

chennachaos commented 3 years ago

Hi @Kevin-Mattheus-Moerman. I faced a lot of hurdles in installing the library. Some of the dependencies were missing and some scripts failed to work due to the issues with the pre-defined paths. @diehlpk has been prompt in answering my queries but I get the feeling that the installation procedure for such a small library is taking too long to test. This, I believe, is due to the use of new libraries which are not readily available as packages. I wanted to test the examples using the docker file but I don't have the docker installed on my computers at the moment. Even if docker works, the issues with the installation process should be addressed before the library can be recommended for publication so that it does not pose many hurdles for novice users.

Aside from the installation, I am happy with the rest of the library. I think, at this point, it would be good if you can have a look at the installation procedure and advise.

diehlpk commented 3 years ago

@chennachaos On Fedora, we have all packages, expect blaze_iterative as system packages. You could run

dnf install -y \ 
hpx-devel \
cmake \
blaze-devel \ 
vtk-devel \
yaml-cpp-devel \
doxygen \
graphviz \
git \
libXext-devel \
gmsh-devel \
metis-devel \
gcovr \
python3 \
python3-pip \
gmsh-devel \
rpm-build \
pcl-devel

Install build tools

dnf install @development-tools -y

Install BlazeIterative

git clone https://github.com/STEllAR-GROUP/BlazeIterative.git &&  \
cd BlazeIterative &&  \
cmake . && \
make install && \
cd .. && \
rm -rf BlazeIterative

Compile NLMech

git clone  https://github.com/nonlocalmodels/NLMech.git
cd NLmech
mkdir build
cd build
cmake .. -DHPX_IGNORE_COMPILER_COMPATIBILITY=ON -DCMAKE_BUILD_TYPE=Release -DEnable_Tools=ON 
make -j 2

I am very sorry, but I do not have the capacity, to submit the missing packages to Ubuntu or Debian. I maintain the Blaze and HPX on Fedora, which is time-consuming.

diehlpk commented 3 years ago

@Kevin-Mattheus-Moerman We agree that the installation is not quite straight forward, as @chennachaos mentioned that many of the libraries are not available as system packages yet.

However, we do not have the capacity to add these packages as system packages or to spack, since it is so difficult to get funding for open source software.

Kevin-Mattheus-Moerman commented 2 years ago

@chennachaos could you reply to @diehlpk 's comments? :point_up: thanks.

chennachaos commented 2 years ago

Sorry, I didn't notice that @diehlpk already responded.

Although, all the instructions seem to be available for Fedora, not everyone uses Fedora. However, installation on different architectures is only minor issues for this library. I believe that @diehlpk will help resolve the installation issues if the users struggle to install the library on other systems.

At this point, I recommend NLMech library for publication in JOSS.

Kevin-Mattheus-Moerman commented 2 years ago

Thanks @chennachaos. Would you be able to tick the boxes at the top if you are happy to recommend acceptance?

chennachaos commented 2 years ago

Thanks @chennachaos. Would you be able to tick the boxes at the top if you are happy to recommend acceptance?

Done!

Kevin-Mattheus-Moerman commented 2 years ago

@whedon generate pdf from branch joss

whedon commented 2 years ago
Attempting PDF compilation from custom branch joss. Reticulating splines etc...
whedon commented 2 years ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

Kevin-Mattheus-Moerman commented 2 years ago

@diehlpk I have now read your paper in detail. Below are some minor comments/suggestions on the paper. Feel free to disagree with some of these:

Once you have worked through the above, please do the following

diehlpk commented 2 years ago

@whedon check references from branch joss

whedon commented 2 years ago
Attempting to check references... from custom branch joss
whedon commented 2 years ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1137/17m1112236 is OK
- 10.1002/nme.2579 is OK
- 10.1016/j.cma.2019.03.024 is OK
- 10.1007/s42102-019-00010-0 is OK
- 10.1007/s10659-018-9672-7 is OK
- 10.1007/s10704-020-00480-0 is OK
- 10.2172/1226115 is OK
- 10.1016/j.cpc.2008.06.011 is OK
- 10.1016/j.ijimpeng.2016.09.003 is OK
- 10.1016/j.camwa.2017.06.045 is OK
- 10.18419/opus-2879 is OK
- 10.1007/978-3-319-06898-5_5 is OK
- 10.1007/s10659-007-9125-1 is OK
- 10.1007/s10659-013-9463-0 is OK
- 10.1007/s10659-015-9564-z is OK
- 10.1016/j.compstruc.2004.11.026 is OK
- 10.1007/978-3-319-22977-5_33-1 is OK
- 10.21105/joss.02352 is OK
- 10.1109/hpcsim.2012.6266939 is OK
- 10.1007/s42102-018-0004-x is OK
- 10.1007/s42452-020-03784-x is OK
- 10.6084/m9.figshare.12320726.v1 is OK

MISSING DOIs

- 10.31224/osf.io/gty2b may be a valid DOI for title: A comparative review of peridynamics and phase-field models for engineering fracture mechanics

INVALID DOIs

- None
diehlpk commented 2 years ago

@whedon check references from branch joss

whedon commented 2 years ago
Attempting to check references... from custom branch joss
whedon commented 2 years ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1137/17m1112236 is OK
- 10.1002/nme.2579 is OK
- 10.1016/j.cma.2019.03.024 is OK
- 10.1007/s42102-019-00010-0 is OK
- 10.1007/s10659-018-9672-7 is OK
- 10.1007/s10704-020-00480-0 is OK
- 10.2172/1226115 is OK
- 10.1016/j.cpc.2008.06.011 is OK
- 10.1016/j.ijimpeng.2016.09.003 is OK
- 10.1016/j.camwa.2017.06.045 is OK
- 10.18419/opus-2879 is OK
- 10.1007/978-3-319-06898-5_5 is OK
- 10.1007/s10659-007-9125-1 is OK
- 10.1007/s10659-013-9463-0 is OK
- 10.1007/s10659-015-9564-z is OK
- 10.1016/j.compstruc.2004.11.026 is OK
- 10.1007/978-3-319-22977-5_33-1 is OK
- 10.21105/joss.02352 is OK
- 10.1109/hpcsim.2012.6266939 is OK
- 10.1007/s42102-018-0004-x is OK
- 10.1007/s42452-020-03784-x is OK
- 10.6084/m9.figshare.12320726.v1 is OK
- 10.31224/osf.io/gty2b is OK

MISSING DOIs

- None

INVALID DOIs

- None
diehlpk commented 2 years ago
* Should `peridynamic` be written as `peridynamics`? I see several of your references do this.

@Kevin-Mattheus-Moerman Yes, several references doing this, however, I decided to use peridynamic and many other authors do this.

This is written on Wikipedia for the difference between peridynamic and peridyanmics.

The term "peridynamic," an adjective, was proposed in the year 2000 and comes from the prefix peri, which means all around, near, or surrounding; and the root dyna, which means force or power. The term "peridynamics," a noun, is a shortened form of the phrase peridynamic model of solid mechanics.

diehlpk commented 2 years ago

@whedon generate pdf from branch joss

whedon commented 2 years ago
Attempting PDF compilation from custom branch joss. Reticulating splines etc...
whedon commented 2 years ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

diehlpk commented 2 years ago

@whedon check references from branch joss

whedon commented 2 years ago
Attempting to check references... from custom branch joss
whedon commented 2 years ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1137/17m1112236 is OK
- 10.1002/nme.2579 is OK
- 10.1016/j.cma.2019.03.024 is OK
- 10.1007/s42102-019-00010-0 is OK
- 10.1007/s10659-018-9672-7 is OK
- 10.1007/s10704-020-00480-0 is OK
- 10.2172/1226115 is OK
- 10.1016/j.cpc.2008.06.011 is OK
- 10.1016/j.ijimpeng.2016.09.003 is OK
- 10.1016/j.camwa.2017.06.045 is OK
- 10.18419/opus-2879 is OK
- 10.1007/978-3-319-06898-5_5 is OK
- 10.1007/s10659-007-9125-1 is OK
- 10.1007/s10659-013-9463-0 is OK
- 10.1007/s10659-015-9564-z is OK
- 10.1016/j.compstruc.2004.11.026 is OK
- 10.1007/978-3-319-22977-5_33-1 is OK
- 10.21105/joss.02352 is OK
- 10.1109/hpcsim.2012.6266939 is OK
- 10.1007/s42102-018-0004-x is OK
- 10.1007/s42452-020-03784-x is OK
- 10.6084/m9.figshare.12320726.v1 is OK
- 10.31224/osf.io/gty2b is OK

MISSING DOIs

- None

INVALID DOIs

- None
diehlpk commented 2 years ago

@whedon check references from branch joss

whedon commented 2 years ago
Attempting to check references... from custom branch joss
whedon commented 2 years ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1137/17m1112236 is OK
- 10.1002/nme.2579 is OK
- 10.1016/j.cma.2019.03.024 is OK
- 10.1007/s42102-019-00010-0 is OK
- 10.1007/s10659-018-9672-7 is OK
- 10.1007/s10704-020-00480-0 is OK
- 10.2172/1226115 is OK
- 10.1016/j.cpc.2008.06.011 is OK
- 10.1016/j.ijimpeng.2016.09.003 is OK
- 10.1016/j.camwa.2017.06.045 is OK
- 10.18419/opus-2879 is OK
- 10.1007/978-3-319-06898-5_5 is OK
- 10.1007/s10659-007-9125-1 is OK
- 10.1007/s10659-013-9463-0 is OK
- 10.1007/s10659-015-9564-z is OK
- 10.1016/j.compstruc.2004.11.026 is OK
- 10.1007/978-3-319-22977-5_33-1 is OK
- 10.21105/joss.02352 is OK
- 10.1109/hpcsim.2012.6266939 is OK
- 10.1007/s42102-018-0004-x is OK
- 10.1007/s42452-020-03784-x is OK
- 10.6084/m9.figshare.12320726.v1 is OK
- 10.31224/osf.io/gty2b is OK

MISSING DOIs

- None

INVALID DOIs

- None
diehlpk commented 2 years ago

Your paper is about to be accepted in JOSS, we recommend you proofread the paper once more yourself

@Kevin-Mattheus-Moerman I asked some native speaker to read the paper one more time.

I will prepare the final release today and upload the paper to FigShare after my meeting marathon.

diehlpk commented 2 years ago

@whedon check references

whedon commented 2 years ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1137/17m1112236 is OK
- 10.1002/nme.2579 is OK
- 10.1016/j.cma.2019.03.024 is OK
- 10.1007/s42102-019-00010-0 is OK
- 10.1007/s10659-018-9672-7 is OK
- 10.1007/s10704-020-00480-0 is OK
- 10.2172/1226115 is OK
- 10.1016/j.cpc.2008.06.011 is OK
- 10.1016/j.ijimpeng.2016.09.003 is OK
- 10.1016/j.camwa.2017.06.045 is OK
- 10.18419/opus-2879 is OK
- 10.1007/978-3-319-06898-5_5 is OK
- 10.1007/s10659-007-9125-1 is OK
- 10.1007/s10659-013-9463-0 is OK
- 10.1007/s10659-015-9564-z is OK
- 10.1016/j.compstruc.2004.11.026 is OK
- 10.1007/978-3-319-22977-5_33-1 is OK
- 10.21105/joss.02352 is OK
- 10.1109/hpcsim.2012.6266939 is OK
- 10.1007/s42102-018-0004-x is OK
- 10.1007/s42452-020-03784-x is OK
- 10.6084/m9.figshare.12320726.v1 is OK
- 10.31224/osf.io/gty2b is OK

MISSING DOIs

- None

INVALID DOIs

- None
diehlpk commented 2 years ago

@whedon generate pdf

whedon commented 2 years ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left: