         colors.scalemin() =  (float)thrust::reduce( visual6.begin(), visual6.end(), colors.scalemax() ,thrust::minimum<double>() );
         title <<"gradLnB / "<<colors.scalemin()<<"  " << colors.scalemax()<<"\t";
         render.renderQuad( visual6, grid.n()*grid.Nx(), grid.n()*grid.Ny(), colors);
-        
+ 
         colors.scalemax() = (float)thrust::reduce( visual7.begin(), visual7.end(), 0., dg::AbsMax<double>()  );
         colors.scalemin() =  (float)thrust::reduce( visual7.begin(), visual7.end(), colors.scalemax() ,thrust::minimum<double>() );
         title <<"iris / "<<colors.scalemin()<<"  " << colors.scalemax()<<"\t";
         render.renderQuad( visual7, grid.n()*grid.Nx(), grid.n()*grid.Ny(), colors);
-        
+
         colors.scalemax() = (float)thrust::reduce( visual8.begin(), visual8.end(), 0., dg::AbsMax<double>()  );
         colors.scalemin() =  (float)thrust::reduce( visual8.begin(), visual8.end(), colors.scalemax() ,thrust::minimum<double>() );
         title <<"pupil / "<<colors.scalemin()<<"  " << colors.scalemax()<<"\t";
         render.renderQuad( visual8, grid.n()*grid.Nx(), grid.n()*grid.Ny(), colors);
-        
+
         colors.scalemax() = (float)thrust::reduce( visual9.begin(), visual9.end(), 0., dg::AbsMax<double>()  );
         colors.scalemin() =  (float)thrust::reduce( visual9.begin(), visual9.end(), colors.scalemax() ,thrust::minimum<double>() );
         title <<"damping / "<<colors.scalemin()<<"  " << colors.scalemax()<<"\t";

    dg::HVec hvisual7 = dg::evaluate( iris, grid);
    dg::HVec hvisual8 = dg::evaluate( pupil, grid);
    dg::HVec hvisual9 = dg::evaluate( damping, grid);
    dg::HVec hvisual10 = dg::evaluate( grad, grid);
    dg::HVec hvisual11 = dg::evaluate( zonalflow, grid);
    //allocate mem for visual
    dg::HVec visual1( grid.size());
    dg::HVec visual2( grid.size());

#include <fstream>
#include <sstream>
#include "file/read_input.h"

#include "draw/host_window.h"
int main()
{
//     unsigned Nx=100, Ny=100,polcoeff=3;
//     double Nxh = Nx/2.,Nyh=Ny/2.;
//     double a, elongation,triangularity;
    double Rmin,Zmin,Rmax,Zmax;
//     double A,R_0,psipmin,psipmax;
//     std::vector<double> c(13);
     std::cout << "Type n, Nx, Ny\n";
    unsigned n, Nx, Ny;
    std::cin >> n>> Nx>>Ny;   
    std::vector<double> v;
    try{ v = file::read_input( "geometry_params.txt"); }
    catch (toefl::Message& m) {  
