[Nek5000-users] explstrs routine

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Fri Jul 29 14:49:43 CDT 2011


Hello Neks

I came across the routine explstrs (and its subroutines) while
exploring the code (and with the recommendation from Paul).  I
understand that it is essentially performing something like

   D^T * B * D * [u]

I had a question about the use of the Jacobian in the routine
expl_strs_e_3d (or _2d).  Following the routine, I can see where it

1) Computes the gradients w.r.t. r, s, t   (gradl_rst)

2) Multiplies these gradients by appropriate coordinate derivatives
(rxm1, tzm1, etc)

3) Multiplies these results by the quadrature weights. (from w3m1)

4) Multiplies these results again by the coordinate transformations,
and then apply the transpose operation (gradl_rst_t)

When I look in coef.f, I see that when dr/dx, ds/dx, etc. are computed
from dx/dr, dy/ds, etc., the inverse of the Jacobian is not applied
yet.  So, I can see why jacmi is multiplied along with w3m1 when
multiplying by the quadrature weights.

My question is, would we not need to multiply again by jacmi when the
transpose derivative operator is applied (because of the use of rxm1,
sxm1, etc)?  Is this something that is applied later on, or am I
missing something and it isn't necessary to apply it again?

Thank you,

Josh

-- 
Josh Camp

"All that is necessary for the triumph of evil is that good men do
nothing" -- Edmund Burke



More information about the Nek5000-users mailing list