Re: [petsc-dev] DMNetwork static sizing
Shri, You designed this approach. Is it intended or out of implementation convenience at the time? Hong ________________________________ From: petsc-dev <[email protected]> on behalf of Matthew Knepley <[email protected]> Sent: Monday, April 5, 2021 5:47 AM To: PETSc <[email protected]> Subject: [petsc-dev] DMNetwork static sizing Dowe really need a configure time constant for struct _p_DMNetworkComponentHeader { PetscInt index; /* index for user input global edge and vertex */ PetscInt subnetid; /* Id for subnetwork */ PetscInt ndata; /* number of components */ PetscInt size[PETSC_DMNETWORK_MAXIMUM_COMPONENTS_PER_POINT]; PetscInt key[PETSC_DMNETWORK_MAXIMUM_COMPONENTS_PER_POINT]; PetscInt offset[PETSC_DMNETWORK_MAXIMUM_COMPONENTS_PER_POINT]; PetscInt nvar[PETSC_DMNETWORK_MAXIMUM_COMPONENTS_PER_POINT]; /* Number of variables */ PetscInt offsetvarrel[PETSC_DMNETWORK_MAXIMUM_COMPONENTS_PER_POINT]; /* offset from the first variable of the network point */ } PETSC_ATTRIBUTEALIGNED(PetscMax(sizeof(double),sizeof(PetscScalar))); Can't we just allocate this struct when needed and carry the size along? This design seem to go against the rest of what we do in PETSc? Thanks, Matt -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/<http://www.cse.buffalo.edu/~knepley/>
participants (1)
-
Zhang, Hong