24 subroutine make_dg_interface_conditions()
60 if (
mpi_id.eq.0 .and.
nelem_dg_glo .gt. 0)
write(*,
'(A)')
'-------------Setup DG interface conditions-------------'
84 write(*,
'(A,I10,A4,I10)')
'DG Faces on Proc.',
mpi_id,
' are'
94 if (
mpi_id .eq. 0)
write(*,
'(A)')
'Writing FACES.input'
111 if (
mpi_id .eq. 0)
write(*,
'(A)')
'Writing DGFS.input'
168 if (
mpi_id .eq. 0)
write(*,
'(A)')
169 if (
mpi_id .eq. 0)
write(*,
'(A)')
'-----------------Making DG interfaces------------------'
190 write(*,
'(A,I6,A)')
'Proc:',
mpi_id,
' Made.'
193 if (
mpi_id .eq. 0)
write(*,
'(A)')
'Made All.'
199 if (
mpi_id.eq.0)
write(*,
'(A)')
200 if (
mpi_id.eq.0)
write(*,
'(A)')
'----------Setting mpi parameters for DG jumps----------'
256 write(*,
'(A)')
'ERROR: Repetitions on vector node_recv_jump'
280 end subroutine make_dg_interface_conditions
subroutine get_dime_dg(nm, sd, tag_mat, cs_nnz_loc, cs_loc, nn_loc, local_n_num, ne_loc, local_el_num, xs, ys, zs, nel_dg_loc, nel_dg_glo, i4count, mpi_id, mpi_comm)
Counts number of DG elements (local and global)
subroutine get_node_from_face(nb_nodes, nb_nz, con_spc, nb_load, l
Computes total number of boundary nodes and second derivative on a given point x.
subroutine make_dg_interface(nm, sd, tag_mat, prop_mat, cs_nnz_loc, cs_loc, nn_loc, local_n_num, ne_loc, local_el_num, xs, ys, zs, nel_dg_loc, nel_dg_glo, i4count, mpi_id, mpi_comm, mpi_np, alfa11, alfa12, alfa13, alfa21, alfa22, alfa23, alfa31, alfa32, alfa33, beta11, beta12, beta13, beta21, beta22, beta23, beta31, beta32, beta33, gamma1, gamma2, gamma3, delta1, delta2, delta3, dg_cnst, penalty_c, faces, area_nodes, el_new, filename, testmode)
Creates data structure for dg elements.
subroutine make_dg_loc_numeration(nnloc, loc_n_num, cs_nnz, cs_loc, neloc, loc_el_num, mpi_
Local numeration for DG elements.
subroutine make_spx_con_dg(cs_dg, nnz_dg, tot_el, np, mpi_file)
Makes connectivity vector for DG elements.
subroutine read_faces(filename, fac, nodes, n, mpi_id, mpi_com)
Reads FACES.input.
subroutine setup_dg4mpi(el_new, nel_dg_loc, nel_dg_glo, mpi_id, mpi_comm, mpi_np, cs_nnz_loc, cs_loc, ne_loc, local_el_num, local_n_num, nn_loc, total_cs_nnz_mpi, total_el, mpi_file)
Writes DGCSXXXXXX.mpi files for DG connectivity.
subroutine setup_dg(nm, sd, tag_mat, cs_nnz_loc, cs_loc, nn_loc, local_n_num, ne_loc, local_el_num, xs, ys, zs, nel_dg_loc, nel_dg_glo, i4count, mpi_id, mpi_comm, alfa11, alfa12, alfa13, alfa21, alfa22, alfa23, alfa31, alfa32, alfa33, beta11, beta12, beta13, beta21, beta22, beta23, beta31, beta32, beta33, gamma1, gamma2, gamma3, delta1, delta2, delta3, faces, area_nodes)
Setup for DG faces.
subroutine setup_dg_elem(nm, sd, tag_mat, cs_nnz_loc, cs_loc, nn_loc, local_n_num, ne_loc, local_el_num, xs, ys, zs, nel_dg_loc, nel_dg_glo, i4count, mpi_id, mpi_comm, mpi_np, alfa11, alfa12, alfa13, alfa21, alfa22, alfa23, alfa31, alfa32, alfa33, beta11, beta12, beta13, beta21, beta22, beta23, beta31, beta32, beta33, gamma1, gamma2, gamma3, delta1, delta2, delta3, dg_els, scratch_dg_els, tag_dg_el, tag_dg_yn, tag_dg_link, tag_dg_frc, val_dg_frc, nload_dg, con_bc, nface, mpi_file)
Setup for DG data structure.
subroutine setup_mpi_jump(ne_dg_loc, el_new, nnode, node_proc, nel_loc, loc_el_num, nnloc, loc_n_num, ncs, cs, nsend_jump, node_send_jump, nrecv_jump, node_recv_jump, nproc, proc_send_jump, proc_recv_jump, id, mpi_file)
Routine used to setup the communication buffer structure.
subroutine write_file_dgfs(nm, sd, tag_mat, cs_nnz_loc, cs_loc, nn_loc, local_n_num, ne_loc, local_el_num, xs, ys, zs, nel_dg_loc, nel_dg_glo, mpi_id, mpi_comm, mpi_np, alfa11, alfa12, alfa13, alfa21, alfa22, alfa23, alfa31, alfa32, alfa33, beta11, beta12, beta13, beta21, beta22, beta23, beta31, beta32, beta33, gamma1, gamma2, gamma3, delta1, delta2, delta3, faces, area_nodes, dg_els, scratch_dg_els, filename, mpi_file)
Writes file DGFS.input, containing infos for computing integrals on DG interfaces.
subroutine write_file_faces(mpi_file, filename, faces, nodes, n, ng, mpi_id, mpi_com, cfaces, np)
Writes file FACSXXXXX.mpi and stores info about DG surfaces.
Contains structure for jump matrices.
Contains SPEED paramters (used in MAKE_DG_INTERFACE_CONDITIONS)
type(el4loop), dimension(:), allocatable el_new
type(element), dimension(:), allocatable dg_els
type(scratch_element), dimension(:), allocatable scratch_dg_els
Contains SPEED PARAMETERS used in (SPEED, READ_INPUT_FILES, MAKE_PARTION_AND_MPI_FILES,...
real *8, dimension(:), allocatable delta2
real *8, dimension(:), allocatable gamma3
integer *4, dimension(:), allocatable local_el_num
integer *4, dimension(:), allocatable i4count
real *8, dimension(:), allocatable gamma2
integer *4 con_nnz_bc_loc
integer *4, dimension(:), allocatable tag_dg_frc
real *8, dimension(:), allocatable delta3
real *8, dimension(:), allocatable alfa23
integer *4, dimension(:), allocatable tag_dg_yn
real *8, dimension(:), allocatable beta13
character *70 file_mpi_new
real *8, dimension(:,:), allocatable prop_mat
real *8, dimension(:), allocatable alfa33
real *8, dimension(:), allocatable alfa11
integer *4, dimension(:), allocatable local_node_num_dg
real *8, dimension(:), allocatable beta21
integer *4, dimension(:), allocatable count_faces
integer *4, dimension(:), allocatable node_domain
real *8, dimension(:), allocatable delta1
real *8, dimension(:), allocatable beta23
real *8, dimension(:), allocatable zz_spx_loc
integer *4, dimension(:,:), allocatable faces
real *8, dimension(:), allocatable yy_spx_loc
real *8, dimension(:), allocatable alfa13
real *8, dimension(:), allocatable beta12
integer *4, dimension(:), allocatable proc_recv_jump
integer *4, dimension(:), allocatable con_spx_bc_loc
real *8, dimension(:), allocatable beta11
real *8, dimension(:), allocatable alfa31
integer *4, dimension(:), allocatable proc_send_jump
integer *4, dimension(:), allocatable local_node_num
real *8, dimension(:,:), allocatable val_dg_frc
integer *4, dimension(:), allocatable sdeg_mat
real *8, dimension(:), allocatable beta22
real *8, dimension(:), allocatable beta31
integer *4, dimension(:), allocatable con_spx_loc
real *8, dimension(:), allocatable alfa21
integer *4, dimension(:), allocatable tag_dg_el
real *8, dimension(:), allocatable alfa22
real *8, dimension(:), allocatable beta33
integer *4, dimension(:), allocatable node_recv_jump
integer *4, dimension(:), allocatable con_spx_dg
integer *4, dimension(:), allocatable tag_mat
integer *4, dimension(:), allocatable node_send_jump
real *8, dimension(:), allocatable gamma1
real *8, dimension(:), allocatable alfa32
integer *4, dimension(:,:), allocatable con_bc
real *8, dimension(:), allocatable xx_spx_loc
real *8, dimension(:), allocatable beta32
integer *4, dimension(:), allocatable tag_dg_link
real *8, dimension(:,:), allocatable area_nodes
real *8, dimension(:), allocatable alfa12
Contains mesh structure (scratch)
Contains mesh structure for DG interface elements.