@@ -27,13 +27,19 @@ import {
2727import { title } from "@/components/primitives" ;
2828import DefaultLayout from "@/layouts/default" ;
2929import { FlowData , GasInlet } from "@/components/GasInlet" ;
30+ import { ConcentrationSelector } from "@/components/ConcentrationSelector" ;
31+ import { OrificeSelector } from "@/components/OrificeSelector" ;
32+ import { PressureSlider } from "@/components/PressureSlider" ;
3033
3134export default function CalibrationGasPage ( ) {
3235 const [ temperature , setTemperature ] = useState < number > ( 293.15 ) ;
3336 const [ selectedGasInlet1 , setSelectedGasInlet1 ] = useState < GasMixtureExt > (
34- availableGasMixtures . find ( ( gas ) => gas . name . toLowerCase ( ) === "nitrogen" ) as GasMixtureExt ,
37+ availableGasMixtures . find (
38+ ( gas ) => gas . name . toLowerCase ( ) === "nitrogen" ,
39+ ) as GasMixtureExt ,
3540 ) ;
3641 const [ inlet1Pressure , setInlet1Pressure ] = useState < number > ( 400 ) ;
42+ const [ inlet2Pressure , setInlet2Pressure ] = useState < number > ( 400 ) ;
3743 const [ selectedOrificeInlet1 , setSelectedOrificeInlet1 ] =
3844 useState < number > ( 0.02 ) ;
3945 const [ inlet1FlowData , setInlet1FlowData ] = useState < FlowData > ( {
@@ -60,6 +66,9 @@ export default function CalibrationGasPage() {
6066 concentration of 5 ppm H< sub > 2</ sub > S. The calculator uses ISO
6167 9300:2022 standards for sonic nozzle flow calculations.
6268 </ p >
69+ < p className = "text-xs" > Note that the mass of the calibration (ppm values) is ignored in the
70+ calculation. 1000 ppm = 0.1% so it is less than the ISO9300:2022
71+ standard tolerance.</ p >
6372 < Input
6473 isRequired
6574 className = "max-w-xs mt-4"
@@ -82,6 +91,31 @@ export default function CalibrationGasPage() {
8291 onOrificeChange = { setSelectedOrificeInlet1 }
8392 onPressureChange = { setInlet1Pressure }
8493 />
94+ < div className = "mt-4" >
95+ < PressureSlider
96+ label = { `Calibration gas Pressure` }
97+ value = { inlet2Pressure }
98+ onChange = { setInlet2Pressure }
99+ />
100+ </ div >
101+ < div className = "mt-4" >
102+ < OrificeSelector
103+ label = "Calibration orifice"
104+ selectedOrifice = { 0.020 }
105+ onOrificeChange = { function ( orifice : number ) : void {
106+ throw new Error ( "Function not implemented." ) ;
107+ } }
108+ />
109+ </ div >
110+ < div className = "mt-4" >
111+ < ConcentrationSelector
112+ label = "Calibration bottle"
113+ selectedConcentration = { 50e-6 }
114+ onConcentrationChange = { function ( concentration : number ) : void {
115+ throw new Error ( "Function not implemented." ) ;
116+ } }
117+ />
118+ </ div >
85119 </ div >
86120 </ section >
87121 </ DefaultLayout >
0 commit comments