Actual source code: vseqcr.c

      1: /*
      2:    Implements the sequential vectors.
      3: */

      5: #include <../src/vec/vec/impls/dvecimpl.h>

      7: /*@
      8:   VecCreateSeq - Creates a standard, sequential array-style vector.

     10:   Collective

     12:   Input Parameters:
     13: + comm - the communicator, should be `PETSC_COMM_SELF`
     14: - n    - the vector length

     16:   Output Parameter:
     17: . v - the vector

     19:   Level: intermediate

     21:   Notes:
     22:   It is recommended to use `VecCreateFromOptions()` instead of this routine

     24:   Use `VecDuplicate()` or `VecDuplicateVecs()` to form additional vectors of the
     25:   same type as an existing vector.

     27: .seealso: [](ch_vectors), `Vec`, `VecType`, `VecCreateMPI()`, `VecCreate()`, `VecDuplicate()`, `VecDuplicateVecs()`, `VecCreateGhost()`
     28: @*/
     29: PetscErrorCode VecCreateSeq(MPI_Comm comm, PetscInt n, Vec *v)
     30: {
     31:   PetscFunctionBegin;
     32:   PetscCall(VecCreate(comm, v));
     33:   PetscCall(VecSetSizes(*v, n, n));
     34:   PetscCall(VecSetType(*v, VECSEQ));
     35:   PetscFunctionReturn(PETSC_SUCCESS);
     36: }