#ifndef NATIVE_COMPONENT_PROPERTIES_INTERNAL_H #define NATIVE_COMPONENT_PROPERTIES_INTERNAL_H #include "kernels.h" /* Private interfaces shared by the flow modules. Gas/EOS formulas, property * reuse and isentropic calculations stay together in properties.c. This * switch is only for the diagnostic amalgamation in components/kernels.c; * separately compiled production modules share ordinary external symbols. */ #ifdef NATIVE_COMPONENT_AMALGAMATION #define NATIVE_COMPONENT_INTERNAL static static const NativeMedium helium_medium; #else #define NATIVE_COMPONENT_INTERNAL extern const NativeMedium helium_medium; #endif NATIVE_COMPONENT_INTERNAL int same_medium(const NativeMedium *, const NativeMedium *); NATIVE_COMPONENT_INTERNAL NativePropertyState *property_pt( NativePropertyCache *, const NativeMedium *, double p, double T, NativePropertyState *scratch); NATIVE_COMPONENT_INTERNAL double property_density(NativePropertyState *); NATIVE_COMPONENT_INTERNAL double property_viscosity(NativePropertyState *); NATIVE_COMPONENT_INTERNAL void state_valve( NativePropertyCache *, NativePropertyState *, double pd, double *cm, double *velocity); NATIVE_COMPONENT_INTERNAL void medium_valve( NativePropertyCache *, const NativeMedium *, double p, double pd, double T, double *cm, double *velocity); #endif