function L = constraint_surf(Aux,C,C1)
global Invariant ini_Val Material
%
L=zeros(2*ini_Val.ncontrol,1);
connect=Invariant.connect;
%
for iel=1:size(connect,1)
    ig=(1:ini_Val.gaussno);
    igglob=(iel-1)*ini_Val.gaussno+ig;
    % r component
    aux1=Aux.Hu(igglob).*C1(igglob,2).*C(igglob,1).*Invariant.gweight(igglob);
    L_loc=Invariant.Nshape(igglob,:)'*aux1;
    L(2*connect(iel,:)-1) = L(2*connect(iel,:)-1) + L_loc;
    % z component
    aux1=-Aux.Hu(igglob).*C1(igglob,1).*C(igglob,1).*Invariant.gweight(igglob);
    L_loc=Invariant.Nshape(igglob,:)'*aux1;
    L(2*connect(iel,:)) = L(2*connect(iel,:)) + L_loc;
end
L = L*2*pi;