Defines a dirichlet boundary condition.  
 | 
| type   | dirichlet_t | 
|   | Generic Dirichlet boundary condition \( x = g \) on \(\partial \Omega\).  More...
  | 
|   | 
 | 
| subroutine  | dirichlet_init (this, coef, json) | 
|   | Constructor from JSON.  
  | 
|   | 
| subroutine  | dirichlet_init_from_components (this, coef, g) | 
|   | Constructor from components.  
  | 
|   | 
| subroutine  | dirichlet_apply_scalar (this, x, n, time, strong) | 
|   | Boundary condition apply for a generic Dirichlet condition to a vector x.  
  | 
|   | 
| subroutine  | dirichlet_apply_vector (this, x, y, z, n, time, strong) | 
|   | Boundary condition apply for a generic Dirichlet condition to vectors x, y and z.  
  | 
|   | 
| subroutine  | dirichlet_apply_scalar_dev (this, x_d, time, strong, strm) | 
|   | Boundary condition apply for a generic Dirichlet condition to a vector x (device version)  
  | 
|   | 
| subroutine  | dirichlet_apply_vector_dev (this, x_d, y_d, z_d, time, strong, strm) | 
|   | Boundary condition apply for a generic Dirichlet condition to vectors x, y and z (device version)  
  | 
|   | 
| subroutine  | dirichlet_set_g (this, g) | 
|   | Set value of \( g \).  
  | 
|   | 
| subroutine  | dirichlet_free (this) | 
|   | Destructor.  
  | 
|   | 
| subroutine  | dirichlet_finalize (this, only_facets) | 
|   | Finalize.  
  | 
|   | 
◆ dirichlet_apply_scalar()
  
  
      
        
          | subroutine dirichlet::dirichlet_apply_scalar  | 
          ( | 
          class(dirichlet_t), intent(inout)  | 
          this,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(n), intent(inout)  | 
          x,  | 
         
        
           | 
           | 
          integer, intent(in)  | 
          n,  | 
         
        
           | 
           | 
          type(time_state_t), intent(in), optional  | 
          time,  | 
         
        
           | 
           | 
          logical, intent(in), optional  | 
          strong  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ dirichlet_apply_scalar_dev()
  
  
      
        
          | subroutine dirichlet::dirichlet_apply_scalar_dev  | 
          ( | 
          class(dirichlet_t), intent(inout), target  | 
          this,  | 
         
        
           | 
           | 
          type(c_ptr), intent(inout)  | 
          x_d,  | 
         
        
           | 
           | 
          type(time_state_t), intent(in), optional  | 
          time,  | 
         
        
           | 
           | 
          logical, intent(in), optional  | 
          strong,  | 
         
        
           | 
           | 
          type(c_ptr), intent(inout)  | 
          strm  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ dirichlet_apply_vector()
  
  
      
        
          | subroutine dirichlet::dirichlet_apply_vector  | 
          ( | 
          class(dirichlet_t), intent(inout)  | 
          this,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(n), intent(inout)  | 
          x,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(n), intent(inout)  | 
          y,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(n), intent(inout)  | 
          z,  | 
         
        
           | 
           | 
          integer, intent(in)  | 
          n,  | 
         
        
           | 
           | 
          type(time_state_t), intent(in), optional  | 
          time,  | 
         
        
           | 
           | 
          logical, intent(in), optional  | 
          strong  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ dirichlet_apply_vector_dev()
  
  
      
        
          | subroutine dirichlet::dirichlet_apply_vector_dev  | 
          ( | 
          class(dirichlet_t), intent(inout), target  | 
          this,  | 
         
        
           | 
           | 
          type(c_ptr), intent(inout)  | 
          x_d,  | 
         
        
           | 
           | 
          type(c_ptr), intent(inout)  | 
          y_d,  | 
         
        
           | 
           | 
          type(c_ptr), intent(inout)  | 
          z_d,  | 
         
        
           | 
           | 
          type(time_state_t), intent(in), optional  | 
          time,  | 
         
        
           | 
           | 
          logical, intent(in), optional  | 
          strong,  | 
         
        
           | 
           | 
          type(c_ptr), intent(inout)  | 
          strm  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ dirichlet_finalize()
◆ dirichlet_free()
◆ dirichlet_init()
- Parameters
 - 
  
    | [in] | coef | The SEM coefficients.  | 
    | [in,out] | json | The JSON object configuring the boundary condition.  | 
  
   
Definition at line 72 of file dirichlet.f90.
 
 
◆ dirichlet_init_from_components()
- Parameters
 - 
  
    | [in] | coef | The SEM coefficients.  | 
    | [in] | g | The value to apply at the boundary.  | 
  
   
Definition at line 87 of file dirichlet.f90.
 
 
◆ dirichlet_set_g()