Skip to content

Commit

Permalink
Merge branch 'geodynamics:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
Francyrad authored Dec 1, 2024
2 parents ff65da3 + f37c7fc commit f144dcc
Show file tree
Hide file tree
Showing 2,542 changed files with 86,549 additions and 56,078 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
run: |
mkdir build-no-unity
cd build-no-unity
cmake -D CMAKE_BUILD_TYPE=Debug -D ASPECT_PRECOMPILE_HEADERS=OFF -D ASPECT_UNITY_BUILD=OFF -D CMAKE_CXX_FLAGS='-Werror' ..
cmake -D CMAKE_BUILD_TYPE=Debug -D ASPECT_PRECOMPILE_HEADERS=OFF -D ASPECT_UNITY_BUILD=OFF -D CMAKE_CXX_FLAGS='-Werror' -D ASPECT_ADDITIONAL_CXX_FLAGS='-Wdeprecated-declarations' ..
make -j 4
./aspect --test
Expand Down Expand Up @@ -130,7 +130,7 @@ jobs:
-D CMAKE_BUILD_TYPE=Debug \
-G 'Ninja' \
-D CMAKE_CXX_FLAGS='-Werror' \
-D ASPECT_ADDITIONAL_CXX_FLAGS='-O3' \
-D ASPECT_ADDITIONAL_CXX_FLAGS='-O3 -Wdeprecated-declarations' \
-D ASPECT_TEST_GENERATOR='Ninja' \
-D ASPECT_PRECOMPILE_HEADERS=ON \
-D ASPECT_UNITY_BUILD=ON \
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
/benchmarks/**/cmake_install.cmake
/benchmarks/**/lib*.so
/benchmarks/**/aspect
/benchmarks/**/aspect-debug
/benchmarks/**/aspect-release
/benchmarks/**/temp.prm
/benchmarks/tangurnis/*/*csv
/benchmarks/tangurnis/*/solution*
Expand All @@ -30,6 +32,8 @@
/cookbooks/**/lib*.so
/cookbooks/**/Makefile
/cookbooks/**/aspect
/cookbooks/**/aspect-debug
/cookbooks/**/aspect-release
/detailed.log
/doc/aspect.dox
/doc/aspect.tag
Expand Down
24 changes: 16 additions & 8 deletions AUTHORS.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,41 @@
(sec:authors)=
# Authors

ASPECT is being developed by a large, collaborative, and inclusive
community. The code and its community are currently maintained by the
following *Maintainers*:

* Wolfgang Bangerth (Colorado State University, USA)
* Juliane Dannberg (University of Florida, USA)
* Juliane Dannberg (GEOMAR Helmholtz Centre for Ocean Research, Germany)
* Menno Fraters (University of California, Davis, USA)
* Rene Gassmoeller (University of Florida, USA)
* Rene Gassmoeller (GEOMAR Helmholtz Centre for Ocean Research, Germany)
* Anne Glerum (Geoforschungszentrum Potsdam, Germany)
* Timo Heister (Clemson University, USA)
* Bob Myhill (University of Bristol, UK)
* John Naliboff (New Mexico Tech, USA)

## Principal developers

The following people currently serve as *Principal Developers* -- people
who have and are providing substantial technical contributions to ASPECT:

* Jacky Austermann (Columbia University and Lamont-Doherty Earth Observatory, USA)
* Wolfgang Bangerth (Colorado State University, USA)
* Juliane Dannberg (University of Florida, USA)
* Juliane Dannberg (GEOMAR Helmholtz Centre for Ocean Research, Germany)
* Menno Fraters (University of California, Davis, USA)
* Rene Gassmoeller (University of Florida, USA)
* Rene Gassmoeller (GEOMAR Helmholtz Centre for Ocean Research, Germany)
* Anne Glerum (Geoforschungszentrum Potsdam, Germany)
* Timo Heister (Clemson University, USA)
* Bob Myhill (University of Bristol, UK)
* John Naliboff (New Mexico Tech, USA)
* Cedric Thieulot (Utrecht University, Netherlands)

## Community

A complete and growing list of the many authors that have contributed to ASPECT
can be found [in our Github repository](https://github.com/geodynamics/aspect/graphs/contributors).

A complete and growing list of the many authors that have contributed
over the years can be found at [here](https://github.com/geodynamics/aspect/graphs/contributors).
**With special contributions to the manual by:** Jacqueline Austermann, Magali Billen, Markus Bürg, Thomas Clevenger, Samuel Cox, William Durkin, Grant Euen, Thomas Geenen, Ryan Grove, Eric Heien, Ludovic Jeanniot, Louise Kellogg, Scott King, Martin Kronbichler, Marine Lasbleis, Haoyuan Li, Shangxin Liu, Hannah Mark, Elvira Mulyukova, Bart Niday, Jonathan Perry-Houts, Elbridge Gerry Puckett, Tahiry Rajaonarison, Fred Richards, Jonathan Robey, Ian Rose, Max Rudolph, Stephanie Sparks, D. Sarah Stamps, Cedric Thieulot, Wanying Wang, Iris van Zelst, Siqi Zhang.

We are grateful for the contributions of all of these people, and
their participation in our community!
We are grateful for all contributions to ASPECT and its documentation, and
your participation in our community!
66 changes: 18 additions & 48 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (C) 2013 - 2023 by the authors of the ASPECT code.
# Copyright (C) 2013 - 2024 by the authors of the ASPECT code.
#
# This file is part of ASPECT.
#
Expand Down Expand Up @@ -91,6 +91,8 @@ else()
set(ASPECT_BUILD_RELEASE "OFF")
endif()

# Some other ASPECT configuration options:
set(ASPECT_MAX_NUM_PARTICLE_SYSTEMS 2 CACHE STRING "The maximum number of particle systems supported at runtime.")



Expand Down Expand Up @@ -290,7 +292,8 @@ if(ASPECT_WITH_WORLD_BUILDER)

set(WB_TARGET "WorldBuilderDebug")
add_subdirectory("${WORLD_BUILDER_SOURCE_DIR}" ${CMAKE_BINARY_DIR}/world_builder/)
target_compile_options(WorldBuilderDebug PRIVATE "-g" "${ASPECT_ADDITIONAL_CXX_FLAGS}")
separate_arguments(SEPARATED_FLAGS NATIVE_COMMAND ${ASPECT_ADDITIONAL_CXX_FLAGS})
target_compile_options(WorldBuilderDebug PRIVATE "-g" "${SEPARATED_FLAGS}")

set(CMAKE_BUILD_TYPE ${_build_type})
endif()
Expand All @@ -306,7 +309,9 @@ if(ASPECT_WITH_WORLD_BUILDER)
set(WB_TARGET "WorldBuilderRelease")
add_subdirectory("${WORLD_BUILDER_SOURCE_DIR}" ${CMAKE_BINARY_DIR}/world_builder_release/)
target_compile_definitions(WorldBuilderRelease PUBLIC "NDEBUG")
target_compile_options(WorldBuilderRelease PRIVATE "-O3" "${ASPECT_ADDITIONAL_CXX_FLAGS}")

separate_arguments(SEPARATED_FLAGS NATIVE_COMMAND ${ASPECT_ADDITIONAL_CXX_FLAGS})
target_compile_options(WorldBuilderRelease PRIVATE "-O3" "${SEPARATED_FLAGS}")

set(CMAKE_BUILD_TYPE ${_build_type})
endif()
Expand Down Expand Up @@ -769,12 +774,17 @@ if (${FORCE_COLORED_OUTPUT})
endif()
endif()

# deal.II versions >=9.5 disable deprecation warnings in user code. Enable
# the warnings again by removing the flag that disables them.
string(REPLACE "-Wno-deprecated-declarations" "" DEAL_II_WARNING_FLAGS "${DEAL_II_WARNING_FLAGS}")

set(ASPECT_ADDITIONAL_CXX_FLAGS "" CACHE STRING "Additional CMAKE_CXX_FLAGS applied after the deal.II options.")

if(NOT ASPECT_ADDITIONAL_CXX_FLAGS STREQUAL "")
message(STATUS "Appending ASPECT_ADDITIONAL_CXX_FLAGS: '${ASPECT_ADDITIONAL_CXX_FLAGS}':")
string(APPEND DEAL_II_CXX_FLAGS_DEBUG " ${ASPECT_ADDITIONAL_CXX_FLAGS}")
string(APPEND DEAL_II_CXX_FLAGS_RELEASE " ${ASPECT_ADDITIONAL_CXX_FLAGS}")
message(STATUS " DEAL_II_WARNING_FLAGS: ${DEAL_II_WARNING_FLAGS}")
message(STATUS " DEAL_II_CXX_FLAGS_DEBUG: ${DEAL_II_CXX_FLAGS_DEBUG}")
message(STATUS " DEAL_II_CXX_FLAGS_RELEASE: ${DEAL_II_CXX_FLAGS_RELEASE}")
endif()
Expand Down Expand Up @@ -827,6 +837,11 @@ if(${ASPECT_BUILD_RELEASE} STREQUAL "ON")
endif()
endif()

# turn on debug checks like invalid element access in c++ standard library:
if(${ASPECT_BUILD_DEBUG} STREQUAL "ON")
target_compile_definitions(${TARGET_EXE_DEBUG} PUBLIC "_GLIBCXX_ASSERTIONS")
endif()


# ##############################################################################
# Make sure we correctly link with external libraries
Expand Down Expand Up @@ -999,51 +1014,6 @@ MESSAGE(STATUS "===== Configuring ASPECT documentation =============")

add_subdirectory(doc)


# Find the deal.II parameter GUI and install helper script
find_program(PARAMETER_GUI_EXECUTABLE
parameter_gui
HINTS $ENV{PARAMETER_GUI_DIR} $ENV{PARAMETER_GUI_DIR}/bin ${PARAMETER_GUI_DIR} ${PARAMETER_GUI_DIR}/bin
PATH bin)
mark_as_advanced(CLEAR PARAMETER_GUI_EXECUTABLE)

# Did the user specify something that doesn't exist?
if(PARAMETER_GUI_EXECUTABLE
AND
(NOT EXISTS ${PARAMETER_GUI_EXECUTABLE} OR IS_DIRECTORY ${PARAMETER_GUI_EXECUTABLE}))
message(STATUS "Warning: PARAMETER_GUI_EXECUTABLE '${PARAMETER_GUI_EXECUTABLE}' does not exist")
set(PARAMETER_GUI_EXECUTABLE "PARAMETER_GUI_EXECUTABLE-NOTFOUND" CACHE FILEPATH "" FORCE)
endif()

if(NOT PARAMETER_GUI_EXECUTABLE)
message(STATUS "Parameter GUI not found: install and provide a hint using -D PARAMETER_GUI_DIR or set -D PARAMETER_GUI_EXECUTABLE directly.")
else()
message(STATUS "Found parameter GUI at: ${PARAMETER_GUI_EXECUTABLE}")
configure_file(
${CMAKE_SOURCE_DIR}/doc/aspect-gui
${CMAKE_BINARY_DIR}/aspect-gui
@ONLY
)
install(FILES ${CMAKE_BINARY_DIR}/aspect-gui
DESTINATION bin
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_READ GROUP_EXECUTE
WORLD_READ WORLD_EXECUTE)
endif()



# A target to create parameters.json after building the ASPECT binary.

add_custom_command(TARGET ${TARGET_EXE} POST_BUILD
COMMAND sh -c 'echo "" | ./$<TARGET_PROPERTY:${TARGET_EXE},OUTPUT_NAME> --output-json -- > parameters.json'
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})



message(STATUS "")
message(STATUS "===== Writing final configuration ==================")

include(cmake/write_config)

# print "info" if run for the first time:
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.6.0-pre
3.1.0-pre
2 changes: 1 addition & 1 deletion benchmarks/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (C) 2023 by the authors of the ASPECT code.
# Copyright (C) 2023 - 2024 by the authors of the ASPECT code.
#
# This file is part of ASPECT.
#
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/advection_in_annulus/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (C) 2015 - 2021 by the authors of the ASPECT code.
# Copyright (C) 2015 - 2024 by the authors of the ASPECT code.
#
# This file is part of ASPECT.
#
Expand Down
12 changes: 6 additions & 6 deletions benchmarks/advection_in_annulus/advection_in_annulus.cc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (C) 2011 - 2023 by the authors of the ASPECT code.
Copyright (C) 2011 - 2024 by the authors of the ASPECT code.
This file is part of ASPECT.
Expand Down Expand Up @@ -64,10 +64,10 @@ namespace aspect
const double theta = std::atan2(y,x);
const double f_r = A*r + B/r;
const double g_r = A*r/2 + B*std::log(r)/r + C/r;
const double v_r = g_r*k*sin(k*theta);
const double v_theta = f_r*cos(k*theta);
const double v_x = cos(theta)*v_r - sin(theta)*v_theta;
const double v_y = sin(theta)*v_r + cos(theta)*v_theta;
const double v_r = g_r*k*std::sin(k*theta);
const double v_theta = f_r*std::cos(k*theta);
const double v_x = std::cos(theta)*v_r - std::sin(theta)*v_theta;
const double v_y = std::sin(theta)*v_r + std::cos(theta)*v_theta;
return Point<2> (v_x,v_y);
}

Expand All @@ -82,7 +82,7 @@ namespace aspect
const double f_r = 2*r + B/r;
const double g_r = A*r/2 + B*std::log(r)/r + C/r;
const double h_r=(2*g_r-f_r)/r;
return k*h_r*sin(k*theta)+rho_0*gravity*(outer_radius-r);
return k*h_r*std::sin(k*theta)+rho_0*gravity*(outer_radius-r);
}

template <int dim>
Expand Down
6 changes: 5 additions & 1 deletion benchmarks/annulus/instantaneous/annulus.prm
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,12 @@ subsection Postprocess
end

subsection Visualization
set List of output variables = density, viscosity, strain rate, dynamic topography, AnnulusVisualizationPostprocessor
set List of output variables = material properties, strain rate, dynamic topography, AnnulusVisualizationPostprocessor
set Time between graphical output = 0

subsection Material properties
set List of material properties = density, viscosity
end
end
end

Expand Down
2 changes: 1 addition & 1 deletion benchmarks/annulus/plugin/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (C) 2015 - 2022 by the authors of the ASPECT code.
# Copyright (C) 2015 - 2024 by the authors of the ASPECT code.
#
# This file is part of ASPECT.
#
Expand Down
6 changes: 3 additions & 3 deletions benchmarks/annulus/plugin/annulus.cc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (C) 2011 - 2023 by the authors of the ASPECT code.
Copyright (C) 2011 - 2024 by the authors of the ASPECT code.
This file is part of ASPECT.
Expand Down Expand Up @@ -219,7 +219,7 @@ namespace aspect
const double r = spherical_position[0];
const double theta = spherical_position[1];

const double forcing_term = m(r,k)*k*sin(k*(theta-phase(t))) + rho_0;
const double forcing_term = m(r,k)*k*std::sin(k*(theta-phase(t))) + rho_0;
gravity_magnitude = forcing_term / Annulus_density(pos,k,t, transient);
}

Expand Down Expand Up @@ -615,7 +615,7 @@ namespace aspect
compute_dynamic_topography_error() const
{
const Postprocess::DynamicTopography<dim> &dynamic_topography =
this->get_postprocess_manager().template get_matching_postprocessor<Postprocess::DynamicTopography<dim>>();
this->get_postprocess_manager().template get_matching_active_plugin<Postprocess::DynamicTopography<dim>>();

const AnnulusMaterial<dim> &material_model
= Plugins::get_plugin_as_type<const AnnulusMaterial<dim>>(this->get_material_model());
Expand Down
9 changes: 6 additions & 3 deletions benchmarks/annulus/transient/transient_annulus.prm
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,12 @@ subsection Postprocess
end

subsection Visualization
set List of output variables = density, gravity, AnnulusVisualizationPostprocessor
set List of output variables = material properties, gravity, AnnulusVisualizationPostprocessor
set Time between graphical output = 0.1

subsection Material properties
set List of material properties = density
end
end

subsection Particles
Expand All @@ -76,13 +80,12 @@ subsection Particles
set Integration scheme = rk2
set Interpolation scheme = bilinear least squares
set List of particle properties = particle density
set Update ghost particles = true
set Particle generator name = random uniform
set Load balancing strategy = add particles
set Minimum particles per cell = 12

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 49152
end
end
Expand Down
6 changes: 5 additions & 1 deletion benchmarks/blankenbach/base_case1a.prm
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,11 @@ subsection Postprocess

subsection Visualization
set Time between graphical output = 0.05
set List of output variables = material properties, adiabat, thermal conductivity, heating, artificial viscosity
set List of output variables = material properties, adiabat, heating, artificial viscosity

subsection Material properties
set List of material properties = density, thermal expansivity, specific heat, viscosity, thermal conductivity
end
end
end

Expand Down
6 changes: 5 additions & 1 deletion benchmarks/blankenbach/base_case2a.prm
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,11 @@ subsection Postprocess

subsection Visualization
set Time between graphical output = 0.05
set List of output variables = material properties, adiabat, thermal conductivity, heating, artificial viscosity
set List of output variables = material properties, adiabat, heating, artificial viscosity

subsection Material properties
set List of material properties = density, thermal expansivity, specific heat, viscosity, thermal conductivity
end
end
end

Expand Down
6 changes: 5 additions & 1 deletion benchmarks/blankenbach/base_case2b.prm
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,11 @@ subsection Postprocess

subsection Visualization
set Time between graphical output = 0.002
set List of output variables = material properties, adiabat, thermal conductivity, heating, artificial viscosity
set List of output variables = material properties, adiabat, heating, artificial viscosity

subsection Material properties
set List of material properties = density, thermal expansivity, specific heat, viscosity, thermal conductivity
end
end
end

Expand Down
2 changes: 1 addition & 1 deletion benchmarks/blankenbach/plugin/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (C) 2011 - 2021 by the authors of the ASPECT code.
# Copyright (C) 2011 - 2024 by the authors of the ASPECT code.
#
# This file is part of ASPECT.
#
Expand Down
6 changes: 5 additions & 1 deletion benchmarks/buiter_et_al_2008_jgr/figure_6_1e20.prm
Original file line number Diff line number Diff line change
Expand Up @@ -172,8 +172,12 @@ subsection Postprocess
set List of postprocessors = velocity statistics, basic statistics, temperature statistics, visualization

subsection Visualization
set List of output variables = density, viscosity, strain rate, error indicator, partition
set List of output variables = material properties, strain rate, error indicator, partition
set Time between graphical output = 1e5
set Interpolate output = false

subsection Material properties
set List of material properties = density, viscosity
end
end
end
6 changes: 5 additions & 1 deletion benchmarks/buiter_et_al_2016_jsg/exp_1.prm
Original file line number Diff line number Diff line change
Expand Up @@ -167,10 +167,14 @@ subsection Postprocess
set List of postprocessors = velocity statistics, basic statistics, visualization

subsection Visualization
set List of output variables = density, viscosity, strain rate, named additional outputs
set List of output variables = material properties, strain rate, named additional outputs
set Output format = vtu
set Time between graphical output = 144
set Interpolate output = false

subsection Material properties
set List of material properties = density, viscosity
end
end
end

Expand Down
Loading

0 comments on commit f144dcc

Please sign in to comment.