LCOV - code coverage report
Current view: top level - types - types_field.F90 (source / functions) Hit Total Coverage
Test: combined.info Lines: 4 5 80.0 %
Date: 2019-09-08 04:53:50 Functions: 1 3 33.3 %

          Line data    Source code
       1             : !--------------------------------------------------------------------------------
       2             : ! Copyright (c) 2016 Peter Grünberg Institut, Forschungszentrum Jülich, Germany
       3             : ! This file is part of FLEUR and available as free software under the conditions
       4             : ! of the MIT license as expressed in the LICENSE file in more detail.
       5             : !--------------------------------------------------------------------------------
       6             : 
       7             : MODULE m_types_field
       8             :   !*************************************************************
       9             :   !     This module contains definitions for electric and magnetic field -types
      10             :   !*************************************************************
      11             :   PRIVATE
      12             :   REAL,TARGET::sigma=0.0
      13             :   TYPE t_efield
      14             :      REAL    :: zsigma  = 10.0  ! Distance to the charged plates
      15             :      REAL,POINTER    :: sigma   ! charge at the plates
      16             :      REAL    :: sig_b(2)=  0.0  ! Extra charge for the top/bottom plate
      17             :      COMPLEX :: vslope  =  0.0  ! Dirichlet bnd. cond.: Slope
      18             :      REAL,    ALLOCATABLE :: sigEF(:,:,:) ! (nx, ny, nvac)
      19             :      COMPLEX, ALLOCATABLE :: rhoEF(:,:)   ! (g_||, nvac)
      20             :      COMPLEX, ALLOCATABLE :: C1(:), C2(:) ! Coeff. for Dirichlet bnd.cond.
      21             :      LOGICAL :: l_segmented = .FALSE.
      22             :      LOGICAL :: plot_charge = .FALSE. ! Plot charge as inputted
      23             :      LOGICAL :: plot_rho    = .FALSE. ! Plot Fourier-transformed charge
      24             :      LOGICAL :: autocomp    = .TRUE.  ! Auto-compensate film charge
      25             :      LOGICAL :: dirichlet = .FALSE. ! Dirichlet vs. Neumann boundary cond.
      26             :      LOGICAL :: l_dirichlet_coeff = .FALSE. ! For MPI, true if C1/C2 set
      27             :      LOGICAL :: l_eV =.FALSE. !Input in eV
      28             :      CHARACTER(len=50),ALLOCATABLE :: shapes(:)
      29             :   END TYPE t_efield
      30             : 
      31             :   TYPE t_field
      32             :      TYPE(t_efield)   :: efield
      33             :      LOGICAL          :: l_b_field=.false.
      34             :      REAL             :: b_field
      35             :      REAL,ALLOCATABLE :: b_field_mt(:)
      36             :    CONTAINS
      37             :      PROCEDURE :: init=>init_field
      38             :   END TYPE t_field
      39             : 
      40             :   PUBLIC t_field,t_efield
      41             : CONTAINS
      42          76 :   SUBROUTINE init_field(this,input)
      43             :     USE m_types_setup
      44             :     IMPLICIT NONE
      45             :     CLASS(t_field),INTENT(INOUT)::this
      46             :     TYPE(t_input),INTENT(INOUT) ::input
      47          76 :     input%sigma => sigma
      48          76 :     this%efield%sigma=>sigma
      49          76 :   END SUBROUTINE init_field
      50           0 : END MODULE m_types_field

Generated by: LCOV version 1.13