30 int nsims = ctxt->
nsims;
36 ctxt->
offsets = (
int*) calloc(nsims,
sizeof(
int));
37 for (
int ns = 0; ns < nsims; ns++) {
44 ctxt->
points.resize(nsims,
nullptr);
46 for (
int ns = 0; ns < nsims; ns++) {
49 ctxt->
points[ns] = (
int*) calloc (npoints*nv,
sizeof(
int));
51 const int*
const dim( sim[ns].solver.dim_local );
52 const int ghosts( sim[ns].solver.ghosts );
55 std::vector<int> index(ndims,0);
59 (ctxt->
points[ns]+i*nv)[ndims] = p;
65 fprintf(stderr,
"Error in PetscCreatePointList() on rank %d:\n", sim[ns].mpi.rank);
66 fprintf(stderr,
"Inconsistency in point count - %d, %d.\n",
77 printf(
"PETSc: total number of computational points is %d.\n",global_npoints);
78 printf(
"PETSc: total number of computational DOFs is %d.\n",global_ndofs);
std::vector< int * > points
Structure defining a simulation.
C++ declarations for MPI-related functions.
int MPISum_integer(int *, int *, int, void *)
#define _ArrayIndex1D_(N, imax, i, ghost, index)
Structure containing the variables for time-integration with PETSc.
#define _ArrayIncrementIndex_(N, imax, i, done)
int PetscCreatePointList(void *obj)
#define _ArrayCopy1D_(x, y, size)
Contains macros and function definitions for common array operations.
Contains structure that defines the interface for time integration with PETSc (https://petsc.org/release/)