Version 15 (modified by 7 years ago) ( diff ) | ,
---|
Kernel Equations
The outflow module injects a fraction of accreted mass, momentum and angular momentum back into the grid following each accretion time step and between hydro advances.
Brief Accretion Module Review
Before we discuss the details of this routine, let us briefly recall the accretion prescription here. The feedback module is currently configured to work with the Bondi accretion routine in the code (aka Krumholz accretion). This routine establishes a mass cut-off of gravitationally unstable material around the sink particle (in a control volume of radius = 4dx). Any mass greater than this cut off is removed from the ith cell in this volume (i.e. is accreted) and placed into the sink particle. The total accreted mass is then given by:
Simply removing this mass from the cells contained within the kernel leads to an overall decrease in the momenta in the grid over the accretion step. To correct for this, the `missing' momentum is placed into the sink particle, i.e. momentum is conserved between the grid (gas) and the sink particle. For example, the components of the accreted momentum vector is:
The same is so with Energy:
Now, jets are launched from rotating protostellar systems, so it makes sense to assign a 'spin' to the sink particle, induced from accreting angular momentum from the surrounding gas. While we do not explicitly conserve angular momentum in the code, angular momentum would be reduced in the grid due to the accretion step, and so to be conservative between the gas and sink particle, we assign a total accreted angular momentum to the sink as follows:
Note, this accreted ngular momentum is the sink's spin angular momentum, rather than its orbital angular momentum. This is because in addition to enforcing mass, momentum, and energy conservation between the gas and the sink particle, we also conserve the COM of the system.
Some old research notes on running some test cases →
Oct 13, 2015
Am working with isotropic turbulence module to generate a turbulent sphere, which will then have collapse to a sink and produce radiation feedback.
Offner et al. 2014 (attached to this page) says she seeds a uniform sphere with kmax = 2 waves. Here is an image of the initial condition:
This looks like much smaller modes than Kmax = 2..
Setting Kmax = 2 in the isotropic turbulence module and looking at KE, mass, Vmag, Vx, Vy, Vz in projection (and 3D) shows:
Seems like the module is working fairly well. Going to continue learning a bit more how the seeding is generated this week and then will define a spherical volume inside of the mesh. The initial condition for the sphere needs to be fleshed out a bit more.. I.e. put it in quiescent ambient? Low density ambient? etc…
AMR? Clump object, then forcing, to apply the seeding everywhere in the grid?
October 8, 2015
Learned today a bit about the way Astrobear generates a forcing function to perturb the grid in turbulence simulations. The grid is transformed into Fourier space so that each cell in Fourier space is given a wave vector. The wave vectors (with corresponding amplitude and phase information) will be summed to give a forcing function. The amplitudes are semi random in that they are weighted against the spectral index of the power spectrum one wishes to achieve (the amplitude is always orthogonal to the k vector, but how it is orthogonal is random). The phases are random. Once this spectrum is generated in Fourier space it is transformed back into physical space and saved into a variable for the forcing function. This forcing function (really an acceleration function) is then multiplied to every zone of the box for a specified fluid variable (by default the velocity). The forcing function is normalized so that it it produces purely solenoidal perturbations (i.e. the amplitude vector is perpendicular to the k vector). At each time step the velocity is shifted so that the average velocity is 0.
The forcing function goes something like:
where
is a random complex vector subject to
for
and
We also want
to be real, so
However, in the code - it looks like both are chosen randomly, and then the real part of the transform is taken. I have to think about the implications of this…
where
Now when we combine the
terms, we get
Attachments (6)
- offnerIC.png (38.4 KB ) - added by 9 years ago.
- kmax2.png (102.5 KB ) - added by 9 years ago.
- kmax22.png (92.5 KB ) - added by 9 years ago.
- 3dkmax2.png (207.2 KB ) - added by 9 years ago.
- 3dkmax22.png (231.1 KB ) - added by 9 years ago.
- Offner2014.pdf (2.6 MB ) - added by 9 years ago.