#include "petscsys.h" PetscErrorCode PetscOptionsInsertFileYAML(MPI_Comm comm,const char file[],PetscBool require)Collective
comm | - the processes that will share the options (usually PETSC_COMM_WORLD) | |
file | - name of file | |
require | - if PETSC_TRUE will generate an error if the file does not exist |
Only a small subset of the YAML standard is implemented. Sequences are NOT supported; aliases and the merge key "<<" are. The algorithm recursively parses the yaml file, pushing and popping prefixes and inserting key + values pairs using PetscOptionsInsertString().
PETSc will generate an error condition that stops the program if a YAML error is detected, hence the user should check that the YAML file is valid before supplying it, for instance at http://www.yamllint.com/ .
Inspired by https://stackoverflow.com/a/621451