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