I'm using a struct for a multi-component PDE as suggested in the manual, like so:

typedef struct {
PetscScalar u,v,omega,temperature;
} Node;
Node **f,**u;
DMDAVecGetArray(DM da,Vec local,&u);
DMDAVecGetArray(DM da,Vec global,&f);


Calling VecNorm(...) on these vectors gives a norm for the entire vector. If one wants separate norms for each component of the struct, i.e. Norm(u) or Norm(v), what's the right approach? Would I need to manually compute norms locally and then call an MPI reduce function, or is this ability built-in to PETSc somewhere?


-Mark Lohry

Reply via email to