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

Justin Chang jchang27 at uh.edu
Tue Mar 31 17:54:03 CDT 2015


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:

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


More information about the petsc-users mailing list