         colors.scalemin() =  (float)thrust::reduce( visual12.begin(), visual12.end(), colors.scalemax() ,thrust::minimum<double>() );
         title <<"invbf / "<<colors.scalemin()<<"  " << colors.scalemax()<<"\t";
         render.renderQuad( visual12, grid.n()*grid.Nx(), grid.n()*grid.Ny(), colors);
+        
+        colors.scalemax() = (float)thrust::reduce( visual13.begin(), visual13.end(), 0., dg::AbsMax<double>()  );
+        colors.scalemin() =  (float)thrust::reduce( visual13.begin(), visual13.end(), colors.scalemax() ,thrust::minimum<double>() );
+        title <<"nprof / "<<colors.scalemin()<<"  " << colors.scalemax()<<"\t";
+        render.renderQuad( visual13, grid.n()*grid.Nx(), grid.n()*grid.Ny(), colors);
+        
+        colors.scalemax() = (float)thrust::reduce( visual14.begin(), visual14.end(), 0., dg::AbsMax<double>()  );
+        colors.scalemin() =  (float)thrust::reduce( visual14.begin(), visual14.end(), colors.scalemax() ,thrust::minimum<double>() );
+        title <<"damp2 / "<<colors.scalemin()<<"  " << colors.scalemax()<<"\t";
+        render.renderQuad( visual14, grid.n()*grid.Nx(), grid.n()*grid.Ny(), colors);
+        
+        colors.scalemax() = (float)thrust::reduce( visual15.begin(), visual15.end(), 0., dg::AbsMax<double>()  );
+        colors.scalemin() =  (float)thrust::reduce( visual15.begin(), visual15.end(), colors.scalemax() ,thrust::minimum<double>() );
+        title <<"dcut / "<<colors.scalemin()<<"  " << colors.scalemax()<<"\t";
+        render.renderQuad( visual15, grid.n()*grid.Nx(), grid.n()*grid.Ny(), colors);
+        
+        colors.scalemax() = (float)thrust::reduce( visual16.begin(), visual16.end(), 0., dg::AbsMax<double>()  );
+        colors.scalemin() =  (float)thrust::reduce( visual16.begin(), visual16.end(), colors.scalemax() ,thrust::minimum<double>() );
+        title <<"source / "<<colors.scalemin()<<"  " << colors.scalemax()<<"\t";
+        render.renderQuad( visual16, grid.n()*grid.Nx(), grid.n()*grid.Ny(), colors);
         title << std::fixed; 
         glfwSetWindowTitle(w,title.str().c_str());
         title.str("");

    solovev::Iris iris(gp);
    solovev::Pupil pupil(gp);
    solovev::Damping damping(gp);
    solovev::ZonalFlow zonalflow(gp,8.,0.5);
    solovev::Gradient gradient(gp,0.05);
//     //make dggrid
    dg::Grid2d<double> grid(Rmin,Rmax,Zmin,Zmax, n,Nx,Ny,dg::PER,dg::PER);
    
    dg::HVec hvisual1 = dg::evaluate( psip, grid);

    dg::HVec visual10( grid.size());
    dg::HVec visual11( grid.size());
    dg::HVec visual12( grid.size());
    dg::HVec visual13( grid.size());
    dg::HVec visual14( grid.size());
    dg::HVec visual15( grid.size());
    dg::HVec visual16( grid.size());
    //make equidistant grid from dggrid
    dg::HMatrix equigrid = dg::create::backscatter(grid);
    //evaluate on valzues from devicevector on equidistant visual hvisual vector
