anchor.diff:      use arrays,only: dp,num_elems,num_nodes,elem_field
       use diagnostics, only: enter_exit
       !local variables
  -    integer :: mesh_dof,variable_types
  -    integer, allocatable :: mesh_from_variables(:,:,:)
  -    integer, allocatable :: variables_at_node(:,:,:)
  -    integer, allocatable :: variables_at_elem(:,:,:)
  -    integer, dimension(0:2,2) :: variable_totals
  +    integer :: mesh_dof,depvar_types
  +    integer, allocatable :: mesh_from_depvar(:,:,:)
  +    integer, allocatable :: depvar_at_node(:,:,:)
  +    integer, allocatable :: depvar_at_elem(:,:,:)
  +    integer, dimension(0:2,2) :: depvar_totals
       integer, allocatable :: SparseCol(:)
       integer, allocatable :: SparseRow(:)
       integer, allocatable :: update_resistance_entries(:)
  
positive.code:             node_xyz(1,np1))**2 + (node_xyz(2,np2) - &
              node_xyz(2,np1))**2 + (node_xyz(3,np2) - &
              node_xyz(3,np1))**2)
         !write(*,*),"avrad",ne,elem_field(ne_radius,ne)
         elem_field(ne_radius,ne)=(elem_field(ne_radius_in,ne)+elem_field(ne_radius_out,ne))/2
         ! element Poiseuille (laminar) resistance in units of Pa.s.mm-3        
         resistance = 8.d0*viscosity*elem_field(ne_length,ne)/ &
  
negative.code: 
    subroutine tree_resistance(resistance)
      use indices
      use arrays,only: dp,num_elems,elem_cnct,elem_field
      use diagnostics, only: enter_exit
      character(len=60) :: sub_name
  !local variables
      real(dp), intent(out) :: resistance
      real(dp) :: invres,elem_res(num_elems)
      integer :: num2,ne,ne2
  
      sub_name = 'tree_resistance'
      call enter_exit(sub_name,1)
  