Kernels module (kernels.h)
Functions
-
int runForward(int argc, char **argv)
Runs the CSEM forward-modeling kernel (fm.csem).
Owns the complete PETSc lifecycle: calls PetscInitialize at entry and PetscFinalize at exit.
Runs the CSEM forward-modeling kernel (fm.csem).
Initializes PETSc, parses command-line arguments (including
--version). Prints the header. Reads user parameters, sets up sources, imports the grid and conductivity, sets up the DM sections and grid structure, assembles the linear system (A, B, G), solves the system (AX=B) using KSP, performs post-processing (computes fields at receivers), prints the footer, and finalizes PETSc, freeing allocated memory. Includes Extrae instrumentation hooks if compiled with USE_EXTRAE.- Parameters:
argc – [in] Argument count from main().
argv – [in] Argument vector from main().
argc – Argument count.
argv – Argument vector.
- Returns:
int the PetscErrorCode (cast to int) as the process exit status.
- Returns:
int 0 on success, non-zero on failure.
-
int runInverse(int argc, char **argv)
Runs the CSEM inversion kernel (im.csem).
Owns the complete PETSc lifecycle: calls PetscInitialize at entry and PetscFinalize at exit.
Runs the CSEM inversion kernel (im.csem).
Initializes PETSc, parses command-line arguments (including
--version). Reads the unified bundle (mesh + conductivity + materials_id + receivers + /sources + /observed/Ex + case-property defaults), sets up the H(curl) grid, the inversion DM (1 DOF/cell), the smoother neighbor graph, the receiver-interpolation matrices, and the cached K / Ms-template / G_BDDC matrices. Runs custom L-BFGS (Nocedal 1980) with an adjoint-state gradient until the configured RMS-tolerance or max-iter is hit. Writes the recovered conductivity, the log-perturbation X, and the RMS history to HDF5, then finalizes PETSc. Includes Extrae instrumentation hooks if compiled with USE_EXTRAE.- Parameters:
argc – [in] Argument count from main().
argv – [in] Argument vector from main().
argc – Argument count.
argv – Argument vector.
- Returns:
int the PetscErrorCode (cast to int) as the process exit status.
- Returns:
int 0 on success, non-zero on failure.