LLNL / ExaConstit

A crystal plasticity FEM code that runs on the GPU
BSD 3-Clause "New" or "Revised" License
47 stars 13 forks source link

ExaConstit installation : missing function definitions for MFEM #21

Closed cbjuju closed 4 years ago

cbjuju commented 4 years ago

When I run make -j 4 in the ExaConstit build folder after running cmake, I get several errors which seem to be calls to functions with no corresponding definition in the source code. For example :

/path to exaconstit/ExaConstit/scripts/meshing/mesh_generator.cpp: In function ‘void setBdrConditions(mfem::Mesh*)’: /path to exaconstit/ExaConstit/scripts/meshing/mesh_generator.cpp:188:19: error: ‘class mfem::Mesh’ has no member named ‘SetBdrAttribute’; did you mean ‘GetBdrAttribute’? mesh->SetBdrAttribute(i, 1); // bottom

I did a reecursive grep for the function SetBdrAttribute and it does indeed seem that it is not defined. I used the version of mfem specified in the ExaConstit installation notes : the exaconstit-dev branch of MFEM.

rcarson3 commented 4 years ago

Hi @cbjuju the function is definitely available in the exaconst-dev branch as seen here: https://github.com/rcarson3/mfem/blob/exaconstit-dev/mesh/mesh.hpp#L1024-L1025

When you cloned mfem did you make sure to checkout the exaconstit-dev branch? So, did you do the following:

git clone https://github.com/rcarson3/mfem.git
cd mfem
git checkout exaconstit-dev
cbjuju commented 4 years ago

I had selected the exaconstit-dev branch from the drop-down menu in the top left of the <code> page of the MFEM repository - the one used for switching between branches and tags.

I did not realise that checkout command was necessary. I made the change and was able to build exaconstit on my target system. Thank you.