moose icon indicating copy to clipboard operation
moose copied to clipboard

Add support for Vector Laplacian / Second in coupleable

Open GiudGiud opened this issue 2 months ago • 0 comments

Description

See discussion coupledVectorSecond does not exist at this time. Note that @lindsayad offered a solution, essentially computing d2phi for the vector manually from the component-wise d2phi

Design

More support for Rank3 tensor math in libmesh Add request for the second derivative computation in moosevariable Add routine in coupleable for retrieving reference to second derivative for vector variable

Impact

Simple solution for laplacian computation for vector variables

Discussed in https://github.com/idaholab/moose/discussions/32018

Originally posted by mhelel December 2, 2025

Check these boxes if you have followed the posting rules.

  • [X] Q&A General is the most appropriate section for my question
  • [X] I have consulted the posting Guidelines on the Discussions front page
  • [X] I have searched the Discussions forum and my question has not been asked before
  • [X] I have searched the MOOSE website and the documentation does not answer my question
  • [X] I have formatted my post following the posting guidelines (screenshots as a last resort, triple back quotes around pasted text)

Question

I want to implement the vector laplacian $\nabla\dot(\nabla\vec{u}) = \nabla^2 \vec{u}$ in its strong form inside a Material that just uses a single vector variable $\vec{u}$ instead of three components. Therefore I need the second spatial derivatives of $\vec{u}$.

I know that if I would just have the components as coupled variables, I could just use the coupledSecond option and If I would use AD, which I don't, it seems that there is a adCoupledVectorSecond option. But since both cases are not applicable I was wondering how to solve this problem. In another discussion one was referred to https://mooseframework.inl.gov/docs/doxygen/moose/classMooseVariableFE.html#a6084c139e379961bfcc3f5ed97d181f4 but I was not able to figure out, how this should help. If this is the right direction, I would appreciate an hint, how to implement this directly.

GiudGiud avatar Dec 02 '25 21:12 GiudGiud