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

Matthew Knepley knepley at gmail.com
Wed Apr 1 07:20:50 CDT 2015


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

> In my first program I have already set the name for the solution. Vec U
> has the name "pressure".
>
> In my second program, how do I obtain and use/load "pressure"? Would I
> have to use PetscObjectQuery somehow?
>

You must name auxVec before calling VecLoad(). It then looks for that name
in the HDF5 file.

  Thanks,

     Matt


> On Tue, Mar 31, 2015 at 6:00 PM, Matthew Knepley <knepley at gmail.com>
> wrote:
>
>> 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
>>
>
>
>
> --
> 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/20150401/2b5c716c/attachment.html>


More information about the petsc-users mailing list