A point zone that combines different point zones.
More...
|
procedure, pass(this) | init (this, json, size) |
| Constructor from json object file.
|
|
procedure, pass(this) | free (this) |
| Destructor.
|
|
procedure, pass(this) | criterion (this, x, y, z, j, k, l, e) |
| Defines the criterion of selection of a GLL point in the combine point zone.
|
|
procedure, pass(this) | init_base (this, size, name, invert) |
| Constructor for the point_zone_t base type.
|
|
procedure, pass(this) | free_base (this) |
| Destructor for the point_zone_t base type.
|
|
procedure, pass(this) | finalize (this) |
| Builds the mask from the scratch stack.
|
|
procedure, pass(this) | add (this, idx) |
| Adds a point's linear index to the scratch stack.
|
|
procedure, pass(this) | map (this, dof) |
| Maps the GLL points that verify a point_zone's criterion by adding them to the stack.
|
|
procedure(point_zone_init), deferred, pass | init (this, json, size) |
| The common constructor using a JSON object.
|
|
procedure(point_zone_free), deferred, pass | free (this) |
| Destructor.
|
|
procedure(point_zone_criterion), deferred, pass | criterion (this, x, y, z, j, k, l, e) |
| Defines the criterion of selection of a GLL point to the point_zone.
|
|
|
type(point_zone_pointer_t), dimension(:), allocatable | zones |
| List of all the sub zones.
|
|
type(point_zone_wrapper_t), dimension(:), allocatable | internal_zones |
| List of the sub-zones to be created internally.
|
|
character(len=80), dimension(:), allocatable | names |
| List of the names of the sub-zones to construct.
|
|
integer | n_zones = 0 |
| Number of total zones.
|
|
integer | n_external_zones = 0 |
| Number of external zones to be filled by the registry.
|
|
integer | n_internal_zones = 0 |
| Number of internal zone, to be created inside init.
|
|
character(len=:), allocatable | operator |
| Operator with which to combine the point zones (AND, OR, XOR)
|
|
integer, dimension(:), allocatable | mask |
| List of linear indices of the GLL points in the zone.
|
|
type(c_ptr) | mask_d = c_null_ptr |
| List of linear indices of the GLL points in the zone on the device.
|
|
integer | size = 0 |
| Size of the point zone mask.
|
|
character(len=80) | name |
| Name of the point zone (used for retrieval in the point_zone_registry).
|
|
logical | invert = .false. |
| If we select the inverse of the criterion or not.
|
|
|
type(stack_i4_t), private | scratch |
| Scratch stack of integers to build the list mask.
|
|
logical, private | finalized = .false. |
| Flag to indicate if point_zone_finalize has been called and the mask has been built.
|
|
Definition at line 49 of file combine_point_zone.f90.
◆ add()
- Parameters
-
idx | Linear index of the point to add. |
- Note
- The linear index of a point
(j,k,l,e)
can be retrieved using the subroutine linear_index(j,k,l,e,lx)
in the utils
module.
Definition at line 71 of file point_zone.f90.
◆ criterion() [1/2]
procedure(point_zone_criterion), deferred, pass point_zone::point_zone_t::criterion |
( |
class(point_zone_t), intent(in) |
this, |
|
|
real(kind=rp), intent(in) |
x, |
|
|
real(kind=rp), intent(in) |
y, |
|
|
real(kind=rp), intent(in) |
z, |
|
|
integer, intent(in) |
j, |
|
|
integer, intent(in) |
k, |
|
|
integer, intent(in) |
l, |
|
|
integer, intent(in) |
e |
|
) |
| |
|
pure virtualinherited |
◆ criterion() [2/2]
procedure, pass(this) combine_point_zone::combine_point_zone_t::criterion |
( |
class(combine_point_zone_t), intent(in) |
this, |
|
|
real(kind=rp), intent(in) |
x, |
|
|
real(kind=rp), intent(in) |
y, |
|
|
real(kind=rp), intent(in) |
z, |
|
|
integer, intent(in) |
j, |
|
|
integer, intent(in) |
k, |
|
|
integer, intent(in) |
l, |
|
|
integer, intent(in) |
e |
|
) |
| |
- Parameters
-
x | x-coordinate of the GLL point. |
y | y-coordinate of the GLL point. |
z | z-coordinate of the GLL point. |
j | 1st nonlinear index of the GLL point. |
k | 2nd nonlinear index of the GLL point. |
l | 3rd nonlinear index of the GLL point. |
e | element index of the GLL point. |
Definition at line 72 of file combine_point_zone.f90.
◆ finalize()
◆ free() [1/2]
◆ free() [2/2]
◆ free_base()
◆ init() [1/2]
◆ init() [2/2]
- Parameters
-
json | Json object file. |
size | Size with which to initialize the stack |
Definition at line 67 of file combine_point_zone.f90.
◆ init_base()
- Parameters
-
object | The object allocated by the factory. |
json | JSON object initializing the point zone. |
dof | Dofmap from which to map the point zone. Constructor for the point_zone_t base type. |
size | Size of the scratch stack. |
name | Name of the point zone. |
invert | Flag to indicate wether or not to invert the selection of points. |
Definition at line 65 of file point_zone.f90.
◆ map()
- Parameters
-
dof | Dofmap of points to go through. |
Definition at line 74 of file point_zone.f90.
◆ finalized
◆ internal_zones
◆ invert
logical point_zone::point_zone_t::invert = .false. |
|
inherited |
◆ mask
◆ mask_d
type(c_ptr) point_zone::point_zone_t::mask_d = c_null_ptr |
|
inherited |
◆ n_external_zones
integer combine_point_zone::combine_point_zone_t::n_external_zones = 0 |
◆ n_internal_zones
integer combine_point_zone::combine_point_zone_t::n_internal_zones = 0 |
◆ n_zones
integer combine_point_zone::combine_point_zone_t::n_zones = 0 |
◆ name
character(len=80) point_zone::point_zone_t::name |
|
inherited |
◆ names
◆ operator
◆ scratch
type(stack_i4_t), private point_zone::point_zone_t::scratch |
|
privateinherited |
◆ size
integer point_zone::point_zone_t::size = 0 |
|
inherited |
◆ zones
The documentation for this type was generated from the following file: