diff options
Diffstat (limited to 'postpost')
-rwxr-xr-x | postpost/adj_input.post_time | 15 | ||||
-rwxr-xr-x | postpost/adj_input_param | 30 | ||||
-rwxr-xr-x | postpost/adj_input_param_pipe | 29 | ||||
-rwxr-xr-x | postpost/all_eps2pdf | 17 | ||||
-rwxr-xr-x | postpost/all_gnuplot | 18 | ||||
-rwxr-xr-x | postpost/all_idl2eps | 15 | ||||
-rwxr-xr-x | postpost/all_matlab2eps | 42 | ||||
-rw-r--r-- | postpost/bilder_pdf.tex | 71 | ||||
-rw-r--r-- | postpost/bilder_pdf_2schleifen.tex | 80 | ||||
-rw-r--r-- | postpost/bilder_pdf_original.tex | 51 | ||||
-rwxr-xr-x | postpost/bring_all_avis | 17 | ||||
-rwxr-xr-x | postpost/clean | 10 | ||||
-rw-r--r-- | postpost/copie | 270 | ||||
-rwxr-xr-x | postpost/copy_matlab | 17 | ||||
-rwxr-xr-x | postpost/cpinputs | 30 | ||||
-rwxr-xr-x | postpost/del_headings | 33 | ||||
-rwxr-xr-x | postpost/del_tildes | 18 | ||||
-rwxr-xr-x | postpost/finde_wert | 15 | ||||
-rw-r--r-- | postpost/inp.lpi | 397 | ||||
-rwxr-xr-x | postpost/makemovie | 32 | ||||
-rwxr-xr-x | postpost/outputdir_of_inputfile | 9 | ||||
-rw-r--r-- | postpost/plotspectra.gnu | 40 | ||||
-rwxr-xr-x | postpost/postpost | 40 | ||||
-rwxr-xr-x | postpost/status | 122 | ||||
-rwxr-xr-x | postpost/todo | 9 | ||||
-rwxr-xr-x | postpost/unvollstaendig | 25 | ||||
-rwxr-xr-x | postpost/update_input | 475 | ||||
-rwxr-xr-x | postpost/watchdog | 4 |
28 files changed, 1931 insertions, 0 deletions
diff --git a/postpost/adj_input.post_time b/postpost/adj_input.post_time new file mode 100755 index 0000000..d6f60f4 --- /dev/null +++ b/postpost/adj_input.post_time @@ -0,0 +1,15 @@ +#!/bin/sh +# usage: adj_input.post_time input.lpi input.post > modinput.post + +alles=$(grep -c ".*" $2) +ln=0 +for n in $(grep -n "period_stop\|t_stop" $2 | tr ":" " " | awk '{ print $1; }') +do + tail -n$[$alles - $ln] "$2" | head -n$[$n-$ln-1] + ln=$n + grep -n "period_stop\|t_stop" $2 | grep "^$n:" | tr " =:" ": " | awk '{ print $2 " :'$[$(grep "prop_stop" $1 | awk '{ print $3; }')-1]'"; }' | tr ": " " =" +# echo "period_stop = "$[$(grep "prop_stop" $1 | awk '{ print $3; }')-1] +done + +tail -n$[$alles-$ln] "$2" + diff --git a/postpost/adj_input_param b/postpost/adj_input_param new file mode 100755 index 0000000..33137a1 --- /dev/null +++ b/postpost/adj_input_param @@ -0,0 +1,30 @@ +#!/bin/sh +# usage: ./adj_input_param &key name value fromfile > tofile + +alles=$(grep -c ".*" $4) +ln=0 +for n in $(grep -n "$2 " $4 | tr ":" " " | awk '{ print $1; }' | sort -n) +do + if [ ! "$(head -n$n "$4" | grep "^&" | tail -n1)" == "$1" ] + then + continue + fi + tail -n$[$alles - $ln] "$4" | head -n$[$n-$ln-1] + ln=$n + s=$(grep -n "$2" $4 | grep "^$n:") + t=$(echo "$s" | tr "#: " " #" | awk '{ print $2; }') + len=${#t} + t="#"$(echo "$s" | tr "# " " #" | awk '{ print $2; }' | tr "# " " #") + s=$(echo "$s" | tr " =:#" ": " | awk '{print $2 " :'$3'"; }' | tr ": " " =") + while [ ${#s} -lt $len ] + do + s=$s" " + done + echo "$s$t" +## grep -n "$2" $4 | grep "^$n:" | tr " =:#" ": " | awk '{print $2 " :'$3'" "::#"$4; }' | tr ": " " =" +## grep -n "$2 " $4 | grep "^$n:" | tr " =:" ": " | awk '{ print $2 " :'$3'"; }' | tr ": " " =" +## echo "period_stop = "$[$(grep "prop_stop" $1 | awk '{ print $3; }')-1] +done + +tail -n$[$alles-$ln] "$4" + diff --git a/postpost/adj_input_param_pipe b/postpost/adj_input_param_pipe new file mode 100755 index 0000000..76d37bb --- /dev/null +++ b/postpost/adj_input_param_pipe @@ -0,0 +1,29 @@ +#!/bin/sh +# usage: cat fromfile | ./adj_input_param &key name value > tofile + +neof=true +todo=0 +while $neof +do + read s || neof=false + case $todo in + 0) + [ "$s" == "$1" ] && todo=1 + ;; + 1) + if [ $(echo "$s" | grep -c "^ *$2 ") -eq 1 ] + then + echo -ne "$s" | sed "s/=.*$//" + echo -ne "= " + echo -ne "$3" + echo "$s" | sed "s/ *#.*$/\n&/" | tail -n1 + todo=2 + continue + fi + [ $(echo "$s" | grep -c "^&") -eq 1 ] && todo=2 + ;; + 2) + esac + echo "$s" +done + diff --git a/postpost/all_eps2pdf b/postpost/all_eps2pdf new file mode 100755 index 0000000..739a7c4 --- /dev/null +++ b/postpost/all_eps2pdf @@ -0,0 +1,17 @@ +#!/bin/sh + +for t in $1* +do + if [ -e $t ] + then + for s in $t/Post/*.eps + do + if [ -e $s ] + then + echo $s; + epstopdf $s; + fi + done + fi +done + diff --git a/postpost/all_gnuplot b/postpost/all_gnuplot new file mode 100755 index 0000000..2b94f35 --- /dev/null +++ b/postpost/all_gnuplot @@ -0,0 +1,18 @@ +#!/bin/bash + +for t in $1*/Post +do + if [ -e $t ] + then + for s in "ft-fm#p_refl#2 ft-fp#p_trns#8 ft-gm#s_trns#8 ft-gp#s_refl#2" + do + inf=$(echo $s | tr "#" " " | awk '{print $1}') + if [ -e $t/$inf ] + then + echo $t/$inf $s; + directory=$t input=$inf outpart=$(echo $s | tr "#" " " | awk '{print $2}') column=$(echo $s | tr "#" " " | awk '{print $3}') gnuplot plotspectra.gnu + fi + done + fi +done + diff --git a/postpost/all_idl2eps b/postpost/all_idl2eps new file mode 100755 index 0000000..312524c --- /dev/null +++ b/postpost/all_idl2eps @@ -0,0 +1,15 @@ +#!/bin/sh + +for t in $1* +do + if [ -e $t ] + then + if [ -e $t/Post/allidl.pro ] + then + cd $t/Post + idl allidl.pro + cd ../../postpost + fi + fi +done + diff --git a/postpost/all_matlab2eps b/postpost/all_matlab2eps new file mode 100755 index 0000000..889b33a --- /dev/null +++ b/postpost/all_matlab2eps @@ -0,0 +1,42 @@ +#!/bin/sh + +traceprefl="ft-fm-trace_noheadings"; # leftgoing p-pol tracepos 1 +tracesrefl="ft-gp-trace_noheadings"; # leftgoing s-pol tracepos 1 +traceptrns="ft-fp-trace_noheadings"; # rightgoing p-pol tracepos 7 +tracestrns="ft-gm-trace_noheadings"; # rightgoing s-pol tracepos 7 + +commando="exit;"; + +for t in $1* +do + if [ -e $t ] + then + commando=" cd ../../postpost; "$commando; + + if [ -f "$t/Post/$traceprefl" ] + then + commando="a=load('$traceprefl'); plot_spectra(a,1,2,'p_refl',100); "$commando; + fi + + if [ -f "$t/Post/$traceptrns" ] + then + commando="a=load('$traceptrns'); plot_spectra(a,1,8,'p_trns',100); "$commando; + fi + + if [ -f "$t/Post/$tracesrefl" ] + then + commando="a=load('$tracesrefl'); plot_spectra(a,1,2,'s_refl',100); "$commando; + fi + + if [ -f "$t/Post/$tracestrns" ] + then + commando="a=load('$tracestrns'); plot_spectra(a,1,8,'s_trns',100); "$commando; + fi + + commando="cd "$t"/Post/; "$commando; + fi +done + +#export DISPLAY=:0.0 +matlab -nodesktop -nosplash -r "$commando" + diff --git a/postpost/bilder_pdf.tex b/postpost/bilder_pdf.tex new file mode 100644 index 0000000..73cc454 --- /dev/null +++ b/postpost/bilder_pdf.tex @@ -0,0 +1,71 @@ +\documentclass[a4paper]{article} +\usepackage{graphicx} +\usepackage{a4wide} +\usepackage{listings} +\usepackage{forloop} +\begin{document} + +\newcounter{suffix} + +\newcommand{\DDir}{data_2xRampe_try2_\thesuffix} +\newcommand{\DDirP}{data\_2xRampe\_try2\_\thesuffix} + +\section{Inputfile} +\lstinputlisting[breaklines=true]{../data_2xRampe_try2_1/input_2xRampe_try2_1.lpi} + +\newcommand{\includegraphicsIfExists}[3]{\IfFileExists{../\DDir/Post/#1} + { +% \begin{figure} + \includegraphics[width=\textwidth]{../\DDir/Post/#1} \\[-#2cm] + \begin{center} + #3 + \end{center} +% \end{figure} + }{}} + +\newcommand{\inputIfExists}[3]{\IfFileExists{../\DDir/Post/#1} + { +% \begin{figure} + \input{../\DDir/Post/#1} \\[-#2cm] + \begin{center} + #3 + \end{center} +% \end{figure} + }{}} + +\forloop{suffix}{0}{\value{suffix} < 10000} +{ + \IfFileExists{../\DDir/times-1} + { + \newpage + \IfFileExists{../\DDir/Post/titel.tex} + {\input{../\DDir/Post/titel} (\DDirP) \\} + {\section{\DDirP}} + + \includegraphicsIfExists{spacetime-de.pdf}{0}{Elektronendichte} + \includegraphicsIfExists{spacetime-de_breit.pdf}{0}{Elektronendichte breiter} + + \inputIfExists{Spektrum_log_p_refl.tex}{1}{Spektrum\_log\_p-Pol\_refl} + \inputIfExists{Feld_p_refl.tex}{1}{Feld\_p-Pol\_refl} + \inputIfExists{Spektrum_log_p_trns.tex}{1}{Spektrum\_log\_p-Pol\_trns} + \inputIfExists{Feld_p_trns.tex}{1}{Feld\_p-Pol\_trns} + + \inputIfExists{Spektrum_log_s_refl.tex}{1}{Spektrum\_log\_s-Pol\_refl} + \inputIfExists{Feld_s_refl.tex}{1}{Feld\_s-Pol\_refl} + \inputIfExists{Spektrum_log_s_trns.tex}{1}{Spektrum\_log\_s-Pol\_trns} + \inputIfExists{Feld_s_trns.tex}{1}{Feld\_s-Pol\_trns} + +% \includegraphicsIfExists{Spektrum_log_p_refl.pdf}{1}{Spektrum\_log\_p-Pol\_refl} +% \includegraphicsIfExists{Feld_p_refl.pdf}{1}{Feld\_p-Pol\_refl} +% \includegraphicsIfExists{Spektrum_log_p_trns.pdf}{1}{Spektrum\_log\_p-Pol\_trns} +% \includegraphicsIfExists{Feld_p_trns.pdf}{1}{Feld\_p-Pol\_trns} + +% \includegraphicsIfExists{Spektrum_log_s_refl.pdf}{1}{Spektrum\_log\_s-Pol\_refl} +% \includegraphicsIfExists{Feld_s_refl.pdf}{1}{Feld\_s-Pol\_refl} +% \includegraphicsIfExists{Spektrum_log_s_trns.pdf}{1}{Spektrum\_log\_s-Pol\_trns} +% \includegraphicsIfExists{Feld_s_trns.pdf}{1}{Feld\_s-Pol\_trns} + }{} +} + +\end{document} + diff --git a/postpost/bilder_pdf_2schleifen.tex b/postpost/bilder_pdf_2schleifen.tex new file mode 100644 index 0000000..7a80c90 --- /dev/null +++ b/postpost/bilder_pdf_2schleifen.tex @@ -0,0 +1,80 @@ +\documentclass[a4paper]{article} +\usepackage{graphicx} +\usepackage{a4wide} +\usepackage{listings} +\usepackage{forloop} +\usepackage{ifthen} +\begin{document} + +\newcounter{suffix} +\newcounter{dicke} +\newcounter{plm} + +\newcommand{\DDir}{} +\newcommand{\DDirP}{} +\newcommand{\Ueberschrift}{} + +\section{Inputfile} +\lstinputlisting[breaklines=true]{../lpic/input_thomson24_0.lpi} + +\newcommand{\includegraphicsIfExists}[3]{\IfFileExists{../\DDir/Post/#1} + { +% \begin{figure} + \includegraphics[width=\textwidth]{../\DDir/Post/#1} \\[-#2cm] + \begin{center} + #3 + \end{center} +% \end{figure} + }{}} + +\forloop{dicke}{0}{\value{dicke} < 2} +{ + \forloop{plm}{0}{\value{plm} < 2} + { + \ifthenelse{\value{dicke}=0}{ + \ifthenelse{\value{plm}=0}{ + \renewcommand{\DDir}{data_thomson24_04_\thesuffix} + \renewcommand{\DDirP}{data\_thomson24\_04\_\thesuffix} + \renewcommand{\Ueberschrift}{$d=0,4 \mu m \wedge \Delta t = \thesuffix fs$} + }{ + \renewcommand{\DDir}{data_thomson24_04_m\thesuffix} + \renewcommand{\DDirP}{data\_thomson24\_04\_m\thesuffix} + \renewcommand{\Ueberschrift}{$d=0,4 \mu m \wedge \Delta t = -\thesuffix fs$} + } + }{ + \ifthenelse{\value{plm}=0}{ + \renewcommand{\DDir}{data_thomson24_24_\thesuffix} + \renewcommand{\DDirP}{data\_thomson24\_24\_\thesuffix} + \renewcommand{\Ueberschrift}{$d=2,4 \mu m \wedge \Delta t = \thesuffix fs$} + }{ + \renewcommand{\DDir}{data_thomson24_24_m\thesuffix} + \renewcommand{\DDirP}{data\_thomson24\_24\_m\thesuffix} + \renewcommand{\Ueberschrift}{$d=2,4 \mu m \wedge \Delta t = -\thesuffix fs$} + } + } + \forloop{suffix}{0}{\value{suffix} < 1000} + { + \IfFileExists{../\DDir/times-1} + { + \newpage + \section{\Ueberschrift} + + \includegraphicsIfExists{spacetime-de.pdf}{0}{Elektronendichte} + \includegraphicsIfExists{spacetime-de_breit.pdf}{0}{Elektronendichte breiter} + + \includegraphicsIfExists{Spektrum_log_p_refl.pdf}{1}{Spektrum\_log\_p-Pol\_refl} + \includegraphicsIfExists{Feld_p_refl.pdf}{1}{Feld\_p-Pol\_refl} + \includegraphicsIfExists{Spektrum_log_p_trns.pdf}{1}{Spektrum\_log\_p-Pol\_trns} + \includegraphicsIfExists{Feld_p_trns.pdf}{1}{Feld\_p-Pol\_trns} + + \includegraphicsIfExists{Spektrum_log_s_refl.pdf}{1}{Spektrum\_log\_s-Pol\_refl} + \includegraphicsIfExists{Feld_s_refl.pdf}{1}{Feld\_s-Pol\_refl} + \includegraphicsIfExists{Spektrum_log_s_trns.pdf}{1}{Spektrum\_log\_s-Pol\_trns} + \includegraphicsIfExists{Feld_s_trns.pdf}{1}{Feld\_s-Pol\_trns} + }{} + } + } +} + +\end{document} + diff --git a/postpost/bilder_pdf_original.tex b/postpost/bilder_pdf_original.tex new file mode 100644 index 0000000..084f3a7 --- /dev/null +++ b/postpost/bilder_pdf_original.tex @@ -0,0 +1,51 @@ +\documentclass[a4paper]{article} +\usepackage{graphicx} +\usepackage{a4wide} +\usepackage{listings} +\usepackage{forloop} +\begin{document} + +\newcounter{suffix} + +\newcommand{\DDir}{data_winkel_\thesuffix} +\newcommand{\DDirP}{data\_winkel\_\thesuffix} + +\section{Inputfile} +\lstinputlisting[breaklines=true]{../lpic/input_winkel_1.lpi} + +\newcommand{\includegraphicsIfExists}[3]{\IfFileExists{../\DDir/Post/#1} + { +% \begin{figure} + \includegraphics[width=\textwidth]{../\DDir/Post/#1} \\[-#2cm] + \begin{center} + #3 + \end{center} +% \end{figure} + }{}} + +\forloop{suffix}{0}{\value{suffix} < 10000} +{ + \IfFileExists{../\DDir/times-1} + { + \newpage + \IfFileExists{../\DDir/Post/titel.tex} + {\input{../\DDir/Post/titel} (\DDirP) \\} + {\section{\DDirP}} + + \includegraphicsIfExists{spacetime-de.pdf}{0}{Elektronendichte} + \includegraphicsIfExists{spacetime-de_breit.pdf}{0}{Elektronendichte breiter} + + \includegraphicsIfExists{Spektrum_log_p_refl.pdf}{1}{Spektrum\_log\_p-Pol\_refl} + \includegraphicsIfExists{Feld_p_refl.pdf}{1}{Feld\_p-Pol\_refl} + \includegraphicsIfExists{Spektrum_log_p_trns.pdf}{1}{Spektrum\_log\_p-Pol\_trns} + \includegraphicsIfExists{Feld_p_trns.pdf}{1}{Feld\_p-Pol\_trns} + + \includegraphicsIfExists{Spektrum_log_s_refl.pdf}{1}{Spektrum\_log\_s-Pol\_refl} + \includegraphicsIfExists{Feld_s_refl.pdf}{1}{Feld\_s-Pol\_refl} + \includegraphicsIfExists{Spektrum_log_s_trns.pdf}{1}{Spektrum\_log\_s-Pol\_trns} + \includegraphicsIfExists{Feld_s_trns.pdf}{1}{Feld\_s-Pol\_trns} + }{} +} + +\end{document} + diff --git a/postpost/bring_all_avis b/postpost/bring_all_avis new file mode 100755 index 0000000..eb9f1f5 --- /dev/null +++ b/postpost/bring_all_avis @@ -0,0 +1,17 @@ +#!/bin/sh + +for t in $1* +do + if [ -e $t ] + then + for s in $t/Post/*.avi + do + if [ -e $s ] + then + echo $s; + cp "$s" "`basename $t`_`basename $s`"; + fi + done + fi +done + diff --git a/postpost/clean b/postpost/clean new file mode 100755 index 0000000..a8fc648 --- /dev/null +++ b/postpost/clean @@ -0,0 +1,10 @@ +#!/bin/sh + +for t in $1* +do + if [ -e $t ] + then + rm $t/* + fi +done + diff --git a/postpost/copie b/postpost/copie new file mode 100644 index 0000000..51fe8ba --- /dev/null +++ b/postpost/copie @@ -0,0 +1,270 @@ +////////////////////////////////////////////////////////////////////////////////////////// +// +// input for lpic +// +////////////////////////////////////////////////////////////////////////////////////////// + + +&pulse_front +------------------------------------------------------------------------------------------ +Q = 1 # switch ON (Q=1) OFF (Q=0) +amplitude = 0 # dimensionless laser field amplitude +amplitude2 = 8 # dimensionless laser field amplitude, 2nd harmonic +amplitude3 = 0.0 # dimensionless laser field amplitude, 3rd harmonic +phase2 = 0 # 2nd harmonic's phase with respect to fundamental [degree] +phase3 = 0 # 3rd harmonic's phase [degree] + +angle = 45 # in degree +polarization = 2 # s=1, p=2, c=3 +shape = 3 # linear=1, sin=2, sin^2=3 +raise = 6 # pulse raise/fall time in periods +duration = 12 # pulse duration in periods +delay = 0 # propagation delay in cycles +pulse_save = 1 # save pulse shape? yes=1, no=0 +pulse_save_step = 0.004 # time step in periods + + +&pulse_rear +------------------------------------------------------------------------------------------ +Q = 0 # switch ON (Q=1) OFF (Q=0) +amplitude = 0.0 # dimensionless laser field amplitude +amplitude2 = 0.0 # dimensionless laser field amplitude, 2nd harmonic +amplitude3 = 0.0 # dimensionless laser field amplitude, 3rd harmonic +phase2 = 0 # 2nd harmonic's phase with respect to fundamental +phase3 = 0 # 3rd harmonic's phase + +angle = 0 # in degree +polarization = 1 # s=1, p=2, c=3 +shape = 3 # linear=1, sin=2, sin^2=3 +raise = 10 # pulse raise/fall time in periods +duration = 20 # pulse duration in periods +delay = 0 # propagation delay in cycles +pulse_save = 1 # save pulse shape? yes=1, no=0 +pulse_save_step = 0.02 # time step in periods + + +&propagate +------------------------------------------------------------------------------------------ +prop_start = 0 # start time in periods +prop_stop = 30 # stop time in periods + + +&box +------------------------------------------------------------------------------------------ +cells_per_wl = 1000 # cells per wavelength, lab frame +cells = 8000 # total number of cells +cells_left = 4000 # cells vacuum left +cells_plasma = 2000 # occupied cells for cells_ramp=0 +cells_ramp = 200 # linear ramp length (form=0) or righter scale length (form=1 or 2) +cells_ramp_form = 1 # 0 = linear; 1 = exponential; 2=doubleexponential +cells_ramp2 = 10 # lefter scale length (form=2) +cells_rampcut = -50 # max ramplength (<0 <=> disabled) +cells_rampgluepos = 250 # glue-point between the two exp-functions (form=2) ... length of the righter exp-ramp +n_ion_over_nc = 400 # maximum density/critical density +box_save = 1 # save configuration? yes=1, no=0 + + +&electrons +------------------------------------------------------------------------------------------ +fix = 0 # 0->not fixed 1->fixed +ppc = 200 # max. number of MacroParticles per cell +vtherm = 0.0001 # thermal velocity in units of C + + +&ions +------------------------------------------------------------------------------------------ +fix = 1 # 0->not fixed 1->fixed +z = 1 # q/e +m = 50000 # m/m_e +ppc = 200 # max. number of MacroParticles per cell +vtherm = 0.00 # thermal velocity in units of C + + +&output +------------------------------------------------------------------------------------------ +path = ../data_2w3_7 # output path + +&energy + Q = 1 # energy plot? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + t_step = 1 # time step in periods + +&flux + Q = 1 # flux plot? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + t_step = 1 # time step in periods + +&reflex + Q = 1 # reflectivity plot? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + t_step = 1 # time step in periods + +&snapshot + Q = 1 # snapshots? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + t_step = 1 # time step in periods + +&el_phasespace + Q = 0 # phasespace plots? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + t_step = 0.05 # time step in periods + +&ion_phasespace + Q = 0 # phasespace plots? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + t_step = 0.05 # time step in periods + +&el_velocity + Q = 1 # electron velocity distributions? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + t_step = 1 # time step in periods + +&ion_velocity + Q = 1 # ion velocity distributions? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + t_step = 1 # time step in periods + +&de + Q = 1 # electron density plots? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&di + Q = 1 # ion density plots? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&jx + Q = 0 # jx plots? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&jy + Q = 0 # jy plots? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&jz + Q = 0 # jz plots? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&ex + Q = 0 # ex plots? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&ey + Q = 0 # ey plots? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&ez + Q = 0 # ez plots? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&bx + Q = 0 # bx plots? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&by + Q = 0 # by plots? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&bz + Q = 0 # bz plots? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&edens + Q = 1 # field energy density plots? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&traces + Q = 1 # traces? + t_start = 0 # start time in periods + t_stop = 30 # stop time in periods + traces = 7 # of traces at fixed positions x: + t0=2, t1=500, t2=1000, t3=1500, t4=2000, t5=2500, t6=4998 + + +////////////////////////////////////////////////////////////////////////////////////////// + + +&restart +------------------------------------------------------------------------------------------ +Q = 0 # restart from intermediate stage? +file = restart # start file +Q_save = 1 # save intermediate stages periodically? +file_save = restart # save file + + +¶llel +------------------------------------------------------------------------------------------ +N_domains = 1 # number of parallel processes +Q_reo = 1 # periodic reorganizations? +delta_reo = 1 # laser cycles between reo's + + +////////////////////////////////////////////////////////////////////////////////////////// + + +thermal velocity v/c vs. thermal energy [eV] M ( vx^2 + vy^2 + vz^2 ) = 3 k T +------------------------------------------------------------------------------------------ +1e-4 0.005 +3e-4 0.046 +5e-4 0.128 +1e-3 0.511 +4e-3 8.2 +1e-2 51 +2e-2 204 +3e-2 460 +4e-2 818 +4.42e-2 1000 +1e-1 5110 + +choose: v_th/c = (lambda_d/dx) * (omega_p/omega) * (2pi dx/lambda) + :=1 = sqrt(z_ion * n_ion_over_nc) = 2pi/cells_per_wl + +////////////////////////////////////////////////////////////////////////////////////////// + +source p-pol refl. 1 minp-pol refl. 1 maxp-pol refl. 1 p-pol transm. 1 minp-pol transm. 1 maxp-pol transm. 1 +source p-pol refl. 1 minp-pol refl. 1 maxp-pol refl. 1 +source p-pol refl. 1 minp-pol refl. 1 maxp-pol refl. 1 +source p-pol refl. 1 diff --git a/postpost/copy_matlab b/postpost/copy_matlab new file mode 100755 index 0000000..200320a --- /dev/null +++ b/postpost/copy_matlab @@ -0,0 +1,17 @@ +#!/bin/sh + +for t in $1* +do + if [ -e $t/Post ] + then + for u in ./*.m + do + if [ -e $u ] + then + echo $t/Post/`basename $u` + cp `basename $u` $t/Post/ + fi + done + fi +done + diff --git a/postpost/cpinputs b/postpost/cpinputs new file mode 100755 index 0000000..303e2ce --- /dev/null +++ b/postpost/cpinputs @@ -0,0 +1,30 @@ +#!/bin/sh + +for s in $1/lpic* +do + if [ -d "$s" ] + then + for t in $s/* + do + if [ "`basename "$t" ".lpi"`.lpi" = "`basename "$t"`" ] || [ "`basename "$t" ".lpi"`.lpi" = "`basename "$t"`" ] + then + dir=$(basename "$(grep "path" "$t" | awk '{ print $3 }')") + if [ -d "../$dir" ] + then + dir="../$dir" + else + if [ -d "../daten_alt/$dir" ] + then + dir="../daten_alt/$dir" + else + continue + fi + fi + if [ -d "$dir/Post" ] && [ ! -e "$dir/Post/`basename "$t"`" ] + then + cp "$t" "$dir/Post/" + fi + fi + done + fi +done diff --git a/postpost/del_headings b/postpost/del_headings new file mode 100755 index 0000000..0dc4182 --- /dev/null +++ b/postpost/del_headings @@ -0,0 +1,33 @@ +#!/bin/sh + +for t in $1* +do + if [ -e $t ] + then + for u in $t"/Post/*_noheadings" + do + if [ -e $u ] + then + rm $u; + fi + done + fi +done + +for t in $1* +do + if [ -e $t ] + then + for s in $t/Post/ft-* + do + if [ -e $s ] + then + echo $s; + u=$(grep -c . $s); + u=$[$u-1]; + tail -n$u $s > $s"_noheadings"; + fi + done + fi +done + diff --git a/postpost/del_tildes b/postpost/del_tildes new file mode 100755 index 0000000..972a75d --- /dev/null +++ b/postpost/del_tildes @@ -0,0 +1,18 @@ +#!/bin/sh + +for s in $1/* +do + if [ -d "$s" ] + then + $0 $s + fi +done + +for s in $1/*~ +do + if [ -e "$s" ] + then + echo "rm $s" + rm "$s" + fi +done diff --git a/postpost/finde_wert b/postpost/finde_wert new file mode 100755 index 0000000..e3dab77 --- /dev/null +++ b/postpost/finde_wert @@ -0,0 +1,15 @@ +#!/bin/sh + +alles=$(cat "$1" | wc -l) + +for i in $(grep -n "^&$2\( \|$\)" "$1" | tr ":" " " | awk '{ print $1; }') +do + k=$((tail -n$[$alles-$i] $1; echo "&") | grep -n "^&" | head -n1 | tr ":" " " | awk '{ print $1; }') + for j in $(tail -n$[$alles-$i+1] $1 | head -n$k | grep -n "^ *$3\( \|$\)" | tr ":" " " | awk '{ print $1; }') + do + echo $[$j+$i-1] + exit + done +done + +echo 0 diff --git a/postpost/inp.lpi b/postpost/inp.lpi new file mode 100644 index 0000000..4426727 --- /dev/null +++ b/postpost/inp.lpi @@ -0,0 +1,397 @@ +////////////////////////////////////////////////////////////////////////////////////////// +// +// input for lpic +// +////////////////////////////////////////////////////////////////////////////////////////// + + +&pulse_front +------------------------------------------------------------------------------------------ +Q = 1 # switch ON (Q=1) OFF (Q=0) +angle = 45 # in degree +pulse_save = 1 # save pulse shape? yes=1, no=0 +pulse_save_step = 0.0001 # time step in periods + + +&pulse_front_part_0 +------------------------------------------------------------------------------------------ +amplitude = 0 # dimensionless laser field amplitude +polarization = 2 # s=1, p=2, c=3 +shape = 3 # linear=1, sin=2, sin^2=3 +raise = 15 # pulse raise/fall time in periods +duration = 30 # pulse duration in periods +delay = 0 # propagation delay in cycles +phase = 0 # propagation delay in cycles +chirp = 0 # linear chirp (dw/dt) in 2 pi T^-2 +frequency = 1 # frequency in fundamental frequencies + + +&pulse_front_part_1 +------------------------------------------------------------------------------------------ +amplitude = 5 # dimensionless laser field amplitude, 2nd harmonic +polarization = 2 # s=1, p=2, c=3 +raise = 15 # pulse raise/fall time in periods +duration = 30 # pulse duration in fundamental periods +shape = 3 # linear=1, sin=2, sin^2=3 +phase = 0 # 2nd harmonic's phase with respect to fundamental [degree] +chirp = 0 # linear chirp (dw/dt) in 2 pi T^-2 +frequency = 2 # frequency in fundamental frequencies +delay = 0 # delay of 2nd harmonic envelope with respect to main envelope + + +&pulse_front_part_2 +------------------------------------------------------------------------------------------ +amplitude = 0.0 # dimensionless laser field amplitude, 3rd harmonic +polarization = 2 # s=1, p=2, c=3 +raise = 15 # pulse raise/fall time in periods +duration = 30 # pulse duration in fundamental periods +shape = 3 # linear=1, sin=2, sin^2=3 +phase = 0 # 3rd harmonic's phase [degree] +chirp = 0 # linear chirp (dw/dt) in 2 pi T^-2 +frequency = 3 # frequency in fundamental frequencies +delay = 0 # delay of 3rd harmonic envelope with respect to main envelope + + +&pulse_front_part_3 +------------------------------------------------------------------------------------------ +amplitude = 0.1 # dimensionless laser field amplitude, nth harmonic +polarization = 1 # s=1, p=2, c=3 +raise = 0.31954069 # pulse raise/fall time in periods +duration = 0.63908137 # pulse duration in fundamental periods +shape = 3 # linear=1, sin=2, sin^2=3 +phase = 0 # nth harmonic's phase [degree] +chirp = -4445.9584 # linear chirp (dw/dt) in 2 pi T^-2 +delay = 15 # delay of nth harmonic envelope with respect to main envelope +frequency = 64.516129 # frequency of nth harmonic in fundamental frequencies + + +&pulse_rear +------------------------------------------------------------------------------------------ +Q = 0 # switch ON (Q=1) OFF (Q=0) + +angle = 0 # in degree +pulse_save = 1 # save pulse shape? yes=1, no=0 +pulse_save_step = 0.02 # time step in periods + + +&pulse_rear_part_0 +------------------------------------------------------------------------------------------ +amplitude = 0.0 # dimensionless laser field amplitude +polarization = 1 # s=1, p=2, c=3 +shape = 3 # linear=1, sin=2, sin^2=3 +raise = 10 # pulse raise/fall time in periods +duration = 20 # pulse duration in periods +delay = 0 # propagation delay in cycles +phase = 0 # propagation delay in cycles +chirp = 0 # linear chirp (dw/dt) in 2 pi T^-2 +frequency = 1 # frequency in fundamental frequencies + + +&pulse_rear_part_1 +------------------------------------------------------------------------------------------ +amplitude = 0.0 # dimensionless laser field amplitude, 2nd harmonic +polarization = 2 # s=1, p=2, c=3 +raise = 15 # pulse raise/fall time in periods +duration = 30 # pulse duration in fundamental periods +shape = 3 # linear=1, sin=2, sin^2=3 +phase = 0 # 2nd harmonic's phase with respect to fundamental +chirp = 0 # linear chirp (dw/dt) in 2 pi T^-2 +frequency = 2 # frequency in fundamental frequencies +delay = 0 # delay of 2nd harmonic envelope with respect to main envelope + + +&pulse_rear_part_2 +------------------------------------------------------------------------------------------ +amplitude = 0.0 # dimensionless laser field amplitude, 3rd harmonic +polarization = 2 # s=1, p=2, c=3 +raise = 15 # pulse raise/fall time in periods +duration = 30 # pulse duration in fundamental periods +shape = 3 # linear=1, sin=2, sin^2=3 +phase = 0 # 3rd harmonic's phase +chirp = 0 # linear chirp (dw/dt) in 2 pi T^-2 +frequency = 3 # frequency in fundamental frequencies +delay = 0 # delay of 3rd harmonic envelope with respect to main envelope + + +&pulse_rear_part_3 +------------------------------------------------------------------------------------------ +amplitude = 0.0 # dimensionless laser field amplitude, nth harmonic +polarization = 2 # s=1, p=2, c=3 +raise = 15 # pulse raise/fall time in periods +duration = 30 # pulse duration in fundamental periods +shape = 3 # linear=1, sin=2, sin^2=3 +phase = 0 # nth harmonic's phase [degree] +chirp = 0 # linear chirp (dw/dt) in 2 pi T^-2 +delay = 0 # delay of nth harmonic envelope with respect to main envelope +frequency = 14.0 # frequency of nth harmonic in fundamental frequencies + + +&propagate +------------------------------------------------------------------------------------------ +prop_start = 0 # start time in periods +prop_stop = 40 # stop time in periods + + +&box +------------------------------------------------------------------------------------------ +cells_per_wl = 1000 # cells per wavelength, lab frame +cells = 16200 # total number of cells +cells_left = 3500 # cells vacuum left +cells_plasma = 12500 # occupied cells for cells_ramp=0 +cells_rampgluepos = 250 # glue-point between the two exp-functions (form=2) ... length of the righter exp-ramp +n_ion_over_nc = 196 # maximum density/critical density +ux0 = 0.0 # initial momentum in x-direction +box_save = 1 # save configuration? yes=1, no=0 + + +&lramp +------------------------------------------------------------------------------------------ +length = 0 # linear ramp length (form=0) or righter scale length (form=1 or 2) +form = 1 # 0 = linear; 1 = exponential; 2=doubleexponential +cutoff = -50 # max ramplength (<0 <=> disabled) +gluepos = 250 # glue-point between the two exp-functions (form=2) ... length of the righter exp-ramp +middens = 0.5 # density of the constant portion in the middle (form=3) in fractions of ni +length2 = 0 # lefter scale length (form=2) + + +&rramp +------------------------------------------------------------------------------------------ +length = 0 # cells in the linear ramp region (form=0) or scalelength +form = 0 # 0 = linear; 1 = exponential +length2 = 100 # righter scale length (form=2) +cutoff = -1 # max ramplength (<0 <=> disabled) +gluepos = 250 # glue-point between the two exp-functions (form=2) ... length of the lefter exp-ramp +middens = 0.5 # density of the constant portion in the middle (form=3) in fractions of ni + + +&electrons +------------------------------------------------------------------------------------------ +fix = 0 # 0->not fixed 1->fixed +ppc = 200 # max. number of MacroParticles per cell +vtherm = 0.000 # thermal velocity in units of C + + +&ions +------------------------------------------------------------------------------------------ +fix = 1 # 0->not fixed 1->fixed +z = 1 # q/e +m = 50000 # m/m_e +ppc = 200 # max. number of MacroParticles per cell +vtherm = 0.00 # thermal velocity in units of C + + +&output +------------------------------------------------------------------------------------------ +path = ../data_Thomsonstreaking_1_1 # output path + +&energy + Q = 1 # energy plot? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + t_step = 1 # time step in periods + +&flux + Q = 1 # flux plot? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + t_step = 1 # time step in periods + +&reflex + Q = 1 # reflectivity plot? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + t_step = 1 # time step in periods + +&snapshot + Q = 1 # snapshots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + t_step = 1 # time step in periods + +&el_phasespace + Q = 0 # phasespace plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + t_step = 0.05 # time step in periods + +&ion_phasespace + Q = 0 # phasespace plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + t_step = 0.05 # time step in periods + +&el_velocity + Q = 1 # electron velocity distributions? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + t_step = 1 # time step in periods + +&ion_velocity + Q = 1 # ion velocity distributions? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + t_step = 1 # time step in periods + +&de + Q = 1 # electron density plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&di + Q = 1 # ion density plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&jx + Q = 0 # jx plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&jy + Q = 0 # jy plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&jz + Q = 0 # jz plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&ex + Q = 0 # ex plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&ey + Q = 1 # ey plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&ez + Q = 1 # ez plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&bx + Q = 0 # bx plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&by + Q = 1 # by plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&bz + Q = 1 # bz plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&etx +------------------------------------------------------------------------------------------ + Q = 0 # thermal x-energy plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + + +&ety +------------------------------------------------------------------------------------------ + Q = 0 # thermal y-energy plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + + +&etz +------------------------------------------------------------------------------------------ + Q = 0 # thermal z-energy plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + + +&edens + Q = 1 # field energy density plots? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + x_start = 0 # left boundary in cells + x_stop = 100000 # right boundary in cells + +&traces + Q = 1 # traces? + t_start = 0 # start time in periods + t_stop = 60 # stop time in periods + traces = 22 # of traces at fixed positions x: + t0 =2, t1=3400, t2=3410,t3=3420, t4=3430, t5=3440, t6=3450, t7=3460; t8=3470, t9=3480, t10=3490, t11=3500, t12=3510, t13=3520, t14=3530, t15=3540, t16=3550, t17=3560, t18=3570, t19=3580, t20=3590, t21=3600 + + +////////////////////////////////////////////////////////////////////////////////////////// + + +&restart +------------------------------------------------------------------------------------------ +Q = 0 # restart from intermediate stage? +file = restart # start file +Q_save = 1 # save intermediate stages periodically? +file_save = restart # save file + + +¶llel +------------------------------------------------------------------------------------------ +N_domains = 1 # number of parallel processes +Q_reo = 1 # periodic reorganizations? +delta_reo = 1 # laser cycles between reo's + + +////////////////////////////////////////////////////////////////////////////////////////// + + +#thermal velocity v/c vs. thermal energy [eV] M ( vx^2 + vy^2 + vz^2 ) = 3 k T +#------------------------------------------------------------------------------------------ +#1e-4 0.005 +#3e-4 0.046 +#5e-4 0.128 +#1e-3 0.511 +#4e-3 8.2 +#1e-2 51 +#2e-2 204 +#3e-2 460 +#4e-2 818 +#4.42e-2 1000 +#1e-1 5110 +# +#choose: v_th/c = (lambda_d/dx) * (omega_p/omega) * (2pi dx/lambda) +# :=1 = sqrt(z_ion * n_ion_over_nc) = 2pi/cells_per_wl + +////////////////////////////////////////////////////////////////////////////////////////// + +#source p-pol refl. 1 minp-pol refl. 1 maxp-pol refl. 1 p-pol transm. 1 minp-pol transm. 1 maxp-pol transm. 1 +#source p-pol refl. 1 minp-pol refl. 1 maxp-pol refl. 1 +#source p-pol refl. 1 minp-pol refl. 1 maxp-pol refl. 1 +#source p-pol refl. 1 diff --git a/postpost/makemovie b/postpost/makemovie new file mode 100755 index 0000000..de68c99 --- /dev/null +++ b/postpost/makemovie @@ -0,0 +1,32 @@ +#!/bin/sh + +for s in $1* +do + if [ -e $s ] + then + for koord in x y z + do + for i in 0 1 + do + for t in $s/Post/frame_phase$koord-sp$i-*.eps + do + if [ -e $t ] + then + u=$s/Post/`basename $t .eps` + echo $u.eps + convert $u.eps -colorspace RGB -type truecolor $u.jpg + rm $u.eps + fi + done + if [ `ls -l $s/Post/ | grep -c frame_phase$koord-sp$i-.*jpg` -gt 0 ] + then + echo generating movie $s/Post/phase$koord-sp$i.avi + mencoder mf://$s/Post/frame_phase$koord-sp$i-*.jpg -mf w=1133:h=1133:fps=20:type=jpg -ovc copy -oac copy -o $s/Post/phase$koord-sp$i.avi + rm $s/Post/frame_phase$koord-sp$i-*.jpg + fi + done + done + fi +done + + diff --git a/postpost/outputdir_of_inputfile b/postpost/outputdir_of_inputfile new file mode 100755 index 0000000..58c3ea4 --- /dev/null +++ b/postpost/outputdir_of_inputfile @@ -0,0 +1,9 @@ +#!/bin/sh + +read s +while [ ! "$s" = "" ] +do + grep "path" "$s" | awk '{ print $3; }' + read s +done + diff --git a/postpost/plotspectra.gnu b/postpost/plotspectra.gnu new file mode 100644 index 0000000..66e66e4 --- /dev/null +++ b/postpost/plotspectra.gnu @@ -0,0 +1,40 @@ +set terminal epslatex +set decimalsign "," + +dir=system("echo $directory") +infile=system("echo $input") +outpart=system("echo $outpart") +clmn=system("echo $column") + +#print dir +#print infile +#print outpart +#print clmn + +set output sprintf("%s/Feld_%s.tex",dir,outpart) +reset +set title sprintf("%s (%s)",system("echo $outpart | tr \"_\" \" \""),system("echo $input | tr \"_\" \" \"")) +set size .9,.9 +set format x "$%g$" +set xlabel "$t$ in $T$" +set xrange [0:*] +set yrange [*:*] +set ylabel "whatever" +set xtics out +set ytics 1 out +plot sprintf("%s/%s-trace",dir,infile) every ::1 using 1:clmn with lines lt 1 notitle + +set output sprintf("%s/Spektrum_log_%s.tex",dir,outpart) +reset +set title sprintf("%s (%s)",system("echo $outpart | tr \"_\" \" \""),system("echo $input | tr \"_\" \" \"")) +set size .9,.9 +set format x "$%g$" +set xlabel "$\\omega$ in $\\omega_0$" +set xrange [0:80] +set yrange [10**-10:1] +set ylabel "whatever" +set logscale y +set xtics out +set ytics 10**-2 out +plot sprintf("%s/%s",dir,infile) every ::1 using 1:clmn with lines lt 1 notitle + diff --git a/postpost/postpost b/postpost/postpost new file mode 100755 index 0000000..4e924ee --- /dev/null +++ b/postpost/postpost @@ -0,0 +1,40 @@ +#!/bin/sh + +echo all_idl2eps $1 +./all_idl2eps $1 +echo "... done" + +echo makemovie $1 +./makemovie $1 +echo "... done" + +# endlich überflüssig! Ersatz: gnuplot +#echo copy_matlab $1 ... +#./copy_matlab $1 +#echo "... done" + +#echo del_headings $1 +#./del_headings $1 +#echo "... done" + +# ebenfalls endlich überflüssig! Ersatz: gnuplot +#echo all_matlab2eps $1 +#./all_matlab2eps $1 +#echo "... done" + +echo all_gnuplot $1 +./all_gnuplot $1 +echo "... done" + +echo all_eps2pdf $1 +./all_eps2pdf $1 +echo "... done" + +echo pdflatex bilder_pdf.tex +pdflatex bilder_pdf.tex +echo "... done" + +echo bring_all_avis $1 +./bring_all_avis $1 +echo "... done" + diff --git a/postpost/status b/postpost/status new file mode 100755 index 0000000..dc84525 --- /dev/null +++ b/postpost/status @@ -0,0 +1,122 @@ +#!/bin/sh + +printsizes=false +printload=false +printnames=true +for s in $* +do + if [ $s = "-v" ] || [ $s = "--verbose" ] + then + printsizes=true; + printload=true; + fi + if [ $s = "-s" ] || [ $s = "--size" ] + then + printsizes=true; + fi + if [ $s = "-l" ] || [ $s = "--load" ] + then + printload=true; + fi + if [ $s = "-n" ] || [ $s = "--no-name" ] + then + printnames=false; + fi + if [ $s = "-h" ] || [ $s = "--help" ] + then + echo "Usage:" + echo "$0 directory [-s|-l|-h|-v]" + echo + echo "-v|--verbose print also directory-sizes and CPU-load" + echo "-s|--size print also directory-sizes" + echo "-l|--load print also CPU-load" + echo "-n|--no-name don't print names of lost processes" + echo "-h|--help print this help" + exit 0; + fi +done + +Verz=`dirname $1` +Name=`basename $1` + +finished=`find $1* -name times* | grep -c . ` +total=`ls -1 $Verz | grep -c $Name` +running=`ps -A | grep -c lpic` +queued=`grep -c "cd /home/simulation/lpic-1.3.1/lpic; ./lpic" ../../jobcontrol/todolist` + +if [ $total = 1 ] +then + echo $finished of $total process correct finished +else + echo $finished of $total processes correct finished +fi + +if [ $running = 1 ] +then + echo $running process still running +else + echo $running processes still running +fi + +if [ $queued = 1 ] +then + echo $queued process queued +else + echo $queued processes queued +fi + +if [ $(($running + $finished + $queued - $total)) -ne 0 ] +then + echo + echo "*********************************************************" + echo "* *" + echo "* There's at least one not correct finished process! *" + echo "* *" + echo "*********************************************************" + if $printnames + then + echo + echo "The bad guys are:" + for s in `ls -1 $Verz | grep $Name` + do + istokay=false + if [ "$(ls -1 "$Verz/$s" | grep -c "times")" = "1" ] || [ "$(ps -eo args | grep "\./lpic" | grep -v "grep" | awk '{ print "lpic/"$2; }' | awk '{ print "../"$1; }' | ./outputdir_of_inputfile | grep -c "$Verz/$s" )" = "1" ] + then + istokay=true + continue + fi + for t in $(grep "cd /home/simulation/lpic-1.3.1/lpic; ./lpic" ../../jobcontrol/todolist) + do + if [ -e "../lpic/$t" ] && [ ! "$t" = "./lpic" ] + then + if [ "$(echo "../lpic/$t" | ./outputdir_of_inputfile | grep -c "$Verz/$s")" = "1" ] + then + istokay=true + break + fi + fi + done + if ! $istokay + then + echo " "$Verz/$s" ... das ist "$(grep -l "$Verz/$s" ../lpic/input*); + fi + done + fi +fi + +echo +df -hP 2> /dev/null | grep "/home\$" | awk '{ print $3 " of " $2 " used (" $4 " free, " $ 5 " occupied)" }' +echo +if $printload +then + ps -eo stime,time,pcpu,size,args | grep "\./lpic" | grep -v grep | awk '{ mem = int($4/1024); print "\"" $6 "\" since " $1 " (" $2 " time, " mem "MB used) " $3 "% load" }' | grep -v "(00:00:00 time," + echo +fi +if $printsizes +then + echo "Verzeichnisgrößen" + echo "-------------------" + du -hs $1* + echo +fi + diff --git a/postpost/todo b/postpost/todo new file mode 100755 index 0000000..dd5587d --- /dev/null +++ b/postpost/todo @@ -0,0 +1,9 @@ +#!/bin/sh + +for s in $* +do + if [ ! -e $s/Post ] + then + echo $s; + fi +done diff --git a/postpost/unvollstaendig b/postpost/unvollstaendig new file mode 100755 index 0000000..9327541 --- /dev/null +++ b/postpost/unvollstaendig @@ -0,0 +1,25 @@ +#!/bin/sh + +for s in $1/* +do + if [ -d "$s" ] + then + if [ ! -d "$s/Post" ] + then + echo "Post: "$s + else + if [ ! -e "$s/Post/ft-fm" ] || [ ! -e "$s/Post/ft-fp" ] + then + echo -ne "ft: "$s + for t in $s/Post/input*.lpi* + do + if [ ! -e "$t" ] + then + echo -ne " ******" + fi + done + echo + fi + fi + fi +done diff --git a/postpost/update_input b/postpost/update_input new file mode 100755 index 0000000..6a3c414 --- /dev/null +++ b/postpost/update_input @@ -0,0 +1,475 @@ +#!/bin/sh + +# update_input input.lpi input.lpi.save + +path="$(dirname $0)" + +# neuer Wert: +# okey -> Name des Schlüssels +# obam -> Name des neuen Wertes +# olin -> einzufügende Zeile +# obnam -> Name des darüberliegenden Wertes + +okey[0]="lramp" +onam[0]="form" +olin[0]="form = 0 # 0 = linear; 1 = exponential" +obnam[0]="length" + +okey[1]="lramp" +onam[1]="length" +olin[1]="length = 0 # cells in the linear ramp region (form=0) or scalelength" +obnam[1]="------------------------------------------------------------------------------------------" + +okey[2]="lramp" +onam[2]="length2" +olin[2]="length2 = 100 # lefter scale length (form=2)" +obnam[2]="form" + +okey[3]="lramp" +onam[3]="cutoff" +olin[3]="cutoff = -1 # max ramplength (<0 <=> disabled)" +obnam[3]="length2" + +okey[4]="lramp" +onam[4]="gluepos" +olin[4]="gluepos = 250 # glue-point between the two exp-functions (form=2) ... length of the righter exp-ramp" +obnam[4]="cutoff" + +okey[5]="rramp" +onam[5]="length" +olin[5]="length = 0 # cells in the linear ramp region (form=0) or scalelength" +obnam[5]="------------------------------------------------------------------------------------------" + +okey[6]="rramp" +onam[6]="form" +olin[6]="form = 0 # 0 = linear; 1 = exponential" +obnam[6]="length" + +okey[7]="rramp" +onam[7]="length2" +olin[7]="length2 = 100 # righter scale length (form=2)" +obnam[7]="form" + +okey[8]="rramp" +onam[8]="cutoff" +olin[8]="cutoff = -1 # max ramplength (<0 <=> disabled)" +obnam[8]="length2" + +okey[9]="rramp" +onam[9]="gluepos" +olin[9]="gluepos = 250 # glue-point between the two exp-functions (form=2) ... length of the lefter exp-ramp" +obnam[9]="cutoff" + +okey[10]="box" +onam[10]="ux0" +olin[10]="ux0 = 0.0 # initial momentum in x-direction" +obnam[10]="n_ion_over_nc" + +okey[11]="etx" +onam[11]="Q" +olin[11]=" Q = 0 # thermal x-energy plots?" +obnam[11]="------------------------------------------------------------------------------------------" + +okey[12]="etx" +onam[12]="t_start" +olin[12]=" t_start = 0 # start time in periods" +obnam[12]="Q" + +okey[13]="etx" +onam[13]="t_stop" +olin[13]=" t_stop = 60 # stop time in periods" +obnam[13]="t_start" + +okey[14]="etx" +onam[14]="x_start" +olin[14]=" x_start = 0 # left boundary in cells" +obnam[14]="t_stop" + +okey[15]="etx" +onam[15]="x_stop" +olin[15]=" x_stop = 100000 # right boundary in cells" +obnam[15]="x_start" + +okey[16]="ety" +onam[16]="Q" +olin[16]=" Q = 0 # thermal y-energy plots?" +obnam[16]="------------------------------------------------------------------------------------------" + +okey[17]="ety" +onam[17]="t_start" +olin[17]=" t_start = 0 # start time in periods" +obnam[17]="Q" + +okey[18]="ety" +onam[18]="t_stop" +olin[18]=" t_stop = 60 # stop time in periods" +obnam[18]="t_start" + +okey[19]="ety" +onam[19]="x_start" +olin[19]=" x_start = 0 # left boundary in cells" +obnam[19]="t_stop" + +okey[20]="ety" +onam[20]="x_stop" +olin[20]=" x_stop = 100000 # right boundary in cells" +obnam[20]="x_start" + +okey[21]="etz" +onam[21]="Q" +olin[21]=" Q = 0 # thermal z-energy plots?" +obnam[21]="------------------------------------------------------------------------------------------" + +okey[22]="etz" +onam[22]="t_start" +olin[22]=" t_start = 0 # start time in periods" +obnam[22]="Q" + +okey[23]="etz" +onam[23]="t_stop" +olin[23]=" t_stop = 60 # stop time in periods" +obnam[23]="t_start" + +okey[24]="etz" +onam[24]="x_start" +olin[24]=" x_start = 0 # left boundary in cells" +obnam[24]="t_stop" + +okey[25]="etz" +onam[25]="x_stop" +olin[25]=" x_stop = 100000 # right boundary in cells" +obnam[25]="x_start" + +okey[26]="lramp" +onam[26]="middens" +olin[26]="middens = 0.5 # density of the constant portion in the middle (form=3) in fractions of ni" +obnam[26]="gluepos" + +okey[27]="rramp" +onam[27]="middens" +olin[27]="middens = 0.5 # density of the constant portion in the middle (form=3) in fractions of ni" +obnam[27]="gluepos" + +for i in 0 1 +do + if [ ${i} -eq 0 ] + then + s="front" + else + s="rear" + fi + for j in 0 1 2 3 + do + okey[28+36*${i}+9*${j}]="pulse_${s}_part_${j}" + onam[28+36*${i}+9*${j}]="amplitude" + olin[28+36*${i}+9*${j}]="amplitude = 0 # dimensionless laser field amplitude" + obnam[28+36*${i}+9*${j}]="Q" + + okey[28+1+36*${i}+9*${j}]="pulse_${s}_part_${j}" + onam[28+1+36*${i}+9*${j}]="polarization" + olin[28+1+36*${i}+9*${j}]="polarization = 2 # s=1, p=2, c=3" + obnam[28+1+36*${i}+9*${j}]="amplitude" + + okey[28+2+36*${i}+9*${j}]="pulse_${s}_part_${j}" + onam[28+2+36*${i}+9*${j}]="shape" + olin[28+2+36*${i}+9*${j}]="shape = 3 # linear=1, sin=2, sin^2=3" + obnam[28+2+36*${i}+9*${j}]="polarization" + + okey[28+3+36*${i}+9*${j}]="pulse_${s}_part_${j}" + onam[28+3+36*${i}+9*${j}]="raise" + olin[28+3+36*${i}+9*${j}]="raise = 15 # pulse raise/fall time in periods" + obnam[28+3+36*${i}+9*${j}]="polarization" + + okey[28+4+36*${i}+9*${j}]="pulse_${s}_part_${j}" + onam[28+4+36*${i}+9*${j}]="duration" + olin[28+4+36*${i}+9*${j}]="duration = 30 # pulse duration in fundamental periods" + obnam[28+4+36*${i}+9*${j}]="raise" + + okey[28+5+36*${i}+9*${j}]="pulse_${s}_part_${j}" + onam[28+5+36*${i}+9*${j}]="delay" + olin[28+5+36*${i}+9*${j}]="delay = 0 # propagation delay in cycles" + obnam[28+5+36*${i}+9*${j}]="duration" + + okey[28+6+36*${i}+9*${j}]="pulse_${s}_part_${j}" + onam[28+6+36*${i}+9*${j}]="phase" + olin[28+6+36*${i}+9*${j}]="phase = 0 # propagation delay in cycles" + obnam[28+6+36*${i}+9*${j}]="delay" + + okey[28+7+36*${i}+9*${j}]="pulse_${s}_part_${j}" + onam[28+7+36*${i}+9*${j}]="chirp" + olin[28+7+36*${i}+9*${j}]="chirp = 0 # linear chirp (dw/dt) in 2 pi T^-2" + obnam[28+7+36*${i}+9*${j}]="phase" + + okey[28+8+36*${i}+9*${j}]="pulse_${s}_part_${j}" + onam[28+8+36*${i}+9*${j}]="frequency" + olin[28+8+36*${i}+9*${j}]="frequency = $[${j}+1] # frequency in fundamental frequencies" + obnam[28+8+36*${i}+9*${j}]="chirp" + done +done + +# Neuer Schlüssel: +# nkey -> Name des neuen Schlüssels +# nakey -> Name des folgenden Schlüssels + +nkey[0]="&rramp" +nakey[0]="&electrons" + +nkey[1]="&lramp" +nakey[1]="&rramp" + +nkey[2]="&etz" +nakey[2]="&edens" + +nkey[3]="&ety" +nakey[3]="&etz" + +nkey[4]="&etx" +nakey[4]="&ety" + +s="&pulse_rear" +for i in 3 2 1 0 +do + nakey[$[8-${i}]]="$s" + s="&pulse_front_part_${i}" + nkey[$[8-${i}]]="$s" +done + +s="&propagate" +for i in 3 2 1 0 +do + nakey[$[12-${i}]]="$s" + s="&pulse_rear_part_${i}" + nkey[$[12-${i}]]="$s" +done + +# umzuziehende Werte: +# toky -> alter Schlüssel +# tnky -> neuer Schlüssel +# tonm -> alter Name +# tnnm -> neuer Name +# tnonm -> Name des über der neuen Position liegenden Wertes + +toky[0]="box" +tnky[0]="lramp" +tonm[0]="cells_ramp" +tnnm[0]="length " +tnonm[0]="------------------------------------------------------------------------------------------" + +toky[1]="box" +tnky[1]="lramp" +tonm[1]="cells_ramp_form" +tnnm[1]="form " +tnonm[1]="length" +twarn[1]="For form=0 the ramp now starts (consistently with form>=1) at cells_left with maximal density! You need to subtract &lramp -> length manually from &box -> cells_left" + +toky[2]="box" +tnky[2]="lramp" +tonm[2]="cells_ramp2" +tnnm[2]="length2 " +tnonm[2]="form" + +toky[3]="box" +tnky[3]="lramp" +tonm[3]="cells_rampcut" +tnnm[3]="cutoff " +tnonm[3]="form" + +toky[4]="box" +tnky[4]="lramp" +tonm[4]="cells_gluepos" +tnnm[4]="gluepos " +tnonm[4]="cutoff" + +for i in 0 1 +do + if [ $i -eq 0 ] + then + s="front" + else + s="rear" + fi + + j=0 + for t in "delay" "duration" "raise" "shape" "polarization" "amplitude" + do + toky[5+16*${i}+${j}]="pulse_${s}" + tnky[5+16*${i}+${j}]="pulse_${s}_part_0" + tonm[5+16*${i}+${j}]="${t}" + tnnm[5+16*${i}+${j}]="${t}" + tnonm[5+16*${i}+${j}]="------------------------------------------------------------------------------------------" + j=$[${j}+1] + done + + toky[5+6+16*${i}]="pulse_${s}" + tnky[5+6+16*${i}]="pulse_${s}_part_3" + tonm[5+6+16*${i}]="seedfrequency" + tnnm[5+6+16*${i}]="frequency" + tnonm[5+6+16*${i}]="------------------------------------------------------------------------------------------" + + k=1 + l=0 + for j in "2" "3" "n" + do + for t in "delay" "phase" "amplitude" + do + toky[5+7+16*${i}+${l}]="pulse_${s}" + tnky[5+7+16*${i}+${l}]="pulse_${s}_part_${k}" + tonm[5+7+16*${i}+${l}]="${t}${j}" + tnnm[5+7+16*${i}+${l}]="${t}" + tnonm[5+7+16*${i}+${l}]="------------------------------------------------------------------------------------------" + l=$[${l}+1] + done + k=$[${k}+1] + done +done + +t1=0 +while [ -e "tmp$t1" ] +do + t1=$[$t1+1] +done +t2=$[$t1+1] +t1="tmp"$t1 +while [ -e "tmp$t2" ] +do + t2=$[$t2+1] +done +t2="tmp"$t2 + +cp $1 $t1 +mv $1 $2 + + # einfügen neuer Schlüssel +for i in {0..12} +do + if [ "$(grep -c "^${nkey[$i]}" $t1)" = "0" ] + then + alles=$(grep -c ".*" $t1) + stelle=$[$(grep -n "^${nakey[$i]}" $t1 | tr ":" " " | awk '{print $1}')-1] + head -n${stelle} $t1 > $t2 + echo "${nkey[$i]}" >> $t2 + echo "------------------------------------------------------------------------------------------" >> $t2 + echo "" >> $t2 + echo "" >> $t2 + tail -n$[$alles-$stelle] $t1 >> $t2 + rm $t1 + mv $t2 $t1 + fi + echo -ne "." +done + + # umziehen umzuziehender Werte +for i in {0..36} +do + if [ "$(${path}/finde_wert $t1 ${tnky[$i]} ${tnnm[$i]})" = "0" ] && [ "$(${path}/finde_wert $t1 ${toky[$i]} ${tonm[$i]})" != "0" ] + then + alles=$(grep -c ".*" $t1) + astelle=$(${path}/finde_wert $t1 ${toky[$i]} ${tonm[$i]}) + nstelle=$(${path}/finde_wert $t1 ${tnky[$i]} ${tnonm[$i]}) + zeile="$(head -n$astelle $t1 | tail -n1 | sed "s/${tonm[$i]}/${tnnm[$i]}/")" + if [ $astelle -lt $nstelle ] + then + head -n$[${astelle}-1] $t1 > $t2 + head -n${nstelle} $t1 | tail -n$[${nstelle}-${astelle}] >> $t2 + echo "${zeile}" >> $t2 + tail -n$[$alles-$nstelle] $t1 >> $t2 + else + head -n${nstelle} $t1 > $t2 + echo "${zeile}" >> $t2 + head -n$[${astelle}-1] $t1 | tail -n$[${astelle}-${nstelle}-1] >> $t2 + tail -n$[$alles-$astelle] $t1 >> $t2 + fi + rm $t1 + mv $t2 $t1 + if [ "${twarn[$i]}" != "" ] + then + echo + echo "Warning: ${twarn[$i]}" + fi + fi + echo -ne "." +done + + # einfügen neuer Werte +for i in {0..99} +do + if [ "$(${path}/finde_wert $t1 ${okey[$i]} ${onam[$i]})" == "0" ] + then + alles=$(grep -c ".*" $t1) + stelle=$(${path}/finde_wert $t1 ${okey[$i]} ${obnam[$i]}) + head -n${stelle} $t1 > $t2 + echo "${olin[$i]}" >> $t2 + tail -n$[$alles-$stelle] $t1 >> $t2 + rm $t1 + mv $t2 $t1 + fi + echo -ne "." +done + + # Ende auskommentieren +alles=$(grep -c ".*" $t1) +stelle=$(grep -n "^#\{0,1\}thermal velocity v/c vs. thermal energy" $t1 | sed "s/:.*$//" | tail -n1) +head -n$[${stelle} - 1] $t1 > $t2 +tail -n$[${alles} - ${stelle} + 1] $t1 | sed "s/^/#/" | sed "s/^##/#/" | sed "s/^#\/\//\/\//" | sed "s/^#$//" >> $t2 +mv $t2 $t1 + +# =s ausrichten +minpos=$( +for s in $(grep "^[^#]*=" $t1 | sed "s/ *=.*$//" | sort -u | tr " " "_") +do + echo ${#s} +done | sort -n | tail -n1) + +alles=$(grep -c ".*" $t1) +i=1 +while [ ${i} -le ${alles} ] +do + s="$(head -n${i} $t1 | tail -n1)" + if [ $(echo "$s" | grep -c "^[^=#]*=") -eq 1 ] + then + t="$(echo "$s" | sed "s/ *=.*$//")" + while [ ${#t} -lt ${minpos} ] + do + t="${t} " + done + echo "$t =$(echo "$s" | sed "s/^[^=]*=//")" >> $t2 + else + echo "$s" >> $t2 + fi + i=$[${i}+1] + echo -ne "." +done +mv $t2 $t1 + +# #s ausrichten +minpos=$( +for s in $(grep "^[^#][^#]*#" $t1 | sed "s/ *#.*$//" | sort -u | tr " " "_") +do + echo ${#s} +done | sort -n | tail -n1) + +alles=$(grep -c ".*" $t1) +i=1 +while [ ${i} -le ${alles} ] +do + s="$(head -n${i} $t1 | tail -n1)" + if [ $(echo "$s" | grep -c "^[^#][^#]*#") -eq 1 ] + then + t="$(echo "$s" | sed "s/ *#.*$//")" + while [ ${#t} -lt ${minpos} ] + do + t="${t} " + done + echo "$t #$(echo "$s" | sed "s/^[^#]*#//")" >> $t2 + else + echo "$s" >> $t2 + fi + i=$[${i}+1] + echo -ne "." +done +echo + +mv $t2 $t1 + +mv $t1 $1 + diff --git a/postpost/watchdog b/postpost/watchdog new file mode 100755 index 0000000..676f3f3 --- /dev/null +++ b/postpost/watchdog @@ -0,0 +1,4 @@ +#!/bin/sh + +watch -n3 ./status $1 + |