Ошибка при импорте трехмерной сетки, сгенерированной из gmsh в fipy

У меня много проблем с импортом 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')

Кроме того, мой exe-файл Gmsh, сетка (цилиндр.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'

0 ответов

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

Другие вопросы по тегам