eX-Mech / pymech

A Python software suite for Nek5000 and SIMSON
https://pymech.readthedocs.io/en/stable
GNU General Public License v3.0
24 stars 24 forks source link

Support curvilinear structured grids using open_dataset #31

Open ricardofrantz opened 3 years ago

ricardofrantz commented 3 years ago

Hey guys,

(probably this is not the best to post this)

I have a 3d field and I need to plot the evolution of the boundary layer thickness along x. All examples refer to .mean. I can't even obtain a slice of an instantaneous quantity.

Is there a reference to functions like mean or slice? any chance to add some more usage examples?

Thanks for your time, R

ricardofrantz commented 3 years ago

Hi, I realized the problem is that I was using readnek instead of open_dataset.

My case is not a perfect box, so open_dataset raises the error: ValueError: conflicting sizes for dimension 'z': length 6 on 'xmesh' and length 36 on 'z'

Is there a way to bypass it? or dump a part of the domain so I could use open_dataset and the built-in functions like mean and isel ?

ashwinvis commented 3 years ago

Support for open_dataset with non-box meshes is not complete. See #13 for an attempt at this. Hints, suggestions or contributions welcome.

ashwinvis commented 3 years ago

This comment advises loop indices for curvilinear structured meshes.

ashwinvis commented 2 years ago

For most cases this seems to be the reason, but it appears to happen (rarely) for certain runs even with box simulations as seen in #56.

In v1.5.0 we will at the very least provide a meaningful error message.

airwarriorg91 commented 1 month ago

Hello, I am trying to do PoD analysis with the Nek5000 data, I am also getting the following error. ValueError: conflicting sizes for dimension 'y': length 6 on 'xmesh' and length 36 on {'x': 'x', 'y': 'y', 'z': 'z'}

The function readnek works but open_dataset fails. Is there any workaround for this issue ?

Output from readnek:

<pymech.core.HexaData>
Dimensions:    2
Precision:     4 bytes
Mesh limits:
  * x:         (-25.0, 25.0)
  * y:         (-10.0, 10.0)
  * z:         (0.0, 0.0)
Time:
  * time:      0.1404823881693
  * istep:     284
Elements:
  * nel:       25472
  * elem:      [<elem centered at [ 2.52509928 -1.0241044   0.        ]>
                ...
                <elem centered at [-1.16377744 -0.68677078  0.        ]>]

Thanks, Gaurav