OOMMF Programming Manual September 30, 2022 This manual documents release 2.0b0. WARNING: This document is under construction Disclaimer 1 Programming Overview of OOMMF 2 Platform-Independent Make Operational Details 2.1 Anatomy of makerules.tcl files 2.2 The MakeRule command 3 OOMMF Variable Types and Macros 4 OOMMF eXtensible Solver 4.1 Sample Oxs_Energy Class 4.2 Writing a New Oxs_Energy Extension 4.3 Writing a New Oxs_Evolver Extension 5 Debugging OOMMF 5.1 Configuration Files 5.2 Understanding pimake 5.3 Bypassing the oommf.tcl bootstrap 5.4 Segfaults and other asynchronous termination 5.5 Out-of-bounds memory access 5.6 C++ source code debuggers 5.6.1 Introduction to the GNU gdb debugger 5.6.2 Introduction to the LLVM lldb 5.6.3 Debugging OOMMF in Visual Studio Credits Bibliography Index