Changeset 2814


Ignore:
Timestamp:
Aug 14, 2019 11:17:21 PM (3 months ago)
Author:
gegorbet
Message:

density_match 'Save' of CSV added

Location:
trunk/programs/us_density_match
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/programs/us_density_match/us_density_match.cpp

    r2813 r2814  
    277277void US_Density_Match::save( void )
    278278{
     279   int ndists      = v_sedcs.size();
     280   QString runid   = QString( alldis[ 0 ].run_name ).section( ".", 0, -2 );
     281   QString reppath = US_Settings::reportDir() + "/" + runid + "/";
     282   QStringList fnames;
     283
     284   // Save all distributions as CSV files in */ultrascan/reports/X
     285
     286   QString fpfix   = "dens_match_distrib_";
     287   QString fname;
     288   QString fpath;
     289
     290   // Write sedimentation coeff, bfrac CSV files
     291   for ( int ii = 0; ii < ndists; ii++ )
     292   {
     293      fname           = fpfix + "sedc_" + QString::number( (ii+1) ) + ".csv";
     294      fpath           = reppath + fname;
     295      write_csv( fpath, "sedi_coeff", v_sedcs[ ii ],
     296                        "boundary_fraction", v_bfracs );
     297      fnames << fname;
     298   }
     299
     300   // Write diffusion coeff, bfrac CSV files
     301   for ( int ii = 0; ii < ndists; ii++ )
     302   {
     303      fname           = fpfix + "difc_" + QString::number( (ii+1) ) + ".csv";
     304      fpath           = reppath + fname;
     305      write_csv( fpath, "diff_coeff", v_difcs[ ii ],
     306                        "boundary_fraction", v_bfracs );
     307      fnames << fname;
     308   }
     309
     310   // Write X,bfrac CSV files for vbars,mmass,hrads,frats
     311   fname           = fpfix + "vbar.csv";
     312   fpath           = reppath + fname;
     313   write_csv( fpath, "vbar", v_vbars,
     314                     "boundary_fraction", v_bfracs );
     315   fnames << fname;
     316   fname           = fpfix + "mass.csv";
     317   fpath           = reppath + fname;
     318   write_csv( fpath, "molar_mass", v_mmass,
     319                     "boundary_fraction", v_bfracs );
     320   fnames << fname;
     321   fname           = fpfix + "hrad.csv";
     322   fpath           = reppath + fname;
     323   write_csv( fpath, "hydro_radius", v_hrads,
     324                     "boundary_fraction", v_bfracs );
     325   fnames << fname;
     326   fname           = fpfix + "frat.csv";
     327   fpath           = reppath + fname;
     328   write_csv( fpath, "fric_ratio", v_frats,
     329                     "boundary_fraction", v_bfracs );
     330   fnames << fname;
     331#if 0
     332   QVector< double >             v_bfracs;
     333   QVector< double >             v_vbars;
     334   QVector< double >             v_mmass;
     335   QVector< double >             v_hrads;
     336   QVector< double >             v_frats;
     337   QVector< QVector< double > >  v_sedcs;
     338   QVector< QVector< double > >  v_difcs;
     339#endif
    279340#if 0
    280341   //QString dtext = te_distr_info->toPlainText().section( "\n", 0, 1 );
     
    14881549}
    14891550
     1551// Write a CSV file from given vectors
     1552void US_Density_Match::write_csv( const QString fpath,
     1553  const QString hdr1, QVector< double >& vals1,
     1554  const QString hdr2, QVector< double >& vals2 )
     1555{
     1556DbgLv(1) << "WrCsv: fpath" << fpath;
     1557   // Open file and textstream
     1558   QFile datf( fpath );
     1559   if ( ! datf.open( QIODevice::WriteOnly | QIODevice::Truncate ) )
     1560      return;
     1561   QTextStream ts( &datf );
     1562
     1563   // Write header line
     1564   ts << "\"" + hdr1 + "\",\"" + hdr2 + "\"\n";
     1565
     1566   // Write data lines
     1567   for ( int jj = 0; jj < vals1.size(); jj++ )
     1568   {
     1569      QString line  = QString().sprintf(
     1570         "\"%9.6e\",\"%6.4f\"\n", vals1[ jj ], vals2[ jj ] );
     1571      line.replace( " ","" );
     1572      ts << line;
     1573   }
     1574
     1575   // Close file
     1576   datf.close();
     1577   return;
     1578}
     1579
  • trunk/programs/us_density_match/us_density_match.h

    r2811 r2814  
    183183      QString anno_title  ( int );
    184184      QString ptype_text  ( int );
     185      void write_csv( const QString, const QString, QVector< double >&,
     186                                     const QString, QVector< double >& );
    185187
    186188      void help       ( void )
Note: See TracChangeset for help on using the changeset viewer.