@@ -264,7 +264,7 @@ impl<'a, R: ResidualHelmholtzEnergy<N>, D: DualNum<f64> + Copy, const N: usize>
264264mod test {
265265 use super :: * ;
266266 use crate :: eos:: pcsaft:: test:: pcsaft;
267- use crate :: eos:: { ChemicalRecord , GcPcSaft , GcPcSaftParameters , Joback } ;
267+ use crate :: eos:: { GcPcSaft , GcPcSaftParameters , Joback } ;
268268 use crate :: EquationOfStateAD ;
269269 use approx:: assert_relative_eq;
270270 use feos_core:: { Contributions , DensityInitialization , EosResult , PhaseEquilibrium } ;
@@ -328,44 +328,49 @@ mod test {
328328 Ok ( ( ) )
329329 }
330330
331- fn acetone ( ) -> ChemicalRecord < f64 > {
331+ fn acetone_pentane_parameters ( ) -> GcPcSaftParameters < f64 , 2 > {
332+ let mut groups1 = HashMap :: new ( ) ;
333+ groups1. insert ( "CH3" , 2.0 ) ;
334+ groups1. insert ( ">C=O" , 1.0 ) ;
335+ let mut bonds1 = HashMap :: new ( ) ;
336+ bonds1. insert ( [ "CH3" , ">C=O" ] , 2.0 ) ;
337+ let mut groups2 = HashMap :: new ( ) ;
338+ groups2. insert ( "CH3" , 2.0 ) ;
339+ groups2. insert ( "CH2" , 3.0 ) ;
340+ let mut bonds2 = HashMap :: new ( ) ;
341+ bonds2. insert ( [ "CH3" , "CH2" ] , 2.0 ) ;
342+ bonds2. insert ( [ "CH2" , "CH2" ] , 2.0 ) ;
343+
344+ GcPcSaftParameters :: from_groups ( [ & groups1, & groups2] , [ & bonds1, & bonds2] )
345+ }
346+
347+ fn acetone_groups ( ) -> HashMap < & ' static str , f64 > {
332348 let mut groups = HashMap :: new ( ) ;
333349 groups. insert ( "CH3" , 2.0 ) ;
334350 groups. insert ( ">C=O" , 1.0 ) ;
335- let mut bonds = HashMap :: new ( ) ;
336- bonds. insert ( [ "CH3" , ">C=O" ] , 2.0 ) ;
337- ChemicalRecord :: new ( groups, bonds)
351+ groups
338352 }
339353
340- fn pentane ( ) -> ChemicalRecord < f64 > {
354+ fn pentane_groups ( ) -> HashMap < & ' static str , f64 > {
341355 let mut groups = HashMap :: new ( ) ;
342356 groups. insert ( "CH3" , 2.0 ) ;
343357 groups. insert ( "CH2" , 3.0 ) ;
344- let mut bonds = HashMap :: new ( ) ;
345- bonds. insert ( [ "CH3" , "CH2" ] , 2.0 ) ;
346- bonds. insert ( [ "CH2" , "CH2" ] , 2.0 ) ;
347- ChemicalRecord :: new ( groups, bonds)
358+ groups
348359 }
349360
350361 #[ test]
351362 fn test_dew_point ( ) -> EosResult < ( ) > {
352- let params = GcPcSaft ( GcPcSaftParameters :: from_chemical_records ( & [
353- acetone ( ) ,
354- pentane ( ) ,
355- ] ) ) ;
363+ let params = GcPcSaft ( acetone_pentane_parameters ( ) ) ;
356364 let joback = [
357- Joback ( Joback :: from_chemical_record ( & acetone ( ) ) ) ,
358- Joback ( Joback :: from_chemical_record ( & pentane ( ) ) ) ,
365+ Joback ( Joback :: from_group_counts ( & acetone_groups ( ) ) ) ,
366+ Joback ( Joback :: from_group_counts ( & pentane_groups ( ) ) ) ,
359367 ] ;
360368
361369 let mut params_dual = params. params :: < Dual64 > ( ) ;
362370 params_dual. groups [ 0 ] . eps = 1.0 ;
363371 let joback_dual = joback. map ( |j| j. params ( ) ) ;
364372
365- let mut params_h = GcPcSaft ( GcPcSaftParameters :: from_chemical_records ( & [
366- acetone ( ) ,
367- pentane ( ) ,
368- ] ) ) ;
373+ let mut params_h = GcPcSaft ( acetone_pentane_parameters ( ) ) ;
369374 let h = 1e-7 ;
370375 params_h. 0 . groups [ 0 ] += h;
371376
@@ -432,23 +437,17 @@ mod test {
432437
433438 #[ test]
434439 fn test_bubble_point ( ) -> EosResult < ( ) > {
435- let params = GcPcSaft ( GcPcSaftParameters :: from_chemical_records ( & [
436- acetone ( ) ,
437- pentane ( ) ,
438- ] ) ) ;
440+ let params = GcPcSaft ( acetone_pentane_parameters ( ) ) ;
439441 let joback = [
440- Joback ( Joback :: from_chemical_record ( & acetone ( ) ) ) ,
441- Joback ( Joback :: from_chemical_record ( & pentane ( ) ) ) ,
442+ Joback ( Joback :: from_group_counts ( & acetone_groups ( ) ) ) ,
443+ Joback ( Joback :: from_group_counts ( & pentane_groups ( ) ) ) ,
442444 ] ;
443445
444446 let mut params_dual = params. params :: < Dual64 > ( ) ;
445447 params_dual. groups [ 0 ] . eps = 1.0 ;
446448 let joback_dual = joback. map ( |j| j. params ( ) ) ;
447449
448- let mut params_h = GcPcSaft ( GcPcSaftParameters :: from_chemical_records ( & [
449- acetone ( ) ,
450- pentane ( ) ,
451- ] ) ) ;
450+ let mut params_h = GcPcSaft ( acetone_pentane_parameters ( ) ) ;
452451 let h = 1e-7 ;
453452 params_h. 0 . groups [ 0 ] += h;
454453
@@ -515,23 +514,17 @@ mod test {
515514
516515 #[ test]
517516 fn test_tp_flash ( ) -> EosResult < ( ) > {
518- let params = GcPcSaft ( GcPcSaftParameters :: from_chemical_records ( & [
519- acetone ( ) ,
520- pentane ( ) ,
521- ] ) ) ;
517+ let params = GcPcSaft ( acetone_pentane_parameters ( ) ) ;
522518 let joback = [
523- Joback ( Joback :: from_chemical_record ( & acetone ( ) ) ) ,
524- Joback ( Joback :: from_chemical_record ( & pentane ( ) ) ) ,
519+ Joback ( Joback :: from_group_counts ( & acetone_groups ( ) ) ) ,
520+ Joback ( Joback :: from_group_counts ( & pentane_groups ( ) ) ) ,
525521 ] ;
526522
527523 let mut params_dual = params. params :: < Dual64 > ( ) ;
528524 params_dual. groups [ 0 ] . eps = 1.0 ;
529525 let joback_dual = joback. map ( |j| j. params ( ) ) ;
530526
531- let mut params_h = GcPcSaft ( GcPcSaftParameters :: from_chemical_records ( & [
532- acetone ( ) ,
533- pentane ( ) ,
534- ] ) ) ;
527+ let mut params_h = GcPcSaft ( acetone_pentane_parameters ( ) ) ;
535528 let h = 1e-5 ;
536529 params_h. 0 . groups [ 0 ] += h;
537530
0 commit comments