diff --git a/examples/PhasorDynamics/Tiny/ThreeBus/Basic/ThreeBusBasic.cpp b/examples/PhasorDynamics/Tiny/ThreeBus/Basic/ThreeBusBasic.cpp index 8675ce2a2..cd82e6844 100644 --- a/examples/PhasorDynamics/Tiny/ThreeBus/Basic/ThreeBusBasic.cpp +++ b/examples/PhasorDynamics/Tiny/ThreeBus/Basic/ThreeBusBasic.cpp @@ -212,11 +212,17 @@ int main() { std::vector& y_val = sys.y(); + // Bus 1 -> +2 + // Bus 2 -> +2 + // Gen 1 -> +19 (Start Idx: 4) + // Gen 2 -> +19 (Start Idx: 23) + + // output.push_back(OutputData{t, - 1.0 + y_val[5], - 1.0 + y_val[25], - std::sqrt(y_val[0] * y_val[0] + y_val[1] * y_val[1]), - std::sqrt(y_val[2] * y_val[2] + y_val[3] * y_val[3])}); + 1.0 + y_val[5], // Gen 1 Speed -> 4 + 1 + 1.0 + y_val[24], // Gen 2 Speed -> 23 + 1 + std::sqrt(y_val[0] * y_val[0] + y_val[1] * y_val[1]), // Bus 1 Vmag + std::sqrt(y_val[2] * y_val[2] + y_val[3] * y_val[3])}); // Bus 2 Vmag }; // Set up simulation diff --git a/examples/PhasorDynamics/Tiny/TwoBus/CMakeLists.txt b/examples/PhasorDynamics/Tiny/TwoBus/CMakeLists.txt index ef5c42035..90f5ba38b 100644 --- a/examples/PhasorDynamics/Tiny/TwoBus/CMakeLists.txt +++ b/examples/PhasorDynamics/Tiny/TwoBus/CMakeLists.txt @@ -1,2 +1,3 @@ add_subdirectory(Basic) add_subdirectory(Tgov1) +add_subdirectory(Ieeet1) diff --git a/examples/PhasorDynamics/Tiny/TwoBus/Ieeet1/CMakeLists.txt b/examples/PhasorDynamics/Tiny/TwoBus/Ieeet1/CMakeLists.txt new file mode 100644 index 000000000..1592ad1ef --- /dev/null +++ b/examples/PhasorDynamics/Tiny/TwoBus/Ieeet1/CMakeLists.txt @@ -0,0 +1,8 @@ +add_executable(TwoBusIeeet1 TwoBusIeeet1.cpp) +target_link_libraries(TwoBusIeeet1 + GRIDKIT::phasor_dynamics_components + GRIDKIT::phasor_dynamics_signal + GRIDKIT::solvers_dyn) +install(TARGETS TwoBusIeeet1 RUNTIME DESTINATION bin) + +add_test(NAME GenrouTest1_Ieeet1 COMMAND $) diff --git a/examples/PhasorDynamics/Tiny/TwoBus/Ieeet1/TwoBusIeeet1.cpp b/examples/PhasorDynamics/Tiny/TwoBus/Ieeet1/TwoBusIeeet1.cpp new file mode 100644 index 000000000..4adf99269 --- /dev/null +++ b/examples/PhasorDynamics/Tiny/TwoBus/Ieeet1/TwoBusIeeet1.cpp @@ -0,0 +1,341 @@ +/** + * @file TwoBusIeeet1.cpp + * @author Luke Lowery (lukel@tamu.edu) + * @author Adam Birchfield (abirchfield@tamu.edu) + * @brief Example running a 2-bus system with exciter and governor + * + */ +#include "TwoBusIeeet1.hpp" + +#include +#include + +#include +#include +#include +#include +#include + +// Temp, remove +#include + +int main() +{ + using namespace GridKit::PhasorDynamics; + using namespace AnalysisManager::Sundials; + + using scalar_type = double; + using real_type = double; + using index_type = size_t; + + using BusType = BusData::BusType; + using signal_type = SignalNode; + using machine_type = Genrou; + using gov_type = Governor::Tgov1; + using exc_type = Exciter::Ieeet1; + + std::cout << "Example: TwoBusTgov1 + IEEET1 Exciter\n"; + + // Model Data + SystemModelData data; + + // Set bus data + data.bus.resize(2); + + data.bus[0].bus_id = 0; + data.bus[0].bus_type = BusType::DEFAULT; + data.bus[0].Vr0 = 0.9949877346411762; + data.bus[0].Vi0 = 0.09999703952427966; + + data.bus[1].bus_id = 1; + data.bus[1].bus_type = BusType::SLACK; + data.bus[1].Vr0 = 1.0; + data.bus[1].Vi0 = 0.0; + + // Set signal nodes data + data.signal.resize(3); + + data.signal[0].name = "omega"; + data.signal[0].signal_id = 0; + + data.signal[1].name = "Pm"; + data.signal[1].signal_id = 1; + + data.signal[2].name = "Efd"; + data.signal[2].signal_id = 2; + + // Set branch data + data.branch.resize(1); + + data.branch[0].ports[BranchPorts::bus1] = data.bus[0].bus_id; + data.branch[0].ports[BranchPorts::bus2] = data.bus[1].bus_id; + data.branch[0].parameters[BranchParameters::R] = 0.0; + data.branch[0].parameters[BranchParameters::X] = 0.1; + data.branch[0].parameters[BranchParameters::G] = 0.0; + data.branch[0].parameters[BranchParameters::B] = 0.0; + + // Add faults + data.bus_fault.resize(1); + + data.bus_fault[0].parameters[BusFaultParameters::R] = 0.0; + data.bus_fault[0].parameters[BusFaultParameters::X] = 1e-3; + data.bus_fault[0].parameters[BusFaultParameters::state0] = false; + + // ------------- MODEL GROUP ------------------ + + // Set generator data + data.genrou.resize(1); + + data.genrou[0].parameters[GenrouParameters::p0] = 1.; + data.genrou[0].parameters[GenrouParameters::q0] = 0.05013; + data.genrou[0].parameters[GenrouParameters::H] = 3.; + data.genrou[0].parameters[GenrouParameters::D] = 0.; + data.genrou[0].parameters[GenrouParameters::Ra] = 0.; + data.genrou[0].parameters[GenrouParameters::Tdop] = 7.; + data.genrou[0].parameters[GenrouParameters::Tdopp] = .04; + data.genrou[0].parameters[GenrouParameters::Tqopp] = .05; + data.genrou[0].parameters[GenrouParameters::Tqop] = .75; + data.genrou[0].parameters[GenrouParameters::Xd] = 2.1; + data.genrou[0].parameters[GenrouParameters::Xdp] = 0.2; + data.genrou[0].parameters[GenrouParameters::Xdpp] = 0.18; + data.genrou[0].parameters[GenrouParameters::Xq] = 0.5; + data.genrou[0].parameters[GenrouParameters::Xqp] = 0.5; + data.genrou[0].parameters[GenrouParameters::Xqpp] = 0.18; + data.genrou[0].parameters[GenrouParameters::Xl] = 0.15; + data.genrou[0].parameters[GenrouParameters::S10] = 0.; + data.genrou[0].parameters[GenrouParameters::S12] = 0.; + + // Governor + data.gov.resize(1); + + // Exciter + data.exciter.resize(1); + + data.exciter[0].parameters[Exciter::Ieeet1Parameters::Tr] = 0.001; // (BUG: Nonfunctional if Tr = 0) + data.exciter[0].parameters[Exciter::Ieeet1Parameters::Ka] = 50.; + data.exciter[0].parameters[Exciter::Ieeet1Parameters::Ta] = 0.04; + data.exciter[0].parameters[Exciter::Ieeet1Parameters::Ke] = -0.06; + data.exciter[0].parameters[Exciter::Ieeet1Parameters::Te] = 0.6; + data.exciter[0].parameters[Exciter::Ieeet1Parameters::Kf] = 0.09; + data.exciter[0].parameters[Exciter::Ieeet1Parameters::Tf] = 1.46; + data.exciter[0].parameters[Exciter::Ieeet1Parameters::Vrmin] = -1.; + data.exciter[0].parameters[Exciter::Ieeet1Parameters::Vrmax] = 1.; + data.exciter[0].parameters[Exciter::Ieeet1Parameters::E1] = 2.8; + data.exciter[0].parameters[Exciter::Ieeet1Parameters::E2] = 3.373; + data.exciter[0].parameters[Exciter::Ieeet1Parameters::Se1] = 0.04; + data.exciter[0].parameters[Exciter::Ieeet1Parameters::Se2] = 0.33; + data.exciter[0].parameters[Exciter::Ieeet1Parameters::Ispdlim] = 0.; + + // -------------- END MODEL DATA ------------------ + + // Manually add components + // This is a workaround since signal connections are not implemented in parser + + // Create buses + auto* bus0 = BusFactory::create(data.bus[0]); + auto* bus1 = BusFactory::create(data.bus[1]); + + // Create signal nodes + signal_type omega(data.signal[0]); + signal_type pmech(data.signal[1]); + signal_type efd(data.signal[2]); + + // Create branch + Branch branch(bus0, bus1, data.branch[0]); + + // Add bus fault to bus0 + BusFault fault(bus0, data.bus_fault[0]); + + // Create generator + machine_type gen(bus0, // Bus + &omega, // Machine Speed Signal + &pmech, // Governor Pmech Signal + &efd, // Exciter Efd Signal + data.genrou[0]); + + // Create governor (w/ Pmech and Speed signals) + gov_type gov(&pmech, &omega); + + // Create exciter (w/ Efd, speed, and bus signals) + exc_type exc(&efd, &omega, bus0, data.exciter[0]); + + // Instantiate system model and add components to it + SystemModel sys; + sys.addBus(bus0); + sys.addBus(bus1); + sys.addSignal(&omega); + sys.addSignal(&pmech); + sys.addSignal(&efd); + sys.addComponent(&branch); + sys.addComponent(&gen); + sys.addComponent(&gov); + sys.addComponent(&exc); + sys.addFault(&fault); + + sys.allocate(); + + // Set time step to 1/4 of a 60Hz cycle + real_type dt = 1.0 / 4.0 / 60.0; + + // A data structure to keep track of the data we want to + // compare to the reference solution. Rather than keeping + // the entire solution vector at every time step around, + // we instead narrow down exactly what we want to keep. + // + // Since this struct is "simple" enough (no constructors or + // assignment operators, and "simple" members), it is a POD + // (plain ol' data), which have some benefits in C++. + struct OutputData + { + // Output variables are time, real and imaginary voltage and + // frequency deviation + real_type ti, Vr, Vi, dw, Pm, Efd; + }; + + // A list of output for each time step. + std::vector output; + + // A callback which will be called by the integrator after + // each time step. It will be told the time of the current + // state, and it is allowed to access the up-to-date state + // of the components, which are captured by a closure + // due to the [&] notation (every variable that is referenced + // by the callback that is external to the callback itself - + // here output, bus1, and gen - will be considered a + // reference to that variable inside the callback). We select + // the subset of the output we're interested in recording and + // push it into output, which is updated outside the callback. + auto output_cb = [&](real_type t) + { + std::vector& y_val = sys.y(); + + // Note Omega of gen is at state index 5! (Each added signal shifted by 1) + // Bus -> 2 States + // Genrou -> 19 States -> Start Idx 2 + // Gov -> 3 States -> Start Idx 21 + // Exc -> 9 States -> Start Idx 24 + output.push_back(OutputData{ + t, + y_val[0], // Bus Vr + y_val[1], // Bus Vi + y_val[3], // Gen Speed + y_val[23], // Gov Pmech + y_val[26], // Exc Efd + }); + }; + + // Set up simulation + Ida ida(&sys); + ida.configureSimulation(); + + // Run simulation - making sure to pass the callback to record output + real_type start = static_cast(clock()); + + // Run for 1s + ida.initializeSimulation(0.0, false); + int nout = static_cast(std::round((1.0 - 0.0) / dt)); + ida.runSimulation(1.0, nout, output_cb); + + // Introduce fault and run for the next 0.1s + fault.setStatus(true); + ida.initializeSimulation(1.0, false); + nout = static_cast(std::round((1.1 - 1.0) / dt)); + ida.runSimulation(1.1, nout, output_cb); + + // Clear the fault and run until t = 10s. + fault.setStatus(false); + ida.initializeSimulation(1.1, false); + nout = static_cast(std::round((10.0 - 1.1) / dt)); + ida.runSimulation(10.0, nout, output_cb); + real_type stop = static_cast(clock()); + + real_type error_V = 0.0; // error in |V| + real_type error_w = 0.0; // error in rotor speed + real_type error_Efd = 0.0; // error in exciter Efd + + // Output Headers + // std::cout << "Time\t|V|\tSpeed\tPm\tEfd\tVreg" << "\n"; + // ref_sol[1] -> Speed + // ref_sol[2] -> |V| + // ref_sol[3] -> Efd + + // Read through the simulation data stored in the buffer. + // Since we captured by reference, output should be available + // for us to read here, outside the callback. + for (size_t i = 0; i < output.size(); i++) + { + OutputData data = output[i]; + std::vector& ref_sol = reference_solution[i + 1]; + + // Review Note: I believe the denominator should not have +1 + real_type err = + std::abs(std::sqrt(data.Vr * data.Vr + data.Vi * data.Vi) - ref_sol[2]) + / (1.0 + std::abs(ref_sol[2])); + if (err > error_V) + error_V = err; + + // Review Note: I believe the denominator should not have +1 + err = std::abs(1.0 + data.dw - ref_sol[1]) / (1.0 + ref_sol[1]); + if (err > error_w) + error_w = err; + + // Exciter Error + err = std::abs(data.Efd - ref_sol[3]) / (ref_sol[3]); + if (err > error_Efd) + error_Efd = err; + + // Optional output + /* + std::cout << data.ti + << " " << std::sqrt(data.Vr * data.Vr + data.Vi * data.Vi) + << " " << (1.0 + data.dw) + << " " << (data.Pm) + << " " << (data.Efd) + << " " << (data.VR) + << " " << (data.ksat) + << "\n"; + // std::cout << "Ref : t = " << ref_sol[0] + // << ", |V| = " << ref_sol[2] + // << ", w = " << ref_sol[1] + // << "\n"; + // std::cout << "Error in |V| = " + // << err + // << "\n"; + // std::cout << "\n"; + */ + } + + // Errors allowed for agreement with Powerworld results + real_type error_V_allowed = 2e-4; + real_type error_w_allowed = 1e-4; + real_type error_Efd_allowed = 1e-2; + + // Tolerances based on Powerworld reference accuracy + int status = 0; + std::cout << "Max error in |V| = " << error_V << "\n"; + if (error_V > error_V_allowed) + { + std::cout << "Test failed with error too large!\n"; + status = 1; + } + std::cout << "Max error in w = " << error_w << "\n"; + if (error_w > error_w_allowed) + { + std::cout << "Test failed with error too large!\n"; + status = 1; + } + std::cout << "Max error in Efd = " << error_Efd << "\n"; + if (error_Efd > error_Efd_allowed) + { + std::cout << "Test failed with error too large!\n"; + status = 1; + } + + std::cout << "\n\nComplete in " << (stop - start) / CLOCKS_PER_SEC << " seconds\n"; + + // Free Bus pointers manually + delete bus0; + delete bus1; + + return status; +} diff --git a/examples/PhasorDynamics/Tiny/TwoBus/Ieeet1/TwoBusIeeet1.hpp b/examples/PhasorDynamics/Tiny/TwoBus/Ieeet1/TwoBusIeeet1.hpp new file mode 100644 index 000000000..135a918a7 --- /dev/null +++ b/examples/PhasorDynamics/Tiny/TwoBus/Ieeet1/TwoBusIeeet1.hpp @@ -0,0 +1,2420 @@ +/** + * @file TwoBusIeeet1.cpp + * @author Luke Lowery (lukel@tamu.edu) + * @author Adam Birchfield (abirchfield@tamu.edu) + * @brief Reference solution for the 2-bus system obtained with Powerworld + * + */ +#include + +// Must remove the SECOND repeated time point to match PW. + +// Index | Field +// 0 | Time +// 1 | Generator Speed +// 2 | Bus Voltage Magnitude +// 3 | Generator E field +std::vector> reference_solution = + { + {0, 1, 1.00000047684, 1.91404712}, + {0.004167, 1, 1.00000047684, 1.91404712}, + {0.008333, 1, 1.00000047684, 1.91404712}, + {0.0125, 0.99999994, 1.00000047684, 1.91404712}, + {0.016667, 0.99999994, 1.00000047684, 1.91404712}, + {0.020833, 0.99999994, 1.00000047684, 1.91404712}, + {0.025, 0.99999994, 1.00000047684, 1.91404712}, + {0.029167, 0.99999994, 1.00000047684, 1.91404712}, + {0.033333, 0.99999994, 1.00000047684, 1.91404712}, + {0.0375, 0.99999994, 1.00000047684, 1.91404712}, + {0.041667, 0.99999994, 1.00000047684, 1.91404712}, + {0.045833, 0.99999994, 1.00000047684, 1.91404712}, + {0.05, 0.99999988, 1.00000047684, 1.91404712}, + {0.054167, 0.99999988, 1.00000047684, 1.91404712}, + {0.058333, 0.99999988, 1.00000047684, 1.91404712}, + {0.0625, 0.99999988, 1.00000047684, 1.91404712}, + {0.066667, 0.99999988, 1.00000047684, 1.91404712}, + {0.070833, 0.99999988, 1.00000047684, 1.91404712}, + {0.075, 0.99999988, 1.00000047684, 1.91404712}, + {0.079167, 0.99999988, 1.00000047684, 1.91404712}, + {0.083333, 0.99999988, 1.00000047684, 1.91404712}, + {0.0875, 0.99999988, 1.00000047684, 1.91404712}, + {0.091667, 0.99999988, 1.00000047684, 1.91404712}, + {0.095833, 0.99999988, 1.00000047684, 1.91404712}, + {0.1, 0.99999988, 1.00000047684, 1.91404712}, + {0.104167, 0.99999988, 1.00000047684, 1.91404712}, + {0.108333, 0.99999988, 1.00000047684, 1.91404712}, + {0.1125, 0.99999988, 1.00000047684, 1.91404712}, + {0.116667, 0.99999988, 1.00000047684, 1.91404712}, + {0.120833, 0.99999988, 1.00000047684, 1.91404712}, + {0.125, 0.99999988, 1.00000047684, 1.91404712}, + {0.129167, 0.99999988, 1.00000047684, 1.91404712}, + {0.133333, 0.99999988, 1.00000047684, 1.91404712}, + {0.1375, 0.99999994, 1.00000047684, 1.91404712}, + {0.141667, 0.99999994, 1.00000047684, 1.91404712}, + {0.145833, 0.99999994, 1.00000047684, 1.91404712}, + {0.15, 0.99999994, 1.00000047684, 1.91404712}, + {0.154167, 0.99999994, 1.00000047684, 1.91404712}, + {0.158333, 0.99999994, 1.00000047684, 1.91404712}, + {0.1625, 0.99999994, 1.00000047684, 1.91404712}, + {0.166667, 0.99999994, 1.00000047684, 1.91404712}, + {0.170833, 0.99999994, 1.00000047684, 1.91404712}, + {0.175, 0.99999994, 1.00000047684, 1.91404712}, + {0.179167, 0.99999994, 1.00000047684, 1.91404712}, + {0.183333, 0.99999994, 1.00000047684, 1.91404712}, + {0.1875, 0.99999994, 1.00000047684, 1.91404712}, + {0.191667, 0.99999994, 1.00000047684, 1.91404712}, + {0.195833, 1, 1.00000047684, 1.91404712}, + {0.2, 1, 1.00000047684, 1.91404712}, + {0.204167, 1, 1.00000047684, 1.91404712}, + {0.208333, 1, 1.00000047684, 1.91404712}, + {0.2125, 1, 1.00000047684, 1.91404712}, + {0.216667, 1, 1.00000047684, 1.91404712}, + {0.220833, 1, 1.00000047684, 1.91404712}, + {0.225, 1, 1.00000047684, 1.91404712}, + {0.229167, 1, 1.00000047684, 1.91404712}, + {0.233333, 1, 1.00000047684, 1.91404712}, + {0.2375, 1, 1.00000047684, 1.91404712}, + {0.241667, 1, 1.00000047684, 1.91404712}, + {0.245833, 1, 1.00000047684, 1.91404712}, + {0.25, 1, 1.00000047684, 1.91404712}, + {0.254167, 1, 1.00000047684, 1.91404712}, + {0.258333, 1, 1.00000047684, 1.91404712}, + {0.2625, 1, 1.00000047684, 1.91404712}, + {0.266667, 1, 1.00000047684, 1.91404712}, + {0.270833, 1, 1.00000047684, 1.91404712}, + {0.275, 1, 1.00000047684, 1.91404712}, + {0.279167, 1, 1.00000047684, 1.91404712}, + {0.283333, 1, 1.00000047684, 1.91404712}, + {0.2875, 1, 1.00000047684, 1.91404712}, + {0.291667, 1, 1.00000047684, 1.91404712}, + {0.295833, 1.00000012, 1.00000047684, 1.91404712}, + {0.3, 1.00000012, 1.00000047684, 1.91404712}, + {0.304167, 1.00000012, 1.00000047684, 1.91404712}, + {0.308333, 1.00000012, 1.00000047684, 1.91404712}, + {0.3125, 1.00000012, 1.00000047684, 1.91404712}, + {0.316667, 1.00000012, 1.00000047684, 1.91404712}, + {0.320833, 1.00000012, 1.00000047684, 1.91404712}, + {0.325, 1.00000012, 1.00000047684, 1.91404712}, + {0.329167, 1.00000012, 1.00000047684, 1.91404712}, + {0.333333, 1.00000012, 1.00000047684, 1.91404712}, + {0.3375, 1.00000012, 1.00000047684, 1.91404712}, + {0.341667, 1.00000012, 1.00000047684, 1.91404712}, + {0.345833, 1.00000012, 1.00000047684, 1.91404712}, + {0.35, 1.00000012, 1.00000047684, 1.91404712}, + {0.354167, 1.00000012, 1.00000047684, 1.91404712}, + {0.358333, 1.00000012, 1.00000047684, 1.91404712}, + {0.3625, 1, 1.00000047684, 1.91404712}, + {0.366667, 1, 1.00000047684, 1.91404712}, + {0.370833, 1, 1.00000047684, 1.91404712}, + {0.375, 1, 1.00000047684, 1.91404712}, + {0.379167, 1, 1.00000047684, 1.91404712}, + {0.383333, 1, 1.00000047684, 1.91404712}, + {0.3875, 1, 1.00000047684, 1.91404712}, + {0.391667, 1, 1.00000047684, 1.91404712}, + {0.395833, 1, 1.00000047684, 1.91404712}, + {0.4, 1, 1.00000047684, 1.91404712}, + {0.404167, 1, 1.00000047684, 1.91404712}, + {0.408333, 1, 1.00000047684, 1.91404712}, + {0.4125, 1, 1.00000047684, 1.91404712}, + {0.416667, 1, 1.00000047684, 1.91404712}, + {0.420833, 1, 1.00000047684, 1.91404712}, + {0.425, 1, 1.00000047684, 1.91404712}, + {0.429167, 1, 1.00000047684, 1.91404712}, + {0.433333, 1, 1.00000047684, 1.91404712}, + {0.4375, 1, 1.00000047684, 1.91404712}, + {0.441667, 1, 1.00000047684, 1.91404712}, + {0.445833, 1, 1.00000047684, 1.91404712}, + {0.45, 1, 1.00000047684, 1.91404712}, + {0.454167, 1, 1.00000047684, 1.91404712}, + {0.458333, 1, 1.00000047684, 1.91404712}, + {0.4625, 1, 1.00000047684, 1.91404712}, + {0.466667, 1, 1.00000047684, 1.91404712}, + {0.470833, 1, 1.00000047684, 1.91404712}, + {0.475, 1, 1.00000047684, 1.91404712}, + {0.479167, 1, 1.00000047684, 1.91404712}, + {0.483333, 1, 1.00000047684, 1.91404712}, + {0.4875, 1, 1.00000047684, 1.91404712}, + {0.491667, 1, 1.00000047684, 1.91404712}, + {0.495833, 1, 1.00000047684, 1.91404712}, + {0.5, 1, 1.00000047684, 1.91404712}, + {0.504167, 1, 1.00000047684, 1.91404712}, + {0.508333, 1, 1.00000047684, 1.91404712}, + {0.5125, 0.99999994, 1.00000047684, 1.91404712}, + {0.516667, 0.99999994, 1.00000047684, 1.91404712}, + {0.520833, 0.99999994, 1.00000047684, 1.91404712}, + {0.525, 0.99999994, 1.00000047684, 1.91404712}, + {0.529167, 0.99999994, 1.00000047684, 1.91404712}, + {0.533333, 0.99999994, 1.00000047684, 1.91404712}, + {0.5375, 0.99999994, 1.00000047684, 1.91404712}, + {0.541667, 0.99999994, 1.00000047684, 1.91404712}, + {0.545833, 0.99999994, 1.00000047684, 1.91404712}, + {0.55, 0.99999994, 1.00000047684, 1.91404712}, + {0.554167, 0.99999994, 1.00000047684, 1.91404712}, + {0.558333, 0.99999994, 1.00000047684, 1.91404712}, + {0.5625, 0.99999994, 1.00000047684, 1.91404712}, + {0.566667, 0.99999994, 1.00000047684, 1.91404712}, + {0.570833, 0.99999994, 1.00000047684, 1.91404712}, + {0.575, 0.99999994, 1.00000047684, 1.91404712}, + {0.579167, 0.99999994, 1.00000047684, 1.91404712}, + {0.583333, 0.99999994, 1.00000047684, 1.91404712}, + {0.5875, 0.99999994, 1.00000047684, 1.91404712}, + {0.591667, 0.99999994, 1.00000047684, 1.91404712}, + {0.595833, 0.99999994, 1.00000047684, 1.91404712}, + {0.6, 0.99999994, 1.00000047684, 1.91404712}, + {0.604167, 0.99999994, 1.00000047684, 1.91404712}, + {0.608333, 0.99999994, 1.00000047684, 1.91404712}, + {0.6125, 0.99999994, 1.00000047684, 1.91404712}, + {0.616667, 0.99999994, 1.00000047684, 1.91404712}, + {0.620833, 1, 1.00000047684, 1.91404712}, + {0.625, 1, 1.00000047684, 1.91404712}, + {0.629167, 1, 1.00000047684, 1.91404712}, + {0.633333, 1, 1.00000047684, 1.91404712}, + {0.6375, 1, 1.00000047684, 1.91404712}, + {0.641667, 1, 1.00000047684, 1.91404712}, + {0.645833, 1, 1.00000047684, 1.91404712}, + {0.65, 1, 1.00000047684, 1.91404712}, + {0.654167, 1, 1.00000047684, 1.91404712}, + {0.658333, 1, 1.00000047684, 1.91404712}, + {0.6625, 1, 1.00000047684, 1.91404712}, + {0.666667, 1, 1.00000047684, 1.91404712}, + {0.670833, 1, 1.00000047684, 1.91404712}, + {0.675, 1, 1.00000047684, 1.91404712}, + {0.679167, 1, 1.00000047684, 1.91404712}, + {0.683333, 1, 1.00000047684, 1.91404712}, + {0.6875, 1, 1.00000047684, 1.91404712}, + {0.691667, 1, 1.00000047684, 1.91404712}, + {0.695833, 1, 1.00000047684, 1.91404712}, + {0.7, 1, 1.00000047684, 1.91404712}, + {0.704167, 1, 1.00000047684, 1.91404712}, + {0.708333, 1, 1.00000047684, 1.91404712}, + {0.7125, 1, 1.00000047684, 1.91404712}, + {0.716667, 1, 1.00000047684, 1.91404712}, + {0.720833, 1, 1.00000047684, 1.91404712}, + {0.725, 1, 1.00000047684, 1.91404712}, + {0.729167, 1, 1.00000047684, 1.91404712}, + {0.733333, 1, 1.00000047684, 1.91404712}, + {0.7375, 1, 1.00000047684, 1.91404712}, + {0.741667, 1, 1.00000047684, 1.91404712}, + {0.745833, 1, 1.00000047684, 1.91404712}, + {0.75, 1, 1.00000047684, 1.91404712}, + {0.754167, 1, 1.00000047684, 1.91404712}, + {0.758333, 1, 1.00000047684, 1.91404712}, + {0.7625, 1, 1.00000047684, 1.91404712}, + {0.766667, 1, 1.00000047684, 1.91404712}, + {0.770833, 1, 1.00000047684, 1.91404712}, + {0.775, 1, 1.00000047684, 1.91404712}, + {0.779167, 1, 1.00000047684, 1.91404712}, + {0.783333, 1, 1.00000047684, 1.91404712}, + {0.7875, 1, 1.00000047684, 1.91404712}, + {0.791667, 1, 1.00000047684, 1.91404712}, + {0.795833, 1, 1.00000047684, 1.91404712}, + {0.8, 1, 1.00000047684, 1.91404712}, + {0.804167, 1, 1.00000047684, 1.91404712}, + {0.808333, 1, 1.00000047684, 1.91404712}, + {0.8125, 1, 1.00000047684, 1.91404712}, + {0.816667, 1, 1.00000047684, 1.91404712}, + {0.820833, 1, 1.00000047684, 1.91404712}, + {0.825, 1, 1.00000047684, 1.91404712}, + {0.829167, 1, 1.00000047684, 1.91404712}, + {0.833333, 1, 1.00000047684, 1.91404712}, + {0.8375, 1, 1.00000047684, 1.91404712}, + {0.841667, 1, 1.00000047684, 1.91404712}, + {0.845833, 1, 1.00000047684, 1.91404712}, + {0.85, 1, 1.00000047684, 1.91404712}, + {0.854167, 1, 1.00000047684, 1.91404712}, + {0.858333, 1, 1.00000047684, 1.91404712}, + {0.8625, 1, 1.00000047684, 1.91404712}, + {0.866667, 1, 1.00000047684, 1.91404712}, + {0.870833, 1, 1.00000047684, 1.91404712}, + {0.875, 1, 1.00000047684, 1.91404712}, + {0.879167, 1, 1.00000047684, 1.91404712}, + {0.883333, 1, 1.00000047684, 1.91404712}, + {0.8875, 1, 1.00000047684, 1.91404712}, + {0.891667, 1, 1.00000047684, 1.91404712}, + {0.895833, 1, 1.00000047684, 1.91404712}, + {0.9, 1, 1.00000047684, 1.91404712}, + {0.904167, 1, 1.00000047684, 1.91404712}, + {0.908333, 1, 1.00000047684, 1.91404712}, + {0.9125, 1, 1.00000047684, 1.91404712}, + {0.916667, 1, 1.00000047684, 1.91404712}, + {0.920833, 1, 1.00000047684, 1.91404712}, + {0.925, 1, 1.00000047684, 1.91404712}, + {0.929167, 1, 1.00000047684, 1.91404712}, + {0.933333, 1, 1.00000047684, 1.91404712}, + {0.9375, 1, 1.00000047684, 1.91404712}, + {0.941667, 1, 1.00000047684, 1.91404712}, + {0.945833, 1, 1.00000047684, 1.91404712}, + {0.95, 1, 1.00000047684, 1.91404712}, + {0.954167, 1, 1.00000047684, 1.91404712}, + {0.958333, 1, 1.00000047684, 1.91404712}, + {0.9625, 1, 1.00000047684, 1.91404712}, + {0.966667, 1, 1.00000047684, 1.91404712}, + {0.970833, 1, 1.00000047684, 1.91404712}, + {0.975, 1, 1.00000047684, 1.91404712}, + {0.979167, 1, 1.00000047684, 1.91404712}, + {0.983333, 1, 1.00000047684, 1.91404712}, + {0.9875, 1, 1.00000047684, 1.91404712}, + {0.991667, 1, 1.00000047684, 1.91404712}, + {0.995833, 1, 1.00000047684, 1.91404712}, + {1, 1, 1.00000047684, 1.91404712}, + {1.004167, 1.00068271, 0.01512884442, 1.91791844}, + {1.008333, 1.00136328, 0.01497309189, 1.9256624}, + {1.0125, 1.00204241, 0.01484197099, 1.93341136}, + {1.016667, 1.00272012, 0.01472956594, 1.94116366}, + {1.020833, 1.00339615, 0.01463142224, 1.94891727}, + {1.025, 1.00407124, 0.01454409026, 1.95667601}, + {1.029167, 1.00474513, 0.01446497533, 1.96443796}, + {1.033333, 1.00541782, 0.01439205743, 1.97220135}, + {1.0375, 1.00608945, 0.01432369556, 1.97996974}, + {1.041667, 1.00676012, 0.01425862312, 1.98774147}, + {1.045833, 1.0074296, 0.01419581659, 1.99551451}, + {1.05, 1.00809801, 0.01413439307, 2.00329256}, + {1.054167, 1.00876546, 0.01407365873, 2.01107407}, + {1.058333, 1.0094316, 0.01401262637, 2.01885676}, + {1.0625, 1.01009667, 0.01395196095, 2.02664471}, + {1.066667, 1.01076066, 0.01389002427, 2.03443575}, + {1.070833, 1.01142335, 0.01382684149, 2.04222822}, + {1.075, 1.01208484, 0.01376202982, 2.05002594}, + {1.079167, 1.01274526, 0.01369528566, 2.05782676}, + {1.083333, 1.01340413, 0.01362633612, 2.06562901}, + {1.0875, 1.01406193, 0.01355487574, 2.0734365}, + {1.091667, 1.01471829, 0.01348066796, 2.08124709}, + {1.095833, 1.01537323, 0.01340349298, 2.08905911}, + {1.1, 1.01602697, 0.01332308631, 2.09687614}, + {1.104167, 1.01519752, 0.88084387779, 2.10469651}, + {1.108333, 1.01442003, 0.89062070847, 2.11251831}, + {1.1125, 1.01367927, 0.89916884899, 2.12034535}, + {1.116667, 1.01296365, 0.90655964613, 2.1281755}, + {1.120833, 1.01226425, 0.9128896594, 2.13600707}, + {1.125, 1.01157355, 0.91826975346, 2.14384365}, + {1.129167, 1.01088643, 0.92280757427, 2.15168381}, + {1.133333, 1.01019883, 0.92660802603, 2.15952516}, + {1.1375, 1.00950766, 0.92977190018, 2.16737151}, + {1.141667, 1.008811, 0.93238961697, 2.17522144}, + {1.145833, 1.0081079, 0.93454378843, 2.18307257}, + {1.15, 1.00739741, 0.93630999327, 2.19092894}, + {1.154167, 1.00667965, 0.93775439262, 2.1987884}, + {1.158333, 1.00595498, 0.9389359951, 2.2066493}, + {1.1625, 1.00522387, 0.9399074316, 2.21451569}, + {1.166667, 1.0044874, 0.94071418047, 2.22238493}, + {1.170833, 1.00374687, 0.94139587879, 2.23025584}, + {1.175, 1.00300324, 0.94198739529, 2.23813176}, + {1.179167, 1.00225818, 0.94251805544, 2.24601102}, + {1.183333, 1.00151336, 0.9430128336, 2.25389171}, + {1.1875, 1.00076997, 0.94349306822, 2.26177764}, + {1.191667, 1.00003004, 0.94397592545, 2.26966667}, + {1.195833, 0.99929547, 0.94447511435, 2.27755713}, + {1.2, 0.99856764, 0.94500184059, 2.28545284}, + {1.204167, 0.99784845, 0.94556391239, 2.29335189}, + {1.208333, 0.99713987, 0.94616669416, 2.30125237}, + {1.2125, 0.99644333, 0.94681370258, 2.30915785}, + {1.216667, 0.99576074, 0.94750595093, 2.31706643}, + {1.220833, 0.99509406, 0.94824248552, 2.32497573}, + {1.225, 0.99444455, 0.94902133942, 2.33288956}, + {1.229167, 0.99381411, 0.94983875751, 2.34080529}, + {1.233333, 0.99320441, 0.95068943501, 2.34872079}, + {1.2375, 0.99261671, 0.95156806707, 2.35663962}, + {1.241667, 0.99205261, 0.95246779919, 2.36455965}, + {1.245833, 0.99151373, 0.95338106155, 2.37247133}, + {1.25, 0.99100107, 0.95430076122, 2.38032627}, + {1.254167, 0.99051595, 0.95521885157, 2.3880825}, + {1.258333, 0.99005967, 0.95612728596, 2.39570212}, + {1.2625, 0.98963302, 0.95701873302, 2.40315723}, + {1.266667, 0.98923707, 0.95787984133, 2.41041827}, + {1.270833, 0.98887283, 0.95872032642, 2.4174602}, + {1.275, 0.98854053, 0.95951771736, 2.42426634}, + {1.279167, 0.98824102, 0.96027159691, 2.43081951}, + {1.283333, 0.98797476, 0.96098160744, 2.43710566}, + {1.2875, 0.98774201, 0.96162956953, 2.44311905}, + {1.291667, 0.98754287, 0.96223527193, 2.44885278}, + {1.295833, 0.98737758, 0.96276521683, 2.45430326}, + {1.3, 0.98724598, 0.96325623989, 2.45947361}, + {1.304167, 0.98714787, 0.96366399527, 2.46436572}, + {1.308333, 0.98708302, 0.96403735876, 2.46898389}, + {1.3125, 0.98705089, 0.96432584524, 2.47333789}, + {1.316667, 0.98705107, 0.96458590031, 2.47743654}, + {1.320833, 0.98708266, 0.96476459503, 2.48128963}, + {1.325, 0.98714489, 0.96492159367, 2.4849112}, + {1.329167, 0.98723656, 0.96500515938, 2.48831391}, + {1.333333, 0.98735696, 0.96507418156, 2.49151134}, + {1.3375, 0.98750502, 0.96508157253, 2.494519}, + {1.341667, 0.98767984, 0.96508139372, 2.49735117}, + {1.345833, 0.98788011, 0.96503347158, 2.50002193}, + {1.35, 0.988105, 0.96497541666, 2.50254726}, + {1.354167, 0.98835325, 0.96490204334, 2.50494051}, + {1.358333, 0.98862362, 0.96481847763, 2.50721502}, + {1.3625, 0.98891497, 0.9647294879, 2.50938416}, + {1.366667, 0.98922604, 0.96463984251, 2.51145983}, + {1.370833, 0.9895556, 0.96455389261, 2.51345229}, + {1.375, 0.9899025, 0.9644755125, 2.51537251}, + {1.379167, 0.99026549, 0.96440839767, 2.51722884}, + {1.383333, 0.99064332, 0.96435564756, 2.51902843}, + {1.3875, 0.99103487, 0.96432000399, 2.52077913}, + {1.391667, 0.99143898, 0.96430385113, 2.52248549}, + {1.395833, 0.99185431, 0.96430909634, 2.5241518}, + {1.4, 0.99228001, 0.96433711052, 2.52578163}, + {1.404167, 0.99271476, 0.96438902617, 2.52737737}, + {1.408333, 0.99315745, 0.96446555853, 2.52893972}, + {1.4125, 0.99360722, 0.96456706524, 2.53046966}, + {1.416667, 0.9940629, 0.96469348669, 2.53196621}, + {1.420833, 0.99452329, 0.96484458447, 2.53342819}, + {1.425, 0.99498779, 0.96501988173, 2.53485441}, + {1.429167, 0.99545515, 0.96521854401, 2.53624177}, + {1.433333, 0.99592447, 0.96543955803, 2.53758717}, + {1.4375, 0.99639493, 0.96568185091, 2.53888822}, + {1.441667, 0.99686563, 0.96594417095, 2.54014063}, + {1.445833, 0.99733549, 0.96622031927, 2.54134059}, + {1.45, 0.99780387, 0.96652340889, 2.54248476}, + {1.454167, 0.99827003, 0.96683251858, 2.54356885}, + {1.458333, 0.99873281, 0.96716487408, 2.54458833}, + {1.4625, 0.99919188, 0.96750092506, 2.54553986}, + {1.466667, 0.99964613, 0.96785628796, 2.54641938}, + {1.470833, 1.00009501, 0.96821296215, 2.54722285}, + {1.475, 1.00053763, 0.96858501434, 2.54794741}, + {1.479167, 1.00097358, 0.96895647049, 2.54858947}, + {1.483333, 1.00140178, 0.9693390727, 2.54914618}, + {1.4875, 1.00182188, 0.96971952915, 2.54961514}, + {1.491667, 1.00223303, 0.97010737658, 2.54999352}, + {1.495833, 1.00263464, 0.97049343586, 2.55027986}, + {1.5, 1.00302613, 0.97087776661, 2.5504725}, + {1.504167, 1.00340688, 0.97126418352, 2.55057001}, + {1.508333, 1.00377631, 0.97164535522, 2.55057192}, + {1.5125, 1.00413382, 0.97202545404, 2.55047727}, + {1.516667, 1.00447905, 0.97239977121, 2.55028629}, + {1.520833, 1.00481117, 0.97276991606, 2.54999924}, + {1.525, 1.00512993, 0.97313392162, 2.54961658}, + {1.529167, 1.00543487, 0.97349101305, 2.54913926}, + {1.533333, 1.0057255, 0.97384166718, 2.54856873}, + {1.5375, 1.00600135, 0.97418284416, 2.54790616}, + {1.541667, 1.00626206, 0.97451770306, 2.54715395}, + {1.545833, 1.00650716, 0.9748404026, 2.54631424}, + {1.55, 1.00673652, 0.97515708208, 2.54538918}, + {1.554167, 1.00694954, 0.97545921803, 2.54438162}, + {1.558333, 1.007146, 0.97575551271, 2.54329491}, + {1.5625, 1.00732577, 0.97603493929, 2.54213166}, + {1.566667, 1.00748837, 0.97630894184, 2.54089546}, + {1.570833, 1.00763369, 0.97656369209, 2.53959036}, + {1.575, 1.0077616, 0.97681349516, 2.53821945}, + {1.579167, 1.00787175, 0.97704195976, 2.53678703}, + {1.583333, 1.00796413, 0.9772657156, 2.53529787}, + {1.5875, 1.00803864, 0.97746616602, 2.53375554}, + {1.591667, 1.00809503, 0.97766250372, 2.53216457}, + {1.595833, 1.00813329, 0.97783368826, 2.53052998}, + {1.6, 1.00815356, 0.97800117731, 2.52885604}, + {1.604167, 1.0081557, 0.9781421423, 2.52714753}, + {1.608333, 1.00813973, 0.97827988863, 2.52541018}, + {1.6125, 1.00810587, 0.97839021683, 2.52364779}, + {1.616667, 1.00805414, 0.97849780321, 2.52186584}, + {1.620833, 1.00798476, 0.97857767344, 2.52007008}, + {1.625, 1.00789773, 0.97865527868, 2.51826453}, + {1.629167, 1.00779355, 0.97870564461, 2.51645494}, + {1.633333, 1.00767219, 0.97875422239, 2.51464653}, + {1.6375, 1.00753427, 0.97877693176, 2.51284361}, + {1.641667, 1.00737989, 0.97879838943, 2.51105165}, + {1.645833, 1.00720954, 0.97879612446, 2.50927591}, + {1.65, 1.00702345, 0.97879326344, 2.50752044}, + {1.654167, 1.00682247, 0.9787697196, 2.50579}, + {1.658333, 1.0066067, 0.97874623537, 2.50408959}, + {1.6625, 1.00637686, 0.97870600224, 2.50242281}, + {1.666667, 1.00613344, 0.97866648436, 2.50079393}, + {1.670833, 1.00587714, 0.97861498594, 2.49920678}, + {1.675, 1.00560856, 0.97856485844, 2.49766469}, + {1.679167, 1.0053283, 0.978507936, 2.49617052}, + {1.683333, 1.00503719, 0.97845309973, 2.49472785}, + {1.6875, 1.00473583, 0.97839725018, 2.49333811}, + {1.691667, 1.00442493, 0.97834390402, 2.49200392}, + {1.695833, 1.00410569, 0.97829550505, 2.49072695}, + {1.7, 1.00377834, 0.97825008631, 2.48950768}, + {1.704167, 1.00344419, 0.97821527719, 2.48834753}, + {1.708333, 1.00310385, 0.97818374634, 2.48724675}, + {1.7125, 1.00275815, 0.97816830873, 2.48620462}, + {1.716667, 1.00240803, 0.97816091776, 2.48522091}, + {1.720833, 1.00205457, 0.97816556692, 2.48429441}, + {1.725, 1.00169837, 0.97818315029, 2.48342371}, + {1.729167, 1.00134051, 0.97821456194, 2.48260641}, + {1.733333, 1.00098205, 0.97826039791, 2.48184061}, + {1.7375, 1.00062358, 0.97832131386, 2.48112321}, + {1.741667, 1.00026619, 0.97839748859, 2.48045111}, + {1.745833, 0.99991095, 0.97848916054, 2.47982121}, + {1.75, 0.99955845, 0.97858858109, 2.47922945}, + {1.754167, 0.99920982, 0.97871786356, 2.47867203}, + {1.758333, 0.99886584, 0.97884738445, 2.47814465}, + {1.7625, 0.99852741, 0.9790058732, 2.47764301}, + {1.766667, 0.99819517, 0.97916352749, 2.47716284}, + {1.770833, 0.99787033, 0.97934800386, 2.47669935}, + {1.775, 0.99755323, 0.97953051329, 2.47624779}, + {1.779167, 0.99724501, 0.97973686457, 2.47580385}, + {1.783333, 0.99694616, 0.9799399972, 2.47536278}, + {1.7875, 0.99665749, 0.98016309738, 2.47492051}, + {1.791667, 0.99637961, 0.98038190603, 2.47447252}, + {1.795833, 0.9961133, 0.98061615229, 2.47401524}, + {1.8, 0.99585891, 0.98084515333, 2.47354412}, + {1.804167, 0.99561721, 0.98108488321, 2.47305608}, + {1.808333, 0.99538857, 0.98131847382, 2.47254777}, + {1.8125, 0.99517351, 0.98155796528, 2.47201633}, + {1.816667, 0.99497241, 0.98179084063, 2.47145891}, + {1.820833, 0.99478579, 0.98202496767, 2.47087383}, + {1.825, 0.99461377, 0.98225218058, 2.47025871}, + {1.829167, 0.99445671, 0.98247659206, 2.46961188}, + {1.833333, 0.99431485, 0.98269385099, 2.46893311}, + {1.8375, 0.99418843, 0.98290497065, 2.46822071}, + {1.841667, 0.99407744, 0.98310923576, 2.46747494}, + {1.845833, 0.99398208, 0.98330450058, 2.46669555}, + {1.85, 0.99390239, 0.98349350691, 2.46588254}, + {1.854167, 0.99383825, 0.98367166519, 2.46503687}, + {1.858333, 0.99378979, 0.98384416103, 2.46415973}, + {1.8625, 0.99375671, 0.98400491476, 2.46325159}, + {1.866667, 0.99373901, 0.98416095972, 2.46231437}, + {1.870833, 0.99373645, 0.98430502415, 2.46134949}, + {1.875, 0.99374884, 0.98444545269, 2.46035862}, + {1.879167, 0.9937759, 0.98457449675, 2.45934391}, + {1.883333, 0.99381739, 0.98470103741, 2.45830703}, + {1.8875, 0.99387282, 0.98481744528, 2.45725012}, + {1.891667, 0.99394202, 0.98493242264, 2.45617533}, + {1.895833, 0.99402446, 0.98503899574, 2.45508504}, + {1.9, 0.99411988, 0.98514527082, 2.45398092}, + {1.904167, 0.99422765, 0.98524516821, 2.45286489}, + {1.908333, 0.99434739, 0.98534572124, 2.45173931}, + {1.9125, 0.99447864, 0.98544216156, 2.45060563}, + {1.916667, 0.99462092, 0.9855401516, 2.44946551}, + {1.920833, 0.99477351, 0.98563617468, 2.4483211}, + {1.925, 0.99493617, 0.98573452234, 2.44717312}, + {1.929167, 0.99510813, 0.98583304882, 2.44602299}, + {1.933333, 0.99528891, 0.98593437672, 2.4448719}, + {1.9375, 0.9954778, 0.98603779078, 2.44372058}, + {1.941667, 0.99567425, 0.98614442348, 2.44256973}, + {1.945833, 0.9958775, 0.98625463247, 2.44142008}, + {1.95, 0.99608725, 0.98636823893, 2.44027162}, + {1.954167, 0.99630266, 0.98648679256, 2.43912435}, + {1.958333, 0.99652332, 0.98660868406, 2.43797874}, + {1.9625, 0.99674851, 0.98673641682, 2.43683434}, + {1.966667, 0.99697787, 0.98686742783, 2.4356904}, + {1.970833, 0.99721056, 0.98700475693, 2.43454742}, + {1.975, 0.9974463, 0.98714512587, 2.43340349}, + {1.979167, 0.9976843, 0.98729193211, 2.43225884}, + {1.983333, 0.99792409, 0.98744130135, 2.43111253}, + {1.9875, 0.99816513, 0.98759710789, 2.42996311}, + {1.991667, 0.99840695, 0.98775494099, 2.42881012}, + {1.995833, 0.99864876, 0.98791867495, 2.4276526}, + {2, 0.9988904, 0.98808401823, 2.42648888}, + {2.004167, 0.99913108, 0.98825454712, 2.42531824}, + {2.008333, 0.99937034, 0.98842602968, 2.42413974}, + {2.0125, 0.9996078, 0.98860180378, 2.42295218}, + {2.016667, 0.99984288, 0.98877805471, 2.42175436}, + {2.020833, 1.0000751, 0.9889575243, 2.42054582}, + {2.025, 1.0003041, 0.98913693428, 2.41932487}, + {2.029167, 1.00052929, 0.98931837082, 2.4180913}, + {2.033333, 1.0007503, 0.98949915171, 2.41684389}, + {2.0375, 1.00096679, 0.98968082666, 2.41558194}, + {2.041667, 1.00117826, 0.98986148834, 2.41430497}, + {2.045833, 1.00138414, 0.99004155397, 2.4130125}, + {2.05, 1.00158441, 0.9902203083, 2.41170359}, + {2.054167, 1.00177836, 0.99039727449, 2.41037846}, + {2.058333, 1.00196588, 0.99057245255, 2.40903711}, + {2.0625, 1.00214648, 0.99074470997, 2.40767837}, + {2.066667, 1.00231993, 0.99091494083, 2.40630317}, + {2.070833, 1.00248587, 0.99108093977, 2.40491176}, + {2.075, 1.00264418, 0.99124479294, 2.40350366}, + {2.079167, 1.00279438, 0.9914034009, 2.40207958}, + {2.083333, 1.00293624, 0.99155968428, 2.40064025}, + {2.0875, 1.00306964, 0.99170964956, 2.3991859}, + {2.091667, 1.00319433, 0.99185734987, 2.397717}, + {2.095833, 1.00331008, 0.99199771881, 2.39623547}, + {2.1, 1.0034169, 0.99213582277, 2.39474082}, + {2.104167, 1.00351429, 0.99226593971, 2.39323473}, + {2.108333, 1.00360239, 0.99239379168, 2.39171839}, + {2.1125, 1.00368106, 0.99251300097, 2.39019275}, + {2.116667, 1.00375009, 0.99263012409, 2.38865876}, + {2.120833, 1.00380945, 0.9927380681, 2.38711858}, + {2.125, 1.00385916, 0.99284404516, 2.38557267}, + {2.129167, 1.0038991, 0.99294060469, 2.38402295}, + {2.133333, 1.00392938, 0.99303537607, 2.38247108}, + {2.1375, 1.00394988, 0.99312055111, 2.38091779}, + {2.141667, 1.00396061, 0.99320423603, 2.37936521}, + {2.145833, 1.00396168, 0.9932783246, 2.37781525}, + {2.15, 1.00395322, 0.99335122108, 2.37626863}, + {2.154167, 1.00393534, 0.99341475964, 2.37472725}, + {2.158333, 1.00390792, 0.99347728491, 2.37319326}, + {2.1625, 1.00387132, 0.99353098869, 2.37166739}, + {2.166667, 1.00382566, 0.99358403683, 2.37015176}, + {2.170833, 1.00377107, 0.99362879992, 2.36864781}, + {2.175, 1.00370765, 0.99367320538, 2.36715674}, + {2.179167, 1.00363576, 0.99371021986, 2.36568022}, + {2.183333, 1.00355554, 0.99374711514, 2.3642199}, + {2.1875, 1.00346732, 0.99377763271, 2.36277628}, + {2.191667, 1.00337136, 0.99380832911, 2.36135125}, + {2.195833, 1.00326788, 0.99383383989, 2.35994625}, + {2.2, 1.00315714, 0.99385976791, 2.35856152}, + {2.204167, 1.0030396, 0.99388182163, 2.35719848}, + {2.208333, 1.00291538, 0.9939044714, 2.35585856}, + {2.2125, 1.00278509, 0.99392473698, 2.35454154}, + {2.216667, 1.00264895, 0.99394571781, 2.35324883}, + {2.220833, 1.00250733, 0.99396568537, 2.35198092}, + {2.225, 1.00236058, 0.9939866066, 2.35073781}, + {2.229167, 1.00220919, 0.99400800467, 2.34952021}, + {2.233333, 1.00205362, 0.99403035641, 2.34832859}, + {2.2375, 1.001894, 0.99405455589, 2.34716225}, + {2.241667, 1.00173104, 0.99407988787, 2.34602189}, + {2.245833, 1.0015651, 0.99410825968, 2.34490705}, + {2.25, 1.00139654, 0.99413776398, 2.34381747}, + {2.254167, 1.00122583, 0.99417155981, 2.3427527}, + {2.258333, 1.00105345, 0.99420630932, 2.34171271}, + {2.2625, 1.00087988, 0.99424636364, 2.3406961}, + {2.266667, 1.00070548, 0.99428737164, 2.33970237}, + {2.270833, 1.00053072, 0.9943343401, 2.33873129}, + {2.275, 1.00035608, 0.99438208342, 2.33778143}, + {2.279167, 1.00018191, 0.99443638325, 2.3368516}, + {2.283333, 1.0000087, 0.99449127913, 2.33594155}, + {2.2875, 0.99983698, 0.99455302954, 2.33504915}, + {2.291667, 0.99966699, 0.99461507797, 2.33417368}, + {2.295833, 0.99949938, 0.99468404055, 2.33331418}, + {2.3, 0.99933428, 0.99475306273, 2.33246875}, + {2.304167, 0.99917227, 0.99482882023, 2.33163619}, + {2.308333, 0.99901372, 0.99490445852, 2.33081579}, + {2.3125, 0.99885893, 0.9949863553, 2.33000541}, + {2.316667, 0.99870831, 0.99506783485, 2.32920408}, + {2.320833, 0.99856222, 0.99515509605, 2.32841063}, + {2.325, 0.99842089, 0.995241642, 2.32762337}, + {2.329167, 0.99828482, 0.99533325434, 2.32684112}, + {2.333333, 0.99815416, 0.99542397261, 2.32606292}, + {2.3375, 0.99802923, 0.99551892281, 2.32528734}, + {2.341667, 0.9979102, 0.99561280012, 2.32451296}, + {2.345833, 0.99779755, 0.9957100153, 2.32373929}, + {2.35, 0.99769121, 0.99580603838, 2.32296467}, + {2.354167, 0.99759161, 0.99590456486, 2.32218838}, + {2.358333, 0.99749881, 0.99600178003, 2.3214097}, + {2.3625, 0.99741304, 0.99610066414, 2.32062769}, + {2.366667, 0.99733436, 0.99619817734, 2.31984138}, + {2.370833, 0.99726295, 0.99629658461, 2.31905055}, + {2.375, 0.99719888, 0.99639368057, 2.31825399}, + {2.379167, 0.99714226, 0.99649101496, 2.31745172}, + {2.383333, 0.99709314, 0.99658703804, 2.31664324}, + {2.3875, 0.99705148, 0.9966827631, 2.31582785}, + {2.391667, 0.99701738, 0.99677729607, 2.31500554}, + {2.395833, 0.99699086, 0.99687105417, 2.31417608}, + {2.4, 0.99697179, 0.9969638586, 2.31333899}, + {2.404167, 0.99696016, 0.99705559015, 2.31249452}, + {2.408333, 0.99695593, 0.99714648724, 2.31164265}, + {2.4125, 0.99695903, 0.99723619223, 2.31078291}, + {2.416667, 0.99696928, 0.99732524157, 2.30991554}, + {2.420833, 0.99698669, 0.99741309881, 2.30904102}, + {2.425, 0.99701101, 0.99750047922, 2.30815887}, + {2.429167, 0.99704212, 0.99758672714, 2.30726957}, + {2.433333, 0.99707991, 0.99767273664, 2.30637312}, + {2.4375, 0.99712414, 0.99775773287, 2.30546975}, + {2.441667, 0.99717462, 0.99784272909, 2.30455947}, + {2.445833, 0.99723113, 0.99792683125, 2.30364275}, + {2.45, 0.99729353, 0.99801117182, 2.30271959}, + {2.454167, 0.99736148, 0.99809491634, 2.30179}, + {2.458333, 0.99743479, 0.99817895889, 2.30085468}, + {2.4625, 0.99751323, 0.99826270342, 2.29991317}, + {2.466667, 0.99759656, 0.99834692478, 2.29896593}, + {2.470833, 0.99768436, 0.99843096733, 2.29801345}, + {2.475, 0.99777639, 0.99851560593, 2.29705524}, + {2.479167, 0.99787241, 0.99860030413, 2.29609156}, + {2.483333, 0.99797207, 0.99868553877, 2.29512286}, + {2.4875, 0.99807507, 0.99877113104, 2.29414868}, + {2.491667, 0.99818122, 0.99885731936, 2.29316926}, + {2.495833, 0.99829012, 0.9989438653, 2.29218507}, + {2.5, 0.99840158, 0.99903106689, 2.29119563}, + {2.504167, 0.99851519, 0.99911868572, 2.29020095}, + {2.508333, 0.99863076, 0.99920684099, 2.28920126}, + {2.5125, 0.99874794, 0.99929541349, 2.28819633}, + {2.516667, 0.9988665, 0.99938452244, 2.28718615}, + {2.520833, 0.99898595, 0.9994738698, 2.2861712}, + {2.525, 0.99910629, 0.999563694, 2.28515053}, + {2.529167, 0.99922699, 0.99965363741, 2.28412437}, + {2.533333, 0.99934793, 0.99974387884, 2.28309345}, + {2.5375, 0.99946868, 0.99983406067, 2.28205657}, + {2.541667, 0.99958909, 0.99992436171, 2.2810142}, + {2.545833, 0.99970877, 1.00001430511, 2.27996683}, + {2.55, 0.99982762, 1.00010442734, 2.2789135}, + {2.554167, 0.99994516, 1.0001937151, 2.27785468}, + {2.558333, 1.00006127, 1.00028300285, 2.27679038}, + {2.5625, 1.00017571, 1.00037133694, 2.2757206}, + {2.566667, 1.00028825, 1.00045931339, 2.27464533}, + {2.570833, 1.0003984, 1.00054597855, 2.27356482}, + {2.575, 1.00050628, 1.00063228607, 2.27247882}, + {2.579167, 1.00061154, 1.00071692467, 2.27138782}, + {2.583333, 1.00071383, 1.00080096722, 2.27029181}, + {2.5875, 1.00081301, 1.00088298321, 2.26919103}, + {2.591667, 1.00090897, 1.00096440315, 2.26808548}, + {2.595833, 1.00100148, 1.0010433197, 2.26697588}, + {2.6, 1.00109041, 1.00112164021, 2.26586175}, + {2.604167, 1.0011754, 1.00119709969, 2.26474404}, + {2.608333, 1.00125647, 1.00127184391, 2.263623}, + {2.6125, 1.00133348, 1.00134348869, 2.26249886}, + {2.616667, 1.00140619, 1.00141441822, 2.26137185}, + {2.620833, 1.0014745, 1.00148189068, 2.2602427}, + {2.625, 1.0015384, 1.00154876709, 2.25911164}, + {2.629167, 1.00159764, 1.0016118288, 2.25797915}, + {2.633333, 1.00165224, 1.00167429447, 2.25684619}, + {2.6375, 1.00170207, 1.00173294544, 2.25571251}, + {2.641667, 1.00174701, 1.00179088116, 2.25457907}, + {2.645833, 1.00178719, 1.00184488297, 2.25344682}, + {2.65, 1.00182223, 1.00189816952, 2.25231552}, + {2.654167, 1.00185251, 1.00194764137, 2.25118613}, + {2.658333, 1.00187767, 1.00199639797, 2.2500596}, + {2.6625, 1.00189781, 1.00204122066, 2.2489357}, + {2.666667, 1.00191307, 1.00208556652, 2.24781585}, + {2.670833, 1.00192332, 1.00212597847, 2.24670029}, + {2.675, 1.00192857, 1.00216603279, 2.24558949}, + {2.679167, 1.00192881, 1.00220227242, 2.24448442}, + {2.683333, 1.00192428, 1.00223815441, 2.24338555}, + {2.6875, 1.00191486, 1.00227057934, 2.24229312}, + {2.691667, 1.00190079, 1.00230276585, 2.24120808}, + {2.695833, 1.00188196, 1.00233161449, 2.24013114}, + {2.7, 1.00185859, 1.00236034393, 2.23906231}, + {2.704167, 1.0018307, 1.00238609314, 2.2380023}, + {2.708333, 1.00179851, 1.00241184235, 2.23695207}, + {2.7125, 1.00176203, 1.00243508816, 2.23591137}, + {2.716667, 1.00172138, 1.00245833397, 2.23488092}, + {2.720833, 1.0016768, 1.0024793148, 2.23386145}, + {2.725, 1.00162828, 1.00250053406, 2.23285294}, + {2.729167, 1.00157619, 1.00252008438, 2.23185563}, + {2.733333, 1.00152063, 1.00253975391, 2.23087049}, + {2.7375, 1.00146163, 1.00255811214, 2.22989702}, + {2.741667, 1.0013994, 1.002576828, 2.22893572}, + {2.745833, 1.00133431, 1.0025947094, 2.22798705}, + {2.75, 1.00126636, 1.00261294842, 2.22705078}, + {2.754167, 1.00119579, 1.00263082981, 2.22612691}, + {2.758333, 1.00112283, 1.00264906883, 2.22521615}, + {2.7625, 1.00104773, 1.00266742706, 2.22431779}, + {2.766667, 1.0009706, 1.00268626213, 2.2234323}, + {2.770833, 1.00089169, 1.00270557404, 2.22255945}, + {2.775, 1.0008111, 1.00272524357, 2.221699}, + {2.779167, 1.00072932, 1.00274586678, 2.22085071}, + {2.783333, 1.00064635, 1.00276684761, 2.22001481}, + {2.7875, 1.00056243, 1.00278913975, 2.21919084}, + {2.791667, 1.00047791, 1.00281190872, 2.21837854}, + {2.795833, 1.00039291, 1.00283610821, 2.2175777}, + {2.8, 1.00030756, 1.00286066532, 2.21678782}, + {2.804167, 1.00022221, 1.00288712978, 2.21600866}, + {2.808333, 1.00013709, 1.00291371346, 2.21523976}, + {2.8125, 1.00005233, 1.00294244289, 2.21448088}, + {2.816667, 0.99996817, 1.00297129154, 2.21373129}, + {2.820833, 0.9998849, 1.00300228596, 2.212991}, + {2.825, 0.99980253, 1.00303339958, 2.21225905}, + {2.829167, 0.99972147, 1.00306677818, 2.21153498}, + {2.833333, 0.99964178, 1.00310015678, 2.21081877}, + {2.8375, 0.99956363, 1.00313568115, 2.21010947}, + {2.841667, 0.99948734, 1.00317132473, 2.20940685}, + {2.845833, 0.99941295, 1.00320899487, 2.20871019}, + {2.85, 0.99934071, 1.003246665, 2.20801878}, + {2.854167, 0.99927074, 1.00328636169, 2.20733261}, + {2.858333, 0.99920321, 1.00332593918, 2.20665073}, + {2.8625, 0.9991383, 1.00336742401, 2.20597291}, + {2.866667, 0.99907607, 1.00340878963, 2.20529842}, + {2.870833, 0.9990167, 1.00345182419, 2.20462704}, + {2.875, 0.99896026, 1.00349462032, 2.2039578}, + {2.879167, 0.99890697, 1.00353896618, 2.2032907}, + {2.883333, 0.99885684, 1.00358307362, 2.20262551}, + {2.8875, 0.99880993, 1.00362861156, 2.20196104}, + {2.891667, 0.99876642, 1.00367379189, 2.20129728}, + {2.895833, 0.99872637, 1.0037201643, 2.200634}, + {2.9, 0.99868983, 1.00376617908, 2.19997048}, + {2.904167, 0.99865675, 1.00381326675, 2.19930673}, + {2.908333, 0.99862736, 1.0038599968, 2.19864225}, + {2.9125, 0.99860156, 1.0039075613, 2.19797659}, + {2.916667, 0.99857938, 1.00395476818, 2.19730949}, + {2.920833, 0.99856085, 1.00400257111, 2.19664073}, + {2.925, 0.99854606, 1.00405025482, 2.1959703}, + {2.929167, 0.99853486, 1.00409829617, 2.19529748}, + {2.933333, 0.99852735, 1.00414609909, 2.19462252}, + {2.9375, 0.99852347, 1.00419425964, 2.19394493}, + {2.941667, 0.99852318, 1.00424218178, 2.19326472}, + {2.945833, 0.99852639, 1.00429034233, 2.19258165}, + {2.95, 0.99853313, 1.00433826447, 2.19189548}, + {2.954167, 0.99854332, 1.00438642502, 2.19120622}, + {2.958333, 0.99855691, 1.00443434715, 2.19051409}, + {2.9625, 0.99857378, 1.0044823885, 2.18981838}, + {2.966667, 0.99859387, 1.00453031063, 2.1891191}, + {2.970833, 0.99861711, 1.00457811356, 2.18841672}, + {2.975, 0.99864334, 1.00462591648, 2.18771076}, + {2.979167, 0.99867254, 1.00467371941, 2.18700099}, + {2.983333, 0.99870455, 1.00472140312, 2.18628812}, + {2.9875, 0.9987393, 1.00476896763, 2.18557119}, + {2.991667, 0.99877667, 1.00481665134, 2.18485093}, + {2.995833, 0.99881643, 1.00486397743, 2.18412709}, + {3, 0.99885857, 1.00491142273, 2.18339944}, + {3.004167, 0.99890286, 1.00495862961, 2.18266821}, + {3.008333, 0.99894917, 1.0050059557, 2.1819334}, + {3.0125, 0.99899739, 1.00505280495, 2.18119502}, + {3.016667, 0.9990474, 1.00509989262, 2.18045306}, + {3.020833, 0.99909896, 1.00514650345, 2.17970777}, + {3.025, 0.999152, 1.00519323349, 2.17895865}, + {3.029167, 0.99920636, 1.0052396059, 2.17820621}, + {3.033333, 0.99926198, 1.00528597832, 2.17745066}, + {3.0375, 0.99931854, 1.00533187389, 2.17669129}, + {3.041667, 0.999376, 1.00537788868, 2.17592883}, + {3.045833, 0.99943417, 1.00542330742, 2.17516327}, + {3.05, 0.999493, 1.00546872616, 2.17439461}, + {3.054167, 0.99955219, 1.00551354885, 2.17362261}, + {3.058333, 0.99961168, 1.00555837154, 2.17284775}, + {3.0625, 0.99967134, 1.00560235977, 2.17207003}, + {3.066667, 0.999731, 1.00564646721, 2.17128921}, + {3.070833, 0.99979049, 1.00568962097, 2.170506}, + {3.075, 0.99984968, 1.00573277473, 2.16971993}, + {3.079167, 0.99990845, 1.00577485561, 2.16893125}, + {3.083333, 0.99996668, 1.00581693649, 2.16814065}, + {3.0875, 1.0000242, 1.00585794449, 2.16734743}, + {3.091667, 1.00008094, 1.00589871407, 2.16655207}, + {3.095833, 1.00013673, 1.00593841076, 2.16575503}, + {3.1, 1.00019133, 1.00597786903, 2.16495609}, + {3.104167, 1.00024486, 1.00601601601, 2.16415524}, + {3.108333, 1.00029707, 1.00605404377, 2.1633532}, + {3.1125, 1.00034773, 1.00609052181, 2.16254997}, + {3.116667, 1.00039697, 1.00612699986, 2.16174531}, + {3.120833, 1.00044465, 1.00616168976, 2.16094017}, + {3.125, 1.00049043, 1.00619637966, 2.16013384}, + {3.129167, 1.00053453, 1.00622928143, 2.15932727}, + {3.133333, 1.00057662, 1.00626206398, 2.1585207}, + {3.1375, 1.00061679, 1.00629293919, 2.15771389}, + {3.141667, 1.00065482, 1.00632381439, 2.15690732}, + {3.145833, 1.00069082, 1.00635278225, 2.15610123}, + {3.15, 1.00072455, 1.00638151169, 2.15529585}, + {3.154167, 1.00075603, 1.00640845299, 2.15449142}, + {3.158333, 1.00078523, 1.00643515587, 2.15368843}, + {3.1625, 1.00081205, 1.0064599514, 2.15288687}, + {3.166667, 1.00083649, 1.00648462772, 2.15208673}, + {3.170833, 1.00085843, 1.00650727749, 2.15128922}, + {3.175, 1.0008781, 1.00652992725, 2.15049362}, + {3.179167, 1.00089514, 1.00655055046, 2.14970064}, + {3.183333, 1.00090969, 1.00657117367, 2.14891076}, + {3.1875, 1.00092185, 1.00658988953, 2.1481235}, + {3.191667, 1.00093138, 1.00660848618, 2.14734006}, + {3.195833, 1.00093853, 1.00662529469, 2.14656019}, + {3.2, 1.00094318, 1.00664198399, 2.14578414}, + {3.204167, 1.00094533, 1.00665712357, 2.14501214}, + {3.208333, 1.00094497, 1.00667202473, 2.14424467}, + {3.2125, 1.00094223, 1.00668549538, 2.14348173}, + {3.216667, 1.0009371, 1.00669884682, 2.1427238}, + {3.220833, 1.00092971, 1.00671076775, 2.14197087}, + {3.225, 1.00091994, 1.00672268867, 2.14122319}, + {3.229167, 1.0009079, 1.0067332983, 2.140481}, + {3.233333, 1.00089359, 1.00674390793, 2.13974452}, + {3.2375, 1.00087726, 1.00675332546, 2.13901401}, + {3.241667, 1.00085878, 1.00676286221, 2.13828921}, + {3.245833, 1.00083828, 1.00677144527, 2.13757086}, + {3.25, 1.00081587, 1.00678002834, 2.13685846}, + {3.254167, 1.00079155, 1.00678777695, 2.13615274}, + {3.258333, 1.00076544, 1.00679576397, 2.13545346}, + {3.2625, 1.00073767, 1.00680303574, 2.13476086}, + {3.266667, 1.00070822, 1.0068103075, 2.13407469}, + {3.270833, 1.00067735, 1.00681734085, 2.13339543}, + {3.275, 1.00064492, 1.0068243742, 2.13272285}, + {3.279167, 1.00061119, 1.00683116913, 2.13205695}, + {3.283333, 1.00057626, 1.00683820248, 2.13139796}, + {3.2875, 1.00054026, 1.00684499741, 2.13074565}, + {3.291667, 1.00050306, 1.00685203075, 2.13010001}, + {3.295833, 1.00046504, 1.0068590641, 2.12946129}, + {3.3, 1.00042617, 1.00686633587, 2.128829}, + {3.304167, 1.0003866, 1.00687384605, 2.12820315}, + {3.308333, 1.00034642, 1.00688147545, 2.12758398}, + {3.3125, 1.00030577, 1.00688946247, 2.12697101}, + {3.316667, 1.00026464, 1.0068975687, 2.12636423}, + {3.320833, 1.00022328, 1.00690615177, 2.12576389}, + {3.325, 1.00018179, 1.00691485405, 2.12516928}, + {3.329167, 1.00014007, 1.00692427158, 2.12458038}, + {3.333333, 1.00009859, 1.00693368912, 2.12399721}, + {3.3375, 1.0000571, 1.00694382191, 2.12341928}, + {3.341667, 1.00001585, 1.00695407391, 2.12284684}, + {3.345833, 0.99997503, 1.00696516037, 2.12227941}, + {3.35, 0.99993461, 1.00697624683, 2.12171674}, + {3.354167, 0.99989474, 1.00698816776, 2.12115884}, + {3.358333, 0.99985552, 1.00700008869, 2.12060523}, + {3.3625, 0.99981701, 1.00701296329, 2.12005591}, + {3.366667, 0.99977928, 1.0070258379, 2.11951065}, + {3.370833, 0.99974251, 1.00703954697, 2.11896896}, + {3.375, 0.99970675, 1.00705325603, 2.11843085}, + {3.379167, 0.999672, 1.00706779957, 2.11789608}, + {3.383333, 0.99963844, 1.0070823431, 2.11736441}, + {3.3875, 0.99960607, 1.00709784031, 2.11683536}, + {3.391667, 0.99957502, 1.00711321831, 2.11630893}, + {3.395833, 0.99954534, 1.00712943077, 2.11578512}, + {3.4, 0.99951702, 1.00714564323, 2.11526322}, + {3.404167, 0.9994902, 1.00716257095, 2.11474299}, + {3.408333, 0.99946493, 1.00717949867, 2.11422491}, + {3.4125, 0.99944115, 1.00719714165, 2.11370802}, + {3.416667, 0.99941903, 1.00721466541, 2.11319232}, + {3.420833, 0.99939859, 1.00723290443, 2.11267805}, + {3.425, 0.99937981, 1.00725102425, 2.11216426}, + {3.429167, 0.99936271, 1.00726985931, 2.11165118}, + {3.433333, 0.99934739, 1.00728857517, 2.11113882}, + {3.4375, 0.9993338, 1.00730776787, 2.11062646}, + {3.441667, 0.999322, 1.00732696056, 2.11011434}, + {3.445833, 0.99931198, 1.00734651089, 2.10960245}, + {3.45, 0.9993037, 1.00736606121, 2.10909009}, + {3.454167, 0.99929726, 1.00738608837, 2.10857725}, + {3.458333, 0.99929261, 1.00740599632, 2.10806417}, + {3.4625, 0.99928969, 1.00742614269, 2.10755038}, + {3.466667, 0.99928856, 1.00744628906, 2.10703588}, + {3.470833, 0.99928916, 1.00746667385, 2.10652065}, + {3.475, 0.99929148, 1.00748705864, 2.10600448}, + {3.479167, 0.99929553, 1.00750756264, 2.10548711}, + {3.483333, 0.99930125, 1.00752806664, 2.10496879}, + {3.4875, 0.99930859, 1.00754868984, 2.10444903}, + {3.491667, 0.99931753, 1.00756931305, 2.10392809}, + {3.495833, 0.99932802, 1.00758993626, 2.10340595}, + {3.5, 0.99934, 1.00761055946, 2.10288215}, + {3.504167, 0.99935347, 1.00763118267, 2.10235691}, + {3.508333, 0.99936837, 1.00765168667, 2.10183024}, + {3.5125, 0.99938458, 1.00767219067, 2.10130191}, + {3.516667, 0.99940217, 1.00769269466, 2.1007719}, + {3.520833, 0.99942094, 1.00771307945, 2.10024047}, + {3.525, 0.99944097, 1.00773346424, 2.09970737}, + {3.529167, 0.99946207, 1.00775361061, 2.09917259}, + {3.533333, 0.99948418, 1.00777375698, 2.09863615}, + {3.5375, 0.99950731, 1.00779366493, 2.09809804}, + {3.541667, 0.99953133, 1.00781357288, 2.09755826}, + {3.545833, 0.99955618, 1.00783324242, 2.09701705}, + {3.55, 0.99958181, 1.00785279274, 2.09647417}, + {3.554167, 0.9996081, 1.00787210464, 2.09592962}, + {3.558333, 0.99963504, 1.00789129734, 2.09538364}, + {3.5625, 0.99966252, 1.00791013241, 2.094836}, + {3.566667, 0.99969047, 1.00792896748, 2.09428692}, + {3.570833, 0.99971879, 1.0079472065, 2.09373665}, + {3.575, 0.99974746, 1.00796556473, 2.09318471}, + {3.579167, 0.99977636, 1.00798344612, 2.09263158}, + {3.583333, 0.99980551, 1.00800120831, 2.09207726}, + {3.5875, 0.99983472, 1.00801837444, 2.0915215}, + {3.591667, 0.99986398, 1.00803565979, 2.09096479}, + {3.595833, 0.99989319, 1.00805222988, 2.09040713}, + {3.6, 0.99992228, 1.00806868076, 2.08984828}, + {3.604167, 0.99995118, 1.0080845356, 2.08928847}, + {3.608333, 0.99997991, 1.00810039043, 2.08872819}, + {3.6125, 1.00000823, 1.00811553001, 2.08816695}, + {3.616667, 1.00003624, 1.00813055038, 2.08760524}, + {3.620833, 1.00006378, 1.00814473629, 2.08704305}, + {3.625, 1.00009084, 1.0081590414, 2.08648038}, + {3.629167, 1.0001173, 1.00817239285, 2.08591723}, + {3.633333, 1.00014317, 1.00818574429, 2.08535433}, + {3.6375, 1.00016844, 1.00819826126, 2.08479095}, + {3.641667, 1.00019288, 1.00821065903, 2.0842278}, + {3.645833, 1.00021648, 1.00822222233, 2.08366489}, + {3.65, 1.00023937, 1.00823366642, 2.08310199}, + {3.654167, 1.00026131, 1.00824427605, 2.08253956}, + {3.658333, 1.00028229, 1.00825476646, 2.08197784}, + {3.6625, 1.00030231, 1.00826430321, 2.08141661}, + {3.666667, 1.00032139, 1.00827383995, 2.08085632}, + {3.670833, 1.00033939, 1.00828242302, 2.08029699}, + {3.675, 1.00035632, 1.00829088688, 2.07973838}, + {3.679167, 1.00037205, 1.00829851627, 2.07918119}, + {3.683333, 1.00038683, 1.00830602646, 2.07862544}, + {3.6875, 1.0004003, 1.00831258297, 2.07807088}, + {3.691667, 1.0004127, 1.00831902027, 2.07751822}, + {3.695833, 1.00042391, 1.00832462311, 2.076967}, + {3.7, 1.0004338, 1.00833022594, 2.07641768}, + {3.704167, 1.00044262, 1.00833487511, 2.07587028}, + {3.708333, 1.00045013, 1.00833940506, 2.07532525}, + {3.7125, 1.00045633, 1.00834321976, 2.07478213}, + {3.716667, 1.00046146, 1.00834691525, 2.0742414}, + {3.720833, 1.00046527, 1.00834977627, 2.07370329}, + {3.725, 1.0004679, 1.00835263729, 2.0731678}, + {3.729167, 1.00046921, 1.00835466385, 2.0726347}, + {3.733333, 1.00046945, 1.00835680962, 2.07210469}, + {3.7375, 1.00046837, 1.00835812092, 2.07157731}, + {3.741667, 1.00046623, 1.00835943222, 2.07105303}, + {3.745833, 1.00046289, 1.00836002827, 2.07053208}, + {3.75, 1.00045836, 1.00836074352, 2.070014}, + {3.754167, 1.00045276, 1.00836074352, 2.06949925}, + {3.758333, 1.00044608, 1.00836086273, 2.06898785}, + {3.7625, 1.00043821, 1.00836038589, 2.06847978}, + {3.766667, 1.00042951, 1.00836002827, 2.06797528}, + {3.770833, 1.00041974, 1.00835907459, 2.06747437}, + {3.775, 1.00040889, 1.00835824013, 2.06697679}, + {3.779167, 1.00039732, 1.00835704803, 2.06648278}, + {3.783333, 1.00038469, 1.00835585594, 2.06599283}, + {3.7875, 1.00037134, 1.00835430622, 2.06550622}, + {3.791667, 1.00035715, 1.00835287571, 2.06502318}, + {3.795833, 1.00034225, 1.00835120678, 2.0645442}, + {3.8, 1.00032651, 1.00834953785, 2.06406879}, + {3.804167, 1.00031018, 1.00834774971, 2.06359696}, + {3.808333, 1.00029325, 1.00834608078, 2.06312919}, + {3.8125, 1.00027585, 1.00834429264, 2.06266499}, + {3.816667, 1.00025785, 1.0083425045, 2.06220436}, + {3.820833, 1.00023937, 1.00834083557, 2.06174731}, + {3.825, 1.00022054, 1.00833904743, 2.06129408}, + {3.829167, 1.00020123, 1.00833749771, 2.06084442}, + {3.833333, 1.00018167, 1.00833582878, 2.0603981}, + {3.8375, 1.00016189, 1.00833439827, 2.05995536}, + {3.841667, 1.00014198, 1.00833296776, 2.05951619}, + {3.845833, 1.00012183, 1.00833177567, 2.05908036}, + {3.85, 1.00010157, 1.00833058357, 2.05864763}, + {3.854167, 1.0000813, 1.0083296299, 2.05821824}, + {3.858333, 1.00006104, 1.00832879543, 2.05779195}, + {3.8625, 1.00004089, 1.00832808018, 2.05736876}, + {3.866667, 1.00002074, 1.00832748413, 2.05694842}, + {3.870833, 1.00000083, 1.00832724571, 2.05653119}, + {3.875, 0.99998111, 1.00832700729, 2.05611658}, + {3.879167, 0.99996167, 1.00832700729, 2.05570459}, + {3.883333, 0.99994254, 1.0083271265, 2.05529547}, + {3.8875, 0.99992371, 1.00832760334, 2.05488849}, + {3.891667, 0.99990529, 1.00832808018, 2.05448413}, + {3.895833, 0.99988729, 1.00832891464, 2.05408192}, + {3.9, 0.99986982, 1.00832974911, 2.05368185}, + {3.904167, 0.99985284, 1.00833106041, 2.05328393}, + {3.908333, 0.99983639, 1.0083322525, 2.05288792}, + {3.9125, 0.99982053, 1.00833392143, 2.05249381}, + {3.916667, 0.99980533, 1.00833559036, 2.05210137}, + {3.920833, 0.99979073, 1.00833761692, 2.05171061}, + {3.925, 0.99977684, 1.00833952427, 2.05132103}, + {3.929167, 0.99976367, 1.00834190845, 2.05093312}, + {3.933333, 0.99975121, 1.00834429264, 2.05054665}, + {3.9375, 0.99973953, 1.00834703445, 2.05016112}, + {3.941667, 0.99972862, 1.00834977627, 2.04977679}, + {3.945833, 0.99971849, 1.0083527565, 2.04939342}, + {3.95, 0.99970925, 1.00835585594, 2.04901075}, + {3.954167, 0.99970078, 1.0083591938, 2.04862905}, + {3.958333, 0.99969316, 1.00836241245, 2.04824805}, + {3.9625, 0.99968636, 1.00836610794, 2.04786754}, + {3.966667, 0.99968046, 1.00836968422, 2.0474875}, + {3.970833, 0.99967545, 1.00837349892, 2.04710817}, + {3.975, 0.99967128, 1.00837731361, 2.04672885}, + {3.979167, 0.99966794, 1.00838136673, 2.04635}, + {3.983333, 0.9996655, 1.00838530064, 2.04597139}, + {3.9875, 0.99966395, 1.00838947296, 2.04559278}, + {3.991667, 0.99966323, 1.0083937645, 2.04521418}, + {3.995833, 0.99966341, 1.00839805603, 2.04483557}, + {4, 0.99966437, 1.00840234756, 2.04445696}, + {4.004167, 0.99966615, 1.00840675831, 2.04407811}, + {4.008333, 0.99966878, 1.00841116905, 2.04369903}, + {4.0125, 0.99967223, 1.00841569901, 2.04331994}, + {4.016667, 0.99967647, 1.00842022896, 2.04294038}, + {4.020833, 0.99968141, 1.00842475891, 2.04256058}, + {4.025, 0.99968714, 1.00842916965, 2.0421803}, + {4.029167, 0.99969357, 1.00843369961, 2.04179955}, + {4.033333, 0.99970067, 1.00843822956, 2.04141879}, + {4.0375, 0.99970847, 1.0084426403, 2.04103708}, + {4.041667, 0.99971694, 1.00844717026, 2.04065514}, + {4.045833, 0.999726, 1.008451581, 2.04027295}, + {4.05, 0.99973559, 1.00845587254, 2.03988981}, + {4.054167, 0.99974579, 1.00846016407, 2.03950644}, + {4.058333, 0.99975652, 1.0084644556, 2.03912258}, + {4.0625, 0.99976772, 1.00846850872, 2.03873801}, + {4.066667, 0.9997794, 1.00847268105, 2.03835297}, + {4.070833, 0.99979144, 1.00847661495, 2.03796768}, + {4.075, 0.9998039, 1.00848054886, 2.03758144}, + {4.079167, 0.99981672, 1.00848424435, 2.03719497}, + {4.083333, 0.99982983, 1.00848793983, 2.03680801}, + {4.0875, 0.99984318, 1.0084913969, 2.03642058}, + {4.091667, 0.99985683, 1.00849473476, 2.03603268}, + {4.095833, 0.99987066, 1.00849795341, 2.03564453}, + {4.1, 0.99988461, 1.00850105286, 2.03525567}, + {4.104167, 0.99989873, 1.00850391388, 2.03486657}, + {4.108333, 0.99991298, 1.0085067749, 2.03447747}, + {4.1125, 0.99992722, 1.0085092783, 2.03408766}, + {4.116667, 0.99994153, 1.00851178169, 2.03369784}, + {4.120833, 0.99995577, 1.00851392746, 2.03330779}, + {4.125, 0.99997002, 1.00851607323, 2.0329175}, + {4.129167, 0.9999842, 1.00851786137, 2.03252697}, + {4.133333, 0.99999821, 1.0085195303, 2.03213668}, + {4.1375, 1.00001216, 1.0085208416, 2.03174615}, + {4.141667, 1.00002587, 1.0085221529, 2.03135562}, + {4.145833, 1.00003934, 1.00852310658, 2.03096533}, + {4.15, 1.00005257, 1.00852394104, 2.03057528}, + {4.154167, 1.00006557, 1.00852441788, 2.03018522}, + {4.158333, 1.0000782, 1.00852477551, 2.02979541}, + {4.1625, 1.0000906, 1.00852477551, 2.02940607}, + {4.166667, 1.00010264, 1.00852477551, 2.02901697}, + {4.170833, 1.0001142, 1.00852417946, 2.02862835}, + {4.175, 1.00012541, 1.00852370262, 2.0282402}, + {4.179167, 1.00013614, 1.00852262974, 2.02785277}, + {4.183333, 1.00014651, 1.00852167606, 2.02746582}, + {4.1875, 1.0001564, 1.00852012634, 2.02707958}, + {4.191667, 1.0001657, 1.00851869583, 2.0266943}, + {4.195833, 1.00017452, 1.00851666927, 2.02630973}, + {4.2, 1.00018287, 1.00851464272, 2.02592587}, + {4.204167, 1.00019073, 1.00851213932, 2.02554321}, + {4.208333, 1.00019789, 1.00850975513, 2.0251615}, + {4.2125, 1.00020456, 1.0085067749, 2.02478075}, + {4.216667, 1.00021064, 1.00850379467, 2.02440143}, + {4.220833, 1.00021625, 1.0085003376, 2.02402306}, + {4.225, 1.00022113, 1.00849699974, 2.02364612}, + {4.229167, 1.00022542, 1.00849306583, 2.02327037}, + {4.233333, 1.00022912, 1.00848925114, 2.02289629}, + {4.2375, 1.00023234, 1.0084849596, 2.0225234}, + {4.241667, 1.00023484, 1.00848066807, 2.02215219}, + {4.245833, 1.00023675, 1.00847601891, 2.0217824}, + {4.25, 1.00023806, 1.00847136974, 2.02141428}, + {4.254167, 1.00023878, 1.00846636295, 2.02104783}, + {4.258333, 1.0002389, 1.00846123695, 2.02068305}, + {4.2625, 1.00023842, 1.00845587254, 2.02032018}, + {4.266667, 1.00023746, 1.00845050812, 2.01995897}, + {4.270833, 1.0002358, 1.00844478607, 2.01959968}, + {4.275, 1.00023365, 1.00843918324, 2.01924205}, + {4.279167, 1.00023103, 1.00843310356, 2.01888657}, + {4.283333, 1.00022781, 1.0084271431, 2.01853299}, + {4.2875, 1.00022399, 1.00842094421, 2.01818132}, + {4.291667, 1.0002197, 1.00841474533, 2.0178318}, + {4.295833, 1.00021505, 1.00840842724, 2.01748419}, + {4.3, 1.00020981, 1.00840198994, 2.01713872}, + {4.304167, 1.00020421, 1.00839543343, 2.01679516}, + {4.308333, 1.00019801, 1.00838887691, 2.01645374}, + {4.3125, 1.00019157, 1.00838208199, 2.01611447}, + {4.316667, 1.00018466, 1.00837540627, 2.01577735}, + {4.320833, 1.00017738, 1.00836861134, 2.01544213}, + {4.325, 1.00016975, 1.00836193562, 2.0151093}, + {4.329167, 1.00016189, 1.00835502148, 2.01477838}, + {4.333333, 1.00015366, 1.00834822655, 2.0144496}, + {4.3375, 1.00014508, 1.00834131241, 2.01412272}, + {4.341667, 1.00013638, 1.00833451748, 2.013798}, + {4.345833, 1.00012743, 1.00832760334, 2.01347542}, + {4.35, 1.00011826, 1.00832080841, 2.01315498}, + {4.354167, 1.00010884, 1.00831389427, 2.01283646}, + {4.358333, 1.0000993, 1.00830709934, 2.01251984}, + {4.3625, 1.00008976, 1.00830042362, 2.01220536}, + {4.366667, 1.00007999, 1.00829362869, 2.01189256}, + {4.370833, 1.00007021, 1.00828695297, 2.0115819}, + {4.375, 1.00006032, 1.00828039646, 2.01127315}, + {4.379167, 1.00005043, 1.00827383995, 2.01096606}, + {4.383333, 1.00004053, 1.00826728344, 2.01066113}, + {4.3875, 1.00003076, 1.00826084614, 2.01035762}, + {4.391667, 1.00002098, 1.00825452805, 2.01005602}, + {4.395833, 1.00001121, 1.00824820995, 2.00975585}, + {4.4, 1.00000167, 1.00824201107, 2.00945759}, + {4.404167, 0.99999213, 1.0082359314, 2.00916076}, + {4.408333, 0.99998283, 1.00822985172, 2.00886559}, + {4.4125, 0.99997365, 1.00822389126, 2.00857186}, + {4.416667, 0.99996465, 1.00821793079, 2.00827956}, + {4.420833, 0.99995589, 1.00821220875, 2.00798869}, + {4.425, 0.99994737, 1.0082064867, 2.00769925}, + {4.429167, 0.99993908, 1.00820100307, 2.007411}, + {4.433333, 0.99993104, 1.00819540024, 2.00712395}, + {4.4375, 0.99992329, 1.00819003582, 2.00683808}, + {4.441667, 0.99991584, 1.0081846714, 2.00655341}, + {4.445833, 0.99990875, 1.00817942619, 2.00626993}, + {4.45, 0.99990195, 1.00817430019, 2.00598717}, + {4.454167, 0.99989551, 1.0081692934, 2.0057056}, + {4.458333, 0.99988943, 1.00816428661, 2.00542498}, + {4.4625, 0.99988371, 1.00815939903, 2.00514531}, + {4.466667, 0.99987835, 1.00815463066, 2.00486636}, + {4.470833, 0.9998734, 1.00814986229, 2.00458813}, + {4.475, 0.99986881, 1.00814521313, 2.00431061}, + {4.479167, 0.9998647, 1.00814068317, 2.0040338}, + {4.483333, 0.99986094, 1.00813615322, 2.00375772}, + {4.4875, 0.9998576, 1.00813186169, 2.0034821}, + {4.491667, 0.99985468, 1.00812745094, 2.00320697}, + {4.495833, 0.99985218, 1.00812315941, 2.00293255}, + {4.5, 0.99985009, 1.00811886787, 2.00265837}, + {4.504167, 0.99984843, 1.00811481476, 2.0023849}, + {4.508333, 0.99984723, 1.00811064243, 2.00211143}, + {4.5125, 0.9998464, 1.00810658932, 2.00183868}, + {4.516667, 0.99984598, 1.0081025362, 2.00156593}, + {4.520833, 0.99984604, 1.00809848309, 2.00129366}, + {4.525, 0.99984646, 1.00809454918, 2.00102139}, + {4.529167, 0.99984729, 1.00809061527, 2.00074935}, + {4.533333, 0.99984854, 1.00808668137, 2.00047779}, + {4.5375, 0.99985015, 1.00808286667, 2.00020623}, + {4.541667, 0.99985218, 1.00807893276, 1.99993467}, + {4.545833, 0.99985451, 1.00807511806, 1.99966335}, + {4.55, 0.99985725, 1.00807130337, 1.99939203}, + {4.554167, 0.99986035, 1.00806748867, 1.99912083}, + {4.558333, 0.9998638, 1.00806355476, 1.99884975}, + {4.5625, 0.99986756, 1.00805974007, 1.99857855}, + {4.566667, 0.99987161, 1.00805592537, 1.99830747}, + {4.570833, 0.99987596, 1.00805199146, 1.99803638}, + {4.575, 0.99988067, 1.00804805756, 1.9977653}, + {4.579167, 0.99988556, 1.00804412365, 1.99749422}, + {4.583333, 0.99989074, 1.00804018974, 1.99722314}, + {4.5875, 0.99989617, 1.00803613663, 1.99695206}, + {4.591667, 0.99990183, 1.00803220272, 1.99668097}, + {4.595833, 0.99990773, 1.0080280304, 1.99640989}, + {4.6, 0.99991375, 1.00802397728, 1.99613881}, + {4.604167, 0.99991995, 1.00801968575, 1.99586761}, + {4.608333, 0.99992633, 1.00801551342, 1.99559653}, + {4.6125, 0.99993289, 1.00801110268, 1.99532545}, + {4.616667, 0.9999395, 1.00800681114, 1.99505436}, + {4.620833, 0.99994624, 1.00800228119, 1.9947834}, + {4.625, 0.99995309, 1.00799787045, 1.99451244}, + {4.629167, 0.99996001, 1.00799322128, 1.99424148}, + {4.633333, 0.99996692, 1.00798857212, 1.99397063}, + {4.6375, 0.99997389, 1.00798368454, 1.99369991}, + {4.641667, 0.99998087, 1.00797891617, 1.9934293}, + {4.645833, 0.99998784, 1.00797390938, 1.99315882}, + {4.65, 0.99999481, 1.00796890259, 1.99288845}, + {4.654167, 1.00000179, 1.00796365738, 1.99261832}, + {4.658333, 1.00000858, 1.00795853138, 1.99234843}, + {4.6625, 1.00001538, 1.00795304775, 1.99207866}, + {4.666667, 1.00002217, 1.00794768333, 1.99180913}, + {4.670833, 1.00002873, 1.0079420805, 1.99154007}, + {4.675, 1.00003517, 1.00793647766, 1.99127114}, + {4.679167, 1.0000416, 1.00793063641, 1.99100256}, + {4.683333, 1.0000478, 1.00792479515, 1.99073446}, + {4.6875, 1.00005388, 1.00791871548, 1.99046671}, + {4.691667, 1.00005972, 1.0079126358, 1.99019933}, + {4.695833, 1.00006545, 1.00790631771, 1.98993254}, + {4.7, 1.00007093, 1.00790011883, 1.9896661}, + {4.704167, 1.00007617, 1.00789356232, 1.98940015}, + {4.708333, 1.0000813, 1.00788700581, 1.98913491}, + {4.7125, 1.00008607, 1.00788033009, 1.98887014}, + {4.716667, 1.00009072, 1.00787353516, 1.98860598}, + {4.720833, 1.00009501, 1.00786650181, 1.98834252}, + {4.725, 1.00009906, 1.00785958767, 1.98807967}, + {4.729167, 1.00010288, 1.0078523159, 1.98781753}, + {4.733333, 1.00010645, 1.00784516335, 1.98755622}, + {4.7375, 1.00010979, 1.00783765316, 1.98729551}, + {4.741667, 1.00011277, 1.00783026218, 1.98703575}, + {4.745833, 1.00011551, 1.00782263279, 1.98677683}, + {4.75, 1.0001179, 1.0078150034, 1.98651862}, + {4.754167, 1.00012004, 1.00780713558, 1.98626137}, + {4.758333, 1.00012183, 1.00779926777, 1.98600507}, + {4.7625, 1.00012338, 1.00779128075, 1.9857496}, + {4.766667, 1.00012469, 1.00778317451, 1.98549521}, + {4.770833, 1.00012565, 1.00777494907, 1.98524177}, + {4.775, 1.00012624, 1.00776672363, 1.9849894}, + {4.779167, 1.0001266, 1.00775837898, 1.98473799}, + {4.783333, 1.00012672, 1.00775003433, 1.98448765}, + {4.7875, 1.00012648, 1.00774145126, 1.98423839}, + {4.791667, 1.000126, 1.00773286819, 1.98399019}, + {4.795833, 1.00012529, 1.00772428513, 1.98374319}, + {4.8, 1.00012422, 1.00771558285, 1.98349726}, + {4.804167, 1.0001229, 1.00770676136, 1.98325253}, + {4.808333, 1.00012136, 1.00769793987, 1.98300886}, + {4.8125, 1.00011957, 1.00768911839, 1.98276651}, + {4.816667, 1.00011754, 1.00768017769, 1.98252523}, + {4.820833, 1.00011516, 1.00767111778, 1.98228526}, + {4.825, 1.00011265, 1.00766217709, 1.98204637}, + {4.829167, 1.00010991, 1.00765311718, 1.98180878}, + {4.833333, 1.00010693, 1.00764405727, 1.98157239}, + {4.8375, 1.00010383, 1.00763487816, 1.98133719}, + {4.841667, 1.00010049, 1.00762581825, 1.98110318}, + {4.845833, 1.00009692, 1.00761663914, 1.98087049}, + {4.85, 1.00009322, 1.00760746002, 1.98063898}, + {4.854167, 1.00008929, 1.00759828091, 1.98040867}, + {4.858333, 1.00008535, 1.00758910179, 1.98017967}, + {4.8625, 1.00008118, 1.00757992268, 1.97995186}, + {4.866667, 1.00007689, 1.00757074356, 1.97972524}, + {4.870833, 1.00007248, 1.00756156445, 1.97949982}, + {4.875, 1.00006807, 1.00755238533, 1.97927558}, + {4.879167, 1.00006342, 1.00754320621, 1.97905242}, + {4.883333, 1.00005889, 1.0075340271, 1.9788307}, + {4.8875, 1.00005412, 1.00752496719, 1.97860992}, + {4.891667, 1.00004935, 1.00751578808, 1.97839034}, + {4.895833, 1.00004458, 1.00750672817, 1.97817194}, + {4.9, 1.00003982, 1.00749766827, 1.97795463}, + {4.904167, 1.00003493, 1.00748860836, 1.97773838}, + {4.908333, 1.00003016, 1.00747954845, 1.97752321}, + {4.9125, 1.00002527, 1.00747060776, 1.97730911}, + {4.916667, 1.0000205, 1.00746166706, 1.97709608}, + {4.920833, 1.00001574, 1.00745284557, 1.97688401}, + {4.925, 1.00001109, 1.00744390488, 1.97667301}, + {4.929167, 1.00000644, 1.00743508339, 1.97646296}, + {4.933333, 1.00000191, 1.00742638111, 1.97625387}, + {4.9375, 0.99999738, 1.00741767883, 1.97604573}, + {4.941667, 0.99999297, 1.00740897655, 1.97583842}, + {4.945833, 0.99998868, 1.00740027428, 1.97563207}, + {4.95, 0.9999845, 1.00739169121, 1.97542655}, + {4.954167, 0.99998039, 1.00738322735, 1.97522187}, + {4.958333, 0.99997646, 1.00737464428, 1.97501802}, + {4.9625, 0.9999727, 1.00736618042, 1.97481489}, + {4.966667, 0.99996901, 1.00735783577, 1.97461259}, + {4.970833, 0.99996555, 1.00734949112, 1.97441101}, + {4.975, 0.99996215, 1.00734114647, 1.97421002}, + {4.979167, 0.99995899, 1.00733292103, 1.97400975}, + {4.983333, 0.99995601, 1.00732469559, 1.97381032}, + {4.9875, 0.99995315, 1.00731658936, 1.97361135}, + {4.991667, 0.99995053, 1.00730836391, 1.97341299}, + {4.995833, 0.99994808, 1.00730037689, 1.97321522}, + {5, 0.99994582, 1.00729227066, 1.97301805}, + {5.004167, 0.99994373, 1.00728428364, 1.97282135}, + {5.008333, 0.99994189, 1.00727629662, 1.97262526}, + {5.0125, 0.99994022, 1.0072684288, 1.97242951}, + {5.016667, 0.99993879, 1.00726056099, 1.97223437}, + {5.020833, 0.99993753, 1.00725269318, 1.97203958}, + {5.025, 0.99993646, 1.00724494457, 1.97184527}, + {5.029167, 0.99993563, 1.00723719597, 1.97165132}, + {5.033333, 0.99993497, 1.00722944736, 1.97145772}, + {5.0375, 0.99993455, 1.00722169876, 1.9712646}, + {5.041667, 0.99993432, 1.00721406937, 1.97107172}, + {5.045833, 0.99993432, 1.00720643997, 1.9708792}, + {5.05, 0.99993443, 1.00719869137, 1.97068691}, + {5.054167, 0.99993485, 1.00719118118, 1.97049499}, + {5.058333, 0.99993539, 1.00718355179, 1.97030342}, + {5.0625, 0.99993616, 1.00717592239, 1.97011209}, + {5.066667, 0.99993712, 1.00716841221, 1.96992087}, + {5.070833, 0.99993819, 1.00716090202, 1.96973014}, + {5.075, 0.9999395, 1.00715327263, 1.9695394}, + {5.079167, 0.99994099, 1.00714576244, 1.96934903}, + {5.083333, 0.9999426, 1.00713825226, 1.96915889}, + {5.0875, 0.99994445, 1.00713074207, 1.96896887}, + {5.091667, 0.99994636, 1.00712323189, 1.96877897}, + {5.095833, 0.9999485, 1.00711560249, 1.96858943}, + {5.1, 0.99995071, 1.00710809231, 1.9684}, + {5.104167, 0.99995309, 1.00710058212, 1.9682107}, + {5.108333, 0.99995559, 1.00709307194, 1.96802175}, + {5.1125, 0.99995822, 1.00708544254, 1.9678328}, + {5.116667, 0.99996096, 1.00707781315, 1.9676441}, + {5.120833, 0.99996376, 1.00707030296, 1.96745551}, + {5.125, 0.99996668, 1.00706267357, 1.96726716}, + {5.129167, 0.99996972, 1.00705504417, 1.96707904}, + {5.133333, 0.99997282, 1.00704741478, 1.96689105}, + {5.1375, 0.99997598, 1.00703966618, 1.96670318}, + {5.141667, 0.9999792, 1.00703191757, 1.96651554}, + {5.145833, 0.99998248, 1.00702416897, 1.96632814}, + {5.15, 0.99998581, 1.00701642036, 1.96614087}, + {5.154167, 0.99998915, 1.00700867176, 1.96595383}, + {5.158333, 0.99999255, 1.00700080395, 1.96576703}, + {5.1625, 0.99999595, 1.00699293613, 1.96558034}, + {5.166667, 0.99999934, 1.00698506832, 1.96539402}, + {5.170833, 1.00000274, 1.0069770813, 1.96520793}, + {5.175, 1.00000608, 1.00696909428, 1.96502197}, + {5.179167, 1.00000954, 1.00696098804, 1.96483636}, + {5.183333, 1.00001287, 1.00695300102, 1.96465099}, + {5.1875, 1.00001621, 1.00694477558, 1.96446586}, + {5.191667, 1.00001943, 1.00693666935, 1.96428108}, + {5.195833, 1.00002265, 1.00692844391, 1.96409655}, + {5.2, 1.00002587, 1.00692021847, 1.96391237}, + {5.204167, 1.00002897, 1.00691187382, 1.96372855}, + {5.208333, 1.00003207, 1.00690352917, 1.96354508}, + {5.2125, 1.00003505, 1.00689506531, 1.96336186}, + {5.216667, 1.00003791, 1.00688660145, 1.96317911}, + {5.220833, 1.00004065, 1.00687813759, 1.96299672}, + {5.225, 1.00004339, 1.00686955452, 1.96281469}, + {5.229167, 1.0000459, 1.00686085224, 1.96263313}, + {5.233333, 1.0000484, 1.00685226917, 1.96245193}, + {5.2375, 1.00005078, 1.00684356689, 1.96227121}, + {5.241667, 1.00005305, 1.00683474541, 1.96209097}, + {5.245833, 1.00005519, 1.00682592392, 1.9619112}, + {5.25, 1.00005722, 1.00681710243, 1.96173191}, + {5.254167, 1.00005913, 1.00680816174, 1.96155322}, + {5.258333, 1.00006092, 1.00679922104, 1.96137488}, + {5.2625, 1.00006247, 1.00679028034, 1.96119714}, + {5.266667, 1.00006402, 1.00678122044, 1.96101999}, + {5.270833, 1.00006533, 1.00677204132, 1.96084332}, + {5.275, 1.00006652, 1.00676298141, 1.96066725}, + {5.279167, 1.00006759, 1.0067538023, 1.96049178}, + {5.283333, 1.00006855, 1.00674450397, 1.96031702}, + {5.2875, 1.00006938, 1.00673532486, 1.96014273}, + {5.291667, 1.00006998, 1.00672602654, 1.95996904}, + {5.295833, 1.00007045, 1.006716609, 1.95979607}, + {5.3, 1.00007081, 1.00670731068, 1.95962369}, + {5.304167, 1.00007105, 1.00669789314, 1.95945191}, + {5.308333, 1.00007105, 1.0066883564, 1.95928097}, + {5.3125, 1.00007105, 1.00667893887, 1.95911062}, + {5.316667, 1.00007081, 1.00666940212, 1.95894086}, + {5.320833, 1.00007045, 1.00665986538, 1.95877194}, + {5.325, 1.00006998, 1.00665032864, 1.95860362}, + {5.329167, 1.00006938, 1.00664079189, 1.95843601}, + {5.333333, 1.00006855, 1.00663113594, 1.95826924}, + {5.3375, 1.00006771, 1.00662147999, 1.95810306}, + {5.341667, 1.00006676, 1.00661182404, 1.9579376}, + {5.345833, 1.00006568, 1.00660216808, 1.95777297}, + {5.35, 1.00006437, 1.00659251213, 1.95760894}, + {5.354167, 1.00006306, 1.00658285618, 1.95744574}, + {5.358333, 1.00006163, 1.00657320023, 1.95728326}, + {5.3625, 1.0000602, 1.00656342506, 1.95712149}, + {5.366667, 1.00005853, 1.00655376911, 1.95696056}, + {5.370833, 1.00005686, 1.00654399395, 1.95680022}, + {5.375, 1.00005496, 1.006534338, 1.95664072}, + {5.379167, 1.00005317, 1.00652456284, 1.95648193}, + {5.383333, 1.00005114, 1.00651490688, 1.95632398}, + {5.3875, 1.00004911, 1.00650513172, 1.95616663}, + {5.391667, 1.00004709, 1.00649547577, 1.95600998}, + {5.395833, 1.00004494, 1.00648570061, 1.95585418}, + {5.4, 1.0000428, 1.00647604465, 1.95569909}, + {5.404167, 1.00004053, 1.0064663887, 1.95554471}, + {5.408333, 1.00003827, 1.00645661354, 1.95539105}, + {5.4125, 1.000036, 1.00644695759, 1.95523798}, + {5.416667, 1.00003362, 1.00643730164, 1.95508575}, + {5.420833, 1.00003135, 1.00642776489, 1.95493412}, + {5.425, 1.00002897, 1.00641810894, 1.9547832}, + {5.429167, 1.00002658, 1.0064085722, 1.954633}, + {5.433333, 1.0000242, 1.00639891624, 1.95448351}, + {5.4375, 1.00002193, 1.0063893795, 1.95433462}, + {5.441667, 1.00001955, 1.00637984276, 1.95418632}, + {5.445833, 1.00001717, 1.00637030602, 1.95403874}, + {5.45, 1.0000149, 1.00636088848, 1.95389175}, + {5.454167, 1.00001264, 1.00635135174, 1.95374537}, + {5.458333, 1.00001037, 1.0063419342, 1.95359969}, + {5.4625, 1.00000811, 1.00633251667, 1.95345449}, + {5.466667, 1.00000596, 1.00632321835, 1.95331001}, + {5.470833, 1.00000381, 1.00631380081, 1.95316601}, + {5.475, 1.00000179, 1.00630450249, 1.9530226}, + {5.479167, 0.99999976, 1.00629520416, 1.95287967}, + {5.483333, 0.99999779, 1.00628590584, 1.95273733}, + {5.4875, 0.99999595, 1.00627672672, 1.95259547}, + {5.491667, 0.9999941, 1.0062674284, 1.95245421}, + {5.495833, 0.99999237, 1.00625824928, 1.95231342}, + {5.5, 0.9999907, 1.00624907017, 1.95217311}, + {5.504167, 0.99998915, 1.00624001026, 1.95203328}, + {5.508333, 0.9999876, 1.00623083115, 1.95189393}, + {5.5125, 0.99998623, 1.00622177124, 1.95175493}, + {5.516667, 0.99998486, 1.00621271133, 1.95161641}, + {5.520833, 0.99998367, 1.00620377064, 1.95147836}, + {5.525, 0.99998254, 1.00619471073, 1.95134079}, + {5.529167, 0.99998146, 1.00618577003, 1.95120347}, + {5.533333, 0.99998051, 1.00617682934, 1.95106661}, + {5.5375, 0.99997967, 1.00616788864, 1.95093012}, + {5.541667, 0.9999789, 1.00615906715, 1.95079398}, + {5.545833, 0.99997824, 1.00615024567, 1.95065832}, + {5.55, 0.99997771, 1.00614130497, 1.9505229}, + {5.554167, 0.99997723, 1.00613248348, 1.95038784}, + {5.558333, 0.99997687, 1.0061237812, 1.95025313}, + {5.5625, 0.99997663, 1.00611495972, 1.95011866}, + {5.566667, 0.99997646, 1.00610613823, 1.94998443}, + {5.570833, 0.9999764, 1.00609743595, 1.94985068}, + {5.575, 0.99997646, 1.00608873367, 1.94971716}, + {5.579167, 0.99997658, 1.00608003139, 1.94958389}, + {5.583333, 0.99997681, 1.00607132912, 1.94945085}, + {5.5875, 0.99997717, 1.00606274605, 1.94931817}, + {5.591667, 0.99997759, 1.00605404377, 1.94918573}, + {5.595833, 0.99997807, 1.00604534149, 1.94905353}, + {5.6, 0.99997866, 1.00603675842, 1.94892156}, + {5.604167, 0.99997938, 1.00602817535, 1.94878983}, + {5.608333, 0.99998015, 1.00601947308, 1.94865835}, + {5.6125, 0.99998099, 1.00601089001, 1.9485271}, + {5.616667, 0.99998188, 1.00600230694, 1.94839609}, + {5.620833, 0.99998289, 1.00599372387, 1.94826531}, + {5.625, 0.99998391, 1.0059851408, 1.94813478}, + {5.629167, 0.99998504, 1.00597655773, 1.94800436}, + {5.633333, 0.99998623, 1.00596797466, 1.94787431}, + {5.6375, 0.99998748, 1.00595939159, 1.94774437}, + {5.641667, 0.99998879, 1.00595080853, 1.94761467}, + {5.645833, 0.99999017, 1.00594222546, 1.94748521}, + {5.65, 0.99999154, 1.00593364239, 1.94735587}, + {5.654167, 0.99999303, 1.00592505932, 1.94722676}, + {5.658333, 0.99999452, 1.00591647625, 1.94709802}, + {5.6625, 0.99999601, 1.00590777397, 1.94696927}, + {5.666667, 0.99999756, 1.0058991909, 1.94684088}, + {5.670833, 0.99999917, 1.00589060783, 1.94671273}, + {5.675, 1.00000072, 1.00588202477, 1.9465847}, + {5.679167, 1.00000238, 1.00587332249, 1.94645691}, + {5.683333, 1.00000405, 1.00586473942, 1.94632947}, + {5.6875, 1.0000056, 1.00585603714, 1.94620216}, + {5.691667, 1.00000727, 1.00584745407, 1.94607496}, + {5.695833, 1.00000894, 1.00583875179, 1.94594824}, + {5.7, 1.00001061, 1.00583004951, 1.94582152}, + {5.704167, 1.00001228, 1.00582134724, 1.94569516}, + {5.708333, 1.00001383, 1.00581264496, 1.94556916}, + {5.7125, 1.0000155, 1.00580382347, 1.94544327}, + {5.716667, 1.00001705, 1.00579512119, 1.94531763}, + {5.720833, 1.00001872, 1.00578641891, 1.94519234}, + {5.725, 1.00002027, 1.00577759743, 1.94506729}, + {5.729167, 1.0000217, 1.00576877594, 1.94494247}, + {5.733333, 1.00002325, 1.00575995445, 1.94481802}, + {5.7375, 1.00002468, 1.00575113297, 1.9446938}, + {5.741667, 1.00002611, 1.00574231148, 1.94456983}, + {5.745833, 1.00002742, 1.00573337078, 1.94444633}, + {5.75, 1.00002885, 1.00572454929, 1.94432294}, + {5.754167, 1.00003004, 1.0057156086, 1.94419992}, + {5.758333, 1.00003135, 1.0057066679, 1.94407725}, + {5.7625, 1.00003242, 1.0056977272, 1.94395494}, + {5.766667, 1.00003362, 1.00568878651, 1.94383299}, + {5.770833, 1.00003469, 1.00567984581, 1.94371128}, + {5.775, 1.00003564, 1.00567090511, 1.94358993}, + {5.779167, 1.0000366, 1.00566184521, 1.94346905}, + {5.783333, 1.00003743, 1.0056527853, 1.94334841}, + {5.7875, 1.00003827, 1.0056438446, 1.94322824}, + {5.791667, 1.00003898, 1.0056347847, 1.94310832}, + {5.795833, 1.0000397, 1.00562572479, 1.94298887}, + {5.8, 1.00004029, 1.00561654568, 1.94286978}, + {5.804167, 1.00004089, 1.00560748577, 1.94275105}, + {5.808333, 1.00004137, 1.00559842587, 1.94263279}, + {5.8125, 1.00004172, 1.00558924675, 1.9425149}, + {5.816667, 1.00004208, 1.00558006763, 1.94239748}, + {5.820833, 1.00004232, 1.00557100773, 1.94228041}, + {5.825, 1.00004244, 1.00556182861, 1.94216371}, + {5.829167, 1.00004256, 1.0055526495, 1.94204748}, + {5.833333, 1.00004268, 1.00554347038, 1.94193172}, + {5.8375, 1.00004268, 1.00553429127, 1.94181633}, + {5.841667, 1.00004256, 1.00552499294, 1.94170141}, + {5.845833, 1.00004244, 1.00551581383, 1.94158697}, + {5.85, 1.0000422, 1.00550663471, 1.94147301}, + {5.854167, 1.00004196, 1.0054974556, 1.9413594}, + {5.858333, 1.0000416, 1.00548815727, 1.94124627}, + {5.8625, 1.00004113, 1.00547897816, 1.94113362}, + {5.866667, 1.00004065, 1.00546967983, 1.94102144}, + {5.870833, 1.00004017, 1.00546050072, 1.94090962}, + {5.875, 1.00003958, 1.00545120239, 1.9407984}, + {5.879167, 1.00003898, 1.00544202328, 1.94068754}, + {5.883333, 1.00003827, 1.00543272495, 1.94057715}, + {5.8875, 1.00003755, 1.00542354584, 1.94046724}, + {5.891667, 1.00003672, 1.00541436672, 1.9403578}, + {5.895833, 1.00003588, 1.0054050684, 1.94024885}, + {5.9, 1.00003505, 1.00539588928, 1.94014025}, + {5.904167, 1.00003421, 1.00538671017, 1.94003224}, + {5.908333, 1.00003326, 1.00537741184, 1.93992472}, + {5.9125, 1.00003219, 1.00536823273, 1.93981755}, + {5.916667, 1.00003123, 1.00535905361, 1.93971086}, + {5.920833, 1.00003016, 1.0053498745, 1.93960464}, + {5.925, 1.00002909, 1.00534069538, 1.9394989}, + {5.929167, 1.00002801, 1.00533151627, 1.93939352}, + {5.933333, 1.00002694, 1.00532233715, 1.93928874}, + {5.9375, 1.00002587, 1.00531327724, 1.93918431}, + {5.941667, 1.00002468, 1.00530409813, 1.93908036}, + {5.945833, 1.00002348, 1.00529503822, 1.93897676}, + {5.95, 1.00002241, 1.00528585911, 1.93887365}, + {5.954167, 1.00002122, 1.0052767992, 1.93877101}, + {5.958333, 1.00002003, 1.0052677393, 1.93866885}, + {5.9625, 1.00001884, 1.00525867939, 1.93856704}, + {5.966667, 1.00001776, 1.00524961948, 1.9384656}, + {5.970833, 1.00001657, 1.00524055958, 1.93836462}, + {5.975, 1.00001538, 1.00523161888, 1.93826401}, + {5.979167, 1.00001431, 1.00522255898, 1.93816388}, + {5.983333, 1.00001323, 1.00521361828, 1.9380641}, + {5.9875, 1.00001204, 1.00520467758, 1.9379648}, + {5.991667, 1.00001097, 1.00519573689, 1.93786573}, + {5.995833, 1.00000989, 1.00518679619, 1.93776715}, + {6, 1.00000894, 1.0051779747, 1.93766892}, + {6.004167, 1.00000787, 1.005169034, 1.93757105}, + {6.008333, 1.00000691, 1.00516021252, 1.93747354}, + {6.0125, 1.00000596, 1.00515139103, 1.93737638}, + {6.016667, 1.00000513, 1.00514256954, 1.93727958}, + {6.020833, 1.00000417, 1.00513374805, 1.93718314}, + {6.025, 1.00000334, 1.00512492657, 1.93708706}, + {6.029167, 1.0000025, 1.00511622429, 1.93699121}, + {6.033333, 1.00000179, 1.00510752201, 1.93689585}, + {6.0375, 1.00000107, 1.00509870052, 1.9368006}, + {6.041667, 1.00000036, 1.00508999825, 1.93670583}, + {6.045833, 0.99999976, 1.00508141518, 1.93661129}, + {6.05, 0.99999917, 1.0050727129, 1.93651712}, + {6.054167, 0.99999863, 1.00506412983, 1.93642318}, + {6.058333, 0.99999815, 1.00505542755, 1.9363296}, + {6.0625, 0.99999768, 1.00504684448, 1.93623614}, + {6.066667, 0.99999726, 1.00503826141, 1.93614316}, + {6.070833, 0.9999969, 1.00502967834, 1.9360503}, + {6.075, 0.9999966, 1.00502121449, 1.93595779}, + {6.079167, 0.99999636, 1.00501263142, 1.93586552}, + {6.083333, 0.99999613, 1.00500416756, 1.93577349}, + {6.0875, 0.99999601, 1.00499558449, 1.9356817}, + {6.091667, 0.99999589, 1.00498712063, 1.93559027}, + {6.095833, 0.99999583, 1.00497865677, 1.93549895}, + {6.1, 0.99999577, 1.00497019291, 1.93540788}, + {6.104167, 0.99999583, 1.00496184826, 1.93531716}, + {6.108333, 0.99999589, 1.0049533844, 1.93522656}, + {6.1125, 0.99999601, 1.00494503975, 1.9351362}, + {6.116667, 0.99999619, 1.00493657589, 1.93504608}, + {6.120833, 0.99999642, 1.00492823124, 1.93495619}, + {6.125, 0.99999666, 1.00491988659, 1.93486643}, + {6.129167, 0.99999696, 1.00491154194, 1.93477702}, + {6.133333, 0.99999732, 1.00490319729, 1.93468773}, + {6.1375, 0.99999768, 1.00489485264, 1.93459857}, + {6.141667, 0.99999809, 1.00488650799, 1.93450975}, + {6.145833, 0.99999857, 1.00487816334, 1.93442106}, + {6.15, 0.99999905, 1.00486981869, 1.93433261}, + {6.154167, 0.99999958, 1.00486159325, 1.93424439}, + {6.158333, 1.00000012, 1.0048532486, 1.9341563}, + {6.1625, 1.00000072, 1.00484502316, 1.93406844}, + {6.166667, 1.00000131, 1.0048366785, 1.9339807}, + {6.170833, 1.00000191, 1.00482845306, 1.9338932}, + {6.175, 1.00000262, 1.00482022762, 1.93380594}, + {6.179167, 1.00000334, 1.00481188297, 1.9337188}, + {6.183333, 1.00000393, 1.00480365753, 1.9336319}, + {6.1875, 1.00000477, 1.00479543209, 1.93354523}, + {6.191667, 1.00000548, 1.00478720665, 1.93345869}, + {6.195833, 1.0000062, 1.00477898121, 1.93337238}, + {6.2, 1.00000691, 1.00477075577, 1.93328619}, + {6.204167, 1.00000775, 1.00476241112, 1.93320024}, + {6.208333, 1.00000858, 1.00475418568, 1.93311453}, + {6.2125, 1.0000093, 1.00474596024, 1.93302894}, + {6.216667, 1.00001013, 1.00473773479, 1.93294358}, + {6.220833, 1.00001085, 1.00472950935, 1.93285847}, + {6.225, 1.00001168, 1.00472128391, 1.93277347}, + {6.229167, 1.00001252, 1.00471305847, 1.93268871}, + {6.233333, 1.00001323, 1.00470483303, 1.93260419}, + {6.2375, 1.00001407, 1.00469660759, 1.93251979}, + {6.241667, 1.00001478, 1.00468838215, 1.93243563}, + {6.245833, 1.00001562, 1.00468015671, 1.93235171}, + {6.25, 1.00001633, 1.00467193127, 1.93226802}, + {6.254167, 1.00001705, 1.00466358662, 1.93218446}, + {6.258333, 1.00001788, 1.00465536118, 1.93210125}, + {6.2625, 1.00001848, 1.00464713573, 1.93201816}, + {6.266667, 1.00001919, 1.00463891029, 1.93193531}, + {6.270833, 1.00001991, 1.00463068485, 1.9318527}, + {6.275, 1.0000205, 1.00462245941, 1.93177032}, + {6.279167, 1.00002122, 1.00461411476, 1.93168819}, + {6.283333, 1.00002182, 1.00460588932, 1.93160629}, + {6.2875, 1.00002229, 1.00459766388, 1.93152463}, + {6.291667, 1.00002289, 1.00458943844, 1.93144321}, + {6.295833, 1.00002348, 1.00458109379, 1.93136203}, + {6.3, 1.00002396, 1.00457286835, 1.93128109}, + {6.304167, 1.00002444, 1.00456464291, 1.93120039}, + {6.308333, 1.0000248, 1.00455641747, 1.93111992}, + {6.3125, 1.00002527, 1.00454807281, 1.93103981}, + {6.316667, 1.00002563, 1.00453984737, 1.93095982}, + {6.320833, 1.00002599, 1.00453150272, 1.93088019}, + {6.325, 1.00002623, 1.00452327728, 1.9308008}, + {6.329167, 1.00002646, 1.00451505184, 1.93072164}, + {6.333333, 1.0000267, 1.00450670719, 1.93064284}, + {6.3375, 1.00002694, 1.00449848175, 1.93056428}, + {6.341667, 1.00002718, 1.00449025631, 1.93048596}, + {6.345833, 1.0000273, 1.00448191166, 1.93040788}, + {6.35, 1.00002742, 1.00447368622, 1.93033016}, + {6.354167, 1.00002742, 1.00446534157, 1.93025267}, + {6.358333, 1.00002754, 1.00445711613, 1.93017542}, + {6.3625, 1.00002754, 1.00444889069, 1.93009853}, + {6.366667, 1.00002742, 1.00444054604, 1.930022}, + {6.370833, 1.00002742, 1.00443232059, 1.92994559}, + {6.375, 1.0000273, 1.00442409515, 1.92986953}, + {6.379167, 1.00002718, 1.0044157505, 1.92979383}, + {6.383333, 1.00002706, 1.00440752506, 1.92971838}, + {6.3875, 1.00002682, 1.00439929962, 1.92964327}, + {6.391667, 1.00002658, 1.00439107418, 1.92956841}, + {6.395833, 1.00002635, 1.00438284874, 1.92949378}, + {6.4, 1.00002611, 1.0043746233, 1.92941952}, + {6.404167, 1.00002575, 1.00436639786, 1.92934561}, + {6.408333, 1.00002551, 1.00435817242, 1.92927194}, + {6.4125, 1.00002515, 1.00434994698, 1.9291985}, + {6.416667, 1.0000248, 1.00434172153, 1.92912543}, + {6.420833, 1.00002432, 1.00433349609, 1.92905259}, + {6.425, 1.00002396, 1.00432527065, 1.92898011}, + {6.429167, 1.00002348, 1.00431716442, 1.92890799}, + {6.433333, 1.00002301, 1.00430893898, 1.92883611}, + {6.4375, 1.00002253, 1.00430083275, 1.92876446}, + {6.441667, 1.00002205, 1.00429260731, 1.92869318}, + {6.445833, 1.00002158, 1.00428450108, 1.92862213}, + {6.45, 1.00002098, 1.00427627563, 1.92855144}, + {6.454167, 1.0000205, 1.0042681694, 1.92848098}, + {6.458333, 1.00001991, 1.00426006317, 1.92841089}, + {6.4625, 1.00001943, 1.00425195694, 1.92834103}, + {6.466667, 1.00001884, 1.00424385071, 1.92827153}, + {6.470833, 1.00001824, 1.00423586369, 1.92820227}, + {6.475, 1.00001764, 1.00422775745, 1.92813325}, + {6.479167, 1.00001717, 1.00421965122, 1.92806458}, + {6.483333, 1.00001657, 1.0042116642, 1.92799616}, + {6.4875, 1.00001597, 1.00420367718, 1.92792797}, + {6.491667, 1.00001538, 1.00419557095, 1.92786014}, + {6.495833, 1.00001478, 1.00418758392, 1.92779255}, + {6.5, 1.00001431, 1.0041795969, 1.9277252}, + {6.504167, 1.00001371, 1.00417160988, 1.92765808}, + {6.508333, 1.00001311, 1.00416362286, 1.92759132}, + {6.5125, 1.00001264, 1.00415575504, 1.92752481}, + {6.516667, 1.00001204, 1.00414776802, 1.92745852}, + {6.520833, 1.00001156, 1.00413990021, 1.92739248}, + {6.525, 1.00001097, 1.00413203239, 1.92732668}, + {6.529167, 1.00001049, 1.00412416458, 1.92726111}, + {6.533333, 1.00001001, 1.00411629677, 1.92719591}, + {6.5375, 1.00000954, 1.00410842896, 1.92713082}, + {6.541667, 1.00000906, 1.00410056114, 1.92706609}, + {6.545833, 1.00000858, 1.00409269333, 1.92700148}, + {6.55, 1.00000811, 1.00408494473, 1.92693722}, + {6.554167, 1.00000775, 1.00407707691, 1.92687309}, + {6.558333, 1.00000739, 1.00406932831, 1.92680919}, + {6.5625, 1.00000691, 1.0040615797, 1.92674553}, + {6.566667, 1.00000656, 1.0040538311, 1.92668211}, + {6.570833, 1.00000632, 1.0040460825, 1.92661893}, + {6.575, 1.00000596, 1.0040384531, 1.92655599}, + {6.579167, 1.00000572, 1.0040307045, 1.92649317}, + {6.583333, 1.00000536, 1.0040230751, 1.9264307}, + {6.5875, 1.00000513, 1.0040153265, 1.92636824}, + {6.591667, 1.00000489, 1.00400769711, 1.92630613}, + {6.595833, 1.00000477, 1.00400006771, 1.92624414}, + {6.6, 1.00000453, 1.00399243832, 1.92618239}, + {6.604167, 1.00000441, 1.00398480892, 1.92612088}, + {6.608333, 1.00000429, 1.00397729874, 1.92605948}, + {6.6125, 1.00000417, 1.00396966934, 1.92599833}, + {6.616667, 1.00000405, 1.00396203995, 1.92593729}, + {6.620833, 1.00000405, 1.00395452976, 1.9258765}, + {6.625, 1.00000393, 1.00394701958, 1.92581582}, + {6.629167, 1.00000393, 1.00393950939, 1.92575538}, + {6.633333, 1.00000393, 1.00393199921, 1.92569518}, + {6.6375, 1.00000405, 1.00392448902, 1.9256351}, + {6.641667, 1.00000405, 1.00391697884, 1.92557514}, + {6.645833, 1.00000417, 1.00390946865, 1.92551541}, + {6.65, 1.00000429, 1.00390207767, 1.92545581}, + {6.654167, 1.00000441, 1.00389456749, 1.92539632}, + {6.658333, 1.00000453, 1.00388717651, 1.92533708}, + {6.6625, 1.00000465, 1.00387978554, 1.92527807}, + {6.666667, 1.00000489, 1.00387227535, 1.92521906}, + {6.670833, 1.00000501, 1.00386488438, 1.92516029}, + {6.675, 1.00000525, 1.0038574934, 1.92510176}, + {6.679167, 1.00000548, 1.00385010242, 1.92504323}, + {6.683333, 1.00000572, 1.00384271145, 1.92498493}, + {6.6875, 1.00000596, 1.00383532047, 1.92492688}, + {6.691667, 1.00000632, 1.00382804871, 1.92486882}, + {6.695833, 1.00000656, 1.00382065773, 1.92481101}, + {6.7, 1.00000691, 1.00381326675, 1.92475343}, + {6.704167, 1.00000715, 1.00380599499, 1.92469585}, + {6.708333, 1.00000751, 1.00379872322, 1.92463851}, + {6.7125, 1.00000787, 1.00379133224, 1.92458129}, + {6.716667, 1.00000823, 1.00378406048, 1.92452419}, + {6.720833, 1.00000858, 1.00377678871, 1.92446733}, + {6.725, 1.00000894, 1.00376951694, 1.92441058}, + {6.729167, 1.0000093, 1.00376212597, 1.92435396}, + {6.733333, 1.00000966, 1.0037548542, 1.92429757}, + {6.7375, 1.00001001, 1.00374758244, 1.9242413}, + {6.741667, 1.00001037, 1.00374031067, 1.92418516}, + {6.745833, 1.00001073, 1.00373315811, 1.92412925}, + {6.75, 1.00001121, 1.00372588634, 1.92407334}, + {6.754167, 1.00001156, 1.00371861458, 1.92401767}, + {6.758333, 1.00001192, 1.00371134281, 1.92396224}, + {6.7625, 1.00001228, 1.00370419025, 1.9239068}, + {6.766667, 1.00001264, 1.00369691849, 1.92385161}, + {6.770833, 1.00001299, 1.00368964672, 1.92379665}, + {6.775, 1.00001335, 1.00368249416, 1.92374182}, + {6.779167, 1.00001371, 1.0036752224, 1.9236871}, + {6.783333, 1.00001407, 1.00366806984, 1.9236325}, + {6.7875, 1.00001442, 1.00366079807, 1.92357814}, + {6.791667, 1.00001478, 1.00365364552, 1.9235239}, + {6.795833, 1.00001514, 1.00364649296, 1.9234699}, + {6.8, 1.00001538, 1.00363922119, 1.9234159}, + {6.804167, 1.00001574, 1.00363206863, 1.92336226}, + {6.808333, 1.00001597, 1.00362491608, 1.92330873}, + {6.8125, 1.00001633, 1.00361776352, 1.92325532}, + {6.816667, 1.00001657, 1.00361049175, 1.92320204}, + {6.820833, 1.00001681, 1.0036033392, 1.92314911}, + {6.825, 1.00001705, 1.00359618664, 1.92309618}, + {6.829167, 1.00001729, 1.00358903408, 1.92304349}, + {6.833333, 1.00001752, 1.00358188152, 1.92299104}, + {6.8375, 1.00001764, 1.00357472897, 1.92293859}, + {6.841667, 1.00001788, 1.00356757641, 1.92288649}, + {6.845833, 1.000018, 1.00356054306, 1.92283452}, + {6.85, 1.00001824, 1.0035533905, 1.92278266}, + {6.854167, 1.00001836, 1.00354623795, 1.92273104}, + {6.858333, 1.00001848, 1.00353908539, 1.92267966}, + {6.8625, 1.0000186, 1.00353193283, 1.9226284}, + {6.866667, 1.00001872, 1.00352489948, 1.92257738}, + {6.870833, 1.00001872, 1.00351774693, 1.92252648}, + {6.875, 1.00001884, 1.00351071358, 1.92247581}, + {6.879167, 1.00001884, 1.00350356102, 1.92242527}, + {6.883333, 1.00001884, 1.00349652767, 1.92237496}, + {6.8875, 1.00001884, 1.00348937511, 1.9223249}, + {6.891667, 1.00001884, 1.00348234177, 1.92227495}, + {6.895833, 1.00001884, 1.00347530842, 1.92222524}, + {6.9, 1.00001872, 1.00346815586, 1.92217565}, + {6.904167, 1.00001872, 1.00346112251, 1.92212629}, + {6.908333, 1.0000186, 1.00345408916, 1.92207718}, + {6.9125, 1.0000186, 1.00344705582, 1.92202818}, + {6.916667, 1.00001848, 1.00344002247, 1.92197943}, + {6.920833, 1.00001836, 1.00343298912, 1.92193079}, + {6.925, 1.00001824, 1.00342595577, 1.92188239}, + {6.929167, 1.000018, 1.00341904163, 1.92183423}, + {6.933333, 1.00001788, 1.00341200829, 1.92178619}, + {6.9375, 1.00001776, 1.00340497494, 1.92173839}, + {6.941667, 1.00001752, 1.0033980608, 1.92169082}, + {6.945833, 1.00001729, 1.00339102745, 1.92164338}, + {6.95, 1.00001717, 1.00338411331, 1.92159617}, + {6.954167, 1.00001693, 1.00337707996, 1.9215492}, + {6.958333, 1.00001669, 1.00337016582, 1.92150235}, + {6.9625, 1.00001645, 1.00336325169, 1.92145574}, + {6.966667, 1.00001621, 1.00335633755, 1.92140925}, + {6.970833, 1.00001597, 1.00334942341, 1.921363}, + {6.975, 1.00001574, 1.00334250927, 1.92131698}, + {6.979167, 1.0000155, 1.00333559513, 1.92127109}, + {6.983333, 1.00001514, 1.00332868099, 1.92122543}, + {6.9875, 1.0000149, 1.00332188606, 1.92117989}, + {6.991667, 1.00001466, 1.00331497192, 1.92113459}, + {6.995833, 1.00001431, 1.00330817699, 1.92108953}, + {7, 1.00001407, 1.00330126286, 1.92104459}, + {7.004167, 1.00001383, 1.00329446793, 1.92099977}, + {7.008333, 1.00001347, 1.003287673, 1.9209553}, + {7.0125, 1.00001323, 1.00328087807, 1.92091084}, + {7.016667, 1.00001287, 1.00327408314, 1.92086673}, + {7.020833, 1.00001264, 1.00326728821, 1.92082274}, + {7.025, 1.00001228, 1.00326049328, 1.92077887}, + {7.029167, 1.00001204, 1.00325369835, 1.92073524}, + {7.033333, 1.0000118, 1.00324702263, 1.92069173}, + {7.0375, 1.00001144, 1.0032402277, 1.92064846}, + {7.041667, 1.00001121, 1.00323355198, 1.9206053}, + {7.045833, 1.00001097, 1.00322687626, 1.92056227}, + {7.05, 1.00001061, 1.00322008133, 1.92051947}, + {7.054167, 1.00001037, 1.00321340561, 1.92047691}, + {7.058333, 1.00001013, 1.00320672989, 1.92043447}, + {7.0625, 1.00000989, 1.00320017338, 1.92039216}, + {7.066667, 1.00000966, 1.00319349766, 1.92035007}, + {7.070833, 1.00000942, 1.00318682194, 1.92030811}, + {7.075, 1.00000918, 1.00318026543, 1.92026627}, + {7.079167, 1.00000894, 1.00317358971, 1.92022467}, + {7.083333, 1.0000087, 1.0031670332, 1.92018318}, + {7.0875, 1.00000858, 1.00316047668, 1.92014182}, + {7.091667, 1.00000834, 1.00315392017, 1.92010069}, + {7.095833, 1.00000823, 1.00314736366, 1.92005968}, + {7.1, 1.00000799, 1.00314080715, 1.92001879}, + {7.104167, 1.00000787, 1.00313425064, 1.91997802}, + {7.108333, 1.00000775, 1.00312769413, 1.91993749}, + {7.1125, 1.00000751, 1.00312125683, 1.91989708}, + {7.116667, 1.00000739, 1.00311470032, 1.91985679}, + {7.120833, 1.00000727, 1.00310826302, 1.91981661}, + {7.125, 1.00000727, 1.00310182571, 1.91977656}, + {7.129167, 1.00000715, 1.00309538841, 1.91973674}, + {7.133333, 1.00000703, 1.0030888319, 1.91969705}, + {7.1375, 1.00000691, 1.00308251381, 1.91965747}, + {7.141667, 1.00000691, 1.00307607651, 1.91961801}, + {7.145833, 1.00000691, 1.00306963921, 1.91957867}, + {7.15, 1.00000679, 1.0030632019, 1.91953945}, + {7.154167, 1.00000679, 1.00305688381, 1.91950047}, + {7.158333, 1.00000679, 1.00305044651, 1.91946149}, + {7.1625, 1.00000679, 1.00304412842, 1.91942275}, + {7.166667, 1.00000679, 1.00303781033, 1.91938412}, + {7.170833, 1.00000679, 1.00303149223, 1.9193455}, + {7.175, 1.00000679, 1.00302505493, 1.91930711}, + {7.179167, 1.00000691, 1.00301885605, 1.91926885}, + {7.183333, 1.00000691, 1.00301253796, 1.9192307}, + {7.1875, 1.00000703, 1.00300621986, 1.91919267}, + {7.191667, 1.00000703, 1.00299990177, 1.91915464}, + {7.195833, 1.00000715, 1.00299370289, 1.91911685}, + {7.2, 1.00000727, 1.0029873848, 1.91907918}, + {7.204167, 1.00000739, 1.00298118591, 1.91904163}, + {7.208333, 1.00000739, 1.00297486782, 1.9190042}, + {7.2125, 1.00000751, 1.00296866894, 1.91896689}, + {7.216667, 1.00000763, 1.00296247005, 1.9189297}, + {7.220833, 1.00000775, 1.00295627117, 1.91889262}, + {7.225, 1.00000799, 1.00295007229, 1.91885567}, + {7.229167, 1.00000811, 1.00294387341, 1.91881871}, + {7.233333, 1.00000823, 1.00293767452, 1.918782}, + {7.2375, 1.00000834, 1.00293147564, 1.9187454}, + {7.241667, 1.00000846, 1.00292527676, 1.91870892}, + {7.245833, 1.0000087, 1.00291919708, 1.91867244}, + {7.25, 1.00000882, 1.0029129982, 1.9186362}, + {7.254167, 1.00000906, 1.00290679932, 1.91860008}, + {7.258333, 1.00000918, 1.00290071964, 1.91856396}, + {7.2625, 1.0000093, 1.00289463997, 1.91852808}, + {7.266667, 1.00000954, 1.00288844109, 1.9184922}, + {7.270833, 1.00000966, 1.00288236141, 1.91845655}, + {7.275, 1.00000989, 1.00287628174, 1.91842091}, + {7.279167, 1.00001001, 1.00287020206, 1.91838539}, + {7.283333, 1.00001025, 1.00286412239, 1.9183501}, + {7.2875, 1.00001037, 1.00285804272, 1.91831481}, + {7.291667, 1.00001061, 1.00285196304, 1.91827965}, + {7.295833, 1.00001073, 1.00284588337, 1.9182446}, + {7.3, 1.00001097, 1.0028398037, 1.91820979}, + {7.304167, 1.00001109, 1.00283384323, 1.91817498}, + {7.308333, 1.00001121, 1.00282776356, 1.91814029}, + {7.3125, 1.00001144, 1.00282180309, 1.91810572}, + {7.316667, 1.00001156, 1.00281572342, 1.91807127}, + {7.320833, 1.00001168, 1.00280976295, 1.91803694}, + {7.325, 1.00001192, 1.00280368328, 1.91800272}, + {7.329167, 1.00001204, 1.00279772282, 1.91796863}, + {7.333333, 1.00001216, 1.00279176235, 1.91793466}, + {7.3375, 1.00001228, 1.00278568268, 1.9179008}, + {7.341667, 1.0000124, 1.00277972221, 1.91786718}, + {7.345833, 1.00001252, 1.00277376175, 1.91783357}, + {7.35, 1.00001264, 1.00276780128, 1.91780007}, + {7.354167, 1.00001276, 1.00276184082, 1.91776669}, + {7.358333, 1.00001287, 1.00275588036, 1.91773343}, + {7.3625, 1.00001299, 1.00274991989, 1.91770029}, + {7.366667, 1.00001299, 1.00274407864, 1.91766727}, + {7.370833, 1.00001311, 1.00273811817, 1.91763437}, + {7.375, 1.00001323, 1.00273215771, 1.9176017}, + {7.379167, 1.00001323, 1.00272631645, 1.91756904}, + {7.383333, 1.00001335, 1.00272035599, 1.9175365}, + {7.3875, 1.00001335, 1.00271451473, 1.91750419}, + {7.391667, 1.00001347, 1.00270855427, 1.91747189}, + {7.395833, 1.00001347, 1.00270271301, 1.9174397}, + {7.4, 1.00001347, 1.00269687176, 1.91740775}, + {7.404167, 1.00001347, 1.00269091129, 1.9173758}, + {7.408333, 1.00001347, 1.00268507004, 1.91734409}, + {7.4125, 1.00001347, 1.00267922878, 1.9173125}, + {7.416667, 1.00001347, 1.00267338753, 1.91728091}, + {7.420833, 1.00001347, 1.00266754627, 1.91724956}, + {7.425, 1.00001347, 1.00266170502, 1.91721833}, + {7.429167, 1.00001347, 1.00265586376, 1.91718721}, + {7.433333, 1.00001335, 1.00265014172, 1.91715622}, + {7.4375, 1.00001335, 1.00264430046, 1.91712534}, + {7.441667, 1.00001335, 1.00263845921, 1.91709459}, + {7.445833, 1.00001323, 1.00263273716, 1.91706407}, + {7.45, 1.00001323, 1.0026268959, 1.91703355}, + {7.454167, 1.00001311, 1.00262117386, 1.91700315}, + {7.458333, 1.00001299, 1.00261545181, 1.91697299}, + {7.4625, 1.00001299, 1.00260961056, 1.91694283}, + {7.466667, 1.00001287, 1.00260388851, 1.91691291}, + {7.470833, 1.00001276, 1.00259816647, 1.91688311}, + {7.475, 1.00001264, 1.00259244442, 1.91685331}, + {7.479167, 1.00001252, 1.00258672237, 1.91682374}, + {7.483333, 1.0000124, 1.00258100033, 1.9167943}, + {7.4875, 1.00001228, 1.00257527828, 1.91676497}, + {7.491667, 1.00001216, 1.00256967545, 1.91673577}, + {7.495833, 1.00001204, 1.0025639534, 1.91670668}, + {7.5, 1.00001192, 1.00255823135, 1.91667771}, + {7.504167, 1.0000118, 1.00255262852, 1.91664886}, + {7.508333, 1.00001168, 1.00254702568, 1.91662025}, + {7.5125, 1.00001156, 1.00254130363, 1.91659164}, + {7.516667, 1.00001144, 1.0025357008, 1.91656315}, + {7.520833, 1.00001121, 1.00253009796, 1.91653478}, + {7.525, 1.00001109, 1.00252449512, 1.91650665}, + {7.529167, 1.00001097, 1.00251889229, 1.91647851}, + {7.533333, 1.00001085, 1.00251328945, 1.91645062}, + {7.5375, 1.00001061, 1.00250768661, 1.91642272}, + {7.541667, 1.00001049, 1.00250208378, 1.91639495}, + {7.545833, 1.00001037, 1.00249660015, 1.91636741}, + {7.55, 1.00001025, 1.00249099731, 1.91633987}, + {7.554167, 1.00001001, 1.00248551369, 1.91631258}, + {7.558333, 1.00000989, 1.00247991085, 1.91628528}, + {7.5625, 1.00000978, 1.00247442722, 1.91625822}, + {7.566667, 1.00000966, 1.0024689436, 1.91623116}, + {7.570833, 1.00000954, 1.00246345997, 1.91620421}, + {7.575, 1.0000093, 1.00245797634, 1.91617751}, + {7.579167, 1.00000918, 1.00245249271, 1.91615081}, + {7.583333, 1.00000906, 1.00244700909, 1.91612422}, + {7.5875, 1.00000894, 1.00244152546, 1.91609776}, + {7.591667, 1.00000882, 1.00243604183, 1.91607141}, + {7.595833, 1.0000087, 1.00243067741, 1.91604519}, + {7.6, 1.00000858, 1.00242519379, 1.91601908}, + {7.604167, 1.00000846, 1.00241982937, 1.91599309}, + {7.608333, 1.00000834, 1.00241446495, 1.91596711}, + {7.6125, 1.00000823, 1.00240898132, 1.91594136}, + {7.616667, 1.00000811, 1.00240361691, 1.91591561}, + {7.620833, 1.00000799, 1.00239825249, 1.9158901}, + {7.625, 1.00000787, 1.00239288807, 1.91586459}, + {7.629167, 1.00000787, 1.00238752365, 1.9158392}, + {7.633333, 1.00000775, 1.00238227844, 1.91581392}, + {7.6375, 1.00000763, 1.00237691402, 1.91578877}, + {7.641667, 1.00000763, 1.00237154961, 1.91576362}, + {7.645833, 1.00000751, 1.0023663044, 1.9157387}, + {7.65, 1.00000739, 1.00236093998, 1.91571379}, + {7.654167, 1.00000739, 1.00235569477, 1.91568899}, + {7.658333, 1.00000739, 1.00235044956, 1.91566432}, + {7.6625, 1.00000727, 1.00234520435, 1.91563976}, + {7.666667, 1.00000727, 1.00233983994, 1.9156152}, + {7.670833, 1.00000715, 1.00233471394, 1.91559088}, + {7.675, 1.00000715, 1.00232946873, 1.91556656}, + {7.679167, 1.00000715, 1.00232422352, 1.91554236}, + {7.683333, 1.00000715, 1.00231897831, 1.91551816}, + {7.6875, 1.00000715, 1.0023137331, 1.9154942}, + {7.691667, 1.00000715, 1.0023086071, 1.91547024}, + {7.695833, 1.00000715, 1.00230336189, 1.9154464}, + {7.7, 1.00000715, 1.00229823589, 1.91542256}, + {7.704167, 1.00000715, 1.00229310989, 1.91539896}, + {7.708333, 1.00000715, 1.00228786469, 1.91537535}, + {7.7125, 1.00000715, 1.00228273869, 1.91535187}, + {7.716667, 1.00000715, 1.00227761269, 1.91532838}, + {7.720833, 1.00000715, 1.00227248669, 1.91530514}, + {7.725, 1.00000727, 1.00226736069, 1.91528189}, + {7.729167, 1.00000727, 1.00226223469, 1.91525865}, + {7.733333, 1.00000727, 1.0022572279, 1.91523564}, + {7.7375, 1.00000739, 1.0022521019, 1.91521263}, + {7.741667, 1.00000739, 1.0022469759, 1.91518974}, + {7.745833, 1.00000739, 1.00224196911, 1.91516697}, + {7.75, 1.00000751, 1.00223684311, 1.91514421}, + {7.754167, 1.00000751, 1.00223183632, 1.91512156}, + {7.758333, 1.00000763, 1.00222682953, 1.91509891}, + {7.7625, 1.00000763, 1.00222170353, 1.91507649}, + {7.766667, 1.00000775, 1.00221669674, 1.91505408}, + {7.770833, 1.00000775, 1.00221168995, 1.91503179}, + {7.775, 1.00000787, 1.00220668316, 1.9150095}, + {7.779167, 1.00000799, 1.00220167637, 1.91498733}, + {7.783333, 1.00000799, 1.00219666958, 1.91496527}, + {7.7875, 1.00000811, 1.002191782, 1.91494334}, + {7.791667, 1.00000823, 1.00218677521, 1.9149214}, + {7.795833, 1.00000823, 1.00218176842, 1.91489959}, + {7.8, 1.00000834, 1.00217676163, 1.91487777}, + {7.804167, 1.00000846, 1.00217187405, 1.91485608}, + {7.808333, 1.00000846, 1.00216686726, 1.9148345}, + {7.8125, 1.00000858, 1.00216197968, 1.91481304}, + {7.816667, 1.00000858, 1.00215709209, 1.91479158}, + {7.820833, 1.0000087, 1.00215220451, 1.91477025}, + {7.825, 1.00000882, 1.00214719772, 1.91474891}, + {7.829167, 1.00000882, 1.00214231014, 1.91472781}, + {7.833333, 1.00000894, 1.00213742256, 1.91470671}, + {7.8375, 1.00000906, 1.00213253498, 1.91468561}, + {7.841667, 1.00000906, 1.0021276474, 1.91466475}, + {7.845833, 1.00000918, 1.00212275982, 1.91464388}, + {7.85, 1.00000918, 1.00211787224, 1.91462302}, + {7.854167, 1.0000093, 1.00211310387, 1.9146024}, + {7.858333, 1.0000093, 1.00210821629, 1.91458178}, + {7.8625, 1.00000942, 1.0021033287, 1.91456115}, + {7.866667, 1.00000942, 1.00209856033, 1.91454077}, + {7.870833, 1.00000954, 1.00209367275, 1.91452038}, + {7.875, 1.00000954, 1.00208890438, 1.91450012}, + {7.879167, 1.00000966, 1.00208413601, 1.91447985}, + {7.883333, 1.00000966, 1.00207924843, 1.91445971}, + {7.8875, 1.00000978, 1.00207448006, 1.91443968}, + {7.891667, 1.00000978, 1.00206971169, 1.91441977}, + {7.895833, 1.00000978, 1.00206494331, 1.91439986}, + {7.9, 1.00000978, 1.00206017494, 1.91438007}, + {7.904167, 1.00000989, 1.00205540657, 1.9143604}, + {7.908333, 1.00000989, 1.0020506382, 1.91434073}, + {7.9125, 1.00000989, 1.00204586983, 1.91432118}, + {7.916667, 1.00000989, 1.00204110146, 1.91430175}, + {7.920833, 1.00000989, 1.00203645229, 1.91428232}, + {7.925, 1.00000989, 1.00203168392, 1.91426301}, + {7.929167, 1.00001001, 1.00202691555, 1.91424382}, + {7.933333, 1.00001001, 1.00202226639, 1.91422474}, + {7.9375, 1.00001001, 1.00201749802, 1.91420567}, + {7.941667, 1.00001001, 1.00201284885, 1.91418672}, + {7.945833, 1.00000989, 1.00200819969, 1.91416788}, + {7.95, 1.00000989, 1.00200343132, 1.91414905}, + {7.954167, 1.00000989, 1.00199878216, 1.91413033}, + {7.958333, 1.00000989, 1.001994133, 1.91411173}, + {7.9625, 1.00000989, 1.00198948383, 1.91409314}, + {7.966667, 1.00000989, 1.00198483467, 1.91407466}, + {7.970833, 1.00000978, 1.00198018551, 1.9140563}, + {7.975, 1.00000978, 1.00197553635, 1.91403806}, + {7.979167, 1.00000978, 1.00197088718, 1.91401982}, + {7.983333, 1.00000966, 1.00196635723, 1.9140017}, + {7.9875, 1.00000966, 1.00196170807, 1.9139837}, + {7.991667, 1.00000966, 1.00195705891, 1.9139657}, + {7.995833, 1.00000954, 1.00195252895, 1.91394782}, + {8, 1.00000954, 1.00194787979, 1.91393006}, + {8.004167, 1.00000942, 1.00194334984, 1.91391242}, + {8.008333, 1.00000942, 1.00193881989, 1.91389477}, + {8.0125, 1.0000093, 1.00193417072, 1.91387725}, + {8.016667, 1.0000093, 1.00192964077, 1.91385972}, + {8.020833, 1.00000918, 1.00192511082, 1.91384244}, + {8.025, 1.00000918, 1.00192058086, 1.91382515}, + {8.029167, 1.00000906, 1.00191605091, 1.91380787}, + {8.033333, 1.00000894, 1.00191152096, 1.9137907}, + {8.0375, 1.00000894, 1.001906991, 1.91377366}, + {8.041667, 1.00000882, 1.00190258026, 1.91375673}, + {8.045833, 1.0000087, 1.00189805031, 1.91373992}, + {8.05, 1.0000087, 1.00189352036, 1.91372311}, + {8.054167, 1.00000858, 1.00188910961, 1.9137063}, + {8.058333, 1.00000858, 1.00188457966, 1.91368973}, + {8.0625, 1.00000846, 1.00188016891, 1.91367316}, + {8.066667, 1.00000834, 1.00187575817, 1.91365659}, + {8.070833, 1.00000834, 1.00187122822, 1.91364026}, + {8.075, 1.00000823, 1.00186681747, 1.91362393}, + {8.079167, 1.00000811, 1.00186240673, 1.9136076}, + {8.083333, 1.00000811, 1.00185799599, 1.9135915}, + {8.0875, 1.00000799, 1.00185358524, 1.91357541}, + {8.091667, 1.00000787, 1.0018491745, 1.91355932}, + {8.095833, 1.00000787, 1.00184476376, 1.91354346}, + {8.1, 1.00000775, 1.00184047222, 1.91352749}, + {8.104167, 1.00000763, 1.00183606148, 1.91351175}, + {8.108333, 1.00000763, 1.00183165073, 1.91349602}, + {8.1125, 1.00000751, 1.0018273592, 1.9134804}, + {8.116667, 1.00000739, 1.00182306767, 1.91346478}, + {8.120833, 1.00000739, 1.00181865692, 1.91344929}, + {8.125, 1.00000727, 1.00181436539, 1.91343391}, + {8.129167, 1.00000727, 1.00181007385, 1.91341853}, + {8.133333, 1.00000715, 1.00180578232, 1.91340327}, + {8.1375, 1.00000715, 1.00180149078, 1.91338801}, + {8.141667, 1.00000703, 1.00179719925, 1.91337287}, + {8.145833, 1.00000703, 1.00179290771, 1.91335773}, + {8.15, 1.00000691, 1.00178861618, 1.91334283}, + {8.154167, 1.00000691, 1.00178432465, 1.91332781}, + {8.158333, 1.00000679, 1.00178003311, 1.91331303}, + {8.1625, 1.00000679, 1.00177586079, 1.91329813}, + {8.166667, 1.00000679, 1.00177156925, 1.91328347}, + {8.170833, 1.00000668, 1.00176739693, 1.9132688}, + {8.175, 1.00000668, 1.00176310539, 1.91325414}, + {8.179167, 1.00000668, 1.00175893307, 1.91323972}, + {8.183333, 1.00000656, 1.00175476074, 1.91322517}, + {8.1875, 1.00000656, 1.00175058842, 1.91321075}, + {8.191667, 1.00000656, 1.00174629688, 1.91319644}, + {8.195833, 1.00000644, 1.00174212456, 1.91318214}, + {8.2, 1.00000644, 1.00173807144, 1.91316795}, + {8.204167, 1.00000644, 1.00173389912, 1.91315389}, + {8.208333, 1.00000644, 1.00172972679, 1.9131397}, + {8.2125, 1.00000644, 1.00172555447, 1.91312575}, + {8.216667, 1.00000644, 1.00172138214, 1.91311181}, + {8.220833, 1.00000644, 1.00171732903, 1.91309786}, + {8.225, 1.00000644, 1.0017131567, 1.91308403}, + {8.229167, 1.00000632, 1.00170910358, 1.91307032}, + {8.233333, 1.00000632, 1.00170493126, 1.91305661}, + {8.2375, 1.00000632, 1.00170087814, 1.9130429}, + {8.241667, 1.00000632, 1.00169682503, 1.91302931}, + {8.245833, 1.00000632, 1.00169277191, 1.91301584}, + {8.25, 1.00000644, 1.0016887188, 1.91300225}, + {8.254167, 1.00000644, 1.00168454647, 1.9129889}, + {8.258333, 1.00000644, 1.00168049335, 1.91297555}, + {8.2625, 1.00000644, 1.00167655945, 1.9129622}, + {8.266667, 1.00000644, 1.00167250633, 1.91294897}, + {8.270833, 1.00000644, 1.00166845322, 1.91293585}, + {8.275, 1.00000644, 1.0016644001, 1.91292274}, + {8.279167, 1.00000644, 1.00166046619, 1.91290963}, + {8.283333, 1.00000656, 1.00165641308, 1.91289663}, + {8.2875, 1.00000656, 1.00165235996, 1.91288364}, + {8.291667, 1.00000656, 1.00164842606, 1.91287076}, + {8.295833, 1.00000656, 1.00164449215, 1.91285789}, + {8.3, 1.00000656, 1.00164043903, 1.91284513}, + {8.304167, 1.00000668, 1.00163650513, 1.91283238}, + {8.308333, 1.00000668, 1.00163257122, 1.91281974}, + {8.3125, 1.00000668, 1.00162863731, 1.91280711}, + {8.316667, 1.00000668, 1.00162470341, 1.91279447}, + {8.320833, 1.00000679, 1.0016207695, 1.91278207}, + {8.325, 1.00000679, 1.00161683559, 1.91276956}, + {8.329167, 1.00000679, 1.00161290169, 1.91275716}, + {8.333333, 1.00000679, 1.00160896778, 1.91274488}, + {8.3375, 1.00000691, 1.00160503387, 1.91273248}, + {8.341667, 1.00000691, 1.00160109997, 1.91272032}, + {8.345833, 1.00000691, 1.00159728527, 1.91270816}, + {8.35, 1.00000703, 1.00159335136, 1.912696}, + {8.354167, 1.00000703, 1.00158953667, 1.91268396}, + {8.358333, 1.00000703, 1.00158560276, 1.91267192}, + {8.3625, 1.00000703, 1.00158178806, 1.91266}, + {8.366667, 1.00000715, 1.00157797337, 1.91264808}, + {8.370833, 1.00000715, 1.00157403946, 1.91263616}, + {8.375, 1.00000715, 1.00157022476, 1.91262436}, + {8.379167, 1.00000715, 1.00156641006, 1.91261268}, + {8.383333, 1.00000715, 1.00156259537, 1.91260099}, + {8.3875, 1.00000727, 1.00155878067, 1.91258931}, + {8.391667, 1.00000727, 1.00155496597, 1.91257775}, + {8.395833, 1.00000727, 1.00155115128, 1.9125663}, + {8.4, 1.00000727, 1.00154733658, 1.91255474}, + {8.404167, 1.00000727, 1.00154352188, 1.91254342}, + {8.408333, 1.00000739, 1.00153970718, 1.91253197}, + {8.4125, 1.00000739, 1.0015360117, 1.91252065}, + {8.416667, 1.00000739, 1.001532197, 1.91250944}, + {8.420833, 1.00000739, 1.00152850151, 1.91249824}, + {8.425, 1.00000739, 1.00152468681, 1.91248715}, + {8.429167, 1.00000739, 1.00152099133, 1.91247606}, + {8.433333, 1.00000739, 1.00151717663, 1.91246498}, + {8.4375, 1.00000739, 1.00151348114, 1.91245401}, + {8.441667, 1.00000739, 1.00150978565, 1.91244304}, + {8.445833, 1.00000739, 1.00150597095, 1.91243219}, + {8.45, 1.00000739, 1.00150227547, 1.91242146}, + {8.454167, 1.00000739, 1.00149857998, 1.91241062}, + {8.458333, 1.00000739, 1.00149488449, 1.91240001}, + {8.4625, 1.00000739, 1.001491189, 1.91238928}, + {8.466667, 1.00000739, 1.00148749352, 1.91237867}, + {8.470833, 1.00000739, 1.00148379803, 1.91236818}, + {8.475, 1.00000739, 1.00148010254, 1.91235769}, + {8.479167, 1.00000739, 1.00147652626, 1.9123472}, + {8.483333, 1.00000739, 1.00147283077, 1.91233683}, + {8.4875, 1.00000739, 1.00146913528, 1.91232657}, + {8.491667, 1.00000739, 1.00146555901, 1.91231632}, + {8.495833, 1.00000739, 1.00146186352, 1.91230607}, + {8.5, 1.00000727, 1.00145828724, 1.91229594}, + {8.504167, 1.00000727, 1.00145459175, 1.9122858}, + {8.508333, 1.00000727, 1.00145101547, 1.91227579}, + {8.5125, 1.00000727, 1.00144743919, 1.91226578}, + {8.516667, 1.00000727, 1.00144374371, 1.91225576}, + {8.520833, 1.00000715, 1.00144016743, 1.91224587}, + {8.525, 1.00000715, 1.00143659115, 1.91223609}, + {8.529167, 1.00000715, 1.00143301487, 1.91222632}, + {8.533333, 1.00000703, 1.00142943859, 1.91221654}, + {8.5375, 1.00000703, 1.00142586231, 1.91220689}, + {8.541667, 1.00000703, 1.00142228603, 1.91219723}, + {8.545833, 1.00000703, 1.00141882896, 1.9121877}, + {8.55, 1.00000691, 1.00141525269, 1.91217816}, + {8.554167, 1.00000691, 1.00141167641, 1.91216874}, + {8.558333, 1.00000691, 1.00140810013, 1.91215932}, + {8.5625, 1.00000679, 1.00140464306, 1.91214991}, + {8.566667, 1.00000679, 1.00140106678, 1.91214061}, + {8.570833, 1.00000679, 1.00139760971, 1.91213131}, + {8.575, 1.00000668, 1.00139415264, 1.91212213}, + {8.579167, 1.00000668, 1.00139057636, 1.91211295}, + {8.583333, 1.00000668, 1.00138711929, 1.91210389}, + {8.5875, 1.00000656, 1.00138366222, 1.91209483}, + {8.591667, 1.00000656, 1.00138020515, 1.91208589}, + {8.595833, 1.00000644, 1.00137674809, 1.91207695}, + {8.6, 1.00000644, 1.00137329102, 1.91206801}, + {8.604167, 1.00000644, 1.00136983395, 1.91205919}, + {8.608333, 1.00000632, 1.00136637688, 1.91205037}, + {8.6125, 1.00000632, 1.00136291981, 1.91204154}, + {8.616667, 1.00000632, 1.00135946274, 1.91203284}, + {8.620833, 1.0000062, 1.00135600567, 1.91202426}, + {8.625, 1.0000062, 1.00135266781, 1.91201568}, + {8.629167, 1.0000062, 1.00134921074, 1.91200709}, + {8.633333, 1.00000608, 1.00134587288, 1.91199851}, + {8.6375, 1.00000608, 1.00134241581, 1.91199017}, + {8.641667, 1.00000596, 1.00133907795, 1.9119817}, + {8.645833, 1.00000596, 1.00133562088, 1.91197336}, + {8.65, 1.00000596, 1.00133228302, 1.91196501}, + {8.654167, 1.00000584, 1.00132894516, 1.91195679}, + {8.658333, 1.00000584, 1.0013256073, 1.91194856}, + {8.6625, 1.00000584, 1.00132226944, 1.91194034}, + {8.666667, 1.00000584, 1.00131893158, 1.91193223}, + {8.670833, 1.00000572, 1.00131559372, 1.91192412}, + {8.675, 1.00000572, 1.00131225586, 1.91191614}, + {8.679167, 1.00000572, 1.001308918, 1.91190803}, + {8.683333, 1.0000056, 1.00130558014, 1.91190016}, + {8.6875, 1.0000056, 1.00130224228, 1.91189218}, + {8.691667, 1.0000056, 1.00129902363, 1.91188431}, + {8.695833, 1.0000056, 1.00129568577, 1.91187656}, + {8.7, 1.0000056, 1.00129234791, 1.91186881}, + {8.704167, 1.00000548, 1.00128912926, 1.91186106}, + {8.708333, 1.00000548, 1.0012857914, 1.91185331}, + {8.7125, 1.00000548, 1.00128257275, 1.91184568}, + {8.716667, 1.00000548, 1.0012793541, 1.91183805}, + {8.720833, 1.00000548, 1.00127601624, 1.91183054}, + {8.725, 1.00000536, 1.00127279758, 1.91182303}, + {8.729167, 1.00000536, 1.00126957893, 1.91181552}, + {8.733333, 1.00000536, 1.00126636028, 1.91180813}, + {8.7375, 1.00000536, 1.00126314163, 1.91180074}, + {8.741667, 1.00000536, 1.00125992298, 1.91179335}, + {8.745833, 1.00000536, 1.00125670433, 1.91178608}, + {8.75, 1.00000536, 1.00125348568, 1.91177881}, + {8.754167, 1.00000536, 1.00125026703, 1.91177154}, + {8.758333, 1.00000536, 1.00124716759, 1.91176438}, + {8.7625, 1.00000525, 1.00124394894, 1.91175723}, + {8.766667, 1.00000525, 1.00124073029, 1.91175008}, + {8.770833, 1.00000525, 1.00123763084, 1.91174304}, + {8.775, 1.00000525, 1.00123441219, 1.91173601}, + {8.779167, 1.00000525, 1.00123131275, 1.91172898}, + {8.783333, 1.00000525, 1.0012280941, 1.91172206}, + {8.7875, 1.00000525, 1.00122499466, 1.91171503}, + {8.791667, 1.00000525, 1.00122189522, 1.91170824}, + {8.795833, 1.00000525, 1.00121879578, 1.91170132}, + {8.8, 1.00000525, 1.00121557713, 1.91169453}, + {8.804167, 1.00000525, 1.00121247768, 1.91168785}, + {8.808333, 1.00000525, 1.00120937824, 1.91168106}, + {8.8125, 1.00000536, 1.0012062788, 1.91167438}, + {8.816667, 1.00000536, 1.00120317936, 1.9116677}, + {8.820833, 1.00000536, 1.00120007992, 1.91166115}, + {8.825, 1.00000536, 1.00119709969, 1.91165447}, + {8.829167, 1.00000536, 1.00119400024, 1.91164792}, + {8.833333, 1.00000536, 1.0011909008, 1.91164148}, + {8.8375, 1.00000536, 1.00118780136, 1.91163504}, + {8.841667, 1.00000536, 1.00118482113, 1.9116286}, + {8.845833, 1.00000536, 1.00118172169, 1.91162217}, + {8.85, 1.00000536, 1.00117874146, 1.91161585}, + {8.854167, 1.00000536, 1.00117564201, 1.91160953}, + {8.858333, 1.00000536, 1.00117266178, 1.91160321}, + {8.8625, 1.00000536, 1.00116956234, 1.91159689}, + {8.866667, 1.00000548, 1.00116658211, 1.9115907}, + {8.870833, 1.00000548, 1.00116360188, 1.9115845}, + {8.875, 1.00000548, 1.00116062164, 1.91157842}, + {8.879167, 1.00000548, 1.0011575222, 1.91157234}, + {8.883333, 1.00000548, 1.00115454197, 1.91156626}, + {8.8875, 1.00000548, 1.00115156174, 1.91156018}, + {8.891667, 1.00000548, 1.0011485815, 1.91155422}, + {8.895833, 1.00000548, 1.00114560127, 1.91154826}, + {8.9, 1.00000548, 1.00114262104, 1.9115423}, + {8.904167, 1.00000548, 1.00113976002, 1.91153634}, + {8.908333, 1.00000548, 1.00113677979, 1.91153049}, + {8.9125, 1.00000548, 1.00113379955, 1.91152465}, + {8.916667, 1.00000548, 1.00113081932, 1.91151893}, + {8.920833, 1.0000056, 1.0011279583, 1.91151309}, + {8.925, 1.0000056, 1.00112497807, 1.91150737}, + {8.929167, 1.0000056, 1.00112211704, 1.91150177}, + {8.933333, 1.0000056, 1.00111913681, 1.91149604}, + {8.9375, 1.0000056, 1.00111627579, 1.91149044}, + {8.941667, 1.0000056, 1.00111329556, 1.91148484}, + {8.945833, 1.0000056, 1.00111043453, 1.91147935}, + {8.95, 1.0000056, 1.00110757351, 1.91147387}, + {8.954167, 1.0000056, 1.00110459328, 1.91146839}, + {8.958333, 1.0000056, 1.00110173225, 1.9114629}, + {8.9625, 1.0000056, 1.00109887123, 1.91145754}, + {8.966667, 1.0000056, 1.00109601021, 1.91145217}, + {8.970833, 1.0000056, 1.00109314919, 1.91144681}, + {8.975, 1.0000056, 1.00109028816, 1.91144145}, + {8.979167, 1.0000056, 1.00108742714, 1.9114362}, + {8.983333, 1.0000056, 1.00108456612, 1.91143095}, + {8.9875, 1.0000056, 1.00108170509, 1.91142583}, + {8.991667, 1.0000056, 1.00107884407, 1.91142058}, + {8.995833, 1.0000056, 1.00107610226, 1.91141546}, + {9, 1.0000056, 1.00107324123, 1.91141045}, + {9.004167, 1.00000548, 1.00107038021, 1.91140532}, + {9.008333, 1.00000548, 1.0010676384, 1.91140032}, + {9.0125, 1.00000548, 1.00106477737, 1.91139531}, + {9.016667, 1.00000548, 1.00106203556, 1.91139042}, + {9.020833, 1.00000548, 1.00105917454, 1.91138542}, + {9.025, 1.00000548, 1.00105643272, 1.91138053}, + {9.029167, 1.00000548, 1.00105369091, 1.91137564}, + {9.033333, 1.00000548, 1.00105082989, 1.91137087}, + {9.0375, 1.00000548, 1.00104808807, 1.91136611}, + {9.041667, 1.00000536, 1.00104534626, 1.91136134}, + {9.045833, 1.00000536, 1.00104260445, 1.91135657}, + {9.05, 1.00000536, 1.00103986263, 1.91135192}, + {9.054167, 1.00000536, 1.00103700161, 1.91134727}, + {9.058333, 1.00000536, 1.0010342598, 1.91134262}, + {9.0625, 1.00000536, 1.00103163719, 1.91133809}, + {9.066667, 1.00000525, 1.00102889538, 1.91133356}, + {9.070833, 1.00000525, 1.00102615356, 1.91132903}, + {9.075, 1.00000525, 1.00102341175, 1.9113245}, + {9.079167, 1.00000525, 1.00102066994, 1.91132009}, + {9.083333, 1.00000525, 1.00101792812, 1.91131568}, + {9.0875, 1.00000525, 1.00101530552, 1.91131127}, + {9.091667, 1.00000513, 1.00101256371, 1.91130686}, + {9.095833, 1.00000513, 1.0010099411, 1.91130257}, + {9.1, 1.00000513, 1.00100719929, 1.91129827}, + {9.104167, 1.00000513, 1.00100457668, 1.91129398}, + {9.108333, 1.00000513, 1.00100183487, 1.91128981}, + {9.1125, 1.00000501, 1.00099921227, 1.91128564}, + {9.116667, 1.00000501, 1.00099658966, 1.91128147}, + {9.120833, 1.00000501, 1.00099384785, 1.91127729}, + {9.125, 1.00000501, 1.00099122524, 1.91127324}, + {9.129167, 1.00000489, 1.00098860264, 1.91126907}, + {9.133333, 1.00000489, 1.00098598003, 1.91126513}, + {9.1375, 1.00000489, 1.00098335743, 1.91126108}, + {9.141667, 1.00000489, 1.00098073483, 1.91125715}, + {9.145833, 1.00000489, 1.00097811222, 1.91125321}, + {9.15, 1.00000477, 1.00097548962, 1.91124928}, + {9.154167, 1.00000477, 1.00097286701, 1.91124535}, + {9.158333, 1.00000477, 1.00097024441, 1.91124153}, + {9.1625, 1.00000477, 1.00096774101, 1.91123772}, + {9.166667, 1.00000477, 1.00096511841, 1.9112339}, + {9.170833, 1.00000465, 1.0009624958, 1.91123009}, + {9.175, 1.00000465, 1.0009598732, 1.91122639}, + {9.179167, 1.00000465, 1.0009573698, 1.9112227}, + {9.183333, 1.00000465, 1.0009547472, 1.911219}, + {9.1875, 1.00000465, 1.0009522438, 1.91121531}, + {9.191667, 1.00000453, 1.0009496212, 1.91121173}, + {9.195833, 1.00000453, 1.00094711781, 1.91120815}, + {9.2, 1.00000453, 1.00094461441, 1.91120458}, + {9.204167, 1.00000453, 1.00094211102, 1.911201}, + {9.208333, 1.00000453, 1.00093948841, 1.91119754}, + {9.2125, 1.00000453, 1.00093698502, 1.91119409}, + {9.216667, 1.00000441, 1.00093448162, 1.91119063}, + {9.220833, 1.00000441, 1.00093197823, 1.91118717}, + {9.225, 1.00000441, 1.00092947483, 1.91118383}, + {9.229167, 1.00000441, 1.00092697144, 1.9111805}, + {9.233333, 1.00000441, 1.00092446804, 1.91117704}, + {9.2375, 1.00000441, 1.00092196465, 1.91117382}, + {9.241667, 1.00000441, 1.00091946125, 1.91117048}, + {9.245833, 1.00000429, 1.00091695786, 1.91116726}, + {9.25, 1.00000429, 1.00091457367, 1.91116405}, + {9.254167, 1.00000429, 1.00091207027, 1.91116083}, + {9.258333, 1.00000429, 1.00090956688, 1.91115761}, + {9.2625, 1.00000429, 1.00090718269, 1.91115451}, + {9.266667, 1.00000429, 1.0009046793, 1.91115129}, + {9.270833, 1.00000429, 1.00090229511, 1.91114819}, + {9.275, 1.00000429, 1.00089979172, 1.91114521}, + {9.279167, 1.00000429, 1.00089740753, 1.91114211}, + {9.283333, 1.00000429, 1.00089490414, 1.91113913}, + {9.2875, 1.00000417, 1.00089251995, 1.91113603}, + {9.291667, 1.00000417, 1.00089013577, 1.91113305}, + {9.295833, 1.00000417, 1.00088775158, 1.91113019}, + {9.3, 1.00000417, 1.00088524818, 1.91112721}, + {9.304167, 1.00000417, 1.000882864, 1.91112435}, + {9.308333, 1.00000417, 1.00088047981, 1.91112149}, + {9.3125, 1.00000417, 1.00087809563, 1.91111863}, + {9.316667, 1.00000417, 1.00087571144, 1.91111577}, + {9.320833, 1.00000417, 1.00087332726, 1.9111129}, + {9.325, 1.00000417, 1.00087094307, 1.91111016}, + {9.329167, 1.00000417, 1.00086855888, 1.91110742}, + {9.333333, 1.00000417, 1.0008661747, 1.91110468}, + {9.3375, 1.00000417, 1.00086390972, 1.91110194}, + {9.341667, 1.00000417, 1.00086152554, 1.91109931}, + {9.345833, 1.00000417, 1.00085914135, 1.91109657}, + {9.35, 1.00000417, 1.00085687637, 1.91109395}, + {9.354167, 1.00000417, 1.00085449219, 1.91109133}, + {9.358333, 1.00000417, 1.000852108, 1.91108882}, + {9.3625, 1.00000417, 1.00084984303, 1.9110862}, + {9.366667, 1.00000417, 1.00084745884, 1.9110837}, + {9.370833, 1.00000417, 1.00084519386, 1.91108119}, + {9.375, 1.00000417, 1.00084292889, 1.91107869}, + {9.379167, 1.00000417, 1.0008405447, 1.91107619}, + {9.383333, 1.00000417, 1.00083827972, 1.91107368}, + {9.3875, 1.00000417, 1.00083601475, 1.9110713}, + {9.391667, 1.00000417, 1.00083374977, 1.9110688}, + {9.395833, 1.00000417, 1.00083136559, 1.91106641}, + {9.4, 1.00000417, 1.00082910061, 1.91106415}, + {9.404167, 1.00000417, 1.00082683563, 1.91106176}, + {9.408333, 1.00000417, 1.00082457066, 1.91105938}, + {9.4125, 1.00000417, 1.00082230568, 1.91105711}, + {9.416667, 1.00000417, 1.0008200407, 1.91105485}, + {9.420833, 1.00000417, 1.00081777573, 1.91105258}, + {9.425, 1.00000417, 1.00081551075, 1.91105032}, + {9.429167, 1.00000417, 1.00081336498, 1.91104817}, + {9.433333, 1.00000417, 1.00081110001, 1.91104591}, + {9.4375, 1.00000417, 1.00080883503, 1.91104376}, + {9.441667, 1.00000417, 1.00080657005, 1.91104162}, + {9.445833, 1.00000417, 1.00080442429, 1.91103947}, + {9.45, 1.00000417, 1.00080215931, 1.91103745}, + {9.454167, 1.00000417, 1.00080001354, 1.9110353}, + {9.458333, 1.00000417, 1.00079774857, 1.91103327}, + {9.4625, 1.00000417, 1.0007956028, 1.91103125}, + {9.466667, 1.00000417, 1.00079333782, 1.91102922}, + {9.470833, 1.00000417, 1.00079119205, 1.91102719}, + {9.475, 1.00000417, 1.00078892708, 1.91102529}, + {9.479167, 1.00000417, 1.00078678131, 1.91102326}, + {9.483333, 1.00000417, 1.00078463554, 1.91102135}, + {9.4875, 1.00000417, 1.00078237057, 1.91101944}, + {9.491667, 1.00000417, 1.0007802248, 1.91101754}, + {9.495833, 1.00000417, 1.00077807903, 1.91101575}, + {9.5, 1.00000417, 1.00077593327, 1.91101384}, + {9.504167, 1.00000417, 1.0007737875, 1.91101205}, + {9.508333, 1.00000417, 1.00077164173, 1.91101027}, + {9.5125, 1.00000417, 1.00076949596, 1.91100848}, + {9.516667, 1.00000417, 1.0007673502, 1.91100669}, + {9.520833, 1.00000417, 1.00076520443, 1.9110049}, + {9.525, 1.00000417, 1.00076305866, 1.91100323}, + {9.529167, 1.00000417, 1.0007609129, 1.91100156}, + {9.533333, 1.00000417, 1.00075876713, 1.91099989}, + {9.5375, 1.00000405, 1.00075674057, 1.91099823}, + {9.541667, 1.00000405, 1.0007545948, 1.91099656}, + {9.545833, 1.00000405, 1.00075244904, 1.91099489}, + {9.55, 1.00000405, 1.00075042248, 1.91099334}, + {9.554167, 1.00000405, 1.00074827671, 1.91099179}, + {9.558333, 1.00000405, 1.00074613094, 1.91099024}, + {9.5625, 1.00000405, 1.00074410439, 1.91098869}, + {9.566667, 1.00000405, 1.00074195862, 1.91098714}, + {9.570833, 1.00000405, 1.00073993206, 1.91098571}, + {9.575, 1.00000405, 1.0007379055, 1.91098416}, + {9.579167, 1.00000405, 1.00073575974, 1.91098273}, + {9.583333, 1.00000405, 1.00073373318, 1.9109813}, + {9.5875, 1.00000393, 1.00073170662, 1.91097987}, + {9.591667, 1.00000393, 1.00072956085, 1.91097856}, + {9.595833, 1.00000393, 1.00072753429, 1.91097713}, + {9.6, 1.00000393, 1.00072550774, 1.91097581}, + {9.604167, 1.00000393, 1.00072348118, 1.91097438}, + {9.608333, 1.00000393, 1.00072145462, 1.91097307}, + {9.6125, 1.00000393, 1.00071942806, 1.91097188}, + {9.616667, 1.00000393, 1.0007174015, 1.91097057}, + {9.620833, 1.00000381, 1.00071537495, 1.91096926}, + {9.625, 1.00000381, 1.00071334839, 1.91096807}, + {9.629167, 1.00000381, 1.00071132183, 1.91096687}, + {9.633333, 1.00000381, 1.00070929527, 1.91096568}, + {9.6375, 1.00000381, 1.00070726871, 1.91096449}, + {9.641667, 1.00000381, 1.00070536137, 1.9109633}, + {9.645833, 1.00000381, 1.00070333481, 1.91096222}, + {9.65, 1.00000381, 1.00070130825, 1.91096103}, + {9.654167, 1.0000037, 1.00069928169, 1.91095996}, + {9.658333, 1.0000037, 1.00069737434, 1.91095889}, + {9.6625, 1.0000037, 1.00069534779, 1.91095781}, + {9.666667, 1.0000037, 1.00069344044, 1.91095674}, + {9.670833, 1.0000037, 1.00069141388, 1.91095567}, + {9.675, 1.0000037, 1.00068950653, 1.91095471}, + {9.679167, 1.0000037, 1.00068747997, 1.91095376}, + {9.683333, 1.0000037, 1.00068557262, 1.91095281}, + {9.6875, 1.00000358, 1.00068366528, 1.91095173}, + {9.691667, 1.00000358, 1.00068163872, 1.9109509}, + {9.695833, 1.00000358, 1.00067973137, 1.91094995}, + {9.7, 1.00000358, 1.00067782402, 1.91094899}, + {9.704167, 1.00000358, 1.00067591667, 1.91094816}, + {9.708333, 1.00000358, 1.00067400932, 1.91094732}, + {9.7125, 1.00000358, 1.00067210197, 1.91094637}, + {9.716667, 1.00000358, 1.00067007542, 1.91094565}, + {9.720833, 1.00000346, 1.00066816807, 1.91094482}, + {9.725, 1.00000346, 1.00066626072, 1.91094398}, + {9.729167, 1.00000346, 1.00066435337, 1.91094315}, + {9.733333, 1.00000346, 1.00066256523, 1.91094244}, + {9.7375, 1.00000346, 1.00066065788, 1.91094172}, + {9.741667, 1.00000346, 1.00065875053, 1.910941}, + {9.745833, 1.00000346, 1.00065684319, 1.91094029}, + {9.75, 1.00000346, 1.00065493584, 1.91093957}, + {9.754167, 1.00000346, 1.0006531477, 1.91093886}, + {9.758333, 1.00000334, 1.00065124035, 1.91093814}, + {9.7625, 1.00000334, 1.000649333, 1.91093755}, + {9.766667, 1.00000334, 1.00064754486, 1.91093695}, + {9.770833, 1.00000334, 1.00064563751, 1.91093624}, + {9.775, 1.00000334, 1.00064384937, 1.91093564}, + {9.779167, 1.00000334, 1.00064194202, 1.91093504}, + {9.783333, 1.00000334, 1.00064015388, 1.91093457}, + {9.7875, 1.00000334, 1.00063824654, 1.91093397}, + {9.791667, 1.00000334, 1.0006364584, 1.91093349}, + {9.795833, 1.00000334, 1.00063455105, 1.9109329}, + {9.8, 1.00000334, 1.00063276291, 1.91093242}, + {9.804167, 1.00000334, 1.00063097477, 1.91093194}, + {9.808333, 1.00000322, 1.00062918663, 1.91093147}, + {9.8125, 1.00000322, 1.00062727928, 1.91093099}, + {9.816667, 1.00000322, 1.00062549114, 1.91093051}, + {9.820833, 1.00000322, 1.000623703, 1.91093004}, + {9.825, 1.00000322, 1.00062191486, 1.91092968}, + {9.829167, 1.00000322, 1.00062012672, 1.91092932}, + {9.833333, 1.00000322, 1.00061833858, 1.91092885}, + {9.8375, 1.00000322, 1.00061655045, 1.91092849}, + {9.841667, 1.00000322, 1.00061476231, 1.91092813}, + {9.845833, 1.00000322, 1.00061297417, 1.91092777}, + {9.85, 1.00000322, 1.00061118603, 1.91092741}, + {9.854167, 1.00000322, 1.00060939789, 1.91092718}, + {9.858333, 1.00000322, 1.00060772896, 1.91092682}, + {9.8625, 1.00000322, 1.00060594082, 1.91092658}, + {9.866667, 1.00000322, 1.00060415268, 1.91092622}, + {9.870833, 1.00000322, 1.00060236454, 1.91092598}, + {9.875, 1.00000322, 1.00060069561, 1.91092575}, + {9.879167, 1.00000322, 1.00059890747, 1.91092551}, + {9.883333, 1.00000322, 1.00059723854, 1.91092527}, + {9.8875, 1.00000322, 1.0005954504, 1.91092515}, + {9.891667, 1.00000322, 1.00059366226, 1.91092491}, + {9.895833, 1.00000322, 1.00059199333, 1.91092467}, + {9.9, 1.00000322, 1.0005903244, 1.91092455}, + {9.904167, 1.00000322, 1.00058853626, 1.91092443}, + {9.908333, 1.00000322, 1.00058686733, 1.91092432}, + {9.9125, 1.00000322, 1.00058507919, 1.91092408}, + {9.916667, 1.00000322, 1.00058341026, 1.91092408}, + {9.920833, 1.00000322, 1.00058174133, 1.91092396}, + {9.925, 1.00000322, 1.0005800724, 1.91092384}, + {9.929167, 1.00000322, 1.00057828426, 1.91092372}, + {9.933333, 1.0000031, 1.00057661533, 1.91092372}, + {9.9375, 1.0000031, 1.0005749464, 1.9109236}, + {9.941667, 1.0000031, 1.00057327747, 1.9109236}, + {9.945833, 1.0000031, 1.00057160854, 1.9109236}, + {9.95, 1.0000031, 1.00056993961, 1.9109236}, + {9.954167, 1.0000031, 1.00056827068, 1.9109236}, + {9.958333, 1.0000031, 1.00056660175, 1.9109236}, + {9.9625, 1.0000031, 1.00056493282, 1.9109236}, + {9.966667, 1.0000031, 1.00056326389, 1.91092372}, + {9.970833, 1.0000031, 1.00056159496, 1.91092372}, + {9.975, 1.0000031, 1.00055992603, 1.91092384}, + {9.979167, 1.0000031, 1.0005582571, 1.91092384}, + {9.983333, 1.0000031, 1.00055670738, 1.91092396}, + {9.9875, 1.0000031, 1.00055503845, 1.91092408}, + {9.991667, 1.0000031, 1.00055336952, 1.9109242}, + {9.995833, 1.0000031, 1.0005518198, 1.91092432}, + {10, 1.0000031, 1.00055015087, 1.91092443}, +}; diff --git a/src/Model/PhasorDynamics/CMakeLists.txt b/src/Model/PhasorDynamics/CMakeLists.txt index 7ad3e7ec9..3c5c0d795 100644 --- a/src/Model/PhasorDynamics/CMakeLists.txt +++ b/src/Model/PhasorDynamics/CMakeLists.txt @@ -8,6 +8,7 @@ add_library(gridkit_phasor_dynamics_components INTERFACE) add_subdirectory(Branch) add_subdirectory(Bus) add_subdirectory(BusFault) +add_subdirectory(Exciter) add_subdirectory(Governor) add_subdirectory(Load) add_subdirectory(SynchronousMachine) diff --git a/src/Model/PhasorDynamics/ComponentLibrary.hpp b/src/Model/PhasorDynamics/ComponentLibrary.hpp index 417bdae4c..88c955bc1 100644 --- a/src/Model/PhasorDynamics/ComponentLibrary.hpp +++ b/src/Model/PhasorDynamics/ComponentLibrary.hpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include diff --git a/src/Model/PhasorDynamics/Exciter/CMakeLists.txt b/src/Model/PhasorDynamics/Exciter/CMakeLists.txt new file mode 100644 index 000000000..10d059f8e --- /dev/null +++ b/src/Model/PhasorDynamics/Exciter/CMakeLists.txt @@ -0,0 +1,6 @@ +# [[ +# Author(s): +# - Luke Lowery +# ]] + +add_subdirectory(IEEET1) diff --git a/src/Model/PhasorDynamics/Exciter/IEEET1/CMakeLists.txt b/src/Model/PhasorDynamics/Exciter/IEEET1/CMakeLists.txt new file mode 100644 index 000000000..1b06e47ad --- /dev/null +++ b/src/Model/PhasorDynamics/Exciter/IEEET1/CMakeLists.txt @@ -0,0 +1,16 @@ +# [[ +# Author(s): +# - Luke Lowery +# - Adam Birchfield +# ]] + +gridkit_add_library(phasor_dynamics_exciter_ieeet1 + SOURCES + Ieeet1.cpp + LINK_LIBRARIES + GRIDKIT::phasor_dynamics_signal + OUTPUT_NAME + gridkit_phasor_dynamics_exciter_ieeet1) + +# Link to interface target for all components +target_link_libraries(gridkit_phasor_dynamics_components INTERFACE GRIDKIT::phasor_dynamics_exciter_ieeet1) diff --git a/src/Model/PhasorDynamics/Exciter/IEEET1/Ieeet1.cpp b/src/Model/PhasorDynamics/Exciter/IEEET1/Ieeet1.cpp new file mode 100644 index 000000000..9623460a8 --- /dev/null +++ b/src/Model/PhasorDynamics/Exciter/IEEET1/Ieeet1.cpp @@ -0,0 +1,362 @@ +/** + * @file Ieeet1.cpp + * @author Luke Lowery (lukel@tamu.edu) + * @author Adam Birchfield (abirchfield@tamu.edu) + * + * @brief Definition of a IEEET1 Exciter. + * + */ + +#include "Ieeet1.hpp" + +#include +#include + +#include +#include +#include + +#define _USE_MATH_DEFINES + +namespace GridKit +{ + namespace PhasorDynamics + { + namespace Exciter + { + + /** + * @brief Constructor for IEEET1 Exciter + * + * @param data Data object to store parameters + * @param bus Signal used for terminal reference vmag + * @param speed Signal used for machine relative speed + * @param efd Signal used for E field + * @tparam ScalarT Scalar data type + * @tparam IdxT Index data type + */ + template + Ieeet1::Ieeet1(signal_type* efd_signal, + signal_type* speed_signal, + bus_type* bus, + const model_data_type& data) + : efd_signal_(efd_signal), + speed_signal_(speed_signal), + bus_(bus) + { + + // Parse data struct into model + this->initModelParams(data); + + // 9 Internal Variables + size_ = 9; + } + + /** + * @brief Allocate memory for model + * + */ + template + int Ieeet1::allocate() + { + auto size = static_cast(size_); // avoid compiler warnings + f_.resize(size); + y_.resize(size); + yp_.resize(size); + tag_.resize(size); + + // Set output signal after allocation + // The signal is accessible to the generator + if (efd_signal_) + { + efd_signal_->set(&y_[7]); + } + return 0; + } + + /** + * @brief Initialization of the Exciter + * + * Sets/configures all of the initial values of the exciter + * by assuming no saturation and steady-state. + * + */ + template + int Ieeet1::initialize() + { + + // External Variables + ScalarT efd0{0}; + if (efd_signal_) + { + efd0 = y_[7]; //<- TODO generator sets efd initial value + } + + // Terminal Voltage + ScalarT vreal = bus_->Vr(); + ScalarT vimag = bus_->Vi(); + Ec_ = std::sqrt(vreal * vreal + vimag * vimag); + + // Derived from External initial values + ScalarT vr = Ke_ * efd0; + ScalarT vfx = Kf_ / Tf_ * efd0; + ScalarT vtr = Ke_ / Ka_ * efd0; + + // Vref (setpoint = terminal + error) + vref_ = Ec_ + vtr; + + // IVP for Internal Variables + y_[0] = Ec_; // y0 - vts - Sensed term volt + y_[1] = vr; // y1 - vr - Voltage reg + y_[2] = efd0; // y2 - efdp - Efd pre mult + y_[3] = vfx; // y3 - vfx - Exciter feedback + y_[4] = vtr; // y4 - vtr - Term Volt Err + y_[5] = 0; // y5 - vf - Feedback volt + y_[6] = 0; // y6 - ve - Excit. Cntrl Volt + y_[7] = efd0; // y7 - efd - Efd + y_[8] = 0; // y8 - ksat - Saturation + + // Steady State Conditions + yp_[0] = 0.0; + yp_[1] = 0.0; + yp_[2] = 0.0; + yp_[3] = 0.0; + yp_[4] = 0.0; + yp_[5] = 0.0; + yp_[6] = 0.0; + yp_[7] = 0.0; + yp_[8] = 0.0; + + return 0; + } + + /** + * @brief Identify differential variables. + * + * @tparam ScalarT Scalar data type + * @tparam IdxT Index data type + * @return int 0 + */ + template + int Ieeet1::tagDifferentiable() + { + + tag_[0] = true; // y0 - vts - Sensed term volt + tag_[1] = true; // y1 - vr - Voltage reg + tag_[2] = true; // y2 - efdp - Efd pre mult + tag_[3] = true; // y3 - vfx - Exciter feedback + tag_[4] = false; // y4 - vtr - Term Volt Err + tag_[5] = false; // y5 - vf - Feedback volt + tag_[6] = false; // y6 - ve - Excit. Cntrl Volt + tag_[7] = false; // y7 - efd - Efd + tag_[8] = false; // y8 - ksat - Saturation + + return 0; + } + + /** + * @brief Scaled sigmoid activation function + * + * @param[in] x State variable + * @tparam ScalarT Scalar data type + * @tparam IdxT Index data type + * @return Sigmoid approximation evaluated at x + * + * @warning This needs to be abstracted to be used + * across phasor dynamics. Identical pattern is + * being used in TGOV1 model. + * + * Algebraic approximation of transcendental sigmoid. + */ + template + ScalarT Ieeet1::sigmoid(ScalarT x) + { + return ((0.5 * mu_ * x) / (1.0 + std::abs(mu_ * x))) + 0.5; + } + + /** + * @brief Net Indicator function for regulator limits + * + * @param[in] x State variable + * @param[in] f Conditional derivative of state variable + * @tparam ScalarT Scalar data type + * @tparam IdxT Index data type + * @return Scalar value indicating limit activation. + * + * @warning This needs to be abstracted to be used + * across phasor dynamics. Identical pattern is + * being used in TGOV1 model. + */ + template + ScalarT Ieeet1::indicator(ScalarT x, ScalarT f) + { + + ScalarT ind_low = (this->sigmoid(Vrmin_ - x)) * (this->sigmoid(-f)); + ScalarT ind_high = (this->sigmoid(x - Vrmax_)) * (this->sigmoid(f)); + return (1 - ind_low) * (1 - ind_high); + } + + /** + * @brief Residuals of system equations + * + */ + template + int Ieeet1::evaluateResidual() + { + + // Input Variables + ScalarT omega{0}; + if (speed_signal_) + { + // Meta PR Note + // This seems to be very slow, + // but I see how read/write ownership may require this + // + // I believe implementing the equivalent to signal->read() + // at the system level would address this, by routing + // external signals into a generic inputs_ vector + // at the same time as the internal state values y_ + // are recieved from IDA. + omega = speed_signal_->read(); + } + + // Read E comp (terminal voltage, unless compensation impedance) + ScalarT vreal = bus_->Vr(); + ScalarT vimag = bus_->Vi(); + Ec_ = std::sqrt(vreal * vreal + vimag * vimag); + + // Read Internal Variables + ScalarT vts = y_[0]; // y0 - Sensed term volt + ScalarT vr = y_[1]; // y1 - Voltage reg + ScalarT efdp = y_[2]; // y2 - Efd pre mult + ScalarT vfx = y_[3]; // y3 - Exciter feedback + ScalarT vtr = y_[4]; // y4 - Term Volt Err + ScalarT vf = y_[5]; // y5 - Feedback volt + ScalarT ve = y_[6]; // y6 - Excit. Cntrl Volt + ScalarT efd = y_[7]; // y7 - Efd + ScalarT ksat = y_[8]; // y8 - Saturation + + // Read Internal Derivatives + ScalarT vts_dot = yp_[0]; + ScalarT vr_dot = yp_[1]; + ScalarT efdp_dot = yp_[2]; + ScalarT vfx_dot = yp_[3]; + + // The 'pre-limit' derivative of Pv + ScalarT f = -vr + Ka_ * vtr; + ScalarT vr_ind = this->indicator(vr, f); + + // Internal Differential Equations + f_[0] = -vts_dot + (Ec_ - vts) / Tr_; + f_[1] = -vr_dot + vr_ind * f / Ta_; + f_[2] = -efdp_dot + (vr - ve - Ke_ * efdp) / Te_; + f_[3] = -vfx_dot + vf / Tf_; + + // Internal Algebraic Equations + f_[4] = -vtr + vref_ + vUEL_ + vOEL_ + vS_ - vf - vts; + f_[5] = -vf + (efdp * Kf_) / Tf_ - vfx; + f_[6] = -ve + ksat * efdp; + f_[7] = -efd + efdp + omega * efdp * Ispdlim_; + + // TODO smooth approaximation for Enzyme + // NOTE seems about double PW saturation. + f_[8] = -ksat; + if (efdp > SA_) + f_[8] += SB_ * (efdp - SA_) * (efdp - SA_); // + + return 0; + } + + /** + * @brief Jacobian evaluation not implemented yet + * + * @tparam ScalarT - Scalar data type + * @tparam IdxT - Index data type + * @return int - error code, 0 = success + */ + template + int Ieeet1::evaluateJacobian() + { + std::cout << "Jacobian evaluation not implemented!" << std::endl; + return 0; + } + + /** + * @brief Initialization Exciter Parameters from data structure + */ + template + void Ieeet1::initModelParams(const model_data_type& data) + { + + if (data.parameters.contains(model_data_type::Parameters::Tr)) + { + Tr_ = std::get(data.parameters.at(model_data_type::Parameters::Tr)); + } + if (data.parameters.contains(model_data_type::Parameters::Ka)) + { + Ka_ = std::get(data.parameters.at(model_data_type::Parameters::Ka)); + } + if (data.parameters.contains(model_data_type::Parameters::Ta)) + { + Ta_ = std::get(data.parameters.at(model_data_type::Parameters::Ta)); + } + if (data.parameters.contains(model_data_type::Parameters::Ke)) + { + Ke_ = std::get(data.parameters.at(model_data_type::Parameters::Ke)); + } + if (data.parameters.contains(model_data_type::Parameters::Te)) + { + Te_ = std::get(data.parameters.at(model_data_type::Parameters::Te)); + } + if (data.parameters.contains(model_data_type::Parameters::Kf)) + { + Kf_ = std::get(data.parameters.at(model_data_type::Parameters::Kf)); + } + if (data.parameters.contains(model_data_type::Parameters::Tf)) + { + Tf_ = std::get(data.parameters.at(model_data_type::Parameters::Tf)); + } + if (data.parameters.contains(model_data_type::Parameters::Vrmin)) + { + Vrmin_ = std::get(data.parameters.at(model_data_type::Parameters::Vrmin)); + } + if (data.parameters.contains(model_data_type::Parameters::Vrmax)) + { + Vrmax_ = std::get(data.parameters.at(model_data_type::Parameters::Vrmax)); + } + if (data.parameters.contains(model_data_type::Parameters::E1)) + { + E1_ = std::get(data.parameters.at(model_data_type::Parameters::E1)); + } + if (data.parameters.contains(model_data_type::Parameters::E2)) + { + E2_ = std::get(data.parameters.at(model_data_type::Parameters::E2)); + } + if (data.parameters.contains(model_data_type::Parameters::Se1)) + { + Se1_ = std::get(data.parameters.at(model_data_type::Parameters::Se1)); + } + if (data.parameters.contains(model_data_type::Parameters::Se2)) + { + Se2_ = std::get(data.parameters.at(model_data_type::Parameters::Se2)); + } + if (data.parameters.contains(model_data_type::Parameters::Ispdlim)) + { + Ispdlim_ = std::get(data.parameters.at(model_data_type::Parameters::Ispdlim)); + } + + // Derived Parameters + ScalarT SR = std::sqrt(Se2_ / Se1_); + + // Solution 1 (Aligned with PW) + SA_ = (SR * E1_ - E2_) / (SR - 1); + SB_ = Se1_ / (E1_ - SA_) / (E1_ - SA_); + } + + // Available template instantiations + template class Ieeet1; + template class Ieeet1; + + } // namespace Exciter + } // namespace PhasorDynamics +} // namespace GridKit diff --git a/src/Model/PhasorDynamics/Exciter/IEEET1/Ieeet1.hpp b/src/Model/PhasorDynamics/Exciter/IEEET1/Ieeet1.hpp new file mode 100644 index 000000000..d3586d169 --- /dev/null +++ b/src/Model/PhasorDynamics/Exciter/IEEET1/Ieeet1.hpp @@ -0,0 +1,126 @@ +/** + * @file Ieeet1.hpp + * @author Luke Lowery (lukel@tamu.edu) + * @author Adam Birchfield (abirchfield@tamu.edu) + * + * @brief Declaration of a IEEET1 Exciter Model. + * + */ + +#pragma once + +#include + +// Forward declarations +namespace GridKit +{ + namespace PhasorDynamics + { + namespace Exciter + { + template + struct Ieeet1Data; + } // namespace Exciter + + template + class BusBase; + + template + class SignalNode; + + } // namespace PhasorDynamics +} // namespace GridKit + +namespace GridKit +{ + namespace PhasorDynamics + { + namespace Exciter + { + + template + class Ieeet1 : public Component + { + using Component::alpha_; + using Component::f_; + using Component::nnz_; + using Component::size_; + using Component::tag_; + using Component::time_; + using Component::y_; + using Component::yp_; + + using real_type = typename Component::real_type; + using model_data_type = Ieeet1Data; + using signal_type = SignalNode; + using bus_type = BusBase; + + public: + Ieeet1( + signal_type* efd_signal, + signal_type* speed_signal, + bus_type* bus, + const model_data_type& data); + ~Ieeet1() = default; + + int allocate() override; + int initialize() override; + int tagDifferentiable() override; + int evaluateResidual() override; + int evaluateJacobian() override; + + void updateTime(real_type /* t */, real_type /* a */) override + { + } + + private: + // Signal pointers + signal_type* efd_signal_; + signal_type* speed_signal_; + bus_type* bus_; + + // Model Input parameters + real_type Tr_; ///< Time constant for voltage sensing + real_type Ka_; ///< Coefficient for voltage regulation + real_type Ta_; ///< Time constant for voltage regulation + real_type Ke_; ///< Coefficient for excitation system + real_type Te_; ///< Time constant for excitation system + real_type Kf_; ///< Coefficient for feedback + real_type Tf_; ///< Time constant for feedback + real_type Vrmin_; ///< LL to voltage regulation + real_type Vrmax_; ///< HH to voltage regulation + real_type E1_; ///< Saturation parameter + real_type E2_; ///< Saturation parameter + real_type Se1_; ///< Saturation parameter + real_type Se2_; ///< Saturation parameter + real_type Ispdlim_; ///< Speed limit flag indicator + + // Model Derived parameters + // TODO -> Need to be solved for in instantiation! + ScalarT SA_{0}; + ScalarT SB_{0}; + + // External Variables that don't have models yet. + // They are constants until then. + ScalarT vref_{0}; // (Setpoint voltage, can be different from terminal voltage) + ScalarT vUEL_{0}; + ScalarT vOEL_{0}; + ScalarT vS_{0}; + ScalarT Ec_{0}; // "Compensated" terminal measurment + + // Scale of Sigmoid function + // (temporary local implementation) + // This value gave higher precision. + const ScalarT mu_ = 400000.0; + + // Activation function (sigmoid approximation) + ScalarT sigmoid(ScalarT x); + ScalarT indicator(ScalarT x, ScalarT f); + + // Parameter initialization function + void initModelParams(const model_data_type& data); + }; + + } // namespace Exciter + } // namespace PhasorDynamics +} // namespace GridKit diff --git a/src/Model/PhasorDynamics/Exciter/IEEET1/Ieeet1Data.hpp b/src/Model/PhasorDynamics/Exciter/IEEET1/Ieeet1Data.hpp new file mode 100644 index 000000000..7baa48915 --- /dev/null +++ b/src/Model/PhasorDynamics/Exciter/IEEET1/Ieeet1Data.hpp @@ -0,0 +1,75 @@ +/** + * @file Ieeet1Data.hpp + * @author Luke Lowery (lukel@tamu.edu) + * + * @brief Data structure for IEEET1 Data + * + */ +#pragma once + +#include + +namespace GridKit +{ + namespace PhasorDynamics + { + namespace Exciter + { + /// Initial parameters for IEEET1 Exciter model + enum class Ieeet1Parameters + { + Tr, ///< Time constant for voltage sensing + Ka, ///< Coefficient for voltage regulation + Ta, ///< Time constant for voltage regulation + Ke, ///< Coefficient for excitation system + Te, ///< Time constant for excitation system + Kf, ///< Coefficient for feedback + Tf, ///< Time constant for feedback + Vrmin, ///< LL to voltage regulation + Vrmax, ///< HH to voltage regulation + E1, ///< Saturation parameter + E2, ///< Saturation parameter + Se1, ///< Saturation parameter + Se2, ///< Saturation parameter + Ispdlim ///< Speed limit flag indicator + }; + + /// Ports for a IEEET1 Exciter model + enum class Ieeet1Ports + { + bus, ///< Unique ID of the terminal bus + speed_signal, ///< Unique ID of the generator speed signal + efd_signal, ///< Unique ID of the output efd signal + }; + + /// Variables able to be monitored for a IEEET1 Exciter model + enum class Ieeet1MonitorableVariables + { + efd, + ksat, + }; + + /** + * @brief Contains modeling data for a IEEET1 Exciter model. + * + * @tparam RealT Real parameter data type + * @tparam IdxT Integer parameter data type + * + * Integer parameters are of the same type as matrix and vector indices. + */ + template + struct Ieeet1Data : public ComponentData + { + Ieeet1Data() = default; + + using Parameters = Ieeet1Parameters; + using Ports = Ieeet1Ports; + using MonitorableVariables = Ieeet1MonitorableVariables; + }; + } // namespace Exciter + } // namespace PhasorDynamics +} // namespace GridKit diff --git a/src/Model/PhasorDynamics/Exciter/IEEET1/README.md b/src/Model/PhasorDynamics/Exciter/IEEET1/README.md index 8f47df20d..313f4a1c6 100644 --- a/src/Model/PhasorDynamics/Exciter/IEEET1/README.md +++ b/src/Model/PhasorDynamics/Exciter/IEEET1/README.md @@ -14,28 +14,52 @@ Standard model of the IEEET1 Exciter. ## Model Parameters -Symbol | Units | Description | Typical Value | Note -------------|--------|-----------------------------------|---------------| ------ -$T_R$ | [sec] | Time constant for voltage sensing | 0 | -$K_a$ | [p.u.] | Coefficient for voltage regulation | 50 | -$T_a$ | [sec] | Time constant for voltage regulation | 0.04 | -$K_e$ | [p.u.] | Coefficient for excitation system | -0.06 | -$T_e$ | [sec] | Time constant for excitation system | 0.6 | -$K_f$ | [p.u.] | Coefficient for feedback | 0.09 | -$T_f$ | [sec] | Time constant for feedback | 1.46 | -$V_{rmin}$ | [p.u.] | Lower limit to voltage regulation | -1 | -$V_{rmax}$ | [p.u.] | Upper limit to voltage regulation | 1 | -$E_1$ | [p.u.] | Saturation Parameter | 2.8 | -$E_2$ | [p.u.] | Saturation Parameter | 3.73 | -$S_{e1}$ | [p.u.] | Saturation Parameter | 0.04 | -$S_{e2}$ | [p.u.] | Saturation Parameter | 0.33 | -$I_{spdlm}$ | [binary] | Speed Limit flag indicator | 0 | +Symbol | Units | Description | Typical Value | Note +------------|--------|--------------------------------------|---------| ------ +$T_R$ | [sec] | Time constant for voltage sensing | 0 | +$K_a$ | [p.u.] | Coefficient for voltage regulation | 50 | +$T_a$ | [sec] | Time constant for voltage regulation | 0.04 | +$K_e$ | [p.u.] | Coefficient for excitation system | -0.06 | +$T_e$ | [sec] | Time constant for excitation system | 0.6 | +$K_f$ | [p.u.] | Coefficient for feedback | 0.09 | +$T_f$ | [sec] | Time constant for feedback | 1.46 | +$V_{rmin}$ | [p.u.] | Lower limit to voltage regulation | -1 | +$V_{rmax}$ | [p.u.] | Upper limit to voltage regulation | 1 | +$E_1$ | [p.u.] | Saturation Parameter | 2.8 | +$E_2$ | [p.u.] | Saturation Parameter | 3.73 | +$S_{e1}$ | [p.u.] | Saturation Parameter | 0.04 | +$S_{e2}$ | [p.u.] | Saturation Parameter | 0.33 | +$I_{spdlm}$ | [binary] | Speed Limit flag indicator | 0 | ### Model Derived Parameters + +The relationship of the derived parameters is defined by the following quadratic model. The parameters are chosen so that the quadratic model represents +the expected saturation near the operating region. ``` math \begin{aligned} S_{e1} &= S_B(E_1-S_A)^2 \\ - S_{e2} &= S_B(E_2-S_A)^2 + S_{e2} &= S_B(E_2-S_A)^2 \\ +\end{aligned} +``` + +Generally, this system has two solutions. The non-extraneous solution is as follows. +``` math +\begin{aligned} + C &= \sqrt{ + \dfrac + {S_{e2}} + {S_{e1}} + } + \\ + S_A &= + \dfrac + {C E_1 - E_2} + {C - 1} + \\ + S_B &= + \dfrac + {S_{e1}} + {(E_1-S_A)^2} \end{aligned} ``` @@ -50,7 +74,7 @@ Symbol | Units | Description | Note $V_{ts}$ | [p.u.] | Sensed terminal voltage | $V_{R}$ | [p.u.] | Voltage regulator | $E_{fd}'$ | [p.u.] | Field-current pre-speed multiplier| -$V_{fx}$ | [p.u.] | Exciter feedback internal state | +$V_{fx}$ | [p.u.] | Exciter feedback internal state | #### Algebraic @@ -76,11 +100,11 @@ $\Delta\omega$ | [p.u.] | Speed Deviation | Read from a Machi Symbol | Units | Description | Note ----------------|--------|-----------------------------------|------- -$E_{C}$ | [p.u.] | Compensated machine terminal voltage magnitude | -$V_{ref}$ | [p.u.] | Reference terminal voltage | -$V_{UEL}$ | [p.u.] | Input from under excitation limiter | -$V_{OEL}$ | [p.u.] | Input from over excitation limiter | -$V_{S}$ | [p.u.] | Input from stabilizer controller | +$E_{C}$ | [p.u.] | Compensated machine terminal voltage magnitude | +$V_{ref}$ | [p.u.] | Reference terminal voltage | +$V_{UEL}$ | [p.u.] | Input from under excitation limiter | +$V_{OEL}$ | [p.u.] | Input from over excitation limiter | +$V_{S}$ | [p.u.] | Input from stabilizer controller | ## Model Equations @@ -91,23 +115,19 @@ The IEEET1 differential equations, as derived from the model diagram. By defini ```math \begin{aligned} \dot{V}_{ts} &= \dfrac{1}{T_R}(E_C-V_{ts}) \\ - \dot{V}_{R} &= - \dfrac{1}{T_A} + \dot{V}_{R} &= \dfrac{1}{T_A} \begin{cases} - -V_{R}+K_{a}V_{tr} + -V_{R} + K_{a}V_{tr} & \text{if } (V_{rmin} < V_R < V_{rmax}) & \lor \\ & \quad (V_R \leq V_{rmin} \land f>0) & \lor \\ & \quad(V_R \geq V_{rmax} \land f<0) \\ - 0 - & \text{else } \\ + 0 & \text{else } \\ \end{cases} \\ - \dot{E}_{fd}' &= \dfrac{1}{T_E}(V_R-V_E-K_E E_{fd}') \\ \dot{V}_{fx} &= \dfrac{1}{T_F}V_f \\ \end{aligned} ``` - #### Smooth Piecewise Approximation (Differential) The domain of the state variable $V_{R}\in(V_{rmin}, V_{rmax})$ is enforced @@ -138,7 +158,13 @@ The indicator function $\phi$ can be defined in terms of a scaled activation fun The scale of the sigmoid function ($\alpha$ on the order of $10^3$) should be chosen so that for all practical parameters of the IEEET1 model, the sigmoid acts as a step function. This is further approximated by an algebraic form to obtain a practical function during implementation. ```math \begin{aligned} - \sigma(x) =\dfrac{1}{1+\exp(-\alpha x)}\approx \dfrac{1}{2}\left(\dfrac{\alpha x}{1+|\alpha x|}\right) + \sigma(x) = + \dfrac{1}{1+\exp(-\alpha x)} + \approx + \dfrac{1}{2} + \left( + \dfrac{\alpha x}{1+|\alpha x|} + 1 + \right) \end{aligned} ``` @@ -183,7 +209,9 @@ Very explicit version, if prefered \right]\\ \end{aligned} ``` + ### Algebraic Equations + The algebraic equations of the exciter. ```math \begin{aligned} @@ -202,6 +230,7 @@ The algebraic equations of the exciter. ``` #### Smooth Piecewise Approximation (Algebraic) + For the algebraic piecewise functions (non-flags), this implementation is straightforward when the approximation above is used. ```math \begin{aligned} @@ -217,21 +246,23 @@ The approximation written out below approaches an exact solution as $\alpha\to\i ``` ## Initialization + At steady state we assume that $V_R$ is at or within its limits, and that the exciter is not saturated. The field $E_{fd}$ can be obtained through the steady-state conditions of the machine. We also assume for the moment that the stabilizer and over/under -excitation limiters are non-existant. +excitation limiters are non-existant. As of now, we assume there is no compensation impedence and that $E_C$ is simply the terminal voltage magnitude. ```math \begin{aligned} E_{fd}' &= E_{fd} \\ - V_{f} &= 0 \\ + V_R &= K_E E_{fd} \\ + V_{fx} &= \dfrac{K_F}{T_F} E_{fd} \\ + V_{tr} &= \dfrac{K_E}{K_{a}} E_{fd} \\ + E_C &= V_{term}\\ + V_{ts} &= V_{term}\\ + V_{ref} &= E_c + V_{tr} \\ + V_{f} &= 0 \\ V_{E} &= 0 \\ k_{sat} &= 0 \\ - V_{fx} &= \dfrac{K_F}{T_F} E_{fd} \\ - V_R &= K_E E_{fd} \\ - V_{tr} &= \dfrac{1}{K_{a}}V_{R} \\ - V_{ts} &= V_{ref} - V_{tr} \\ - E_C &= V_{ts}\\ \end{aligned} ``` diff --git a/src/Model/PhasorDynamics/Exciter/README.md b/src/Model/PhasorDynamics/Exciter/README.md index 2d66575b6..b63f378e8 100644 --- a/src/Model/PhasorDynamics/Exciter/README.md +++ b/src/Model/PhasorDynamics/Exciter/README.md @@ -1,7 +1,7 @@ # **Exciter Models** > [!NOTE] -> No implementation yet. +> Only the IEEET1 Exciter is currently implemented. ## Introduction diff --git a/src/Model/PhasorDynamics/INPUT_FORMAT.md b/src/Model/PhasorDynamics/INPUT_FORMAT.md index 905fa983f..d8342bed6 100644 --- a/src/Model/PhasorDynamics/INPUT_FORMAT.md +++ b/src/Model/PhasorDynamics/INPUT_FORMAT.md @@ -114,6 +114,7 @@ are specified: `branch` | a basic algebraic pi model for a line or transformer | `bus1`, `bus2` | `R`, `X`, `G`, `B` | `ir1`, `ii1`, `im1`, `p1`, `q1`, `ir2`, `ii2`, `im2`, `p2`, `q2` `static_load` | a basic static ZIP load | `bus` | `Pz`, `Qz`, `Pi`, `Qi`, `Pp`, `Qp` | `ir`, `ii`, `p`, `q` `GENROU` | 6th order machine model | `bus`, `exciter_signal`\*, `governor_signal`\* | `p0`, `q0`, `H`, `D`, `Ra`, `Tdop`, `Tdopp`, `Tqopp`, `Tqop`, `Xd`, `Xdp`, `Xdpp`, `Xq`, `Xqp`, `Xqpp`, `Xl`, `S10`, `S12` | `ir`, `ii`, `p`, `q`, `delta`, `omega` + `IEEET1` | a basic exciter model | `bus`, `speed_signal`, `efd_signal` | `Efd` | `Efd`, `ksat` `bus_fault` | simple impedance-based fault at a bus | `bus`, `control_signal`\* | `state0`, `R`, `X` | `state`, `ir`, `ii` Ports marked with \* are optional and, if missing, will be assumed to be diff --git a/src/Model/PhasorDynamics/SynchronousMachine/GENROUwS/Genrou.hpp b/src/Model/PhasorDynamics/SynchronousMachine/GENROUwS/Genrou.hpp index 8f6f527f2..13f846190 100644 --- a/src/Model/PhasorDynamics/SynchronousMachine/GENROUwS/Genrou.hpp +++ b/src/Model/PhasorDynamics/SynchronousMachine/GENROUwS/Genrou.hpp @@ -54,7 +54,15 @@ namespace GridKit public: Genrou(bus_type* bus, IdxT unit_id); - Genrou(bus_type* bus, signal_type* omega, signal_type* pmech, const model_data_type& data); + Genrou(bus_type* bus, + signal_type* omega, + signal_type* pmech, + const model_data_type& data); + Genrou(bus_type* bus, + signal_type* omega, + signal_type* pmech, + signal_type* efd, + const model_data_type& data); Genrou(bus_type* bus, const model_data_type& data); Genrou(bus_type* bus, IdxT unit_id, @@ -123,6 +131,7 @@ namespace GridKit bus_type* bus_; signal_type* pmech_{nullptr}; signal_type* omega_{nullptr}; + signal_type* efd_signal_{nullptr}; IdxT bus_id_{0}; IdxT unit_id_; //< @todo this should be removed diff --git a/src/Model/PhasorDynamics/SynchronousMachine/GENROUwS/GenrouImpl.hpp b/src/Model/PhasorDynamics/SynchronousMachine/GENROUwS/GenrouImpl.hpp index 3c710418b..8a8484f86 100644 --- a/src/Model/PhasorDynamics/SynchronousMachine/GENROUwS/GenrouImpl.hpp +++ b/src/Model/PhasorDynamics/SynchronousMachine/GENROUwS/GenrouImpl.hpp @@ -47,7 +47,7 @@ namespace GridKit S10_(0.), S12_(0.) { - size_ = 20; + size_ = 19; setDerivedParams(); } @@ -97,7 +97,7 @@ namespace GridKit S10_(S10), S12_(S12) { - size_ = 20; + size_ = 19; setDerivedParams(); } @@ -204,7 +204,7 @@ namespace GridKit bus_id_ = data.ports.at(model_data_type::Ports::bus); } - size_ = 20; + size_ = 19; setDerivedParams(); } @@ -216,6 +216,7 @@ namespace GridKit : bus_(bus), pmech_(pmech), omega_(omega), + efd_signal_(nullptr), unit_id_(1) { if (data.parameters.contains(model_data_type::Parameters::p0)) @@ -313,21 +314,119 @@ namespace GridKit bus_id_ = data.ports.at(model_data_type::Ports::bus); } - size_ = 20; + size_ = 19; setDerivedParams(); } - // /** - // * @brief Destroy the Genrou - // * - // * @tparam ScalarT - // * @tparam IdxT - // */ - // template - // Genrou::~Genrou() - // { - // // std::cout << "Destroy Genrou..." << std::endl; - // } + /** + * @brief Constructor for a GENROU generator model with saturation + */ + template + Genrou::Genrou(bus_type* bus, signal_type* omega, signal_type* pmech, signal_type* efd, const model_data_type& data) + : bus_(bus), + pmech_(pmech), + omega_(omega), + efd_signal_(efd), + unit_id_(1) + { + if (data.parameters.contains(model_data_type::Parameters::p0)) + { + p0_ = std::get(data.parameters.at(model_data_type::Parameters::p0)); + } + + if (data.parameters.contains(model_data_type::Parameters::q0)) + { + q0_ = std::get(data.parameters.at(model_data_type::Parameters::q0)); + } + + if (data.parameters.contains(model_data_type::Parameters::H)) + { + H_ = std::get(data.parameters.at(model_data_type::Parameters::H)); + } + + if (data.parameters.contains(model_data_type::Parameters::D)) + { + D_ = std::get(data.parameters.at(model_data_type::Parameters::D)); + } + + if (data.parameters.contains(model_data_type::Parameters::Ra)) + { + Ra_ = std::get(data.parameters.at(model_data_type::Parameters::Ra)); + } + + if (data.parameters.contains(model_data_type::Parameters::Tdop)) + { + Tdop_ = std::get(data.parameters.at(model_data_type::Parameters::Tdop)); + } + + if (data.parameters.contains(model_data_type::Parameters::Tdopp)) + { + Tdopp_ = std::get(data.parameters.at(model_data_type::Parameters::Tdopp)); + } + + if (data.parameters.contains(model_data_type::Parameters::Tqopp)) + { + Tqopp_ = std::get(data.parameters.at(model_data_type::Parameters::Tqopp)); + } + + if (data.parameters.contains(model_data_type::Parameters::Tqop)) + { + Tqop_ = std::get(data.parameters.at(model_data_type::Parameters::Tqop)); + } + + if (data.parameters.contains(model_data_type::Parameters::Xd)) + { + Xd_ = std::get(data.parameters.at(model_data_type::Parameters::Xd)); + } + + if (data.parameters.contains(model_data_type::Parameters::Xdp)) + { + Xdp_ = std::get(data.parameters.at(model_data_type::Parameters::Xdp)); + } + + if (data.parameters.contains(model_data_type::Parameters::Xdpp)) + { + Xdpp_ = std::get(data.parameters.at(model_data_type::Parameters::Xdpp)); + } + + if (data.parameters.contains(model_data_type::Parameters::Xq)) + { + Xq_ = std::get(data.parameters.at(model_data_type::Parameters::Xq)); + } + + if (data.parameters.contains(model_data_type::Parameters::Xqp)) + { + Xqp_ = std::get(data.parameters.at(model_data_type::Parameters::Xqp)); + } + + if (data.parameters.contains(model_data_type::Parameters::Xqpp)) + { + Xqpp_ = std::get(data.parameters.at(model_data_type::Parameters::Xqpp)); + } + + if (data.parameters.contains(model_data_type::Parameters::Xl)) + { + Xl_ = std::get(data.parameters.at(model_data_type::Parameters::Xl)); + } + + if (data.parameters.contains(model_data_type::Parameters::S10)) + { + S10_ = std::get(data.parameters.at(model_data_type::Parameters::S10)); + } + + if (data.parameters.contains(model_data_type::Parameters::S12)) + { + S12_ = std::get(data.parameters.at(model_data_type::Parameters::S12)); + } + + if (data.ports.contains(model_data_type::Ports::bus)) + { + bus_id_ = data.ports.at(model_data_type::Ports::bus); + } + + size_ = 19; + setDerivedParams(); + } /*! * @brief allocate method computes sparsity pattern of the Jacobian. @@ -403,10 +502,10 @@ namespace GridKit y_[14] = iq; y_[15] = ir; y_[16] = ii; - y_[17] = efd_set_ = Eqp + Xd1_ * (id + Xd3_ * (Eqp - psidp - Xd2_ * id)) + psidpp * ksat; - y_[18] = G_ * (vd * std::sin(delta) + vq * std::cos(delta)) + // y_[17] = efd_set_ = Eqp + Xd1_ * (id + Xd3_ * (Eqp - psidp - Xd2_ * id)) + psidpp * ksat; + y_[17] = G_ * (vd * std::sin(delta) + vq * std::cos(delta)) - B_ * (vd * -std::cos(delta) + vq * std::sin(delta)); /* inort, real */ - y_[19] = B_ * (vd * std::sin(delta) + vq * std::cos(delta)) + y_[18] = B_ * (vd * std::sin(delta) + vq * std::cos(delta)) + G_ * (vd * -std::cos(delta) + vq * std::sin(delta)); /* inort, imag */ // Set Setpoint mechanical power, which may or may not be used @@ -416,6 +515,13 @@ namespace GridKit pmech_->init(Te); } + // Set Efield signal (may or may not exist) + efd_set_ = Eqp + Xd1_ * (id + Xd3_ * (Eqp - psidp - Xd2_ * id)) + psidpp * ksat; + if (efd_signal_) + { + efd_signal_->init(efd_set_); + } + for (IdxT i = 0; i < size_; ++i) yp_[static_cast(i)] = 0.0; @@ -461,11 +567,12 @@ namespace GridKit ScalarT iq = y_[14]; ScalarT ir = y_[15]; ScalarT ii = y_[16]; - ScalarT efd = y_[17]; - ScalarT inr = y_[18]; - ScalarT ini = y_[19]; + ScalarT inr = y_[17]; + ScalarT ini = y_[18]; ScalarT vr = Vr(); ScalarT vi = Vi(); + + // Mechanmical Power ScalarT pmech; if (pmech_) { @@ -476,6 +583,17 @@ namespace GridKit pmech = pmech_set_; } + // Exciter Efield + ScalarT efd; + if (efd_signal_) + { + efd = efd_signal_->read(); + } + else + { + efd = efd_set_; + } + /* Read derivatives */ ScalarT delta_dot = yp_[0]; ScalarT omega_dot = yp_[1]; @@ -506,11 +624,11 @@ namespace GridKit f_[16] = ii + B_ * vr + G_ * vi - ini; /* 2 Genrou control inputs are set to constant for this example */ - f_[17] = efd - efd_set_; + // f_[17] = efd - efd_set_; /* 2 Genrou current source definitions */ - f_[18] = inr - (G_ * (std::sin(delta) * vd + std::cos(delta) * vq) - B_ * (-std::cos(delta) * vd + std::sin(delta) * vq)); - f_[19] = ini - (B_ * (std::sin(delta) * vd + std::cos(delta) * vq) + G_ * (-std::cos(delta) * vd + std::sin(delta) * vq)); + f_[17] = inr - (G_ * (std::sin(delta) * vd + std::cos(delta) * vq) - B_ * (-std::cos(delta) * vd + std::sin(delta) * vq)); + f_[18] = ini - (B_ * (std::sin(delta) * vd + std::cos(delta) * vq) + G_ * (-std::cos(delta) * vd + std::sin(delta) * vq)); /* Current balance */ Ir() += inr - Vr() * G_ + Vi() * B_; diff --git a/src/Model/PhasorDynamics/SystemModelData.hpp b/src/Model/PhasorDynamics/SystemModelData.hpp index 2d8aaa319..231366c30 100644 --- a/src/Model/PhasorDynamics/SystemModelData.hpp +++ b/src/Model/PhasorDynamics/SystemModelData.hpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -29,6 +30,7 @@ namespace GridKit using BusDataT = BusData; using BusFaultDataT = BusFaultData; using Tgov1DataT = Governor::Tgov1Data; + using Ieeet1DataT = Exciter::Ieeet1Data; using GenrouDataT = GenrouData; using GenClassicalDataT = GenClassicalData; using LoadDataT = LoadData; @@ -73,6 +75,7 @@ namespace GridKit std::vector genclassical; ///< Classical generator instances within the model std::vector load; ///< Loads within the model std::vector gov; ///< Governors within the model + std::vector exciter; ///< Exciters within the model std::vector signal; ///< Signal nodes }; } // namespace PhasorDynamics