gradients in ADNodalKernel #32314
Replies: 1 comment 7 replies
-
|
Hello
What type (finite element family and order) of variable are you taking the gradient of? As you are likely aware, the gradient of a linear lagrange variable at a node is not continuous so we don't offer this API.
Likely a lack of ghosting. You need algebraic ghosting to compute gradients near process boundaries. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Check these boxes if you have followed the posting rules.
Question
Is there a more-or-less ready-made way described how to access gradients of coupled variables in an ADNodalKernel? I am working on an AD nodal kernel that needs the gradient of a coupled variable. I know such gradients (nor gradients of Functors) are not readily accessible in ADNodalKernel so I am trying to figure out how best to do so, One path took me deep into the guts of libMesh and PETSc trying to identify the element and nodes that belong to each process - I got it working on 2 cores but invariably got segmentation fault on > 2 cores and I could not figure out why. One path I have been thinking of is to calculate the gradient separately as ADMaterials and then pass to the kernel and evaluate at _qp(=0). I obviously want to leverage the whole AD framework so I don't have to mess with Jacobians.
Thanks,
Olle
Beta Was this translation helpful? Give feedback.
All reactions