3D-Airfoil

Hi guys.

As a part of my master thesis i am simulating flow on an airfoil (90 deg) in openfoam. I also want to compare my results with pyfr (3rd order). Somehow, my setup at the present moment wont start to simulate. I am using Ubuntu on a Windows computer (through Oracle Virtual Box).
My attempt on a setup for the .ini is attached. It is worth mentioning that the mesh is an O-grid from pointwise with 1000000 cells. The .pyfrm file is therefore made by pointwise when exporting and should be fine which is why i think the problem is in the .ini file.

I would be grateful for any tips as i am a new user of PyFR and find it a bit different from openfoam.

Best regards Stian

Airfoil-DU96-w-180.ini (2.15 KB)

Hi Stian

do you get any error messages?
best

Hi, yes:

msk600@virtual:~/AirfoilPyFR$ export OMP_NUM_THREAD=1
msk600@virtual:~/AirfoilPyFR$ pyfr run -b openmp -p Airfoil-DU96-w-180.pyfrm Airfoil-DU96-w-180.ini
Traceback (most recent call last):
File “/usr/bin/pyfr”, line 11, in
load_entry_point(‘pyfr==1.5.0’, ‘console_scripts’, ‘pyfr’)()
File “/usr/share/pyfr/pyfr/main.py”, line 110, in main
args.process(args)
File “/usr/share/pyfr/pyfr/main.py”, line 235, in process_run
args, NativeReader(args.mesh), None, Inifile.load(args.cfg)
File “/usr/share/pyfr/pyfr/main.py”, line 216, in _process_common
solver = get_solver(backend, rallocs, mesh, soln, cfg)
File “/usr/share/pyfr/pyfr/solvers/init.py”, line 14, in get_solver
return get_integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
File “/usr/share/pyfr/pyfr/integrators/init.py”, line 43, in get_integrator
return integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
File “/usr/share/pyfr/pyfr/integrators/std/controllers.py”, line 12, in init
super().init(*args, **kwargs)
File “/usr/share/pyfr/pyfr/integrators/std/steppers.py”, line 165, in init
super().init(*args, **kwargs)
File “/usr/share/pyfr/pyfr/integrators/std/steppers.py”, line 8, in init
super().init(*args, **kwargs)
File “/usr/share/pyfr/pyfr/integrators/std/base.py”, line 12, in init
super().init(*args, **kwargs)
File “/usr/share/pyfr/pyfr/integrators/base.py”, line 59, in init
self.system = systemcls(backend, rallocs, mesh, initsoln, nreg, cfg)
File “/usr/share/pyfr/pyfr/solvers/base/system.py”, line 34, in init
eles, elemap = self._load_eles(rallocs, mesh, initsoln, nreg, nonce)
File “/usr/share/pyfr/pyfr/solvers/base/system.py”, line 107, in _load_eles
eles.set_backend(self.backend, nreg, nonce)
File “/usr/share/pyfr/pyfr/util.py”, line 48, in call
return proxylist(x(*args, **kwargs) for x in self)
File “/usr/share/pyfr/pyfr/util.py”, line 48, in
return proxylist(x(*args, **kwargs) for x in self)
File “/usr/share/pyfr/pyfr/solvers/navstokes/elements.py”, line 12, in set_backend
super().set_backend(backend, nscalupts, nonce)
File “/usr/share/pyfr/pyfr/solvers/baseadvecdiff/elements.py”, line 26, in set_backend
super().set_backend(backend, nscal_upts, nonce)
File “/usr/share/pyfr/pyfr/solvers/baseadvec/elements.py”, line 26, in set_backend
super().set_backend(backend, nscal_upts, nonce)
File “/usr/share/pyfr/pyfr/solvers/base/elements.py”, line 179, in set_backend
for i in range(nscal_upts)]
File “/usr/share/pyfr/pyfr/solvers/base/elements.py”, line 179, in
for i in range(nscal_upts)]
File “/usr/share/pyfr/pyfr/backends/base/backend.py”, line 20, in newfn
m = fn(self, *args, **kwargs)
File “/usr/share/pyfr/pyfr/backends/base/backend.py”, line 133, in matrix
return self.matrix_cls(self, ioshape, initval, extent, aliases, tags)
File “/usr/share/pyfr/pyfr/backends/base/types.py”, line 110, in init
aliases, tags)
File “/usr/share/pyfr/pyfr/backends/base/types.py”, line 65, in init
backend.malloc(self, extent)
File “/usr/share/pyfr/pyfr/backends/base/backend.py”, line 71, in malloc
obj.onalloc(data, 0)
File “/usr/share/pyfr/pyfr/backends/openmp/types.py”, line 22, in onalloc
self._set(self._initval)
File “/usr/share/pyfr/pyfr/backends/openmp/types.py”, line 31, in _set
self.data[:, :self.ncol] = self._pack(ary)
File “/usr/share/pyfr/pyfr/backends/base/types.py”, line 88, in _pack
mode=‘constant’)
File “/usr/lib/python3/dist-packages/numpy/lib/arraypad.py”, line 1363, in pad
newmat = narray.copy()
MemoryError
msk600@virtual:~/AirfoilPyFR$

Any ideas?

Best regards Stian

fredag 21. februar 2020 10.33.36 UTC+1 skrev Giorgio Giangaspero følgende:

Hi Stian,

A 1 million elements mesh with polynomial order 3 is not a small problem, of course, depending on your machine.

You might be exceeding the memory limit. Have you had a look at that?

BR,
Vishal

fredag 21. februar 2020 13.14.05 UTC+1 skrev Vishal Saini følgende: