Skip to content

Incorrect dbputmat Fortran interface #443

@acolaitis

Description

@acolaitis

Hi,

I am using the Silo library to convert my code outputs to Silo for visualization in Visit. The code is a 3D unstructured ALE-AMR code for multi-material flows. The code is written in Fortran and I use the Fortran API for Silo.

In the past, I used dbputmat (in version 4.10.2) to visualize material interfaces through the Filled Boundary visit feature. From version 4.11 of Silo, using this visit feature would make it crash. After some digging around, I found these lines in silo/silo_f.c:

*status = DBPutMaterial(dbfile, nm, mnm, *nmat, matnos, matlist, dims, *ndims, FPTR(mix_zone), FPTR(mix_mat), FPTR(mix_zone), FPTR(mix_vf), *mixlen, *datatype, optlist);

Notice that mix_zone is repeated twice. I am far from being an expert on the Silo library, but shouldn't this call read:

*status = DBPutMaterial(dbfile, nm, mnm, *nmat, matnos, matlist, dims, *ndims, FPTR(mix_next), FPTR(mix_mat), FPTR(mix_zone), FPTR(mix_vf), *mixlen, *datatype, optlist);

I am not able to make the test right now, and that may not be the only fix necessary, but I wanted to draw your attention to this.

Thanks
Arnaud Colaitis

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions