David,
Here is a modified example.
Exodus needs some additional work prior to saving fields. See the attached modified example.
Blaise
On Dec 1, 2021, at 1:54 PM, Blaise Bourdin <[email protected]> wrote:
OK, let me have a look.Blaise
On Nov 30, 2021, at 7:31 PM, David Andrs <[email protected]> wrote:
I see. I added a "Cell Sets" label like so: DMCreateLabel(dm, "Cell Sets");DMLabel cs_label;DMGetLabel(dm, "Cell Sets", &cs_label);DMLabelAddStratum(cs_label, 0);PetscInt idxs[] = { 1 };IS is;ISCreateGeneral(comm, 1, idxs, PETSC_COPY_VALUES, &is);DMLabelSetStratumIS(cs_label, 0, is);ISDestroy(&is);
Note, that I have only a single element (Quad4) in the mesh and I am just trying to get this working, so I understand what needs to happen for larger meshes.This got me past the segfault, but now I see:[0]PETSC ERROR: Argument out of range[0]PETSC ERROR: Number of vertices 1 in dimension 2 has no ExodusII type
So, I assume I need to do something more to make it work.DavidOn Nov 30 2021, at 11:39 AM, Blaise Bourdin <[email protected]> wrote:It looks like your DM cannot be saved in exodus format as such. The exodus format requires that all cells be part of a single block (defined by ‘Cell Set’ labels), and that the cell sets consists of sequentially numbered cells.Can you see if that is enough? If not, I will go through your example
Blaise
On Nov 30, 2021, at 9:50 AM, David Andrs <[email protected]> wrote:
Hello!
I am trying to store data into an ExodusII file using the ExodusIIViewer, but running into a segfault inside PETSc. Attached is a minimal example showing the problem. It can very much be that I am missing something obvious. However, if I change the code to VTKViewer I get the desired output file.
Machine: MacBook Pro 2019OS version/type: Darwin notak.local 21.1.0 Darwin Kernel Version 21.1.0: Wed Oct 13 17:33:23 PDT 2021; root:xnu-8019.41.5~1/RELEASE_X86_64 x86_64PETSc: Petsc Release Version 3.16.1, Nov 01, 2021MPI: MPICH 3.4.2Compiler: clang-12
Call stack (not sure how relevant that is since it is from opt version):
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xc)frame #0: 0x0000000102303ba9 libpetsc.3.16.dylib`DMView_PlexExodusII(dm=<unavailable>, viewer=<unavailable>) at plexexodusii.c:457:45 [opt]454 else if (degree == 2) nodes[cs] = nodesHexP2;455 }456 /* Compute the number of cells not in the connectivity table */-> 457 cellsNotInConnectivity -= nodes[cs][3]*csSize;458459 ierr = ISRestoreIndices(stratumIS, &cells);CHKERRQ(ierr);460 ierr = ISDestroy(&stratumIS);CHKERRQ(ierr);
With regards,
David Andrs<exo2.c>
--Professor, Department of Mathematics & StatisticsHamilton Hall room 409A, McMaster University1280 Main Street West, Hamilton, Ontario L8S 4K1, CanadaTel. +1 (905) 525 9140 ext. 27243
--
Professor, Department of Mathematics & Statistics
Hamilton Hall room 409A, McMaster University
1280 Main Street West, Hamilton, Ontario L8S 4K1, Canada
Tel. +1 (905) 525 9140 ext. 27243
--
Professor, Department of Mathematics & Statistics
Hamilton Hall room 409A, McMaster University
1280 Main Street West, Hamilton, Ontario L8S 4K1, Canada
Tel. +1 (905) 525 9140 ext. 27243
Professor, Department of Mathematics & Statistics
Hamilton Hall room 409A, McMaster University
1280 Main Street West, Hamilton, Ontario L8S 4K1, Canada
Tel. +1 (905) 525 9140 ext. 27243
exo2.c
Description: exo2.c
