Skip to content
Open

TLC #77

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .cspell_dict.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@ conda
Cookiecutter
cotransporter
Daversin
fenicsx
deepvalve
discretization
docname
docnames
devold
Dokken
DOLFINx
elastodynamics
Expand Down Expand Up @@ -47,14 +49,17 @@ Jørgen
jorgensd
Jupyterbook
jupytext
Kjeldsberg
Laughlin
latentvariableproximalpoint
ldrb
LUNSONGA
Meep
microphysiological
minrk
modelgraph
monopoli
morphman
multicompartmental
Multiphysics
MYKLEBUST
Expand Down Expand Up @@ -93,7 +98,9 @@ Simula
Stankelbein
SVMTK
Valnes
vasp
venv
yamamoto
vinje
zapf
Zenodo
4 changes: 3 additions & 1 deletion docs/data.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
(data-main)=

# Organizing your data

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.

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

## Raw vs processed data

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.

For example, raw data could be MRI images of the heart, while processed data could be meshes that you created from those images.
Expand Down
68 changes: 68 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,74 @@ This page contains information about [Scientific Computing](https://www.simula.n

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

## Software

A list scientific software (and corresponding publication) developed by personnel in the Scientific Computing Department.

### FEniCS

- MuscleX [Muscle-growth](https://ingvilddevold.github.io/muscle-growth) {cite}`devold2025muscle`
- Scientific finite element toolbox [scifem](https://scientificcomputing.github.io/scifem/)
- ADIOS4DOLFINx: A framework for checkpointing in FEniCS [ADIOS4DOLFINx](https://jsdokken.com/adios4dolfinx) {cite}`dokken2024adios`
- Multi-point constraints with DOLFINx: [DOLFINx_MPC](https://jsdokken.com/dolfinx_mpc)

### Simulation

- SMART: Spatial Modeling Algorithms for Reactions and Transport [SMART](https://rangamanilabucsd.github.io/smart) {cite}`laughlin2023smart`
- Non-conforming 3D-1D modelling in FEniCSx [FEniCSx_ii](https://scientificcomputing.github.io/fenicsx_ii/)
- Network models for FEniCSx: [networks_fenicsx](https://scientificcomputing.github.io/networks_fenicsx/)
- Network models for FEniCS: [Graphnics](https://github.com/IngeborgGjerde/graphnics)
- Software Components for Multiphysics Problems: [HAZniCS](https://github.com/HAZmathTeam/hazmath) {cite}`budisa2022`

### Meshing

- Surface Volume Meshing ToolKit: [SVMTK](https://github.com/SVMTK/SVMTK) {cite}`valnes2022`
- Tool for creating idealised cardiac geometries and microstructure in FEniCS: [cardiac-geometries](https://github.com/ComputationalPhysiology/cardiac-geometries)
- Tool for creating idealised cardiac geometries and microstructure in FEniCSx: [cardiac-geometriesx](https://github.com/ComputationalPhysiology/cardiac-geometriesx)
- A collection of tools for manipulation of morphological features in patient-specific geometries [morphMan](https://github.com/KVSlab/morphMan) {cite}`Kjeldsberg2019morphman`
- Generate meshes from UK Biobank atlas [ukb-atlas](https://github.com/ComputationalPhysiology/ukb-atlas)

### Fluid Dynamics

- Next generation Open Source Navier Stokes solver using FEniCSx [oasisx](https://github.com/ComputationalPhysiology/oasisx)
- A verified and validated Python/FEniCS-based CFD solver for moving domains [OasisMove](https://github.com/KVSlab/OasisMove)
- A collection of tools for pre-processing, simulating, and post-processing vascular morphologies [VaMPy](https://github.com/KVSlab/VaMPy) {cite}`Kjeldsberg2023vampy`

### FSI

- A collection of tools for pre-processing, simulating, and post-processing vascular fluid-structure-interaction problems [VaSP](https://github.com/KVSlab/VaSP) {cite}`yamamoto2025vasp`
- Monolithic Fluid-Structure Interaction (FSI) solver [turtleFSI](https://github.com/KVSlab/turtleFSI)

### Brain

- Intracranial Pulsation: [brainpulse](https://github.com/MariusCausemann/intracranialPulsation) {cite}`causemann2022`

### Heart

- Simula Cardiac ElectroMechanics Solver [simcardems](https://github.com/ComputationalPhysiology/simcardems) {cite}`finsberg2023`
- Tools for working with microphysiological data [mps](https://github.com/ComputationalPhysiology/mps)
- Library for tracking motion in cardiac mps data [mps-motion](https://github.com/ComputationalPhysiology/mps_motion)
- Library for extracting action potential features [ap-features](https://github.com/ComputationalPhysiology/ap_features)
- Cardiac Circulation Models: [circulation](https://github.com/ComputationalPhysiology/circulation)
- `pulse` - Cardiac mechanics solver in [FEniCSx](https://github.com/finsberg/fenicsx-pulse) and [FEnICS](https://github.com/finsberg/pulse)
- `beat` - Cardiac electrophysiology solver in [FEniCSx](https://github.com/finsberg/fenicsx-beat) and [FEnICS](https://github.com/finsberg/fenics-beat)
- `ldrb` - Library for creating rule-based fiber orientations in [FEniCSx](https://github.com/finsberg/fenicsx-ldrb) and [FEniCS](https://github.com/finsberg/ldrb)

### Other

- General ODE translator [`gotranx`](https://github.com/finsberg/gotranx) {cite}`finsberg2024`
- A tool for visualizing dependencies between different components of your ODE model [`modelgraph`](https://github.com/ComputationalPhysiology/modelgraph)

### Missing a package?

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+)

```{bibliography}
:filter: docname in docnames
```

## Reproducibility

We think reproducibility is important and we have created some guidelines for reproducible research.

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
Expand Down
7 changes: 5 additions & 2 deletions docs/license.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@

(docs-license)=

# License
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).

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).

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/).
40 changes: 20 additions & 20 deletions docs/myst.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ version: 1
project:
id: 867a190a-9c64-4dd1-bc79-25cb4bdd3a53
title: Scientific Computing
description: Developing tools for high performance computing, and applying novel simulation techniques to complex physical processes affecting human health.
description: Developing tools for high performance computing, and applying novel simulation techniques to complex physical processes affecting human health.
keywords:
- Scientific Computing
- Computational Physiology
Expand All @@ -18,10 +18,10 @@ project:
- title: Publication list
children:
- file: repositories.md
- file: packages.md
- file: datasets.md
- title: Guidelines for papers with code
children:
- file: index.md
- file: papers-with-code.md
- file: structure.md
- file: data.md
Expand All @@ -30,36 +30,36 @@ project:

- title: Git/Github
children:
- file: version_control.md
- file: gh-workflows.md
- file: gh-packages.md
- file: gh-citable.md
- file: gh-issues.md
- file: version_control.md
- file: gh-workflows.md
- file: gh-packages.md
- file: gh-citable.md
- file: gh-issues.md

- title: Documentation
children:
- file: documentation.md
- file: jupyter-book.md
- file: documentation.md
- file: jupyter-book.md

- title: Python
children:
- file: python-packaging.md
- file: python-testing.md
- file: python-coverage.md
- file: python-linting.md
- file: python-pre-commit.md
- file: python-conversion.md
- file: python-packaging.md
- file: python-testing.md
- file: python-coverage.md
- file: python-linting.md
- file: python-pre-commit.md
- file: python-conversion.md

- title: Miscellaneous
children:
- file: license.md
- file: software-citation.md
- file: resources.md
- file: misc.md
- file: license.md
- file: software-citation.md
- file: resources.md
- file: misc.md

- title: Contact
children:
- file: contact.md
- file: contact.md

site:
template: book-theme
Expand Down
61 changes: 0 additions & 61 deletions docs/packages.md

This file was deleted.

53 changes: 53 additions & 0 deletions docs/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,15 @@ @article{daversin2022
doi = {10.3389/fphy.2022.882260},
issn = {2296-424X}
}
@article{devold2025muscle,
author = {Devold, Ingvild S. and Rognes, Marie E. and Rangamani, Padmini},
title = {Mechanochemical modeling of exercise-induced skeletal muscle hypertrophy},
elocation-id = {2025.12.17.694686},
year = {2025},
doi = {10.64898/2025.12.17.694686},
publisher = {Cold Spring Harbor Laboratory},
journal = {bioRxiv}
}
@article{dokken2024adios,
doi = {10.21105/joss.06451},
year = {2024},
Expand All @@ -89,6 +98,17 @@ @article{dokken2024adios
title = {{ADIOS4DOLFINx: A framework for checkpointing in FEniCS}},
journal = {Journal of Open Source Software}
}
@article{dokken2025latentvariableproximalpoint,
title = {The latent variable proximal point algorithm for variational problems with inequality constraints},
journal = {Computer Methods in Applied Mechanics and Engineering},
volume = {445},
pages = {118181},
year = {2025},
issn = {0045-7825},
doi = {10.1016/j.cma.2025.118181},
author = {J\o{}rgen S. Dokken and Patrick E. Farrell and Brendan Keith and Ioannis P.A. Papadopoulos and Thomas M. Surowiec},
keywords = {Latent variable proximal point, Proximal Galerkin, Variational inequality, Pointwise constraints, Nonlinear PDEs, Inequality constraints}
}
@article{finsberg2023,
doi = {10.21105/joss.04753},
url = {https://doi.org/10.21105/joss.04753},
Expand Down Expand Up @@ -159,6 +179,28 @@ @article{https://doi.org/10.1002/cnm.2982
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.},
year = {2018}
}
@article{Kjeldsberg2019morphman,
doi = {10.21105/joss.01065},
year = {2019},
publisher = {The Open Journal},
volume = {4},
number = {35},
pages = {1065},
author = {Kjeldsberg, Henrik A. and Bergersen, Aslak W. and Valen-Sendstad, Kristian},
title = {{morphMan: Automated manipulation of vascular geometries}},
journal = {Journal of Open Source Software}
}
@article{Kjeldsberg2023vampy,
doi = {10.21105/joss.05278},
year = {2023},
publisher = {The Open Journal},
volume = {8},
number = {85},
pages = {5278},
author = {Kjeldsberg, Henrik A. and Bergersen, Aslak W. and Valen-Sendstad, Kristian},
title = {VaMPy: An Automated and Objective Pipeline for Modeling Vascular Geometries},
journal = {Journal of Open Source Software}
}
@article{laughlin2023smart,
doi = {10.21105/joss.05580},
year = {2023},
Expand Down Expand Up @@ -313,6 +355,17 @@ @article{vinje2023human
publisher = {Springer},
doi = {10.1186/s12987-023-00459-8}
}
@article{yamamoto2025vasp,
title = {VaSP: Vascular Fluid-Structure Interaction Pipeline},
journal = {SoftwareX},
volume = {32},
pages = {102392},
year = {2025},
issn = {2352-7110},
doi = {10.1016/j.softx.2025.102392},
author = {Kei Yamamoto and David A. Bruneau and Johannes Ring and J\o{}rgen S. Dokken and Kristian Valen-Sendstad},
keywords = {Fluid-structure interaction, FEniCS, VMTK, Vascular research}
}
@misc{zapf2023medical,
title = {Medical image registration using optimal control of a linear hyperbolic transport equation with a DG discretization},
author = {Bastian Zapf and Johannes Haubner and Lukas Baumg\"{a}rtner and Stephan Schmidt},
Expand Down
Loading
Loading