BubbleProfiler: finding the field profile and action for cosmological
  phase transitions
  We present BubbleProfiler, a C++ software package for finding field profiles
in bubble walls and calculating the bounce action during phase transitions
involving multiple scalar fields. Our code uses a recently proposed
perturbative method for potentials with multiple fields and a shooting method
for single field cases. BubbleProfiler is constructed with modularity,
flexibility and practicality in mind. These principles extend from the input of
an arbitrary potential with multiple scalar fields in various forms, through
the code structure, to the testing suite. After reviewing the physics context,
we describe how the methods are implemented in BubbleProfiler, provide an
overview of the code structure and detail usage scenarios. We present a number
of examples that serve as test cases of BubbleProfiler and comparisons to
existing public codes with similar functionality. We also show a physics
application of BubbleProfiler in the scalar singlet extension of the Standard
Model of particle physics by calculating the action as a function of model
parameters during the electroweak phase transition. BubbleProfiler completes an
important link in the toolchain for studying the properties of the thermal
phase transition driving baryogenesis and properties of gravitational waves in
models with multiple scalar fields. The code can be obtained from:
https://github.com/bubbleprofiler/bubbleprofiler
