⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cahnhilliard2d.form

📁 Dolfin provide a high-performance linear algebra library
💻 FORM
字号:
# Copyright (C) 2006-2007 Garth N Wells.# Licensed under the GNU LGPL Version 2.1.## First added:  2006# Last changed: 2007-05-01## The linearised bilinear form a(v, U) and linear form L(v) for# the Cahn-Hilliard equation.## Compile this form with FFC: ffc CahnHilliard.form.P1 = FiniteElement("Lagrange", "triangle", 1)P2 = FiniteElement("Lagrange", "triangle", 1)ME = P1 + P2(v,  q)  = TestFunctions(ME)(dk, dc) = TrialFunctions(ME)   # potential, concentration (k1, c1) = Functions(ME)        # current solution (k0, c0) = Functions(ME)        # solution from previous converged step lmbda    = Constant("triangle") # surface parametermuFactor = Constant("triangle") # chemical free energy multiplierdt       = Constant("triangle") # time steptheta    = Constant("triangle") # time stepping parameter # Chemical free-energy \phi = c^2*(1-c^2)# mu = \phi,cdef mu(c, muFactor):    return muFactor*(2*c*(1-c)*(1-c) - 2*c*c*(1-c))# DmuDc = \phi,ccdef DmuDc(c, muFactor):    return muFactor*(2.0*(1.0-c)*(1.0-c) - 8.0*c*(1.0-c) + 2.0*c*c)# MobilityMob = 1.0dMob = 0.0# k^(n+theta)k_mid = (1-theta)*k0 + theta*k1# \delta k^(n+theta)dk_mid = theta*dka1 = q*dc*dx + dt*Mob*dot(grad(q), grad(dk_mid))*dxa2 = v*dk*dx - v*DmuDc(c1, muFactor)*dc*dx \             - lmbda*dot(grad(v), grad(dc))*dxL1 = q*c1*dx - q*c0*dx + dt*Mob*dot(grad(q), grad(k_mid))*dxL2 = v*k1*dx - v*mu(c1, muFactor)*dx - lmbda*dot(grad(v), grad(c1))*dxa =  a1 + a2L = -L1 - L2 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -