Ice Sheet System Model  4.18
Code documentation
NewVec.cpp
Go to the documentation of this file.
1 
5 #ifdef HAVE_CONFIG_H
6  #include <config.h>
7 #else
8 #error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
9 #endif
10 
11 /*Petsc includes: */
12 #include "petscmat.h"
13 #include "petscvec.h"
14 #include "petscksp.h"
15 
16 #include "./petscpatches.h"
17 #include "../../mpi/issmmpi.h"
18 
19 Vec NewVec(int size,ISSM_MPI_Comm comm,bool fromlocalsize){
20 
21  int local_size;
22 
23  /*output: */
24  Vec vector=NULL;
25 
26  /*determine local size of vector: */
27  if(fromlocalsize){
28  local_size=size;
29  }
30  else{
31  local_size=DetermineLocalSize(size,comm);
32  }
33 
34  VecCreate(comm,&vector);
35  VecSetSizes(vector,local_size,PETSC_DECIDE);
36  VecSetFromOptions(vector);
37 
38  return vector;
39 }
DetermineLocalSize
int DetermineLocalSize(int global_size, ISSM_MPI_Comm comm)
Definition: DetermineLocalSize.cpp:9
NewVec
Vec NewVec(int size, ISSM_MPI_Comm comm, bool fromlocalsize)
Definition: NewVec.cpp:19
petscpatches.h
ISSM_MPI_Comm
int ISSM_MPI_Comm
Definition: issmmpi.h:118