Hello,
as the title says my group partners and I got a question regarding border conditions in Fenics when applied to Coupled PDEs.
At the moment we are working at implementing a simulation of Corona Effects around a high voltage power line.
Since, when we were using the splitting method to implement the connected PDEs, we kept encountering problems with differences between what the handed off data looks like (Matrix of data points) and what the formulas want (vectors of formulas), we thought we could go and try to use the method laid out in the example “ft09_reaction_system.py”.
Sadly that has brought up a question we have been unable to solve so far:
The border Conditions of the two PDEs
bcp_ground = DirichletBC(Q, Constant(0), ground)
bcp_conductor = DirichletBC(Q, Constant(voltage), conductor)
bcp = [bcp_ground, bcp_conductor]bcd = DirichletBC(Q, Constant(density_constant), conductor)
Till now the first PDE used the Border Condition bcp
phi = TrialFunction(Q)
v = TestFunction(Q)
aP = inner(grad(phi), grad(v))dx
LP = rho_2/epsiv*dx
solve(aP==LP, phi, bcp)
and the second PDE the border condition bcd
rho_2 = TrialFunction(Q)
u = TestFunction(Q)
F = (dot((rho_2**2) / epsi, u) - dot(dot(grad(phi), grad(rho_2)), u))*dx
solve(F==0, rho_2, bcd)
so if we combine those we got one weak form that should look like this
u = TrialFunction(Q)
v = TestFunction(Q)phi,rho_2 = split(u)
v1,v2 = split(v)F = inner(grad(phi), grad(v1)) * dx \
+(dot((rho_2**2) / epsi, v2) - dot(dot(grad(phi), grad(rho_2)), v2)) * dx
-rho_2/epsi * v1 * dxsolve(F==0, u, BorderConditionX, Jacobian)
as you have probably spotted there is a slight problem with combining the two PDEs in that they use different Border Conditions which might be defined over the same area but they have definitions on the same border which are different.
So how do we tell fenics to use bcp for one part of the formula or variable and bcd for the other?
On a side note we are also trying to find the right solver for such a highly non linear problem, any tips would be appreciated.
Thank you for your help.