# Tensor Product Space and HCurl/HDiv

5 years 9 months ago #1213 by gerhard
Hi again, sorry for the delay, the changes were merged some minutes ago.
The two lines in tpintrule haven't change at all, but the function "CalcShape" isn't called anymore.
The changes are in tpfes.cpp in the functions TransferToTPMesh and TransferToStdMesh.
Should run now.
5 years 9 months ago #1214 by joachim
I just merged Gerhard's fixes, it will be in the nightly release tonight
The following user(s) said Thank You: jhauser
5 years 4 months ago #1495 by jhauser
First: Thank you for the fixes!

After some trial and error work the assembling for special differential equations, seems to be working as well.

Now I am am trying to understand the behavior of the interpolation error a bit better. I compare CoefficientFunctions projected on the L2 space (3D) and ProlongateCoefficientFunctions(1D+2D) first projected into the tensor product space and then into the L2. For that I have two questions for understanding the evaluation of coefficient functions in the tp space:

1. Does the line
Code:
CoefficientFunction->Evaluate(MapedIntegrationRule,Matrix);
especially
Code:
cfstd->Evaluate(tpmir,result);
give me the evaluation of the CoefficientFunction in the mapped interpolation points? Or rather some coefficients for the basis functions corresponding to the integration rule (and therefore some interpolation)?

2. I am a bit confused about what's going on in TransferToTPMesh. I interpret the lines 678 to 687 as something like
elmatout = A^{-1} A_2^{-T}A^T resultasmat B B^{-1} B_2^{-T}
which means
elmatout = A^{-1} A_2^{-T}A^T resultasmat B_2^{-T}
for
A = shapesx, A_2 = shapesx2,
B = shapesy, B_2 = spapesy2.
Was there transposing intentionally left out or did I misinterpret the CalcInverse?
5 years 2 months ago #1625 by gerhard
Hi there,

Concerning your questions:
1.) cfstd->Evaluate(tpmir,result);
Probably you refer to line 662 in tpfes.cpp.
Yes, the function evaluates cfstd at the integration points in tpmir.

2.) The lines you mentioned in your post are correct. Your manipulations will only work when the shape matrices quadratic, otherwise they're not invertible. On the other hand, if they were, use that the mass matrix is symmetric, i.e. you could exchange line 687 also by
Code:
elmatout = Trans(elmatx)*elmatrhs*elmaty;
Then your calculations end up in A_2^{-T} resultasmat B_2^{-T}.
Time to create page: 0.164 seconds