libmesh
libmesh copied to clipboard
Trying to export an ErrorVector in exodus .e format fails
When trying to write to a file a local error estimate living in an ErrorVector, it works perfectly well if choosing .gmv format, but it only exports near zero (1e-38) uniform data if trying .e format.
The two runs are with the exact same code, same data, on the same system. Just changing the file extension for export.
This is with libmesh 1.7.1., running on Ubuntu [20.0.4]
Let us know if you are aware of this issue and/or know how to fix it.
PS1: exporting solution vectors in .e format works perfectly well, but of course this involves different sections of the library.
PS2: find below limesh config:
| Processor id: 0 |
| Num Processors: 2 |
| Time: Tue Sep 13 17:00:16 2022 |
| OS: Linux |
| HostName:
|
| OS Release: 5.15.0-43-generic |
| OS Version: #46~20.04.1-Ubuntu SMP Thu Jul 14 15:20:17 UTC 2022 |
| Machine: x86_64 |
| Username: |
| Configuration: /spack-stage/spack-stage-libmesh-1.7.1-bjbbwg6mmbh73myphz535brtnwb5haw2/spack-src/configure '--prefix=/spack/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/libmesh-1.7.1-bjbbwg6mmbh73myphz535brtnwb5haw2'|
| '--enable-glibcxx-debugging=no' | | '--disable-strict-lgpl' | | '--disable-hinnant-unique-ptr' | | '--enable-gzstreams=no' | | '--disable-bzip2' | | '--disable-xz' | | '--without-gdb-command' | | '--enable-tecio=no' | | '--enable-tecplot=no' | | '--enable-capnproto=no' | | '--enable-exodusii=yes' | | '--enable-fparser=no' | | '--enable-gmv=no' | | '--enable-laspack=no' | | '--enable-libHilbert=no' | | '--enable-metaphysicl=no' | | '--enable-nanoflann=no' | | '--enable-nemesis=no' | | '--enable-parmetis=no' | | '--enable-qhull=no' | | '--enable-sfc=no' | | '--enable-tetgen=no' | | '--enable-triangle=no' | | '--enable-netcdf=yes' | | '--enable-vtk' | | '--with-vtk=/spack/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/vtk-9.0.3-mgn646tngtb6om3auhvj4nqc7h7wlgyv' | | '--enable-boost=no' | | '--enable-eigen=no' | | '--disable-metaphysicl' | | '--disable-perflog' | | '--disable-blocked-storage' | | '--with-hdf5=/spack/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/hdf5-1.12.2-npskv53y7yxf33tofdkwgqtmcjqdj37v' | | '--enable-metis' | | '--enable-parmetis' | | '--with-metis=PETSc' | | '--with-parmetis=PETSc' | | '--enable-petsc=yes' | | 'PETSC_DIR=/spack/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/petsc-3.17.3-tudrmz5so4jdcvm2atlx4wg75nbbncaz' | | '--enable-slepc=yes' | | 'SLEPC_DIR=/spack/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/slepc-3.17.1-vvs7d23n5uzuxofntvqkj7u6s4mwfon3' | | '--with-methods=opt' | | 'CC=/spack/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/openmpi-4.1.4-iycvlpyypfpjpjrb5joxboli7iaev56t/bin/mpicc' | | 'CXX=/spack/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/openmpi-4.1.4-iycvlpyypfpjpjrb5joxboli7iaev56t/bin/mpic++' | | '--with-mpi=/spack/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/openmpi-4.1.4-iycvlpyypfpjpjrb5joxboli7iaev56t' | | '--enable-openmp=yes' | | '--with-thread-model=pthread' | | '--enable-pthreads=yes' | | '--enable-tbb=no' | | 'FC=/spack/lib/spack/env/gcc/gfortran' | | 'F77=/spack/lib/spack/env/gcc/gfortran'
This sounds like a bug or missing feature in the Exodus writer to me. Would it be possible for you to share either your real code or a suitably simplified example that demonstrates the issue? The ErrorVector
is not stored as a solution vector on the System
class, so that's likely why this either regressed (or never worked at all) for the Exodus writer.
It's definitely a bug, not a missing feature; we do have an error_vector.C case that's intended to handle Exodus filenames.
On the other hand, IIRC I wrote that code, and so long ago that I wasn't using Exodus myself yet. It might be a regression or it might be something that's never properly worked.