<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi Thijs,<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
If you don't want to do any coding, In Paraview, there is a built-in filter to allow you to interpolate from point-based data to cell-based data, or vice versa.
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hope this would be helpful.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Feng<br>
</div>
<div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> petsc-users <petsc-users-bounces@mcs.anl.gov> on behalf of Smit Thijs <thijs.smit@hest.ethz.ch><br>
<b>Sent:</b> 11 March 2021 14:02<br>
<b>To:</b> Matthew Knepley <knepley@gmail.com><br>
<b>Cc:</b> petsc-users@mcs.anl.gov <petsc-users@mcs.anl.gov><br>
<b>Subject:</b> Re: [petsc-users] Outputting cell data in stead of point data while writing .vtr file</font>
<div> </div>
</div>
<div style="word-wrap:break-word" lang="EN-GB">
<div class="x_WordSection1">
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="DE-CH">Hi Matt,</span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="DE-CH"> </span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
Oke, would a code change be difficult? I mean, feasible for me to do as a mechanical engineer? ;)</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
Or can I use an other version of PETSc where the output to ASCII VTK is still available?
</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
Best, Thijs</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<div style="border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0cm 0cm 0cm">
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<b><span lang="EN-US">From:</span></b><span lang="EN-US"> Matthew Knepley <knepley@gmail.com>
<br>
<b>Sent:</b> 11 March 2021 14:54<br>
<b>To:</b> Smit Thijs <thijs.smit@hest.ethz.ch><br>
<b>Cc:</b> petsc-users@mcs.anl.gov<br>
<b>Subject:</b> Re: [petsc-users] Outputting cell data in stead of point data while writing .vtr file</span></p>
</div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
On Thu, Mar 11, 2021 at 8:17 AM Smit Thijs <<a href="mailto:thijs.smit@hest.ethz.ch">thijs.smit@hest.ethz.ch</a>> wrote:</p>
</div>
<div>
<blockquote style="border:none; border-left:solid #CCCCCC 1.0pt; padding:0cm 0cm 0cm 6.0pt; margin-left:4.8pt; margin-right:0cm">
<div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="DE-CH">Hi Matt,</span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="DE-CH"> </span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
Actually I have two 3D DMDA’s, one for the nodal data, where the FEM is solved on. The other DMDA is a cell centered one for the volume data, like the density of a particular voxel. Ideally I would like to write both point data (displacement field) and cell
 data (density) to the vtr.</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
Code for DMDA.</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
    DMBoundaryType bx = DM_BOUNDARY_NONE;</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
    DMBoundaryType by = DM_BOUNDARY_NONE;</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
    DMBoundaryType bz = DM_BOUNDARY_NONE;</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
    DMDAStencilType stype = DMDA_STENCIL_BOX;</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;text-indent:10.0pt">
PetscInt stencilwidth = 1;</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;text-indent:10.0pt">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
    // Create the nodal mesh</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
    <span lang="ES">ierr = DMDACreate3d(PETSC_COMM_WORLD, bx, by, bz, stype, nx, ny, nz, PETSC_DECIDE, PETSC_DECIDE, PETSC_DECIDE,</span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="ES">                        numnodaldof, stencilwidth, 0, 0, 0, &(da_nodes));</span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="ES">    CHKERRQ(ierr);</span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="DE-CH"> </span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="DE-CH">    DMSetFromOptions(da_nodes);</span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="DE-CH">    DMSetUp(da_nodes);</span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="DE-CH"> </span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="DE-CH">    ierr = DMDASetUniformCoordinates(da_nodes, xmin, xmax, ymin, ymax, zmin, zmax);</span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="DE-CH">    CHKERRQ(ierr);</span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="DE-CH"> </span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="DE-CH">    ierr = DMDASetElementType(da_nodes, DMDA_ELEMENT_Q1);</span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="DE-CH">    </span>CHKERRQ(ierr);</p>
</div>
</div>
</blockquote>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
</div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
When I wrote the original version which output to ASCII VTK, we allowed switching between point data and cell data. It is </p>
</div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
fragile since you have to assure that the different grids match properly. When the viewer was rewritten to use the XML,</p>
</div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
all output was point data. It looks like it would take code changes to get this done.</p>
</div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
</div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
  Thanks,</p>
</div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
</div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
     Matt</p>
</div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
</div>
<blockquote style="border:none; border-left:solid #CCCCCC 1.0pt; padding:0cm 0cm 0cm 6.0pt; margin-left:4.8pt; margin-right:0cm">
<div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
Best, Thijs</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<div style="border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0cm 0cm 0cm">
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<b><span lang="EN-US">From:</span></b><span lang="EN-US"> Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>>
<br>
<b>Sent:</b> 11 March 2021 14:08<br>
<b>To:</b> Smit Thijs <<a href="mailto:thijs.smit@hest.ethz.ch" target="_blank">thijs.smit@hest.ethz.ch</a>><br>
<b>Cc:</b> <a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a><br>
<b>Subject:</b> Re: [petsc-users] Outputting cell data in stead of point data while writing .vtr file</span></p>
</div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
What kind of DM is it?</p>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
</div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
  Thanks,</p>
</div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
</div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
     Matt</p>
</div>
</div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
On Thu, Mar 11, 2021 at 3:36 AM Smit Thijs <<a href="mailto:thijs.smit@hest.ethz.ch" target="_blank">thijs.smit@hest.ethz.ch</a>> wrote:</p>
</div>
<blockquote style="border:none; border-left:solid #CCCCCC 1.0pt; padding:0cm 0cm 0cm 6.0pt; margin-left:4.8pt; margin-top:5.0pt; margin-right:0cm; margin-bottom:5.0pt">
<div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
Hi All,</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
I am outputting several vectors to a .vtr file successfully for viewing in Paraview. At this moment the information is written to point data. How can I change this and make sure the data is written to cell data?</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
The code I am currently using for outputting:</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
PetscViewer viewer;</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
ierr = PetscViewerVTKOpen(PETSC_COMM_WORLD, “test.vtr”, FILE_MODE_WRITE, &viewer);</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
CHKERRQ(ierr);</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
ierr = DMView(nd, viewer);</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
CHKERRQ(ierr);</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
PetscObjectSetName((PetscObject)xPhys,"xPhys");</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
ierr = VecView(xPhys, viewer);</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
CHKERRQ(ierr);</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
PetscObjectSetName((PetscObject)S,"SvonMises");</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
ierr = VecView(S, viewer);</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
CHKERRQ(ierr);</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
ierr = PetscViewerDestroy(&viewer);</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
CHKERRQ(ierr);</p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span style="color:#24292E">Best regards,</span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span style="color:#24292E"> </span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span style="color:#24292E">Thijs Smit</span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span style="color:#24292E"> </span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span style="color:#24292E">PhD Candidate</span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span style="color:#24292E">ETH Zurich</span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span style="color:#24292E">Institute for Biomechanics</span></p>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<span lang="DE-CH"> </span></p>
</div>
</div>
</blockquote>
</div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<br clear="all">
</p>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
</div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
-- </p>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
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</p>
</div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
</div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<br clear="all">
</p>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
</div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
-- </p>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
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</p>
</div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
</div>
<div>
<p class="x_MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif;">
<a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>