Skip to content

Commit 8bbb6c8

Browse files
authored
Merge pull request #738 from Pressio/develop
Update main from develop
2 parents 757cc84 + bd5569e commit 8bbb6c8

File tree

13 files changed

+64
-63
lines changed

13 files changed

+64
-63
lines changed

.github/workflows/ci-baseline.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ jobs:
8686
-I/usr/include/eigen3 \
8787
-I${GITHUB_WORKSPACE}/pressio-log/include \
8888
-I${GITHUB_WORKSPACE}/pressio-ops/include \
89-
-I${GITHUB_WORKSPACE}/pressio/include \
89+
-I${GITHUB_WORKSPACE}/pressio-rom/include \
9090
-c main.cpp \
9191
&& $CXX --std=c++17 -o pressio-example main.o \
9292
&& ./pressio-example
@@ -99,7 +99,7 @@ jobs:
9999
-I/usr/include/eigen3 \
100100
-I${GITHUB_WORKSPACE}/pressio-log/include \
101101
-I${GITHUB_WORKSPACE}/pressio-ops/include \
102-
-I${GITHUB_WORKSPACE}/pressio/include \
102+
-I${GITHUB_WORKSPACE}/pressio-rom/include \
103103
-c main_with_defines.cpp \
104104
&& $CXX --std=c++17 -o pressio-example main.o \
105105
&& ./pressio-example

.github/workflows/ci-kokkos.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ jobs:
8282
-I/kokkos-kernels/install/include \
8383
-I${GITHUB_WORKSPACE}/pressio-log/include \
8484
-I${GITHUB_WORKSPACE}/pressio-ops/include \
85-
-I${GITHUB_WORKSPACE}/pressio/include \
85+
-I${GITHUB_WORKSPACE}/pressio-rom/include \
8686
-c main.cpp
8787
8888
- name: Example - include only with embedded definitions
@@ -95,7 +95,7 @@ jobs:
9595
-I/kokkos-kernels/install/include \
9696
-I${GITHUB_WORKSPACE}/pressio-log/include \
9797
-I${GITHUB_WORKSPACE}/pressio-ops/include \
98-
-I${GITHUB_WORKSPACE}/pressio/include \
98+
-I${GITHUB_WORKSPACE}/pressio-rom/include \
9999
-c main_with_defines.cpp
100100
101101
- name: Configure Tests

.github/workflows/ci-trilinos.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ jobs:
7878
-I${trilinos_dir}/include \
7979
-I${GITHUB_WORKSPACE}/pressio-log/include \
8080
-I${GITHUB_WORKSPACE}/pressio-ops/include \
81-
-I${GITHUB_WORKSPACE}/pressio/include \
81+
-I${GITHUB_WORKSPACE}/pressio-rom/include \
8282
-c main.cpp
8383
8484
- name: Example - include only with embedded definitions
@@ -91,7 +91,7 @@ jobs:
9191
-I${trilinos_dir}/include \
9292
-I${GITHUB_WORKSPACE}/pressio-log/include \
9393
-I${GITHUB_WORKSPACE}/pressio-ops/include \
94-
-I${GITHUB_WORKSPACE}/pressio/include \
94+
-I${GITHUB_WORKSPACE}/pressio-rom/include \
9595
-c main_with_defines.cpp
9696
9797
- name: Configure Tests

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
cmake_minimum_required(VERSION 3.18.0 FATAL_ERROR)
2-
project(pressio C CXX)
2+
project(pressio-rom C CXX)
33

44
# tests
55
#=====================================================================
6-
option(PRESSIO_ENABLE_TESTS "Enable testing for pressio" OFF)
6+
option(PRESSIO_ENABLE_TESTS "Enable testing for pressio-rom" OFF)
77
if(PRESSIO_ENABLE_TESTS)
88
enable_testing()
99
add_subdirectory(tests)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ you might find useful some of the components of the library.
1717

1818
Click below to checkout the documentation:
1919

20-
<a href="https://pressio.github.io/pressio" target="_blank">
20+
<a href="https://pressio.github.io/pressio-rom" target="_blank">
2121
<img src='./logos/logo-readme.svg' width='97%'>
2222
</a>
2323

docs/source/concepts_note.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ notions that are at the core of our design approach.
1414
``concept = syntactic constraints + semantics``
1515
-----------------------------------------------
1616

17-
In pressio, we follow the approach in "Design of Concept Libraries for C++" (2011)
17+
In pressio-rom, we follow the approach in "Design of Concept Libraries for C++" (2011)
1818
in defining a concept to be a *meaningful combination of syntactic requirements + axioms/semantics*.
1919
Pure syntax can be fully specified and checked by compilers supporting C++20.
2020
On the contrary, axioms/semantics properties cannot be spelled out and statically checked.
2121
Axioms are, in fact, invariants *assumed* to hold. In the C++ standard, axioms
2222
and semantics are specified/listed as comments. Here, we adopt a different
23-
approach to present axioms (similar to "Design of Concept Libraries for C++", 2011)),
23+
approach to present axioms (similar to "Design of Concept Libraries for C++", 2011),
2424
that we believe benefits readability: axioms are explicitly listed using
2525
the keyword "axiom". Note, however, that if you want to compile the concepts below
2626
using a C++20 compiler, you have to comment out all axioms.

docs/source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
# The master toctree document.
2121
master_doc = "index"
2222

23-
project = 'Pressio'
23+
project = 'Pressio-ROM'
2424
# copyright = f'{datetime.datetime.now().year}, 2021, National Technology & Engineering Solutions of Sandia, LLC (NTESS)'
2525
copyright = u"2021, National Technology & Engineering Solutions of Sandia, LLC (NTESS)"
2626
author = 'Francesco Rizzi'

docs/source/configuration.rst

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,21 @@ Configuration and Dependencies
66

77
.. tip::
88

9-
pressio is header-only, so it does not need to be precompiled and linked to.
9+
pressio-rom is header-only, so it does not need to be precompiled and linked to.
1010

1111
.. warning::
1212

13-
To use pressio, you need at least a C++17 compiler.
13+
To use pressio-rom, you need at least a C++17 compiler.
1414

1515
Dependencies
1616
------------
1717

18-
Some parts of ``pressio`` contain code and implementations
18+
Some parts of ``pressio-rom`` contain code and implementations
1919
that are specific to third-party libraries (TPLs).
2020
The main reason for doing this is that we aim, where possible,
21-
to alleviate the user from writing custom operations and allow ``pressio`` to decide when and how to leverage
21+
to alleviate the user from writing custom operations and allow ``pressio-rom`` to decide when and how to leverage
2222
the native libraries' operations to obtain the best performance.
23-
This should facilitate the integration and use of ``pressio`` by existing applications.
23+
This should facilitate the integration and use of ``pressio-rom`` by existing applications.
2424
This is a growing capability and we currently only
2525
provide built-in support to some external HPC libraries (see below).
2626
Obviously, these TPLs-specific specializations need to be guarded with
@@ -70,16 +70,18 @@ default choice for instantiating the ROM data structures
7070
and solving the (dense) ROM problem.
7171

7272
In practice, what are the steps to get and use Pressio?
73-
----------------------------------------------------------------
73+
-------------------------------------------------------
7474

75-
1. Clone `pressio <https://github.com/Pressio/pressio>`_ (defaults to the main branch),
76-
or you can pick a `release version <https://github.com/Pressio/pressio/releases>`_
75+
.. TODO: Add spack instructions once merged
76+
77+
1. Clone `pressio-rom <https://github.com/Pressio/pressio-rom>`_ (defaults to the main branch),
78+
or you can pick a `release version <https://github.com/Pressio/pressio-rom/releases>`_
7779

7880
2. Clone `pressio-ops <https://github.com/Pressio/pressio-ops>`_ and, optionally, `pressio-log <https://github.com/Pressio/pressio-log>`_
7981

80-
3. Add the ``pressio/include``, ``pressio-ops/include``, and (optionally) ``pressio-log/include`` to your project's include directories.
82+
3. Add the ``pressio-rom/include``, ``pressio-ops/include``, and (optionally) ``pressio-log/include`` to your project's include directories.
8183

82-
4. Use the Pressio library
84+
4. Use the Pressio ecosystem
8385

8486
Before including any Pressio files, be sure to identify any third-party dependencies as discussed above.
8587
You can define macros to enable or disable code related to these dependencies.
@@ -114,7 +116,7 @@ Testing
114116

115117
The following steps explain how to build and runs the Pressio tests.
116118

117-
1. Begin by cloning `pressio <https://github.com/Pressio/pressio>`_.
119+
1. Begin by cloning `pressio-rom <https://github.com/Pressio/pressio-rom>`_.
118120

119121
.. tip::
120122

@@ -128,41 +130,39 @@ The following steps explain how to build and runs the Pressio tests.
128130

129131
.. code-block:: bash
130132
131-
cd <where-you-cloned-pressio>
133+
cd <where-you-cloned-pressio-rom>
132134
mkdir build && mkdir install
133135
134-
3. Use cmake to configure by passing to the command line the target list of CMake variables to define.
136+
3. Use CMake to configure by passing to the command line the target list of CMake variables to define.
135137

136138
For example, suppose we want to enable support for Trilinos and the logger. We would do:
137139

138140
.. code-block:: bash
139141
140-
export PRESSIO_SRC=<where-you-cloned-pressio>
141-
cd <where-you-cloned-pressio>/build
142+
export PRESSIO_ROM_SRC=<where-you-cloned-pressio-rom>
143+
cd ${PRESSIO_ROM_SRC}/build
142144
143145
cmake -D PRESSIO_ENABLE_TPL_TRILINOS=ON \
144146
-D PRESSIO_ENABLE_LOGGING=ON \
145147
-D PRESSIO_ENABLE_TESTS=ON \
146-
${PRESSIO_SRC}
148+
${PRESSIO_ROM_SRC}
147149
148150
make # tests are built
149151
150-
Note that this step **only builds tests** because ``pressio`` is header-only.
151-
If you want, inspect the file ``<where-you-cloned-pressio>/install/pressio_cmake_config.h``
152-
which contains the CMake variables configuration.
152+
Note that this step **only builds tests** because ``pressio-rom`` is header-only.
153153

154154
By default, this step will also clone and link to the ``Pressio/pressio-ops`` library,
155-
which contains essential operations for ``pressio``.
155+
which contains essential operations for ``pressio-ROM``.
156156

157157
.. tip::
158158

159-
Since the tests assume the role of an application using pressio, they will need
159+
Since the tests assume the role of an application using pressio-rom, they will need
160160
to link against any TPLs that you enable. To specify the location of a library,
161161
use the following CMake variable: ``-D <tpl>_DIR=/path/to/tpl/install``.
162162

163163
4. Run the tests
164164

165165
.. code-block:: bash
166166
167-
cd <where-you-cloned-pressio>/build
167+
cd <where-you-cloned-pressio-rom>/build
168168
ctest -j <np>

docs/source/index.rst

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33

44
.. include:: mydefs.rst
55

6-
pressio C++ library
6+
pressio-rom C++ library
77
===================
88

9-
Documentation of the `C++ library <https://github.com/Pressio/pressio>`__, one element of the `Pressio ecosystem <https://pressio.github.io/>`_.
9+
Documentation of the `C++ library <https://github.com/Pressio/pressio-rom>`__, one element of the `Pressio ecosystem <https://pressio.github.io/>`_.
1010

1111
This work was started with a focus on projection-based reduced-order models (ROMs),
1212
which is a strongly **multidisciplinary** topic.
@@ -38,7 +38,7 @@ in version ``1.0.0`` a uniform maturity level across
3838
the ``rom``, ``ode``, and ``solvers`` components. Please keep this in mind while browsing
3939
the documentation and the code.
4040

41-
The supported capabilities of ``Pressio/pressio`` are included in the table below.
41+
The supported capabilities of ``pressio-rom`` are included in the table below.
4242
Each component (level) of the stack depends on the ones below it.
4343

4444
|
@@ -74,18 +74,18 @@ These components depend on the `Pressio/pressio-ops <https://github.com/Pressio/
7474
Get Started
7575
-----------
7676

77-
* `Configure pressio <configuration.html>`_: (currently) it is a header-only library, so should be trivial
77+
* `Configure pressio-rom <configuration.html>`_: (currently) it is a header-only library, so should be trivial
7878

7979
* Explore our `end-to-end ROM demos <https://pressio.github.io/pressio-tutorials/endtoend/readthisfirst.html>`_ to
80-
see ``pressio/rom`` in action and to experiment directly
80+
see ``pressio-rom`` in action and to experiment directly
8181

8282
* Explore the `tutorials showing the individual capabilities <https://pressio.github.io/pressio-tutorials>`_
8383

8484

8585
Generic programming and concepts
8686
--------------------------------
8787

88-
Arguably the main foundation of pressio is the use of
88+
Arguably the main foundation of pressio-rom is the use of
8989
generic programming--*or, more humbly, we can at least say that it is what we strive for*.
9090
Since the early development stages, we have relied on concept-driven design.
9191
Note, that, if you have used or use C++ templates, you *have* used
@@ -95,7 +95,7 @@ C++20 concepts are, in some sense, a way to *explicitly* formalize those expecta
9595

9696

9797
Until we can stably upgrade to C++20, we cannot by default use C++20 concepts,
98-
so we currently guard the concepts in pressio inside a
98+
so we currently guard the concepts in pressio-rom inside a
9999
preprocessor directive ``#ifdef PRESSIO_ENABLE_CXX20``.
100100
The behavior is as follows:
101101

@@ -167,6 +167,6 @@ open an issue on `github <https://github.com/Pressio/pressio>`_.
167167
:hidden:
168168

169169
Tutorials <https://pressio.github.io/pressio-tutorials>
170-
GitHub Repo <https://github.com/Pressio/pressio>
171-
Open an issue/feature req. <https://github.com/Pressio/pressio/issues>
170+
GitHub Repo <https://github.com/Pressio/pressio-rom>
171+
Open an issue/feature req. <https://github.com/Pressio/pressio-rom/issues>
172172
license

docs/source/keywords.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,15 @@ The following options control enabling TPLs:
4646
Obviously, the choice of which TPLs to enable is related to
4747
your application's dependency requirements.
4848
For example, if you have an application that relies on
49-
Trilinos data structures and want to use ``pressio``\ ,
49+
Trilinos data structures and want to use ``pressio-rom``\ ,
5050
then it makes sense to enable the Trilinos dependency.
5151
On the contrary, if you have an application that relies only on
5252
Eigen data structures, then it makes sense to only leave only Eigen on
5353
and disable the rest.
5454

5555
Also, we note that some of the cmake variables listed above are connected
5656
and cannot be turned on individualy.
57-
For example, if we enable Trilinos then ``pressio`` automatically
57+
For example, if we enable Trilinos then ``pressio-rom`` automatically
5858
enables also Kokkos, BLAS, LAPACK and MPI.
5959

6060

0 commit comments

Comments
 (0)