Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 14 additions & 11 deletions EOS/helmholtz/actual_eos.H
Original file line number Diff line number Diff line change
Expand Up @@ -44,65 +44,68 @@ constexpr std::string_view eos_name = "helmholtz";

// quintic hermite polynomial functions
// psi0 and its derivatives
AMREX_GPU_HOST_DEVICE AMREX_INLINE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
amrex::Real psi0 (amrex::Real z)
{
return z * z * z * (z * (-6.0e0_rt * z + 15.0e0_rt) -10.0e0_rt) + 1.0e0_rt;
}

AMREX_GPU_HOST_DEVICE AMREX_INLINE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
amrex::Real dpsi0 (amrex::Real z)
{
return z * z * (z * (-30.0e0_rt*z + 60.0e0_rt) - 30.0e0_rt);
}

AMREX_GPU_HOST_DEVICE AMREX_INLINE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
amrex::Real ddpsi0 (amrex::Real z)
{
return z * (z * (-120.0e0_rt * z + 180.0e0_rt) - 60.0e0_rt);
}

// psi1 and its derivatives
AMREX_GPU_HOST_DEVICE AMREX_INLINE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
amrex::Real psi1 (amrex::Real z)
{
return z * ( z * z * (z * (-3.0e0_rt * z + 8.0e0_rt) - 6.0e0_rt) + 1.0e0_rt);
}

AMREX_GPU_HOST_DEVICE AMREX_INLINE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
amrex::Real dpsi1 (amrex::Real z)
{
return z * z * ( z * (-15.0e0_rt * z + 32.0e0_rt) - 18.0e0_rt) + 1.0e0_rt;
}

AMREX_GPU_HOST_DEVICE AMREX_INLINE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
amrex::Real ddpsi1 (amrex::Real z)
{
return z * (z * (-60.0e0_rt * z + 96.0e0_rt) - 36.0e0_rt);
}

// psi2 and its derivatives
AMREX_GPU_HOST_DEVICE AMREX_INLINE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
amrex::Real psi2 (amrex::Real z)
{
return 0.5e0_rt * z * z * ( z * ( z * (-z + 3.0e0_rt) - 3.0e0_rt) + 1.0e0_rt);
}

AMREX_GPU_HOST_DEVICE AMREX_INLINE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
amrex::Real dpsi2 (amrex::Real z)
{
return 0.5e0_rt * z * (z * (z * (-5.0e0_rt * z + 12.0e0_rt) - 9.0e0_rt) + 2.0e0_rt);
}

AMREX_GPU_HOST_DEVICE AMREX_INLINE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
amrex::Real ddpsi2 (amrex::Real z)
{
return 0.5e0_rt * (z * ( z * (-20.0e0_rt * z + 36.0e0_rt) - 18.0e0_rt) + 2.0e0_rt);
}

AMREX_GPU_HOST_DEVICE AMREX_INLINE
void fwt (const amrex::Real* fi, const amrex::Real* wt, amrex::Real* fwtr)
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
void fwt (const amrex::Real* AMREX_RESTRICT fi,
const amrex::Real* AMREX_RESTRICT wt,
amrex::Real* AMREX_RESTRICT fwtr)
{

fwtr[0] = fi[ 0]*wt[0] + fi[ 1]*wt[1] + fi[ 2]*wt[2] + fi[18]*wt[3] + fi[19]*wt[4] + fi[20]*wt[5];
fwtr[1] = fi[ 3]*wt[0] + fi[ 5]*wt[1] + fi[ 7]*wt[2] + fi[21]*wt[3] + fi[23]*wt[4] + fi[25]*wt[5];
fwtr[2] = fi[ 4]*wt[0] + fi[ 6]*wt[1] + fi[ 8]*wt[2] + fi[22]*wt[3] + fi[24]*wt[4] + fi[26]*wt[5];
Expand Down
Loading