@@ -420,145 +420,100 @@ void main_driver(const char* argv)
420420 // "primitive" variable structure factor will contain
421421 // rho
422422 // vel (shifted)
423+ // vel (averaged)
423424 // T
424425 // Yk
425- // vel (averaged)
426- // rhoYk (copy from cons)
427- int structVarsPrim = 2 *AMREX_SPACEDIM +2 *nspecies+2 ;
428-
429- // "conserved" variable structure factor will contain
430- // rho
431- // j (averaged)
432- // rho*E
433- // rho*Yk
434- // Temperature (not in the conserved array; will have to copy it in)
435- // j (shifted)
436- int structVarsCons = 2 *AMREX_SPACEDIM +nspecies+3 ;
437-
438- // for specific pairs
439- amrex::Vector< int > prim_SF_pairA_list;
440- amrex::Vector< int > prim_SF_pairB_list;
441- amrex::Vector< int > cons_SF_pairA_list;
442- amrex::Vector< int > cons_SF_pairB_list;
443- InitializeCompressibleSFParams (prim_SF_pairA_list,
444- prim_SF_pairB_list,cons_SF_pairA_list,
445- cons_SF_pairB_list,structVarsPrim,
446- structVarsCons);
447-
448- Vector< std::string > prim_var_names_all;
449- prim_var_names_all.resize (structVarsPrim);
426+ int structVarsPrim = 2 *AMREX_SPACEDIM +nspecies+2 ;
427+
428+ Vector< std::string > prim_var_names;
429+ prim_var_names.resize (structVarsPrim);
450430
451431 int cnt = 0 ;
452432 int numvars;
453433 std::string x;
454434
455435 // rho
456- prim_var_names_all [cnt] = " rho" ;
436+ prim_var_names [cnt] = " rho" ;
457437 ++cnt;
458438
459- // velx, vely, velz
439+ // velx, vely, velz [CC]
460440 for (int d=0 ; d<AMREX_SPACEDIM ; d++) {
461441 x = " velCC" ;
462442 x += (120 +d);
463- prim_var_names_all[cnt] = x;
464- ++cnt;
465- }
466-
467- // Temp
468- prim_var_names_all[cnt] = " Temp" ;
469- ++cnt;
470-
471- // Yk
472- for (int d=0 ; d<nspecies; d++) {
473- x = " Y" ;
474- x += (49 +d);
475- prim_var_names_all[cnt] = x;
443+ prim_var_names[cnt] = x;
476444 ++cnt;
477445 }
478446
479- // velx, vely, velz
447+ // velx, vely, velz [FACE]
480448 for (int d=0 ; d<AMREX_SPACEDIM ; d++) {
481449 x = " velFACE" ;
482450 x += (120 +d);
483- prim_var_names_all [cnt] = x;
451+ prim_var_names [cnt] = x;
484452 ++cnt;
485453 }
486454
487- // rho*Yk
455+ // Temp
456+ prim_var_names[cnt] = " Temp" ;
457+ ++cnt;
458+
459+ // Yk
488460 for (int d=0 ; d<nspecies; d++) {
489- x = " rhoY " ;
461+ x = " Y " ;
490462 x += (49 +d);
491- prim_var_names_all [cnt] = x;
463+ prim_var_names [cnt] = x;
492464 ++cnt;
493465 }
494466
495- // for specific pairs
496- Vector< std::string > prim_var_names;
497- if (do_SF_pair_prim) {
498- prim_var_names.resize (prim_SF_pairA_list.size ());
499- for (int i=0 ;i<prim_SF_pairA_list.size (); ++i) {
500- prim_var_names[i] = prim_var_names_all[prim_SF_pairA_list[i]];
501- }
502- }
503- else {
504- prim_var_names.resize (structVarsPrim);
505- std::copy (prim_var_names_all.begin (), prim_var_names_all.end (), std::back_inserter (prim_var_names));
506- }
467+ // "conserved" variable structure factor will contain
468+ // rho
469+ // j (averaged)
470+ // j (shifted)
471+ // rho*E
472+ // Temperature (not in the conserved array; will have to copy it in)
473+ // rho*Yk
474+ int structVarsCons = 2 *AMREX_SPACEDIM +nspecies+3 ;
507475
508- Vector< std::string > cons_var_names_all ;
509- cons_var_names_all .resize (structVarsCons);
476+ Vector< std::string > cons_var_names ;
477+ cons_var_names .resize (structVarsCons);
510478
511479 cnt = 0 ;
512480
513481 // rho
514- cons_var_names_all [cnt] = " rho" ;
482+ cons_var_names [cnt] = " rho" ;
515483 ++cnt;
516484
517- // jx, jy, jz
485+ // jx, jy, jz [CC]
518486 for (int d=0 ; d<AMREX_SPACEDIM ; d++) {
519487 x = " jCC" ;
520488 x += (120 +d);
521- cons_var_names_all[cnt] = x;
489+ cons_var_names[cnt] = x;
490+ ++cnt;
491+ }
492+
493+ // jx, jy, jz [FACE]
494+ for (int d=0 ; d<AMREX_SPACEDIM ; d++) {
495+ x = " jFACE" ;
496+ x += (120 +d);
497+ cons_var_names[cnt] = x;
522498 ++cnt;
523499 }
524500
525501 // rho*E
526- cons_var_names_all[cnt] = " rhoE" ;
502+ cons_var_names[cnt] = " rhoE" ;
503+ ++cnt;
504+
505+ // Temp
506+ cons_var_names[cnt] = " Temp" ;
527507 ++cnt;
528508
529509 // rho*Yk
530510 for (int d=0 ; d<nspecies; d++) {
531511 x = " rhoY" ;
532512 x += (49 +d);
533- cons_var_names_all[cnt] = x;
534- ++cnt;
535- }
536-
537- // Temp
538- cons_var_names_all[cnt] = " Temp" ;
539- ++cnt;
540-
541- // jx, jy, jz
542- for (int d=0 ; d<AMREX_SPACEDIM ; d++) {
543- x = " jFACE" ;
544- x += (120 +d);
545- cons_var_names_all[cnt] = x;
513+ cons_var_names[cnt] = x;
546514 ++cnt;
547515 }
548516
549- // for specific pairs
550- Vector< std::string > cons_var_names;
551- if (do_SF_pair_cons) {
552- cons_var_names.resize (cons_SF_pairA_list.size ());
553- for (int i=0 ;i<cons_SF_pairA_list.size (); ++i) {
554- cons_var_names[i] = cons_var_names_all[cons_SF_pairA_list[i]];
555- }
556- }
557- else {
558- cons_var_names.resize (structVarsCons);
559- std::copy (cons_var_names_all.begin (), cons_var_names_all.end (), std::back_inserter (cons_var_names));
560- }
561-
562517 Vector< std::string > surfcov_var_names;
563518 if (n_ads_spec > 0 ) {
564519 surfcov_var_names.resize (n_ads_spec);
@@ -569,6 +524,16 @@ void main_driver(const char* argv)
569524 }
570525 }
571526
527+ // for specific pairs
528+ amrex::Vector< int > prim_SF_pairA_list;
529+ amrex::Vector< int > prim_SF_pairB_list;
530+ amrex::Vector< int > cons_SF_pairA_list;
531+ amrex::Vector< int > cons_SF_pairB_list;
532+ InitializeCompressibleSFParams (prim_SF_pairA_list,
533+ prim_SF_pairB_list,cons_SF_pairA_list,
534+ cons_SF_pairB_list,structVarsPrim,
535+ structVarsCons);
536+
572537 // scale SF results by inverse cell volume
573538 Vector<Real> var_scaling_prim;
574539 if (do_SF_pair_prim) {
@@ -582,7 +547,7 @@ void main_driver(const char* argv)
582547 }
583548
584549 Vector<Real> var_scaling_cons;
585- if (do_SF_pair_cons ) {
550+ if (do_SF_pair_prim ) {
586551 var_scaling_cons.resize (cons_SF_pairA_list.size ());
587552 }
588553 else {
@@ -1542,45 +1507,55 @@ void main_driver(const char* argv)
15421507 // ///////// First structFactPrimMF ////////////////
15431508 cnt = 0 ;
15441509
1545- // copy [rho, vx, vy, vz, T ]
1546- numvars = 5 ;
1510+ // copy [rho, vxCC, vyCC, vzCC ]
1511+ numvars = 4 ;
15471512 MultiFab::Copy (structFactPrimMF, prim, 0 , cnt, numvars, 0 );
15481513 cnt+=numvars;
15491514
1550- // copy Yk
1551- numvars = nspecies;
1552- MultiFab::Copy (structFactPrimMF, prim, AMREX_SPACEDIM +3 , cnt, numvars, 0 );
1553- cnt+=numvars;
1554-
15551515 // copy velFACE
15561516 for (int d=0 ; d<AMREX_SPACEDIM ; ++d) {
1557- ShiftFaceToCC (vel[d],0 ,structFactPrimMF,cnt,1 );
1558- ++cnt;
1517+ ShiftFaceToCC (vel[d],0 ,structFactPrimMF,cnt,1 );
1518+ ++cnt;
15591519 }
15601520
1561- // copy rhoYk
1521+ // copy T
1522+ MultiFab::Copy (structFactPrimMF, prim, 4 , cnt, 1 , 0 );
1523+ ++cnt;
1524+
1525+ // copy Yk
15621526 numvars = nspecies;
1563- MultiFab::Copy (structFactPrimMF, cu, AMREX_SPACEDIM +2 , cnt, numvars, 0 );
1527+ MultiFab::Copy (structFactPrimMF, prim, 6 , cnt, numvars, 0 );
1528+ cnt+=numvars;
1529+
15641530 // //////////////////////////////////////////////////
15651531
15661532 // //////////// Second structFactConsMF /////////////
15671533 cnt = 0 ;
15681534
1569- // copy [rho, jx, jy, jz, rhoE, rhoYk ]
1570- numvars = nvars ;
1535+ // copy [rho, jxCC, jyCC, jzCC ]
1536+ numvars = 4 ;
15711537 MultiFab::Copy (structFactConsMF, cu, 0 , cnt, numvars, 0 );
15721538 cnt+=numvars;
15731539
1574- // T
1575- numvars = 1 ;
1576- MultiFab::Copy (structFactConsMF, prim, AMREX_SPACEDIM +1 , cnt, numvars, 0 );
1577- cnt+=numvars;
1578-
1579- // copy jxFACE
1540+ // copy jFACE
15801541 for (int d=0 ; d<AMREX_SPACEDIM ; ++d) {
15811542 ShiftFaceToCC (cumom[d],0 ,structFactConsMF,cnt,1 );
15821543 ++cnt;
15831544 }
1545+
1546+ // rhoE
1547+ MultiFab::Copy (structFactConsMF, cu, 4 , cnt, 1 , 0 );
1548+ ++cnt;
1549+
1550+ // T
1551+ MultiFab::Copy (structFactConsMF, prim, 4 , cnt, 1 , 0 );
1552+ ++cnt;
1553+
1554+ // rho*Yk
1555+ numvars = nspecies;
1556+ MultiFab::Copy (structFactConsMF, cu, 5 , cnt, numvars, 0 );
1557+ cnt+=numvars;
1558+
15841559 // //////////////////////////////////////////////////
15851560
15861561 if ((do_1D==0 ) and (do_2D==0 )) {
0 commit comments