Giter Site home page Giter Site logo

landajuela / cardioid Goto Github PK

View Code? Open in Web Editor NEW

This project forked from llnl/cardioid

0.0 3.0 0.0 9.2 MB

Cardiac simulation toolkit.

License: MIT License

CMake 2.77% Makefile 1.08% Python 11.01% C++ 64.38% C 14.05% Fortran 0.91% Shell 1.75% M4 0.29% Cuda 0.38% TeX 0.33% MATLAB 0.08% Perl 2.61% Gnuplot 0.11% Objective-C 0.22% SystemVerilog 0.02%

cardioid's Introduction

Cardioid

Cardioid is a cardiac multiscale simulation suite spanning from subcellular mechanisms up to simulations of organ-level clinical phenomena. The suite contains tools for simulating cardiac electrophysiology, cardiac mechanics, torso-ECGs, cardiac meshing and fiber generation tools.

Requirements

Cardioid can be broken down into many separate simulators, each with their own dependencies.

  • Cardioid electrics: C99, C++, OpenMP, MPI, and Lapack. It requires a valid perl installation to build. It van also take advantage of CUDA, in which case it also depends on NVTX and NVRTC.

  • Cardioid fibers: Depends on C++ and MFEM.

  • Cardioid mechanics: Depends on C++ and MFEM.

  • Cardioid ecg: Depends on C++ and MFEM.

Some requirements are bundled into the build system, like libkdtree and simUtil.

Getting Started

We recommend compiling Cardioid using Spack.

To build Cardioid with spack, follow the following steps:

  • Make a YAML file for your particular cluster telling the system where to find MPI, what compilers to use, where to find lapack, etc. Examples can be found in arch/*.yaml. Read here for more information on the syntax for this YAML file.

  • Clone Spack and set it up:

    git clone https://github.com/spack/spack.git
    . spack/share/spack/setup-env.sh
    
  • Install your YAML file as a spack environment.

    spack env create YOURENV arch/YOURENV.yaml
    
  • Activate your environment

    spack env activate YOURENV
    
  • Build the cardioid dependencies

    spack install mfem+hypre+lapack
    
  • Install the dependencies into a directory called deps

    spack view symlink deps mfem+hypre+lapack
    
  • Build the rest of Cardioid, using the default settings

    make build
    

Building without spack

Cardioid is built with CMake, using the BLT make system. A separate .cmake file is supplied for a variety of architectures. Please feel free to make your own .cmake architecture for your particular cluster if needed. Example .cmake architectures can be found in "arch/*.cmake" Each architecture can be given a separate name, allowing multiple different versions of the code to be built on the same system.

If no architecture file is supplied, BLT will try to pick sane defaults. To build everything, you will need to install MFEM manually to a directory of your choice and tell Cardioid where that installation lives (through the MFEM_DIR variable)

Builds are performed in build/<arch> . Executables are installed in build/<arch>/bin.

Contributing

Please submit any bugfixes or feature improvements as pull requests.

Authors

Many thanks go to Cardioid's contributors.

  • James P Glosli
  • Tomas Oppelstrup
  • Xiaohua Zhang
  • David F Richards
  • Robert Blake
  • Erik Draeger
  • Jean-Luc Fattebert
  • Jamie Bramwell
  • Arthur Mirin
  • Sebastian Laudenschlager
  • Viacheslav Gurev
  • Jeremy Rice
  • Changhoan Kim
  • and many more...

License

Cardioid is distributed under the terms of the MIT license. All new contributions must be made under this license.

See LICENSE and NOTICE for details.

SPDX-License-Identifier: (MIT)

LLNL-CODE-764041

cardioid's People

Contributors

draeger1 avatar jamiebramwell avatar kirshner1 avatar landajuela avatar osamot avatar rblake-llnl avatar regier1 avatar richards12 avatar xiaohuazhangllnl avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.