LES and RANS & Problem importing Gmsh to pyfrm (IndexError: list index out of range)

80 views
Skip to first unread message

SAM WANG

unread,
Dec 18, 2017, 8:39:42 PM12/18/17
to PyFR Mailing List
Dear all,
   Sorry I post the thread again.

I use Pointwise to do a 2D mesh, but it gives me this following error. Can anyone help me look at it?

By the way, for compressible flow, how can I obtain temperature data from Pyfr?

Can Pyfr do large eddy simulation (LES) or RANS (k-epsilon)? If it does, how can I set those additional parameters? 

Please help me out.

The ini and mesh files are attached as follows,

https://www.dropbox.com/sh/ky4bmkpoqz8nb5q/AAACNxSNKgkfOkyUNMU7MlXja?dl=0 

Really thank you all in advance.

Kind regards,
Sam


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 96, in fuzzysort
    srtdidx[i:] = fuzzysort(arr, srtdidx[i:], 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

nnunn

unread,
Dec 20, 2017, 11:55:21 AM12/20/17
to PyFR Mailing List
Hi Sam - interesting glitch. 

To make this easier to debug, can you make a smaller (less refined) version of your mesh, say with just a few thousand quads?  Current version (367,418 quads) is a bit heavy for my debugger.

Ideally, if you could make a gmsh geometry input file, I could spin my own mesh, then trace what happens as mesh resolution increases.

Nigel
Reply all
Reply to author
Forward
0 new messages