void EpsilonL1L2<EvalT, Traits>:: evaluateFields(typename Traits::EvalData workset) { for (std::size_t cell=0; cell < workset.numCells; ++cell) { for (std::size_t qp=0; qp < numQPs; ++qp) { epsilonXX(cell,qp) = Ugrad(cell,qp,0,0); epsilonYY(cell,qp) = Ugrad(cell,qp,1,1); epsilonXY(cell,qp) = 0.5*(Ugrad(cell,qp,0,1) + Ugrad(cell,qp,1,0)); epsilonB(cell,qp) = epsilonXX(cell,qp)*epsilonXX(cell,qp) + epsilonYY(cell,qp)*epsilonYY(cell,qp) + epsilonXX(cell,qp)*epsilonYY(cell,qp) + epsilonXY(cell,qp)*epsilonXY(cell,qp); } } }
void StokesL1L2Resid<EvalT, Traits>:: evaluateFields(typename Traits::EvalData workset) { for (std::size_t cell=0; cell < workset.numCells; ++cell) { for (std::size_t node=0; node < numNodes; ++node) { for (std::size_t i=0; i<vecDim; i++) Residual(cell,node,i)=0.0; for (std::size_t qp=0; qp < numQPs; ++qp) { Residual(cell,node,0) += 2.0*muLandIce(cell,qp)*((2.0*epsilonXX(cell,qp) + epsilonYY(cell,qp))*wGradBF(cell,node,qp,0) + epsilonXY(cell,qp)*wGradBF(cell,node,qp,1)) + force(cell,qp,0)*wBF(cell,node,qp); Residual(cell,node,1) += 2.0*muLandIce(cell,qp)*(epsilonXY(cell,qp)*wGradBF(cell,node,qp,0) + (epsilonXX(cell,qp) + 2.0*epsilonYY(cell,qp))*wGradBF(cell,node,qp,1)) + force(cell,qp,1)*wBF(cell,node,qp); } } } }