[FLASH-USERS] Calculation of gamc from tabulated EOS tables

Klaus Weide klaus at flash.uchicago.edu
Thu May 14 20:02:19 EDT 2020


On Fri, 8 May 2020, Acharya, Nitish wrote:

> How is gamc calculated from the tabulated EOS in FLASH? I figured gamc 
> has pretty low values ~ 1.5 for most of the ionmix EOS tables i used (I 
> plotted it in Visit).

To have something concrete in mind, assume that Eos is called with a mode 
of MODE_DENS_TEMP_GATHER or MODE_DENS_EI_GATHER.

The value of gamc is computed by combining (effectively weighted averaging)
a value from the ion component (gamIon) and a value from the electron 
component (gamCEle). To simplify, I assume a (temperature,density) 
regime where the radiation contribution can be ignored.

The combining is done in 
  physics/Eos/EosMain/multiTemp/Multitype/Eos.F90 ,
specifically 'subroutine setCombinedGamc' in that file.

The gamIon and gamCEle in Eos.F90 have been obtained in Eos.F90 by
separate calls (directly or indirectly) to eos_multiTypeByTemp.
The latter, implemented in
  physics/Eos/EosMain/multiTemp/Multitype/eos_multiTypeByTemp.F90 ,
combines values from different species (i.e., materials), again basically 
by weighted averaging based on partial pressures.

So where do these per-component, per-material gamc values come from?
* For a material that is handled as eos_gam, from the constant 
  properties for that material.
* Otherwise, they are derived from the energy and pressure tables for the 
  material.
In the case if IONMIX4 tables, e per-component, per-material is
ultimately computed in 

   physics/Eos/EosMain/Tabulated/eos_tabIonmix4.F90

 by lines

           eosData(gamc+i) = eosData(tempToUse+i)/eosData(dens+i) * &
                             eosData(dpt+i)**2 /  eosData(det+i) &
                           + eosData(dens+i) * eosData(dpd+i)

where dpt represent d Pres / d T, det represents d E / d T, and dpd
represents d Pres / d rho.  Each of those derivative terms in computed
from finite differences of values from Pres(T,rho) and E(T,rho) tables.


> I am trying to model a stiff sphere inside Laserslab. I was thinking may 
> be I can increase gamc to reduce compressibility of sphere material i.e 
> increase thermal sound speed. Is there a way to modify gamc for 
> tabulated EOS materials in FLASH?

As you might conclude from the description above, the gamc values returned 
by Eos calls (for table-based implementations) are closely connected to the 
behavior of the pressure and energy functions as expressed (approximated) 
in the tables. You might find a way to substitute a gamc value more to 
your liking for the one that the Eos() wants to return, but who knows what 
that would actually mean...  I am pretty sure it would give you something
that is inconsistent with other quantities provided by the Eos.

Some weeks ago you asked about using an eos_gam Eos (for some material) in 
order to simulate some stiffness. I suspect that would be a more promising 
approach than trying to manipulate gamc directly.


Klaus



More information about the flash-users mailing list