Simulation Functions ==================== Below are example simulation functions available in libEnsemble. Most of these demonstrate an inexpensive algorithm and do not launch tasks (user applications). To see an example of a simulation function launching tasks, see the :doc:`Electrostatic Forces tutorial <../tutorials/executor_forces_tutorial>`. .. IMPORTANT:: See the API for simulation functions :ref:`here`. .. role:: underline :class: underline Simple simulation functions --------------------------- Ideal for simple debugging of generator processes or system testing. .. toctree:: :maxdepth: 1 Borehole function Borehole function with kills Chwirut1 vector-valued function Inverse Bayesian likelihood Norm Rosenbrock test optimization function Six Hump Camel Test noisy function Test periodic function Functions that run user applications ------------------------------------ These use the executor to launch applications and in some cases handle dynamic CPU/GPU allocation. The ``Variable resources`` module contains basic examples, while the ``Template`` examples use a simple MPI/OpenMP (with GPU offload option) application (``forces``) to demonstrate libEnsemble’s capabilities on various HPC systems. The build_forces.sh_ file gives compile lines for building the simple ``forces`` application on various platforms (use -DGPU to build for GPU). .. toctree:: :maxdepth: 1 Variable resources sim_funcs/forces_simf sim_funcs/forces_simf_input_file sim_funcs/forces_simf_gpu sim_funcs/forces_simf_gpu_vary_resources sim_funcs/forces_simf_gpu_multi_app WarpX Example Special simulation functions ---------------------------- .. toctree:: :maxdepth: 1 sim_funcs/mock_sim .. _build_forces.sh: https://github.com/Libensemble/libensemble/blob/main/libensemble/tests/scaling_tests/forces/forces_app/build_forces.sh