- Thank you received: 0

The forum is in read only mode.

#
Tensor Product Space and HCurl/HDiv

Replied by

*gerhard*on topic*Tensor Product Space and HCurl/HDiv*
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.

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.

Replied by

*joachim*on topic*Tensor Product Space and HCurl/HDiv*
I just merged Gerhard's fixes, it will be in the nightly release tonight

Replied by

*jhauser*on topic*Tensor Product Space and HCurl/HDiv*
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
especially
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?

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);

Code:

cfstd->Evaluate(tpmir,result);

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?

Replied by

*gerhard*on topic*Tensor Product Space and HCurl/HDiv*
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
Then your calculations end up in A_2^{-T} resultasmat B_2^{-T}.

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;

Time to create page: 0.164 seconds