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)  
  | 
|   | 
| type(mask_t)  | mask | 
|   | List of linear indices of the GLL points in the zone.  
  | 
|   | 
| 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 70 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
 - 
  
    | 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 64 of file point_zone.f90.
 
 
◆ map()
- Parameters
 - 
  
    | dof | Dofmap of points to go through.  | 
  
   
Definition at line 73 of file point_zone.f90.
 
 
◆ finalized
◆ internal_zones
◆ invert
  
  
      
        
          | logical point_zone::point_zone_t::invert = .false. | 
         
       
   | 
  
inherited   | 
  
 
 
◆ mask
  
  
      
        
          | type(mask_t) point_zone::point_zone_t::mask | 
         
       
   | 
  
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: