Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/elmerice/examples/Inverse_Methods/MacAyeal_SSA/RUN.sh
3206 views
1
#!/bin/bash
2
3
# you can choose to run serial or parallel:
4
## here is the number of partitions
5
NP=1
6
7
# make mesh
8
ElmerGrid 1 2 mesh2D
9
##
10
if [ $NP -gt 1 ]
11
then
12
ElmerGrid 2 2 mesh2D -metis $NP
13
fi
14
15
# compile required USFs
16
make
17
18
# Parameters
19
lambda='0.0e00 1.0e03 1.0e04 1.0e05 5.0e05 1.0e06 5.0e06 1.0e07 5.0e07 1.0e08 1.0e09 1.0e10 1.0e11'
20
DATAFILE="..\/DATA\/MacAyeal_VELOCITIES_NOISE.txt"
21
22
rm -rf LCurve.dat
23
24
# loop over reg. coefs.
25
c=0
26
for i in $lambda
27
do
28
c=$((c+1))
29
30
echo $i
31
# get .sif file
32
NAME=OPT_"$c"
33
sed "s/<Lambda>/"$i"/g;s/<NAME>/$NAME/g;s/<OBS_FILE>/$DATAFILE/g" SIF/OPTIM.sif > OPTIM_$c.sif
34
35
# run
36
echo OPTIM_$c.sif > ELMERSOLVER_STARTINFO
37
if [ $NP -gt 1 ]
38
then
39
mpirun -np 2 ElmerSolver_mpi
40
else
41
ElmerSolver
42
fi
43
44
# post process
45
python ../SCRIPTS/MakeReport.py $NAME
46
echo $(tail -n 1 Cost_"$NAME".dat | awk '{print $3}') $(tail -n 1 CostReg_"$NAME".dat | awk '{print $2}') $i >> LCurve.dat
47
done
48
49