In mathematical sense, the following two sapces are exactly same
Case1:
Xh = VectorH1(mesh, order = r)
&
Case2:
Xh = H1(mesh, order = r)*H1(mesh, order = r)
BUT, in ngsolve , for instance, Grad works only in the Case1, why not Case2?
In mathematical sense, the following two sapces are exactly same
Case1:
Xh = VectorH1(mesh, order = r)
&
Case2:
Xh = H1(mesh, order = r)*H1(mesh, order = r)
BUT, in ngsolve , for instance, Grad works only in the Case1, why not Case2?
Hi Coulson,
if you write fes**3
(or, equivalently VectorValued(fes,3)
, you get a vector-valued space, the differential operators are inherited. The tensor-dimension is increased by one, and the space-component is the leading tensor index.
VectorH1
builds such a vector-valued H1
space, and a little more: The dimension is exactly the spatial dimension of the mesh, and it defines in addition the div
operator.
A product space can be formed between arbitrary spaces (e.g. HCurl*L2*NumberSpace
). Here it does not make sense to promote operators to the product-space.
Joachim
Hi Joachim,
Thanks a lot.