Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
3ba69b8
Update versioning in CMakeLists
antoinemeyer5 Jun 22, 2023
6c62584
Also fix conf in this PR because changed version.txt
antoinemeyer5 Jun 22, 2023
dac1826
remove submodule
Jun 29, 2023
31aaf5f
add pybind11
Jun 29, 2023
a21e7f9
fix warnings, all warning are errors in CI, upgrade Eigen
Jun 29, 2023
720bb98
remove old files, update perf cmake
Jun 29, 2023
f149774
try fix
Jun 29, 2023
f99d6a3
try fix
Jun 29, 2023
62cb1d6
trying again
Jun 29, 2023
9c8aea6
fix missing things
Jun 29, 2023
e9e5580
Merge pull request #128 from Pressio/update_pybind11
Jun 29, 2023
e1d1406
Merge remote-tracking branch 'origin/develop' into fix_warnings
Jun 29, 2023
da30617
Merge pull request #130 from Pressio/fix_warnings
Jun 29, 2023
400e8a5
adv-diff-reac
Jun 29, 2023
38b31ff
complete for now
Jun 29, 2023
2ef0c84
Merge pull request #127 from Pressio/adv-diff-reac
Jun 29, 2023
d552c49
fix doc #123
Jun 29, 2023
2e9fa48
Merge pull request #131 from Pressio/typo_fix
Jun 29, 2023
09a2206
Fix
antoinemeyer5 Jun 29, 2023
1dcb7da
1D tests first pass
Jul 5, 2023
fe19358
trim tests pass 2
Jul 5, 2023
95905b3
only run for release
Jul 5, 2023
ec06543
Merge pull request #132 from Pressio/issue_129
Jul 5, 2023
593a8c0
add test
Jul 6, 2023
1f59704
fix observer so that result is not trivial
Jul 6, 2023
accee24
Merge pull request #135 from Pressio/add_test_2d_riemann_implicit
Jul 6, 2023
522ebfc
Merge pull request #136 from Pressio/fix_tests_after_trimming
Jul 6, 2023
b71b0d9
Redo old version.txt
antoinemeyer5 Jul 6, 2023
bf8fcce
Redo old version.txt
antoinemeyer5 Jul 6, 2023
d23bbff
Merge pull request #126 from antoinemeyer5/fix-versions
Jul 6, 2023
221ddee
fixes #141
Jul 21, 2023
a25e395
fix typo
Jul 21, 2023
ac49454
fix missing #141
Jul 21, 2023
1f77ae6
wip
Jul 21, 2023
f1d3bc7
solves #139
Jul 21, 2023
21f8744
Merge pull request #143 from Pressio/139-schwarz-make-ccu-mesh-defaul…
Jul 21, 2023
8ac4102
make all problems default constructible
Jul 21, 2023
4842168
wip
Jul 21, 2023
09e1b8d
remove extra log
Jul 21, 2023
1334994
make problems non copy- or move-assignable
Jul 23, 2023
1ceb571
delete default constructors
Jul 23, 2023
094d317
Merge pull request #145 from Pressio/138-schwarz-semantics-of-problem…
Jul 23, 2023
ab51624
add noop utility
Jul 24, 2023
c7caf50
sketching solution and test
Jul 24, 2023
d6a09dc
add guards
Jul 24, 2023
d694b1e
minor edit to test
Jul 24, 2023
d96bbb9
fix for sample mesh
Jul 24, 2023
9bbd374
chagne tol
Jul 24, 2023
d21b19d
remove unused aliases
Jul 24, 2023
90af629
firstorder only for RiemannCustomBCs
Jul 24, 2023
67f5baa
addressing Chris' requests
Aug 1, 2023
923ea4d
fix to pass connectivity row
Aug 1, 2023
303ea2a
explain things
Aug 2, 2023
1fd8c9d
support custom BCs in SWE, reorg tests
Aug 2, 2023
9646380
rename
Aug 2, 2023
35d5b19
address comments
Aug 3, 2023
7e8cba4
forgot test
Aug 3, 2023
1672008
Merge pull request #146 from Pressio/issue_142
fnrizzi Aug 4, 2023
f9e1d85
fixes #148
Aug 11, 2023
f8f65a2
Merge pull request #149 from Pressio/148-add-method-to-api-adapter-to…
fnrizzi Aug 11, 2023
e7e21a4
proposed solution for #150
cwentland0 Aug 21, 2023
cc0ccae
proposed solution to #151
cwentland0 Aug 21, 2023
92a69d1
fix default param
Aug 23, 2023
4e18b28
add mark
Aug 23, 2023
398ee43
Merge pull request #152 from Pressio/151-add-dummy-icIdentifier-to_Swe2d
fnrizzi Aug 24, 2023
127a33d
Merge pull request #153 from Pressio/150-add-method-to-set-BCFunctor-…
fnrizzi Aug 24, 2023
168ddce
remove them
Aug 25, 2023
8629b50
Merge pull request #154 from Pressio/remove_anonym_namespaces_headers
fnrizzi Aug 25, 2023
f5edff4
add more flexible parametrization
Sep 1, 2023
29ec820
remove unused
Sep 1, 2023
ea761c5
address comments
Sep 1, 2023
b62be53
Merge pull request #155 from Pressio/swe_parametrization
fnrizzi Sep 1, 2023
49bac53
rework parametrization for swe
Sep 3, 2023
81b8639
remove debug print
cwentland0 Sep 4, 2023
2531e91
Merge pull request #156 from Pressio/swe_parametrization
fnrizzi Sep 5, 2023
088f9bf
make api more readable and fix order of members
Sep 5, 2023
eb15bf8
basic partial parametrization for euler (only normal shock)
Sep 5, 2023
23dfba3
remove unused
Sep 5, 2023
203c030
add parametrization for pressure for Riemann
Sep 6, 2023
d839d1f
rename method
Sep 12, 2023
38eeada
add to mesh class method to access all cells strictly on bd
Sep 12, 2023
f9b1ca7
fix for ci
Sep 12, 2023
0261ae7
add tests for sample mesh
Sep 13, 2023
7bd158f
Merge pull request #159 from Pressio/subset_cells_near_bds
fnrizzi Sep 13, 2023
ed9670e
modify Riemann parameterization
cwentland0 Sep 13, 2023
58c8b37
update documentation
cwentland0 Sep 13, 2023
c2a1303
remove unused variable
cwentland0 Sep 13, 2023
9456dc7
fix const
Sep 14, 2023
771db66
Update docs/source/euler_2d_riemann.rst
cwentland0 Sep 14, 2023
177495b
update 2d euler parameterization test
cwentland0 Sep 15, 2023
4c05d23
Merge branch 'euler_parametrization' of github.com:Pressio/pressio-de…
cwentland0 Sep 15, 2023
c577bbe
Merge pull request #160 from Pressio/fix_mesh_const_methods
fnrizzi Sep 15, 2023
c9bca9b
update test and add overload
Sep 15, 2023
64a929f
Merge pull request #157 from Pressio/euler_parametrization
fnrizzi Sep 15, 2023
2809577
wip on adding gradients for boundary faces
Sep 12, 2023
ccce0f6
wip on moving gradients inside demoapps
Sep 15, 2023
a367c9c
decent (IMO) working solution for normal gradients at bd faces
Sep 15, 2023
5a37aba
fix order
Sep 15, 2023
1c507aa
fix unused
Sep 15, 2023
488f45c
finish test for gradients
Sep 17, 2023
cbd9d51
remove extra print
Sep 17, 2023
28f781a
fix plot
Sep 17, 2023
802dd9d
remove ununsed enum val
Sep 17, 2023
13efc57
fix int type
Sep 17, 2023
6ae0bd4
Merge pull request #158 from Pressio/gradients
fnrizzi Sep 17, 2023
0517e2e
fix integer type in gradients
Sep 17, 2023
737c317
another fix
Sep 17, 2023
7f7a555
Merge pull request #161 from Pressio/fix_integer_type_gradients
fnrizzi Sep 17, 2023
ea2ae56
fix loop
Sep 17, 2023
6d6f401
Merge pull request #162 from Pressio/fix_grad_test
fnrizzi Sep 17, 2023
30e7bae
wip adding gradients to euler2d
Sep 17, 2023
15776b3
add test for gradients for riemann
Sep 17, 2023
6064704
avoid putting gradients inside the app
Sep 17, 2023
8c5bdd9
add gradient to swe2d
Sep 17, 2023
2ffb44a
remove old definition
Sep 17, 2023
cfacdae
fix template
Sep 17, 2023
453c224
Merge pull request #164 from Pressio/gradients_for_euler_swe_2d
fnrizzi Sep 18, 2023
f76bbe8
remove error for euler2d recEnum != FirstOrder with custom BCs
cwentland0 Dec 11, 2023
6a6f4b1
Merge pull request #165 from Pressio/euler2d_schw_weno
fnrizzi Dec 11, 2023
a33f6ad
fix ghost values for weno3,5, pointed out by Chris
Dec 20, 2023
b7f95a3
fix int
Dec 20, 2023
639e9fc
fix py tests
Dec 20, 2023
0305788
fix py tests
Dec 20, 2023
cb5d4b8
fix goldfiles
Dec 20, 2023
fb15928
Merge pull request #166 from Pressio/fix_bc_stencil_weno
fnrizzi Dec 20, 2023
dc2dad8
#167: add cpp end-to-end demo problem
cwschilly Jul 26, 2024
defecca
update
Jul 29, 2024
10d5a75
Merge pull request #168 from Pressio/167-add-first-problem-for-c++-to…
fnrizzi Jul 29, 2024
3599227
first order BurgersOutflow (all Neumann)
cwentland0 Aug 6, 2024
7e9b0d0
add first order BurgersOutflow test
cwentland0 Aug 6, 2024
06911c1
change left and bottom to homogeneous dirichlet
cwentland0 Aug 6, 2024
9fabfb6
correct Jacobian treatment
cwentland0 Aug 6, 2024
d0df26d
add custom BC utilities to AdvectionDiffusion2d
cwentland0 Aug 6, 2024
afc7c44
add another default Burgers create_problem_eigen to fit standard
cwentland0 Aug 7, 2024
6f4095d
fix higher order for advection_diffusion_2d
cwentland0 Jan 23, 2025
ea0c2b1
add weno tests for burgers outflow
cwentland0 Jan 23, 2025
2fd410a
fix higher order Burgers for real this time
cwentland0 Jan 24, 2025
6ef8709
update burgers outflow tests
cwentland0 Jan 24, 2025
fb0d745
attempt to force libssl1.1 install
cwentland0 Jan 24, 2025
e4fe2a7
fix Python error, clang build still broken
cwentland0 Jan 24, 2025
709cbb5
try to suppress unused variable warning due to clang
cwentland0 Jan 24, 2025
1917933
modify python binder and actions error flag
cwentland0 Jan 27, 2025
0f7bff7
update python binder again
cwentland0 Jan 27, 2025
4a783de
Merge pull request #169 from Pressio/burgers2d_outflow
fnrizzi Feb 25, 2025
2338b2c
#170: rename pressio to pressio-rom
cwschilly Apr 3, 2025
075e61b
#170: fix capitalization
cwschilly Apr 3, 2025
493b556
Merge pull request #171 from Pressio/170-rename-pressio-to-pressio-rom
fnrizzi Apr 3, 2025
43f4d7f
update version
Jul 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .github/workflows/test-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,11 @@ jobs:

- name: Install packages
run: |
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
sudo apt-get update
sudo apt-get install libssl1.1
sudo apt-get install -y --install-suggests $APT_PACKAGES
sudo rm /etc/apt/sources.list.d/focal-security.list

- name: Install CMake
run: |
Expand Down Expand Up @@ -93,6 +96,7 @@ jobs:
-DCMAKE_BUILD_TYPE:STRING=${{ matrix.config.mode }} \
-DPRESSIODEMOAPPS_ENABLE_TESTS:BOOL=ON \
-DPRESSIODEMOAPPS_ENABLE_BINDINGS:BOOL=OFF \
-DCMAKE_CXX_FLAGS="-Wall -Wno-unused-but-set-variable -Werror" \
-B $BUILD_DIR -S $DEMOAPPS_HOME

# NOTE: -j2 caused g++ crash (out of memory)
Expand Down
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +0,0 @@
[submodule "tpls/pybind11"]
path = tpls/pybind11
url = https://github.com/Pressio/pybind11.git
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ if(PRESSIODEMOAPPS_ENABLE_BINDINGS)

include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/tpls/eigen/eigen3)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tpls/pybind11)
${CMAKE_CURRENT_SOURCE_DIR}/tpls/eigen3)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tpls/pybind11-2.10.4)

if(PRESSIODEMOAPPS_ENABLE_OPENMP)
link_libraries(OpenMP::OpenMP_CXX)
Expand Down
114 changes: 114 additions & 0 deletions docs/source/advection_diffusion_reaction_2d.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
2D single-species advection-reaction-diffusion
==============================================

This problem focuses on the following 2D PDE:

.. math::

\frac{\partial \phi}{\partial t} + u \frac{\partial \phi}{\partial x} + v \frac{\partial \phi}{\partial y} = D \left(\frac{\partial^2 \phi}{\partial x^2} + \frac{\partial^2 \phi}{\partial y^2} \right) - \sigma \phi + f(x, y, t)


* Initial conditions: :math:`\phi(x, y, 0) = 0`

* Default settings:

- :math:`u = 0.5 \cos(\pi/3), v = 0.5 \sin(\pi/3)`

- :math:`D = 0.001`, :math:`\sigma = 1`

- :math:`f(x, y, t) = 1`

* Domain is unit square :math:`[0,1]^2` with homogeneous Dirichlet BC

* :math:`u, v, D, \sigma` can be customized via the problem constructor (more below)

Mesh
----

.. code-block:: shell

python3 pressio-demoapps/meshing_scripts/create_full_mesh_for.py \
--problem advdiffreac2d_s<stencilSize> -n Nx Ny --outDir <destination-path>

where

- ``Nx, Ny`` is the number of cells you want along :math:`x` and :math:`y` respectively

- ``<stencilSize> = 3 or 5 or 7``: defines the neighboring connectivity of each cell

- ``<destination-path>`` is where you want the mesh files to be generated


C++ synopsis
------------

.. code-block:: c++

#include "pressiodemoapps/advection_diffusion_reaction2d.hpp"

int main(){
namespace pda = pressiodemoapps;

const auto meshObj = pda::load_cellcentered_uniform_mesh_eigen("path-to-mesh");

const auto inviscidScheme = pda::InviscidFluxReconstruction::FirstOder; //or Weno3, Weno5

// A. constructor for problem using default values
{
const auto probId = pda::AdvectionDiffusionReaction2d::ProblemA;
auto problem = pda::create_problem_eigen(meshObj, probId, inviscidScheme);
}

// B. setting custom coefficients
{
using scalar_type = typename decltype(meshObj)::scalar_t;
const scalar_type ux = 0.2;
const scalar_type uy = 0.8;
const scalar_type diff = 0.01;
const scalar_type sigma = 1.5;
auto problem = pda::create_advdiffreac_2d_problem_A_eigen(meshObj, inviscidScheme,
ux, uy, diff, sigma);
}
}


Python synopsis
---------------

.. code-block:: py

import pressiodemoapps as pda

meshObj = pda.load_cellcentered_uniform_mesh("path-to-mesh")

scheme = pda.InviscidFluxReconstruction.FirstOrder # or Weno3, Weno5

# A. constructor for problem using default values
probId = pda.AdvectionDiffusionReaction2d.ProblemA
problem = pda.create_problem(meshObj, probId, scheme)

# B. setting custom coefficients
ux, uy, myD, sigma = 0.1, 0.5, 0.001, 1.5
problem = pda.create_adv_diff_reac_2d_problem_A(meshObj, scheme, ux, uy, myD, sigma)

Notes:
------

.. important::

Currently, for this problem the viscous schemes is fixed
such that it yields a second-order viscuous scheme.


Sample Solution
---------------

Representative plot at :math:`t=0` (left) and :math:`t=3`,
using a ``50x50`` mesh with Weno5 and RK4 time integration with :math:`dt = 0.01`,
and default values for the physical coefficients:

.. image:: ../../figures/wiki_2d_advdiffreac_probA_solution0.png
:width: 44 %

.. image:: ../../figures/wiki_2d_advdiffreac_probA_solution1.png
:width: 44 %
2 changes: 1 addition & 1 deletion docs/source/apicpp.rst
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ A *pressio-demoapps* C++ problem class meets the following API
Returns the total number of degrees of freedom on the **stencil** mesh.
Note that, in general, this is not the same as the number of stencil mesh cells.
When you have multiple dofs/cell (for example Euler equations),
then the total # of dofs on stencil mesh = # dofs/cell times the # of sample mesh cells.
then the total # of dofs on stencil mesh = # dofs/cell times the # of stencil mesh cells.


.. _Supported Backends And Types:
Expand Down
2 changes: 1 addition & 1 deletion docs/source/apipy.rst
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Problem Class
Returns the total number of degrees of freedom on the **stencil** mesh.
Note that, in general, this is not the same as the number of stencil mesh cells.
When you have multiple dofs/cell (for example Euler equations),
then the total # of dofs on stencil mesh = # dofs/cell times the # of sample mesh cells.
then the total # of dofs on stencil mesh = # dofs/cell times the # of stencil mesh cells.

:rtype: int

Expand Down
16 changes: 8 additions & 8 deletions docs/source/burgers_2d_periodic.rst
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,12 @@ C++ synopsis

const auto meshObj = pda::load_cellcentered_uniform_mesh_eigen("path-to-mesh");

const auto probId = pda::AdvectionDiffusion2d::BurgersPeriodic;
const auto inviscidScheme = pda::InviscidFluxReconstruction::FirstOrder; // or Weno3, Weno5
const auto viscousScheme = pda::ViscousFluxReconstruction::FirstOrder; // must be FirstOrder

// A. constructor for problem using default values
{
const auto probId = pda::AdvectionDiffusion2d::BurgersPeriodic;
auto problem = pda::create_problem_eigen(meshObj, probId, inviscidScheme, viscousScheme);
}

Expand All @@ -76,9 +76,9 @@ C++ synopsis
const auto D = /* something */;
const auto x0 = /* something */;
const auto y0 = /* something */;
auto problem = pda::create_periodic_burgers_2d_problem_eigen(meshObj, inviscidScheme,
viscousScheme, alpha,
delta, D, x0, y0)
auto problem = pda::create_problem_eigen(meshObj, probId, inviscidScheme,
viscousScheme, alpha,
delta, D, x0, y0)
}
}

Expand All @@ -91,11 +91,11 @@ Python synopsis

meshObj = pda.load_cellcentered_uniform_mesh("path-to-mesh")

probId = pda.AdvectionDiffusion2d.BurgersPeriodic
inviscidScheme = pda.InviscidFluxReconstruction.FirstOrder; # or Weno3, Weno5
viscousScheme = pda.ViscousFluxReconstruction.FirstOrder; # must be FirstOrder

# A. constructor for problem using default values
probId = pda.AdvectionDiffusion2d.BurgersPeriodic
problem = pda.create_problem(meshObj, probId, inviscidScheme, viscousScheme)

# B. setting custom coefficients
Expand All @@ -104,9 +104,9 @@ Python synopsis
D = # something
x0 = # something
y0 = # something
problem = pda.create_periodic_burgers_2d_problem(meshObj, inviscidScheme,
viscousScheme, alpha,
delta, D, x0, y0)
problem = pda.create_burgers_2d_problem(meshObj, probId, inviscidScheme,
viscousScheme, alpha,
delta, D, x0, y0)


Sample Plot
Expand Down
4 changes: 1 addition & 3 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,8 @@ def get_version():
with open("../../version.txt") as version_file:
return version_file.read().strip()

version = get_version()

# The full version, including alpha/beta/rc tags.
release = version
release = get_version()

# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
Expand Down
Loading