![]() |
This module contains subroutines to compute and write snapshots of a mesh composed by hexahedron elements (VTK XML formats).
Public Member Functions | |
subroutine, public | init_snapshot_volume () |
This subroutine intializes the VTK mesh used for volume snapshots by calling 'get_efi_hexa' and 'init_vtk_mesh'. | |
subroutine, public | write_snapshot_volume () |
This subroutine manages output format for volume snapshot. For now, only VTK format is available. Each cpu writes its own part of the mesh. | |
subroutine, public | write_snapshot_volume_vtk (fname, gll_var_x, name_var_x, gll_var_y, name_var_y, gll_var_z, name_var_z) |
This subroutine writes volume snapshot in a VTK XML file that contains a maximum of three vectors. More... | |
subroutine, public | write_collection_vtk_vol () |
This subroutine selects which ParaView collection files should be written (displacement, velocity and/or acceleration collections) depending on value of variables mod_global_variables::lg_snapshot_volume_displacement, mod_global_variables::lg_snapshot_volume_velocity and mod_global_variables::lg_snapshot_volume_acceleration. | |
Private Member Functions | |
subroutine, private | get_efi_hexa (efi_hexa, efi_nhexa, xmin, xmax, ymin, ymax, zmin, zmax) |
This subroutine finds and stores the number of EFISPEC's hexahedron elements used for generating VTK mesh. More... | |
subroutine, private | init_vtk_mesh (efi_hexa, efi_hexa_gll_glonum, vtk_hexa_conn, vtk_node_x, vtk_node_y, vtk_node_z, vtk_node_gll_glonum, vtk_cell_type, vtk_offset, vtk_nhexa, vtk_nnode) |
This subroutines manages the generation of a VTK mesh from spectral elements GLL nodes. More... | |
subroutine, private | init_vtk_node (hexa, nhexa, efi_hexa_gll_glonum, gll, ngll, ngll_unique) |
This subroutine finds which GLL nodes to use for generating a VTK mesh. More... | |
subroutine, private | init_vtk_node_numbering (node, gll, nnode, ngll) |
This subroutine generates i) VTK nodes' numbering from 0 to n-1 and ii) indirection array from VTK's geometric nodes to EFISPEC's GLL nodes. More... | |
subroutine, private | init_vtk_hexa_connectivity (hexa, efi_nhexa, node, ngll, efi_hexa_gll_glonum, vtk_hexa, vtk_nhexa) |
This subroutine creates the connectivity array for defining VTK hexahedron elements from VTK geometric nodes. More... | |
subroutine, private | write_medium () |
This subroutine prepares the arrays for writing elastic properties of the medium. | |
subroutine, private | collection_vtk_volume (varname) |
This subroutine write Paraview collection file *.pvd of VTK XML volume snapshot files *.vtu. More... | |
Definition at line 127 of file module_snapshot_volume.f90.
|
private |
varname | : variable name |
Definition at line 953 of file module_snapshot_volume.f90.
Referenced by write_collection_vtk_vol().
|
private |
efi_hexa | : EFISPEC's hexahedron elements used for generating VTK mesh |
efi_nhexa | : number of hexahedron elements in EFISPEC mesh |
xmin | : minimal \(x\)-coordinate of the box of volume snapshot |
xmax | : maximal \(x\)-coordinate of the box of volume snapshot |
ymin | : minimal \(y\)-coordinate of the box of volume snapshot |
ymax | : maximal \(y\)-coordinate of the box of volume snapshot |
zmin | : minimal \(z\)-coordinate of the box of volume snapshot |
zmax | : maximal \(z\)-coordinate of the box of volume snapshot |
Definition at line 228 of file module_snapshot_volume.f90.
References mod_coordinate::compute_hexa_point_coord().
Referenced by init_snapshot_volume().
|
private |
hexa | : list of EFISPEC hexahedron elements used for generating VTK mesh |
efi_nhexa | : total number of element in array 'hexa' |
node | : VTK geometric nodes |
ngll | : total number of unique GLL nodes in EFISPEC mesh |
efi_hexa_gll_glonum | : EFISPEC indirection array from local to global GLL nodes numbering |
vtk_hexa | : connectivity array for defining VTK hexahedron elements from VTK geometric nodes |
vtk_nhexa | : total number of VTK hexahedron elements |
Definition at line 570 of file module_snapshot_volume.f90.
Referenced by init_vtk_mesh().
|
private |
efi_hexa | : EFISPEC hexahedron elements whose GLL nodes will be used to generate a VTK mesh composed by 8-node hexahedron elements |
efi_hexa_gll_glonum | : EFISPEC indirection array from local to global GLL nodes numbering |
vtk_hexa_conn | : VTK hexahedron elements connectivity array |
vtk_node_gll_glonum | : VTK indirection array from VTK's geometric nodes to EFISPEC's GLL nodes |
vtk_cell_type | : VTK cell type |
vtk_offset | : VTK offset array |
vtk_node_x | : \(x\)-coordinate of VTK mesh nodes |
vtk_node_y | : \(y\)-coordinate of VTK mesh nodes |
vtk_node_z | : \(z\)-coordinate of VTK mesh nodes |
vtk_nhexa | : number of hexahadron element in VTK mesh |
vtk_nnode | : number of geometric nodes in VTK mesh |
Definition at line 328 of file module_snapshot_volume.f90.
References init_vtk_hexa_connectivity(), init_vtk_node(), and init_vtk_node_numbering().
Referenced by init_snapshot_volume().
|
private |
hexa | : EFISPEC hexahedron elements used for |
nhexa | : number of EFISPEC hexahedron elements |
efi_hexa_gll_glonum | : EFISPEC indirection array from local to global GLL nodes numbering |
ngll | : total number of unique GLL nodes in EFISPEC mesh |
gll | : GLL nodes used for generating VTK nodes |
ngll_unique | : total number of unique GLL nodes used for generating VTK nodes |
Definition at line 437 of file module_snapshot_volume.f90.
Referenced by init_vtk_mesh().
|
private |
node | : VTK nodes with numbering from 0 to nnode-1 |
gll | : VTK indirection array from VTK's geometric nodes to EFISPEC's GLL nodes |
nnode | : total number of unique geometric nodes in VTK mesh |
ngll | : total number of unique GLL nodes in EFISPEC mesh |
Definition at line 512 of file module_snapshot_volume.f90.
Referenced by init_vtk_mesh().
subroutine, public mod_snapshot_volume::write_snapshot_volume_vtk | ( | character(len=255), intent(in) | fname, |
real, dimension(ig_ngll_total), intent(in), optional | gll_var_x, | ||
character(len=*), intent(in), optional | name_var_x, | ||
real, dimension(ig_ngll_total), intent(in), optional | gll_var_y, | ||
character(len=*), intent(in), optional | name_var_y, | ||
real, dimension(ig_ngll_total), intent(in), optional | gll_var_z, | ||
character(len=*), intent(in), optional | name_var_z | ||
) |
fname | : VTK file name |
gll_var_x | : vector number 1 to be written in VTK file. The vector must be stored in an array ordered by unique GLL nodes number. |
name_var_x | : name of the variable in vector number 1. |
gll_var_y | : vector number 2 to be written in VTK file. The vector must be stored in an array ordered by unique GLL nodes number. |
name_var_y | : name of the variable in vector number 2. |
gll_var_z | : vector number 3 to be written in VTK file. The vector must be stored in an array ordered by unique GLL nodes number. |
name_var_z | : name of the variable in vector number 3. |
Definition at line 725 of file module_snapshot_volume.f90.
References mod_vtk_io::vtk_con_xml(), mod_vtk_io::vtk_dat_xml(), mod_vtk_io::vtk_end_xml(), and mod_vtk_io::vtk_ini_xml().
Referenced by write_medium(), and write_snapshot_volume().