CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   ParaView (https://www.cfd-online.com/Forums/paraview/)
-   -   [OpenFOAM] Structure does not match. You must use CopyStructure before calling this method. (https://www.cfd-online.com/Forums/paraview/144004-structure-does-not-match-you-must-use-copystructure-before-calling-method.html)

chrisb2244 November 7, 2014 01:01

Structure does not match. You must use CopyStructure before calling this method.
 
When opening an OpenFOAM case in ParaView (4.2.0, from git) in parallel (using multiple cores on my local computer via 'mpirun -np 8 pvserver --use-offscreen-rendering') I receive the error in the question title, more fully:

ERROR: In /home/christian/Applications/source/git-sources/ParaView/VTK/Common/DataModel/vtkDataObjectTree.cxx, line 377
vtkMultiBlockDataSet (0x3321a30): Structure does not match. You must use CopyStructure before calling this method.

This error appears repeatedly in the console and ParaView's 'Output Messages' window. The directory given is that of the sources, and not the installation directory (which is /home/christian/Applications/{bin,lib,...} )

The error does not occur if the case is opened on one core.

My ParaView installation no longer has a `use multiple cores` option - previous versions did? However it does have a `Auto-MPI` option, which although enabled (and following restarts of PV, as instructed by a prompt in the Edit->Settings window) this doesn't appear to trigger. (Perhaps I configured it badly?)

The same error is mentioned in this post (http://www.cfd-online.com/Forums/ope...te-errors.html) for PV-4.0.0, and no mention of parallel processing is given there. It is unclear which reader is used (built-in, or plugin). The solution given is regarding the `dimensions` field for the fields in the 0 directory. All of the dimensions fields in my case have 7 digits.

There is an open bug report (http://vtk.org/Bug/print_bug_page.php?bug_id=14473) for both VTK and ParaView regarding what might be the same issue, although the linked report makes no mention of parallel running.

Does anyone know where (or how many times) I've messed up here?
The VTK was installed as a part of ParaView. I also receive an error on startup regarding 'top level window's, from Qt, but I imagine this is unrelated - certainly, it makies no obvious changes or flaws appear.

caljones November 20, 2015 09:29

Error
 
I am in a similar situation. Im dealing with a large dataset, so i enabled the multi core option.

When trying to open to (Helyx) OpenFoam case, the same error message appears for me.

Again, I can open the file (albeit slowly) in serial.

Has anyone got some information on this error?

chegdan November 26, 2015 07:43

This error is seen when you have auto MPI enabled in ParaView and the auto MPI limit is larger than the number of domains you have decomposed. For example, if your auto MPI limit is 10 and you are looking at a reconstructed case or a decomposed case of less than 10 sub-domains, you will see this error.

lukasf January 27, 2023 05:44

Hi,


I notice that when I use ParaView with 1 core that there is no issue.


Using e.g. 10 cores and ParaView in parallel I am not able to apply the extractBlock command "Structure does not Match. You must use CopyStructure before calling this method". There is not CopyStructure filter.



What would be the solution to this problem?





Quote:

Originally Posted by chegdan (Post 575088)
This error is seen when you have auto MPI enabled in ParaView and the auto MPI limit is larger than the number of domains you have decomposed. For example, if your auto MPI limit is 10 and you are looking at a reconstructed case or a decomposed case of less than 10 sub-domains, you will see this error.


lukasf March 30, 2023 10:59

I "solved" it by postprocessing in serial mode...



Quote:

Originally Posted by lukasf (Post 843562)
Hi,


I notice that when I use ParaView with 1 core that there is no issue.


Using e.g. 10 cores and ParaView in parallel I am not able to apply the extractBlock command "Structure does not Match. You must use CopyStructure before calling this method". There is not CopyStructure filter.



What would be the solution to this problem?



All times are GMT -4. The time now is 19:11.