My Project
Data Types | Functions/Subroutines | Variables
particle_class Module Reference

Data Types

interface  operator(<)
 
interface  operator(==)
 
type  particle
 

Functions/Subroutines

logical function less_than_particle (particle_1, particle_2)
 
logical function equal_to_particle (particle_1, particle_2)
 
subroutine screen_write (p, hprint)
 
subroutine shift_pos (p)
 
subroutine particle_print (p)
 
subroutine zero_out (p)
 
subroutine new_particles (P, i)
 
subroutine create_mpi_particle
 

Variables

integer, parameter number_of_floats = 26
 
integer, parameter number_of_scalars = 5
 
integer mpi_particle
 

Function/Subroutine Documentation

◆ create_mpi_particle()

subroutine particle_class::create_mpi_particle ( )

Definition at line 217 of file particle.f90.

217  USE mod_par
218  IMPLICIT NONE

◆ equal_to_particle()

logical function particle_class::equal_to_particle ( type(particle), intent(in)  particle_1,
type(particle), intent(in)  particle_2 
)

Definition at line 120 of file particle.f90.

120  type(particle), intent(in) :: particle_1
121  type(particle), intent(in) :: particle_2
122  logical :: Boolean
123  boolean = particle_1%id == particle_2%id

◆ less_than_particle()

logical function particle_class::less_than_particle ( type(particle), intent(in)  particle_1,
type(particle), intent(in)  particle_2 
)

Definition at line 113 of file particle.f90.

113  type(particle), intent(in) :: particle_1
114  type(particle), intent(in) :: particle_2
115  logical :: Boolean
116  boolean = particle_1%id < particle_2%id

◆ new_particles()

subroutine particle_class::new_particles ( type(particle), dimension(:), intent(inout), allocatable  P,
integer, intent(in)  i 
)

Definition at line 200 of file particle.f90.

200  implicit none
201  integer, intent(in) :: i
202  type(particle), allocatable, intent(inout) :: p(:)
203  integer :: status, J
204 
205  allocate(p(i),stat=status)
206  if(status/=0) CALL fatal_error("NEW_PARTICLE: COULD NOT ALLOCATE?")
207 
208 
209  DO j=1,i
210  call zero_out(p(j))
211  END DO
212 
Here is the call graph for this function:

◆ particle_print()

subroutine particle_class::particle_print ( type(particle), intent(in)  p)

Definition at line 147 of file particle.f90.

147  type(particle), intent(in) :: p
148 ! type(particle), pointer :: p
149  write(ipt,*)
150  write(ipt,*)'id: ',p%id
151  write(ipt,*)'processor: ',p%pid
152  write(ipt,*)'element: ',p%elem
153  write(ipt,*)'group: ',p%group
154  write(ipt,*)'tbeg: ',p%tbeg
155  write(ipt,*)'tend: ',p%tend
156  write(ipt,*)'x: ',p%x
157  write(ipt,*)'xn: ',p%xn
158  write(ipt,*)'el: ',p%el
159  write(ipt,*)'h: ',p%h
160  write(ipt,*)'u: ',p%u
161  write(ipt,*)'v: ',p%v
162  write(ipt,*)'w: ',p%w
163  write(ipt,*)'zloc: ',p%zloc
164  write(ipt,*)'s: ',p%s
165  write(ipt,*)'chi1 ',p%chi(:,1)
166  write(ipt,*)'chi2 ',p%chi(:,2)
167  write(ipt,*)'chi3 ',p%chi(:,3)
168  write(ipt,*)'chi4 ',p%chi(:,4)
169  write(ipt,*)'deltat ',p%deltat
170  write(ipt,*)'pathlength ',p%pathlength
integer ipt
Definition: mod_main.f90:922
Here is the caller graph for this function:

◆ screen_write()

subroutine particle_class::screen_write ( type(particle), intent(in)  p,
logical, intent(in)  hprint 
)

Definition at line 127 of file particle.f90.

127  type(particle), intent(in) :: p
128  logical, intent(in) :: hprint
129  if(hprint)then
130  write(ipt,*)'id group x y z elem pid'
131  endif
132  write(ipt,'(2I5,3F10.2,I8,2I5)')p%id,p%group,p%x,p%elem,p%pid
integer ipt
Definition: mod_main.f90:922
Here is the caller graph for this function:

◆ shift_pos()

subroutine particle_class::shift_pos ( type(particle), intent(inout)  p)

Definition at line 136 of file particle.f90.

136  type(particle), intent(inout) :: p
137  p%xn = p%x
Here is the caller graph for this function:

◆ zero_out()

subroutine particle_class::zero_out ( type(particle), intent(inout)  p)

Definition at line 175 of file particle.f90.

175  implicit none
176  type(particle), intent(inout) :: p
177 
178  ! SET VALUES
179  p%id = 0
180  p%pid = 0
181  p%group = 0
182  p%elem = 0
183  p%tbeg = zerotime
184  p%tend = zerotime
185  p%x = 0.0_sp
186  p%xn = 0.0_sp
187  p%el = 0.0_sp
188  p%u = 0.0_sp
189  p%v = 0.0_sp
190  p%w = 0.0_sp
191  p%zloc = 0.0_sp
192  p%s = 0.0_sp
193  p%chi = 0.0_sp
194  p%deltat = 0.0
195  p%pathlength = 0.0
196  p%found = .false.
type(time) zerotime
Definition: mod_main.f90:830
Here is the caller graph for this function:

Variable Documentation

◆ mpi_particle

integer particle_class::mpi_particle

Definition at line 103 of file particle.f90.

103  INTEGER MPI_PARTICLE

◆ number_of_floats

integer, parameter particle_class::number_of_floats = 26

Definition at line 55 of file particle.f90.

55  integer, parameter :: number_of_floats = 26

◆ number_of_scalars

integer, parameter particle_class::number_of_scalars = 5

Definition at line 56 of file particle.f90.

56  integer, parameter :: number_of_scalars = 5