--- a +++ b/inst/example/NavierStokes/TentativeVelocity.ufl @@ -0,0 +1,45 @@ +# Copyright (C) 2010 Anders Logg +# +# This file is part of DOLFIN. +# +# DOLFIN is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# DOLFIN is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>. +# +# First added: 2010-08-30 +# Last changed: 2011-06-30 +# +# The bilinear form a(u, v) and linear form L(v) for the tentative +# velocity step in Chorin's method for the incompressible +# Navier-Stokes equations. +# +# Compile this form with FFC: ffc -l dolfin TentativeVelocity.ufl. + +# Define function spaces (P2-P1) +V = VectorElement("CG", triangle, 2) +Q = FiniteElement("CG", triangle, 1) + +# Define trial and test functions +u = TrialFunction(V) +v = TestFunction(V) + +# Define coefficients +k = Constant(triangle) +u0 = Coefficient(V) +f = Coefficient(V) +nu = 0.01 + +# Define bilinear and linear forms +eq = (1/k)*inner(u - u0, v)*dx + inner(grad(u0)*u0, v)*dx + \ + nu*inner(grad(u), grad(v))*dx - inner(f, v)*dx +a = lhs(eq) +L = rhs(eq)