Skip to content

Commit 05ab962

Browse files
author
John Tencer
committed
Merge branch 'develop' into jtencer/issue103
2 parents 7a4c864 + 052bea4 commit 05ab962

21 files changed

+122
-216
lines changed

.github/workflows/deploy_docs.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ name: deploy-docs
44
on:
55
push:
66
branches:
7-
- main
7+
- develop
88
# Alternative: only build for tags.
99
# tags:
1010
# - '*'

.github/workflows/docs.yaml

-50
This file was deleted.

.github/workflows/install-and-test.yaml

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@ name: Install and test romtools
22

33
on:
44
push:
5-
branches: [main, develop]
5+
branches:
6+
- develop
67
pull_request:
7-
branches: [main, develop]
8+
branches:
9+
- develop
810

911
concurrency:
1012
group: ${{ github.event.repository.name }}-${{ github.ref }}-${{ github.workflow }}

pyproject.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ requires-python = ">=3.8"
99
dependencies = [
1010
'docutils', 'importlib-metadata',
1111
'numpy', 'scipy', 'matplotlib', 'pdoc',
12-
'pytest', 'pytest-mpi>=0.6', 'pytest-timeout'
12+
'pytest==7.4.4', 'pytest-mpi>=0.6', 'pytest-timeout'
1313
]
14+
# using pytest>=8.0.0 causes CI failures (likely compatibility issues with pytest-mpi)
1415

1516
[tool.setuptools.dynamic]
1617
version = {file = "version.txt"}

romtools/__init__.py

+7-33
Original file line numberDiff line numberDiff line change
@@ -44,60 +44,34 @@
4444
#
4545

4646
'''
47-
# Scope and Motivation
47+
# Scope, Design and Philosophy
4848
4949
The ROM tools and workflows Python library comprises a set of algorithms for
5050
constructing and exploiting ROMs.
51-
52-
# Design and Philosophy
53-
5451
The library is designed internally in terms of *abstract base classes* that encapsulate
5552
all the information needed to run a given algorithm.
5653
The philosophy is that, for any given application, the user "simply" needs to create
5754
a class that meets the required API of the abstract base class.
5855
Once this class is complete, the user gains access to all of our existing algorithms.
5956
60-
# What does this library contain?
57+
# Content
6158
6259
The Python library, called `romtools`, contains abstract interfaces and functions required for, e.g.,
6360
6461
- Constructing parameter spaces
65-
- Constructing trial spaces
66-
- Constructing and exploiting ROMs via outer loop workflows
6762
68-
## Algorithms
69-
70-
- Trial space computation:
63+
- Constructing trial spaces
7164
- Reduced-basis methods
7265
- Proper orthogonal decomposition
7366
- Algorithms are all compatible with basis scaling, basis splitting for multistate problems, and orthogonalization
7467
in different inner products
75-
- Workflows for ROM construction and ROM exploitation:
68+
69+
- Constructing and exploiting ROMs via outer loop workflows
70+
7671
- ROM construction via reduced-basis greedy (RB-Greedy)
7772
- ROM/FOM exploitation via sampling
7873
- ROM/FOM exploitation via Dakota-driven sampling
7974
80-
81-
## Representative abstract base classes
82-
83-
- `TrialSpace`
84-
- This class defines the minimum API requirements for a trial space
85-
86-
- Constructing a trial space relies on utilities like truncaters, orthogonalizers, etc. Abstract classes, and
87-
concrete implementations, exist for:
88-
89-
- orthogonalizers
90-
- scalers
91-
- shifters
92-
- splitters
93-
- truncaters
94-
95-
- `ParameterSpace`
96-
- This class defines the minimum API of a parameter space. These parameter spaces are used in workflows for
97-
running/building ROMs
98-
99-
- Abstract couplers for greedy sampling, sampling, and coupling to Dakota.
100-
10175
# Demos/HOWTOs
10276
10377
In this section, we present some demos/examples showing how to use `romtools` in practice.
@@ -110,7 +84,7 @@
11084
```
11185
'''
11286

113-
__all__ = ['trial_space', 'trial_space_utils', 'workflows', 'hyper_reduction']
87+
__all__ = ['trial_space', 'workflows', 'hyper_reduction']
11488

11589
__docformat__ = "restructuredtext" # required to generate the license
11690

0 commit comments

Comments
 (0)