Skip to content

UCSB-CASL/CASL-HJX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CASL-HJX

CASL-HJX is a C++ library for solving Hamilton-Jacobi equations and related partial differential equations using high-order numerical methods.

License: Academic C++

Features

  • Hamilton-Jacobi-Bellman equations for optimal control problems
  • Linear quadratic regulator (LQR) with SIMD optimization
  • Level-set methods for interface tracking
  • High-order WENO and ENO spatial discretization
  • TVD Runge-Kutta time integration
  • IMEX methods for stiff problems
  • MPI and OpenMP parallelization

The library supports various PDE types including advection, diffusion, Burgers equation, and advection-diffusion systems.

Example: LQR Optimal Control

LQR optimal control demonstration

Example: Advection in Normal Direction

Normal advection level set evolution

Installation

git clone https://github.com/UCSB-CASL/CASL-HJX.git
cd CASL-HJX
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j

Requirements: C++17 compiler, CMake 3.15+, OpenMP 4.0+

Quick Start

# Run LQR example
cd CASLProjects/projectLQR2D
./projectLQR2D 80 160

# Run other examples
cd ../projectAdvection && ./projectAdvection
cd ../projectBurgers && ./projectBurgers

Documentation

Authors

Faranak Rajabi, Jacob Fingerman, Andrew Wang, Jeff Moehlis, Frederic Gibou

Computational Applied Systems Laboratory (CASL)
Department of Mechanical Engineering
University of California, Santa Barbara
https://sites.engineering.ucsb.edu/~fgibou/index.html

Citation

@article{rajabi2025caslhjx,
  title={CASL-HJX: A Comprehensive Guide to Solving Deterministic and 
         Stochastic Hamilton-Jacobi Equations},
  author={Rajabi, Faranak and Fingerman, Jacob and Wang, Andrew and 
          Moehlis, Jeff and Gibou, Frederic},
  journal={Computer Physics Communications},
  year={2025},
  note={Submitted}
}

License

Academic research license. See LICENSE file for details.

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •