Strong divergence and Laplacian operator
Hi all, I need to compute some operators in the strong form directly for a project, i.e. without the mass matrix included in the operator. For the convection and gradient operators, I am using the functions convop and gradm1 respectively. However, I would also need to compute strong divergence and Laplacian and I did not find the corresponding functions (opdiv and axhelm are computing the weak form if I understand correctly). Do such functions exist? Or what modifications should I bring to the existing routines to change them to strong form? Best regards, Nicolas
Hi Nicolas, You can use gradm1 to get your strong divergence. Laplacian is a bit trickier since the 2nd derivative really is well-defined. Some people compute the gradient and then apply dsavg() to each component prior to taking the divergence of that field. Right now there are no tools to do exactly the thing you want, so using gradm1() is as good as any option. Note that gradm1() is as efficient (or more so) than some of the other tools to compute gradient in Nek. In order to get (say) du/dx, you have to compute du/dr , du/ds , du/dt, and then get du/dx from the chain rule. du/dy, du/dz also come from the chain rule, almost for free, even though you don't need them. So you can simplify everything just through repeated use of gradm1. Best, Paul ________________________________ From: Nek5000-users <[email protected]> on behalf of [email protected] <[email protected]> Sent: Tuesday, October 3, 2017 12:12:59 PM To: [email protected] Subject: [Nek5000-users] Strong divergence and Laplacian operator Hi all, I need to compute some operators in the strong form directly for a project, i.e. without the mass matrix included in the operator. For the convection and gradient operators, I am using the functions convop and gradm1 respectively. However, I would also need to compute strong divergence and Laplacian and I did not find the corresponding functions (opdiv and axhelm are computing the weak form if I understand correctly). Do such functions exist? Or what modifications should I bring to the existing routines to change them to strong form? Best regards, Nicolas
Dear Paul, Thank you for the answer. I will use gradm1 then. Best, Nicolas On Tue, Oct 3, 2017 at 11:25 PM, <[email protected]> wrote:
Hi Nicolas,
You can use gradm1 to get your strong divergence.
Laplacian is a bit trickier since the 2nd derivative really is well-defined.
Some people compute the gradient and then apply dsavg() to each component
prior to taking the divergence of that field.
Right now there are no tools to do exactly the thing you want, so using gradm1()
is as good as any option.
Note that gradm1() is as efficient (or more so) than some of the other tools
to compute gradient in Nek. In order to get (say) du/dx, you have to compute
du/dr , du/ds , du/dt, and then get du/dx from the chain rule. du/dy, du/dz
also come from the chain rule, almost for free, even though you don't need them.
So you can simplify everything just through repeated use of gradm1.
Best, Paul
------------------------------ *From:* Nek5000-users <[email protected]> on behalf of [email protected] <[email protected]> *Sent:* Tuesday, October 3, 2017 12:12:59 PM *To:* [email protected] *Subject:* [Nek5000-users] Strong divergence and Laplacian operator
Hi all,
I need to compute some operators in the strong form directly for a project, i.e. without the mass matrix included in the operator.
For the convection and gradient operators, I am using the functions convop and gradm1 respectively. However, I would also need to compute strong divergence and Laplacian and I did not find the corresponding functions (opdiv and axhelm are computing the weak form if I understand correctly). Do such functions exist? Or what modifications should I bring to the existing routines to change them to strong form?
Best regards, Nicolas
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
participants (1)
-
nek5000-users@lists.mcs.anl.gov