Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding Quadratic elements to Silo abstract knowledge pool #374

Merged
merged 5 commits into from
Sep 3, 2024

Conversation

cessenat
Copy link
Contributor

@cessenat cessenat commented May 4, 2024

This adds the quadratic elements ids for Silo.
Next step shall be to make them properly readable in VisIt Silo plugin.
Further step shall be to take a decision about extfaces.c : degenerate quadratic elements down to linear on boundaries so that very few work shall need to be done, or preserve the quadratic feature. I would opt for the first option, what do you think @markcmiller86 ?
Another step shall be for mixed materials ; I think mixed materials is a typical Finite Volume issue, so high order Finite Elements are orthogonal to that question ; so, as for external faces, one could degenerate quadratic to linear for mixed materials.

@markcmiller86
Copy link
Member

Be sure to run make silo.inc; make silo_f77.inc; and silo_f9x.inc in src/silo to regen those fortran include files and include those updated files in the PR.

@markcmiller86
Copy link
Member

We'll also have to adjust the README.md and some of the docs/*.md files too but we do this in a sep. PR on the ghpages branch.

@markcmiller86
Copy link
Member

@rrsettgast if you have some time, can you take a quick look at this and the associated VisIt work and share anything that might come to mind as relevant?

@markcmiller86
Copy link
Member

Another step shall be for mixed materials ; I think mixed materials is a typical Finite Volume issue, so high order Finite Elements are orthogonal to that question ; so, as for external faces, one could degenerate quadratic to linear for mixed materials.

Ok, I am looking into the mixed material question. It is def. a volume sort of thing so you may be right that the two really don't combine in any coherent way. OTOH, if every high order element has a linear approx. using just the first set of (linear) dofs, then maybe that is a way that material volume fractions can be specified.

@markcmiller86
Copy link
Member

@cessenat I think this looks good. Have you run Silo's test suite against it just to make sure. Typically, just a make check from the top level should do it.

@cessenat
Copy link
Contributor Author

@cessenat I think this looks good. Have you run Silo's test suite against it just to make sure. Typically, just a make check from the top level should do it.

Tests fail, with or without my modifications. There is something basically wrong with my Ubuntu 20.04.
Downloading https://github.com/LLNL/Silo/archive/refs/tags/4.11.1.tar.gz

cessenat@jliana:/dev/shm/SiloTest/Silo-4.11.1$ ./configure --prefix=/opt/silo-4.11.1 -with-hdf5=/usr/include/hdf5/serial,/usr/lib/x86_64-linux-gnu/hdf5/serial --enable-fortran=yes --with-readline  FC=gfortran CXX=c++ CC=gcc
...
cessenat@jliana:/dev/shm/SiloTest/Silo-4.11.1/tests$ make check

NOTICE: Silo test cases are not compiled by default.  To compile and test
NOTICE: them run "make check" from the silo "tests" directory. Otherwise
NOTICE: you can compile them individually with "make TESTNAME".  The test
NOTICE: names are: array, dir, extface, multi_test, partial_io, point, quad,
NOTICE: simple, ucd, ucdsamp3, testall, obj, onehex, oneprism, onepyramid,
NOTICE: onetet, subhex, TestReadMask, twohex, multispec, misc, sami,
NOTICE: newsami, specmix, spec, cpz1plt, group_test, listtypes, alltypes,
NOTICE: wave, multi_file, polyzl, csg, rocket, mmadjacency, largefile,
NOTICE: dbversion, namescheme, efcentering, mk_nasf_pdb, ioperf, arbpoly2d,
NOTICE: readstuff, mat3d_3across, merge_block, test_mat_compression,
NOTICE: bcastopen, memfile_simple, empty, majorder, realloc_obj_and_opts,
NOTICE: testpdb, pdbtst, compression, grab, mk_nasf_h5, testhdf5, arrayf77,
NOTICE: arrayf90, curvef77, matf77, pointf77, quadf77, ucdf77, testallf77,
NOTICE: csgmesh, qmeshmat2df77, but "testall" is a good one to start with.

make  rocket_silo.la ioperf_silo.la ioperf_pdb.la ioperf_sec2.la ioperf_stdio.la ioperf_hdf5.la arbpoly arbpoly2d array extface multi_test partial_io point group_test listtypes simple ucd ucdsamp3 testall alltypes obj onehex oneprism onepyramid onetet TestReadMask subhex twohex multispec specmix misc sami newsami spec cpz1plt merge_block mat3d_3across ucd1d wave multi_file polyzl csg rocket mmadjacency largefile dir quad dbversion namescheme efcentering mk_nasf_pdb ioperf readstuff testfs empty majorder realloc_obj_and_opts test_mat_compression bcastopen memfile_simple testpdb pdbtst  compression grab mk_nasf_h5 testhdf5 arrayf77 arrayf90 curvef77 matf77 pointf77 quadf77 ucdf77 testallf77 csgmesh qmeshmat2df77 \
  checksums testhzip testxvers test_error.py test_read.py test_write.py onehex.py testonehex testsilock testdtypes xvers_data.tar.xz pion0244.silo zeros.dat
make[1]: Entering directory '/dev/shm/SiloTest/Silo-4.11.1/tests'
make[1]: 'rocket_silo.la' is up to date.
make[1]: 'ioperf_silo.la' is up to date.
make[1]: 'ioperf_pdb.la' is up to date.
make[1]: 'ioperf_sec2.la' is up to date.
make[1]: 'ioperf_stdio.la' is up to date.
make[1]: 'ioperf_hdf5.la' is up to date.
make[1]: 'arbpoly' is up to date.
make[1]: 'arbpoly2d' is up to date.
make[1]: 'array' is up to date.
make[1]: 'extface' is up to date.
make[1]: 'multi_test' is up to date.
make[1]: 'partial_io' is up to date.
make[1]: 'point' is up to date.
make[1]: 'group_test' is up to date.
make[1]: 'listtypes' is up to date.
make[1]: 'simple' is up to date.
make[1]: 'ucd' is up to date.
make[1]: 'ucdsamp3' is up to date.
make[1]: 'testall' is up to date.
make[1]: 'alltypes' is up to date.
make[1]: 'obj' is up to date.
make[1]: 'onehex' is up to date.
make[1]: 'oneprism' is up to date.
make[1]: 'onepyramid' is up to date.
make[1]: 'onetet' is up to date.
make[1]: 'TestReadMask' is up to date.
make[1]: 'subhex' is up to date.
make[1]: 'twohex' is up to date.
make[1]: 'multispec' is up to date.
make[1]: 'specmix' is up to date.
make[1]: 'misc' is up to date.
make[1]: 'sami' is up to date.
c++ -DHAVE_CONFIG_H -I. -I..  -I./../src/silo -I./../src/silo -I/opt/silo-4.11.1/include -I/usr/include/hdf5/serial   -fPIC -MT newsami.o -MD -MP -MF .deps/newsami.Tpo -c -o newsami.o newsami.cxx
In file included from /usr/include/c++/9/tuple:39,
                 from /usr/include/c++/9/bits/stl_map.h:63,
                 from /usr/include/c++/9/map:61,
                 from newsami.cxx:60:
./array:1:1: error: stray '\177' in program
    1 | �ELF         � >    ��      @       ��b         @ 8   @ ( ' �   �   @       @       @       �      �            �   �   ��      ��      ��      �       �                 �                            �       �       �         �    �       �       �      �h�     �h�      �         �     �       �       �     . �     . �      �         �   ���     �(�     �(�     �7      P�      �         �   �&�     �6�     �6�     @      @            �   �   8�      8�      8�                            �   �   X�      X�      X�      D       D       �       S�td�   8�      8�      8�                            P�td�    ��      ��      ��     4M      4M      �       Q�td�                                           �       R�td�   ���     �(�     �(�     0�      0�             /lib64/ld-linux-x86-64.so.2     �   �   �   GNU   ��   �       �   �   �   GNU �?݄ ���V�O.})Vi��o:�   �      GNU     �              C   �         ��@���B�@ �
      | ^
.. bla bla bla...
./array:56984:127: error: ‘H’ does not name a type
In file included from /usr/include/c++/9/tuple:39,
                 from /usr/include/c++/9/bits/stl_map.h:63,
                 from /usr/include/c++/9/map:61,
                 from newsami.cxx:60:
./array:56984:2176: error: expected declaration before ‘}’ token
./array:56984:2215: error: expected class-name before numeric constant

@markcmiller86
Copy link
Member

Tests fail, with or without my modifications. There is something basically wrong with my Ubuntu 20.04.

Ok, I think I've seen this kind of failure before. Don't worry about it for now.

@markcmiller86 markcmiller86 merged commit 0f4e1d6 into LLNL:main Sep 3, 2024
2 checks passed
markcmiller86 added a commit that referenced this pull request Sep 3, 2024
Adding Quadratic elements to Silo abstract knowledge pool
markcmiller86 added a commit that referenced this pull request Sep 3, 2024
@cessenat cessenat deleted the add_high_order branch September 4, 2024 09:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants