// Switches between bleaching/recovery and writes concentration to file.
proc advance() { local i, cylinderVolume, FraRec, FraBasic, recoveryBleaching
fadvance()
FraRec = 0
FraBasic = 0
if (t % (iterationTime*2) == iterationTime) {
// Recovery just started
recoveryBleaching = 1
} else if (t % (iterationTime*2) == 0) {
// Bleaching just started
recoveryBleaching = 2
} else {
// In process
recoveryBleaching = 0
}
for i = 0, frapLineSectionsSize-1 {
frapLineSections[i].sec {
cylinderVolume = L*PI*diam^2/4
FraRec += frapioni(0.5)*cylinderVolume
FraBasic += cylinderVolume
// Change Alpha for all sections in line
if (recoveryBleaching == 1) {
// Recovering every iterationTime
Alpha_FRAP = 0
} else if (recoveryBleaching == 2) {
// Bleaching every other iterationTime
Alpha_FRAP = AlphaFRAP*BasicFRAP
}
}
}
fileFrapLineConcentration.printf("%-6.5g\t%-6.5g\n", t, FraRec/FraBasic)
if (t < tstop) {
if (recoveryBleaching == 1) {
fileFrapLineConcentration.printf("----- RECOVERY STARTED -----\n")
} else if (recoveryBleaching == 2) {
fileFrapLineConcentration.printf("----- BLEACHING STARTED -----\n")
}
}
}