-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathB1_Core_mod.f90
41 lines (37 loc) · 1.3 KB
/
B1_Core_mod.f90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
! ----------------------------------------------------------------------
! Programmer(s): Yutong CHEN @XJTU, MER Dr. Konstantin MIKITYUK @PSI
! ----------------------------------------------------------------------
!
! A module for defining ...
!
! ----------------------------------------------------------------------
module Core_mod
!======= Inclusions =========
use Correlate_mod
!======= Declarations =========
implicit none
type :: Core
!======= Member Variables =========
real(c_double) :: power0 ! initial core power
real(c_double) :: lambda ! decay constant (1/s)
real(c_double) :: beta ! delayed neutron fraction
real(c_double) :: life ! prompt neutron lifetime
real(c_double) :: power ! real time core power
contains
!======= Member Procedures ========
! constructor when core power is governed by pointkinetics
procedure :: init_core_pkcore
end type Core
contains
subroutine init_core_pkcore(self, lambda, beta, life)
!======= Declarations =========
implicit none
!== I/O variables ==
class(Core), intent(inout) :: self
real(c_double) :: lambda, beta, life
!======= Internals ============
self%lambda = lambda
self%beta = beta
self%life = life
end subroutine init_core_pkcore
end module Core_mod