四辺形要素2021年6月20日 | |
はじめにFEniCS で四辺形要素を用いる。 環境
問題1 m x 1 m の領域を考え、左端を 300 K、右端を 500 K とした場合の温度分布を求める。 コードquad.py
from dolfin import *
nx = ny = 8
mesh = UnitSquareMesh.create(nx, ny, CellType.Type.quadrilateral)
V = FunctionSpace(mesh, "P", 1)
def bcf_left(x, on_boundary):
return on_boundary and near(x[0], 0.)
def bcf_right(x, on_boundary):
return on_boundary and near(x[0], 1.)
bc_left = DirichletBC(V, Constant(300.), bcf_left)
bc_right = DirichletBC(V, Constant(500.), bcf_right)
bc = [bc_left, bc_right]
u = TrialFunction(V)
v = TestFunction(V)
f = Constant(0.)
a = dot(grad(u), grad(v))*dx
L = f*v*dx
T = Function(V, name="T")
solve(a == L, T, bc)
vtkfile = File("result.pvd")
vtkfile << T
実行$ python3 quad.py ![]() コードの解説nx = ny = 8 mesh = UnitSquareMesh.create(nx, ny, CellType.Type.quadrilateral) V = FunctionSpace(mesh, "P", 1) UnitSquareMesh で create を呼び、要素タイプとして CellType.Type.quadrilateral を指定している。 | |
| PENGUINITIS | |