площадь поверхности любой модели gm sh, импортируемой в fipy - PullRequest
0 голосов
/ 23 января 2020

Я хотел бы рассчитать поверхность оболочки любого меня sh, импортированного в fipy через gm sh, аналогичного ячейке. Объемы:

sum(mesh.cellVolumes) 

До сих пор я находил внешние грани с помощью:

    f = FaceVariable(mesh=mesh,value=False, name='Aussen')
    f.value[where(mesh.exteriorFaces == True)] = True 

Я хотел бы суммировать faceVolumes, если они существуют где-то в fipy, это путь к go?

1 Ответ

1 голос
/ 23 января 2020

Это должно сделать это,

import numpy as np
from fipy import Grid2D

mesh = Grid2D(nx=2, ny=2)

np.sum(mesh._faceAreas[mesh.exteriorFaces.value])

Выше, кажется, требуется .value для правильного "взятия" на области лица.

Стоит сделать mesh._, а затем нажать вкладку в i python, чтобы увидеть все дополнительные атрибуты, доступные для сеток. Есть много скрытых.

Отредактировано, чтобы сделать код полным рабочим примером.

...