summaryrefslogtreecommitdiff
path: root/triso_study_driver.sh
blob: 17d1ee91ebff721cd0ee269c7153c70f154f57de (plain)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/bash

if [[ $1 == "lcl" ]]; then
    prog=(openmc-inst01.py hpmr.py -l -g $2 -e)
elif [[ $1 == "nolcl" ]]; then
    prog=(./hpmr.py -g $2 -e)
else
    echo "Error: first CLI input must be [lcl/nolcl], and second [pin/ass/core]. Example usage:"
    echo "    ./triso_study_driver.sh lcl pin  (run pin-level on LCL)"
    exit -1
fi

mkdir -p results/ results/rpt results/rrpt
touch results/rpt_table results/rrpt_table
echo "\#" $(date) > results/rpt_table
echo "\#" $(date) > results/rrpt_table

# 1. Basic calculation without homogenization
echo "Running explicit TRISO calculation..."
"${prog[@]}" -t none > results/explicit.out
keff=$(cat results/explicit.out| grep "Combined k-effective" | cut -d "=" -f 2 | cut -d "+" -f 1)
pm=$(cat results/rpt/explicit.out | grep "Combined k-effective" | cut -d "=" -f 2 | cut -d "-" -f 2)
echo Found $keff +/- $pm for explicit!

# 2. VWH calculation
echo "Running VWH homogenization calculation..."
"${prog[@]}" -t vwh > results/vwh.out
keff=$(cat results/vwh.out| grep "Combined k-effective" | cut -d "=" -f 2 | cut -d "+" -f 1)
pm=$(cat results/rpt/vwh.out | grep "Combined k-effective" | cut -d "=" -f 2 | cut -d "-" -f 2)
echo Found $keff +/- $pm for VWH!

# 3. RPT
# 0.025 step size -> 21 iterations
for rad in $(seq 0.65 0.025 1.15); do
    echo Running RPT with $rad cm...
    "${prog[@]}" -t rpt -r $rad > results/rpt/$rad.out
    keff=$(cat results/rpt/$rad.out | grep "Combined k-effective" | cut -d "=" -f 2 | cut -d "+" -f 1)
    pm=$(cat results/rpt/$rad.out | grep "Combined k-effective" | cut -d "=" -f 2 | cut -d "-" -f 2)
    md5=$(cat results/rpt/$rad.out | grep "MD5:" | cut -d ":" -f 2 | sed "s/ //g")
    echo Found $keff +/- $pm for RPT with r=$rad cm...
    echo $rad $keff $pm $(hostname) $md5 \($(date)\) >> results/rpt_table
done

# 4. RRPT
# 0.025 step size -> 35 iterations
for rad in $(seq 0.1 0.025 0.95); do
    echo Running RRPT with $rad cm...
    "${prog[@]}" -t rrpt -r $rad > results/rrpt/$rad.out
    keff=$(cat results/rrpt/$rad.out | grep "Combined k-effective" | cut -d "=" -f 2 | cut -d "+" -f 1)
    pm=$(cat results/rrpt/$rad.out | grep "Combined k-effective" | cut -d "=" -f 2 | cut -d "-" -f 2)
    md5=$(cat results/rrpt/$rad.out | grep "MD5:" | cut -d ":" -f 2 | sed "s/ //g")
    echo Found $keff +/- $pm for RRPT with r=$rad cm...
    echo $rad $keff $pm $(hostname) $md5 \($(date)\) >> results/rrpt_table
done