00001 module interface_modules
00002   use phys_constant, only : long
00003   implicit none
00004   interface 
00005 
00006     subroutine poisson_solver(sou, pot)
00007       real(8),pointer  ::  sou(:,:,:),pot(:,:,:)
00008     end subroutine poisson_solver
00009 
00010 
00011 
00012     subroutine poisson_solver_no_lm1(sou, pot)
00013       real(8),pointer  ::  sou(:,:,:),pot(:,:,:)
00014     end subroutine poisson_solver_no_lm1
00015     subroutine grgrad_midpoint(fnc,dfdx,dfdy,dfdz)
00016       real(8), pointer :: fnc(:,:,:)
00017       real(8), pointer :: dfdx(:,:,:)
00018       real(8), pointer :: dfdy(:,:,:)
00019       real(8), pointer :: dfdz(:,:,:)
00020     end subroutine grgrad_midpoint
00021     subroutine grgrad_4th(fnc,dfdx,dfdy,dfdz,irg,itg,ipg)
00022       real(8), pointer :: fnc(:,:,:)
00023       real(8), intent(out) :: dfdx, dfdy, dfdz
00024       integer :: irg, itg, ipg
00025     end subroutine grgrad_4th
00026     subroutine interpo_linear_type0(val,fnc,ir,it,ip)
00027       real(8) :: val
00028       real(8), pointer :: fnc(:,:,:)
00029       integer :: ir, it, ip
00030     end subroutine interpo_linear_type0
00031     subroutine interpo_linear_type0_2Dsurf(val,fnc,it,ip)
00032       real(8) :: val
00033       real(8), pointer :: fnc(:,:)
00034       integer :: it, ip
00035     end subroutine interpo_linear_type0_2Dsurf
00036     subroutine interpo_lag4th_2Dsurf(val,fnc,tv,pv)
00037       real(8), intent(out) :: val
00038       real(8), intent(in)  :: tv, pv
00039       real(8), pointer :: fnc(:,:)
00040     end subroutine interpo_lag4th_2Dsurf
00041     subroutine interpo_gr2fl(a,b)
00042       real(8), pointer :: a(:,:,:), b(:,:,:)
00043     end subroutine interpo_gr2fl
00044     subroutine interpo_fl2gr(a,b)
00045       real(8), pointer :: a(:,:,:), b(:,:,:)
00046     end subroutine interpo_fl2gr
00047     subroutine interpo_radial1p_grav(grv,val,rv,it,ip)
00048       real(8), pointer :: grv(:,:,:)
00049       real(8), intent(out) :: val
00050       real(8), intent(in)  :: rv
00051       integer, intent(in)  :: it, ip
00052     end subroutine interpo_radial1p_grav
00053 
00054     subroutine sourceterm_HaC(sou)    
00055       real(8), pointer :: sou(:,:,:)
00056     end subroutine sourceterm_HaC
00057     subroutine sourceterm_trG(sou)
00058       real(8), pointer :: sou(:,:,:)
00059     end subroutine sourceterm_trG
00060     subroutine sourceterm_MoC(souvec,sou)
00061       real(8), pointer :: sou(:,:,:) 
00062       real(8), pointer :: souvec(:,:,:,:)
00063     end subroutine sourceterm_MoC
00064     subroutine compute_shift(potx,poty,potz,gvec,bfnc)      
00065       real(8), pointer :: bfnc(:,:,:) 
00066       real(8), pointer :: gvec(:,:,:,:)
00067       real(8), pointer :: potx(:,:,:), poty(:,:,:), potz(:,:,:)
00068     end subroutine compute_shift
00069     subroutine compute_alps2alph(pot,psi)
00070       real(8), pointer     :: pot(:,:,:), psi(:,:,:)
00071     end subroutine compute_alps2alph
00072 
00073     subroutine hydrostatic_eq(emd)
00074       real(8), pointer :: emd(:,:,:)
00075     end subroutine hydrostatic_eq
00076     subroutine calc_surface(rsnew,emd)
00077       real(8), pointer :: emd(:,:,:)
00078       real(8), pointer :: rsnew(:,:)
00079     end subroutine calc_surface
00080     subroutine error_matter(pot,pot_bak,error,flag)
00081       real(8), pointer     :: pot(:,:,:), pot_bak(:,:,:)
00082       real(8), intent(out) :: error
00083       integer, intent(out) :: flag
00084     end subroutine error_matter
00085 
00086     subroutine update_grfield(pot,grfield,convf)
00087       real(8), pointer :: pot(:,:,:)
00088       real(8), pointer :: grfield(:,:,:)
00089       real(8), intent(in) :: convf
00090     end subroutine update_grfield
00091     subroutine update_matter(potf,mtfield,convf)
00092       real(8), pointer :: potf(:,:,:)
00093       real(8), pointer :: mtfield(:,:,:)
00094       real(8), intent(in) :: convf
00095     end subroutine update_matter
00096     subroutine update_surface(potrs,rsnew,convf)
00097       real(8), pointer :: potrs(:,:)
00098       real(8), pointer :: rsnew(:,:)
00099       real(8), intent(in) :: convf
00100     end subroutine update_surface
00101     subroutine update_parameter(convf)
00102       real(8), intent(in) :: convf
00103     end subroutine update_parameter
00104     subroutine update_parameter_axisym(convf)
00105       real(8), intent(in) :: convf
00106     end subroutine update_parameter_axisym
00107     subroutine update_parameter_triaxial(convf)
00108       real(8), intent(in) :: convf
00109     end subroutine update_parameter_triaxial
00110 
00111     subroutine source_rest_mass(souf)
00112       real(8), pointer     :: souf(:,:,:)
00113     end subroutine source_rest_mass
00114     subroutine source_adm_mass(soug,souf)
00115       real(8), pointer     :: soug(:,:,:), souf(:,:,:)
00116     end subroutine source_adm_mass
00117     subroutine source_komar_mass(soug,souf)
00118       real(8), pointer     :: soug(:,:,:), souf(:,:,:)
00119     end subroutine source_komar_mass
00120     subroutine source_komar_mass_compact(souf)
00121       real(8), pointer     :: souf(:,:,:)
00122     end subroutine source_komar_mass_compact
00123     subroutine source_proper_mass(souf)
00124       real(8), pointer     :: souf(:,:,:)
00125     end subroutine source_proper_mass
00126     subroutine source_ang_mom(souf)
00127       real(8), pointer     :: souf(:,:,:)
00128     end subroutine source_ang_mom
00129     subroutine source_ang_mom_asymp(sousf,irg)
00130       real(8), pointer     :: sousf(:,:)
00131       integer, intent(in)  :: irg
00132     end subroutine source_ang_mom_asymp
00133     subroutine source_mp_minus_madm(soug,souf)
00134       real(8), pointer     :: soug(:,:,:), souf(:,:,:)
00135     end subroutine source_mp_minus_madm
00136     subroutine vol_int_fluid(souf,vol)
00137       real(8), pointer     :: souf(:,:,:)
00138       real(8), intent(out) :: vol
00139     end subroutine vol_int_fluid
00140     subroutine vol_int_grav(soug,vol)
00141       real(8), pointer     :: soug(:,:,:)
00142       real(8), intent(out) :: vol
00143     end subroutine  vol_int_grav
00144     subroutine surf_int_grav(sousf,surf,irg)
00145       real(8), pointer     :: sousf(:,:)
00146       real(8), intent(out) :: surf
00147       integer, intent(in)  :: irg
00148     end subroutine  surf_int_grav
00149     subroutine radial_int_fluid(sou,radius,it,ip)
00150       real(8), pointer     :: sou(:)
00151       real(8), intent(out) :: radius
00152       integer, intent(in)  :: it, ip
00153     end subroutine radial_int_fluid
00154 
00155     subroutine minv(aa,bb,nn,nnz)
00156       integer :: nn, nnz
00157       real(8) :: aa(nnz,nnz),bb(nnz)
00158     end subroutine minv
00159 
00160   end interface
00161 end module interface_modules