1234567891011121314151617181920212223242526272829303132333435 |
- #!/bin/bash
- if [ $# != 3 ]; then
- echo "Usage: $0 g lgr lgc" >&2
- exit 1
- fi
- g=$1
- lgr=$2
- lgc=$3
- n=$((g<<lgr))
- gdir="g${g}_lgr${lgr}_lgc${lgc}_n${n}"
- mlow=0
- mhigh=$((n/5))
- runm() {
- m=$1
- h=$((n-m))
- mdir="m${m}_h${h}"
- ./run_m $g $lgr $lgc $m
- # Find the lowest b0 reported
- grep FINAL ${gdir}/${mdir}/k*.out | cut -d' ' -f2 | cut -d= -f2 | sort -n | head -1
- }
- while [ $((mhigh > $((mlow+1)) && (mhigh-mlow)*100 > mhigh)) = 1 ]; do
- mmid=$(((mhigh + mlow)/2))
- b0mid=$(runm $mmid)
- echo $mmid $b0mid
- if [ $b0mid \< 0.25 ]; then
- mlow=$mmid
- else
- mhigh=$mmid
- fi
- done
- echo $mlow > ${gdir}/m.out
|