[petsc-users] Obtaining constraint values in DM vector solution

Matthew Knepley knepley at gmail.com
Tue Mar 31 18:00:03 CDT 2015


On Tue, Mar 31, 2015 at 5:54 PM, Justin Chang <jchang27 at uh.edu> wrote:

> Matt thanks for the responses. I plan on loading the solution sol.h5
> obtained from one program into another (as the auxiliary). So in my other
> program, I am solving a different problem but on the same mesh. I have the
> following lines in my other code:
>

Yes, if you want to do this, you have to give these vectors proper names:

  PetscObjectSetName((PetscObject), U, "solution");

  Thanks,

    Matt


> ierr =
> PetscViewerHDF5Open(PETSC_COMM_SELF,"sol.h5",FILE_MODE_READ,&viewer);CHKERRQ(ierr);
> ierr = VecLoad(auxVec,&viewer);CHKERRQ(ierr);
> ierr = PetscViewerDestroy(&viewer);CHKERRQ(ierr);
>
> But when this program reaches VecLoad i get the following errors:
>
> HDF5-DIAG: Error detected in HDF5 (1.8.12) MPI-process 0:
>   #000: H5D.c line 334 in H5Dopen2(): not found
>     major: Dataset
>     minor: Object not found
>   #001: H5Gloc.c line 430 in H5G_loc_find(): can't find object
>     major: Symbol table
>     minor: Object not found
>   #002: H5Gtraverse.c line 861 in H5G_traverse(): internal path traversal
> failed
>     major: Symbol table
>     minor: Object not found
>   #003: H5Gtraverse.c line 641 in H5G_traverse_real(): traversal operator
> failed
>     major: Symbol table
>     minor: Callback failed
>   #004: H5Gloc.c line 385 in H5G_loc_find_cb(): object
> 'Vec_0x7f9831516fb0_0' doesn't exist
>     major: Symbol table
>     minor: Object not found
> [0]PETSC ERROR: --------------------- Error Message
> --------------------------------------------------------------
> [0]PETSC ERROR: Error in external library
> [0]PETSC ERROR: Error in HDF5 call H5Dopen2() Status -1
> [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html
> for trouble shooting.
> [0]PETSC ERROR: Petsc Development GIT revision: v3.5.3-2528-gbee642f  GIT
> Date: 2015-03-29 20:36:38 -0500
> [0]PETSC ERROR: ./trans on a arch-darwin-c-debug named CAML-03.CIVE.UH.EDU
> by jychang48 Tue Mar 31 17:45:38 2015
> [0]PETSC ERROR: Configure options --download-chaco --download-exodusii
> --download-fblaslapack --download-hdf5 --download-metis --download-mumps
> --download-netcdf --download-openmpi --download-parmetis
> --download-scalapack --download-triangle --with-cc=gcc --with-cmake=cmake
> --with-cxx=g++ --with-debugging=1 --with-fc=gfortran --with-valgrind=1
> CFLAGS= CXXFLAGS= PETSC_ARCH=arch-darwin-c-debug
> [0]PETSC ERROR: #1 VecLoad_HDF5() line 268 in
> /Users/jychang48/Software/petsc-dev/src/vec/vec/utils/vecio.c
> [0]PETSC ERROR: #2 VecLoad_Default() line 391 in
> /Users/jychang48/Software/petsc-dev/src/vec/vec/utils/vecio.c
> [0]PETSC ERROR: #3 VecLoad_Plex_Local() line 158 in
> /Users/jychang48/Software/petsc-dev/src/dm/impls/plex/plex.c
> [0]PETSC ERROR: #4 VecLoad() line 969 in
> /Users/jychang48/Software/petsc-dev/src/vec/vec/interface/vector.c
> [0]PETSC ERROR: #5 CreateMesh() line 265 in
> /Users/jychang48/Dropbox/Research_Topics/Code_PETSc/Nonneg/trans.c
> [0]PETSC ERROR: #6 main() line 381 in
> /Users/jychang48/Dropbox/Research_Topics/Code_PETSc/Nonneg/trans.c
>
> Any idea what's going on here?
>
> On Tue, Mar 31, 2015 at 5:46 PM, Matthew Knepley <knepley at gmail.com>
> wrote:
>
>> On Tue, Mar 31, 2015 at 5:29 PM, Justin Chang <jchang27 at uh.edu> wrote:
>>
>>> How do I invoke this command into my program? When I add "-vec_view
>>> hdf5:sol.h5" my program says this has been left out.
>>>
>>
>> You can call VecView() directly with an HDF5 Viewer, or I think its
>> easier to call
>>
>>   VecViewFromOptions(U, NULL, "-vec_view");
>>
>>   Thanks,
>>
>>     Matt
>>
>>
>>> On Tue, Mar 31, 2015 at 5:13 PM, Matthew Knepley <knepley at gmail.com>
>>> wrote:
>>>
>>>> On Tue, Mar 31, 2015 at 5:06 PM, Justin Chang <jchang27 at uh.edu> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> So in my DMPlex FEM (serial) simulations, I want to output the
>>>>> solution U to a binary file. I have the following:
>>>>>
>>>>> ierr =
>>>>> PetscViewerBinaryOpen(PETSC_COMM_WORLD,"sol.dat",FILE_MODE_WRITE,&viewer);CHKERRQ(ierr);
>>>>> ierr = VecView(U,viewer);CHKERRQ(ierr);
>>>>> ierr = PetscViewerDestroy(&viewer);CHKERRQ(ierr);
>>>>>
>>>>> The mesh I am solving has 13368 nodes, and 404 of them are constrained
>>>>> using the DMPlexAddBoundary(...)  function. However, when I output the
>>>>> vector I only get 12964 values, which I believe is leaving out the 404
>>>>> constrained ones. How do I get all dofs in the vector U (both free and
>>>>> constrained) printed?
>>>>>
>>>>
>>>> I would use HDF5 which will do this automatically:
>>>>
>>>>   -vec_view hdf5:sol.h5
>>>>
>>>>   Thanks,
>>>>
>>>>      Matt
>>>>
>>>>
>>>>> Thanks,
>>>>>
>>>>>
>>>>> --
>>>>> Justin Chang
>>>>> PhD Candidate, Civil Engineering - Computational Sciences
>>>>> University of Houston, Department of Civil and Environmental
>>>>> Engineering
>>>>> Houston, TX 77004
>>>>> (512) 963-3262
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> 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
>>>>
>>>
>>>
>>>
>>> --
>>> Justin Chang
>>> PhD Candidate, Civil Engineering - Computational Sciences
>>> University of Houston, Department of Civil and Environmental Engineering
>>> Houston, TX 77004
>>> (512) 963-3262
>>>
>>
>>
>>
>> --
>> 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
>>
>
>
>
> --
> Justin Chang
> PhD Candidate, Civil Engineering - Computational Sciences
> University of Houston, Department of Civil and Environmental Engineering
> Houston, TX 77004
> (512) 963-3262
>



-- 
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/20150331/91fa2db9/attachment.html>


More information about the petsc-users mailing list