|
FEATool Multiphysics
v1.17.5
Finite Element Analysis Toolbox
|
SF_SIMP_P1 Linear Lagrange shape function for simplices (P1).
[ VBASE, NLDOF, XLDOF, SFUN ] = SF_SIMP_P1( I_EVAL, N_SDIM, N_VERT, I_DOF, XI, AINVJAC, VBASE ) Evaluates conforming linear P1 Lagrange shape functions on simplices with values defined in the nodes. XI is Barycentric coordinates.
Input Value/[Size] Description
-----------------------------------------------------------------------------------
i_eval scalar: 1 Evaluate function values
>1 Evaluate values of derivatives
n_sdim scalar: 1-3 Number of space dimensions
n_vert scalar: 2-4 Number of vertices per cell
i_dof scalar: 1-n_ldof Local basis function to evaluate
xi [n_sdim+1] Local coordinates of evaluation point
aInvJac [n,n_sdim+1*n_sdim] Inverse of transformation Jacobian
vBase [n] Preallocated output vector
.
Output Value/[Size] Description
-----------------------------------------------------------------------------------
vBase [n] Evaluated function values
nLDof [4] Number of local degrees of freedom on
vertices, edges, faces, and cell interiors
xLDof [n_sdim,n_ldof] Local coordinates of local dofs
sfun string Function name of called shape function
nLDof = [n_vert 0 0 0];
if( n_vert==4 )
xLDof = [1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1];
elseif( n_vert==3 )
xLDof = [1 0 0; 0 1 0; 0 0 1];
else
xLDof = [1 0; 0 1];
end
sfun = 'sf_simp_P1';
switch i_eval % Evaluation type flag.
case 1 % Evaluation of function values.
vBase = xi(i_dof);
case {2,3,4} % Evaluation of first derivatives.
i_col = i_dof+(i_eval-2)*n_vert;
vBase = aInvJac(:,i_col);
otherwise
vBase = 0;
end