Go to the documentation of this file.
54 info_entry(
"flow_init")
74 if (
jind(i,j).eq.0) cycle
76 if (.not.
jind(j,i).eq.0) cycle
87 info_exit(
"flow_init")
112 real(
r_kind),
dimension(:),
intent(in) :: y
115 info_entry(
"flowcalc")
132 if (
jind(i,j).eq.0) cycle
134 if (.not.
jind(j,i).eq.0) cycle
145 if (
jind(j,i).eq.0)
then
156 info_exit(
"flowcalc")
210 real(
r_kind),
intent(in) :: t
211 real(
r_kind),
intent(in) :: t9
212 real(
r_kind),
intent(in) :: dens
213 real(
r_kind),
dimension(:),
intent(in) :: abu
214 integer,
intent(in) :: cnt
220 character*50 :: flowfile
221 real(
r_kind) :: y_ini, y_ino, flow_diff
223 info_entry(
"flowprint")
227 write(flowfile,
'(a16,i1,a4)')
'flow/flow_000',cnt,
'.dat'
229 write(flowfile,
'(a15,i2,a4)')
'flow/flow_00',cnt,
'.dat'
231 write(flowfile,
'(a14,i3,a4)')
'flow/flow_0',cnt,
'.dat'
233 write(flowfile,
'(a13,i4,a4)')
'flow/flow_',cnt,
'.dat'
237 write(flowunit,
'(3a8)')
'time',
'temp',
'dens'
238 write(flowunit,
'(3es23.14)')t,t9,dens
239 write(flowunit,
'(7(a8))')
'nin',
'zin',
'yin',
'nout',
'zout',
'yout',&
252 if (abu(ini) .ne. 0.) y_ini = max(1.d-99,abu(ini))
253 if (abu(ino) .ne. 0.) y_ino = max(1.d-99,abu(ino))
254 if (flow_diff .ne. 0.) flow_diff = max(1.d-99,
flows(i)%fwd -
flows(i)%bwd)
256 if (flow_diff .ne. 0)
then
257 write(flowunit,
'(2(2i4,es23.14),es23.14)') &
258 nucin%n_nr,nucin%p_nr,y_ini, &
259 nucout%n_nr,nucout%p_nr,y_ino, &
266 info_exit(
"flowprint")
real(r_kind), dimension(:), allocatable, public vals
contains non-zero matrix elements (of the Jacobian)
integer, public ipro
index of alphas, neutrons and protons
Flow type to store flows.
type(flow_vector), dimension(:), allocatable, public flows
subroutine, public flowprint(t, t9, dens, abu, cnt)
Output reaction flows to a file.
data fields for the nuclides contained in the network
subroutine, private flowsort
Bring flows to correct format.
type(isotope_type), dimension(:), allocatable, public isotope
all nuclides used in the network
integer, dimension(:,:), allocatable, public jind
jind(i,j) contains the index of jacobian entry in vals
subroutine, public flowcalc(Y)
Flow calculation from jacobian. It is calculated with the help of the Jacobian.
integer, public net_size
total number of isotopes (network size)
Provide some basic file-handling routines.
Contains subroutines for sparse matrix assembly and the solver core.
subroutine, public flow_init()
Initialise flow subroutine.
Provides subroutines to calculate reaction flows.
integer function, public open_outfile(file_name)
Shorthand for opening a new file for writing (output file)
Contains types and objects shared between multiple modules.
subroutine, public close_io_file(unit_no, file_name)
Close an external file.