Project x onto X, the space of old solutions and back again.  
More...
 | 
| subroutine  | projection_init (this, n, l, activ_step) | 
|   | 
| subroutine  | projection_free (this) | 
|   | 
| subroutine  | projection_pre_solving (this, b, tstep, coef, n, dt_controller, string) | 
|   | 
| subroutine  | projection_post_solving (this, x, ax, coef, bclst, gs_h, n, tstep, dt_controller) | 
|   | 
| subroutine  | bcknd_project_on (this, b, coef, n) | 
|   | 
| subroutine  | bcknd_project_back (this, x, ax, coef, bclst, gs_h, n) | 
|   | 
| subroutine  | cpu_project_on (this, b, coef, n) | 
|   | 
| subroutine  | device_project_on (this, b, coef, n) | 
|   | 
| subroutine  | device_proj_ortho (this, xx_d, bb_d, w_d, n) | 
|   | 
| subroutine  | cpu_proj_ortho (this, xx, bb, w, n) | 
|   | 
| subroutine  | print_proj_info (this, string) | 
|   | 
| subroutine  | bcknd_clear (this, n) | 
|   | 
- Note
 - In this code we assume that the matrix project for the pressure Ax does not vary in time. 
 
 
◆ bcknd_clear()
◆ bcknd_project_back()
  
  
      
        
          | subroutine projection::bcknd_project_back  | 
          ( | 
          class(projection_t)  | 
          this,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(n), intent(inout)  | 
          x,  | 
         
        
           | 
           | 
          class(ax_t), intent(inout)  | 
          ax,  | 
         
        
           | 
           | 
          class(coef_t), intent(inout)  | 
          coef,  | 
         
        
           | 
           | 
          class(bc_list_t), intent(inout)  | 
          bclst,  | 
         
        
           | 
           | 
          type(gs_t), intent(inout)  | 
          gs_h,  | 
         
        
           | 
           | 
          integer, intent(inout)  | 
          n  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ bcknd_project_on()
◆ cpu_proj_ortho()
  
  
      
        
          | subroutine projection::cpu_proj_ortho  | 
          ( | 
          type(projection_t)  | 
          this,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(n, this%l), intent(inout)  | 
          xx,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(n, this%l), intent(inout)  | 
          bb,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(n), intent(inout)  | 
          w,  | 
         
        
           | 
           | 
          integer, intent(inout)  | 
          n  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ cpu_project_on()
◆ device_proj_ortho()
◆ device_project_on()
◆ print_proj_info()
◆ projection_free()
◆ projection_init()
      
        
          | subroutine projection::projection_init  | 
          ( | 
          class(projection_t), intent(inout), target  | 
          this,  | 
        
        
           | 
           | 
          integer, intent(in)  | 
          n,  | 
        
        
           | 
           | 
          integer, intent(in), optional  | 
          l,  | 
        
        
           | 
           | 
          integer, intent(in), optional  | 
          activ_step  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ projection_post_solving()
  
  
      
        
          | subroutine projection::projection_post_solving  | 
          ( | 
          class(projection_t), intent(inout)  | 
          this,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(n), intent(inout)  | 
          x,  | 
         
        
           | 
           | 
          class(ax_t), intent(inout)  | 
          ax,  | 
         
        
           | 
           | 
          class(coef_t), intent(inout)  | 
          coef,  | 
         
        
           | 
           | 
          class(bc_list_t), intent(inout)  | 
          bclst,  | 
         
        
           | 
           | 
          type(gs_t), intent(inout)  | 
          gs_h,  | 
         
        
           | 
           | 
          integer, intent(inout)  | 
          n,  | 
         
        
           | 
           | 
          integer, intent(in)  | 
          tstep,  | 
         
        
           | 
           | 
          type(time_step_controller_t), intent(in)  | 
          dt_controller  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ projection_pre_solving()
  
  
      
        
          | subroutine projection::projection_pre_solving  | 
          ( | 
          class(projection_t), intent(inout)  | 
          this,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(n), intent(inout)  | 
          b,  | 
         
        
           | 
           | 
          integer, intent(in)  | 
          tstep,  | 
         
        
           | 
           | 
          class(coef_t), intent(inout)  | 
          coef,  | 
         
        
           | 
           | 
          integer, intent(inout)  | 
          n,  | 
         
        
           | 
           | 
          type(time_step_controller_t), intent(in)  | 
          dt_controller,  | 
         
        
           | 
           | 
          character(len=*), optional  | 
          string  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   |