anchor.diff:            allocate(node(i)%G(1))
             allocate(node(i)%G(1)%lwg(2*ngbr1))
             allocate(node(i)%G(1)%lpg(2*ngbr1,3))
  +          allocate(node(i)%G(1)%velocity_quadrature(2*ngbr1))
             allocate(node(i)%G(1)%lvn(2*ngbr1,3))
             allocate(node(i)%G(1)%upwind_donald(2*ngbr1))
   
  
positive.code:      real(r8),allocatable:: lpg(:,:)
       real(r8),allocatable:: lwg(:)
       real(r8),allocatable:: lvn(:,:)
       integer(i4),allocatable:: upwind_donald(:)
    end type gauss_structure
  
  
negative.code:           p2=node(i)%edge(n)%xyz2(2,:) 
            do s=1,diml
               !Calculando o produto interno entre o vetor velocidade e o vetor normal unitario a edge 
               if (.not. moistswm)then
                 dot=dot_product(velocity(node(i)%G(s)%lpg(n,1:3), time),node(i)%G(s)%lvn(n,1:3))
               else
                 dot=node(i)%G(s)%velocity_quadrature(n)
               end if
               !Determinando os coeficientes da matriz de rotação para o node i 
               xx=mesh%v(i)%p(1)
               yy=mesh%v(i)%p(2)
  