• 大小: 7.7MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-17
  • 语言: Python
  • 标签:

资源简介

python有限元框架FENICS教程及例子,拥有12个例子文件

资源截图

代码片段和文件信息

“““
FEniCS tutorial demo program: Poisson equation with Dirichlet conditions.
Test problem is chosen to give an exact solution at all nodes of the mesh.

  -Laplace(u) = f    in the unit square
            u = u_D  on the boundary

  u_D = 1 + x^2 + 2y^2
    f = -6
“““

from __future__ import print_function
from fenics import *

# Create mesh and define function space
mesh = UnitSquareMesh(8 8)
V = FunctionSpace(mesh ‘P‘ 1)

# Define boundary condition
u_D = expression(‘1 + x[0]*x[0] + 2*x[1]*x[1]‘ degree=2)

def boundary(x on_boundary):
    return on_boundary

bc = DirichletBC(V u_D boundary)

# Define variational problem
u = TrialFunction(V)
v = TestFunction(V)
f = Constant(-6.0)
a = dot(grad(u) grad(v))*dx
L = f*v*dx

# Compute solution
u = Function(V)
solve(a == L u bc)

# Plot solution and mesh
plot(u)
plot(mesh)

# Save solution to file in VTK format
vtkfile = File(‘poisson/solution.pvd‘)
vtkfile << u

# Compute error in L2 norm
error_L2 = errornorm(u_D u ‘L2‘)

# Compute maximum error at vertices
vertex_values_u_D = u_D.compute_vertex_values(mesh)
vertex_values_u = u.compute_vertex_values(mesh)
import numpy as np
error_max = np.max(np.abs(vertex_values_u_D - vertex_values_u))

# Print errors
print(‘error_L2  =‘ error_L2)
print(‘error_max =‘ error_max)

# Hold plot
interactive()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件     8639837  2019-04-16 00:09  fenics-tutorial-vol1.pdf
     文件        1380  2018-10-11 16:54  ft01_poisson.py
     文件        1869  2018-10-11 16:54  ft02_poisson_membrane.py
     文件        1733  2018-10-11 16:54  ft03_heat.py
     文件        1468  2018-10-11 16:54  ft04_heat_gaussian.py
     文件        1617  2018-10-11 16:54  ft05_poisson_nonlinear.py
     文件        2010  2018-10-11 16:54  ft06_elasticity.py
     文件        3296  2018-10-11 16:54  ft07_navier_stokes_channel.py
     文件        4400  2018-10-11 16:54  ft08_navier_stokes_cylinder.py
     文件        3105  2018-10-11 16:54  ft09_reaction_system.py
     文件       27206  2018-10-11 16:54  ft10_poisson_extended.py
     文件        2989  2018-10-11 16:54  ft11_magnetostatics.py
     文件        2732  2018-10-11 16:54  ft12_poisson_solver.py
     文件          88  2018-10-11 16:54  README.md

评论

共有 条评论

相关资源