### A simple hello word in FEniCS?

200
views
0
5 months ago by
I am trying to start using FEniCS, but have a problem with the simple hello world examples given in the books. Could you please give me the simplest hello world example for solving the Fick's second law.

$\frac{\partial c}{\partial t}=D\frac{\partial^2c}{\partial x^2}$ct =D2cx2

How can we apply the boundary condition to the simplest example of FEniCS for solving this PDE (e.g., drawing the concentration profiles at given times)?
Community: FEniCS Project

0
5 months ago by
Hello world!
0
5 months ago by
you can do something like this:
from fenics import *

mesh = UnitSquareMesh(20,20)
D  = 1.0
V = FunctionSpace(mesh, 'CG', 1)
# for previous solution
W_ = Function(V)
#------------------------------------------------------
#  Classes
#------------------------------------------------------

class Left(SubDomain):
def inside(self,x,on_boundary):
tol = 1e-10
return (near(x[0],0.0)) and on_boundary
left = Left()
#--------------------------------------------------------------
# Applying BC
#--------------------------------------------------------------
lc =  DirichletBC(V,Constant(1.0),left)
bc_c = [lc]

#---------------------------------------------------
# time steps...
#---------------------------------------------------
deltaT = 1e-3
t_ini = 0
t_fin = 0.5

t = 0
dt = 1e-3
u,v = TrialFunction(V), TestFunction(V)
du = Function(V)
while t < t_fin:
- (1./deltaT)*v*W_ )*dx

solve(lhs(F)==rhs(F), du, bc_c)

W_.assign(du)
t+=dt
plot(du, key = 'du', title = '%f' %(t))

interactive()

​