All Projects → INSIGNEO → openBF

INSIGNEO / openBF

Licence: other
1D blood flow model

Programming Languages

julia
2034 projects
shell
77523 projects

Projects that are alternatives of or similar to openBF

Acorn.jl
A pure julia text editor
Stars: ✭ 41 (+156.25%)
Mutual labels:  julia-language
OMETIFF.jl
I/O operations for OME-TIFF files in Julia
Stars: ✭ 18 (+12.5%)
Mutual labels:  julia-language
DICOM.jl
Julia package for reading and writing DICOM (Digital Imaging and Communications in Medicine) files
Stars: ✭ 45 (+181.25%)
Mutual labels:  julia-language
IterTools.jl
Common functional iterator patterns
Stars: ✭ 124 (+675%)
Mutual labels:  julia-language
Scientific-Programming-in-Julia
Repository for B0M36SPJ
Stars: ✭ 32 (+100%)
Mutual labels:  julia-language
NaquadahBrowser
A web browser built in Julia Language from the ground up.
Stars: ✭ 31 (+93.75%)
Mutual labels:  julia-language
Expronicon.jl
Collective tools for metaprogramming on Julia Expr
Stars: ✭ 36 (+125%)
Mutual labels:  julia-language
CausalityTools.jl
Algorithms for causal inference and the detection of dynamical coupling from time series, and for approximation of the transfer operator and invariant measures.
Stars: ✭ 45 (+181.25%)
Mutual labels:  julia-language
Suppressor.jl
Julia macros for suppressing and/or capturing output (STDOUT), warnings (STDERR) or both streams at the same time.
Stars: ✭ 94 (+487.5%)
Mutual labels:  julia-language
C3T
C3T: Crash Course Category Theory - A friendly non-mathematician's approach to beginners of Category Theory. 🐱
Stars: ✭ 26 (+62.5%)
Mutual labels:  julia-language
Kinetic.jl
Universal modeling and simulation of fluid dynamics upon machine learning
Stars: ✭ 82 (+412.5%)
Mutual labels:  finite-volume
YOLO.jl
YOLO Object Detection in Julia
Stars: ✭ 41 (+156.25%)
Mutual labels:  julia-language
KissABC.jl
Pure julia implementation of Multiple Affine Invariant Sampling for efficient Approximate Bayesian Computation
Stars: ✭ 28 (+75%)
Mutual labels:  julia-language
Julia-data-science
Data science and numerical computing with Julia
Stars: ✭ 54 (+237.5%)
Mutual labels:  julia-language
RobustModels.jl
A Julia package for robust regressions using M-estimators and quantile regressions
Stars: ✭ 18 (+12.5%)
Mutual labels:  julia-language
Oracle.jl
Oracle Database driver for the Julia language.
Stars: ✭ 32 (+100%)
Mutual labels:  julia-language
rheoTool
Toolbox to simulate GNF and viscoelastic fluid flows in OpenFOAM®
Stars: ✭ 104 (+550%)
Mutual labels:  finite-volume
XUnit.jl
XUnit.jl is a unit-testing framework for Julia.
Stars: ✭ 32 (+100%)
Mutual labels:  julia-language
devsim
TCAD Semiconductor Device Simulator
Stars: ✭ 104 (+550%)
Mutual labels:  finite-volume
LatticeQCD.jl
A native Julia code for lattice QCD with dynamical fermions in 4 dimension.
Stars: ✭ 85 (+431.25%)
Mutual labels:  julia-language

openBF.jl

TUoS INSIGNEO CompBioMed

License Mentioned in Awesome Julia.jl

DOI

openbf ci status

openBF is an open-source 1D blood flow solver based on MUSCL finite-volume numerical scheme, written in Julia and released under Apache 2.0 free software license.

Docs | Installation | Example | Plot | Dev | Hub | Cite

Docs

  • openBF ≦v0.6.3 check this website for documentation and tutorials.
  • openBF v0.7+ docs can be built as julia make.jl inside the docs/ folder (this requires Documenter package).

Installation

Provided you already have a Julia v1.x installation (all platforms download and Windows instructions), you can add openBF as

julia> ]
(v1.x) pkg> add https://github.com/INSIGNEO/openBF

update it as

julia> ]
(v1.x) pkg> update openBF

test it as

julia> ]
(v1.x) pkg> test openBF

and use it as

julia> using openBF
julia> openBF.runSimulation("<input file name>.yml")

You can also create (MacOSX/Linux only) an openBF alias as

$ echo "alias openBF='cp ~/.julia/v1.x/openBF/main.jl ./main.jl && julia main.jl $1'" >> ~/.bashrc
$ source ~/.bashrc
$ openBF -h
usage: main.jl [-v] [-f] [-c] [-h] input_filename

positional arguments:
  input_filename   .yml input file name

optional arguments:
  -v, --verbose    Print STDOUT - default false
  -f, --out_files  Save complete results story rather than only the
                   last cardiac cycle
  -c, --conv_ceil  Ceil convergence value to 100 mmHg (default true)
  -h, --help       show this help message and exit

Example

project name: <project name>
results folder: <path/to/your/results/directory>

blood:
  rho: 1060.0 # density
  mu: 4.e-3   # kinematic viscosity

solver:
  Ccfl: 0.9   # Courant number
  cycles: 100 # max number of cardiac cycles
  jump: 100
  convergence tolerance: 15.0 # convergence min error threshold

network:
  - label: <vessel name>
	sn: 1
    tn: 2
    E: 400000 # Young's modulus
    L: 0.04   # length
    R0: 0.012 # lumen radius
    inlet number: 1
    inlet: Q
    inlet file: <inlet filename>
  - label: <vessel name>
  	sn: 2
    tn: 3
    E: 400000
    L: 0.103
    R0: 0.010
    outlet: wk2
  	Cc: 8.2e-11      # peripheral compliance
    R1: 8480000000.0 # peripheral resistance

Plotting

Install Plots.jl

julia> ]
(v1.x) pkg> add Plots
(v1.x) pkg> <backspace>
julia> using Plots

(the first time you run this, the library will be compiled and it may takes several minutes)

plot something

using DelimitedFiles

# open the result files
v1 = DelimitedFiles.readdlm("v1_P.last")
v2 = DelimitedFiles.readdlm("v2_P.last")

plot(v1[:,1], v1[:,end]/133.332, label="v1")
plot(v2[:,1], v2[:,end]/133.332, label="v2")

xlabel!("time (s)")
ylabel!("pressure (mmHg)")

waveforms

How to dev

$ git clone https://github.com/INSIGNEO/openBF.git
$ cd openBF
$ julia
julia> ]
(v1.x) pkg> add Revise
(v1.x) pkg> activate .
(openBF) <backspace>
julia> using Revise
julia> using openBF

Ecosystem

  • A collection of 1D networks (from literature) solved by means of openBF can be found in the openBF-hub repository.
  • The scripts to generate a virtual population of ADAN56s can be found in openBF-db repository.
  • openBF badge openBF

Publications

openBF has been used in the following works:

Have you used openBF for your research? Let us know!

Citation

@misc{openBF.jl-2018,
title={openBF: Julia software for 1D blood flow modelling}, 
url={https://figshare.com/articles/openBF_Julia_software_for_1D_blood_flow_modelling/7166183/1}, 
DOI={10.15131/shef.data.7166183}, 
abstractNote={
openBF is an open-source 1D blood flow solver based on MUSCL finite-volume numerical scheme, written in Julia and released under Apache 2.0 free software license.

See https://github.com/INSIGNEO/openBF for the git repository and https://insigneo.github.io/openBF/ for the documentation.
}, 
publisher={figshare}, 
author={Melis, Alessandro}, 
year={2018}, 
month={Oct}}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].