void VlasovAux::solve(std::string equation_type, Fields *fields, CComplex *f_in, CComplex *f_out, double dt, int rk_step, const double rk[3]) { // do I need both, we can stick to e-m ? Speed penality ? if(equation_type == "ES") Vlasov_ES ((A6zz) f_in, (A6zz) f_out , (A6zz) f0, (A6zz) f, (A6zz) ft , (A6zz) Coll, (A6zz) fields->Field, (A3zz) nonLinearTerm, X, V, M, dt, rk_step, rk); else if(equation_type == "EM") Vlasov_EM ((A6zz) f_in, (A6zz) f_out, (A6zz) f0, (A6zz) f, (A6zz) ft, (A6zz) Coll, (A6zz) fields->Field, (A3zz) nonLinearTerm, (A4zz) Xi, (A4zz) G, dt, rk_step, rk); else if(equation_type == "Landau_Damping") Landau_Damping((A6zz) f_in, (A6zz) f_out, (A6zz) f0, (A6zz) f, (A6zz) ft , (A6zz) fields->Field, X, V, M, dt, rk_step, rk); else check(-1, DMESG("No Such Equation")); return; }
void VlasovCilk::solve(std::string equation_type, Fields *fields, CComplex *f_in, CComplex *f_out, double dt, int rk_step, const double rk[3]) { if(0); else if(equation_type == "EM") Vlasov_EM((A6zz) f_in, (A6zz) f_out, (A6zz) f0, (A6zz) f, (A6zz) ft, (A6zz) Coll, (A6zz) fields->Field, (A4zz) Xi, (A4zz) G, (A3zz) nonLinearTerm, (A2rr) geo->Kx, (A2rr) geo->Ky, (A2rr) geo->dB_dz, dt, rk_step, rk); else check(-1, DMESG("No Such Equation")); }