CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Mesh Generation & Pre-Processing Software > Pointwise & Gridgen

Failed: One "Pole" of axisymmetry problem exported to OpenFOAM ("wedge" type)

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 17, 2017, 17:13
Default Failed: One "Pole" of axisymmetry problem exported to OpenFOAM ("wedge" type)
  #1
New Member
 
Join Date: May 2016
Posts: 14
Rep Power: 9
samlee is on a distinguished road
Dear all,

I tried to make a domain shown as follows, with one pole only. When it is exported to OpenFOAM, it indicates me the following errors. I checked with both situations but did not find anything wrong. However, the "blockMesh" in OpenFOAM can mesh it well without any errors. So I am suspicious PointWise cannot do the mesh like this. Or could you please give me some hint of it? Thank you.

Error: Face processing failed.
Info: Check your grid for one of the following invalid situations:
Info: * Incompatible BC types used on opposite sides of a baffle or connection.
Info: * Non-manifold connectivity.
Error: (0) Could not write face files!
Warning: Aborted Export CAE.


Kind regards,
Sam
Attached Images
File Type: png Capture.PNG (15.7 KB, 45 views)
samlee is offline   Reply With Quote

Old   November 17, 2017, 19:34
Default
  #2
Senior Member
 
David Garlisch
Join Date: Jan 2013
Location: Fidelity Pointwise, Cadence Design Systems (Fort Worth, Texas Office)
Posts: 307
Rep Power: 14
dgarlisch is on a distinguished road
Please ZIP the pw file in the picture and attach. I will look at it on Monday when I am back in the office.
dgarlisch is offline   Reply With Quote

Old   November 18, 2017, 01:43
Default
  #3
New Member
 
Join Date: May 2016
Posts: 14
Rep Power: 9
samlee is on a distinguished road
Hi David,

Thank you so much. I have attached the dropbox link as follows.

https://www.dropbox.com/sh/n2gb438f6...qBS9ZIoGa?dl=0

Kind regards,
Sam
samlee is offline   Reply With Quote

Old   November 20, 2017, 10:28
Default
  #4
Senior Member
 
David Garlisch
Join Date: Jan 2013
Location: Fidelity Pointwise, Cadence Design Systems (Fort Worth, Texas Office)
Posts: 307
Rep Power: 14
dgarlisch is on a distinguished road
I have the file.

Which Pointwise version are you using to export the grid?
dgarlisch is offline   Reply With Quote

Old   November 20, 2017, 10:49
Default
  #5
Senior Member
 
David Garlisch
Join Date: Jan 2013
Location: Fidelity Pointwise, Cadence Design Systems (Fort Worth, Texas Office)
Posts: 307
Rep Power: 14
dgarlisch is on a distinguished road
The single corner pole is creating an UNSUPPORTED (non-canonical) QuadTri cell. That is, the cell is not a hex, prism, tet, or pyramid. See image.

If you look at the bottom of the Cell Connectivity page, you will see the two, unsupported cell types.

The only workaround is to figure out a different way of creating your grid to eliminate these cells from being created.

I hope this helps.
Attached Images
File Type: png wedge_test.png (26.6 KB, 49 views)
dgarlisch is offline   Reply With Quote

Old   November 20, 2017, 17:48
Default
  #6
New Member
 
Join Date: May 2016
Posts: 14
Rep Power: 9
samlee is on a distinguished road
Thank you David. I will turn to another option.
From the provided figure, why does it still show there are 81 hexes? I do not quite understand this image means.

Thank you.

Kind regards,
Sam
samlee is offline   Reply With Quote

Old   November 21, 2017, 07:40
Default
  #7
New Member
 
Join Date: May 2016
Posts: 14
Rep Power: 9
samlee is on a distinguished road
Dear David,

I want to have a 2D model, which is symmetrical to a line, while I have only meshed one side of the model. Is there any way in Pointwise to automatically generate the other side mesh and keep the "one side mesh" at the same time?

I have tried with "mirror" and "periodic". But they both do not help.

Mirror will copy the "one side mesh" to the other side but not keep it at the "one side".
Periodic does give me the mesh I want, but the orient of the other side mesh is totally opposite to the "one side mesh", leading to the failure of export.

So I would like to ask how to do that with Pointwise?

Thank you so much.

Kind regards,
Sam
samlee is offline   Reply With Quote

Old   November 21, 2017, 10:09
Default
  #8
Senior Member
 
David Garlisch
Join Date: Jan 2013
Location: Fidelity Pointwise, Cadence Design Systems (Fort Worth, Texas Office)
Posts: 307
Rep Power: 14
dgarlisch is on a distinguished road
Quote:
Originally Posted by samlee View Post
Thank you David. I will turn to another option.
From the provided figure, why does it still show there are 81 hexes? I do not quite understand this image means.

Thank you.

Kind regards,
Sam
The block is (topologically) a structured block. That cell is still a hex cell (topologically). It just happens to have two of its IJK points on top of each other (same XYZ location).

Think of a normal hex cell. Pick any edge and move both its end points to the mid-point of the original edge. Both corners of the cell still exist. They just happen to be at the same XYZ location with a zero-length edge between them.

Pointwise handles this degenerate topology internally. However, Pointwise has a limitation when exporting these "illegal" cells to UNSTRUCTURED, face-based formats like OpenFOAM.

I suggest you contact Pointwise support and report this situation as a bug or feature request. There may be some way of handling this.
dgarlisch is offline   Reply With Quote

Old   November 21, 2017, 10:17
Default
  #9
Senior Member
 
David Garlisch
Join Date: Jan 2013
Location: Fidelity Pointwise, Cadence Design Systems (Fort Worth, Texas Office)
Posts: 307
Rep Power: 14
dgarlisch is on a distinguished road
Quote:
Originally Posted by samlee View Post
Dear David,

I want to have a 2D model, which is symmetrical to a line, while I have only meshed one side of the model. Is there any way in Pointwise to automatically generate the other side mesh and keep the "one side mesh" at the same time?

I have tried with "mirror" and "periodic". But they both do not help.

Mirror will copy the "one side mesh" to the other side but not keep it at the "one side".
Periodic does give me the mesh I want, but the orient of the other side mesh is totally opposite to the "one side mesh", leading to the failure of export.

So I would like to ask how to do that with Pointwise?

Thank you so much.

Kind regards,
Sam
I do not understand the mesh description. Can you post an image or a PW file that explains the mesh you want?
dgarlisch is offline   Reply With Quote

Old   November 21, 2017, 23:54
Default
  #10
New Member
 
Join Date: May 2016
Posts: 14
Rep Power: 9
samlee is on a distinguished road
Dear David,
Thank you for your explicit explanation.

I am sorry for my vague description. I will show you my problem with steps.
In Image 1, the right hand side mesh is already done, while the left hand side is nothing. I want to "symmetry" the RHS mesh to the left with respect to the middle line.




I tried to use mirror, but it cannot preserve the RHS mesh. It is just copied to the LHS.
Then I tried to use "periodic", but the export indicates the same error which I have presented before.
I checked the orients of both domains, while it turns out the directions are opposite. I think that must be the reason for the failure of export. The directions of both domains are shown as follows,

So I would like to ask how to "symmetry" a mesh with respect to a line or a surface.



Kind regards,
Sam
samlee is offline   Reply With Quote

Old   November 22, 2017, 00:00
Default
  #11
New Member
 
Join Date: May 2016
Posts: 14
Rep Power: 9
samlee is on a distinguished road
Dear David,

I do not know how to upload images, so the images are in the following dropbox link. Sorry for bringing the inconvenience.

https://www.dropbox.com/sh/lwpbo2no0...r7DyNjZVa?dl=0

Kind regards,
Sam
samlee is offline   Reply With Quote

Old   November 22, 2017, 10:34
Default
  #12
Senior Member
 
David Garlisch
Join Date: Jan 2013
Location: Fidelity Pointwise, Cadence Design Systems (Fort Worth, Texas Office)
Posts: 307
Rep Power: 14
dgarlisch is on a distinguished road
Quote:
In Image 1, the right hand side mesh is already done, while the left hand side is nothing. I want to "symmetry" the RHS mesh to the left with respect to the middle line.

I tried to use mirror, but it cannot preserve the RHS mesh. It is just copied to the LHS.

Then I tried to use "periodic", but the export indicates the same error which I have presented before.

I checked the orients of both domains, while it turns out the directions are opposite. I think that must be the reason for the failure of export.

So I would like to ask how to "symmetry" a mesh with respect to a line or a surface.
To make a mirrored copy of a grid entity, you use Copy-Paste with a mirror transform.
  • Select the grid entities to be mirrored
  • Edit, Copy (or Ctrl-C)
  • Edit, Paste... (or Ctrl-V)
  • Paste tab displayed:
    • Press the Mirror... button
  • Mirror tab displayed:
    • Define the appropriate mirror plane
    • OK
  • Paste tab displayed:
    • Apply another transform or press OK to finish

As you guessed, for 2D export all domains being exported MUST have the same relative orientation. Use Edit, Orient to adjust the domain orientations as needed. If you have both structured and unstructured domains, you must check/change their orientations in two steps.
  1. Select all structured domains then Edit, Orient
  2. Select all unstructured domains then Edit, Orient

I hope this helps.

Bonus:
To attach files to a post on this forum:
While editing the post message, you can scroll down to the bottom of the page and use the Manage Attachments button.
dgarlisch is offline   Reply With Quote

Old   November 22, 2017, 18:06
Default
  #13
New Member
 
Join Date: May 2016
Posts: 14
Rep Power: 9
samlee is on a distinguished road
Quote:
Originally Posted by dgarlisch View Post
To make a mirrored copy of a grid entity, you use Copy-Paste with a mirror transform.
  • Select the grid entities to be mirrored
  • Edit, Copy (or Ctrl-C)
  • Edit, Paste... (or Ctrl-V)
  • Paste tab displayed:
    • Press the Mirror... button
  • Mirror tab displayed:
    • Define the appropriate mirror plane
    • OK
  • Paste tab displayed:
    • Apply another transform or press OK to finish

As you guessed, for 2D export all domains being exported MUST have the same relative orientation. Use Edit, Orient to adjust the domain orientations as needed. If you have both structured and unstructured domains, you must check/change their orientations in two steps.
  1. Select all structured domains then Edit, Orient
  2. Select all unstructured domains then Edit, Orient

I hope this helps.

Bonus:
To attach files to a post on this forum:
While editing the post message, you can scroll down to the bottom of the page and use the Manage Attachments button.
Dear David,

Thank you so much! It solved my problem.

Kind regards,
Sam
samlee is offline   Reply With Quote

Old   December 13, 2017, 22:38
Default
  #14
New Member
 
Join Date: May 2016
Posts: 14
Rep Power: 9
samlee is on a distinguished road
Dear David,

I am using the copy-paste approach to do a mesh in Pointwise for a structured mesh for pyfr (e.g. pyfm ) and .gmsh. I have tried 2 ways but all failed

1. Direct conversion to pyfm and then run pyfr.
2. convert to gmsh first and then change it to pyfm and then run pyfr

Could you please take a look at my mesh and help me for that?

https://www.dropbox.com/sh/trw6byvf5...6W_ac8QWa?dl=0

Thank you in advance.

The above 2 ways can correctly convert to pyfm, but when I run pyfr, it will give me the following error,


Traceback (most recent call last):
File "/usr/local/bin/pyfr", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python3.5/dist-packages/pyfr/__main__.py", line 110, in main
args.process(args)
File "/usr/local/lib/python3.5/dist-packages/pyfr/__main__.py", line 235, in process_run
args, NativeReader(args.mesh), None, Inifile.load(args.cfg)
File "/usr/local/lib/python3.5/dist-packages/pyfr/__main__.py", line 216, in _process_common
solver = get_solver(backend, rallocs, mesh, soln, cfg)
File "/usr/local/lib/python3.5/dist-packages/pyfr/solvers/__init__.py", line 16, in get_solver
return get_integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
File "/usr/local/lib/python3.5/dist-packages/pyfr/integrators/__init__.py", line 46, in get_integrator
return integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
File "/usr/local/lib/python3.5/dist-packages/pyfr/integrators/std/controllers.py", line 80, in __init__
super().__init__(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/pyfr/integrators/std/controllers.py", line 14, in __init__
super().__init__(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/pyfr/integrators/std/steppers.py", line 165, in __init__
super().__init__(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/pyfr/integrators/std/steppers.py", line 8, in __init__
super().__init__(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/pyfr/integrators/std/base.py", line 10, in __init__
super().__init__(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/pyfr/integrators/base.py", line 58, in __init__
self._init_system(systemcls, backend, rallocs, mesh, initsoln)
File "/usr/local/lib/python3.5/dist-packages/pyfr/integrators/base.py", line 88, in _init_system
self.system = systemcls(*args, nreg=self.nreg, cfg=self.cfg)
File "/usr/local/lib/python3.5/dist-packages/pyfr/solvers/base/system.py", line 58, in __init__
int_inters = self._load_int_inters(rallocs, mesh, elemap)
File "/usr/local/lib/python3.5/dist-packages/pyfr/solvers/base/system.py", line 116, in _load_int_inters
self.cfg)
File "/usr/local/lib/python3.5/dist-packages/pyfr/solvers/navstokes/inters.py", line 13, in __init__
super().__init__(be, lhs, rhs, elemap, cfg)
File "/usr/local/lib/python3.5/dist-packages/pyfr/solvers/baseadvecdiff/inters.py", line 12, in __init__
super().__init__(be, lhs, rhs, elemap, cfg)
File "/usr/local/lib/python3.5/dist-packages/pyfr/solvers/baseadvec/inters.py", line 16, in __init__
self._gen_perm(lhs, rhs)
File "/usr/local/lib/python3.5/dist-packages/pyfr/solvers/baseadvecdiff/inters.py", line 36, in _gen_perm
self._elemap)
File "/usr/local/lib/python3.5/dist-packages/pyfr/solvers/base/inters.py", line 15, in get_opt_view_perm
vm = _get_inter_objs(interside, mat, elemap)
File "/usr/local/lib/python3.5/dist-packages/pyfr/solvers/base/inters.py", line 11, in _get_inter_objs
return [emap[type](eidx, fidx) for type, eidx, fidx, flags in interside]
File "/usr/local/lib/python3.5/dist-packages/pyfr/solvers/base/inters.py", line 11, in <listcomp>
return [emap[type](eidx, fidx) for type, eidx, fidx, flags in interside]
File "/usr/local/lib/python3.5/dist-packages/pyfr/solvers/base/elements.py", line 346, in get_scal_fpts_for_inter
rmap = self._srtd_face_fpts[fidx][eidx]
File "/usr/local/lib/python3.5/dist-packages/pyfr/util.py", line 138, in __get__
value = self.fn(instance)
File "/usr/local/lib/python3.5/dist-packages/pyfr/solvers/base/elements.py", line 109, in _srtd_face_fpts
for ffpts in self.basis.facefpts]
File "/usr/local/lib/python3.5/dist-packages/pyfr/solvers/base/elements.py", line 109, in <listcomp>
for ffpts in self.basis.facefpts]
File "/usr/local/lib/python3.5/dist-packages/pyfr/solvers/base/elements.py", line 108, in <listcomp>
return [[np.array(fuzzysort(pts.tolist(), ffpts)) for pts in plocfpts]
File "/usr/local/lib/python3.5/dist-packages/pyfr/nputil.py", line 92, in fuzzysort
srtdidx[i:j] = fuzzysort(arr, srtdidx[i:j], dim + 1, tol)
File "/usr/local/lib/python3.5/dist-packages/pyfr/nputil.py", line 96, in fuzzysort
srtdidx[i:] = fuzzysort(arr, srtdidx[i:], dim + 1, tol)
File "/usr/local/lib/python3.5/dist-packages/pyfr/nputil.py", line 85, in fuzzysort
arrd = arr[dim]
IndexError: list index out of range

Kind regards,
Sam
samlee is offline   Reply With Quote

Old   December 22, 2017, 14:37
Default
  #15
Senior Member
 
David Garlisch
Join Date: Jan 2013
Location: Fidelity Pointwise, Cadence Design Systems (Fort Worth, Texas Office)
Posts: 307
Rep Power: 14
dgarlisch is on a distinguished road
The root problem is that the domain normals (k direction) are not consistently oriented. This will cause the exported grid to be invalid at the interfaces between the mis-oriented domains.

However, I can't get the domain orientations to align (Select all domains; Edit, Orient...) because of the periodic connections in the grid.

I had to break the perodicity (Select all domains; Edit, Break Periodic), orient the domains consistently, and then do the export.

Please report this case to Pointwise support and log a bug. It seems like orienting the domains should be possible even with periodic boundaries.

Good luck.


PS - You may also want to consider using a half-grid and a mirror plane instead of periodics. During export, you can optionally choose to mirror the exported grid. See CAE, Set Mirror Plane...
dgarlisch is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
time step continuity problem in VAWT simulation lpz_michele OpenFOAM Running, Solving & CFD 5 February 22, 2018 19:50
Inlet patch problems martyn88 OpenFOAM Running, Solving & CFD 6 April 21, 2017 18:34
LES supersonic free jet martyn88 OpenFOAM 22 April 17, 2015 06:00
Problem with calculation of k sdharmar OpenFOAM Running, Solving & CFD 5 March 21, 2013 08:47
user defined function cfduser CFX 0 April 29, 2006 10:58


All times are GMT -4. The time now is 14:20.