DM: Interfacing Between Solvers and Models/Discretizations# DM Basics PetscSection: Connecting Grids to Data General concept Multiple Fields Working with data Global Sections: Constrained and Distributed Data Permutation: Changing the order of array data DMPlex Specific Functionality: Obtaining data from the array DMPlex: Unstructured Grids Representing Unstructured Grids Grid Point Orientations Dealing with Periodicity Connecting Grids to Data Using PetscSection: Data Layout using DMPLEX and PetscFE Partitioning and Ordering Evaluating Residuals Saving and Loading DMPlex Data with HDF5 Metric-based mesh adaptation DMSTAG: Staggered, Structured Grid Terminology Working with vectors and operators (matrices) Coordinates Numberings and internal data layout Networks Application flow Utility functions Retrieving components and number of variables DM Commonalities DMDA simple structured grids DMSTAG simple stagger grids DMPLEX unstructured meshes DMNETWORK computations on graphs of nodes and connecting edges Is it a programming language issue? PetscDT: Discretization Technology in PETSc Quadrature Probability Distributions PetscFE: Finite Element Infrastructure in PETSc Using Pointwise Functions to Specify Finite Element Problems Describing a particular finite element problem to PETSc Assembling finite element residuals and Jacobians