ph700-jet15 - Centre for Astrophysics and Planetary Science

advertisement
1
PH700 Projects 2015/16
Prof Michael D. Smith
Centre for Astrophysics & Planetary Science
University of Kent
THIS IS A DRAFT FOR 2015-16
THE EXACT STUDIES ARE TO BE DEFINED. EG. STUDY MACH NUMBER, DENSITY,
PULSES, SHEAR, OPENING ANGLE. ……….
THE PLUTO CODE COMPILATION NEEDS TO BE CHECKED, AND THE IDL FILES ALSO
BUT TRY TO GAIN SOME BACKGROUND ………..AND LET ME KNOW YOUR PROGRESS
Towards a resolution of a burning issue in Astrophysics, from the fields of solar system, galactic
or extragalactic astronomy.
Recent problems between observational data and theory provide a rich source of issues to be
investigated. This project will focus on a specific phenomenom of high interest and motivation,
in one of extragalactic astronomy, galactic astronomy, or solar system astronomy. The study will
begin with a review of recent publications which address the issue and an evaluation of possible
solutions. To achieve this, all major physical processes involved will be understood in depth and
detail. Then, data will be obtained from an appropriate source and analysed in order to generate,
in an original way, fresh evidence for or against the available solutions. The study will then
consider new or hybrid solutions before considering how these can be tested. The relevance of
new ground-based telescopes or space missions will be discussed.
Supermassive black holes in the nucleus feed back energy into the galaxy and intergalactic
medium when they are being feed i.e. when they are active. They may control the formation of
the entire galaxy. They do this by forming the largest entities in the Universe: Radio galaxies.
Radio galaxies are driven and supplied by twin channels called jets. So, to understand our
Universe, we need to understand how jets operate, amongst other things.
Radio galaxies: what shapes them? What determines their different structures? How do they
evolve?
This project investigates some of the fundamental properties of jets. We take the simplest form
which still has not been thoroughly studied. Non-relativistic, adiabatic hydrodynamics. The jets
are injected from a small ‘nozzle’ from one side of a cylindrical region. We use cylindrical
coordinates and assume axial symmetry, so we have the two dimensions to consider: the
distance along the cylinder and the distance away from the axis.
YOU WILL NEED THE PLUTO CODE
The pluto code project (computational fluid dynamics/MHD).
http://plutocode.ph.unito.it/
http://plutocode.ph.unito.it/files/userguide.pdf
YOU WILL NEED IDL software. This runs on all platforms, OS,
You will need to make an appointment with Dr Mark Price to get the software installed
on your laptop. That is easiest since you can then work on the code anywhere..
email: mcp2@star.kent.ac.uk
Alternatively you can gain a UNIX account for the PCs in SPS106 and work in there
when it is open. Again, you will need to request an account on these PCs through Dr
2
Price. He will probably not do this until after you have completed the Health & safety in
Week 1. I have a UNIX primer if you request it to learn the basic UNIX commands.
Machines should run IDL.
(Note: PLUTO can be used without IDL, using png files that it outputs, or VISIT
https://wci.llnl.gov/codes/visit/home.html (using VTK output?)
, or other visualisation including MATLAB but I cannot guarantee help and, apart from
MATLAB, they could be limited in what they can achieve
Pluto can also output PNGimages. That is very handy for quick visualisation while the code is
running. )
)
Stage 1
Review Subject: literature from journals.
Use ADS system to perform literature review.
http://adsabs.harvard.edu/abstract_service.html
Low Mach number RGs:
http://adsabs.harvard.edu/abs/1986ApJ...305..109B
http://adsabs.harvard.edu/abs/1993ApJ...417..515L
http://adsabs.harvard.edu/abs/1995ApJ...445...80L
http://adsabs.harvard.edu/abs/2002MNRAS.336.1161L
Might be of interest:
http://adsabs.harvard.edu/abs/2005MNRAS.359..781S
http://adsabs.harvard.edu/abs/2003ApJ...594L.103G
http://adsabs.harvard.edu/abs/1993ApJ...405L..13D
http://adsabs.harvard.edu/abs/1985MNRAS.216..971W
Diamond shock:
http://adsabs.harvard.edu/abs/2011ApJ...737...54B
http://adsabs.harvard.edu/abs/2012MNRAS.420L..48N
In the Lab:
http://adsabs.harvard.edu/abs/2013A%26A...554A..99B
Nirvana, Gaibler:
http://adsabs.harvard.edu/abs/2009MNRAS.400.1785G
http://adsabs.harvard.edu/abs/2013Sci...341.1082M
http://adsabs.harvard.edu/abs/2013arXiv1309.1386K
Anything else referred to below is contained in:
http://astro.kent.ac.uk/mds/Modules/1516/PH700/
Jamie Ryan’s PH700 from 2014 (note that he ran out of steam after a good start!
Nicola Abraham’s PH700 2014, uses dzeus rather than PLUTO, is pretty good.
Chapters from my jet book
Book: chapters 1-4, 9, 10.
3
C1 – C4:
http://astro.kent.ac.uk/mds/Modules/1314/PH700/Jetbook/
C1: Introduced
C2: Radiation (synchrotron, X-ray bremsstrahlung (free-free), inverse Compton off CMB
C3: Hydordymaics
C4: radio galaxies
C9 Launching
C10: Propagation
Stage 2: Understand the PLUTO code
Read
http://adsabs.harvard.edu/abs/2007ApJS..170..228M
http://adsabs.harvard.edu/abs/2012ApJS..198....7M
Stage 3: Setting up and running PLUTO
Get pluto code running.
There are detailed instructions in the user manual about compiling it:
http://plutocode.ph.unito.it/files/userguide.pdf
IF YOU CANNOT SET UP ON YOUROWN PC, with UNIX or Cygwin, then we will get you on to
forge
TO RUN SIMULATIONS ON FORGE
To login to Forge from PC in room SPS106:
ssh -l nanumber forge.kent.ac.uk
To run dzeus ......
Basic Installation and Usage
============================
1) define the shell variable PLUTO_DIR as the
main PLUTO directory, e.g.,
if you are using tcsh:
> setenv PLUTO_DIR "/home/user/PLUTO"
(In my case: Add to .cshrc:
setenv PLUTO_DIR "/home/mds1/PLUTO"
setenv IDL_STARTUP /home/mds1/idl/idlstartup )
if you're using bash:
> export PLUTO_DIR="/Users/ovidiu/PLUTO"
2) select a working dir anywhere on your hard disk;
at the command prompt, just type
4
> python $PLUTO_DIR/setup.py
configure your problem and select makefile;
3) edit your init.c and pluto.ini to assign
initial conditions and problem specific information;
4) compile with
> make
or (gmake);
For Mac choose: Darwin.i386.gcc.defs
4) run with
> ./pluto
See the documentation in Doc/ for more information.
Have fun!
If you encounter problems during the previous steps, or have any other
question regarding the code, please send an e-mail to mignone@ph.unito.it
A simulation is easy to set up.
Usually only 3 files need to be modified:
"definitions.h" is for changing general code settings such as setting MHD or HD.
"pluto.ini" changes specific simulation settings such as number of zones and output file
frequency. Pluto runs reading in pluto.ini
"init.c" is the main file to modify in order to set up your own model.
THESE WILL BE PROVIDED IN THE 1516 Directory.
Pluto also comes with a "Test_problem" folder where there are plenty of examples including a
few jet examples. I think there may even be an adiabatic jet in the Pluto
"Test_problem/HD/Underexpanded_jet" folder.
Stage 4: Understand the IDL Code
What is IDL and how does it work? Quick Start:
What it is and why is it so good?
http://www.astro.virginia.edu/class/oconnell/astr511/IDLguide.html
http://chaos.swarthmore.edu/courses/phys6_2004/IDL_Notes_P6.pdf
There are many other IDL guides on the internet. Find your favourite.
e.g. http://www.dfanning.com/
5
There is also the help associated with the installed programme.
Stage 4: Running IDL
Look at files in:
http://astro.kent.ac.uk/mds/Modules/1516/PH700/IDL/
What you need to know….quick confidence booster:
All IDL programmes have the explicit extension '.pro'.
Save the programme
intro.pro
Click on your IDL icon to start IDL.
Go to the top bar and 'file' 'open...'
and open intro.pro
Find wherever you put intro.pro and click on that. it appears in the main grey area,
where it can be edited.
This IDL file is just a calculator, reading in useful constants and then calculated a
density near the end and giving print commands. To run it:
Go to the top bar and choose Run, compile intro.pro
The answer comes in the middle window.
**************************************************
Next level:
More complicated:
Open intro-cosmo
run intro-cosmo
In the middle window appears the names of two modules: PARAMETERS and
COSMO
These are the two separate programmes contained in intro-cosmo.pro. In this case,
actually, running PARAMETERS will ask it to also run COSMO before finishing. You
can see that if you scan through it.
To run the programme, go to the command line right at the bottom ....the one-liner with
IDL>
Type just the one word:
parameters
Then you should see that it calculates, in the middle window, the complete set of
parameters for 3c465 ....this is my own tool for calculating the distance of a quasar or
galaxy from its redshift - you have to integrate from us to the object
6
to do it. There is a loop in the code over 30000 steps which does the integration - dont
worry about that - its the whole concept of programming contained here. Take a look at
how the programme is constructed.
More help ideas:
http://vis.lbl.gov/NERSC/Software/idl/help/docs6.0/getstart.pdf
eg there are commands to write images into various formats…..lots to get familiar with.
MAKING IDL DO THE WORK FOR YOU
This is important to make things work properly – be precise.
Make a directory in some tidy place where it can stay.
Put the setup.pro in it. Open it up in IDL and change the first line.to YOUR directory.
Save it. Put the other two .pro files in the same directory
Having set up setup.pro ............
(2) START IDL
In IDL select Preferences under the File menu.
(3) Click STARTUP.
Click SELECT WORKING DIRECTORY and browse and select your working folder.
Click SELECT STARTUP FILE and browse and select the file
setup.pro
(4) Click PATHS
Click INSERT and browse and select your working folder
Click the box in the window next to the listing of your working folder (check mark
should appear)
(5) Click APPLY
Click SAVE
Click OK - if it asks.
(6) Restart IDL
Now it should automatically choose the directory
In the future setup.pro may contain anything you always use, loaded in at the start
automatically.
Neat...see idl-notes.pdf for the full instructions....it all worked on my toshiba.
Create idlstartup file – see version in /home/mds1/idl
idlstartup contains path to pluto tools:
!path=!path+':/home/mds1/PLUTO/Tools/IDL'
7
To run IDL:
.r pload
.r jetpluto (provided on 1516)
jetpluto ,rho,vx1,vx2,prs,tr1
++++++++++++++++++++++++++++++++++++++++++++++++++++
Will compile a list of the parameters as you requested.
Will also compile a file of basic equations which sets up the runs
Will generate a couple of equations in IDL to make sychrtron radio maps
....might not be easy in 2D cylindrical.
Will look at the background of nozzle flows and provide references.
Will suggest possible systematic study....since these run fast at present reolsution this can be
done.
Will make IDL
Stage 6: PLUTO jet parameters
The set up follows:
Norman et al 1982: mach number = 6 jet density/ambient density = 0.1
http://adsabs.harvard.edu/abs/1982A%26A...113..285N
PRELIM NOTE: Code is setup internally to take:
Length scale = 1 (we take R_JET=1 so jet radius is always one)
Ambient medium sound speed camb = 1 (density = damb doesn’t have to be fixed)
Therefore: time unit is 1 also, units of R_JET/camb (don’t change R_JET).
SUPPLIED PLUTO.INI:
Take a UNIFORM ambient medium before the jet enters:
Take specific heat ratio as g_gamma = 5/3 (monatomic or fully ionised gas)
So thermodynamics of ideal gas, the pressure is
Pamb = (g_gamma – 1) x eamb, eamb =Internal energy per unit volume
camb^2 = g_gamma x pamb/damb = G_gamma) x (g_gamma – 1) x eamb,
So
eamb = 0.9 pamb = 0.6 for g_gamma=5/3
Choices:
D_RATIO
0.1 = density ratio,
often called eta = djet/damb
P_RATIO
1.0 =pressure ratio,
often called kappa = pjet/pamb
MACH
6.0
= Mach Number
Of jet, M = vjet/Cjet
Where Sound speed is given: Cjet = sqrt(g_gamma*pjet/djet)
R_JET
1.0 radius unit, length unit
THETA_R
0.
= Spray Angle (conserved total jet speed)
CHECK CAREFULLY IF DEGREES OR RADIANS!!!
8
See init.c: thetar=g_inputParam[THETA_R];
d->Vc[VX1][k][j][i] = vjet*sin(thetar*R[i]/rjet);
d->Vc[VX2][k][j][i] = vjet*cos(thetar*R[i]/rjet);
So: on axis VX2 = Vjet VX1 = 0
At r=R_JET,
VX2 = vjet cos(thetar)
VX1 = vjet sin(thetar)
(note: IDL always puts jet axis along horizontal direction by swapping
arrays)
F_PULSE
0.
Amplitude of jet speed pulsations.
See init.c:
fpulse = g_inputParam[F_PULSE]* sin(ompulse*glob_time);
So fpulse = F_PULSE sin (omega t), t = time
vjet=g_inputParam[MACH]*(1.-fpulse)*sqrt(g_gamma*pjet/djet)
to be clear vjet = MACH*cjet*]*(1.-fpulse)
OM_PULSE
0. Angular rate of sinusoidal pulses (they steepen into
shock waves – remind me to explain!)
Period of introduced pulsations, P = 2 pi/OM_PULSE
F_SHEAR
0.: Fractional reduction in jet speed
(shear across the jet) NOT TESTED – new version of init.c
fshear = g_inputParam[F_SHEAR];
Added this to velocity components: *(1.-fshear*cos(1.5708*R[i]/rjet))
Note: jet has a uniform grid of
100x200
and a staggered grid adding 25%: 125x250
The staggered part allows flow out much farther – so boundary condition don’t influence the nozzle.
BUT, the staggered grid is displayed with IDL – giving distortions on the outer parts of the images.
This is removed in the new IDL versions by setting, Unigrid or uniform near top of .pro files.
Note: there is a REFLECTIVE boundary along the nozzle entrance plane: like a solid surface (relevant ? –
but if the nozzle were to be a ‘tube’ rather than a hole in a surface, then an outflow BC would be more
appropriate…..). Reflection makes for very nice nozzle patterns I think! Dzeus was set up for outflow – so
the gas can escape and the pressure doesn’t build up. The nozzle is then not so well-defined. I will change
this so they are directly comparable…..
One other point to sort out: the tracer max and min are spat out when you run idl – and shows that it
doesn’t stay as 1 (jet amterial) or 0 (ambient), but has mixed zones at the interface.
However, min and max are -0.03 and 1.08 !!! It should be impossible to get out of the range 0 – 1 !! Ok
to use since small errors, but the definition and calculation of tracer needs to be looked at…perhaps it
doesn’t work properly in cylindrical coordiantes?
++++++++++++++++++++++++++++++++++++++++++++
Final Stage: Research –
On some platforms you need:
python $PLUTO_DIR/setup.py --no-curses
To run on forge: choose option 20
TRIALS:
M=1
P_RATIO = 2, 4, …….
M=1.5 P_RATIO = 1, 2, 4, …….
M = 3 and 6, P=1, P_RATIO = ? 2 or higher?
M = 6 or 3, P_RATIO = 1
THETA_R = 0.1, 0.25, 0.5 ?
9
SUGGESTED QUESTIONS TO ANSWER:
Where do high pressure/density knots form in jets?
Where do high temperatures occur?
Do these locations depend on the parameters chosen?
How do these knots form and move out initially?
Is a stable/stationary flow pattern obtained?
IDL SYNCHROTRON IMAGES:
This is an approximation, synthetic, since we don’t have magnetic field or relativistic electrons.
We assume emission is proportional to pressure^n where n is a constant.
Sync2d.pro: to make images from a 2D cylindrical run.
1. read in data
2. calculate sync per zone
3. integrate through over XY grid
4. Double Grid and display
IDL:
.r pload
.r jetpluto
jetpluto ,rho,vx1,vx2,prs,tr1
python $PLUTO_DIR/setup.py –no-curses
10
Download