Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add missing inclusion #9

Open
wants to merge 81 commits into
base: fix_stresses_elasticity
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
9507db5
release task: update version info
tjhei Jul 11, 2022
1ed23ed
fix doxygen formatting
tjhei Jul 11, 2022
04352d2
indent
tjhei Jul 11, 2022
9b18f58
Fix cmake with newer version of world builder.
MFraters Jul 12, 2022
2b9c2bc
delete old broken links from readme
tjhei Jul 11, 2022
3cfeabf
Prevent overwriting artifacts
gassmoeller Jul 13, 2022
a5a3366
Add docker image build
gassmoeller Jul 13, 2022
36e6a4f
Address review comments
gassmoeller Jul 13, 2022
620ea40
fix readme tutorial link
tjhei Jul 15, 2022
348e460
release task: update manual
tjhei Jul 17, 2022
155c356
manual: fix docker instructions
tjhei Jul 17, 2022
684171c
fix bunge et al cookbook
tjhei Jul 17, 2022
28044ee
rework world builder config and fix deprecations.
MFraters Jul 20, 2022
02afb5c
version 2.4.0-rc1
tjhei Jul 21, 2022
4e17b66
update gitattributes
tjhei Jul 21, 2022
4426c6b
version 2.4.0
tjhei Jul 24, 2022
5a132dc
Add TODOs
anne-glerum Sep 30, 2021
71ff543
Update TODOs based on discussion and reviews
anne-glerum Oct 4, 2021
103dda2
Update TODO
anne-glerum Oct 6, 2021
53b9f69
Update TODOs
anne-glerum Oct 13, 2021
8802f9d
Add reaction_rates
anne-glerum Oct 22, 2021
48156ba
Update according to App E
anne-glerum Oct 28, 2021
ff2f694
Add ReactionRates
anne-glerum Oct 29, 2021
dffd83d
Update fill_reaction_terms
anne-glerum Oct 29, 2021
336673c
Update fill_elastic_force_outputs
anne-glerum Oct 29, 2021
3b0524d
Update parse_parameters
anne-glerum Oct 29, 2021
c20e42e
Update calculate_isostrain_viscosities
anne-glerum Oct 29, 2021
4090596
Assert no plastic damper
anne-glerum Oct 29, 2021
7583f02
Update comments
anne-glerum Oct 29, 2021
311ed83
Fix 2 bugs
anne-glerum Oct 29, 2021
7843084
Fix bug and indent
anne-glerum Nov 1, 2021
b5dc43d
Use same averaging moduli as viscosity
anne-glerum Nov 1, 2021
d6de736
Update comments
anne-glerum Nov 1, 2021
b8fde2a
Fix bug reaction rate
anne-glerum Nov 1, 2021
e00d021
Update stress visu pp for new vep formulation
anne-glerum Nov 1, 2021
2a2ebe8
Update benchmark prm
anne-glerum Nov 1, 2021
6e404fc
Add pp to output the min and max of the stress components
anne-glerum Nov 1, 2021
ec8c147
Get and use elastic viscosity
anne-glerum Nov 2, 2021
28cc1b3
Address comments
anne-glerum Nov 9, 2021
91827cd
Fix reaction terms and update some comments
anne-glerum Nov 25, 2021
d95d36e
Fix old evaluation of composition
anne-glerum Dec 10, 2021
f4097fa
Add yielding to plastic output
anne-glerum Jan 19, 2022
e6c41f8
Add stress residual pp
anne-glerum Jan 19, 2022
2ae05b1
Use evaluator for old composition solution
anne-glerum Jan 25, 2022
36e3f89
Make composition evaluator only for indep tensor comp
anne-glerum Jan 26, 2022
f390147
Use solution and reaction term for particle stress
anne-glerum Feb 3, 2022
953132d
Use max composition for plastic output angles
anne-glerum Feb 4, 2022
26a8bcc
Fix precision statistiscs
anne-glerum Apr 20, 2022
2dc7b7a
Add reaction rates to VE MM
anne-glerum May 16, 2022
713e457
Address comments
anne-glerum Jun 27, 2022
cb74725
Update benchmarks
anne-glerum Jun 28, 2022
9326be0
Update stress postprocessors
anne-glerum Jun 28, 2022
b6e958d
Indent
anne-glerum Jun 28, 2022
7419384
Add DG for composition to all prms
anne-glerum Jul 11, 2022
e7ae34b
Assert discontinuous composition discretization
anne-glerum Jul 11, 2022
e61d077
Use iterated Advection and (Newton) Stokes in all prms
anne-glerum Jul 11, 2022
e3ee167
Use operator splitting in all prms
anne-glerum Jul 11, 2022
169b44f
Also assert for viscoelastic material model
anne-glerum Jul 11, 2022
9f556e8
Add VE relaxation benchmark
anne-glerum Jul 11, 2022
bf7f34b
Add VE relaxation benchmark python plotting script
anne-glerum Jul 11, 2022
f709786
Also plot error VE relaxation benchmark
anne-glerum Jul 11, 2022
d67f2a6
Add particle version VE relaxation benchmark
anne-glerum Jul 11, 2022
9068f4c
Update counter and add labels
anne-glerum Jul 11, 2022
0524edc
Add more runs, markers and labels
anne-glerum Jul 12, 2022
d02d8d5
Part 1 stress averaging
anne-glerum Jul 21, 2022
3781f70
Part 2 stress averaging
anne-glerum Jul 22, 2022
aae0a1d
Use correctly scaled viscosities and avoid timestep_ratio of zero at t0
anne-glerum Jul 22, 2022
d428520
Only output statistics for the current stress
anne-glerum Jul 22, 2022
7ecb044
Add function to get elastic timestep
anne-glerum Jul 25, 2022
a06d498
Fix timestep in pp
anne-glerum Jul 25, 2022
2342c26
Use correct timestep in t0
anne-glerum Jul 25, 2022
e1f9b90
Clean up and indent
anne-glerum Jul 25, 2022
5d23105
Also update viscoelastic material model for stress averaging
anne-glerum Jul 26, 2022
b3b0455
Simplify order ve viscosity calculation
anne-glerum Jul 26, 2022
54ab35e
Add includes lost in rebase
anne-glerum Aug 2, 2022
8d37c61
Indent
anne-glerum Aug 2, 2022
30a7ab5
Update stress pp for dtc isnot dte
anne-glerum Aug 2, 2022
53f6eab
Clean up after review 1
anne-glerum Oct 4, 2022
be78904
Address review comments 2
anne-glerum Oct 17, 2022
6dadc58
Use stored particle property instead of interpolated solution
anne-glerum Oct 17, 2022
ea4d3ad
Inclusion for non-unity builds
sac-bsa Jan 30, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# The following files do not need to be in the release tarballs:
.github/ export-ignore
.gitattributes export-ignore
.gitignore export-ignore
doc/bump_version.sh export-ignore
doc/release-tasklist export-ignore
.gitmodules export-ignore
contrib/release/ export-ignore
doc/sphinx/ export-ignore
doc/manual/ export-ignore
doc/release-tasklist export-ignore
doc/update_parameters.sh export-ignore
Jenkinsfile export-ignore
.zenodo.json export-ignore
Expand All @@ -21,4 +21,3 @@ tests/**/*.gnuplot linguist-generated

# The world builder code shouldnt' be counted to ASPECT.
contrib/world_builder/** linguist-vendored

54 changes: 54 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: github-docker

on:
push:
branches:
- 'main'
release:
types: [created]

concurrency:
group: docker-build
cancel-in-progress: true

permissions:
contents: read
packages: write

jobs:
build-docker:
runs-on: ubuntu-latest
if: github.repository == 'geodynamics/aspect'
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_LOGIN }}

- name: Build and push Docker image for main
if: contains(github.event_name, 'push')
uses: docker/build-push-action@v3
with:
context: ./contrib/docker/docker/
cache-from: type=registry,ref=dealii/dealii:v9.4.0-focal
cache-to: type=inline
push: true
tags: geodynamics/aspect:latest

- name: Build and push Docker image for release
if: contains(github.event_name, 'release')
uses: docker/build-push-action@v3
with:
context: ./contrib/docker/docker/
cache-from: type=registry,ref=dealii/dealii:v9.4.0-focal
cache-to: type=inline
push: true
tags: geodynamics/aspect:${{github.ref_name}}

5 changes: 4 additions & 1 deletion .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,14 +100,17 @@ jobs:
- image: "geodynamics/aspect-tester:focal-dealii-9.3-v2"
run-tests: "ON"
compare-tests: "ON"
result-file: "changes-test-results-9.3.diff"
container-options: '--name container'
- image: "geodynamics/aspect-tester:focal-dealii-9.4-v2"
run-tests: "ON"
compare-tests: "OFF"
result-file: "changes-test-results-9.4.diff"
container-options: '--name container'
- image: dealii/dealii:master-focal
run-tests: "ON"
compare-tests: "OFF"
result-file: "changes-test-results-master.diff"
container-options: '--user 0 --name container'

container:
Expand Down Expand Up @@ -154,7 +157,7 @@ jobs:
- name: archive test results
uses: actions/upload-artifact@v2
with:
name: changes-test-results.diff
name: ${{ matrix.result-file }}
path: build/changes-test-results.diff
- name: check test results
run: |
Expand Down
26 changes: 21 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -139,19 +139,35 @@ if(ASPECT_WITH_WORLD_BUILDER)
MESSAGE(STATUS "Using World Builder version ${WORLD_BUILDER_VERSION} found at ${WORLD_BUILDER_SOURCE_DIR}.")

# add source and include dirs:
FILE(GLOB_RECURSE wb_files "${WORLD_BUILDER_SOURCE_DIR}/source/*.cc")
IF(WORLD_BUILDER_VERSION VERSION_LESS 0.5.0)
FILE(GLOB_RECURSE wb_files "${WORLD_BUILDER_SOURCE_DIR}/source/*.cc")
ELSE()
FILE(GLOB_RECURSE wb_files "${WORLD_BUILDER_SOURCE_DIR}/source/world_builder/*.cc")
ENDIF()
LIST(APPEND TARGET_SRC ${wb_files})

# generate config.cc and include it:
CONFIGURE_FILE("${WORLD_BUILDER_SOURCE_DIR}/source/config.cc.in" "${CMAKE_BINARY_DIR}/world_builder_config.cc" @ONLY)
LIST(INSERT TARGET_SRC 0 "${CMAKE_BINARY_DIR}/world_builder_config.cc")
IF(WORLD_BUILDER_VERSION VERSION_LESS 0.5.0)
CONFIGURE_FILE("${WORLD_BUILDER_SOURCE_DIR}/source/config.cc.in" "${CMAKE_BINARY_DIR}/source/world_builder/config.cc" @ONLY)
LIST(INSERT TARGET_SRC 0 "${CMAKE_BINARY_DIR}/source/world_builder/config.cc")
FILE(REMOVE "${CMAKE_BINARY_DIR}/include/world_builder/config.h")
ELSE()
CONFIGURE_FILE("${WORLD_BUILDER_SOURCE_DIR}/include/world_builder/config.h.in" "${CMAKE_BINARY_DIR}/include/world_builder/config.h" @ONLY)
INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}/include/")
FILE(REMOVE "${CMAKE_BINARY_DIR}/source/world_builder/config.cc")
ENDIF()

# Move some file to the end for unity builds to make sure other file come
# "before". Note: The current design keeps all ASPECT files (including
# ASPECT_UNITY_LAST files) before all GWB files. Mixing them will causes
# many issues with non-unique namespace names like Utilities.
SET(UNITY_WB_LAST_FILES
"${WORLD_BUILDER_SOURCE_DIR}/source/parameters.cc")
IF(WORLD_BUILDER_VERSION VERSION_LESS 0.5.0)
SET(UNITY_WB_LAST_FILES
"${WORLD_BUILDER_SOURCE_DIR}/source/parameters.cc")
ELSE()
SET(UNITY_WB_LAST_FILES
"${WORLD_BUILDER_SOURCE_DIR}/source/world_builder/parameters.cc")
ENDIF()

FOREACH(_source_file ${UNITY_WB_LAST_FILES})
LIST(FIND TARGET_SRC ${_source_file} _index)
Expand Down
8 changes: 3 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,8 @@ output of ASPECT can also be found in the ASPECT
[manual](http://www.math.clemson.edu/~heister/manual.pdf). This manual also
discusses the structure of the source code.

For getting started, you can also watch our online
[tutorial](https://geodynamics.org/cig/events/calendar/2016-cig-all-hands-meeting/aspect-tutorial/tutorial/).

For getting started, you can also watch recordings from our
[tutorials](https://github.com/geodynamics/aspect/wiki/Tutorial-Materials).


Contributing to ASPECT
Expand All @@ -70,10 +69,9 @@ For more information see:
- The current [Online Documentation](https://aspect-documentation.readthedocs.io/en/latest/)
- The current [PDF Manual](http://www.math.clemson.edu/~heister/manual.pdf)
- [How to cite ASPECT](https://aspect.geodynamics.org/cite.html)
- For questions on the source code of ASPECT, portability, installation, new or existing features, etc., use the [ASPECT forum](https://community.geodynamics.org/c/aspect). This forum is where the ASPECT users and developers all hang out. Archived discussions from the inactive aspect-devel mailing list can be downloaded at [aspect-devel archives](http://lists.geodynamics.org/pipermail/aspect-devel).
- For questions on the source code of ASPECT, portability, installation, new or existing features, etc., use the [ASPECT forum](https://community.geodynamics.org/c/aspect). This forum is where the ASPECT users and developers all hang out.
- See the [Future Plan Board](https://github.com/geodynamics/aspect/projects/2) for a high level overview of items in development.
- ASPECT is primarily based on the deal.II library. If you have particular questions about deal.II, contact the [deal.II discussion groups](https://www.dealii.org/mail.html).
- In case of more general questions about mantle convection, you can contact the [CIG mantle convection mailing lists](http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-MC).
- ASPECT is being developed by a large, collaborative, and inclusive community. It is currently maintained by the following people:
- Wolfgang Bangerth: [email protected]
- Juliane Dannberg: [email protected]
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.5.0-pre
2.4.0
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ set Dimension = 2
set Start time = 0
set End time = 1500
set Use years in output instead of seconds = true
set Nonlinear solver scheme = single Advection, single Stokes
set Nonlinear solver scheme = iterated Advection and Stokes
set CFL number = 0.5
set Maximum time step = 10
set Output directory = output_free_surface_VE_cylinder_2D_loading
Expand Down Expand Up @@ -38,11 +38,24 @@ subsection Mesh refinement
set Strategy = strain rate
end

# One operator splitting step to update the stresses
set Use operator splitting = true

subsection Solver parameters
# Make sure to do only 1 splitting step
subsection Operator splitting parameters
set Reaction time step = 5000 # larger than maximum Stokes time step
set Reaction time steps per advection step = 1
end
end

# Element types
subsection Discretization
set Composition polynomial degree = 2
set Stokes velocity polynomial degree = 2
set Temperature polynomial degree = 1
# DG for viscoelastic stresses
set Use discontinuous composition discretization = true
end

# Formulation classification
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ set Dimension = 3
set Start time = 0
set End time = 1500
set Use years in output instead of seconds = true
set Nonlinear solver scheme = single Advection, single Stokes
set Nonlinear solver scheme = iterated Advection and Stokes
set CFL number = 0.5
set Maximum time step = 10
set Output directory = output_free_surface_VE_cylinder_3D_loading
Expand Down Expand Up @@ -39,11 +39,24 @@ subsection Mesh refinement
set Strategy = strain rate
end

# One operator splitting step to update the stresses
set Use operator splitting = true

subsection Solver parameters
# Make sure to do only 1 splitting step
subsection Operator splitting parameters
set Reaction time step = 5000 # larger than maximum Stokes time step
set Reaction time steps per advection step = 1
end
end

# Element types
subsection Discretization
set Composition polynomial degree = 2
set Stokes velocity polynomial degree = 2
set Temperature polynomial degree = 1
# DG for viscoelastic stresses
set Use discontinuous composition discretization = true
end

# Formulation classification
Expand Down
13 changes: 13 additions & 0 deletions benchmarks/viscoelastic_bending_beam/viscoelastic_bending_beam.prm
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,19 @@ set Maximum time step = 1e3
set Output directory = output
set Pressure normalization = surface
set Surface pressure = 0.
set Nonlinear solver scheme = iterated Advection and Stokes
set Nonlinear solver tolerance = 1e-5
set Max nonlinear iterations = 100

set Use operator splitting = true

subsection Solver parameters
# Make sure to do only 1 splitting step
subsection Operator splitting parameters
set Reaction time step = 5000 # larger than maximum Stokes time step
set Reaction time steps per advection step = 1
end
end

# Solver settings
subsection Solver parameters
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,28 @@ include $ASPECT_SOURCE_DIR/benchmarks/viscoelastic_plastic_shear_bands/gerya_201
# Global parameters
set End time = 500
set Output directory = output_gerya_2019_vep
set Nonlinear solver scheme = iterated Advection and Stokes

# One operator splitting step to update the stresses
set Use operator splitting = true

subsection Solver parameters
# Make sure to do only 1 splitting step
subsection Operator splitting parameters
set Reaction time step = 5000 # larger than maximum Stokes time step
set Reaction time steps per advection step = 1
end
end

subsection Formulation
set Enable elasticity = true
end

subsection Discretization
# DG for viscoelastic stresses
set Use discontinuous composition discretization = true
end

# Number and name of compositional fields
subsection Compositional fields
set Number of fields = 6
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ set Dimension = 2
set Start time = 0
set End time = 20e3
set Use years in output instead of seconds = true
set Nonlinear solver scheme = single Advection, iterated Stokes
set Nonlinear solver scheme = iterated Advection and Stokes
set Nonlinear solver tolerance = 1e-4
set Max nonlinear iterations = 100
set CFL number = 0.5
Expand All @@ -31,6 +31,17 @@ set Output directory = output_kaus_2010_extension
set Timing output frequency = 1
set Pressure normalization = no

# One operator splitting step to update the stresses
set Use operator splitting = true

subsection Solver parameters
# Make sure to do only 1 splitting step
subsection Operator splitting parameters
set Reaction time step = 5000 # larger than maximum Stokes time step
set Reaction time steps per advection step = 1
end
end

# Solver settings
subsection Solver parameters
subsection Stokes solver parameters
Expand Down Expand Up @@ -64,6 +75,8 @@ subsection Discretization
set Composition polynomial degree = 2
set Stokes velocity polynomial degree = 2
set Temperature polynomial degree = 1
# DG for viscoelastic stresses
set Use discontinuous composition discretization = true
end

# Formulation classification
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,22 @@ set Maximum time step = 0.01
set Output directory = output-viscoelastic_plastic_simple_shear
set Pressure normalization = surface
set Surface pressure = 0.
set Nonlinear solver scheme = single Advection, iterated Stokes
set Nonlinear solver scheme = iterated Advection and Stokes
set Max nonlinear iterations = 30
set Nonlinear solver tolerance = 1e-5
set Max nonlinear iterations in pre-refinement = 0

# To update the elastic stresses,
# we do 1 operator splitting step.
set Use operator splitting = true

subsection Solver parameters
# Make sure to do only 1 splitting step
subsection Operator splitting parameters
set Reaction time step = 5000 # larger than maximum Stokes time step
set Reaction time steps per advection step = 1
end
end

# Solver settings
subsection Solver parameters
Expand All @@ -42,6 +53,11 @@ subsection Solver parameters
end
end

subsection Discretization
# DG for viscoelastic stresses
set Use discontinuous composition discretization = true
end

subsection Geometry model
set Model name = box
subsection Box
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,24 @@ set Dimension = 2
set Start time = 0
set End time = 1e3
set Use years in output instead of seconds = true
set Nonlinear solver scheme = single Advection, single Stokes
set Nonlinear solver scheme = iterated Advection and Stokes
set CFL number = 0.1
set Maximum time step = 5
set Output directory = output-viscoelastic_plate_flexure
set Pressure normalization = no

# To update the elastic stresses,
# we do 1 operator splitting step.
set Use operator splitting = true

subsection Solver parameters
# Make sure to do only 1 splitting step
subsection Operator splitting parameters
set Reaction time step = 5000 # larger than maximum Stokes time step
set Reaction time steps per advection step = 1
end
end

# Model geometry (500 m initial resolution)
subsection Geometry model
set Model name = box
Expand Down
Loading