示例#1
0
  inline void 
  OPThermalDiffusionE::output(magnet::xml::XmlStream &XML)
  {
    XML << magnet::xml::tag("EinsteinCorrelator")
	<< magnet::xml::attr("name") << name
	<< magnet::xml::attr("size") << accG2.size()
	<< magnet::xml::attr("dt") << dt/Sim->dynamics.units().unitTime()
	<< magnet::xml::attr("LengthInMFT") 
	<< dt * accG2.size() / Sim->getOutputPlugin<OPMisc>()->getMFT()
	<< magnet::xml::attr("simFactor") << rescaleFactor()
	<< magnet::xml::attr("SampleCount") << count
	<< magnet::xml::chardata();
  
    double factor = rescaleFactor();
  
    for (size_t i = 0; i < accG2.size(); ++i)
      {
	XML   << (1+i) * dt / Sim->dynamics.units().unitTime()
	      << "\t ";
      
	for (size_t j=0;j<NDIM;j++)
	  XML << accG2[i][j] * factor 
	      << "\t ";
      
	XML << "\n";
      }
  
    XML << magnet::xml::endtag("EinsteinCorrelator");
  }
  void 
  OPThermalConductivitySpeciesSpeciesE::output(magnet::xml::XmlStream &XML)
  {
    XML << magnet::xml::tag("EinsteinCorrelator")
	<< magnet::xml::attr("name") << name
	<< magnet::xml::attr("size") << accG2.size()
	<< magnet::xml::attr("dt") << dt/Sim->dynamics.units().unitTime()
	<< magnet::xml::attr("LengthInMFT") << dt * accG2.size()
      / Sim->getOutputPlugin<OPMisc>()->getMFT()
	<< magnet::xml::attr("simFactor") << rescaleFactor()
	<< magnet::xml::attr("SampleCount") << count;
  
    double factor = rescaleFactor();

    size_t Nsp(Sim->dynamics.getSpecies().size());
  
    for (size_t id1(0); id1 < Nsp; ++id1)
      for (size_t id2(0); id2 < Nsp; ++id2)      
	{
	  XML << magnet::xml::tag("Component") 
	      << magnet::xml::attr("Species1") << id1
	      << magnet::xml::attr("Species2") << id2
	      << magnet::xml::chardata();

	  for (unsigned int i = 0; i < accG2.size(); i++)
	    {
	      XML << (1+i) * dt / Sim->dynamics.units().unitTime()
		  << "\t ";
	    
	      for (size_t j=0;j<NDIM;j++)
		XML << accG2[id1 + Nsp * id2][i][j] * factor 
		    << "\t ";
	    
	      XML << "\n";
	    }

	  XML << magnet::xml::endtag("Component");
	}
  
    XML << magnet::xml::endtag("EinsteinCorrelator");
  }