|
FE-Project
|
Derived type to manage a rectangular 2D computational domain. More...
Public Member Functions | |
| procedure | init (this, negx, negy, dom_xmin, dom_xmax, dom_ymin, dom_ymax, isperiodicx, isperiodicy, refelem, nlocalmeshperprc, nprcx, nprcy, nproc, myrank) |
| Initialize an object to manage a 2D rectangular computational mesh. | |
| procedure | final (this) |
| Finalize an object to manage a 2D rectangular computational mesh. | |
| procedure | generate (this) |
| Generate meshes for the rectangular domain. | |
| procedure | assigndomid (this, tileid_table, panelid_table, pi_table, pj_table) |
| Public Member Functions inherited from scale_mesh_base2d::meshbase2d | |
| procedure(meshbase2d_generate), deferred | generate meshbase2d_generate |
| procedure | getlocalmesh (this, id, ptr_lcmesh) |
| Public Member Functions inherited from scale_mesh_base::meshbase | |
| procedure(meshbase_get_localmesh), deferred | getlocalmesh meshbase_get_localmesh |
| procedure | setdiminfo (this, dimid, name, unit, desc, positive_down) |
Public Attributes | |
| integer | negx |
| Number of elements in X direction (global) | |
| integer | negy |
| Number of elements in Y direction (global) | |
| integer | nprcx |
| Number of processes in X direction for domain decomposition. | |
| integer | nprcy |
| Number of processes in Y direction for domain decomposition. | |
| real(rp), public | xmin_gl |
| Minimum X coordinate of the global domain. | |
| real(rp), public | xmax_gl |
| Maximum X coordinate of the global domain. | |
| real(rp), public | ymin_gl |
| Minimum Y coordinate of the global domain. | |
| real(rp), public | ymax_gl |
| Maximum Y coordinate of the global domain. | |
| integer, dimension(:,:), allocatable | rcdomij2lcmeshid |
| logical | isperiodicx |
| Flag whether the domain is periodic in X direction. | |
| logical | isperiodicy |
| Flag whether the domain is periodic in Y direction. | |
| Public Attributes inherited from scale_mesh_base2d::meshbase2d | |
| type(localmesh2d), dimension(:), allocatable | lcmesh_list |
| Array of local meshes in each MPI process. | |
| type(elementbase2d), pointer | refelem2d |
| Pointer to an object with a reference element for 2D. | |
| Public Attributes inherited from scale_mesh_base::meshbase | |
| integer | local_mesh_num |
| Number of local meshes in each MPI process. | |
| integer | prc_num |
| Number of MPI processes. | |
| integer | local_mesh_num_global |
| Total number of local meshes across all MPI processes. | |
| integer, dimension(:,:), allocatable | tileid_globalmap |
| integer, dimension(:,:), allocatable | tilefaceid_globalmap |
| integer, dimension(:,:), allocatable | tilepanelid_globalmap |
| integer, dimension(:), allocatable | tileid_global2localmap |
| integer, dimension(:), allocatable | prcrank_globalmap |
| class(elementbase), pointer | refelem |
| Pointer to an object with a reference element. | |
| type(meshdiminfo), dimension(:), allocatable | diminfo |
| Array of information for each dimension. | |
| real(rp) | dom_vol |
| Total volume of the computational domain. | |
| logical | isgenerated |
| Flag whether the mesh is generated. | |
Derived type to manage a rectangular 2D computational domain.
Definition at line 37 of file scale_mesh_rectdom2d.F90.
| procedure scale_mesh_rectdom2d::meshrectdom2d::init | ( | class(meshrectdom2d), intent(inout) | this, |
| integer, intent(in) | negx, | ||
| integer, intent(in) | negy, | ||
| real(rp), intent(in) | dom_xmin, | ||
| real(rp), intent(in) | dom_xmax, | ||
| real(rp), intent(in) | dom_ymin, | ||
| real(rp), intent(in) | dom_ymax, | ||
| logical, intent(in) | isperiodicx, | ||
| logical, intent(in) | isperiodicy, | ||
| type(quadrilateralelement), intent(in), target | refelem, | ||
| integer, intent(in) | nlocalmeshperprc, | ||
| integer, intent(in) | nprcx, | ||
| integer, intent(in) | nprcy, | ||
| integer, intent(in), optional | nproc, | ||
| integer, intent(in), optional | myrank ) |
Initialize an object to manage a 2D rectangular computational mesh.
| [in] | negx | Number of elements in X direction (global) |
| [in] | negy | Number of elements in Y direction (global) |
| [in] | dom_xmin | Minimum X coordinate of the global domain |
| [in] | dom_xmax | Maximum X coordinate of the global domain |
| [in] | dom_ymin | Minimum Y coordinate of the global domain |
| [in] | dom_ymax | Maximum Y coordinate of the global domain |
| [in] | isperiodicx | Flag whether the domain is periodic in X direction |
| [in] | isperiodicy | Flag whether the domain is periodic in Y direction |
| [in] | refelem | Reference element for the 2D mesh |
| [in] | nlocalmeshperprc | Number of local meshes managed by each process |
| [in] | nprcx | Number of processes in X direction for domain decomposition |
| [in] | nprcy | Number of processes in Y direction for domain decomposition |
| [in] | nproc | Total number of processes (if not provided, it will be determined from the parallel environment) |
| [in] | myrank | Rank of the current process (if not provided, it will be determined from the parallel environment) |
Definition at line 54 of file scale_mesh_rectdom2d.F90.
| procedure scale_mesh_rectdom2d::meshrectdom2d::final | ( | class(meshrectdom2d), intent(inout) | this | ) |
Finalize an object to manage a 2D rectangular computational mesh.
Definition at line 55 of file scale_mesh_rectdom2d.F90.
| procedure scale_mesh_rectdom2d::meshrectdom2d::generate | ( | class(meshrectdom2d), intent(inout), target | this | ) |
Generate meshes for the rectangular domain.
Definition at line 56 of file scale_mesh_rectdom2d.F90.
| procedure scale_mesh_rectdom2d::meshrectdom2d::assigndomid | ( | class(meshrectdom2d), intent(inout), target | this, |
| integer, dimension(this%local_mesh_num, this%prc_num), intent(out) | tileid_table, | ||
| integer, dimension(this%local_mesh_num*this%prc_num), intent(out) | panelid_table, | ||
| integer, dimension(this%local_mesh_num*this%prc_num), intent(out) | pi_table, | ||
| integer, dimension(this%local_mesh_num*this%prc_num), intent(out) | pj_table ) |
Definition at line 57 of file scale_mesh_rectdom2d.F90.
References scale_mesh_rectdom2d::meshrectdom2d_coord_conv(), and scale_mesh_rectdom2d::meshrectdom2d_setuplocaldom().
| integer scale_mesh_rectdom2d::meshrectdom2d::negx |
Number of elements in X direction (global)
Definition at line 38 of file scale_mesh_rectdom2d.F90.
| integer scale_mesh_rectdom2d::meshrectdom2d::negy |
Number of elements in Y direction (global)
Definition at line 39 of file scale_mesh_rectdom2d.F90.
| integer scale_mesh_rectdom2d::meshrectdom2d::nprcx |
Number of processes in X direction for domain decomposition.
Definition at line 41 of file scale_mesh_rectdom2d.F90.
| integer scale_mesh_rectdom2d::meshrectdom2d::nprcy |
Number of processes in Y direction for domain decomposition.
Definition at line 42 of file scale_mesh_rectdom2d.F90.
| real(rp), public scale_mesh_rectdom2d::meshrectdom2d::xmin_gl |
Minimum X coordinate of the global domain.
Definition at line 44 of file scale_mesh_rectdom2d.F90.
| real(rp), public scale_mesh_rectdom2d::meshrectdom2d::xmax_gl |
Maximum X coordinate of the global domain.
Definition at line 45 of file scale_mesh_rectdom2d.F90.
| real(rp), public scale_mesh_rectdom2d::meshrectdom2d::ymin_gl |
Minimum Y coordinate of the global domain.
Definition at line 46 of file scale_mesh_rectdom2d.F90.
| real(rp), public scale_mesh_rectdom2d::meshrectdom2d::ymax_gl |
Maximum Y coordinate of the global domain.
Definition at line 47 of file scale_mesh_rectdom2d.F90.
| integer, dimension(:,:), allocatable scale_mesh_rectdom2d::meshrectdom2d::rcdomij2lcmeshid |
Definition at line 49 of file scale_mesh_rectdom2d.F90.
| logical scale_mesh_rectdom2d::meshrectdom2d::isperiodicx |
Flag whether the domain is periodic in X direction.
Definition at line 51 of file scale_mesh_rectdom2d.F90.
| logical scale_mesh_rectdom2d::meshrectdom2d::isperiodicy |
Flag whether the domain is periodic in Y direction.
Definition at line 52 of file scale_mesh_rectdom2d.F90.