On Fri, Aug 24, 2012 at 2:16 PM, Chris Eldred <span dir="ltr"><<a href="mailto:chris.eldred@gmail.com" target="_blank">chris.eldred@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The following code snippet does not appear to be working:<br></blockquote><div><br></div><div>1) I hate Fortran. A lot. It is not debuggable.</div><div><br></div><div>2) Here is my code that should work, but the do loop somehow does not work:</div>
<div><br></div><div>       program main</div><div>      implicit none</div><div>!</div><div>#include <finclude/petsc.h90></div><div>#include <finclude/petscdmcomplex.h90></div><div>!</div><div>      DM dm</div>
<div>      PetscInt, target, dimension(4) :: EC</div><div>      PetscInt, pointer :: pEC(:)</div><div>      PetscInt c, firstCell, numCells</div><div>      PetscErrorCode ierr</div><div><br></div><div>      call PetscInitialize(PETSC_NULL_CHARACTER,ierr)</div>
<div>      call DMComplexCreate(PETSC_COMM_WORLD, dm, ierr)</div><div>      firstCell = 0</div><div>      numCells = 5</div><div>      call DMComplexSetChart(dm, 0, numCells, ierr)</div><div>      do c=firstCell,numCells</div>
<div>         write(*,*) 'c',c</div><div>         call DMComplexSetConeSize(dm, c, 4)</div><div>      end do</div><div>      call DMSetUp(dm, ierr)</div><div><br></div><div>      EC(1) = 1</div><div>      EC(2) = 2</div>
<div>      EC(3) = 3</div><div>      EC(4) = 4</div><div>      pEC => EC</div><div>      write(*,*) 'cell',c,pEC</div><div>      c = 0</div><div>      call DMComplexSetCone(dm, c , pEC, ierr)</div><div>      CHKERRQ(ierr)</div>
<div>      call DMComplexGetCone(dm, c , pEC, ierr)</div><div>      CHKERRQ(ierr)</div><div>      write(*,*) 'cell',c,pEC</div><div><br></div><div>      call DMDestroy(dm,ierr)</div><div>      call PetscFinalize(ierr)</div>
<div>      end</div><div><br></div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
PetscInt, dimension(4) :: EC<br>
<br>
EC(1) = 1<br>
EC(2) = 2<br>
EC(3) = 3<br>
EC(4) = 4<br>
write(*,*) 'cell',EC<br>
call DMComplexSetCone(model_mesh, lcell , EC, ierr)<br>
CHKERRQ(ierr)<br>
call DMComplexGetCone(model_mesh, lcell , EC, ierr)<br>
CHKERRQ(ierr)<br>
write(*,*) 'cell', EC<br>
<br>
I get the following as output:<br>
<br>
cell           1           2           3        4<br>
cell    18673792           0          -1          -1<br>
<br>
DMComplexGetConeSize returns 4 as expected. I am using the latest<br>
version of petsc-dev.<br>
<br>
Later on there is a segmentation fault violation, probably related to<br>
this issue.<br>
<br>
Any ideas?<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Chris Eldred<br>
DOE Computational Science Graduate Fellow<br>
Graduate Student, Atmospheric Science, Colorado State University<br>
B.S. Applied Computational Physics, Carnegie Mellon University, 2009<br>
<a href="mailto:chris.eldred@gmail.com">chris.eldred@gmail.com</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>