Skip to content

Commit

Permalink
Update NEML submodule ref idaholab#66
Browse files Browse the repository at this point in the history
This updates NEML to a version that doesn't require BOOST, so I also
removed the instructions related to building with BOOST.
  • Loading branch information
bwspenc committed Aug 3, 2020
1 parent f8005e5 commit 22c2f3e
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 30 deletions.
2 changes: 1 addition & 1 deletion contrib/neml
Submodule neml updated 60 files
+96 −6 .travis.yml
+2 −6 CMakeLists.txt
+2 −2 INSTALL.md
+1 −2 README.md
+26 −0 doc/cp/development.lyx
+8 −0 doc/sphinx/advanced/math.rst
+49 −0 doc/sphinx/advanced/math/matrix.rst
+4 −0 doc/sphinx/cp/SlipHardening.rst
+1 −0 doc/sphinx/cp/SlipRule.rst
+26 −0 doc/sphinx/cp/sliphardening/FixedStrengthHardening.rst
+42 −0 doc/sphinx/cp/sliphardening/GeneralLinearHardening.rst
+33 −0 doc/sphinx/cp/sliprule/KinematicPowerLawSlipRule.rst
+54 −0 doc/sphinx/cp/sliprule/SlipMultiStrengthSlipRule.rst
+2 −0 doc/sphinx/cp/sliprule/SlipStrengthSlipRule.rst
+3 −2 doc/sphinx/damage/scalar.rst
+47 −0 doc/sphinx/damage/work.rst
+172 −0 examples/cp/hardening-options.py
+8 −4 neml/drivers.py
+1 −1 profiling/run_single.sh
+11 −0 src/cp/crystallography.cxx
+3 −1 src/cp/crystallography.h
+1 −0 src/cp/crystallography_wrap.cxx
+141 −106 src/cp/singlecrystal.cxx
+471 −13 src/cp/slipharden.cxx
+222 −5 src/cp/slipharden.h
+21 −0 src/cp/slipharden_wrap.cxx
+252 −46 src/cp/sliprules.cxx
+96 −20 src/cp/sliprules.h
+22 −4 src/cp/sliprules_wrap.cxx
+218 −1 src/damage.cxx
+72 −0 src/damage.h
+11 −0 src/damage_wrap.cxx
+63 −7 src/history.cxx
+27 −26 src/history.h
+2 −0 src/history_wrap.cxx
+129 −0 src/interpolate.cxx
+49 −0 src/interpolate.h
+17 −0 src/interpolate_wrap.cxx
+3 −1 src/math/CMakeLists.txt
+220 −0 src/math/matrix.cxx
+96 −0 src/math/matrix.h
+67 −0 src/math/matrix_wrap.cxx
+11 −3 src/math/rotations.cxx
+18 −5 src/objects.cxx
+43 −18 src/objects.h
+43 −0 src/parse.cxx
+9 −0 src/parse.h
+6 −0 src/pyhelp.h
+23 −0 test/drivers/test_drivers.sh
+ test/regression/linearcp.pickle
+1 −0 test/regression/models.txt
+44 −0 test/regression/reference.xml
+3 −0 test/regression/test_regression.py
+2 −1 test/test_crystallography.py
+77 −1 test/test_damage.py
+14 −0 test/test_history.py
+31 −2 test/test_interpolate.py
+81 −0 test/test_matrix.py
+223 −9 test/test_slipharden.py
+182 −11 test/test_sliprules.py
30 changes: 1 addition & 29 deletions doc/content/source/materials/NEMLStress.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This material model provides an interface to the constitutive models for structu

NEML permits the definition of complex material constitutive models, the details of which are defined in an XML file that is independent of the MOOSE input file. The required inputs for this model on the MOOSE side simply provide the location of the XML file, which contains a database of potentially multiple material models, and the name of the model within that database to be used. This model computes the stress, elasticity tensor, and material Jacobian.

Using this model requires that the NEML source code is present, and that the prerequisite libraries are available.
Using this model requires that the NEML source code is present.
NEML is provided as a submodule in BlackBear under the directory `blackbear/contrib/neml`.
The up-to-date version of the NEML submodule is obtained using:

Expand All @@ -19,34 +19,6 @@ git submodule update

in the `blackbear` directory.
NEML is compiled using the MOOSE build system, so no separate compilation step is required to build the library.
However, NEML has dependencies on the BOOST library that are not present in the default MOOSE environment.
To build with boost, one must simply load the `boost` module provided with MOOSE:

```
module load advanced_modules boost
```

and rebuild libMesh with the `--with-boost` option from the moose directory:

```
cd moose
./scripts/update_and_rebuild_libmesh.sh --with-boost
```

This option instructs libMesh to be compiled with the full BOOST installation provided by the `boost` module, rather than the subset of BOOST that is distrubted with libMesh.
MOOSE and Blackbear must also be rebuilt. Rebuilding Blackbear with these changes to include the BOOST library will then automatically build NEML.

Alternatively, if Conda is being used to manage the MOOSE environment instead of modules, a custom Conda MOOSE environment
will need to be created that does not include the prebuilt libMesh library. This Conda environment is set up with the following commands:

```
conda create -n moose-boost
conda activate moose-boost
conda install moose-petsc moose-tools boost
```

Once the above Conda environment is set up, the custom libMesh library containing boost is built using the script and options previously described above.


## Example Input Syntax

Expand Down

0 comments on commit 22c2f3e

Please sign in to comment.