Ошибка при импорте трехмерной сетки, сгенерированной из gmsh в fipy - PullRequest
0 голосов
/ 28 декабря 2018

У меня много проблем с импортом 3D-сетки из gmsh в fipy.Я просмотрел все вопросы, касающиеся gmsh и fipy на этом форуме, но, к сожалению, я не нашел похожую тему.

Я импортирую трехмерную цилиндрическую сетку, сгенерированную gmsh 4.0, в FiPy,В настоящее время я использую Python 2.7, и моя операционная система Windows 10, 64-разрядная.

Согласно руководству fipy, функция Gmsh3D должна преобразовывать сетку gmsh в сетку fipy, и поэтому я написал:

from fipy import * 

mesh = Gmsh3D('C:\Users\William\Documents\Python Scripts\cylinder3.msh')

Кроме того, мой Gmsh exe, сетка (цилиндр.msh), а также мой код Python находятся в одном каталоге.

Тем не менее, я продолжал получать "[Ошибка 32] Процесс не может получить доступ к файлу, потому что он используетсядругой процесс ".Я прилагаю полное сообщение об ошибке ниже.Кто-нибудь испытал и решил эту проблему?Любой указатель приветствуется.Заранее спасибо!

Полное сообщение об ошибке:

runfile('C:/Users/William/Documents/Python Scripts/cylinder1.py', wdir='C:/Users/William/Documents/Python Scripts')

Traceback (последний последний вызов):

File "<ipython-input-1-c2ebfb9899c3>", line 1, in <module>
    runfile('C:/Users/William/Documents/Python Scripts/cylinder1.py', wdir='C:/Users/William/Documents/Python Scripts')

File "C:\Users\William\Anaconda2\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 668, in runfile
    execfile(filename, namespace)

File "C:\Users\William\Anaconda2\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 93, in execfile
    exec(compile(scripttext, filename, 'exec'), glob, loc)

File "C:/Users/William/Documents/Python Scripts/cylinder1.py", line 23, in <module>
    mesh = Gmsh3D('C:\Users\William\Documents\Python Scripts\cylinder3.msh')

File "C:\Users\William\Anaconda2\lib\site-packages\fipy\meshes\gmshMesh.py", line 1944, in __init__
    self._orderedCellVertexIDs_data) = self.mshFile.read()

File "C:\Users\William\Anaconda2\lib\site-packages\fipy\meshes\gmshMesh.py", line 853, in read
    os.unlink(self.elemsPath)

WindowsError: [Error 32] The process cannot access the file because it is being used by another process: 'c:\\users\\william\\appdata\\local\\temp\\tmp1bhyl6Elements'

1 Ответ

0 голосов
/ 02 июля 2019

FiPy 3.3 решил некоторые проблемы с Gmsh в Windows.Пожалуйста, обновите и дайте нам знать, если у вас все еще есть проблемы.

...