- Thank you received: 1
How to define projection of tangential jump between interior and facet
4 years 5 months ago #2818
by dong
I tried to reproduce the numerical part of this paper:
A Strongly Conservative Hybrid DG/Mixed FEM for the Coupling of Stokes and Darcy Flow
They defined the bilinear forms as follows.
[tex]\begin{aligned} a_{S,h}({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}) :=& \; \sum _{T\in \mathcal {T}_{h,S}}\int _T2\nu \,\varepsilon ( {u}_T):\varepsilon ( {v}_T)\,\mathrm {dx} -\int _{\partial T}2\nu \,\varepsilon ( {u}_T) {n}\cdot [\![{{\underline{ {{v}}}}}^t ]\!]\,\mathrm {ds} \nonumber \\& \; -\int _{\partial T}2\nu \,\varepsilon ( {v}_T) {n}\cdot [\![{{\underline{ {{u}}}}}^t ]\!]\,\mathrm {ds} + \int _{\partial T}\nu \frac{\alpha }{h}\Pi [\![{{\underline{ {{u}}}}}^t ]\!]\cdot \Pi [\![{{\underline{ {{v}}}}}^t ]\!]\,\mathrm {ds}, \end{aligned}[/tex]
[tex]\begin{aligned} a_{D}({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}) :=& \; \sum _{T\in \mathcal {T}_{h,S}}\int _T K^{-1} {u}_T\cdot {v}_T\,\mathrm {dx},\end{aligned}[/tex]
[tex]\begin{aligned} a_{I}({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}) :=& \; \sum _{F\in \mathcal {F}_{h,SD}}\int _F \gamma K^{-1/2} {u}_F\cdot {v}_F\,\mathrm {ds},\end{aligned}[/tex]
[tex]\begin{aligned} a_h({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}) : =& \; a_{S,h}({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}) + a_{D}({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}) +a_{I}({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}),\nonumber \\ b({{\underline{ {{u}}}}}, q) =& \;-\sum _{T\in \mathcal {T}_h}\int _T {\nabla \cdot } {u}_T q\,\mathrm {dx}, \end{aligned}[/tex]
where [tex][[{{\underline{{{u}}}}}^t ]\!]= {u}_T^t-{u}_F[/tex] is the (tangential) jump between interior and facet unknowns.
I defined the tangential components and its jumps.
But I don't know how to construct their projection [tex]\Pi [\![{{\underline{ {{u}}}}}^t ]\!], \Pi [\![{{\underline{ {{v}}}}}^t ]\!][/tex] in the last term of $a_hS$.
Could you please tell me how to define projection of tangential jump between interior and facet in NGsolve?
By the way, the sum [tex]a_{D}({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}) := \; \sum _{T\in \mathcal {T}_{h,S}}\int _T K^{-1} {u}_T\cdot {v}_T\,\mathrm {dx}[/tex] is defined on S instead of D. I think it's a typo, but I'm not sure.
Thank you so much.
They defined the bilinear forms as follows.
[tex]\begin{aligned} a_{S,h}({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}) :=& \; \sum _{T\in \mathcal {T}_{h,S}}\int _T2\nu \,\varepsilon ( {u}_T):\varepsilon ( {v}_T)\,\mathrm {dx} -\int _{\partial T}2\nu \,\varepsilon ( {u}_T) {n}\cdot [\![{{\underline{ {{v}}}}}^t ]\!]\,\mathrm {ds} \nonumber \\& \; -\int _{\partial T}2\nu \,\varepsilon ( {v}_T) {n}\cdot [\![{{\underline{ {{u}}}}}^t ]\!]\,\mathrm {ds} + \int _{\partial T}\nu \frac{\alpha }{h}\Pi [\![{{\underline{ {{u}}}}}^t ]\!]\cdot \Pi [\![{{\underline{ {{v}}}}}^t ]\!]\,\mathrm {ds}, \end{aligned}[/tex]
[tex]\begin{aligned} a_{D}({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}) :=& \; \sum _{T\in \mathcal {T}_{h,S}}\int _T K^{-1} {u}_T\cdot {v}_T\,\mathrm {dx},\end{aligned}[/tex]
[tex]\begin{aligned} a_{I}({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}) :=& \; \sum _{F\in \mathcal {F}_{h,SD}}\int _F \gamma K^{-1/2} {u}_F\cdot {v}_F\,\mathrm {ds},\end{aligned}[/tex]
[tex]\begin{aligned} a_h({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}) : =& \; a_{S,h}({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}) + a_{D}({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}) +a_{I}({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}),\nonumber \\ b({{\underline{ {{u}}}}}, q) =& \;-\sum _{T\in \mathcal {T}_h}\int _T {\nabla \cdot } {u}_T q\,\mathrm {dx}, \end{aligned}[/tex]
where [tex][[{{\underline{{{u}}}}}^t ]\!]= {u}_T^t-{u}_F[/tex] is the (tangential) jump between interior and facet unknowns.
I defined the tangential components and its jumps.
Code:
V = HDiv(mesh, order=3, dirichlet="GammaS|GammaD")
Vbar=TangentialFacetFESpace (mesh, order = k, dirichlet="GammaS")
Q = L2(mesh, order=2)
X = FESpace([V,Vbar, Q,R])
u,ubar, p = X.TrialFunction()
v,vbar, q = X.TestFunction()
du = grad(u)
dv = grad(v)
eps_u = 0.5*(du+du.trans)
eps_v = 0.5*(dv+dv.trans)
def tangent(vec):
return vec - (vec*n)*n
jump_vt = tangent(v)-vbar
jump_ut = tangent(u)-ubar
Could you please tell me how to define projection of tangential jump between interior and facet in NGsolve?
By the way, the sum [tex]a_{D}({{\underline{ {{u}}}}}, {{\underline{ {{v}}}}}) := \; \sum _{T\in \mathcal {T}_{h,S}}\int _T K^{-1} {u}_T\cdot {v}_T\,\mathrm {dx}[/tex] is defined on S instead of D. I think it's a typo, but I'm not sure.
Thank you so much.
4 years 5 months ago #2819
by joachim
Replied by joachim on topic How to define projection of tangential jump between interior and facet
it is explained in this paper, read that one first: Lehrenfeld+Schöberl: "High order exactly divergence-free Hybrid Discontinuous Galerkin Methods for unsteady incompressible flows", Computer Methods in Applied Mechanics and Engineering Volume 307, 1 August 2016, Pages 339-361
and also Lehrenfeld's master's thesis.
Joachim
and also Lehrenfeld's master's thesis.
Joachim
Time to create page: 0.114 seconds