Skip to main content
`Ctrl`+`K`

# PetscSectionSetPointMajor

Sets the flag for dof ordering, `PETSC_TRUE` for point major, otherwise it will be field major

## Synopsis

    #include "petscsection.h"
    PetscErrorCode PetscSectionSetPointMajor(PetscSection s, PetscBool pm)

Not Collective

## Input Parameters

- s - the `PetscSection`

- pm - the flag for point major ordering

## Note

Field-major order is not recommended unless you are managing the entire problem yourself, since many higher-level functions in PETSc depend on point-major order.

Point major order means the degrees of freedom are stored as follows

        all the degrees of freedom for each point are stored contiguously, one point after another (respecting a permutation set with `PetscSectionSetPermutation()`)
        for each point
           the degrees of freedom for each field (starting with the unnamed default field) are listed in order by field

Field major order means the degrees of freedom are stored as follows

        all degrees of freedom for each field (including the unnamed default field) are stored contiguously, one field after another
        for each field (started with unnamed default field)
          the degrees of freedom for each point are listed in order by point (respecting a permutation set with `PetscSectionSetPermutation()`)

## See Also

PetscSection, `PetscSection`, `PetscSectionGetPointMajor()`, `PetscSectionSetPermutation()`

## Level

intermediate

## Location

src/vec/is/section/interface/section.c

Index of all PetscSection routines
Table of Contents for all manual pages
Index of all manual pages