[petsc-users] Reading data from a file into a DM created vector

Matthew Knepley knepley at gmail.com
Thu Oct 30 15:35:59 CDT 2014


On Thu, Oct 30, 2014 at 3:29 PM, Justin Chang <jychang48 at gmail.com> wrote:

> Hi all,
>
> So I am writing an FEM code where it reads input data (e.g., auxiliary
> coefficients, source terms, etc) from a text file. I have preprocessed the
> data text file so that each vertex point has its corresponding data. For
> instance, if my source term for a diffusion problem has a sin or cos
> function of the coordinates, then this data is already tabulated and simply
> needs to be fed into my PETSc program. The data text file containing both
> the auxiliary data and the coordinate/connectivities will also be used to
> provide the input arguments for the DMPlexCreateFromDAG() function.
>
> Normally, I would hard-code the sin/cos functions into the source code
> itself, but i want my program to be "universal" in that it can take as
> input any user-defined function for not only these auxiliaries but for
> other things like boundary conditions. I see that PETSc has a lot of
> examples on how to read data into vectors and matrices, but I guess my
> question is is there a way to project data from a text file into a vector
> that has already been created with a defined DM structure?
>

If you have the functions available, I think it is far more universal to
use the function itself, since then you can be independent
of mesh and discretization when specifying input and BC.

However, if you want to read it in, and you guarantee that it matches the
mesh and discretization, I think the easiest thing to do is
demand that it come in the same order as the vertices and use

VecGetArray(V, &a);
for (v = vStart, i = 0; v < vEnd; ++v) {
  PetscSectionGetDof(s, v, &dof);
  PetscSectionGetOffset(s, v, &off);
  for (d = 0; d < dof; ++d) a[off+d] = text_data[i++];
}
VecRestoreArray(V, &a);

   Matt


> Thanks,
> Justin
>



-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20141030/d315a1dc/attachment.html>


More information about the petsc-users mailing list