jCODE: Highspeed multiphase/multiphysics flow solver

Capabilities ♦
Requesting access ♦
Code reference ♦
Wiki

jCODE is a highperformance Fortranbased multiphase/multiphysics
flow solver developed and maintained by the Capecelatro Research
Group at the University of Michigan. The code is capable of solving
the multicomponent compressible NavierStokes equations on
structured curvilinear meshes using a class of highorder
energystable finite difference operators. It features a range of
models and methods including Lagrangian particle tracking,
combustion mechanisms, immersed
boundaries for complex geometries, shock capturing, and
discrete adjointbased sensitivity.

Capabilities
Specific features:
jCODE consists of a number of modules for simulating highspeed
(compressible) twophase and chemically reacting flows in complex geometries, and corresponding adjointbased sensitivity. Specific features include:
Highorder narrow stencil finite difference operators that satisfy
summationbyparts (SBP) property
Simultaneousapproximationterm (SAT) boundary treatment to
ensure an energy estimate
A characteristicbased immersed boundary method for efficienty
handling complex geometries on structured grids for inviscid and
viscous flows
Lagrangian particle tracking capabale of simulating upwards of a
billion individual particles undergoing mass/momentum/heat exchange
and interparticle collisions
Fully discrete adjoint capabilities to provide machineprecision
sensitivity for turbulent reacting flows


Parallel performance:
Scaleup of jCODE on OLCF Titan. The code is
fully explicit and massively parallel, enabling largescale
computations with billions of grid points and 100s of millions of
particles.


Requesting access to the code

jCODE is managed on a webbased git repository at Bitbucket. A golden copy of the source code that
contains the most uptodate working version (absent of any
unpublished work) will be publicly available soon. To obtain
the source code, you must first become a member of Bitbucket and
request access to the jCODE repository by filling out this form.

How to reference the code
When referencing jCODE, please consider citing the following papers where relevant:
Underlying discretization:
Vishnampet Ganapathi Subramanian, R. (2015). An exact and
consistent adjoint method for highfidelity discretization of the
compressible flow equations. Doctoral dissertation, University of
Illinois at UrbanaChampaign.
EulerianLagrangian modules:
Shallcross, G. S., Fox, R. O., & Capecelatro, J. (2020). A
volumefiltered description of compressible particleladen
flows. International Journal of Multiphase Flow, 122, 103138.
Immersed boundary:
TBA
Adjoint modules:
Discrete adjoint NavierStokes solver: Vishnampet, R., Bodony,
D. J., & Freund, J. B. (2015). A practical discreteadjoint method for
highfidelity compressible turbulence simulations. Journal of
Computational Physics, 285, 173192.
Discrete adjoint with onestep chemistry: Capecelatro, J., Bodony, D. J., & Freund,
J. B. (2019). Adjointbased sensitivity and ignition threshold mapping
in a turbulent mixing layer. Combustion Theory and Modelling,
23(1), 147179.
Discrete adjoint multicomponent mixing: Kord, A., & Capecelatro,
J. (2019). Optimal perturbations for controlling the growth of a
Rayleighâ€“Taylor instability. Journal of Fluid Mechanics, 876,
150185.
Discrete adjoint with tabulated chemistry: TBA