32 use size_m
, only : lx1, nid
33 use input, only : param, ifaxis, ifmgrid, ifmhd, ifsplit, ifldmhd
34 use tstep, only : ifield
35 use hsmg, only : use_spectral_coarse
41 integer :: npass, ipass
43 if (lx1 == 2) param(43)=1.
44 if (lx1 == 2 .AND. nid == 0)
write(6,*)
'No mgrid for lx1=2!'
46 if (ifaxis) ifmgrid = .false.
47 if (param(43) /= 0) ifmgrid = .false.
54 if (ifsplit .AND. ifmgrid)
then
55 if (ipass > 1) ifield = ifldmhd
63 elseif ( .NOT. ifsplit)
then
65 if (ipass > 1) ifield = ifldmhd
67 if (param(44) == 1)
then
68 call set_fem_data_l2(nel_proc,ndom,n_o,x,
y,
z,tri)
74 if (ifield > 1) e = nelv+1
77 call gen_fast(df(1,e),sr(1,e),ss(1,e),st(1,e),x,
y,
z)
subroutine set_up_h1_crs
?
subroutine, public hsmg_setup()
Sets up hybrid Schwarz multi-grid preconditioner.
subroutine gen_fast_spacing()
Generate fast diagonalization matrices for each element.
Module containing data for HSMG.
subroutine swap_lengths()
subroutine, public h1mg_setup()
Sets up Poisson preconditioner.
subroutine set_overlap
Set up arrays for overlapping Schwartz algorithm for pressure solver
static double y[NR *NS *NT *N]
static double z[NR *NS *NT *N]