SPH
Public Member Functions | List of all members
TillotsonEos Class Reference

Tillotson equation of state [15]. More...

#include <Eos.h>

Inheritance diagram for TillotsonEos:
IEos Polymorphic

Public Member Functions

 TillotsonEos (const BodySettings &settings)
 
virtual Pair< Floatevaluate (const Float rho, const Float u) const override
 Computes pressure and local sound speed from given density rho and specific internal energy u. More...
 
virtual Float getInternalEnergy (const Float rho, const Float p) const override
 Inverted function; computes specific internal energy u from given density rho and pressure p. More...
 
virtual Float getDensity (const Float p, const Float u) const override
 
- Public Member Functions inherited from Polymorphic
virtual ~Polymorphic ()
 

Detailed Description

Tillotson equation of state [15].

Describes a behavior of a solid material in both the compressed and expanded phase. The phase transition is defined by two parameters - energy u_iv of incipient vaporization and energy u_cv of complete vaporization. Between these two values (and if the density is lower than the reference density rho_0, meaning the material is not compressed), the pressure and sound speed is given by simple linear interpolation between the two phases

Note that Tillotson equation is an incomplete equation of state, meaning no relation between temperature and internal energy is described. If one needs to compute the temperature, more complex equation of state has to be used.

Definition at line 109 of file Eos.h.

Constructor & Destructor Documentation

◆ TillotsonEos()

TillotsonEos::TillotsonEos ( const BodySettings settings)
explicit

Definition at line 75 of file Eos.cpp.

Member Function Documentation

◆ evaluate()

Pair< Float > TillotsonEos::evaluate ( const Float  rho,
const Float  u 
) const
overridevirtual

Computes pressure and local sound speed from given density rho and specific internal energy u.

Todo:
interpolate squared values or after sqrt?

Implements IEos.

Definition at line 87 of file Eos.cpp.

◆ getDensity()

Float TillotsonEos::getDensity ( const Float  p,
const Float  u 
) const
overridevirtual
Todo:
this is currently fine tuned for getting density in stationary (initial) state

Implements IEos.

Definition at line 158 of file Eos.cpp.

◆ getInternalEnergy()

Float TillotsonEos::getInternalEnergy ( const Float  rho,
const Float  p 
) const
overridevirtual

Inverted function; computes specific internal energy u from given density rho and pressure p.

Todo:
optimize, find proper upper bound

Implements IEos.

Definition at line 130 of file Eos.cpp.


The documentation for this class was generated from the following files: