foreseer_test_eos_compressible Program

program~~foreseer_test_eos_compressible~~UsesGraph program~foreseer_test_eos_compressible foreseer_test_eos_compressible module~foreseer foreseer module~foreseer->program~foreseer_test_eos_compressible penf penf penf->program~foreseer_test_eos_compressible module~foreseer_eos_object foreseer_eos_object penf->module~foreseer_eos_object module~foreseer_riemann_solver_compressible_hllc foreseer_riemann_solver_compressible_hllc penf->module~foreseer_riemann_solver_compressible_hllc module~foreseer_primitive_object foreseer_primitive_object penf->module~foreseer_primitive_object module~foreseer_riemann_solver_compressible_llf foreseer_riemann_solver_compressible_llf penf->module~foreseer_riemann_solver_compressible_llf module~foreseer_compressible_transformations foreseer_compressible_transformations penf->module~foreseer_compressible_transformations module~foreseer_riemann_solver_object foreseer_riemann_solver_object penf->module~foreseer_riemann_solver_object module~foreseer_eos_compressible foreseer_eos_compressible penf->module~foreseer_eos_compressible module~foreseer_conservative_object foreseer_conservative_object penf->module~foreseer_conservative_object module~foreseer_riemann_solver_compressible_exact foreseer_riemann_solver_compressible_exact penf->module~foreseer_riemann_solver_compressible_exact module~foreseer_conservative_compressible foreseer_conservative_compressible penf->module~foreseer_conservative_compressible module~foreseer_riemann_pattern_compressible_pvl foreseer_riemann_pattern_compressible_pvl penf->module~foreseer_riemann_pattern_compressible_pvl module~foreseer_riemann_solver_compressible_roe foreseer_riemann_solver_compressible_roe penf->module~foreseer_riemann_solver_compressible_roe module~foreseer_primitive_compressible foreseer_primitive_compressible penf->module~foreseer_primitive_compressible module~foreseer_riemann_solver_compressible_pvl foreseer_riemann_solver_compressible_pvl penf->module~foreseer_riemann_solver_compressible_pvl module~foreseer_riemann_pattern_compressible_object foreseer_riemann_pattern_compressible_object penf->module~foreseer_riemann_pattern_compressible_object module~foreseer_eos_object->module~foreseer module~foreseer_eos_object->module~foreseer_riemann_solver_compressible_hllc module~foreseer_eos_object->module~foreseer_primitive_object module~foreseer_eos_object->module~foreseer_riemann_solver_compressible_llf module~foreseer_eos_object->module~foreseer_compressible_transformations module~foreseer_eos_object->module~foreseer_riemann_solver_object module~foreseer_riemann_pattern_object foreseer_riemann_pattern_object module~foreseer_eos_object->module~foreseer_riemann_pattern_object module~foreseer_eos_object->module~foreseer_eos_compressible module~foreseer_eos_object->module~foreseer_conservative_object module~foreseer_eos_object->module~foreseer_riemann_solver_compressible_exact module~foreseer_eos_object->module~foreseer_conservative_compressible module~foreseer_eos_object->module~foreseer_riemann_pattern_compressible_pvl module~foreseer_eos_object->module~foreseer_riemann_solver_compressible_roe module~foreseer_eos_object->module~foreseer_primitive_compressible module~foreseer_eos_object->module~foreseer_riemann_solver_compressible_pvl module~foreseer_eos_object->module~foreseer_riemann_pattern_compressible_object module~foreseer_riemann_solver_compressible_hllc->module~foreseer module~foreseer_primitive_object->module~foreseer module~foreseer_primitive_object->module~foreseer_primitive_compressible module~foreseer_riemann_solver_compressible_llf->module~foreseer module~foreseer_compressible_transformations->module~foreseer module~foreseer_riemann_solver_object->module~foreseer module~foreseer_riemann_solver_object->module~foreseer_riemann_solver_compressible_hllc module~foreseer_riemann_solver_object->module~foreseer_riemann_solver_compressible_llf module~foreseer_riemann_solver_object->module~foreseer_riemann_solver_compressible_exact module~foreseer_riemann_solver_object->module~foreseer_riemann_solver_compressible_roe module~foreseer_riemann_solver_object->module~foreseer_riemann_solver_compressible_pvl module~foreseer_riemann_pattern_object->module~foreseer module~foreseer_riemann_pattern_object->module~foreseer_riemann_pattern_compressible_object module~foreseer_eos_compressible->module~foreseer module~foreseer_eos_compressible->module~foreseer_riemann_solver_compressible_roe module~foreseer_eos_compressible->module~foreseer_riemann_pattern_compressible_object module~foreseer_conservative_object->module~foreseer module~foreseer_conservative_object->module~foreseer_riemann_solver_compressible_hllc module~foreseer_conservative_object->module~foreseer_riemann_solver_compressible_llf module~foreseer_conservative_object->module~foreseer_riemann_solver_object module~foreseer_conservative_object->module~foreseer_riemann_pattern_object module~foreseer_conservative_object->module~foreseer_riemann_solver_compressible_exact module~foreseer_conservative_object->module~foreseer_conservative_compressible module~foreseer_conservative_object->module~foreseer_riemann_pattern_compressible_pvl module~foreseer_conservative_object->module~foreseer_riemann_solver_compressible_roe module~foreseer_conservative_object->module~foreseer_riemann_solver_compressible_pvl module~foreseer_conservative_object->module~foreseer_riemann_pattern_compressible_object module~foreseer_riemann_solver_compressible_exact->module~foreseer module~foreseer_conservative_compressible->module~foreseer module~foreseer_conservative_compressible->module~foreseer_riemann_solver_compressible_hllc module~foreseer_conservative_compressible->module~foreseer_riemann_solver_compressible_llf module~foreseer_conservative_compressible->module~foreseer_compressible_transformations module~foreseer_conservative_compressible->module~foreseer_riemann_solver_compressible_exact module~foreseer_conservative_compressible->module~foreseer_riemann_solver_compressible_roe module~foreseer_conservative_compressible->module~foreseer_riemann_solver_compressible_pvl module~foreseer_conservative_compressible->module~foreseer_riemann_pattern_compressible_object module~foreseer_riemann_pattern_compressible_pvl->module~foreseer module~foreseer_riemann_pattern_compressible_pvl->module~foreseer_riemann_solver_compressible_hllc module~foreseer_riemann_pattern_compressible_pvl->module~foreseer_riemann_solver_compressible_llf module~foreseer_riemann_pattern_compressible_pvl->module~foreseer_riemann_solver_compressible_exact module~foreseer_riemann_pattern_compressible_pvl->module~foreseer_riemann_solver_compressible_roe module~foreseer_riemann_pattern_compressible_pvl->module~foreseer_riemann_solver_compressible_pvl module~foreseer_riemann_solver_compressible_roe->module~foreseer module~foreseer_primitive_compressible->module~foreseer module~foreseer_primitive_compressible->module~foreseer_compressible_transformations module~foreseer_riemann_solver_compressible_pvl->module~foreseer module~foreseer_riemann_pattern_compressible_object->module~foreseer module~foreseer_riemann_pattern_compressible_object->module~foreseer_riemann_pattern_compressible_pvl vecfor vecfor vecfor->module~foreseer_riemann_solver_compressible_hllc vecfor->module~foreseer_primitive_object vecfor->module~foreseer_riemann_solver_compressible_llf vecfor->module~foreseer_compressible_transformations vecfor->module~foreseer_riemann_solver_object vecfor->module~foreseer_riemann_pattern_object vecfor->module~foreseer_conservative_object vecfor->module~foreseer_riemann_solver_compressible_exact vecfor->module~foreseer_conservative_compressible vecfor->module~foreseer_riemann_pattern_compressible_pvl vecfor->module~foreseer_riemann_solver_compressible_roe vecfor->module~foreseer_primitive_compressible vecfor->module~foreseer_riemann_solver_compressible_pvl vecfor->module~foreseer_riemann_pattern_compressible_object iso_fortran_env iso_fortran_env iso_fortran_env->module~foreseer_eos_compressible iso_fortran_env->module~foreseer_conservative_compressible iso_fortran_env->module~foreseer_primitive_compressible
Help


FORESEER test: equation of state compressible class test.



Variables

Type AttributesNameInitial
logical :: are_tests_passed(14)

List of passed tests.

type(eos_compressible) :: eos

An equation of state.


Source Code

program foreseer_test_eos_compressible
!< FORESEER test: equation of state compressible class test.

use foreseer, only : eos_compressible
use penf, only : R8P, ZeroR8

implicit none
type(eos_compressible) :: eos                  !< An equation of state.
logical                :: are_tests_passed(14) !< List of passed tests.

are_tests_passed = .false.

eos = eos_compressible(cp=1040.004_R8P, cv=742.86_R8P)
print "(A)", 'EOS description:'
print "(A)", eos%description()

are_tests_passed(1) = (eos%g() >= 1.4_R8P - ZeroR8).and.(eos%g() <= 1.4_R8P + ZeroR8)
print "(A,L1)", 'eos%g() = 1.4, is right? ', are_tests_passed(1)

eos = eos_compressible(cp=1040.004_R8P, gam=1.4_R8P)
are_tests_passed(2) = (eos%cv() >= 742.86_R8P - ZeroR8).and.(eos%cv() <= 742.86_R8P + ZeroR8)
print "(A,L1)", 'eos%cv() = 742.86, is right? ', are_tests_passed(2)

eos = eos_compressible(cv=742.86_R8P, gam=1.4_R8P)
are_tests_passed(3) = (eos%R() >= 297.144_R8P - 1000*ZeroR8).and.(eos%R() <= 297.144_R8P + 1000*ZeroR8)
print "(A,L1)", 'eos%R() = 297.144, is right? ', are_tests_passed(3)

eos = eos_compressible(cv=742.86_R8P, R=297.144_R8P)
are_tests_passed(4) = (eos%cp() >= 1040.004_R8P - ZeroR8).and.(eos%cp() <= 1040.004_R8P + ZeroR8)
print "(A,L1)", 'eos%cp() = 1040.004, is right? ', are_tests_passed(4)

eos = eos_compressible(cp=1040.004_R8P, R=297.144_R8P)
are_tests_passed(5) = (eos%cv() >= 742.86_R8P - 1000*ZeroR8).and.(eos%cv() <= 742.86_R8P + 1000*ZeroR8)
print "(A,L1)", 'eos%cv() = 742.86, is right? ', are_tests_passed(5)

eos = eos_compressible(gam=1.4_R8P, R=297.144_R8P)
are_tests_passed(6) = (eos%cp() >= 1040.004_R8P - 1000*ZeroR8).and.(eos%cp() <= 1040.004_R8P + 1000*ZeroR8)
print "(A,L1)", 'eos%cp() = 1040.004, is right? ', are_tests_passed(6)

eos = eos_compressible(cp=1040.004_R8P, cv=742.86_R8P)
are_tests_passed(7) = (eos%pressure(density=1._R8P, energy=1._R8P) >= 0.4_R8P - ZeroR8).and.&
                      (eos%pressure(density=1._R8P, energy=1._R8P) <= 0.4_R8P + ZeroR8)
print "(A,L1)", 'eos%pressure(density=1, energy=1) = 0.4, is right? ', are_tests_passed(7)

are_tests_passed(8) = (eos%pressure(density=1._R8P, temperature=1._R8P) >= 297.144_R8P - 1000*ZeroR8).and.&
                      (eos%pressure(density=1._R8P, temperature=1._R8P) <= 297.144_R8P + 1000*ZeroR8)
print "(A,L1)", 'eos%pressure(density=1, temperature=1) = 297.144, is right? ', are_tests_passed(8)

are_tests_passed(9) = (eos%density(pressure=1._R8P, temperature=1._R8P) >= 1._R8P/297.144_R8P - 1000*ZeroR8).and.&
                      (eos%density(pressure=1._R8P, temperature=1._R8P) <= 1._R8P/297.144_R8P + 1000*ZeroR8)
print "(A,L1)", 'eos%density(pressure=1, temperature=1) = 1/297.144, is right? ', are_tests_passed(9)

are_tests_passed(10) = (eos%density(pressure=1._R8P, energy=1._R8P) >= 1._R8P/0.4_R8P - ZeroR8).and.&
                       (eos%density(pressure=1._R8P, energy=1._R8P) <= 1._R8P/0.4_R8P + ZeroR8)
print "(A,L1)", 'eos%density(pressure=1, energy=1) = 1/0.4, is right? ', are_tests_passed(10)

are_tests_passed(11) = (eos%energy(density=1._R8P, pressure=1._R8P) >= 1._R8P/0.4_R8P - ZeroR8).and.&
                       (eos%energy(density=1._R8P, pressure=1._R8P) <= 1._R8P/0.4_R8P + ZeroR8)
print "(A,L1)", 'eos%energy(density=1, pressure=1) = 1/0.4, is right? ', are_tests_passed(11)

are_tests_passed(12) = (eos%energy(temperature=1._R8P) >= 742.86_R8P - ZeroR8).and.&
                       (eos%energy(temperature=1._R8P) <= 742.86_R8P + ZeroR8)
print "(A,L1)", 'eos%energy(temperature=1) = 742.86, is right? ', are_tests_passed(12)

are_tests_passed(13) = (eos%temperature(density=1._R8P, pressure=1._R8P) >= 1._R8P/297.144_R8P - ZeroR8).and.&
                       (eos%temperature(density=1._R8P, pressure=1._R8P) <= 1._R8P/297.144_R8P + ZeroR8)
print "(A,L1)", 'eos%temperature(density=1, pressure=1) = 1/297.144, is right? ', are_tests_passed(13)

are_tests_passed(14) = (eos%temperature(energy=1._R8P) >= 1._R8P/742.86_R8P - ZeroR8).and.&
                       (eos%temperature(energy=1._R8P) <= 1._R8P/742.86_R8P + ZeroR8)
print "(A,L1)", 'eos%temperature(energy=1) = 1/742.86, is right? ', are_tests_passed(14)

print "(A,L1)", new_line('a')//'Are all tests passed? ', all(are_tests_passed)
endprogram foreseer_test_eos_compressible