Skip to content

Commit 0b76844

Browse files
authored
Merge pull request #77 from scientificcomputing/dokken/refactor-visibility
TLC
2 parents eb6f4bc + c98d55d commit 0b76844

File tree

8 files changed

+164
-88
lines changed

8 files changed

+164
-88
lines changed

.cspell_dict.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@ conda
1414
Cookiecutter
1515
cotransporter
1616
Daversin
17+
fenicsx
1718
deepvalve
1819
discretization
1920
docname
2021
docnames
22+
devold
2123
Dokken
2224
DOLFINx
2325
elastodynamics
@@ -47,14 +49,17 @@ Jørgen
4749
jorgensd
4850
Jupyterbook
4951
jupytext
52+
Kjeldsberg
5053
Laughlin
54+
latentvariableproximalpoint
5155
ldrb
5256
LUNSONGA
5357
Meep
5458
microphysiological
5559
minrk
5660
modelgraph
5761
monopoli
62+
morphman
5863
multicompartmental
5964
Multiphysics
6065
MYKLEBUST
@@ -93,7 +98,9 @@ Simula
9398
Stankelbein
9499
SVMTK
95100
Valnes
101+
vasp
96102
venv
103+
yamamoto
97104
vinje
98105
zapf
99106
Zenodo

docs/data.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
(data-main)=
2+
23
# Organizing your data
34

45
Management of data might be tricky, both because data might be confidential or data might too large to put in a repository. It should be clear that in order to fully reproduce a study, necessary data needs to be made available.
56

6-
Please read more about data management at <https://the-turing-way.netlify.app/reproducible-research/rdm>
7+
Please read more about data management at <https://book.the-turing-way.org/reproducible-research/rdm/>
78

89
## Raw vs processed data
10+
911
We typically separate between two types of data; raw data and processed data. Here raw data can refer to data that you got from an external collaborator while processed data are typically data that has been analyzed and converted to another format.
1012

1113
For example, raw data could be MRI images of the heart, while processed data could be meshes that you created from those images.

docs/index.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,74 @@ This page contains information about [Scientific Computing](https://www.simula.n
44

55
For information related to the projects at Department of Computational Physiology go [here](https://computationalphysiology.github.io/index.html).
66

7+
## Software
8+
9+
A list scientific software (and corresponding publication) developed by personnel in the Scientific Computing Department.
10+
11+
### FEniCS
12+
13+
- MuscleX [Muscle-growth](https://ingvilddevold.github.io/muscle-growth) {cite}`devold2025muscle`
14+
- Scientific finite element toolbox [scifem](https://scientificcomputing.github.io/scifem/)
15+
- ADIOS4DOLFINx: A framework for checkpointing in FEniCS [ADIOS4DOLFINx](https://jsdokken.com/adios4dolfinx) {cite}`dokken2024adios`
16+
- Multi-point constraints with DOLFINx: [DOLFINx_MPC](https://jsdokken.com/dolfinx_mpc)
17+
18+
### Simulation
19+
20+
- SMART: Spatial Modeling Algorithms for Reactions and Transport [SMART](https://rangamanilabucsd.github.io/smart) {cite}`laughlin2023smart`
21+
- Non-conforming 3D-1D modelling in FEniCSx [FEniCSx_ii](https://scientificcomputing.github.io/fenicsx_ii/)
22+
- Network models for FEniCSx: [networks_fenicsx](https://scientificcomputing.github.io/networks_fenicsx/)
23+
- Network models for FEniCS: [Graphnics](https://github.com/IngeborgGjerde/graphnics)
24+
- Software Components for Multiphysics Problems: [HAZniCS](https://github.com/HAZmathTeam/hazmath) {cite}`budisa2022`
25+
26+
### Meshing
27+
28+
- Surface Volume Meshing ToolKit: [SVMTK](https://github.com/SVMTK/SVMTK) {cite}`valnes2022`
29+
- Tool for creating idealised cardiac geometries and microstructure in FEniCS: [cardiac-geometries](https://github.com/ComputationalPhysiology/cardiac-geometries)
30+
- Tool for creating idealised cardiac geometries and microstructure in FEniCSx: [cardiac-geometriesx](https://github.com/ComputationalPhysiology/cardiac-geometriesx)
31+
- A collection of tools for manipulation of morphological features in patient-specific geometries [morphMan](https://github.com/KVSlab/morphMan) {cite}`Kjeldsberg2019morphman`
32+
- Generate meshes from UK Biobank atlas [ukb-atlas](https://github.com/ComputationalPhysiology/ukb-atlas)
33+
34+
### Fluid Dynamics
35+
36+
- Next generation Open Source Navier Stokes solver using FEniCSx [oasisx](https://github.com/ComputationalPhysiology/oasisx)
37+
- A verified and validated Python/FEniCS-based CFD solver for moving domains [OasisMove](https://github.com/KVSlab/OasisMove)
38+
- A collection of tools for pre-processing, simulating, and post-processing vascular morphologies [VaMPy](https://github.com/KVSlab/VaMPy) {cite}`Kjeldsberg2023vampy`
39+
40+
### FSI
41+
42+
- A collection of tools for pre-processing, simulating, and post-processing vascular fluid-structure-interaction problems [VaSP](https://github.com/KVSlab/VaSP) {cite}`yamamoto2025vasp`
43+
- Monolithic Fluid-Structure Interaction (FSI) solver [turtleFSI](https://github.com/KVSlab/turtleFSI)
44+
45+
### Brain
46+
47+
- Intracranial Pulsation: [brainpulse](https://github.com/MariusCausemann/intracranialPulsation) {cite}`causemann2022`
48+
49+
### Heart
50+
51+
- Simula Cardiac ElectroMechanics Solver [simcardems](https://github.com/ComputationalPhysiology/simcardems) {cite}`finsberg2023`
52+
- Tools for working with microphysiological data [mps](https://github.com/ComputationalPhysiology/mps)
53+
- Library for tracking motion in cardiac mps data [mps-motion](https://github.com/ComputationalPhysiology/mps_motion)
54+
- Library for extracting action potential features [ap-features](https://github.com/ComputationalPhysiology/ap_features)
55+
- Cardiac Circulation Models: [circulation](https://github.com/ComputationalPhysiology/circulation)
56+
- `pulse` - Cardiac mechanics solver in [FEniCSx](https://github.com/finsberg/fenicsx-pulse) and [FEnICS](https://github.com/finsberg/pulse)
57+
- `beat` - Cardiac electrophysiology solver in [FEniCSx](https://github.com/finsberg/fenicsx-beat) and [FEnICS](https://github.com/finsberg/fenics-beat)
58+
- `ldrb` - Library for creating rule-based fiber orientations in [FEniCSx](https://github.com/finsberg/fenicsx-ldrb) and [FEniCS](https://github.com/finsberg/ldrb)
59+
60+
### Other
61+
62+
- General ODE translator [`gotranx`](https://github.com/finsberg/gotranx) {cite}`finsberg2024`
63+
- A tool for visualizing dependencies between different components of your ODE model [`modelgraph`](https://github.com/ComputationalPhysiology/modelgraph)
64+
65+
### Missing a package?
66+
67+
If you package is missing from the list, go to [Add new package](https://github.com/scientificcomputing/scientificcomputing.github.io/issues/new?assignees=&labels=new-package&template=package.yml&title=%5BAdd+package%5D%3A+)
68+
69+
```{bibliography}
70+
:filter: docname in docnames
71+
```
72+
73+
## Reproducibility
74+
775
We think reproducibility is important and we have created some guidelines for reproducible research.
876

977
On this web-page we discuss what is needed when you want to publish a paper that contains some code, and we are created two example papers that follows these guidelines

docs/license.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
21
(docs-license)=
2+
33
# License
4-
There exists a variety of different licenses. You can read more about choosing a license at https://the-turing-way.netlify.app/reproducible-research/licensing.html and how to add a license to your repository [here](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository).
4+
5+
There exists a variety of different licenses. You can read more about choosing a license at https://book.the-turing-way.org/reproducible-research/licensing/ and how to add a license to your repository [here](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository).
6+
7+
A free course regarding why one should license code, and what is classified as open-source code can be found at [the Linux Foundation](https://training.linuxfoundation.org/training/open-source-licensing-basics-for-software-developers/).

docs/myst.yml

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ version: 1
33
project:
44
id: 867a190a-9c64-4dd1-bc79-25cb4bdd3a53
55
title: Scientific Computing
6-
description: Developing tools for high performance computing, and applying novel simulation techniques to complex physical processes affecting human health.
6+
description: Developing tools for high performance computing, and applying novel simulation techniques to complex physical processes affecting human health.
77
keywords:
88
- Scientific Computing
99
- Computational Physiology
@@ -18,10 +18,10 @@ project:
1818
- title: Publication list
1919
children:
2020
- file: repositories.md
21-
- file: packages.md
2221
- file: datasets.md
2322
- title: Guidelines for papers with code
2423
children:
24+
- file: index.md
2525
- file: papers-with-code.md
2626
- file: structure.md
2727
- file: data.md
@@ -30,36 +30,36 @@ project:
3030

3131
- title: Git/Github
3232
children:
33-
- file: version_control.md
34-
- file: gh-workflows.md
35-
- file: gh-packages.md
36-
- file: gh-citable.md
37-
- file: gh-issues.md
33+
- file: version_control.md
34+
- file: gh-workflows.md
35+
- file: gh-packages.md
36+
- file: gh-citable.md
37+
- file: gh-issues.md
3838

3939
- title: Documentation
4040
children:
41-
- file: documentation.md
42-
- file: jupyter-book.md
41+
- file: documentation.md
42+
- file: jupyter-book.md
4343

4444
- title: Python
4545
children:
46-
- file: python-packaging.md
47-
- file: python-testing.md
48-
- file: python-coverage.md
49-
- file: python-linting.md
50-
- file: python-pre-commit.md
51-
- file: python-conversion.md
46+
- file: python-packaging.md
47+
- file: python-testing.md
48+
- file: python-coverage.md
49+
- file: python-linting.md
50+
- file: python-pre-commit.md
51+
- file: python-conversion.md
5252

5353
- title: Miscellaneous
5454
children:
55-
- file: license.md
56-
- file: software-citation.md
57-
- file: resources.md
58-
- file: misc.md
55+
- file: license.md
56+
- file: software-citation.md
57+
- file: resources.md
58+
- file: misc.md
5959

6060
- title: Contact
6161
children:
62-
- file: contact.md
62+
- file: contact.md
6363

6464
site:
6565
template: book-theme

docs/packages.md

Lines changed: 0 additions & 61 deletions
This file was deleted.

docs/references.bib

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,15 @@ @article{daversin2022
7878
doi = {10.3389/fphy.2022.882260},
7979
issn = {2296-424X}
8080
}
81+
@article{devold2025muscle,
82+
author = {Devold, Ingvild S. and Rognes, Marie E. and Rangamani, Padmini},
83+
title = {Mechanochemical modeling of exercise-induced skeletal muscle hypertrophy},
84+
elocation-id = {2025.12.17.694686},
85+
year = {2025},
86+
doi = {10.64898/2025.12.17.694686},
87+
publisher = {Cold Spring Harbor Laboratory},
88+
journal = {bioRxiv}
89+
}
8190
@article{dokken2024adios,
8291
doi = {10.21105/joss.06451},
8392
year = {2024},
@@ -89,6 +98,17 @@ @article{dokken2024adios
8998
title = {{ADIOS4DOLFINx: A framework for checkpointing in FEniCS}},
9099
journal = {Journal of Open Source Software}
91100
}
101+
@article{dokken2025latentvariableproximalpoint,
102+
title = {The latent variable proximal point algorithm for variational problems with inequality constraints},
103+
journal = {Computer Methods in Applied Mechanics and Engineering},
104+
volume = {445},
105+
pages = {118181},
106+
year = {2025},
107+
issn = {0045-7825},
108+
doi = {10.1016/j.cma.2025.118181},
109+
author = {J\o{}rgen S. Dokken and Patrick E. Farrell and Brendan Keith and Ioannis P.A. Papadopoulos and Thomas M. Surowiec},
110+
keywords = {Latent variable proximal point, Proximal Galerkin, Variational inequality, Pointwise constraints, Nonlinear PDEs, Inequality constraints}
111+
}
92112
@article{finsberg2023,
93113
doi = {10.21105/joss.04753},
94114
url = {https://doi.org/10.21105/joss.04753},
@@ -159,6 +179,28 @@ @article{https://doi.org/10.1002/cnm.2982
159179
abstract = {Abstract Individually personalized computational models of heart mechanics can be used to estimate important physiological and clinically-relevant quantities that are difficult, if not impossible, to directly measure in the beating heart. Here, we present a novel and efficient framework for creating patient-specific biventricular models using a gradient-based data assimilation method for evaluating regional myocardial contractility and estimating myofiber stress. These simulations can be performed on a regular laptop in less than 2~h and produce excellent fit between measured and simulated volume and strain data through the entire cardiac cycle. By applying the framework using data obtained from 3 healthy human biventricles, we extracted clinically important quantities as well as explored the role of fiber angles on heart function. Our results show that steep fiber angles at the endocardium and epicardium are required to produce simulated motion compatible with measured strain and volume data. We also find that the contraction and subsequent systolic stresses in the right ventricle are significantly lower than that in the left ventricle. Variability of the estimated quantities with respect to both patient data and modeling choices are also found to be low. Because of its high efficiency, this framework may be applicable to modeling of patient specific cardiac mechanics for diagnostic purposes.},
160180
year = {2018}
161181
}
182+
@article{Kjeldsberg2019morphman,
183+
doi = {10.21105/joss.01065},
184+
year = {2019},
185+
publisher = {The Open Journal},
186+
volume = {4},
187+
number = {35},
188+
pages = {1065},
189+
author = {Kjeldsberg, Henrik A. and Bergersen, Aslak W. and Valen-Sendstad, Kristian},
190+
title = {{morphMan: Automated manipulation of vascular geometries}},
191+
journal = {Journal of Open Source Software}
192+
}
193+
@article{Kjeldsberg2023vampy,
194+
doi = {10.21105/joss.05278},
195+
year = {2023},
196+
publisher = {The Open Journal},
197+
volume = {8},
198+
number = {85},
199+
pages = {5278},
200+
author = {Kjeldsberg, Henrik A. and Bergersen, Aslak W. and Valen-Sendstad, Kristian},
201+
title = {VaMPy: An Automated and Objective Pipeline for Modeling Vascular Geometries},
202+
journal = {Journal of Open Source Software}
203+
}
162204
@article{laughlin2023smart,
163205
doi = {10.21105/joss.05580},
164206
year = {2023},
@@ -313,6 +355,17 @@ @article{vinje2023human
313355
publisher = {Springer},
314356
doi = {10.1186/s12987-023-00459-8}
315357
}
358+
@article{yamamoto2025vasp,
359+
title = {VaSP: Vascular Fluid-Structure Interaction Pipeline},
360+
journal = {SoftwareX},
361+
volume = {32},
362+
pages = {102392},
363+
year = {2025},
364+
issn = {2352-7110},
365+
doi = {10.1016/j.softx.2025.102392},
366+
author = {Kei Yamamoto and David A. Bruneau and Johannes Ring and J\o{}rgen S. Dokken and Kristian Valen-Sendstad},
367+
keywords = {Fluid-structure interaction, FEniCS, VMTK, Vascular research}
368+
}
316369
@misc{zapf2023medical,
317370
title = {Medical image registration using optimal control of a linear hyperbolic transport equation with a DG discretization},
318371
author = {Bastian Zapf and Johannes Haubner and Lukas Baumg\"{a}rtner and Stephan Schmidt},

0 commit comments

Comments
 (0)