Skip to content

JHUAPL/kami

Repository files navigation

Build (main) Build (develop) Documentation status Release status License DOI

Kami is Agent-Based Modeling in Modern C++

Agent-based models (ABMs) are models for simulating the actions of individual actors within a provided environment to understand the behavior of the agents, most individually and collectively. ABMs are particularly suited for addressing problems governed by nonlinear processes or where there is a wide variety of potential responses an individual agent may provide depending on the environment and behavior of other agents. Because of this, ABMs have become powerful tools in both simulation and modeling, especially in public health and ecology, where they are also known as individual-based models. ABMs also provide support in economic, business, robotics, and many other fields.

Compiling

# Build, test and install the library
git clone https://github.com/k3jph/kami.git
cd kami
conan install -if build .
cmake -B build -DBUILD_SHARED_LIBS:BOOL=FALSE
cmake --build build
cmake --build build --target test
cmake --build build --target install

Conan Package Manager

This library comes with a conanfile.py to build it into a Conan package so that it may be used by external applications/libraries.

Create Conan Packages

Creating a Conan package is relatively easy. Simple cd into the source directory and execute the conan create function.

git clone https://github.com/k3jph/kami.git
cd kami

conan create . kami/develop

Direct Dependencies

CLI11 and spdlog are both used extensively in the examples. Neither is used directly by the Kami library.

Contribution guidelines

For more information