Skip to content

Commit

Permalink
Merge branch 'main' into RANS2P2D
Browse files Browse the repository at this point in the history
  • Loading branch information
cekees authored Jul 1, 2022
2 parents b04f9c3 + bf2bf66 commit 6dbd9e2
Show file tree
Hide file tree
Showing 395 changed files with 10,241 additions and 50,169 deletions.
13 changes: 13 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[run]
#plugins = Cython.Coverage # not working for now; excluding cython source below for now
source = proteus
omit =
*/config/*
*/test_utils/*
*/tests/*
#cythonized modules, not currently showing coverage but tests are running
*/proteus/WaveTools.py
*/proteus/BoundaryConditions.py
*/proteus/SpatialTools.py
*/proteus/mprans/BoundaryConditions.py
*/proteus/mprans/SpatialTools.py
220 changes: 220 additions & 0 deletions .gitattributes

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
[submodule "air-water-vv"]
path = air-water-vv
url = git://github.com/erdc/air-water-vv.git
url = https://github.com/erdc/air-water-vv.git
branch = master
[submodule "stack"]
path = stack
url = git://github.com/erdc/stack
url = https://github.com/erdc/stack
[submodule "proteus/tests/proteus_tutorial"]
path = proteus/tests/proteus_tutorial
url = git://github.com/erdc/proteus_tutorial
url = https://github.com/erdc/proteus_tutorial
80 changes: 16 additions & 64 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,69 +1,18 @@
addons:
apt:
packages:
- gfortran
- libffi-dev
- libssl-dev
- python-lzma
- python3
- doxygen
- graphviz

cache:
- timeout: 1000
os: linux
dist: focal
language: minimal

notifications:
email:
on_success: change
on_failure: always

after_success:
- conda install codecov
- codecov

jobs:
include:
- stage: test
name: "hashdist linux"
os: linux
dist: bionic
language: python
python: 2.7
env: TEST_PROFILE="proteus-hashdist"
install:
- git lfs pull
- ./stack/hit/bin/hit init-home
- ./stack/hit/bin/hit remote add http://levant.hrwallingford.com/hashdist_src --objects="source"
- ./stack/hit/bin/hit remote add http://levant.hrwallingford.com/hashdist_stack --objects="build"
- make stack/default.yaml
- pushd $HOME
- mkdir -p hashdist_src
- mkdir -p hashdist_bld
- rm -rf .hashdist/src .hashdist/bld
- ln -s $HOME/hashdist_src .hashdist/src
- ln -s $HOME/hashdist_bld .hashdist/bld
- popd
- pushd stack
- echo $PWD
- ls -l
- ./hit/bin/hit build -j 2 -v default.yaml
- popd
- export PATHSAVE=$PATH
- export PATH=$PWD/linux/bin:$PATH
- export LD_LIBRARY_PATH=$PWD/linux/lib:$LD_LIBRARY_PATH
- PROTEUS_OPT="-w -g0 -O2 -UNDEBUG" FC=gfortran CC=mpicc CXX=mpicxx make develop N=2
- export SSL_CERT_DIR=/etc/ssl/certs
script:
- PATH=./linux/bin:$PATH MPLBACKEND=Agg py.test -n 1 --dist=loadfile --forked -v proteus/tests --ignore proteus/tests/POD --ignore proteus/tests/solver_tests/test_nse_RANS2P_step.py --cov=proteus
- PATH=./linux/bin:$PATH MPLBACKEND=Agg py.test -n 1 --dist=loadfile --forked -v air-water-vv/Tests/1st_set --cov=proteus
- PATH=./linux/bin:$PATH MPLBACKEND=Agg py.test -n 1 --dist=loadfile --forked -v air-water-vv/Tests/2nd_set --cov=proteus
- PATH=./linux/bin:$PATH MPLBACKEND=Agg mpiexec -np 2 pytest -v proteus/tests/FSI
- stage: test
name: "conda linux"
os: linux
dist: xenial
language: python
python: 3.7
dist: focal
env: TEST_PROFILE="proteus-conda"
install:
- git lfs pull
Expand All @@ -77,23 +26,23 @@ jobs:
- conda info -a
- conda env create -f environment-dev.yml
- conda activate proteus-dev
- make develop-conda N=1
- make develop-conda N=2
script:
- export MPLBACKEND="AGG"
- py.test -n 1 --dist=loadfile --forked -v proteus/tests --ignore proteus/tests/POD --ignore proteus/tests/solver_tests/test_nse_RANS2P_step.py --cov=proteus
- MPLBACKEND=Agg py.test -n 1 --dist=loadfile --forked -v air-water-vv/Tests/1st_set
- MPLBACKEND=Agg py.test -n 1 --dist=loadfile --forked -v air-water-vv/Tests/2nd_set
- MPLBACKEND=Agg mpiexec -np 2 pytest -v proteus/tests/FSI
- py.test -n 1 --forked -v proteus/tests --ignore proteus/tests/POD --ignore proteus/tests/solver_tests/test_nse_RANS2P_step.py
- py.test -n 1 --forked -v air-water-vv/Tests/1st_set
- py.test -n 1 --forked -v air-water-vv/Tests/2nd_set
- py.test -n 1 --forked -v proteus/tests/FSI
deploy:
provider: script
script: bash ./scripts/deploy.sh docs
skip_cleanup: true
on:
branch: master
branch: main
- stage: test
name: "conda osx"
os: osx
osx_image: xcode11.3
osx_image: xcode13.4
env: TEST_PROFILE="proteus-conda-osx"
install:
- wget https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -O miniconda.sh;
Expand All @@ -106,9 +55,12 @@ jobs:
- conda env create -f environment-dev.yml
- conda activate proteus-dev
- pip install gmsh
- pip install -v -e .
- make develop-conda N=2
script:
- export MPLBACKEND="AGG"
- git lfs install
- git lfs pull
- py.test -n 1 --dist=loadfile --forked -v proteus/tests --ignore proteus/tests/solver_tests --ignore proteus/tests/POD --ignore proteus/tests/MeshAdaptPUMI --ignore=proteus/tests/matrix_constructor --ignore=proteus/tests/MoveMeshMonitor --ignore-glob='proteus/tests/periodic/*test_periodic.py' --ignore proteus/tests/solver_tests/test_nse_RANS2P_step.py --ignore proteus/tests/poisson_2d --cov=proteus
- py.test -n 1 --forked -v proteus/tests --ignore proteus/tests/solver_tests --ignore proteus/tests/POD --ignore=proteus/tests/MoveMeshMonitor --ignore proteus/tests/periodic
- py.test -n 1 --forked -v air-water-vv/Tests/1st_set
- py.test -n 1 --forked -v air-water-vv/Tests/2nd_set --ignore air-water-vv/Tests/2nd_set/test_randomWaves.py
- py.test -n 1 --forked -v proteus/tests/FSI
3 changes: 2 additions & 1 deletion CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

- Copyright 2017 U.S. Federal Government (in countries where recognized) christopher.e.kees@usace.army.mil
- Copyright 2017 Chris Kees cekees@gmail.com
- Copyright 2017 HR Wallingford Limited A.Dimakopoulos@hrwallingford.com
- Copyright 2017 HR Wallingford Limited angdimak@gmail.com
- Copyright 2017 Alvin Zhang alv.zhang@gmail.com
- Copyright 2017 Alistair Bentley alistairbntl@gmail.com
- Copyright 2017 Steven Mattis steve.a.mattis@gmail.com
Expand All @@ -25,6 +25,7 @@
- Copyright 2019 David Brochart david.brochart@quantstack.net
- Copyright 2019 Martin Renou martin.renou@quantstack.net
- Copyright 2019 Eric Tovar eric.j.tovar@usace.army.mil
- Copyright 2022 Jan Janssen janssen@lanl.gov

**Note for U.S. Federal Employees**

Expand Down
12 changes: 8 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,10 @@ clean:

distclean: clean
-rm -f stack.done
ifdef CONDA_PREFIX
else
-rm -rf ${PROTEUS_PREFIX}
endif
-rm -rf build proteus/*.pyc proteus/*.so proteus/*.a proteus/MeshAdaptPUMI/*.so
-rm -rf build proteus/mprans/*.pyc proteus/mprans/*.so proteus/mprans/*.a
-rm -rf build proteus/richards/*.pyc proteus/richards/*.so proteus/richards/*.a
Expand All @@ -115,7 +118,7 @@ stack/hit/bin/hit:
cd stack && git submodule update --init
@echo "Adding source cache if not done already"
-./stack/hit/bin/hit init-home
-./stack/hit/bin/hit remote add http://levant.hrwallingford.com/hashdist_src --objects="source"
-./stack/hit/bin/hit remote add https://proteus.cee.lsu.edu/hashdist_src --objects="source"

stack:
@echo "Updating stack submodule"
Expand All @@ -128,7 +131,7 @@ air-water-vv:
bld_cache: stack/hit/bin/hit
@echo "Trying to add build cache for your arch"
HASHSTACK_BLD = $(shell lsb_release -ir | python3 -c "import sys; rel=dict((k.split(':')[0].split()[0],k.split(':')[1].strip().replace('.','_').lower()) for k in sys.stdin.readlines()); print('{Distributor}_{Release}'.format(**rel))")
./stack/hit/bin/hit remote add http://levant.hrwallingford.com/hashdist_${HASHSTACK_BLD} --objects="build"
./stack/hit/bin/hit remote add https://proteus.cee.lsu.edu/hashdist_${HASHSTACK_BLD} --objects="build"

cygwin_bootstrap.done: stack/scripts/setup_cygstack.py stack/scripts/cygstack.txt
python3 stack/scripts/setup_cygstack.py stack/scripts/cygstack.txt
Expand Down Expand Up @@ -194,6 +197,7 @@ develop: ${PROTEUS_PREFIX}/bin/proteus_env.sh stack/default.yaml ${PROTEUS_PREFI
@echo "Installing development version"
@echo "************************"
$(call show_info)
${PROTEUS_ENV} pip install py2gmsh pytest pytest-xdist pytest-cov tables future
${PROTEUS_ENV} ${PROTEUS_DEVELOP_BUILD_CMD}
${PROTEUS_ENV} ${PROTEUS_DEVELOP_CMD}
@echo "************************"
Expand Down Expand Up @@ -354,9 +358,9 @@ endif
printf "c.LocalEngineSetLauncher.engine_cmd = ['python', '-m', 'ipyparallel.engine']\n" >> ${HOME}/.ipython/profile_mpi/ipcluster_config.py
printf "c.MPIEngineSetLauncher.engine_cmd = ['python', '-m', 'ipyparallel.engine']\n" >> ${HOME}/.ipython/profile_mpi/ipcluster_config.py
ifdef CONDA_PREFIX
cd ${CONDA_PREFIX}/lib/python3.7/site-packages/notebook/static/components/react && wget https://unpkg.com/react-dom@16/umd/react-dom.production.min.js
cd ${CONDA_PREFIX}/lib/python3.9/site-packages/notebook/static/components/react && wget https://unpkg.com/react-dom@16/umd/react-dom.production.min.js
else
cd linux/lib/python3.7/site-packages/notebook/static/components/react && wget https://unpkg.com/react-dom@16/umd/react-dom.production.min.js
cd linux/lib/python3.9/site-packages/notebook/static/components/react && wget https://unpkg.com/react-dom@16/umd/react-dom.production.min.js
endif

jupyterlab:
Expand Down
21 changes: 11 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,12 @@
# Proteus: Computational Methods and Simulation Toolkit [![Build Status](https://travis-ci.com/erdc/proteus.svg?branch=master)](https://travis-ci.com/erdc/proteus) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/erdc/proteus_tutorial/master?filepath=index.ipynb) [![DOI](https://zenodo.org/badge/2212385.svg)](https://zenodo.org/badge/latestdoi/2212385)
# Proteus: Computational Methods and Simulation Toolkit [![Build Status](https://travis-ci.com/erdc/proteus.svg?branch=main)](https://travis-ci.com/erdc/proteus) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/erdc/proteus_tutorial/master?filepath=index.ipynb) [![DOI](https://zenodo.org/badge/2212385.svg)](https://zenodo.org/badge/latestdoi/2212385)


Proteus (http://proteustoolkit.org) is a Python package for
rapidly developing computer models and numerical methods.

# Installation

The recommended way is the following:

```bash
make develop
make test
```
https://github.com/erdc/proteus/wiki/How-to-Build-Proteus

However, we are transitioning to a conda-based environment. Proteus can be installed with:

```bash
conda install proteus -c conda-forge
Expand All @@ -25,9 +17,18 @@ For a development installation, you want to install Proteus's dependencies and c
```bash
conda env create -f environment-dev.yml
conda activate proteus-dev
pip install -v -e .
make develop-conda # or pip install -v -e .
```

You can also build proteus and dependencies from source (without conda) with

```bash
make develop
make test
```

See https://github.com/erdc/proteus/wiki/How-to-Build-Proteus for more information on building the entire stack.

# Developer Information

The source code, wiki, and issue tracker are on GitHub at
Expand Down
3 changes: 3 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ignore:
- "proteus/tests"
- "proteus/scripts"
2 changes: 1 addition & 1 deletion docker/conda/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ ENV F90 mpif90
RUN rm -rf proteus && \
git clone https://github.com/erdc/proteus && \
cd proteus && \
git checkout master && \
git checkout main && \
pip install -v -e . && \
rm -rf build && \
rm -rf air-water-vv && \
Expand Down
33 changes: 0 additions & 33 deletions docker/hashdist-gcc8/Dockerfile

This file was deleted.

33 changes: 0 additions & 33 deletions docker/hashdist-gcc9/Dockerfile

This file was deleted.

2 changes: 1 addition & 1 deletion docker/hashdist/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ ENV F90 mpif90
RUN rm -rf proteus && \
git clone https://github.com/erdc/proteus && \
cd proteus && \
git checkout master && \
git checkout main && \
git submodule update --init --recursive && \
make PROTEUS_OPT="-DNDEBUG -g0 -O0" N=1 develop && \
rm -rf air-water-vv && \
Expand Down
2 changes: 1 addition & 1 deletion docker/jupyter/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ ENV F90 mpif90
RUN rm -rf proteus && \
git clone https://github.com/erdc/proteus && \
cd proteus && \
git checkout master && \
git checkout main && \
git submodule update --init --recursive && \
make PROTEUS_OPT="-DNDEBUG -g0 -O2" N=2 develop && \
CC=gcc CXX=g++ ./linux/bin/pip3 install matplotlib && \
Expand Down
3 changes: 2 additions & 1 deletion docs/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ PROJECT_NAME = proteus
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 1.7.5.dev0
PROJECT_NUMBER = 1.8.1

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short.
Expand Down
Binary file modified docs/source/_static/proteus.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/source/_static/red_corps_castle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 6dbd9e2

Please sign in to comment.