From 37011082d963d4da1dfdae434d674b483da22bf0 Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Thu, 5 Mar 2026 12:55:01 +0100 Subject: [PATCH 01/25] Drafting changes. Adds test placeholders --- src_mtln/mtl.F90 | 3 +++ src_mtln/mtln_types.F90 | 7 +++++++ test/pyWrapper/test_mtln_standalone.py | 28 +++++++++++++++++++++++++- 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/src_mtln/mtl.F90 b/src_mtln/mtl.F90 index cae711e0..b0a66d26 100644 --- a/src_mtln/mtl.F90 +++ b/src_mtln/mtl.F90 @@ -50,6 +50,9 @@ module mtl_mod type(transfer_impedance_per_meter_t), dimension(:), allocatable :: initial_connector_transfer_impedances, end_connector_transfer_impedances type(segment_t), dimension(:), allocatable :: segments + ! type(interior_source_t), dimension(:,:), allocatable :: sources + + #ifdef CompileWithMPI type(comm_t) :: mpi_comm integer (kind=4), allocatable, dimension(:,:) :: layer_indices diff --git a/src_mtln/mtln_types.F90 b/src_mtln/mtln_types.F90 index 99cd1b04..d3b3b0f4 100644 --- a/src_mtln/mtln_types.F90 +++ b/src_mtln/mtln_types.F90 @@ -40,6 +40,13 @@ module mtln_types_mod integer, parameter :: DIRECTION_Z_NEG = -3 + type interior_source_t + character(len=256) :: path_to_excitation = "" + integer :: source_type = SOURCE_TYPE_UNDEFINED + type(cable_t), pointer :: cable + real :: resistance + integer :: index + end type type node_source_t character(len=256) :: path_to_excitation = "" diff --git a/test/pyWrapper/test_mtln_standalone.py b/test/pyWrapper/test_mtln_standalone.py index 735bb74a..442f76f9 100644 --- a/test/pyWrapper/test_mtln_standalone.py +++ b/test/pyWrapper/test_mtln_standalone.py @@ -180,4 +180,30 @@ def test_spice_zener(tmp_path): assert np.allclose(p_expected.data.to_numpy()[ :-5, :], p_solved.data.to_numpy()[:-5, :], rtol=0.01, atol=0.05e-3) - \ No newline at end of file +@no_mtln_skip +@pytest.mark.mtln +def test_mtln_sources(tmp_path): + fn = CASES_FOLDER + 'sources/sources.fdtd.json' + + # interior voltage source + solver = FDTD(input_filename=fn, + path_to_exe=SEMBA_EXE, + run_in_folder=tmp_path) + solver["sources"][0]["field"] = "voltage" + solver["sources"][0]["elemendIds"] = [1] + solver["sources"][0]["magnitudeFile"] = "current_source_1A.exc" + solver.cleanUp() + solver.run() + assert solver.hasFinishedSuccessfully() + + # interior current source + solver = FDTD(input_filename=fn, + path_to_exe=SEMBA_EXE, + run_in_folder=tmp_path) + solver["sources"][0]["field"] = "current" + solver["sources"][0]["elemendIds"] = [1] + solver["sources"][0]["magnitudeFile"] = "voltage_source_1V.exc" + solver.cleanUp() + solver.run() + assert solver.hasFinishedSuccessfully() + From be6e9b75be8424477d39bca9482a2fdf728f42a8 Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Thu, 5 Mar 2026 17:05:22 +0100 Subject: [PATCH 02/25] WIP --- src_json_parser/smbjson.F90 | 191 ++++++++++++++++++++++++++++++++++++ src_mtln/circuit.F90 | 11 --- src_mtln/mtl.F90 | 2 +- src_mtln/mtl_bundle.F90 | 72 +++++++++++++- src_mtln/mtln_types.F90 | 26 ++++- src_mtln/preprocess.F90 | 4 + 6 files changed, 288 insertions(+), 18 deletions(-) diff --git a/src_json_parser/smbjson.F90 b/src_json_parser/smbjson.F90 index 96993e3b..30c2618f 100644 --- a/src_json_parser/smbjson.F90 +++ b/src_json_parser/smbjson.F90 @@ -2574,6 +2574,7 @@ function readMTLN(this) result (mtln_res) end select end do + mtln_res%sources = readWireGenerators() mtln_res%probes = readMultiwireProbes() mtln_res%networks = buildNetworks() @@ -3145,6 +3146,164 @@ function readTerminationRLC(termination, label, default) result(res) end function + function readWireGenerators() result(res) + type(wire_source_t), dimension(:), allocatable :: res + type(json_value), pointer :: sources + type(json_value_ptr), dimension(:), allocatable :: wire_generators + logical :: found + integer :: id + + call this%core%get(this%root, J_sources, sources, found) + if (.not. found) then + allocate(res(0)) + return + end if + wire_generators = [this%jsonValueFilterByKeyValue(probes, J_TYPE, J_SRC_TYPE_GEN)] + n = countWireGenerators(wire_generators) + allocate(res(n)) + if (n == 0) return + n = 1 + do i = 1, size(wire_generators) + if (IsGeneratorOnWire(wire_generators(i)%p)) then + + id = getPolylineElemIdOfGenerator(wire_probes(i)%p) + generator_node_coord = getGeneratorNodeCoordinate(wire_probes(i)%p) + + ! do j = 1, size(ids) + ! functions to be written + res(n)%generator_name = readGeneratorName(wire_probes(i)%p) + res(n)%generator_type = readGeneratorType(wire_probes(i)%p) + res(n)%generator_position = probe_node_coord%position + + call elemIdToCable%get(key(ids(j)), value=index) + pl = this%mesh%getPolyline(ids(j)) + linels = this%mesh%polylineToLinels(pl) + res(n)%index = findProbeIndexInLinels(probe_node_coord, linels) + + cable_ptr => mtln_res%cables(index)%ptr + ! Inside select type, cable_ptr is shielded_multiwire_t but parent_cable is cable_t + ! Outside, cable_t does not have the parent_cable member + ! aux_ptr is used insted of cable_ptr => cable_ptr%parent_cable + parent_cable_found = .false. + do while (.not. parent_cable_found) + select type(cable_ptr) + type is(shielded_multiwire_t) + if (associated(cable_ptr%parent_cable)) then + aux_ptr => cable_ptr%parent_cable + else + parent_cable_found = .true. + end if + type is(unshielded_multiwire_t) + parent_cable_found = .true. + end select + if (.not. parent_cable_found) then + cable_ptr => aux_ptr + end if + end do + res(n)%attached_to_cable => cable_ptr + n = n + 1 + ! end do + + + end if + + end do + end function + + function countWireGenerators(generators) result(res) + type(json_value_ptr), dimension(:), allocatable :: generators + integer :: res + + character (len=:), allocatable :: fieldLabel + logical :: found + type(materialAssociation_t), dimension(:), allocatable :: mAs + integer :: i, j, k + integer :: cId + type(polyline_t) :: polyline + res = 0 + do k = 1, size(generators) + fieldLabel = this%getStrAt(generators(k)%p, J_FIELD, found=found) + if (.not. found .or. (fieldLabel /= J_FIELD_CURRENT .and. fieldLabel /= J_FIELD_VOLTAGE)) then + call WarnErrReport('field type not recognized', .true.) + return + end if + + block + type(pixel_t) :: pixel + integer, dimension(:), allocatable :: eIds + eIds = this%getIntsAt(generators(k)%p, J_ELEMENTIDS) + pixel = getPixelFromElementId(this%mesh, eIds(1)) + cId = pixel%tag + end block + + mAs = this%getMaterialAssociations([ & + J_MAT_TYPE_SHIELDED_MULTIWIRE//' ',& + J_MAT_TYPE_UNSHIELDED_MULTIWIRE ,& + J_MAT_TYPE_WIRE//' ' ]) + + do i = 1, size(mAs) + polyline = this%mesh%getPolyline(mAs(i)%elementIds(1)) + do j = 2, size(polyline%coordIds)-1 + if (polyline%coordIds(j) == cId) then + if (fieldLabel == J_FIELD_VOLTAGE .and. & + (mAs%matAssType == J_MAT_TYPE_WIRE .or. & + mAs%matAssType == J_MAT_TYPE_UNSHIELDED_MULTIWIRE)) then + call WarnErrReport('voltage generators cannot be defined on wire/unshieldedMultiwire interior points', .true.) + end if + res = res + 1 + end if + end do + end do + end do + + end function + + logical function IsGeneratorOnWire(p) + type(json_value), pointer :: p + character (len=:), allocatable :: fieldLabel + logical :: found + type(materialAssociation_t), dimension(:), allocatable :: mAs + integer :: i, j, k + integer :: cId + type(polyline_t) :: polyline + IsGeneratorOnWire = .false. + fieldLabel = this%getStrAt(p, J_FIELD, found=found) + if (.not. found .or. (fieldLabel /= J_FIELD_CURRENT .and. fieldLabel /= J_FIELD_VOLTAGE)) then + IsGeneratorOnWire = .false. + call WarnErrReport('field type not recognized', .true.) + return + end if + + block + type(pixel_t) :: pixel + integer, dimension(:), allocatable :: eIds + eIds = this%getIntsAt(p, J_ELEMENTIDS) + pixel = getPixelFromElementId(this%mesh, eIds(1)) + cId = pixel%tag + end block + + mAs = this%getMaterialAssociations([ & + J_MAT_TYPE_SHIELDED_MULTIWIRE//' ',& + J_MAT_TYPE_UNSHIELDED_MULTIWIRE ,& + J_MAT_TYPE_WIRE//' ' ]) + + do i = 1, size(mAs) + polyline = this%mesh%getPolyline(mAs(i)%elementIds(1)) + do j = 2, size(polyline%coordIds)-1 + if (polyline%coordIds(j) == cId) then + if (fieldLabel == J_FIELD_VOLTAGE .and. & + (mAs%matAssType == J_MAT_TYPE_WIRE .or. & + mAs%matAssType == J_MAT_TYPE_UNSHIELDED_MULTIWIRE)) then + call WarnErrReport('voltage generators cannot be defined on wire/unshieldedMultiwire interior points', .true.) + end if + IsGeneratorOnWire = .true. + return + end if + end do + end do + + end function + function readMultiwireProbes() result(res) type(probe_t), dimension(:), allocatable :: res type(json_value_ptr), dimension(:), allocatable :: wire_probes @@ -3365,6 +3524,38 @@ function getPolylineElemIdOfMultiwireProbe(p) result(res) end do end function + function getPolylineElemIdOfGenerator(p) result(res) + type(json_value), pointer :: p + type(polyline_t) :: polyline + integer :: res + type(materialAssociation_t), dimension(:), allocatable :: mAs + integer :: i, j + integer :: cId + + block + type(pixel_t) :: pixel + integer, dimension(:), allocatable :: eIds + eIds = this%getIntsAt(p, J_ELEMENTIDS) + pixel = getPixelFromElementId(this%mesh, eIds(1)) + cId = pixel%tag + end block + + mAs = this%getMaterialAssociations([ & + J_MAT_TYPE_SHIELDED_MULTIWIRE//' ',& + J_MAT_TYPE_UNSHIELDED_MULTIWIRE ,& + J_MAT_TYPE_WIRE//' ' ]) + res = 0 + do i = 1, size(mAs) + polyline = this%mesh%getPolyline(mAs(i)%elementIds(1)) + do j = 2, size(polyline%coordIds)-1 + if (polyline%coordIds(j) == cId) then + res = mAs(i)%elementIds(1) + end if + end do + end do + if (res == 0) call WarnErrReport('Generator does not belong to any wire, unshielded multiwire or shielded multiwire', .true.) + end function + function readProbeType(probe) result(res) type(json_value), pointer :: probe character(:), allocatable :: probe_type diff --git a/src_mtln/circuit.F90 b/src_mtln/circuit.F90 index 6cf40fe2..352f89ea 100644 --- a/src_mtln/circuit.F90 +++ b/src_mtln/circuit.F90 @@ -87,16 +87,6 @@ subroutine printCWD(this) call command('getcwd' // c_null_char) end subroutine - subroutine loadCodeModels(this) - class(circuit_t) :: this - call command('codemodel /mnt/c/users/alberto/Work/ugr-fdtd/fdtd/testData/spinit/linux/analog.cm' // c_null_char) - call command('codemodel /mnt/c/users/alberto/Work/ugr-fdtd/fdtd/testData/spinit/linux/digital.cm' // c_null_char) - call command('codemodel /mnt/c/users/alberto/Work/ugr-fdtd/fdtd/testData/spinit/linux/spice2poly.cm' // c_null_char) - call command('codemodel /mnt/c/users/alberto/Work/ugr-fdtd/fdtd/testData/spinit/linux/table.cm' // c_null_char) - call command('codemodel /mnt/c/users/alberto/Work/ugr-fdtd/fdtd/testData/spinit/linux/xtradev.cm' // c_null_char) - call command('codemodel /mnt/c/users/alberto/Work/ugr-fdtd/fdtd/testData/spinit/linux/xtraevt.cm' // c_null_char) - end subroutine - subroutine init(this, names, sources, netlist) class(circuit_t) :: this type(string_t), intent(in), dimension(:), optional :: names @@ -105,7 +95,6 @@ subroutine init(this, names, sources, netlist) integer :: i call start() - ! call this%loadCodeModels() if (present(netlist)) then write(*,*) 'load netlist' call this%loadNetlist(netlist) diff --git a/src_mtln/mtl.F90 b/src_mtln/mtl.F90 index b0a66d26..49a12f4a 100644 --- a/src_mtln/mtl.F90 +++ b/src_mtln/mtl.F90 @@ -50,7 +50,7 @@ module mtl_mod type(transfer_impedance_per_meter_t), dimension(:), allocatable :: initial_connector_transfer_impedances, end_connector_transfer_impedances type(segment_t), dimension(:), allocatable :: segments - ! type(interior_source_t), dimension(:,:), allocatable :: sources + ! type(tl_source_t), dimension(:), allocatable :: sources #ifdef CompileWithMPI diff --git a/src_mtln/mtl_bundle.F90 b/src_mtln/mtl_bundle.F90 index b4a43953..63edfcfe 100644 --- a/src_mtln/mtl_bundle.F90 +++ b/src_mtln/mtl_bundle.F90 @@ -16,10 +16,14 @@ module mtl_bundle_mod real, allocatable, dimension(:,:,:) :: lpul, cpul, rpul, gpul integer :: number_of_conductors = 0, number_of_divisions = 0 real, dimension(:), allocatable :: step_size - real, allocatable, dimension(:,:) :: v, i, e_L + real, allocatable, dimension(:,:) :: v, i + real, allocatable, dimension(:,:) :: v_source, i_source, e_L real, allocatable, dimension(:,:,:) :: du(:,:,:) real :: time = 0.0, dt = 1e10 + ! type homogen + type(bundle_source_t), allocatable, dimension(:) :: sources + type(probe_t), allocatable, dimension(:) :: probes type(transfer_impedance_t) :: transfer_impedance integer, dimension(:), allocatable :: conductors_in_level @@ -42,7 +46,7 @@ module mtl_bundle_mod procedure :: addProbe procedure :: updateLRTerms procedure :: updateCGTerms - + procedure :: collectAndInitSources procedure :: updateSources => bundle_updateSources procedure :: advanceVoltage => bundle_advanceVoltage procedure :: advanceCurrent => bundle_advanceCurrent @@ -91,6 +95,8 @@ function mtldCtor(levels, name) result(res) call res%mergePULMatrices(levels) call res%mergeDispersiveMatrices(levels) + call res%collectAndInitSources(levels) + #ifdef CompileWithMPI res%bundle_in_layer = levels(1)%lines(1)%bundle_in_layer res%layer_indices = levels(1)%lines(1)%layer_indices @@ -110,6 +116,9 @@ subroutine initialAllocation(this) allocate(this%v(this%number_of_conductors, this%number_of_divisions + 1), source = 0.0) allocate(this%i(this%number_of_conductors, this%number_of_divisions), source = 0.0) allocate(this%e_L(this%number_of_conductors, this%number_of_divisions), source = 0.0) + + allocate(this%v_source(this%number_of_conductors, this%number_of_divisions + 1), source = 0.0) + allocate(this%i_source(this%number_of_conductors, this%number_of_divisions), source = 0.0) allocate(this%i_term(this%number_of_divisions,this%number_of_conductors,this%number_of_conductors), source = 0.0) allocate(this%v_diff(this%number_of_divisions,this%number_of_conductors,this%number_of_conductors), source = 0.0) @@ -198,6 +207,30 @@ subroutine mergeDispersiveMatrices(this, levels) end subroutine + subroutine collectAndInitSources(this, levels) + class(mtl_bundle_t) :: this + type(transmission_line_level_t), dimension(:), intent(in) :: levels + integer :: i, j, k, n_sources + n_sources = 0 + do i = 1, size(levels) + do j = 1, size(levels(i)%lines) + n_sources = n_sources + size(levels(i)%lines(j)%sources) + end do + end do + allocate(this%sources(n_sources)) + n_sources = 1 + do i = 1, size(levels) + do j = 1, size(levels(i)%lines) + do k = 1, size(levels(i)%lines(j)%sources) + this%sources(n_sources) = levels(i)%lines(j)%sources(k) + n_sources = n_sources + 1 + end do + end do + end do + + end subroutine + + function buildExternalFieldSegments(levels) result(res) type(transmission_line_level_t), dimension(:), intent(in) :: levels type(external_field_segment_t), dimension(:), allocatable :: res @@ -336,7 +369,39 @@ subroutine updateCGTerms(this) subroutine bundle_updateSources(this, time, dt) class(mtl_bundle_t) ::this real, intent(in) :: time, dt + real :: val + integer :: i !TODO + do i = 1, size(this%sources) + val = interpolate(this%sources(i), time) + if (this%sources(i)%type == SOURCE_TYPE_VOLTAGE) then + this%v_source(this%sources(i)%conductor, this%sources(i)%index) = val + else if (this%sources(i)%type == SOURCE_TYPE_CURRENT) then + this%i_source(this%sources(i)%conductor, this%sources(i)%index) = val + end if + end do + ! contains + ! real function interpolate(source, time) result(res) + ! class(source_t) :: this + ! real :: time, dt, x1,x2, y1, y2 + ! integer :: index + ! real, dimension(:), allocatable :: timediff + ! timediff = this%time - time + dt + ! index = maxloc(timediff, 1, (timediff) <= 0) + ! if (index == 0) index = 1 + ! x1 = this%time(index) + ! y1 = this%value(index) + ! if (index+1 > size(this%time)) then + ! x2 = x1 + ! y2 = y1 + ! else + ! x2 = this%time(index+1) + ! y2 = this%value(index+1) + ! end if + + ! res = (time*(y2-y1) + x2*y1 - x1*y2)/(x2-x1) + ! end function + end subroutine subroutine bundle_advanceVoltage(this) @@ -368,7 +433,8 @@ subroutine bundle_advanceCurrent(this) do i = 1, this%number_of_divisions this%i(:,i) = matmul(this%i_term(i,:,:), this%i(:,i)) - & matmul(this%v_diff(i,:,:), (this%v(:,i+1) - this%v(:,i)) - & - this%e_L(:,i) * this%step_size(i)) - & + this%e_L(:,i) * this%step_size(i) - & + this%v_source(:,i)) - & matmul(this%v_diff(i,:,:), matmul(this%du(i,:,:), this%transfer_impedance%q3_phi(i,:))) enddo !TODO - revisar diff --git a/src_mtln/mtln_types.F90 b/src_mtln/mtln_types.F90 index d3b3b0f4..09232ee3 100644 --- a/src_mtln/mtln_types.F90 +++ b/src_mtln/mtln_types.F90 @@ -40,12 +40,16 @@ module mtln_types_mod integer, parameter :: DIRECTION_Z_NEG = -3 - type interior_source_t + type wire_source_t character(len=256) :: path_to_excitation = "" integer :: source_type = SOURCE_TYPE_UNDEFINED - type(cable_t), pointer :: cable + type(cable_t), pointer :: attached_to_cable real :: resistance integer :: index + contains + private + procedure :: wire_source_eq + generic, public :: operator(==) => wire_source_eq end type type node_source_t @@ -247,6 +251,7 @@ module mtln_types_mod type(terminal_network_t), dimension(:), allocatable :: networks type(probe_t), dimension(:), allocatable :: probes type(connector_t), dimension(:), pointer :: connectors + type(wire_source_t), dimension(:), pointer :: wire_sources real :: time_step = 0.0 integer :: number_of_steps = 0 integer :: n_sh = 0, n_unsh = 0 @@ -427,13 +432,28 @@ recursive logical function cable_eq(a,b) elemental logical function connector_eq(a,b) class(connector_t), intent(in) :: a, b - logical :: l connector_eq = & (a%id == b%id) .and. & all((a%resistances == b%resistances)) .and. & all((a%transfer_impedances_per_meter == b%transfer_impedances_per_meter)) end function + + elemental logical function wire_source_eq(a,b) + class(wire_source_t), intent(in) :: a, b + wire_source_eq = & + (a%path_to_excitation == b%path_to_excitation) .and. & + (a%source_type == b%source_type) .and. & + (a%resistance == b%resistance) .and. & + (a%index == b%index) + if (.not. associated(a%attached_to_cable) .or. .not. associated(b%attached_to_cable)) then + wire_source_eq = wire_source_eq .and. .false + else + wire_source_eq = wire_source_eq .and. (a%attached_to_cable == b%attached_to_cable) + end if + + end function + elemental logical function termination_eq(a, b) class(termination_t), intent(in) :: a type(termination_t), intent(in) :: b diff --git a/src_mtln/preprocess.F90 b/src_mtln/preprocess.F90 index 8453fe1c..823677d6 100644 --- a/src_mtln/preprocess.F90 +++ b/src_mtln/preprocess.F90 @@ -70,11 +70,14 @@ function preprocess(parsed, alloc) result(res) call mpi_barrier(subcomm_mpi, ierr) #endif + + ! Group cables into bundles cable_bundles = buildCableBundles(parsed%cables) #ifdef CompileWithMPI call mpi_barrier(subcomm_mpi, ierr) #endif + ! Create mtl objets from cables if (present(alloc)) then line_bundles = buildLineBundles(cable_bundles, res%dt, alloc) else @@ -84,6 +87,7 @@ function preprocess(parsed, alloc) result(res) #ifdef CompileWithMPI call mpi_barrier(subcomm_mpi, ierr) #endif + ! create mlt_bundles from mtl objects res%bundles = res%buildMTLBundles(line_bundles) if (size(res%bundles) == 0) then return From 857d3d0391aebbed0128197e678bf33eea0a8e9a Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Fri, 6 Mar 2026 16:42:51 +0100 Subject: [PATCH 03/25] WIP --- src_json_parser/smbjson.F90 | 127 +- src_json_parser/smbjson_labels.F90 | 1 + src_main_pub/errorreport.F90 | 5 +- src_mtln/circuit.F90 | 1 - src_mtln/mtl.F90 | 7 +- src_mtln/mtl_bundle.F90 | 47 +- src_mtln/mtln_types.F90 | 18 +- test/pyWrapper/test_mtln_standalone.py | 90 +- testData/cases/sources/sources.exc | 3000 +++++++++++++++++ testData/cases/sources/sources.fdtd.json | 82 + .../cases/sources/sources_shielded.fdtd.json | 136 + 11 files changed, 3406 insertions(+), 108 deletions(-) create mode 100644 testData/cases/sources/sources.exc create mode 100644 testData/cases/sources/sources.fdtd.json create mode 100644 testData/cases/sources/sources_shielded.fdtd.json diff --git a/src_json_parser/smbjson.F90 b/src_json_parser/smbjson.F90 index 30c2618f..407e850a 100644 --- a/src_json_parser/smbjson.F90 +++ b/src_json_parser/smbjson.F90 @@ -101,7 +101,7 @@ module smbjson character(:), allocatable :: name integer :: materialId integer, dimension(:), allocatable :: elementIds - character(:), allocatable :: matAssType + character(len=:), allocatable :: matAssType ! Cable specific fields. integer :: initialTerminalId = -1 integer :: endTerminalId = -1 @@ -2395,10 +2395,12 @@ function getMaterialAssociations(this, materialTypes, elementLabels) result(res) if (present(elementLabels)) then if (isAssociatedWithElementLabel(mAPtr, elementLabels)) then res(j) = this%parseMaterialAssociation(mAPtr) + res(j)%matAssType = trim(materialTypes(k)) j = j+1 end if else res(j) = this%parseMaterialAssociation(mAPtr) + res(j)%matAssType = trim(materialTypes(k)) j = j+1 end if end if @@ -2574,7 +2576,7 @@ function readMTLN(this) result (mtln_res) end select end do - mtln_res%sources = readWireGenerators() + mtln_res%wireGenerators = readWireGenerators() mtln_res%probes = readMultiwireProbes() mtln_res%networks = buildNetworks() @@ -3147,66 +3149,57 @@ function readTerminationRLC(termination, label, default) result(res) end function function readWireGenerators() result(res) - type(wire_source_t), dimension(:), allocatable :: res + type(generator_t), dimension(:), allocatable :: res type(json_value), pointer :: sources - type(json_value_ptr), dimension(:), allocatable :: wire_generators + type(json_value_ptr), dimension(:), allocatable :: gens + ! class(cable_t), pointer :: cable_ptr logical :: found - integer :: id + integer :: i, n + type(linel_t), dimension(:), allocatable :: linels + type(polyline_t) :: pl + type(coordinate_t) :: coord + integer :: id, index call this%core%get(this%root, J_sources, sources, found) if (.not. found) then allocate(res(0)) return end if - wire_generators = [this%jsonValueFilterByKeyValue(probes, J_TYPE, J_SRC_TYPE_GEN)] - n = countWireGenerators(wire_generators) + gens = [this%jsonValueFilterByKeyValue(sources, J_TYPE, J_SRC_TYPE_GEN)] + + n = countWireGenerators(gens) allocate(res(n)) if (n == 0) return n = 1 - do i = 1, size(wire_generators) - if (IsGeneratorOnWire(wire_generators(i)%p)) then - id = getPolylineElemIdOfGenerator(wire_probes(i)%p) - generator_node_coord = getGeneratorNodeCoordinate(wire_probes(i)%p) - - ! do j = 1, size(ids) - ! functions to be written - res(n)%generator_name = readGeneratorName(wire_probes(i)%p) - res(n)%generator_type = readGeneratorType(wire_probes(i)%p) - res(n)%generator_position = probe_node_coord%position + do i = 1, size(gens) + if (IsGeneratorOnWire(gens(i)%p)) then + if (.not. this%existsAt(gens(i)%p, J_SRC_MAGNITUDE_FILE)) then + call WarnErrReport('magnitudeFile of source missing', .true.) + end if + select case(this%getStrAt(gens(i)%p, J_FIELD)) + case (J_FIELD_VOLTAGE) + res(n)%source_type = J_FIELD_VOLTAGE + case (J_FIELD_CURRENT) + res(n)%source_type = J_FIELD_CURRENT + case default + call WarnErrReport('Field block of source of type generator must be current or voltage', .true.) + end select + res(n)%path_to_excitation = this%getStrAt(gens(i)%p, J_SRC_MAGNITUDE_FILE) + res(n)%resistance = this%getRealAt(gens(i)%p, J_SRC_RESISTANCE_GEN, default = 0.0) + - call elemIdToCable%get(key(ids(j)), value=index) - pl = this%mesh%getPolyline(ids(j)) + id = getPolylineElemIdOfGenerator(gens(i)%p) + call elemIdToCable%get(key(id), value=index) + coord = GetCoordinateFromElemIdNode(gens(i)%p) + pl = this%mesh%getPolyline(id) linels = this%mesh%polylineToLinels(pl) - res(n)%index = findProbeIndexInLinels(probe_node_coord, linels) - - cable_ptr => mtln_res%cables(index)%ptr - ! Inside select type, cable_ptr is shielded_multiwire_t but parent_cable is cable_t - ! Outside, cable_t does not have the parent_cable member - ! aux_ptr is used insted of cable_ptr => cable_ptr%parent_cable - parent_cable_found = .false. - do while (.not. parent_cable_found) - select type(cable_ptr) - type is(shielded_multiwire_t) - if (associated(cable_ptr%parent_cable)) then - aux_ptr => cable_ptr%parent_cable - else - parent_cable_found = .true. - end if - type is(unshielded_multiwire_t) - parent_cable_found = .true. - end select - if (.not. parent_cable_found) then - cable_ptr => aux_ptr - end if - end do - res(n)%attached_to_cable => cable_ptr - n = n + 1 - ! end do + res(n)%index = findIndexInLinels(coord, linels) + res(n)%attached_to_cable => mtln_res%cables(index)%ptr + n = n + 1 end if - end do end function @@ -3246,8 +3239,8 @@ function countWireGenerators(generators) result(res) do j = 2, size(polyline%coordIds)-1 if (polyline%coordIds(j) == cId) then if (fieldLabel == J_FIELD_VOLTAGE .and. & - (mAs%matAssType == J_MAT_TYPE_WIRE .or. & - mAs%matAssType == J_MAT_TYPE_UNSHIELDED_MULTIWIRE)) then + (mAs(i)%matAssType == J_MAT_TYPE_WIRE .or. & + mAs(i)%matAssType == J_MAT_TYPE_UNSHIELDED_MULTIWIRE)) then call WarnErrReport('voltage generators cannot be defined on wire/unshieldedMultiwire interior points', .true.) end if res = res + 1 @@ -3292,8 +3285,8 @@ logical function IsGeneratorOnWire(p) do j = 2, size(polyline%coordIds)-1 if (polyline%coordIds(j) == cId) then if (fieldLabel == J_FIELD_VOLTAGE .and. & - (mAs%matAssType == J_MAT_TYPE_WIRE .or. & - mAs%matAssType == J_MAT_TYPE_UNSHIELDED_MULTIWIRE)) then + (mAs(i)%matAssType == J_MAT_TYPE_WIRE .or. & + mAs(i)%matAssType == J_MAT_TYPE_UNSHIELDED_MULTIWIRE)) then call WarnErrReport('voltage generators cannot be defined on wire/unshieldedMultiwire interior points', .true.) end if IsGeneratorOnWire = .true. @@ -3329,7 +3322,7 @@ function readMultiwireProbes() result(res) do i = 1, size(wire_probes) if (isProbeDefinedOnMultiwire(wire_probes(i)%p)) then ids = getPolylineElemIdOfMultiwireProbe(wire_probes(i)%p) - probe_node_coord = getProbeNodeCoordinate(wire_probes(i)%p) + probe_node_coord = GetCoordinateFromElemIdNode(wire_probes(i)%p) do j = 1, size(ids) res(n)%probe_name = readProbeName(wire_probes(i)%p) @@ -3339,7 +3332,7 @@ function readMultiwireProbes() result(res) call elemIdToCable%get(key(ids(j)), value=index) pl = this%mesh%getPolyline(ids(j)) linels = this%mesh%polylineToLinels(pl) - res(n)%index = findProbeIndexInLinels(probe_node_coord, linels) + res(n)%index = findIndexInLinels(probe_node_coord, linels) cable_ptr => mtln_res%cables(index)%ptr ! Inside select type, cable_ptr is shielded_multiwire_t but parent_cable is cable_t @@ -3368,20 +3361,40 @@ function readMultiwireProbes() result(res) end do end function - function getProbeNodeCoordinate(probe) result (res) - type(json_value), pointer, intent(in) :: probe + function GetCoordinateFromElemIdNode(object) result (res) + type(json_value), pointer, intent(in) :: object type(coordinate_t) :: res integer, dimension(:), allocatable :: elemIds type(node_t) :: node - elemIds = this%getIntsAt(probe, J_ELEMENTIDS) + elemIds = this%getIntsAt(object, J_ELEMENTIDS) node = this%mesh%getNode(elemIds(1)) res = this%mesh%getCoordinate(node%coordIds(1)) end function - function findProbeIndexInLinels(probe_coord, linels) result(res) - type(coordinate_t) :: probe_coord + function findIndexPositionInLinels(elemIds, linels) result(res) + integer, dimension(:), intent(in) :: elemIds + type(linel_t), dimension(:), intent(in) :: linels + type(pixel_t) :: pixel + integer :: res + integer :: i + + pixel = this%mesh%nodeToPixel(this%mesh%getNode(elemIds(1))) + do i = 1, size(linels) + if (linels(i)%tag == pixel%tag) then + res = i + return + end if + end do + + call WarnErrReport("Source could not be found in linels.", .true.) + + end function + + + function findIndexInLinels(coord, linels) result(res) + type(coordinate_t) :: coord type(linel_t), dimension(:), allocatable :: linels type(coordinate_t), dimension(:), allocatable :: linelCoords @@ -3404,7 +3417,7 @@ function findProbeIndexInLinels(probe_coord, linels) result(res) allocate(distance_to_linel_cell(size(linelCoords))) do i = 1, size(linelCoords) - distance_to_linel_cell(i) = norm2(linelCoords(i)%position-probe_coord%position) + distance_to_linel_cell(i) = norm2(linelCoords(i)%position-coord%position) end do m = minloc(distance_to_linel_cell) res = m(1) diff --git a/src_json_parser/smbjson_labels.F90 b/src_json_parser/smbjson_labels.F90 index 3b78c3d8..84cb0e53 100644 --- a/src_json_parser/smbjson_labels.F90 +++ b/src_json_parser/smbjson_labels.F90 @@ -195,6 +195,7 @@ module smbjson_labels_mod character (len=*), parameter :: J_SRC_TYPE_NS = "nodalSource" character (len=*), parameter :: J_SRC_TYPE_GEN = "generator" character (len=*), parameter :: J_SRC_ATTACHED_ID = "attachedToLineId" + character (len=*), parameter :: J_SRC_RESISTANCE_GEN = "resistance" ! type(Planewave) character (len=*), parameter :: J_SRC_PW_DIRECTION = "direction" diff --git a/src_main_pub/errorreport.F90 b/src_main_pub/errorreport.F90 index ba58faa8..c449e4ce 100755 --- a/src_main_pub/errorreport.F90 +++ b/src_main_pub/errorreport.F90 @@ -1499,6 +1499,8 @@ END SUBROUTINE INITWARNINGFILE subroutine WarnErrReport(bufff,error) + ! USE ISO_FORTRAN_ENV, ONLY : ERROR_UNIT + ! logical :: itsopen logical, optional :: error @@ -1521,7 +1523,8 @@ subroutine WarnErrReport(bufff,error) buff2=CHAR(13)//CHAR(10)//trim(adjustl(buff3)) call trimnullchar(buff2) - write (17,'(a)',err=154) trim(adjustl(buff3)) + write (ERROR_UNIT,'(a)',err=154) trim(adjustl(buff3)) + ! write (ERROR_UNIT,'(a)') trim(adjustl(buff3)) goto 155 154 inquire(unit=17, opened=itsopen) diff --git a/src_mtln/circuit.F90 b/src_mtln/circuit.F90 index 352f89ea..623e5e2c 100644 --- a/src_mtln/circuit.F90 +++ b/src_mtln/circuit.F90 @@ -54,7 +54,6 @@ module circuit_mod procedure :: updateCircuitSources procedure :: modifyLineCapacitorValue - procedure :: loadCodeModels procedure :: printCWD end type circuit_t diff --git a/src_mtln/mtl.F90 b/src_mtln/mtl.F90 index 49a12f4a..f87b73f5 100644 --- a/src_mtln/mtl.F90 +++ b/src_mtln/mtl.F90 @@ -3,7 +3,7 @@ module mtl_mod ! use NFDETypes use utils_mod use dispersive_mod, dispersive_lumped_t => lumped_t - use mtln_types_mod, only: segment_t, multipolar_expansion_t + use mtln_types_mod, only: segment_t, multipolar_expansion_t, mtl_source_t use multipolar_expansion_mod, only: getCellCapacitanceOnBox, getCellInductanceOnBox #ifdef CompileWithMPI use fdetypes, only: SUBCOMM_MPI, REALSIZE, INTEGERSIZE, pi, mu_vacuum, c_vacuum, RKIND_wires @@ -30,9 +30,6 @@ module mtl_mod type(communicator_t), dimension(:), allocatable :: comms integer :: rank end type - - - #endif type, public :: mtl_t @@ -50,7 +47,7 @@ module mtl_mod type(transfer_impedance_per_meter_t), dimension(:), allocatable :: initial_connector_transfer_impedances, end_connector_transfer_impedances type(segment_t), dimension(:), allocatable :: segments - ! type(tl_source_t), dimension(:), allocatable :: sources + type(mtl_source_t), dimension(:), allocatable :: sources #ifdef CompileWithMPI diff --git a/src_mtln/mtl_bundle.F90 b/src_mtln/mtl_bundle.F90 index 63edfcfe..1b5b36b4 100644 --- a/src_mtln/mtl_bundle.F90 +++ b/src_mtln/mtl_bundle.F90 @@ -9,6 +9,7 @@ module mtl_bundle_mod #else use fdetypes, only: RKIND #endif + use mtln_types_mod, only: SOURCE_TYPE_CURRENT, SOURCE_TYPE_VOLTAGE implicit none type, public :: mtl_bundle_t @@ -22,7 +23,7 @@ module mtl_bundle_mod real :: time = 0.0, dt = 1e10 ! type homogen - type(bundle_source_t), allocatable, dimension(:) :: sources + type(mtl_source_t), allocatable, dimension(:) :: sources type(probe_t), allocatable, dimension(:) :: probes type(transfer_impedance_t) :: transfer_impedance @@ -374,33 +375,33 @@ subroutine bundle_updateSources(this, time, dt) !TODO do i = 1, size(this%sources) val = interpolate(this%sources(i), time) - if (this%sources(i)%type == SOURCE_TYPE_VOLTAGE) then + if (this%sources(i)%source_type == SOURCE_TYPE_VOLTAGE) then this%v_source(this%sources(i)%conductor, this%sources(i)%index) = val - else if (this%sources(i)%type == SOURCE_TYPE_CURRENT) then + else if (this%sources(i)%source_type == SOURCE_TYPE_CURRENT) then this%i_source(this%sources(i)%conductor, this%sources(i)%index) = val end if end do - ! contains - ! real function interpolate(source, time) result(res) - ! class(source_t) :: this - ! real :: time, dt, x1,x2, y1, y2 - ! integer :: index - ! real, dimension(:), allocatable :: timediff - ! timediff = this%time - time + dt - ! index = maxloc(timediff, 1, (timediff) <= 0) - ! if (index == 0) index = 1 - ! x1 = this%time(index) - ! y1 = this%value(index) - ! if (index+1 > size(this%time)) then - ! x2 = x1 - ! y2 = y1 - ! else - ! x2 = this%time(index+1) - ! y2 = this%value(index+1) - ! end if + contains + real function interpolate(source, t) result(res) + class(mtl_source_t) :: source + real :: t, x1, x2, y1, y2 + integer :: index + real, dimension(:), allocatable :: timediff + timediff = source%time - t + index = maxloc(timediff, 1, (timediff) <= 0) + if (index == 0) index = 1 + x1 = source%time(index) + y1 = source%value(index) + if (index+1 > size(source%time)) then + x2 = x1 + y2 = y1 + else + x2 = source%time(index+1) + y2 = source%value(index+1) + end if - ! res = (time*(y2-y1) + x2*y1 - x1*y2)/(x2-x1) - ! end function + res = (t*(y2-y1) + x2*y1 - x1*y2)/(x2-x1) + end function end subroutine diff --git a/src_mtln/mtln_types.F90 b/src_mtln/mtln_types.F90 index 09232ee3..f7c93a83 100644 --- a/src_mtln/mtln_types.F90 +++ b/src_mtln/mtln_types.F90 @@ -40,7 +40,7 @@ module mtln_types_mod integer, parameter :: DIRECTION_Z_NEG = -3 - type wire_source_t + type generator_t character(len=256) :: path_to_excitation = "" integer :: source_type = SOURCE_TYPE_UNDEFINED type(cable_t), pointer :: attached_to_cable @@ -52,6 +52,14 @@ module mtln_types_mod generic, public :: operator(==) => wire_source_eq end type + type mtl_source_t + integer :: index, conductor + real, dimension(:), allocatable :: time, value + integer :: source_type = SOURCE_TYPE_UNDEFINED + end type + + + type node_source_t character(len=256) :: path_to_excitation = "" integer :: source_type = SOURCE_TYPE_UNDEFINED @@ -250,8 +258,8 @@ module mtln_types_mod type(cable_abstract_t), dimension(:), allocatable :: cables type(terminal_network_t), dimension(:), allocatable :: networks type(probe_t), dimension(:), allocatable :: probes + type(generator_t), dimension(:), allocatable :: wireGenerators type(connector_t), dimension(:), pointer :: connectors - type(wire_source_t), dimension(:), pointer :: wire_sources real :: time_step = 0.0 integer :: number_of_steps = 0 integer :: n_sh = 0, n_unsh = 0 @@ -439,15 +447,15 @@ elemental logical function connector_eq(a,b) end function - elemental logical function wire_source_eq(a,b) - class(wire_source_t), intent(in) :: a, b + logical function wire_source_eq(a,b) + class(generator_t), intent(in) :: a, b wire_source_eq = & (a%path_to_excitation == b%path_to_excitation) .and. & (a%source_type == b%source_type) .and. & (a%resistance == b%resistance) .and. & (a%index == b%index) if (.not. associated(a%attached_to_cable) .or. .not. associated(b%attached_to_cable)) then - wire_source_eq = wire_source_eq .and. .false + wire_source_eq = wire_source_eq .and. .false. else wire_source_eq = wire_source_eq .and. (a%attached_to_cable == b%attached_to_cable) end if diff --git a/test/pyWrapper/test_mtln_standalone.py b/test/pyWrapper/test_mtln_standalone.py index 442f76f9..5da4e8f3 100644 --- a/test/pyWrapper/test_mtln_standalone.py +++ b/test/pyWrapper/test_mtln_standalone.py @@ -184,26 +184,84 @@ def test_spice_zener(tmp_path): @pytest.mark.mtln def test_mtln_sources(tmp_path): fn = CASES_FOLDER + 'sources/sources.fdtd.json' - - # interior voltage source + # terminal voltage source for wires & unshieldedmws : OK solver = FDTD(input_filename=fn, path_to_exe=SEMBA_EXE, - run_in_folder=tmp_path) - solver["sources"][0]["field"] = "voltage" - solver["sources"][0]["elemendIds"] = [1] - solver["sources"][0]["magnitudeFile"] = "current_source_1A.exc" - solver.cleanUp() - solver.run() - assert solver.hasFinishedSuccessfully() + run_in_folder=tmp_path, + flags = ["-n", "1"]) - # interior current source - solver = FDTD(input_filename=fn, - path_to_exe=SEMBA_EXE, - run_in_folder=tmp_path) - solver["sources"][0]["field"] = "current" - solver["sources"][0]["elemendIds"] = [1] - solver["sources"][0]["magnitudeFile"] = "voltage_source_1V.exc" + solver["materials"][0] = createWire(id = 1, r = 0.02) + solver["mesh"]["elements"][3]["coordinateIds"] = [2] + source = { "type" : "generator", + "field" : "voltage", + "elementIds" : [4], + "name" : "terminal_source_v", + "magnitudeFile" : "sources.exc"} + + solver["sources"][0] = source solver.cleanUp() solver.run() assert solver.hasFinishedSuccessfully() + + # solver["materials"][0] = createUnshieldedWire(id = 1, lpul = 6.52188703e-08, cpul = 1.7060247700000001e-10) + # solver.cleanUp() + # solver.run() + # assert solver.hasFinishedSuccessfully() + + # # interior voltage source for wires & unshieldedmws : FAIL + + # solver["mesh"]["elements"][3]["coordinateIds"] = [2] + # solver["materials"][0] = createWire(id = 1, r = 0.02) + # solver.cleanUp() + # solver.run() + # assert (solver.hasFinishedSuccessfully() == False) + + # solver["materials"][0] = createUnshieldedWire(id = 1, lpul = 6.52188703e-08, cpul = 1.7060247700000001e-10) + # solver.cleanUp() + # solver.run() + # assert (solver.hasFinishedSuccessfully() == False) + + # # terminal voltage source for shieldedmws : OK + # fn = CASES_FOLDER + 'sources/sources_shielded.fdtd.json' + # solver = FDTD(input_filename=fn, + # path_to_exe=SEMBA_EXE, + # run_in_folder=tmp_path, + # flags = ["-n", "1"]) + + # solver["materials"][0] = createWire(id = 1, r = 0.02) + # solver["mesh"]["elements"][3]["coordinateIds"] = [1] + # solver["sources"][0]["field"] = "voltage" + # solver["sources"][0]["elemendIds"] = [4] + # solver["sources"][0]["magnitudeFile"] = "source.exc" + # solver.cleanUp() + # solver.run() + # assert solver.hasFinishedSuccessfully() + + # interior voltage source for shieldedmws : OK + + + + # inner voltage source: only for inner conductor of shieldedmws + # solver = FDTD(input_filename=fn, + # path_to_exe=SEMBA_EXE, + # run_in_folder=tmp_path) + # solver["mesh"]["elements"][3]["coordinateIds"] = [2] + + # solver["sources"][0]["field"] = "voltage" + # solver["sources"][0]["elemendIds"] = [1] + # solver["sources"][0]["magnitudeFile"] = "current_source_1A.exc" + # solver.cleanUp() + # solver.run() + # assert solver.hasFinishedSuccessfully() + + # # interior current source + # solver = FDTD(input_filename=fn, + # path_to_exe=SEMBA_EXE, + # run_in_folder=tmp_path) + # solver["sources"][0]["field"] = "current" + # solver["sources"][0]["elemendIds"] = [1] + # solver["sources"][0]["magnitudeFile"] = "voltage_source_1V.exc" + # solver.cleanUp() + # solver.run() + # assert solver.hasFinishedSuccessfully() diff --git a/testData/cases/sources/sources.exc b/testData/cases/sources/sources.exc new file mode 100644 index 00000000..1632b49e --- /dev/null +++ b/testData/cases/sources/sources.exc @@ -0,0 +1,3000 @@ +0.0 0.0 +1e-11 0.0022122661584853542 +2e-11 0.00440912032972518 +3e-11 0.006590645747429624 +4e-11 0.008756925233594726 +4.9999999999999995e-11 0.010908041200462959 +6e-11 0.013044075652474563 +7e-11 0.015165110188209208 +8.000000000000001e-11 0.01727122600231845 +9.000000000000001e-11 0.019362503887449978 +1.0000000000000002e-10 0.021439024236162174 +1.1000000000000002e-10 0.023500867042830387 +1.2000000000000003e-10 0.025548111905542736 +1.3000000000000002e-10 0.027580838027989496 +1.4e-10 0.029599124221341366 +1.5e-10 0.03160304890612042 +1.6e-10 0.03359269011406152 +1.6999999999999998e-10 0.03556812548996513 +1.7999999999999997e-10 0.03752943229354222 +1.8999999999999996e-10 0.03947668740124943 +1.9999999999999996e-10 0.04140996730811597 +2.0999999999999995e-10 0.04332934812956313 +2.1999999999999994e-10 0.04523490560321308 +2.2999999999999993e-10 0.047126715090690996 +2.3999999999999995e-10 0.049004851579418696 +2.4999999999999996e-10 0.05086938968439869 +2.6e-10 0.05272040364999053 +2.7e-10 0.054557967351679504 +2.8e-10 0.056382154297835885 +2.9000000000000003e-10 0.05819303763146688 +3.0000000000000005e-10 0.05999069013195946 +3.1000000000000007e-10 0.06177518421681638 +3.200000000000001e-10 0.06354659194338275 +3.300000000000001e-10 0.06530498501056492 +3.400000000000001e-10 0.06705043476054195 +3.5000000000000014e-10 0.0687830121804679 +3.6000000000000015e-10 0.07050278790416753 +3.7000000000000017e-10 0.07220983221382293 +3.800000000000002e-10 0.07390421504165279 +3.900000000000002e-10 0.07558600597158316 +4.000000000000002e-10 0.07725527424091239 +4.1000000000000024e-10 0.07891208874196476 +4.2000000000000026e-10 0.08055651802373998 +4.3000000000000027e-10 0.08218863029355306 +4.400000000000003e-10 0.08380849341866614 +4.500000000000003e-10 0.08541617492791409 +4.600000000000003e-10 0.08701174201332174 +4.700000000000003e-10 0.08859526153171315 +4.800000000000003e-10 0.09016680000631416 +4.900000000000003e-10 0.0917264236283466 +5.000000000000002e-10 0.09327419825861605 +5.100000000000002e-10 0.09481018942909125 +5.200000000000002e-10 0.0963344623444764 +5.300000000000001e-10 0.09784708188377622 +5.400000000000001e-10 0.0993481126018535 +5.500000000000001e-10 0.10083761873097996 +5.6e-10 0.10231566418237825 +5.7e-10 0.10378231254775905 +5.8e-10 0.10523762710084872 +5.899999999999999e-10 0.10668167079891167 +5.999999999999999e-10 0.10811450628426378 +6.099999999999999e-10 0.10953619588578034 +6.199999999999998e-10 0.11094680162039627 +6.299999999999998e-10 0.11234638519459861 +6.399999999999998e-10 0.11373500800591363 +6.499999999999997e-10 0.11511273114438514 +6.599999999999997e-10 0.11647961539404761 +6.699999999999997e-10 0.11783572123439068 +6.799999999999996e-10 0.11918110884181832 +6.899999999999996e-10 0.1205158380911 +6.999999999999995e-10 0.121839968556816 +7.099999999999995e-10 0.12315355951479545 +7.199999999999995e-10 0.12445666994354687 +7.299999999999994e-10 0.1257493585256838 +7.399999999999994e-10 0.12703168364934236 +7.499999999999994e-10 0.1283037034095924 +7.599999999999993e-10 0.12956547560984233 +7.699999999999993e-10 0.13081705776323704 +7.799999999999993e-10 0.13205850709404965 +7.899999999999992e-10 0.13328988053906643 +7.999999999999992e-10 0.1345112347489651 +8.099999999999992e-10 0.1357226260896871 +8.199999999999991e-10 0.13692411064380328 +8.299999999999991e-10 0.13811574421187256 +8.399999999999991e-10 0.1392975823137954 +8.49999999999999e-10 0.14046968019015982 +8.59999999999999e-10 0.14163209280358158 +8.69999999999999e-10 0.1427848748400382 +8.799999999999989e-10 0.14392808071019692 +8.899999999999989e-10 0.14506176455073494 +8.999999999999989e-10 0.14618598022565565 +9.099999999999988e-10 0.14730078132759716 +9.199999999999988e-10 0.14840622117913527 +9.299999999999988e-10 0.1495023528340802 +9.399999999999988e-10 0.15058922907876693 +9.499999999999988e-10 0.1516669024333407 +9.599999999999988e-10 0.15273542515303395 +9.699999999999987e-10 0.15379484922944064 +9.799999999999987e-10 0.15484522639178155 +9.899999999999986e-10 0.15588660810816557 +9.999999999999986e-10 0.15691904558684433 +1.0099999999999986e-09 0.15794258977746034 +1.0199999999999985e-09 0.1589572913722911 +1.0299999999999985e-09 0.15996320080748527 +1.0399999999999985e-09 0.16096036826429427 +1.0499999999999984e-09 0.16194884367029805 +1.0599999999999984e-09 0.1629286767006245 +1.0699999999999984e-09 0.16389991677916338 +1.0799999999999983e-09 0.16486261307977523 +1.0899999999999983e-09 0.16581681452749342 +1.0999999999999983e-09 0.1667625697997216 +1.1099999999999982e-09 0.16769992732742456 +1.1199999999999982e-09 0.1686289352963145 +1.1299999999999982e-09 0.16954964164803088 +1.1399999999999981e-09 0.17046209408131563 +1.149999999999998e-09 0.1713663400531814 +1.159999999999998e-09 0.1722624267800762 +1.169999999999998e-09 0.17315040123904046 +1.179999999999998e-09 0.17403031016886095 +1.189999999999998e-09 0.17490220007121715 +1.199999999999998e-09 0.17576611721182356 +1.2099999999999979e-09 0.17662210762156638 +1.2199999999999979e-09 0.17747021709763444 +1.2299999999999978e-09 0.17831049120464526 +1.2399999999999978e-09 0.1791429752757655 +1.2499999999999978e-09 0.1799677144138263 +1.2599999999999977e-09 0.18078475349243361 +1.2699999999999977e-09 0.18159413715707262 +1.2799999999999976e-09 0.182395909826208 +1.2899999999999976e-09 0.18319011569237753 +1.2999999999999976e-09 0.1839767987232822 +1.3099999999999975e-09 0.18475600266287062 +1.3199999999999975e-09 0.1855277710324168 +1.3299999999999975e-09 0.18629214713159603 +1.3399999999999974e-09 0.1870491740395519 +1.3499999999999974e-09 0.18779889461596244 +1.3599999999999974e-09 0.18854135150209694 +1.3699999999999973e-09 0.18927658712187123 +1.3799999999999973e-09 0.1900046436828966 +1.3899999999999973e-09 0.1907255631775231 +1.3999999999999972e-09 0.19143938738387978 +1.4099999999999972e-09 0.19214615786690759 +1.4199999999999972e-09 0.1928459159793905 +1.4299999999999971e-09 0.1935387028629787 +1.439999999999997e-09 0.19422455944920847 +1.449999999999997e-09 0.1949035264605179 +1.459999999999997e-09 0.1955756444112562 +1.469999999999997e-09 0.19624095360868954 +1.479999999999997e-09 0.19689949415400165 +1.489999999999997e-09 0.1975513059432895 +1.4999999999999969e-09 0.19819642866855525 +1.5099999999999969e-09 0.19883490181869173 +1.5199999999999968e-09 0.19946676468046565 +1.5299999999999968e-09 0.20009205633949378 +1.5399999999999967e-09 0.2007108156812164 +1.5499999999999967e-09 0.2013230813918654 +1.5599999999999967e-09 0.2019288919594272 +1.5699999999999966e-09 0.20252828567460263 +1.5799999999999966e-09 0.20312130063176081 +1.5899999999999966e-09 0.20370797472988972 +1.5999999999999965e-09 0.2042883456735411 +1.6099999999999965e-09 0.20486245097377198 +1.6199999999999965e-09 0.20543032794908161 +1.6299999999999964e-09 0.20599201372634246 +1.6399999999999964e-09 0.2065475452417298 +1.6499999999999964e-09 0.20709695924164373 +1.6599999999999963e-09 0.20764029228362912 +1.6699999999999963e-09 0.2081775807372898 +1.6799999999999963e-09 0.2087088607851999 +1.6899999999999962e-09 0.20923416842380888 +1.6999999999999962e-09 0.20975353946434433 +1.7099999999999962e-09 0.21026700953370947 +1.7199999999999961e-09 0.21077461407537607 +1.729999999999996e-09 0.21127638835027424 +1.739999999999996e-09 0.21177236743767736 +1.749999999999996e-09 0.21226258623608235 +1.759999999999996e-09 0.21274707946408727 +1.769999999999996e-09 0.21322588166126294 +1.779999999999996e-09 0.21369902718902223 +1.7899999999999959e-09 0.2141665502314838 +1.7999999999999959e-09 0.21462848479633218 +1.8099999999999958e-09 0.21508486471567523 +1.8199999999999958e-09 0.21553572364689444 +1.8299999999999957e-09 0.21598109507349467 +1.8399999999999957e-09 0.21642101230594757 +1.8499999999999957e-09 0.21685550848253127 +1.8599999999999956e-09 0.2172846165701679 +1.869999999999996e-09 0.2177083693652545 +1.879999999999996e-09 0.21812679949449215 +1.889999999999996e-09 0.21853993941570987 +1.8999999999999963e-09 0.21894782141868568 +1.9099999999999965e-09 0.2193504776259625 +1.9199999999999967e-09 0.21974793999366177 +1.929999999999997e-09 0.22014024031229157 +1.939999999999997e-09 0.22052741020755245 +1.949999999999997e-09 0.22090948114113823 +1.9599999999999974e-09 0.22128648441153415 +1.9699999999999975e-09 0.2216584511548096 +1.9799999999999977e-09 0.22202541234540923 +1.989999999999998e-09 0.2223873987969388 +1.999999999999998e-09 0.2227444411629474 +2.0099999999999982e-09 0.2230965699377071 +2.0199999999999984e-09 0.22344381545698727 +2.0299999999999986e-09 0.22378620789882714 +2.0399999999999987e-09 0.2241237772843025 +2.049999999999999e-09 0.2244565534782909 +2.059999999999999e-09 0.22478456619023202 +2.0699999999999993e-09 0.2251078449748844 +2.0799999999999994e-09 0.22542641923307938 +2.0899999999999996e-09 0.22574031821247081 +2.0999999999999998e-09 0.22604957100828138 +2.11e-09 0.2263542065640456 +2.12e-09 0.22665425367234876 +2.1300000000000003e-09 0.22694974097556336 +2.1400000000000005e-09 0.227240696966581 +2.1500000000000006e-09 0.22752714998954143 +2.160000000000001e-09 0.22780912824055777 +2.170000000000001e-09 0.22808665976843906 +2.180000000000001e-09 0.2283597724754084 +2.1900000000000013e-09 0.228628494117818 +2.2000000000000015e-09 0.22889285230686157 +2.2100000000000017e-09 0.22915287450928234 +2.220000000000002e-09 0.22940858804807834 +2.230000000000002e-09 0.2296600201032038 +2.240000000000002e-09 0.22990719771226836 +2.2500000000000024e-09 0.23015014777123127 +2.2600000000000025e-09 0.23038889703509385 +2.2700000000000027e-09 0.2306234721185878 +2.280000000000003e-09 0.23085389949686091 +2.290000000000003e-09 0.23108020550615826 +2.3000000000000032e-09 0.23130241634450216 +2.3100000000000034e-09 0.23152055807236677 +2.3200000000000036e-09 0.23173465661335124 +2.3300000000000037e-09 0.2319447377548488 +2.340000000000004e-09 0.2321508271487121 +2.350000000000004e-09 0.2323529503119176 +2.3600000000000043e-09 0.23255113262722382 +2.3700000000000044e-09 0.23274539934382882 +2.3800000000000046e-09 0.23293577557802375 +2.3900000000000048e-09 0.23312228631384285 +2.400000000000005e-09 0.23330495640371135 +2.410000000000005e-09 0.23348381056908946 +2.4200000000000053e-09 0.23365887340111346 +2.4300000000000055e-09 0.23383016936123452 +2.4400000000000056e-09 0.23399772278185282 +2.450000000000006e-09 0.23416155786695098 +2.460000000000006e-09 0.2343216986927224 +2.470000000000006e-09 0.23447816920819747 +2.4800000000000063e-09 0.2346309932358674 +2.4900000000000065e-09 0.23478019447230392 +2.5000000000000067e-09 0.23492579648877654 +2.510000000000007e-09 0.23506782273186771 +2.520000000000007e-09 0.2352062965240833 +2.530000000000007e-09 0.23534124106446186 +2.5400000000000074e-09 0.23547267942918043 +2.5500000000000075e-09 0.23560063457215652 +2.5600000000000077e-09 0.23572512932564926 +2.570000000000008e-09 0.23584618640085558 +2.580000000000008e-09 0.23596382838850477 +2.5900000000000082e-09 0.23607807775945017 +2.6000000000000084e-09 0.23618895686525793 +2.6100000000000086e-09 0.2362964879387922 +2.6200000000000087e-09 0.23640069309479889 +2.630000000000009e-09 0.2365015943304858 +2.640000000000009e-09 0.23659921352610008 +2.6500000000000093e-09 0.23669357244550354 +2.6600000000000094e-09 0.23678469273674357 +2.6700000000000096e-09 0.23687259593262405 +2.6800000000000098e-09 0.23695730345127108 +2.69000000000001e-09 0.23703883659669717 +2.70000000000001e-09 0.23711721655936246 +2.7100000000000103e-09 0.2371924644167338 +2.7200000000000105e-09 0.2372646011338403 +2.7300000000000106e-09 0.2373336475638267 +2.740000000000011e-09 0.23739962444850438 +2.750000000000011e-09 0.2374625524188992 +2.760000000000011e-09 0.23752245199579736 +2.7700000000000113e-09 0.23757934359028787 +2.7800000000000115e-09 0.23763324750430304 +2.7900000000000117e-09 0.2376841839311567 +2.800000000000012e-09 0.2377321729560785 +2.810000000000012e-09 0.23777723455674726 +2.820000000000012e-09 0.23781938860382135 +2.8300000000000124e-09 0.23785865486146535 +2.8400000000000125e-09 0.23789505298787605 +2.8500000000000127e-09 0.23792860253580478 +2.860000000000013e-09 0.2379593229530771 +2.870000000000013e-09 0.23798723358311125 +2.8800000000000132e-09 0.23801235366543294 +2.8900000000000134e-09 0.2380347023361875 +2.9000000000000136e-09 0.23805429862865185 +2.9100000000000137e-09 0.2380711614737402 +2.920000000000014e-09 0.23808530970051128 +2.930000000000014e-09 0.23809676203667063 +2.9400000000000142e-09 0.23810553710907129 +2.9500000000000144e-09 0.23811165344421215 +2.9600000000000146e-09 0.23811512946873387 +2.9700000000000148e-09 0.23811598350991253 +2.980000000000015e-09 0.23811423379615076 +2.990000000000015e-09 0.2381098984574665 +3.0000000000000153e-09 0.23810299552597958 +3.0100000000000155e-09 0.23809354293639612 +3.0200000000000156e-09 0.2380815585264902 +3.030000000000016e-09 0.2380670600375836 +3.040000000000016e-09 0.23805006511502325 +3.050000000000016e-09 0.23803059130865598 +3.0600000000000163e-09 0.2380086560733016 +3.0700000000000165e-09 0.2379842767692235 +3.0800000000000167e-09 0.2379574706625966 +3.090000000000017e-09 0.23792825492597375 +3.100000000000017e-09 0.23789664663874954 +3.110000000000017e-09 0.23786266278762175 +3.1200000000000174e-09 0.2378263202670511 +3.1300000000000175e-09 0.23778763587971827 +3.1400000000000177e-09 0.23774662633697902 +3.150000000000018e-09 0.23770330825931726 +3.160000000000018e-09 0.23765769817679558 +3.1700000000000182e-09 0.23760981252950383 +3.1800000000000184e-09 0.23755966766800604 +3.1900000000000186e-09 0.23750727985378411 +3.2000000000000187e-09 0.23745266525968048 +3.210000000000019e-09 0.23739583997033806 +3.220000000000019e-09 0.23733681998263817 +3.2300000000000192e-09 0.23727562120613677 +3.2400000000000194e-09 0.2372122594634978 +3.2500000000000196e-09 0.23714675049092548 +3.2600000000000198e-09 0.23707910993859369 +3.27000000000002e-09 0.2370093533710736 +3.28000000000002e-09 0.2369374962677595 +3.2900000000000203e-09 0.23686355402329246 +3.3000000000000205e-09 0.2367875419479813 +3.3100000000000206e-09 0.23670947526822303 +3.320000000000021e-09 0.23662936912691956 +3.330000000000021e-09 0.23654723858389382 +3.340000000000021e-09 0.23646309861630313 +3.3500000000000213e-09 0.2363769641190508 +3.3600000000000215e-09 0.23628884990519572 +3.3700000000000217e-09 0.23619877070636028 +3.380000000000022e-09 0.23610674117313551 +3.390000000000022e-09 0.23601277587548575 +3.400000000000022e-09 0.23591688930314975 +3.4100000000000223e-09 0.23581909586604088 +3.4200000000000225e-09 0.23571940989464532 +3.4300000000000227e-09 0.23561784564041804 +3.440000000000023e-09 0.23551441727617672 +3.450000000000023e-09 0.235409138896495 +3.4600000000000232e-09 0.23530202451809185 +3.4700000000000234e-09 0.23519308808022088 +3.4800000000000236e-09 0.23508234344505705 +3.4900000000000237e-09 0.23496980439808116 +3.500000000000024e-09 0.2348554846484636 +3.510000000000024e-09 0.23473939782944478 +3.5200000000000242e-09 0.23462155749871502 +3.5300000000000244e-09 0.23450197713879223 +3.5400000000000246e-09 0.23438067015739728 +3.5500000000000248e-09 0.23425764988782827 +3.560000000000025e-09 0.23413292958933293 +3.570000000000025e-09 0.23400652244747844 +3.5800000000000253e-09 0.23387844157452053 +3.5900000000000254e-09 0.23374870000977044 +3.6000000000000256e-09 0.23361731071995956 +3.6100000000000258e-09 0.23348428659960332 +3.620000000000026e-09 0.23334964047136247 +3.630000000000026e-09 0.23321338508640313 +3.6400000000000263e-09 0.23307553312475512 +3.6500000000000265e-09 0.2329360971956681 +3.6600000000000267e-09 0.2327950898379665 +3.670000000000027e-09 0.23265252352040267 +3.680000000000027e-09 0.23250841064200814 +3.690000000000027e-09 0.23236276353244315 +3.7000000000000273e-09 0.23221559445234516 +3.7100000000000275e-09 0.23206691559367448 +3.7200000000000277e-09 0.23191673908005972 +3.7300000000000274e-09 0.2317650769671401 +3.740000000000027e-09 0.2316119412429073 +3.750000000000027e-09 0.23145734382804511 +3.760000000000027e-09 0.23130129657626755 +3.7700000000000265e-09 0.23114381127465514 +3.780000000000026e-09 0.23098489964399024 +3.790000000000026e-09 0.23082457333908996 +3.800000000000026e-09 0.23066284394913775 +3.8100000000000255e-09 0.23049972299801413 +3.820000000000025e-09 0.23033522194462439 +3.830000000000025e-09 0.230169352183226 +3.840000000000025e-09 0.230002125043754 +3.8500000000000245e-09 0.2298335517921444 +3.860000000000024e-09 0.22966364363065694 +3.870000000000024e-09 0.2294924116981954 +3.880000000000024e-09 0.22931986707062685 +3.8900000000000236e-09 0.2291460207610994 +3.900000000000023e-09 0.22897088372035831 +3.910000000000023e-09 0.2287944668370604 +3.920000000000023e-09 0.2286167809380871 +3.930000000000023e-09 0.22843783678885632 +3.940000000000022e-09 0.22825764509363233 +3.950000000000022e-09 0.22807621649583426 +3.960000000000022e-09 0.22789356157834328 +3.970000000000022e-09 0.22770969086380838 +3.980000000000021e-09 0.22752461481495015 +3.990000000000021e-09 0.22733834383486407 +4.000000000000021e-09 0.22715088826732102 +4.010000000000021e-09 0.2269622583970677 +4.0200000000000204e-09 0.22677246445012453 +4.03000000000002e-09 0.22658151659408302 +4.04000000000002e-09 0.22638942493840075 +4.05000000000002e-09 0.22619619953469577 +4.0600000000000195e-09 0.22600185037703915 +4.070000000000019e-09 0.2258063874022464 +4.080000000000019e-09 0.22560982049016695 +4.090000000000019e-09 0.22541215946397294 +4.1000000000000185e-09 0.2252134140904461 +4.110000000000018e-09 0.22501359408026342 +4.120000000000018e-09 0.22481270908828171 +4.130000000000018e-09 0.22461076871382019 +4.1400000000000176e-09 0.22440778250094215 +4.150000000000017e-09 0.22420375993873534 +4.160000000000017e-09 0.22399871046159084 +4.170000000000017e-09 0.22379264344948022 +4.1800000000000166e-09 0.22358556822823217 +4.190000000000016e-09 0.2233774940698072 +4.200000000000016e-09 0.22316843019257107 +4.210000000000016e-09 0.2229583857615669 +4.220000000000016e-09 0.22274736988878685 +4.230000000000015e-09 0.22253539163344047 +4.240000000000015e-09 0.2223224600022242 +4.250000000000015e-09 0.22210858394958724 +4.260000000000015e-09 0.22189377237799862 +4.270000000000014e-09 0.22167803413821024 +4.280000000000014e-09 0.22146137802952112 +4.290000000000014e-09 0.22124381280003855 +4.300000000000014e-09 0.22102534714693928 +4.3100000000000134e-09 0.22080598971672843 +4.320000000000013e-09 0.2205857491054981 +4.330000000000013e-09 0.22036463385918362 +4.340000000000013e-09 0.2201426524738198 +4.3500000000000125e-09 0.219919813395795 +4.360000000000012e-09 0.21969612502210445 +4.370000000000012e-09 0.21947159570060196 +4.380000000000012e-09 0.2192462337302511 +4.3900000000000115e-09 0.21902004736137412 +4.400000000000011e-09 0.21879304479590103 +4.410000000000011e-09 0.21856523418761586 +4.420000000000011e-09 0.2183366236424034 +4.4300000000000106e-09 0.2181072212184934 +4.44000000000001e-09 0.2178770349267043 +4.45000000000001e-09 0.21764607273068565 +4.46000000000001e-09 0.2174143425471593 +4.4700000000000096e-09 0.21718185224615952 +4.480000000000009e-09 0.21694860965127147 +4.490000000000009e-09 0.2167146225398697 +4.500000000000009e-09 0.21647989864335385 +4.510000000000009e-09 0.216244445647385 +4.520000000000008e-09 0.2160082711921189 +4.530000000000008e-09 0.21577138287244024 +4.540000000000008e-09 0.21553378823819383 +4.550000000000008e-09 0.21529549479441623 +4.5600000000000074e-09 0.21505651000156473 +4.570000000000007e-09 0.2148168412757467 +4.580000000000007e-09 0.21457649598894687 +4.590000000000007e-09 0.21433548146925402 +4.6000000000000064e-09 0.214093805001086 +4.610000000000006e-09 0.21385147382541442 +4.620000000000006e-09 0.21360849513998748 +4.630000000000006e-09 0.2133648760995524 +4.6400000000000055e-09 0.21312062381607638 +4.650000000000005e-09 0.21287574535896647 +4.660000000000005e-09 0.21263024775528855 +4.670000000000005e-09 0.21238413798998507 +4.6800000000000045e-09 0.21213742300609217 +4.690000000000004e-09 0.211890109704955 +4.700000000000004e-09 0.21164220494644276 +4.710000000000004e-09 0.21139371554916195 +4.7200000000000036e-09 0.21114464829066962 +4.730000000000003e-09 0.2108950099076842 +4.740000000000003e-09 0.2106448070962968 +4.750000000000003e-09 0.21039404651218013 +4.760000000000003e-09 0.21014273477079748 +4.770000000000002e-09 0.20989087844760979 +4.780000000000002e-09 0.20963848407828276 +4.790000000000002e-09 0.20938555815889162 +4.800000000000002e-09 0.2091321071461263 +4.810000000000001e-09 0.20887813745749445 +4.820000000000001e-09 0.2086236554715244 +4.830000000000001e-09 0.20836866752796623 +4.840000000000001e-09 0.20811317992799278 +4.8500000000000004e-09 0.20785719893439888 +4.86e-09 0.20760073077180013 +4.87e-09 0.20734378162683081 +4.88e-09 0.20708635764833988 +4.8899999999999995e-09 0.20682846494758744 +4.899999999999999e-09 0.20657010959843913 +4.909999999999999e-09 0.20631129763756 +4.919999999999999e-09 0.20605203506460756 +4.9299999999999985e-09 0.20579232784242377 +4.939999999999998e-09 0.20553218189722555 +4.949999999999998e-09 0.20527160311879572 +4.959999999999998e-09 0.20501059736067123 +4.9699999999999975e-09 0.20474917044033236 +4.979999999999997e-09 0.2044873281393893 +4.989999999999997e-09 0.20422507620376898 +4.999999999999997e-09 0.20396242034390033 +5.0099999999999966e-09 0.20369936623489934 +5.019999999999996e-09 0.20343591951675216 +5.029999999999996e-09 0.2031720857944983 +5.039999999999996e-09 0.2029078706384125 +5.049999999999996e-09 0.20264327958418582 +5.059999999999995e-09 0.20237831813310558 +5.069999999999995e-09 0.20211299175223504 +5.079999999999995e-09 0.20184730587459132 +5.089999999999995e-09 0.20158126589932313 +5.099999999999994e-09 0.201314877191888 +5.109999999999994e-09 0.20104814508422694 +5.119999999999994e-09 0.2007810748749405 +5.129999999999994e-09 0.20051367182946223 +5.1399999999999934e-09 0.2002459411802322 +5.149999999999993e-09 0.19997788812686917 +5.159999999999993e-09 0.19970951783634255 +5.169999999999993e-09 0.19944083544314278 +5.1799999999999925e-09 0.19917184604945126 +5.189999999999992e-09 0.19890255472530965 +5.199999999999992e-09 0.19863296650878792 +5.209999999999992e-09 0.19836308640615175 +5.2199999999999915e-09 0.19809291939202933 +5.229999999999991e-09 0.1978224704095768 +5.239999999999991e-09 0.1975517443706436 +5.249999999999991e-09 0.19728074615593644 +5.2599999999999905e-09 0.19700948061518284 +5.26999999999999e-09 0.1967379525672932 +5.27999999999999e-09 0.19646616680052362 +5.28999999999999e-09 0.19619412807263556 +5.2999999999999896e-09 0.19592184111105712 +5.309999999999989e-09 0.1956493106130418 +5.319999999999989e-09 0.19537654124582754 +5.329999999999989e-09 0.19510353764679442 +5.339999999999989e-09 0.19483030442362154 +5.349999999999988e-09 0.19455684615444396 +5.359999999999988e-09 0.19428316738800744 +5.369999999999988e-09 0.19400927264382384 +5.379999999999988e-09 0.19373516641232488 +5.389999999999987e-09 0.19346085315501566 +5.399999999999987e-09 0.1931863373046267 +5.409999999999987e-09 0.19291162326526656 +5.419999999999987e-09 0.19263671541257177 +5.4299999999999864e-09 0.19236161809385827 +5.439999999999986e-09 0.19208633562827016 +5.449999999999986e-09 0.19181087230692878 +5.459999999999986e-09 0.191535232393081 +5.4699999999999855e-09 0.1912594201222465 +5.479999999999985e-09 0.19098343970236406 +5.489999999999985e-09 0.1907072953139381 +5.499999999999985e-09 0.19043099111018336 +5.5099999999999845e-09 0.1901545312171699 +5.519999999999984e-09 0.1898779197339664 +5.529999999999984e-09 0.1896011607327837 +5.539999999999984e-09 0.1893242582591167 +5.5499999999999835e-09 0.1890472163318866 +5.559999999999983e-09 0.18877003894358163 +5.569999999999983e-09 0.18849273006039707 +5.579999999999983e-09 0.18821529362237543 +5.5899999999999826e-09 0.18793773354354498 +5.599999999999982e-09 0.18766005371205807 +5.609999999999982e-09 0.18738225799032868 +5.619999999999982e-09 0.18710435021516958 +5.629999999999982e-09 0.18682633419792805 +5.639999999999981e-09 0.18654821372462194 +5.649999999999981e-09 0.18626999255607413 +5.659999999999981e-09 0.18599167442804704 +5.669999999999981e-09 0.18571326305137598 +5.67999999999998e-09 0.1854347621121023 +5.68999999999998e-09 0.1851561752716053 +5.69999999999998e-09 0.1848775061667342 +5.70999999999998e-09 0.18459875840993867 +5.7199999999999794e-09 0.18431993558939952 +5.729999999999979e-09 0.18404104126915818 +5.739999999999979e-09 0.18376207898924582 +5.749999999999979e-09 0.18348305226581138 +5.7599999999999785e-09 0.18320396459124993 +5.769999999999978e-09 0.18292481943432914 +5.779999999999978e-09 0.1826456202403165 +5.789999999999978e-09 0.1823663704311046 +5.7999999999999775e-09 0.18208707340533642 +5.809999999999977e-09 0.18180773253853044 +5.819999999999977e-09 0.18152835118320415 +5.829999999999977e-09 0.1812489326689979 +5.8399999999999765e-09 0.18096948030279708 +5.849999999999976e-09 0.18068999736885516 +5.859999999999976e-09 0.18041048712891444 +5.869999999999976e-09 0.18013095282232777 +5.8799999999999756e-09 0.17985139766617836 +5.889999999999975e-09 0.17957182485539996 +5.899999999999975e-09 0.17929223756289583 +5.909999999999975e-09 0.17901263893965774 +5.919999999999975e-09 0.1787330321148833 +5.929999999999974e-09 0.17845342019609434 +5.939999999999974e-09 0.17817380626925278 +5.949999999999974e-09 0.1778941933988779 +5.959999999999974e-09 0.17761458462816127 +5.969999999999973e-09 0.17733498297908235 +5.979999999999973e-09 0.17705539145252291 +5.989999999999973e-09 0.17677581302838105 +5.999999999999973e-09 0.1764962506656847 +6.0099999999999724e-09 0.1762167073027044 +6.019999999999972e-09 0.1759371858570658 +6.029999999999972e-09 0.1756576892258611 +6.039999999999972e-09 0.17537822028576075 +6.0499999999999715e-09 0.1750987818931236 +6.059999999999971e-09 0.1748193768841075 +6.069999999999971e-09 0.1745400080747784 +6.079999999999971e-09 0.17426067826121983 +6.0899999999999705e-09 0.173981390219641 +6.09999999999997e-09 0.17370214670648512 +6.10999999999997e-09 0.17342295045853637 +6.11999999999997e-09 0.17314380419302727 +6.1299999999999695e-09 0.17286471060774458 +6.139999999999969e-09 0.1725856723811356 +6.149999999999969e-09 0.17230669217241287 +6.159999999999969e-09 0.17202777262165964 +6.1699999999999686e-09 0.17174891634993344 +6.179999999999968e-09 0.17147012595937053 +6.189999999999968e-09 0.17119140403328836 +6.199999999999968e-09 0.17091275313628895 +6.209999999999968e-09 0.17063417581436058 +6.219999999999967e-09 0.17035567459498002 +6.229999999999967e-09 0.17007725198721302 +6.239999999999967e-09 0.16979891048181575 +6.249999999999967e-09 0.16952065255133442 +6.259999999999966e-09 0.16924248065020514 +6.269999999999966e-09 0.16896439721485335 +6.279999999999966e-09 0.16868640466379203 +6.289999999999966e-09 0.16840850539772045 +6.2999999999999654e-09 0.16813070179962136 +6.309999999999965e-09 0.16785299623485875 +6.319999999999965e-09 0.167575391051274 +6.329999999999965e-09 0.16729788857928282 +6.3399999999999645e-09 0.16702049113197037 +6.349999999999964e-09 0.16674320100518716 +6.359999999999964e-09 0.16646602047764342 +6.369999999999964e-09 0.16618895181100374 +6.3799999999999635e-09 0.16591199724998082 +6.389999999999963e-09 0.16563515902242903 +6.399999999999963e-09 0.1653584393394371 +6.409999999999963e-09 0.16508184039542104 +6.4199999999999625e-09 0.16480536436821563 +6.429999999999962e-09 0.16452901341916662 +6.439999999999962e-09 0.16425278969322119 +6.449999999999962e-09 0.16397669531901915 +6.4599999999999616e-09 0.1637007324089828 +6.469999999999961e-09 0.16342490305940693 +6.479999999999961e-09 0.16314920935054797 +6.489999999999961e-09 0.16287365334671278 +6.499999999999961e-09 0.16259823709634735 +6.50999999999996e-09 0.16232296263212448 +6.51999999999996e-09 0.16204783197103156 +6.52999999999996e-09 0.16177284711445747 +6.53999999999996e-09 0.16149801004827938 +6.549999999999959e-09 0.16122332274294884 +6.559999999999959e-09 0.16094878715357785 +6.569999999999959e-09 0.16067440522002377 +6.579999999999959e-09 0.16040017886697486 +6.5899999999999584e-09 0.16012611000403418 +6.599999999999958e-09 0.15985220052580412 +6.609999999999958e-09 0.1595784523119699 +6.619999999999958e-09 0.15930486722738288 +6.6299999999999575e-09 0.15903144712214326 +6.639999999999957e-09 0.15875819383168277 +6.649999999999957e-09 0.15848510917684627 +6.659999999999957e-09 0.15821219496397385 +6.6699999999999565e-09 0.1579394529849815 +6.679999999999956e-09 0.1576668850174424 +6.689999999999956e-09 0.15739449282466667 +6.699999999999956e-09 0.15712227815578206 +6.7099999999999555e-09 0.15685024274581302 +6.719999999999955e-09 0.1565783883157599 +6.729999999999955e-09 0.156306716572678 +6.739999999999955e-09 0.1560352292097556 +6.7499999999999546e-09 0.15576392790639232 +6.759999999999954e-09 0.15549281432827627 +6.769999999999954e-09 0.15522189012746168 +6.779999999999954e-09 0.15495115694244535 +6.789999999999954e-09 0.15468061639824338 +6.799999999999953e-09 0.1544102701064669 +6.809999999999953e-09 0.15414011966539815 +6.819999999999953e-09 0.15387016666006514 +6.829999999999953e-09 0.15360041266231725 +6.839999999999952e-09 0.15333085923089917 +6.849999999999952e-09 0.15306150791152545 +6.859999999999952e-09 0.15279236023695397 +6.869999999999952e-09 0.15252341772705955 +6.8799999999999514e-09 0.1522546818889069 +6.889999999999951e-09 0.15198615421682324 +6.899999999999951e-09 0.1517178361924706 +6.909999999999951e-09 0.151449729284918 +6.9199999999999505e-09 0.15118183495071255 +6.92999999999995e-09 0.15091415463395108 +6.93999999999995e-09 0.15064668976635073 +6.94999999999995e-09 0.15037944176731954 +6.9599999999999495e-09 0.15011241204402667 +6.969999999999949e-09 0.14984560199147184 +6.979999999999949e-09 0.14957901299255535 +6.989999999999949e-09 0.1493126464181464 +6.9999999999999485e-09 0.1490465036271526 +7.009999999999948e-09 0.14878058596658766 +7.019999999999948e-09 0.1485148947716399 +7.029999999999948e-09 0.1482494313657397 +7.0399999999999476e-09 0.14798419706062696 +7.049999999999947e-09 0.14771919315641796 +7.059999999999947e-09 0.14745442094167227 +7.069999999999947e-09 0.14718988169345873 +7.079999999999947e-09 0.14692557667742187 +7.089999999999946e-09 0.14666150714784712 +7.099999999999946e-09 0.14639767434772658 +7.109999999999946e-09 0.14613407950882354 +7.119999999999946e-09 0.1458707238517376 +7.129999999999945e-09 0.14560760858596866 +7.139999999999945e-09 0.14534473490998118 +7.149999999999945e-09 0.14508210401126764 +7.159999999999945e-09 0.14481971706641208 +7.1699999999999444e-09 0.1445575752411531 +7.179999999999944e-09 0.14429567969044646 +7.189999999999944e-09 0.14403403155852773 +7.199999999999944e-09 0.14377263197897397 +7.2099999999999435e-09 0.14351148207476602 +7.219999999999943e-09 0.1432505829583495 +7.229999999999943e-09 0.14298993573169622 +7.239999999999943e-09 0.14272954148636485 +7.2499999999999425e-09 0.14246940130356162 +7.259999999999942e-09 0.14220951625420028 +7.269999999999942e-09 0.14194988739896236 +7.279999999999942e-09 0.14169051578835637 +7.2899999999999415e-09 0.1414314024627774 +7.299999999999941e-09 0.141172548452566 +7.309999999999941e-09 0.14091395477806692 +7.319999999999941e-09 0.14065562244968732 +7.3299999999999406e-09 0.14039755246795524 +7.33999999999994e-09 0.14013974582357697 +7.34999999999994e-09 0.13988220349749497 +7.35999999999994e-09 0.13962492646094474 +7.36999999999994e-09 0.139367915675512 +7.379999999999939e-09 0.13911117209318904 +7.389999999999939e-09 0.1388546966564314 +7.399999999999939e-09 0.1385984902982137 +7.409999999999939e-09 0.1383425539420854 +7.419999999999938e-09 0.13808688850222642 +7.429999999999938e-09 0.1378314948835022 +7.439999999999938e-09 0.1375763739815187 +7.449999999999938e-09 0.13732152668267703 +7.459999999999937e-09 0.13706695386422785 +7.469999999999937e-09 0.13681265639432516 +7.479999999999937e-09 0.1365586351320806 +7.489999999999937e-09 0.13630489092761652 +7.499999999999936e-09 0.13605142462211955 +7.509999999999936e-09 0.13579823704789323 +7.519999999999936e-09 0.1355453290284112 +7.529999999999936e-09 0.1352927013783691 +7.539999999999935e-09 0.13504035490373723 +7.549999999999935e-09 0.134788290401812 +7.559999999999935e-09 0.13453650866126796 +7.569999999999935e-09 0.1342850104622089 +7.579999999999935e-09 0.13403379657621908 +7.589999999999934e-09 0.13378286776641402 +7.599999999999934e-09 0.13353222478749108 +7.609999999999934e-09 0.13328186838577977 +7.619999999999934e-09 0.13303179929929193 +7.629999999999933e-09 0.13278201825777144 +7.639999999999933e-09 0.13253252598274362 +7.649999999999933e-09 0.1322833231875649 +7.659999999999933e-09 0.13203441057747137 +7.669999999999932e-09 0.13178578884962805 +7.679999999999932e-09 0.13153745869317712 +7.689999999999932e-09 0.1312894207892863 +7.699999999999932e-09 0.1310416758111968 +7.709999999999931e-09 0.13079422442427135 +7.719999999999931e-09 0.1305470672860414 +7.729999999999931e-09 0.13030020504625475 +7.73999999999993e-09 0.13005363834692232 +7.74999999999993e-09 0.12980736782236518 +7.75999999999993e-09 0.12956139409926096 +7.76999999999993e-09 0.12931571779669035 +7.77999999999993e-09 0.1290703395261829 +7.78999999999993e-09 0.12882525989176324 +7.79999999999993e-09 0.1285804794899964 +7.809999999999929e-09 0.1283359989100334 +7.819999999999929e-09 0.12809181873365608 +7.829999999999929e-09 0.1278479395353225 +7.839999999999928e-09 0.12760436188221108 +7.849999999999928e-09 0.12736108633426546 +7.859999999999928e-09 0.1271181134442385 +7.869999999999928e-09 0.1268754437577363 +7.879999999999927e-09 0.12663307781326202 +7.889999999999927e-09 0.12639101614225928 +7.899999999999927e-09 0.12614925926915574 +7.909999999999927e-09 0.12590780771140575 +7.919999999999926e-09 0.12566666197953372 +7.929999999999926e-09 0.12542582257717622 +7.939999999999926e-09 0.1251852900011249 +7.949999999999926e-09 0.12494506474136827 +7.959999999999925e-09 0.12470514728113391 +7.969999999999925e-09 0.12446553809693015 +7.979999999999925e-09 0.12422623765858769 +7.989999999999925e-09 0.12398724642930074 +7.999999999999924e-09 0.12374856486566839 +8.009999999999924e-09 0.12351019341773516 +8.019999999999924e-09 0.12327213252903205 +8.029999999999924e-09 0.1230343826366167 +8.039999999999923e-09 0.12279694417111389 +8.049999999999923e-09 0.12255981755675538 +8.059999999999923e-09 0.12232300321141996 +8.069999999999923e-09 0.12208650154667282 +8.079999999999922e-09 0.12185031296780527 +8.089999999999922e-09 0.12161443787387374 +8.099999999999922e-09 0.12137887665773882 +8.109999999999922e-09 0.12114362970610426 +8.119999999999922e-09 0.12090869739955523 +8.129999999999921e-09 0.12067408011259712 +8.139999999999921e-09 0.1204397782136934 +8.14999999999992e-09 0.12020579206530389 +8.15999999999992e-09 0.11997212202392235 +8.16999999999992e-09 0.11973876844011433 +8.17999999999992e-09 0.11950573165855427 +8.18999999999992e-09 0.11927301201806306 +8.19999999999992e-09 0.11904060985164473 +8.20999999999992e-09 0.11880852548652356 +8.219999999999919e-09 0.11857675924418049 +8.229999999999919e-09 0.11834531144038976 +8.239999999999919e-09 0.1181141823852549 +8.249999999999918e-09 0.11788337238324516 +8.259999999999918e-09 0.11765288173323096 +8.269999999999918e-09 0.11742271072851991 +8.279999999999918e-09 0.11719285965689216 +8.289999999999917e-09 0.11696332880063565 +8.299999999999917e-09 0.11673411843658134 +8.309999999999917e-09 0.11650522883613815 +8.319999999999917e-09 0.11627666026532767 +8.329999999999916e-09 0.11604841298481859 +8.339999999999916e-09 0.11582048724996147 +8.349999999999916e-09 0.11559288331082246 +8.359999999999916e-09 0.11536560141221784 +8.369999999999915e-09 0.11513864179374732 +8.379999999999915e-09 0.11491200468982822 +8.389999999999915e-09 0.1146856903297286 +8.399999999999915e-09 0.11445969893760079 +8.409999999999915e-09 0.11423403073251437 +8.419999999999914e-09 0.11400868592848926 +8.429999999999914e-09 0.1137836647345285 +8.439999999999914e-09 0.11355896735465067 +8.449999999999914e-09 0.11333459398792266 +8.459999999999913e-09 0.11311054482849166 +8.469999999999913e-09 0.11288682006561751 +8.479999999999913e-09 0.11266341988370425 +8.489999999999913e-09 0.11244034446233236 +8.499999999999912e-09 0.11221759397628997 +8.509999999999912e-09 0.11199516859560461 +8.519999999999912e-09 0.11177306848557403 +8.529999999999912e-09 0.11155129380679772 +8.539999999999911e-09 0.11132984471520771 +8.549999999999911e-09 0.11110872136209926 +8.559999999999911e-09 0.11088792389416151 +8.56999999999991e-09 0.11066745245350777 +8.57999999999991e-09 0.11044730717770615 +8.58999999999991e-09 0.11022748819980935 +8.59999999999991e-09 0.11000799564838479 +8.60999999999991e-09 0.10978882964754419 +8.61999999999991e-09 0.10956999031697355 +8.62999999999991e-09 0.10935147777196234 +8.639999999999909e-09 0.109133292123433 +8.649999999999909e-09 0.10891543347796989 +8.659999999999908e-09 0.10869790193784856 +8.669999999999908e-09 0.10848069760106449 +8.679999999999908e-09 0.10826382056136175 +8.689999999999908e-09 0.10804727090826148 +8.699999999999908e-09 0.10783104872709058 +8.709999999999907e-09 0.10761515409900965 +8.719999999999907e-09 0.10739958710104133 +8.729999999999907e-09 0.10718434780609785 +8.739999999999907e-09 0.10696943628300938 +8.749999999999906e-09 0.10675485259655115 +8.759999999999906e-09 0.1065405968074714 +8.769999999999906e-09 0.10632666897251834 +8.779999999999906e-09 0.1061130691444675 +8.789999999999905e-09 0.10589979737214894 +8.799999999999905e-09 0.10568685370047391 +8.809999999999905e-09 0.10547423817046189 +8.819999999999905e-09 0.10526195081926681 +8.829999999999904e-09 0.10504999168020399 +8.839999999999904e-09 0.1048383607827762 +8.849999999999904e-09 0.10462705815269997 +8.859999999999904e-09 0.10441608381193146 +8.869999999999903e-09 0.10420543777869265 +8.879999999999903e-09 0.10399512006749695 +8.889999999999903e-09 0.1037851306891749 +8.899999999999903e-09 0.10357546965089949 +8.909999999999902e-09 0.10336613695621184 +8.919999999999902e-09 0.10315713260504618 +8.929999999999902e-09 0.10294845659375504 +8.939999999999902e-09 0.10274010891513413 +8.949999999999901e-09 0.10253208955844721 +8.959999999999901e-09 0.10232439850945083 +8.969999999999901e-09 0.10211703575041878 +8.9799999999999e-09 0.1019100012601665 +8.9899999999999e-09 0.10170329501407548 +8.9999999999999e-09 0.10149691698411731 +9.0099999999999e-09 0.10129086713887778 +9.0199999999999e-09 0.10108514544358074 +9.0299999999999e-09 0.10087975186011175 +9.0399999999999e-09 0.10067468634704194 +9.049999999999899e-09 0.1004699488596514 +9.059999999999899e-09 0.10026553934995253 +9.069999999999899e-09 0.10006145776671325 +9.079999999999898e-09 0.09985770405548032 +9.089999999999898e-09 0.09965427815860214 +9.099999999999898e-09 0.09945118001525184 +9.109999999999898e-09 0.09924840956144962 +9.119999999999897e-09 0.09904596673008592 +9.129999999999897e-09 0.09884385145094357 +9.139999999999897e-09 0.09864206365072024 +9.149999999999897e-09 0.09844060325305067 +9.159999999999896e-09 0.09823947017852894 +9.169999999999896e-09 0.09803866434473034 +9.179999999999896e-09 0.09783818566623345 +9.189999999999896e-09 0.09763803405464155 +9.199999999999895e-09 0.09743820941860477 +9.209999999999895e-09 0.09723871166384124 +9.219999999999895e-09 0.0970395406931587 +9.229999999999895e-09 0.09684069640647583 +9.239999999999894e-09 0.09664217870084316 +9.249999999999894e-09 0.09644398747046454 +9.259999999999894e-09 0.09624612260671783 +9.269999999999894e-09 0.09604858399817588 +9.279999999999894e-09 0.09585137153062703 +9.289999999999893e-09 0.09565448508709605 +9.299999999999893e-09 0.09545792454786442 +9.309999999999893e-09 0.09526168979049081 +9.319999999999893e-09 0.09506578068983118 +9.329999999999892e-09 0.09487019711805923 +9.339999999999892e-09 0.09467493894468625 +9.349999999999892e-09 0.09448000603658113 +9.359999999999892e-09 0.09428539825799012 +9.369999999999891e-09 0.09409111547055665 +9.379999999999891e-09 0.09389715753334096 +9.389999999999891e-09 0.09370352430283953 +9.39999999999989e-09 0.09351021563300432 +9.40999999999989e-09 0.09331723137526252 +9.41999999999989e-09 0.09312457137853528 +9.42999999999989e-09 0.09293223548925704 +9.43999999999989e-09 0.09274022355139432 +9.44999999999989e-09 0.09254853540646481 +9.459999999999889e-09 0.09235717089355594 +9.469999999999889e-09 0.09216612984934369 +9.479999999999889e-09 0.09197541210811105 +9.489999999999888e-09 0.09178501750176639 +9.499999999999888e-09 0.09159494585986203 +9.509999999999888e-09 0.09140519700961233 +9.519999999999888e-09 0.09121577077591195 +9.529999999999887e-09 0.09102666698135366 +9.539999999999887e-09 0.0908378854462466 +9.549999999999887e-09 0.09064942598863394 +9.559999999999887e-09 0.09046128842431068 +9.569999999999887e-09 0.09027347256684118 +9.579999999999886e-09 0.09008597822757691 +9.589999999999886e-09 0.08989880521567375 +9.599999999999886e-09 0.08971195333810952 +9.609999999999886e-09 0.08952542239970088 +9.619999999999885e-09 0.08933921220312091 +9.629999999999885e-09 0.08915332254891588 +9.639999999999885e-09 0.08896775323552245 +9.649999999999885e-09 0.08878250405928423 +9.659999999999884e-09 0.08859757481446888 +9.669999999999884e-09 0.08841296529328466 +9.679999999999884e-09 0.08822867528589695 +9.689999999999884e-09 0.08804470458044497 +9.699999999999883e-09 0.08786105296305781 +9.709999999999883e-09 0.08767772021787112 +9.719999999999883e-09 0.08749470612704317 +9.729999999999883e-09 0.08731201047077103 +9.739999999999882e-09 0.08712963302730645 +9.749999999999882e-09 0.086947573572972 +9.759999999999882e-09 0.08676583188217692 +9.769999999999882e-09 0.0865844077274328 +9.779999999999881e-09 0.08640330087936918 +9.789999999999881e-09 0.08622251110674939 +9.799999999999881e-09 0.08604203817648587 +9.80999999999988e-09 0.08586188185365573 +9.81999999999988e-09 0.08568204190151578 +9.82999999999988e-09 0.08550251808151817 +9.83999999999988e-09 0.08532331015332525 +9.84999999999988e-09 0.08514441787482487 +9.85999999999988e-09 0.08496584100214505 +9.86999999999988e-09 0.08478757928966925 +9.879999999999879e-09 0.08460963249005089 +9.889999999999879e-09 0.08443200035422832 +9.899999999999879e-09 0.08425468263143919 +9.909999999999878e-09 0.0840776790692353 +9.919999999999878e-09 0.08390098941349687 +9.929999999999878e-09 0.0837246134084471 +9.939999999999878e-09 0.08354855079666637 +9.949999999999877e-09 0.08337280131910646 +9.959999999999877e-09 0.08319736471510483 +9.969999999999877e-09 0.08302224072239858 +9.979999999999877e-09 0.08284742907713855 +9.989999999999876e-09 0.08267292951390304 +9.999999999999876e-09 0.08249874176571184 +1.0009999999999876e-08 0.08232486556403995 +1.0019999999999876e-08 0.0821513006388312 +1.0029999999999875e-08 0.08197804671851178 +1.0039999999999875e-08 0.08180510353000392 +1.0049999999999875e-08 0.08163247079873924 +1.0059999999999875e-08 0.08146014824867218 +1.0069999999999874e-08 0.08128813560229303 +1.0079999999999874e-08 0.0811164325806416 +1.0089999999999874e-08 0.08094503890331996 +1.0099999999999874e-08 0.08077395428850567 +1.0109999999999873e-08 0.08060317845296469 +1.0119999999999873e-08 0.08043271111206436 +1.0129999999999873e-08 0.08026255197978621 +1.0139999999999873e-08 0.0800927007687387 +1.0149999999999873e-08 0.07992315719016996 +1.0159999999999872e-08 0.07975392095398025 +1.0169999999999872e-08 0.0795849917687347 +1.0179999999999872e-08 0.07941636934167567 +1.0189999999999872e-08 0.07924805337873521 +1.0199999999999871e-08 0.07908004358454716 +1.0209999999999871e-08 0.0789123396624598 +1.021999999999987e-08 0.07874494131454765 +1.022999999999987e-08 0.07857784824162385 +1.023999999999987e-08 0.07841106014325193 +1.024999999999987e-08 0.07824457671775806 +1.025999999999987e-08 0.07807839766224277 +1.026999999999987e-08 0.07791252267259288 +1.027999999999987e-08 0.07774695144349311 +1.0289999999999869e-08 0.07758168366843796 +1.0299999999999869e-08 0.07741671903974322 +1.0309999999999869e-08 0.07725205724855756 +1.0319999999999868e-08 0.07708769798487396 +1.0329999999999868e-08 0.0769236409375412 +1.0339999999999868e-08 0.07675988579427526 +1.0349999999999868e-08 0.07659643224167048 +1.0359999999999867e-08 0.0764332799652108 +1.0369999999999867e-08 0.07627042864928102 +1.0379999999999867e-08 0.0761078779771778 +1.0389999999999867e-08 0.07594562763112073 +1.0399999999999866e-08 0.07578367729226325 +1.0409999999999866e-08 0.07562202664070351 +1.0419999999999866e-08 0.0754606753554953 +1.0429999999999866e-08 0.0752996231146588 +1.0439999999999866e-08 0.07513886959519124 +1.0449999999999865e-08 0.0749784144730774 +1.0459999999999865e-08 0.07481825742330056 +1.0469999999999865e-08 0.07465839811985264 +1.0479999999999865e-08 0.07449883623574487 +1.0489999999999864e-08 0.07433957144301802 +1.0499999999999864e-08 0.07418060341275291 +1.0509999999999864e-08 0.07402193181508054 +1.0519999999999864e-08 0.07386355631919239 +1.0529999999999863e-08 0.0737054765933504 +1.0539999999999863e-08 0.07354769230489724 +1.0549999999999863e-08 0.07339020312026628 +1.0559999999999863e-08 0.07323300870499153 +1.0569999999999862e-08 0.07307610872371746 +1.0579999999999862e-08 0.07291950284020901 +1.0589999999999862e-08 0.07276319071736131 +1.0599999999999862e-08 0.0726071720172094 +1.0609999999999861e-08 0.07245144640093786 +1.0619999999999861e-08 0.07229601352889042 +1.0629999999999861e-08 0.07214087306057969 +1.063999999999986e-08 0.07198602465469639 +1.064999999999986e-08 0.071831467969119 +1.065999999999986e-08 0.07167720266092302 +1.066999999999986e-08 0.07152322838639034 +1.067999999999986e-08 0.07136954480101852 +1.068999999999986e-08 0.07121615155953007 +1.069999999999986e-08 0.07106304831588135 +1.0709999999999859e-08 0.07091023472327201 +1.0719999999999859e-08 0.07075771043415384 +1.0729999999999859e-08 0.07060547510023982 +1.0739999999999858e-08 0.07045352837251297 +1.0749999999999858e-08 0.0703018699012354 +1.0759999999999858e-08 0.07015049933595702 +1.0769999999999858e-08 0.06999941632552437 +1.0779999999999857e-08 0.06984862051808922 +1.0789999999999857e-08 0.06969811156111748 +1.0799999999999857e-08 0.06954788910139757 +1.0809999999999857e-08 0.06939795278504922 +1.0819999999999856e-08 0.06924830225753166 +1.0829999999999856e-08 0.06909893716365248 +1.0839999999999856e-08 0.06894985714757573 +1.0849999999999856e-08 0.06880106185283039 +1.0859999999999855e-08 0.06865255092231876 +1.0869999999999855e-08 0.06850432399832444 +1.0879999999999855e-08 0.06835638072252093 +1.0889999999999855e-08 0.06820872073597942 +1.0899999999999854e-08 0.06806134367917718 +1.0909999999999854e-08 0.06791424919200537 +1.0919999999999854e-08 0.06776743691377718 +1.0929999999999854e-08 0.06762090648323586 +1.0939999999999853e-08 0.06747465753856245 +1.0949999999999853e-08 0.06732868971738368 +1.0959999999999853e-08 0.0671830026567799 +1.0969999999999853e-08 0.06703759599329275 +1.0979999999999852e-08 0.06689246936293285 +1.0989999999999852e-08 0.06674762240118744 +1.0999999999999852e-08 0.06660305474302818 +1.1009999999999852e-08 0.06645876602291849 +1.1019999999999852e-08 0.06631475587482125 +1.1029999999999851e-08 0.0661710239322061 +1.1039999999999851e-08 0.06602756982805703 +1.104999999999985e-08 0.06588439319487971 +1.105999999999985e-08 0.06574149366470881 +1.106999999999985e-08 0.06559887086911531 +1.107999999999985e-08 0.06545652443921363 +1.108999999999985e-08 0.06531445400566906 +1.109999999999985e-08 0.06517265919870473 +1.110999999999985e-08 0.06503113964810883 +1.1119999999999849e-08 0.06488989498324149 +1.1129999999999849e-08 0.06474892483304207 +1.1139999999999849e-08 0.0646082288260359 +1.1149999999999848e-08 0.0644678065903414 +1.1159999999999848e-08 0.06432765775367678 +1.1169999999999848e-08 0.06418778194336702 +1.1179999999999848e-08 0.06404817878635066 +1.1189999999999847e-08 0.06390884790918652 +1.1199999999999847e-08 0.06376978893806039 +1.1209999999999847e-08 0.06363100149879174 +1.1219999999999847e-08 0.0634924852168404 +1.1229999999999846e-08 0.06335423971731308 +1.1239999999999846e-08 0.06321626462496988 +1.1249999999999846e-08 0.06307855956423088 +1.1259999999999846e-08 0.06294112415918263 +1.1269999999999845e-08 0.06280395803358443 +1.1279999999999845e-08 0.06266706081087481 +1.1289999999999845e-08 0.06253043211417786 +1.1299999999999845e-08 0.062394071566309536 +1.1309999999999845e-08 0.06225797878978388 +1.1319999999999844e-08 0.0621221534068193 +1.1329999999999844e-08 0.06198659503934463 +1.1339999999999844e-08 0.06185130330900542 +1.1349999999999844e-08 0.061716277837169944 +1.1359999999999843e-08 0.06158151824493529 +1.1369999999999843e-08 0.06144702415313331 +1.1379999999999843e-08 0.0613127951823367 +1.1389999999999843e-08 0.061178830952864936 +1.1399999999999842e-08 0.0610451310847901 +1.1409999999999842e-08 0.06091169519794277 +1.1419999999999842e-08 0.060778522911917904 +1.1429999999999842e-08 0.06064561384608059 +1.1439999999999841e-08 0.06051296761957181 +1.1449999999999841e-08 0.060380583851314056 +1.1459999999999841e-08 0.0602484621600172 +1.146999999999984e-08 0.06011660216418399 +1.147999999999984e-08 0.059985003482115704 +1.148999999999984e-08 0.05985366573191763 +1.149999999999984e-08 0.059722588531504736 +1.150999999999984e-08 0.05959177149860711 +1.151999999999984e-08 0.05946121425077533 +1.152999999999984e-08 0.05933091640538603 +1.1539999999999839e-08 0.059200877579647114 +1.1549999999999839e-08 0.05907109739060329 +1.1559999999999838e-08 0.058941575455141254 +1.1569999999999838e-08 0.05881231138999504 +1.1579999999999838e-08 0.05868330481175117 +1.1589999999999838e-08 0.05855455533685397 +1.1599999999999838e-08 0.058426062581610705 +1.1609999999999837e-08 0.05829782616219671 +1.1619999999999837e-08 0.05816984569466044 +1.1629999999999837e-08 0.05804212079492867 +1.1639999999999837e-08 0.05791465107881144 +1.1649999999999836e-08 0.057787436162007086 +1.1659999999999836e-08 0.057660475660107145 +1.1669999999999836e-08 0.057533769188601425 +1.1679999999999836e-08 0.05740731636288278 +1.1689999999999835e-08 0.0572811167982521 +1.1699999999999835e-08 0.05715517010992296 +1.1709999999999835e-08 0.05702947591302665 +1.1719999999999835e-08 0.05690403382261681 +1.1729999999999834e-08 0.05677884345367421 +1.1739999999999834e-08 0.056653904421111394 +1.1749999999999834e-08 0.056529216339777484 +1.1759999999999834e-08 0.0564047788244627 +1.1769999999999833e-08 0.05628059148990306 +1.1779999999999833e-08 0.05615665395078491 +1.1789999999999833e-08 0.056032965821749436 +1.1799999999999833e-08 0.055909526717397275 +1.1809999999999832e-08 0.05578633625229298 +1.1819999999999832e-08 0.05566339404096944 +1.1829999999999832e-08 0.05554069969793225 +1.1839999999999832e-08 0.05541825283766428 +1.1849999999999831e-08 0.05529605307462987 +1.1859999999999831e-08 0.055174100023279285 +1.1869999999999831e-08 0.05505239329805286 +1.187999999999983e-08 0.054930932513385496 +1.188999999999983e-08 0.05480971728371073 +1.189999999999983e-08 0.05468874722346504 +1.190999999999983e-08 0.05456802194709194 +1.191999999999983e-08 0.054447541069046264 +1.192999999999983e-08 0.05432730420379818 +1.193999999999983e-08 0.054207310965837405 +1.1949999999999829e-08 0.054087560969677095 +1.1959999999999829e-08 0.05396805382985809 +1.1969999999999829e-08 0.053848789160952815 +1.1979999999999828e-08 0.05372976657756926 +1.1989999999999828e-08 0.05361098569435503 +1.1999999999999828e-08 0.0534924461260011 +1.2009999999999828e-08 0.05337414748724589 +1.2019999999999827e-08 0.0532560893928791 +1.2029999999999827e-08 0.05313827145774549 +1.2039999999999827e-08 0.05302069329674869 +1.2049999999999827e-08 0.05290335452485513 +1.2059999999999826e-08 0.05278625475709765 +1.2069999999999826e-08 0.05266939360857937 +1.2079999999999826e-08 0.052552770694477204 +1.2089999999999826e-08 0.052436385630045795 +1.2099999999999825e-08 0.052320238030621 +1.2109999999999825e-08 0.05220432751162359 +1.2119999999999825e-08 0.05208865368856278 +1.2129999999999825e-08 0.05197321617703993 +1.2139999999999824e-08 0.051858014592751994 +1.2149999999999824e-08 0.051743048551495134 +1.2159999999999824e-08 0.05162831766916808 +1.2169999999999824e-08 0.05151382156177579 +1.2179999999999824e-08 0.05139955984543277 +1.2189999999999823e-08 0.05128553213636657 +1.2199999999999823e-08 0.05117173805092111 +1.2209999999999823e-08 0.05105817720556013 +1.2219999999999823e-08 0.05094484921687051 +1.2229999999999822e-08 0.05083175370156561 +1.2239999999999822e-08 0.050718890276488564 +1.2249999999999822e-08 0.050606258558615495 +1.2259999999999822e-08 0.0504938581650589 +1.2269999999999821e-08 0.050381688713070784 +1.2279999999999821e-08 0.0502697498200459 +1.2289999999999821e-08 0.050158041103524856 +1.229999999999982e-08 0.05004656218119741 +1.230999999999982e-08 0.04993531267090551 +1.231999999999982e-08 0.04982429219064642 +1.232999999999982e-08 0.04971350035857578 +1.233999999999982e-08 0.049602936793010734 +1.234999999999982e-08 0.04949260111243295 +1.235999999999982e-08 0.04938249293549162 +1.2369999999999819e-08 0.0492726118810064 +1.2379999999999819e-08 0.04916295756797053 +1.2389999999999818e-08 0.049053529615553655 +1.2399999999999818e-08 0.04894432764310482 +1.2409999999999818e-08 0.0488353512701553 +1.2419999999999818e-08 0.048726600116421576 +1.2429999999999817e-08 0.048618073801808145 +1.2439999999999817e-08 0.04850977194641037 +1.2449999999999817e-08 0.04840169417051731 +1.2459999999999817e-08 0.04829384009461444 +1.2469999999999817e-08 0.04818620933938653 +1.2479999999999816e-08 0.04807880152572036 +1.2489999999999816e-08 0.04797161627470745 +1.2499999999999816e-08 0.0478646532076467 +1.2509999999999816e-08 0.0477579119460472 +1.2519999999999815e-08 0.04765139211163082 +1.2529999999999815e-08 0.047545093326334914 +1.2539999999999815e-08 0.04743901521231482 +1.2549999999999815e-08 0.04733315739194663 +1.2559999999999814e-08 0.04722751948782967 +1.2569999999999814e-08 0.04712210112278912 +1.2579999999999814e-08 0.047016901919878465 +1.2589999999999814e-08 0.04691192150238216 +1.2599999999999813e-08 0.04680715949381801 +1.2609999999999813e-08 0.04670261551793975 +1.2619999999999813e-08 0.04659828919873938 +1.2629999999999813e-08 0.04649418016044978 +1.2639999999999812e-08 0.04639028802754699 +1.2649999999999812e-08 0.04628661242475272 +1.2659999999999812e-08 0.0461831529770366 +1.2669999999999812e-08 0.04607990930961872 +1.2679999999999811e-08 0.04597688104797186 +1.2689999999999811e-08 0.04587406781782384 +1.2699999999999811e-08 0.04577146924515988 +1.270999999999981e-08 0.04566908495622475 +1.271999999999981e-08 0.045566914577525236 +1.272999999999981e-08 0.04546495773583226 +1.273999999999981e-08 0.045363214058183186 +1.274999999999981e-08 0.045261683171883914 +1.275999999999981e-08 0.04516036470451125 +1.276999999999981e-08 0.045059258283914966 +1.2779999999999809e-08 0.044958363538220025 +1.2789999999999809e-08 0.04485768009582863 +1.2799999999999809e-08 0.044757207585422454 +1.2809999999999808e-08 0.04465694563596472 +1.2819999999999808e-08 0.04455689387670229 +1.2829999999999808e-08 0.04445705193716764 +1.2839999999999808e-08 0.04435741944718109 +1.2849999999999807e-08 0.044257996036852716 +1.2859999999999807e-08 0.04415878133658442 +1.2869999999999807e-08 0.044059774977071864 +1.2879999999999807e-08 0.04396097658930657 +1.2889999999999806e-08 0.04386238580457779 +1.2899999999999806e-08 0.043764002254474514 +1.2909999999999806e-08 0.0436658255708874 +1.2919999999999806e-08 0.0435678553860106 +1.2929999999999805e-08 0.04347009133234382 +1.2939999999999805e-08 0.043372533042694096 +1.2949999999999805e-08 0.04327518015017769 +1.2959999999999805e-08 0.0431780322882219 +1.2969999999999804e-08 0.04308108909056699 +1.2979999999999804e-08 0.04298435019126793 +1.2989999999999804e-08 0.04288781522469625 +1.2999999999999804e-08 0.04279148382554173 +1.3009999999999803e-08 0.04269535562881433 +1.3019999999999803e-08 0.042599430269845806 +1.3029999999999803e-08 0.04250370738429153 +1.3039999999999803e-08 0.042408186608132135 +1.3049999999999803e-08 0.04231286757767534 +1.3059999999999802e-08 0.042217749929557534 +1.3069999999999802e-08 0.04212283330074555 +1.3079999999999802e-08 0.042028117328538186 +1.3089999999999802e-08 0.04193360165056801 +1.3099999999999801e-08 0.04183928590480291 +1.3109999999999801e-08 0.04174516972954774 +1.3119999999999801e-08 0.041651252763445855 +1.31299999999998e-08 0.0415575346454808 +1.31399999999998e-08 0.041464015014977824 +1.31499999999998e-08 0.04137069351160543 +1.31599999999998e-08 0.041277569775376985 +1.31699999999998e-08 0.04118464344665211 +1.31799999999998e-08 0.041091914166138374 +1.3189999999999799e-08 0.04099938157489265 +1.3199999999999799e-08 0.040907045314322696 +1.3209999999999799e-08 0.04081490502618854 +1.3219999999999798e-08 0.040722960352604025 +1.3229999999999798e-08 0.04063121093603819 +1.3239999999999798e-08 0.040539656419316755 +1.3249999999999798e-08 0.04044829644562344 +1.3259999999999797e-08 0.04035713065850149 +1.3269999999999797e-08 0.040266158701854966 +1.3279999999999797e-08 0.04017538021995022 +1.3289999999999797e-08 0.04008479485741711 +1.3299999999999796e-08 0.039994402259250474 +1.3309999999999796e-08 0.039904202070811454 +1.3319999999999796e-08 0.039814193937828764 +1.3329999999999796e-08 0.039724377506399976 +1.3339999999999796e-08 0.03963475242299292 +1.3349999999999795e-08 0.03954531833444689 +1.3359999999999795e-08 0.039456074887973924 +1.3369999999999795e-08 0.03936702173116009 +1.3379999999999795e-08 0.03927815851196665 +1.3389999999999794e-08 0.03918948487873138 +1.3399999999999794e-08 0.03910100048016977 +1.3409999999999794e-08 0.039012704965376205 +1.3419999999999794e-08 0.03892459798382512 +1.3429999999999793e-08 0.03883667918537228 +1.3439999999999793e-08 0.038748948220255874 +1.3449999999999793e-08 0.03866140473909771 +1.3459999999999793e-08 0.038574048392904285 +1.3469999999999792e-08 0.03848687883306803 +1.3479999999999792e-08 0.03839989571136834 +1.3489999999999792e-08 0.03831309867997274 +1.3499999999999792e-08 0.038226487391437886 +1.3509999999999791e-08 0.03814006149871078 +1.3519999999999791e-08 0.03805382065512974 +1.3529999999999791e-08 0.03796776451442554 +1.353999999999979e-08 0.03788189273072232 +1.354999999999979e-08 0.03779620495853883 +1.355999999999979e-08 0.03771070085278925 +1.356999999999979e-08 0.037625380068784374 +1.357999999999979e-08 0.03754024226223244 +1.358999999999979e-08 0.03745528708924029 +1.359999999999979e-08 0.03737051420631426 +1.3609999999999789e-08 0.037285923270361135 +1.3619999999999789e-08 0.037201513938689174 +1.3629999999999789e-08 0.03711728586900896 +1.3639999999999788e-08 0.03703323871943445 +1.3649999999999788e-08 0.03694937214848381 +1.3659999999999788e-08 0.0368656858150804 +1.3669999999999788e-08 0.03678217937855355 +1.3679999999999787e-08 0.036698852498639634 +1.3689999999999787e-08 0.0366157048354828 +1.3699999999999787e-08 0.03653273604963595 +1.3709999999999787e-08 0.036449945802061484 +1.3719999999999786e-08 0.03636733375413225 +1.3729999999999786e-08 0.03628489956763236 +1.3739999999999786e-08 0.03620264290475801 +1.3749999999999786e-08 0.03612056342811824 +1.3759999999999785e-08 0.03603866080073586 +1.3769999999999785e-08 0.03595693468604817 +1.3779999999999785e-08 0.0358753847479078 +1.3789999999999785e-08 0.035794010650583366 +1.3799999999999784e-08 0.035712812058760424 +1.3809999999999784e-08 0.035631788637542086 +1.3819999999999784e-08 0.03555094005244981 +1.3829999999999784e-08 0.03547026596942421 +1.3839999999999783e-08 0.035389766054825626 +1.3849999999999783e-08 0.03530943997543499 +1.3859999999999783e-08 0.0352292873984545 +1.3869999999999783e-08 0.03514930799150828 +1.3879999999999782e-08 0.035069501422643104 +1.3889999999999782e-08 0.03498986736032905 +1.3899999999999782e-08 0.03491040547346025 +1.3909999999999782e-08 0.03483111543135545 +1.3919999999999782e-08 0.0347519969037587 +1.3929999999999781e-08 0.03467304956084004 +1.3939999999999781e-08 0.03459427307319609 +1.394999999999978e-08 0.034515667111850716 +1.395999999999978e-08 0.03443723134825558 +1.396999999999978e-08 0.03435896545429081 +1.397999999999978e-08 0.03428086910226559 +1.398999999999978e-08 0.03420294196491876 +1.399999999999978e-08 0.0341251837154193 +1.400999999999978e-08 0.034047594027367074 +1.4019999999999779e-08 0.033970172574793255 +1.4029999999999779e-08 0.03389291903216093 +1.4039999999999779e-08 0.03381583307436569 +1.4049999999999778e-08 0.03373891437673604 +1.4059999999999778e-08 0.03366216261503408 +1.4069999999999778e-08 0.03358557746545597 +1.4079999999999778e-08 0.0335091586046324 +1.4089999999999777e-08 0.03343290570962912 +1.4099999999999777e-08 0.03335681845794747 +1.4109999999999777e-08 0.03328089652752486 +1.4119999999999777e-08 0.033205139596735225 +1.4129999999999776e-08 0.03312954734438947 +1.4139999999999776e-08 0.033054119449736026 +1.4149999999999776e-08 0.032978855592461234 +1.4159999999999776e-08 0.032903755452689816 +1.4169999999999775e-08 0.032828818710985294 +1.4179999999999775e-08 0.03275404504835046 +1.4189999999999775e-08 0.03267943414622778 +1.4199999999999775e-08 0.03260498568649983 +1.4209999999999775e-08 0.032530699351489646 +1.4219999999999774e-08 0.03245657482396119 +1.4229999999999774e-08 0.03238261178711975 +1.4239999999999774e-08 0.032308809924612276 +1.4249999999999774e-08 0.03223516892052775 +1.4259999999999773e-08 0.03216168845939765 +1.4269999999999773e-08 0.03208836822619623 +1.4279999999999773e-08 0.032015207906340874 +1.4289999999999773e-08 0.03194220718569254 +1.4299999999999772e-08 0.03186936575055595 +1.4309999999999772e-08 0.031796683287680066 +1.4319999999999772e-08 0.031724159484258364 +1.4329999999999772e-08 0.03165179402792915 +1.4339999999999771e-08 0.031579586606775824 +1.4349999999999771e-08 0.03150753690932732 +1.4359999999999771e-08 0.031435644624558265 +1.436999999999977e-08 0.03136390944188939 +1.437999999999977e-08 0.03129233105118767 +1.438999999999977e-08 0.031220909142766786 +1.439999999999977e-08 0.03114964340738724 +1.440999999999977e-08 0.031078533536256718 +1.441999999999977e-08 0.031007579221030264 +1.442999999999977e-08 0.030936780153810645 +1.4439999999999769e-08 0.03086613602714848 +1.4449999999999769e-08 0.030795646534042584 +1.4459999999999769e-08 0.030725311367940076 +1.4469999999999768e-08 0.030655130222736724 +1.4479999999999768e-08 0.030585102792777118 +1.4489999999999768e-08 0.030515228772854862 +1.4499999999999768e-08 0.030445507858212834 +1.4509999999999767e-08 0.03037593974454328 +1.4519999999999767e-08 0.030306524127988142 +1.4529999999999767e-08 0.030237260705139175 +1.4539999999999767e-08 0.03016814917303813 +1.4549999999999766e-08 0.03009918922917691 +1.4559999999999766e-08 0.030030380571497792 +1.4569999999999766e-08 0.029961722898393557 +1.4579999999999766e-08 0.02989321590870767 +1.4589999999999765e-08 0.029824859301734362 +1.4599999999999765e-08 0.029756652777218874 +1.4609999999999765e-08 0.029688596035357524 +1.4619999999999765e-08 0.029620688776797896 +1.4629999999999764e-08 0.029552930702638876 +1.4639999999999764e-08 0.02948532151443089 +1.4649999999999764e-08 0.02941786091417593 +1.4659999999999764e-08 0.02935054860432772 +1.4669999999999763e-08 0.029283384287791765 +1.4679999999999763e-08 0.029216367667925507 +1.4689999999999763e-08 0.02914949844853838 +1.4699999999999763e-08 0.02908277633389193 +1.4709999999999762e-08 0.029016201028699836 +1.4719999999999762e-08 0.02894977223812806 +1.4729999999999762e-08 0.02888348966779488 +1.4739999999999762e-08 0.02881735302377095 +1.4749999999999762e-08 0.028751362012579395 +1.4759999999999761e-08 0.028685516341195788 +1.4769999999999761e-08 0.028619815717048303 +1.477999999999976e-08 0.02855425984801769 +1.478999999999976e-08 0.028488848442437344 +1.479999999999976e-08 0.028423581209093295 +1.480999999999976e-08 0.0283584578572243 +1.481999999999976e-08 0.028293478096521826 +1.482999999999976e-08 0.028228641637130084 +1.483999999999976e-08 0.028163948189646 +1.4849999999999759e-08 0.02809939746511931 +1.4859999999999759e-08 0.028034989175052472 +1.4869999999999759e-08 0.02797072303140074 +1.4879999999999758e-08 0.02790659874657207 +1.4889999999999758e-08 0.0278426160334272 +1.4899999999999758e-08 0.027778774605279583 +1.4909999999999758e-08 0.027715074175895388 +1.491999999999976e-08 0.02765151445949341 +1.492999999999976e-08 0.027588095170745154 +1.4939999999999762e-08 0.02752481602477472 +1.4949999999999763e-08 0.027461676737158748 +1.4959999999999765e-08 0.027398677023926434 +1.4969999999999766e-08 0.02733581660155945 +1.4979999999999768e-08 0.027273095186991864 +1.498999999999977e-08 0.027210512497610136 +1.499999999999977e-08 0.02714806825125303 +1.5009999999999772e-08 0.027085762166211495 +1.5019999999999773e-08 0.02702359396122869 +1.5029999999999775e-08 0.026961563355499856 +1.5039999999999776e-08 0.026899670068672193 +1.5049999999999777e-08 0.026837913820844862 +1.505999999999978e-08 0.026776294332568847 +1.506999999999978e-08 0.026714811324846835 +1.5079999999999782e-08 0.02665346451913319 +1.5089999999999783e-08 0.026592253637333762 +1.5099999999999784e-08 0.026531178401805865 +1.5109999999999786e-08 0.026470238535358133 +1.5119999999999787e-08 0.02640943376125035 +1.512999999999979e-08 0.026348763803193426 +1.513999999999979e-08 0.02628822838534924 +1.514999999999979e-08 0.02622782723233044 +1.5159999999999793e-08 0.026167560069200423 +1.5169999999999794e-08 0.026107426621473154 +1.5179999999999796e-08 0.026047426615112976 +1.5189999999999797e-08 0.025987559776534552 +1.51999999999998e-08 0.025927825832602686 +1.52099999999998e-08 0.02586822451063211 +1.52199999999998e-08 0.02580875553838744 +1.5229999999999803e-08 0.025749418644082943 +1.5239999999999804e-08 0.025690213556382374 +1.5249999999999806e-08 0.025631140004398856 +1.5259999999999807e-08 0.025572197717694645 +1.526999999999981e-08 0.02551338642628103 +1.527999999999981e-08 0.025454705860618113 +1.528999999999981e-08 0.025396155751614594 +1.5299999999999813e-08 0.025337735830627667 +1.5309999999999814e-08 0.02527944582946279 +1.5319999999999816e-08 0.025221285480373452 +1.5329999999999817e-08 0.02516325451606106 +1.533999999999982e-08 0.025105352669674688 +1.534999999999982e-08 0.025047579674810857 +1.535999999999982e-08 0.024989935265513383 +1.5369999999999823e-08 0.02493241917627316 +1.5379999999999824e-08 0.024875031142027864 +1.5389999999999825e-08 0.02481777089816186 +1.5399999999999827e-08 0.024760638180505914 +1.5409999999999828e-08 0.024703632725336936 +1.541999999999983e-08 0.024646754269377857 +1.542999999999983e-08 0.02459000254979728 +1.5439999999999833e-08 0.02453337730420935 +1.5449999999999834e-08 0.024476878270673467 +1.5459999999999835e-08 0.024420505187694022 +1.5469999999999837e-08 0.024364257794220214 +1.5479999999999838e-08 0.024308135829645788 +1.548999999999984e-08 0.02425213903380873 +1.549999999999984e-08 0.024196267146991093 +1.5509999999999842e-08 0.024140519909918716 +1.5519999999999844e-08 0.024084897063760918 +1.5529999999999845e-08 0.02402939835013031 +1.5539999999999847e-08 0.0239740235110825 +1.5549999999999848e-08 0.023918772289115785 +1.555999999999985e-08 0.023863644427170965 +1.556999999999985e-08 0.02380863966863101 +1.5579999999999852e-08 0.02375375775732077 +1.5589999999999854e-08 0.023698998437506773 +1.5599999999999855e-08 0.02364436145389684 +1.5609999999999857e-08 0.023589846551639895 +1.5619999999999858e-08 0.023535453476325637 +1.562999999999986e-08 0.023481181973984216 +1.563999999999986e-08 0.023427031791086003 +1.5649999999999862e-08 0.02337300267454127 +1.5659999999999864e-08 0.023319094371699853 +1.5669999999999865e-08 0.02326530663035091 +1.5679999999999866e-08 0.023211639198722593 +1.5689999999999868e-08 0.023158091825481716 +1.569999999999987e-08 0.023104664259733496 +1.570999999999987e-08 0.023051356251021202 +1.5719999999999872e-08 0.022998167549325838 +1.5729999999999874e-08 0.02294509790506586 +1.5739999999999875e-08 0.022892147069096844 +1.5749999999999876e-08 0.02283931479271112 +1.5759999999999878e-08 0.022786600827637515 +1.576999999999988e-08 0.02273400492604099 +1.577999999999988e-08 0.022681526840522295 +1.5789999999999882e-08 0.022629166324117687 +1.5799999999999883e-08 0.022576923130298524 +1.5809999999999885e-08 0.022524797012971005 +1.5819999999999886e-08 0.02247278772647578 +1.5829999999999888e-08 0.022420895025587608 +1.583999999999989e-08 0.022369118665515046 +1.584999999999989e-08 0.022317458401900084 +1.5859999999999892e-08 0.022265913990817773 +1.5869999999999893e-08 0.022214485188775907 +1.5879999999999895e-08 0.02216317175271468 +1.5889999999999896e-08 0.022111973440006275 +1.5899999999999898e-08 0.022060890008454542 +1.59099999999999e-08 0.02200992121629468 +1.59199999999999e-08 0.021959066822192758 +1.5929999999999902e-08 0.021908326585245486 +1.5939999999999903e-08 0.021857700264979758 +1.5949999999999905e-08 0.021807187621352295 +1.5959999999999906e-08 0.021756788414749324 +1.5969999999999907e-08 0.02170650240598613 +1.597999999999991e-08 0.021656329356306753 +1.598999999999991e-08 0.02160626902738358 +1.5999999999999912e-08 0.021556321181316916 +1.6009999999999913e-08 0.021506485580634706 +1.6019999999999914e-08 0.021456761988292078 +1.6029999999999916e-08 0.021407150167670953 +1.6039999999999917e-08 0.021357649882579714 +1.604999999999992e-08 0.02130826089725277 +1.605999999999992e-08 0.021258982976350163 +1.606999999999992e-08 0.02120981588495721 +1.6079999999999923e-08 0.021160759388584093 +1.6089999999999924e-08 0.021111813253165423 +1.6099999999999926e-08 0.021062977245059906 +1.6109999999999927e-08 0.021014251131049908 +1.611999999999993e-08 0.020965634678341033 +1.612999999999993e-08 0.020917127654561777 +1.613999999999993e-08 0.02086872982776305 +1.6149999999999933e-08 0.02082044096641783 +1.6159999999999934e-08 0.020772260839420728 +1.6169999999999936e-08 0.020724189216087548 +1.6179999999999937e-08 0.020676225866154932 +1.618999999999994e-08 0.020628370559779913 +1.619999999999994e-08 0.020580623067539477 +1.620999999999994e-08 0.020532983160430198 +1.6219999999999943e-08 0.020485450609867773 +1.6229999999999944e-08 0.020438025187686608 +1.6239999999999946e-08 0.02039070666613942 +1.6249999999999947e-08 0.020343494817896792 +1.625999999999995e-08 0.02029638941604674 +1.626999999999995e-08 0.020249390234094295 +1.627999999999995e-08 0.020202497045961092 +1.6289999999999953e-08 0.02015570962598489 +1.6299999999999954e-08 0.020109027748919196 +1.6309999999999955e-08 0.020062451189932787 +1.6319999999999957e-08 0.02001597972460929 +1.6329999999999958e-08 0.019969613128946767 +1.633999999999996e-08 0.019923351179357226 +1.634999999999996e-08 0.019877193652666228 +1.6359999999999963e-08 0.019831140326112443 +1.6369999999999964e-08 0.01978519097734714 +1.6379999999999965e-08 0.019739345384433848 +1.6389999999999967e-08 0.01969360332584783 +1.6399999999999968e-08 0.01964796458047566 +1.640999999999997e-08 0.01960242892761478 +1.641999999999997e-08 0.019556996146973073 +1.6429999999999972e-08 0.019511666018668324 +1.6439999999999974e-08 0.019466438323227878 +1.6449999999999975e-08 0.019421312841588136 +1.6459999999999977e-08 0.019376289355094063 +1.6469999999999978e-08 0.019331367645498802 +1.647999999999998e-08 0.019286547494963165 +1.648999999999998e-08 0.0192418286860552 +1.6499999999999982e-08 0.019197211001749728 +1.6509999999999984e-08 0.019152694225427837 +1.6519999999999985e-08 0.019108278140876508 +1.6529999999999987e-08 0.019063962532288085 +1.6539999999999988e-08 0.01901974718425979 +1.654999999999999e-08 0.01897563188179334 +1.655999999999999e-08 0.018931616410294408 +1.6569999999999992e-08 0.01888770055557217 +1.6579999999999994e-08 0.018843884103838845 +1.6589999999999995e-08 0.018800166841709254 +1.6599999999999996e-08 0.018756548556200257 +1.6609999999999998e-08 0.018713029034730384 +1.662e-08 0.018669608065119307 +1.663e-08 0.018626285435587347 +1.6640000000000002e-08 0.018583060934755053 +1.6650000000000004e-08 0.018539934351642667 +1.6660000000000005e-08 0.018496905475669696 +1.6670000000000006e-08 0.018453974096654405 +1.6680000000000008e-08 0.018411140004813316 +1.669000000000001e-08 0.018368402990760778 +1.670000000000001e-08 0.018325762845508457 +1.6710000000000012e-08 0.018283219360464828 +1.6720000000000013e-08 0.018240772327434738 +1.6730000000000015e-08 0.018198421538618892 +1.6740000000000016e-08 0.018156166786613363 +1.6750000000000018e-08 0.018114007864409115 +1.676000000000002e-08 0.01807194456539154 +1.677000000000002e-08 0.01802997668333989 +1.6780000000000022e-08 0.017988104012426887 +1.6790000000000023e-08 0.017946326347218173 +1.6800000000000025e-08 0.017904643482671803 +1.6810000000000026e-08 0.01786305521413782 +1.6820000000000028e-08 0.017821561337357676 +1.683000000000003e-08 0.017780161648463813 +1.684000000000003e-08 0.017738855943979125 +1.6850000000000032e-08 0.017697644020816476 +1.6860000000000033e-08 0.017656525676278213 +1.6870000000000035e-08 0.017615500708055617 +1.6880000000000036e-08 0.017574568914228476 +1.6890000000000037e-08 0.01753373009326455 +1.690000000000004e-08 0.017492984044019066 +1.691000000000004e-08 0.01745233056573425 +1.6920000000000042e-08 0.017411769458038746 +1.6930000000000043e-08 0.017371300520947222 +1.6940000000000044e-08 0.017330923554859788 +1.6950000000000046e-08 0.01729063836056153 +1.6960000000000047e-08 0.01725044473922199 +1.697000000000005e-08 0.017210342492394688 +1.698000000000005e-08 0.017170331422016523 +1.699000000000005e-08 0.01713041133040741 +1.7000000000000053e-08 0.01709058202026968 +1.7010000000000054e-08 0.01705084329468758 +1.7020000000000056e-08 0.01701119495712679 +1.7030000000000057e-08 0.01697163681143391 +1.704000000000006e-08 0.016932168661835893 +1.705000000000006e-08 0.016892790312939644 +1.706000000000006e-08 0.016853501569731418 +1.7070000000000063e-08 0.01681430223757635 +1.7080000000000064e-08 0.016775192122217945 +1.7090000000000066e-08 0.016736171029777508 +1.7100000000000067e-08 0.016697238766753723 +1.711000000000007e-08 0.016658395140022073 +1.712000000000007e-08 0.01661963995683435 +1.713000000000007e-08 0.016580973024818143 +1.7140000000000073e-08 0.016542394151976322 +1.7150000000000074e-08 0.016503903146686472 +1.7160000000000076e-08 0.01646549981770047 +1.7170000000000077e-08 0.01642718397414391 +1.718000000000008e-08 0.016388955425515578 +1.719000000000008e-08 0.016350813981686974 +1.720000000000008e-08 0.01631275945290177 +1.7210000000000083e-08 0.01627479164977526 +1.7220000000000084e-08 0.016236910383293918 +1.7230000000000085e-08 0.01619911546481481 +1.7240000000000087e-08 0.016161406706065112 +1.7250000000000088e-08 0.01612378391914159 +1.726000000000009e-08 0.016086246916510012 +1.727000000000009e-08 0.016048795511004733 +1.7280000000000093e-08 0.016011429515828113 +1.7290000000000094e-08 0.01597414874454999 +1.7300000000000095e-08 0.01593695301110719 +1.7310000000000097e-08 0.01589984212980298 +1.7320000000000098e-08 0.01586281591530653 +1.73300000000001e-08 0.01582587418265243 +1.73400000000001e-08 0.01578901674724016 +1.7350000000000102e-08 0.01575224342483353 +1.7360000000000104e-08 0.015715554031560188 +1.7370000000000105e-08 0.015678948383911106 +1.7380000000000107e-08 0.01564242629873998 +1.7390000000000108e-08 0.015605987593262812 +1.740000000000011e-08 0.015569632085057324 +1.741000000000011e-08 0.015533359592062423 +1.7420000000000112e-08 0.015497169932577718 +1.7430000000000114e-08 0.015461062925262928 +1.7440000000000115e-08 0.015425038389137436 +1.7450000000000117e-08 0.015389096143579695 +1.7460000000000118e-08 0.015353236008326747 +1.747000000000012e-08 0.015317457803473655 +1.748000000000012e-08 0.015281761349473033 +1.7490000000000122e-08 0.01524614646713442 +1.7500000000000124e-08 0.01521061297762386 +1.7510000000000125e-08 0.01517516070246332 +1.7520000000000126e-08 0.01513978946353016 +1.7530000000000128e-08 0.015104499083056612 +1.754000000000013e-08 0.015069289383629272 +1.755000000000013e-08 0.015034160188188503 +1.7560000000000132e-08 0.014999111320027993 +1.7570000000000134e-08 0.014964142602794177 +1.7580000000000135e-08 0.014929253860485714 +1.7590000000000136e-08 0.01489444491745297 +1.7600000000000138e-08 0.014859715598397438 +1.761000000000014e-08 0.014825065728371284 +1.762000000000014e-08 0.014790495132776773 +1.7630000000000142e-08 0.014756003637365738 +1.7640000000000143e-08 0.014721591068239063 +1.7650000000000145e-08 0.01468725725184615 +1.7660000000000146e-08 0.014653002014984356 +1.7670000000000148e-08 0.014618825184798522 +1.768000000000015e-08 0.0145847265887804 +1.769000000000015e-08 0.01455070605476813 +1.7700000000000152e-08 0.014516763410945715 +1.7710000000000153e-08 0.014482898485842496 +1.7720000000000155e-08 0.014449111108332574 +1.7730000000000156e-08 0.014415401107634354 +1.7740000000000158e-08 0.014381768313309961 +1.775000000000016e-08 0.01434821255526472 +1.776000000000016e-08 0.014314733663746634 +1.7770000000000162e-08 0.014281331469345853 +1.7780000000000163e-08 0.014248005802994098 +1.7790000000000165e-08 0.014214756495964204 +1.7800000000000166e-08 0.01418158337986954 +1.7810000000000167e-08 0.014148486286663486 +1.782000000000017e-08 0.014115465048638918 +1.783000000000017e-08 0.014082519498427619 +1.7840000000000172e-08 0.014049649468999836 +1.7850000000000173e-08 0.014016854793663684 +1.7860000000000174e-08 0.013984135306064632 +1.7870000000000176e-08 0.013951490840184978 +1.7880000000000177e-08 0.013918921230343315 +1.789000000000018e-08 0.013886426311193968 +1.790000000000018e-08 0.013854005917726526 +1.791000000000018e-08 0.013821659885265253 +1.7920000000000183e-08 0.013789388049468592 +1.7930000000000184e-08 0.01375719024632861 +1.7940000000000186e-08 0.013725066312170494 +1.7950000000000187e-08 0.013693016083651961 +1.796000000000019e-08 0.013661039397762812 +1.797000000000019e-08 0.013629136091824338 +1.798000000000019e-08 0.013597306003488813 +1.7990000000000193e-08 0.013565548970738969 +1.8000000000000194e-08 0.013533864831887411 +1.8010000000000196e-08 0.013502253425576176 +1.8020000000000197e-08 0.013470714590776136 +1.80300000000002e-08 0.013439248166786492 +1.80400000000002e-08 0.013407853993234234 +1.80500000000002e-08 0.013376531910073628 +1.8060000000000203e-08 0.01334528175758564 +1.8070000000000204e-08 0.013314103376377472 +1.8080000000000206e-08 0.013282996607381985 +1.8090000000000207e-08 0.013251961291857189 +1.810000000000021e-08 0.013220997271385697 +1.811000000000021e-08 0.013190104387874229 +1.812000000000021e-08 0.013159282483553011 +1.8130000000000213e-08 0.013128531400975344 +1.8140000000000214e-08 0.013097850983016997 +1.8150000000000215e-08 0.013067241072875716 +1.8160000000000217e-08 0.013036701514070695 +1.8170000000000218e-08 0.013006232150441997 +1.818000000000022e-08 0.012975832826150108 +1.819000000000022e-08 0.012945503385675348 +1.8200000000000223e-08 0.012915243673817365 +1.8210000000000224e-08 0.0128850535356946 +1.8220000000000225e-08 0.012854932816743783 +1.8230000000000227e-08 0.012824881362719339 +1.8240000000000228e-08 0.012794899019692949 +1.825000000000023e-08 0.012764985634052966 +1.826000000000023e-08 0.012735141052503902 +1.8270000000000232e-08 0.012705365122065907 +1.8280000000000234e-08 0.012675657690074246 +1.8290000000000235e-08 0.012646018604178728 +1.8300000000000237e-08 0.012616447712343253 +1.8310000000000238e-08 0.012586944862845239 +1.832000000000024e-08 0.012557509904275108 +1.833000000000024e-08 0.012528142685535766 +1.8340000000000242e-08 0.012498843055842044 +1.8350000000000244e-08 0.01246961086472023 +1.8360000000000245e-08 0.012440445962007508 +1.8370000000000247e-08 0.012411348197851443 +1.8380000000000248e-08 0.012382317422709444 +1.839000000000025e-08 0.012353353487348274 +1.840000000000025e-08 0.012324456242843469 +1.8410000000000252e-08 0.012295625540578876 +1.8420000000000254e-08 0.012266861232246101 +1.8430000000000255e-08 0.012238163169843982 +1.8440000000000256e-08 0.012209531205678081 +1.8450000000000258e-08 0.012180965192360158 +1.846000000000026e-08 0.012152464982807615 +1.847000000000026e-08 0.012124030430243042 +1.8480000000000262e-08 0.012095661388193646 +1.8490000000000264e-08 0.01206735771049074 +1.8500000000000265e-08 0.012039119251269237 +1.8510000000000266e-08 0.012010945864967088 +1.8520000000000268e-08 0.011982837406324828 +1.853000000000027e-08 0.011954793730385 +1.854000000000027e-08 0.011926814692491667 +1.8550000000000272e-08 0.011898900148289872 +1.8560000000000273e-08 0.011871049953725147 +1.8570000000000275e-08 0.011843263965042943 +1.8580000000000276e-08 0.011815542038788176 +1.8590000000000278e-08 0.011787884031804674 +1.860000000000028e-08 0.011760289801234657 +1.861000000000028e-08 0.011732759204518236 +1.8620000000000282e-08 0.011705292099392894 +1.8630000000000283e-08 0.011677888343892932 +1.8640000000000285e-08 0.01165054779634902 +1.8650000000000286e-08 0.011623270315387634 +1.8660000000000288e-08 0.01159605575993055 +1.867000000000029e-08 0.011568903989194348 +1.868000000000029e-08 0.011541814862689848 +1.8690000000000292e-08 0.011514788240221658 +1.8700000000000293e-08 0.011487823981887628 +1.8710000000000295e-08 0.011460921948078332 +1.8720000000000296e-08 0.01143408199947657 +1.8730000000000297e-08 0.011407303997056854 +1.87400000000003e-08 0.011380587802084867 +1.87500000000003e-08 0.011353933276116994 +1.8760000000000302e-08 0.01132734028099979 +1.8770000000000303e-08 0.011300808678869467 +1.8780000000000304e-08 0.011274338332151383 +1.8790000000000306e-08 0.01124792910355955 +1.8800000000000307e-08 0.011221580856096076 +1.881000000000031e-08 0.011195293453050719 +1.882000000000031e-08 0.011169066758000336 +1.883000000000031e-08 0.011142900634808389 +1.8840000000000313e-08 0.011116794947624438 +1.8850000000000314e-08 0.011090749560883604 +1.8860000000000316e-08 0.011064764339306112 +1.8870000000000317e-08 0.011038839147896752 +1.888000000000032e-08 0.011012973851944372 +1.889000000000032e-08 0.010987168317021387 +1.890000000000032e-08 0.010961422408983264 +1.8910000000000323e-08 0.010935735993967998 +1.8920000000000324e-08 0.010910108938395646 +1.8930000000000326e-08 0.0108845411089678 +1.8940000000000327e-08 0.010859032372667084 +1.895000000000033e-08 0.010833582596756649 +1.896000000000033e-08 0.010808191648779688 +1.897000000000033e-08 0.010782859396558883 +1.8980000000000333e-08 0.010757585708195974 +1.8990000000000334e-08 0.010732370452071205 +1.9000000000000336e-08 0.010707213496842843 +1.9010000000000337e-08 0.010682114711446682 +1.902000000000034e-08 0.010657073965095501 +1.903000000000034e-08 0.010632091127278634 +1.904000000000034e-08 0.010607166067761416 +1.9050000000000343e-08 0.010582298656584702 +1.9060000000000344e-08 0.010557488764064368 +1.9070000000000345e-08 0.010532736260790824 +1.9080000000000347e-08 0.010508041017628474 +1.9090000000000348e-08 0.01048340290571528 +1.910000000000035e-08 0.010458821796462221 +1.911000000000035e-08 0.010434297561552815 +1.9120000000000353e-08 0.010409830072942617 +1.9130000000000354e-08 0.010385419202858733 +1.9140000000000355e-08 0.010361064823799298 +1.9150000000000357e-08 0.010336766808533014 +1.9160000000000358e-08 0.01031252503009865 +1.917000000000036e-08 0.010288339361804533 +1.918000000000036e-08 0.010264209677228077 +1.9190000000000362e-08 0.010240135850215252 +1.9200000000000364e-08 0.01021611775488014 +1.9210000000000365e-08 0.010192155265604418 +1.9220000000000367e-08 0.010168248257036869 +1.9230000000000368e-08 0.010144396604092894 +1.924000000000037e-08 0.01012060018195403 +1.925000000000037e-08 0.01009685886606743 +1.9260000000000372e-08 0.010073172532145418 +1.9270000000000374e-08 0.010049541056164969 +1.9280000000000375e-08 0.010025964314367239 +1.9290000000000377e-08 0.010002442183257064 +1.9300000000000378e-08 0.009978974539602491 +1.931000000000038e-08 0.00995556126043425 +1.932000000000038e-08 0.009932202223045332 +1.9330000000000382e-08 0.009908897304990453 +1.9340000000000384e-08 0.009885646384085588 +1.9350000000000385e-08 0.009862449338407502 +1.9360000000000386e-08 0.00983930604629321 +1.9370000000000388e-08 0.00981621638633957 +1.938000000000039e-08 0.00979318023740275 +1.939000000000039e-08 0.009770197478597763 +1.9400000000000392e-08 0.009747267989297974 +1.9410000000000394e-08 0.009724391649134646 +1.9420000000000395e-08 0.009701568337996404 +1.9430000000000396e-08 0.009678797936028828 +1.9440000000000398e-08 0.009656080323633921 +1.94500000000004e-08 0.009633415381469643 +1.94600000000004e-08 0.009610802990449446 +1.9470000000000402e-08 0.009588243031741788 +1.9480000000000403e-08 0.009565735386769624 +1.9490000000000405e-08 0.009543279937209992 +1.9500000000000406e-08 0.009520876564993492 +1.9510000000000408e-08 0.00949852515230382 +1.952000000000041e-08 0.009476225581577303 +1.953000000000041e-08 0.009453977735502396 +1.9540000000000412e-08 0.009431781497019247 +1.9550000000000413e-08 0.009409636749319201 +1.9560000000000415e-08 0.00938754337584433 +1.9570000000000416e-08 0.009365501260286957 +1.9580000000000418e-08 0.009343510286589203 +1.959000000000042e-08 0.009321570338942474 +1.960000000000042e-08 0.009299681301787039 +1.9610000000000422e-08 0.009277843059811539 +1.9620000000000423e-08 0.009256055497952506 +1.9630000000000425e-08 0.009234318501393916 +1.9640000000000426e-08 0.00921263195556671 +1.9650000000000427e-08 0.009190995746148303 +1.966000000000043e-08 0.009169409759062165 +1.967000000000043e-08 0.009147873880477322 +1.9680000000000432e-08 0.009126387996807893 +1.9690000000000433e-08 0.009104951994712637 +1.9700000000000434e-08 0.009083565761094455 +1.9710000000000436e-08 0.009062229183099974 +1.9720000000000437e-08 0.009040942148119051 +1.973000000000044e-08 0.009019704543784313 +1.974000000000044e-08 0.008998516257970705 +1.975000000000044e-08 0.008977377178795024 +1.9760000000000443e-08 0.008956287194615432 +1.9770000000000444e-08 0.008935246194031042 +1.9780000000000446e-08 0.008914254065881425 +1.9790000000000447e-08 0.008893310699246157 +1.980000000000045e-08 0.008872415983444367 +1.981000000000045e-08 0.008851569808034268 +1.982000000000045e-08 0.008830772062812693 +1.9830000000000453e-08 0.008810022637814661 +1.9840000000000454e-08 0.008789321423312907 +1.9850000000000456e-08 0.008768668309817417 +1.9860000000000457e-08 0.008748063188074997 +1.987000000000046e-08 0.008727505949068768 +1.988000000000046e-08 0.008706996484017777 +1.989000000000046e-08 0.008686534684376501 +1.9900000000000463e-08 0.0086661204418344 +1.9910000000000464e-08 0.00864575364831547 +1.9920000000000466e-08 0.008625434195977793 +1.9930000000000467e-08 0.00860516197721306 +1.994000000000047e-08 0.008584936884646167 +1.995000000000047e-08 0.008564758811134722 +1.996000000000047e-08 0.008544627649768618 +1.9970000000000473e-08 0.008524543293869575 +1.9980000000000474e-08 0.008504505636990697 +1.9990000000000475e-08 0.008484514572916003 +2.0000000000000477e-08 0.008464569995660016 +2.0010000000000478e-08 0.008444671799467288 +2.002000000000048e-08 0.00842481987881197 +2.003000000000048e-08 0.008405014128397352 +2.0040000000000483e-08 0.008385254443155419 +2.0050000000000484e-08 0.00836554071824642 +2.0060000000000485e-08 0.00834587284905842 +2.0070000000000487e-08 0.008326250731206844 +2.0080000000000488e-08 0.008306674260534047 +2.009000000000049e-08 0.00828714333310888 +2.010000000000049e-08 0.008267657845226203 +2.0110000000000492e-08 0.008248217693406513 +2.0120000000000494e-08 0.008228822774395454 +2.0130000000000495e-08 0.00820947298516339 +2.0140000000000497e-08 0.008190168222904977 +2.0150000000000498e-08 0.00817090838503871 +2.01600000000005e-08 0.00815169336920648 +2.01700000000005e-08 0.00813252307327316 +2.0180000000000502e-08 0.008113397395326155 +2.0190000000000504e-08 0.008094316233674967 +2.0200000000000505e-08 0.008075279486850752 +2.0210000000000507e-08 0.008056287053605908 +2.0220000000000508e-08 0.008037338832913596 +2.023000000000051e-08 0.008018434723967365 +2.024000000000051e-08 0.007999574626180679 +2.0250000000000512e-08 0.00798075843918649 +2.0260000000000514e-08 0.007961986062836829 +2.0270000000000515e-08 0.007943257397202327 +2.0280000000000516e-08 0.007924572342571842 +2.0290000000000518e-08 0.007905930799451994 +2.030000000000052e-08 0.007887332668566744 +2.031000000000052e-08 0.007868777850856962 +2.0320000000000522e-08 0.007850266247480014 +2.0330000000000524e-08 0.007831797759809293 +2.0340000000000525e-08 0.007813372289433856 +2.0350000000000526e-08 0.007794989738157943 +2.0360000000000528e-08 0.007776650008000584 +2.037000000000053e-08 0.007758353001195154 +2.038000000000053e-08 0.007740098620188969 +2.0390000000000532e-08 0.00772188676764282 +2.0400000000000533e-08 0.007703717346430612 +2.0410000000000535e-08 0.007685590259638896 +2.0420000000000536e-08 0.007667505410566464 +2.0430000000000538e-08 0.007649462702723925 +2.044000000000054e-08 0.007631462039833271 +2.045000000000054e-08 0.007613503325827484 +2.0460000000000542e-08 0.007595586464850097 +2.0470000000000543e-08 0.007577711361254782 +2.0480000000000545e-08 0.007559877919604929 +2.0490000000000546e-08 0.007542086044673236 +2.0500000000000548e-08 0.0075243356414412665 +2.051000000000055e-08 0.007506626615099071 +2.052000000000055e-08 0.007488958871044748 +2.0530000000000552e-08 0.007471332314884032 +2.0540000000000553e-08 0.0074537468524298826 +2.0550000000000555e-08 0.007436202389702074 +2.0560000000000556e-08 0.007418698832926757 +2.0570000000000557e-08 0.007401236088536086 +2.058000000000056e-08 0.007383814063167781 +2.059000000000056e-08 0.007366432663664724 +2.0600000000000562e-08 0.007349091797074548 +2.0610000000000563e-08 0.0073317913706492125 +2.0620000000000564e-08 0.007314531291844621 +2.0630000000000566e-08 0.007297311468320198 +2.0640000000000567e-08 0.007280131807938475 +2.065000000000057e-08 0.0072629922187646915 +2.066000000000057e-08 0.007245892609066396 +2.067000000000057e-08 0.007228832887313001 +2.0680000000000573e-08 0.007211812962175434 +2.0690000000000574e-08 0.007194832742525693 +2.0700000000000576e-08 0.007177892137436452 +2.0710000000000577e-08 0.007160991056180661 +2.072000000000058e-08 0.007144129408231145 +2.073000000000058e-08 0.007127307103260178 +2.074000000000058e-08 0.007110524051139116 +2.0750000000000583e-08 0.007093780161937977 +2.0760000000000584e-08 0.0070770753459250355 +2.0770000000000586e-08 0.007060409513566445 +2.0780000000000587e-08 0.007043782575525794 +2.079000000000059e-08 0.007027194442663762 +2.080000000000059e-08 0.007010645026037684 +2.081000000000059e-08 0.006994134236901169 +2.0820000000000593e-08 0.006977661986703693 +2.0830000000000594e-08 0.006961228187090217 +2.0840000000000596e-08 0.006944832749900763 +2.0850000000000597e-08 0.006928475587170054 +2.08600000000006e-08 0.006912156611127102 +2.08700000000006e-08 0.006895875734194811 +2.08800000000006e-08 0.0068796328689895905 +2.0890000000000603e-08 0.006863427928320967 +2.0900000000000604e-08 0.006847260825191166 +2.0910000000000605e-08 0.006831131472794761 +2.0920000000000607e-08 0.0068150397845182535 +2.0930000000000608e-08 0.006798985673939692 +2.094000000000061e-08 0.006782969054828289 +2.095000000000061e-08 0.006766989841144009 +2.0960000000000613e-08 0.006751047947037209 +2.0970000000000614e-08 0.006735143286848238 +2.0980000000000615e-08 0.0067192757751070465 +2.0990000000000617e-08 0.006703445326532807 +2.1000000000000618e-08 0.006687651856033527 +2.101000000000062e-08 0.0066718952787056494 +2.102000000000062e-08 0.006656175509833695 +2.1030000000000622e-08 0.006640492464889858 +2.1040000000000624e-08 0.006624846059533632 +2.1050000000000625e-08 0.006609236209611422 +2.1060000000000627e-08 0.006593662831156172 +2.1070000000000628e-08 0.006578125840386957 +2.108000000000063e-08 0.006562625153708642 +2.109000000000063e-08 0.0065471606877114735 +2.1100000000000632e-08 0.006531732359170709 +2.1110000000000634e-08 0.0065163400850462416 +2.1120000000000635e-08 0.006500983782482201 +2.1130000000000637e-08 0.006485663368806609 +2.1140000000000638e-08 0.00647037876153098 +2.115000000000064e-08 0.006455129878349951 +2.116000000000064e-08 0.006439916637140904 +2.1170000000000642e-08 0.006424738955963594 +2.1180000000000644e-08 0.006409596753059762 +2.1190000000000645e-08 0.006394489946852782 +2.1200000000000646e-08 0.006379418455947275 +2.1210000000000648e-08 0.006364382199128737 +2.122000000000065e-08 0.006349381095363167 +2.123000000000065e-08 0.006334415063796706 +2.1240000000000652e-08 0.006319484023755234 +2.1250000000000654e-08 0.006304587894744045 +2.1260000000000655e-08 0.006289726596447445 +2.1270000000000656e-08 0.006274900048728397 +2.1280000000000658e-08 0.006260108171628152 +2.129000000000066e-08 0.0062453508853658616 +2.130000000000066e-08 0.006230628110338243 +2.1310000000000662e-08 0.006215939767119192 +2.1320000000000663e-08 0.006201285776459421 +2.1330000000000665e-08 0.0061866660592860955 +2.1340000000000666e-08 0.006172080536702472 +2.1350000000000668e-08 0.0061575291299875165 +2.136000000000067e-08 0.00614301176059557 +2.137000000000067e-08 0.006128528350155963 +2.1380000000000672e-08 0.006114078820472664 +2.1390000000000673e-08 0.006099663093523912 +2.1400000000000675e-08 0.006085281091461867 +2.1410000000000676e-08 0.006070932736612221 +2.1420000000000678e-08 0.0060566179514738765 +2.143000000000068e-08 0.006042336658718563 +2.144000000000068e-08 0.006028088781190484 +2.1450000000000682e-08 0.006013874241905965 +2.1460000000000683e-08 0.005999692964053076 +2.1470000000000685e-08 0.005985544870991303 +2.1480000000000686e-08 0.005971429886251175 +2.1490000000000687e-08 0.0059573479335339125 +2.150000000000069e-08 0.0059432989367110695 +2.151000000000069e-08 0.005929282819824189 +2.1520000000000692e-08 0.005915299507084425 +2.1530000000000693e-08 0.0059013489228722255 +2.1540000000000694e-08 0.005887430991736952 +2.1550000000000696e-08 0.00587354563839654 +2.1560000000000697e-08 0.005859692787737142 +2.15700000000007e-08 0.005845872364812786 +2.15800000000007e-08 0.005832084294845005 +2.15900000000007e-08 0.005818328503222515 +2.1600000000000703e-08 0.005804604915500848 +2.1610000000000704e-08 0.005790913457402011 +2.1620000000000706e-08 0.005777254054814138 +2.1630000000000707e-08 0.005763626633791129 +2.164000000000071e-08 0.005750031120552329 +2.165000000000071e-08 0.005736467441482162 +2.166000000000071e-08 0.0057229355231298 +2.1670000000000713e-08 0.005709435292208805 +2.1680000000000714e-08 0.005695966675596797 +2.1690000000000716e-08 0.005682529600335092 +2.1700000000000717e-08 0.005669123993628388 +2.171000000000072e-08 0.005655749782844401 +2.172000000000072e-08 0.005642406895513528 +2.173000000000072e-08 0.005629095259328511 +2.1740000000000723e-08 0.005615814802144095 +2.1750000000000724e-08 0.005602565451976676 +2.1760000000000726e-08 0.0055893471370039825 +2.1770000000000727e-08 0.005576159785564726 +2.178000000000073e-08 0.005563003326158261 +2.179000000000073e-08 0.0055498776874442594 +2.180000000000073e-08 0.005536782798242347 +2.1810000000000733e-08 0.0055237185875318 +2.1820000000000734e-08 0.0055106849844511925 +2.1830000000000735e-08 0.005497681918298061 +2.1840000000000737e-08 0.005484709318528577 +2.1850000000000738e-08 0.005471767114757208 +2.186000000000074e-08 0.005458855236756378 +2.187000000000074e-08 0.005445973614456151 +2.1880000000000743e-08 0.005433122177943889 +2.1890000000000744e-08 0.005420300857463921 +2.1900000000000745e-08 0.005407509583417214 +2.1910000000000747e-08 0.0053947482863610455 +2.1920000000000748e-08 0.005382016897008656 +2.193000000000075e-08 0.00536931534622895 +2.194000000000075e-08 0.005356643565046148 +2.1950000000000752e-08 0.005344001484639459 +2.1960000000000754e-08 0.005331389036342767 +2.1970000000000755e-08 0.005318806151644275 +2.1980000000000757e-08 0.005306252762186215 +2.1990000000000758e-08 0.0052937287997645004 +2.200000000000076e-08 0.005281234196328406 +2.201000000000076e-08 0.005268768883980245 +2.2020000000000762e-08 0.0052563327949750474 +2.2030000000000764e-08 0.005243925861720222 +2.2040000000000765e-08 0.005231548016775257 +2.2050000000000767e-08 0.005219199192851385 +2.2060000000000768e-08 0.0052068793228112606 +2.207000000000077e-08 0.005194588339668644 +2.208000000000077e-08 0.005182326176588081 +2.2090000000000772e-08 0.005170092766884573 +2.2100000000000774e-08 0.005157888044023273 +2.2110000000000775e-08 0.005145711941619164 +2.2120000000000776e-08 0.005133564393436729 +2.2130000000000778e-08 0.005121445333389652 +2.214000000000078e-08 0.0051093546955404785 +2.215000000000078e-08 0.005097292414100323 +2.2160000000000782e-08 0.005085258423428541 +2.2170000000000784e-08 0.005073252658032413 +2.2180000000000785e-08 0.005061275052566835 +2.2190000000000786e-08 0.005049325541834005 +2.2200000000000788e-08 0.005037404060783097 +2.221000000000079e-08 0.00502551054450997 +2.222000000000079e-08 0.005013644928256837 +2.2230000000000792e-08 0.0050018071474119685 +2.2240000000000793e-08 0.004989997137509366 +2.2250000000000795e-08 0.004978214834228468 +2.2260000000000796e-08 0.00496646017339382 +2.2270000000000798e-08 0.004954733090974784 +2.22800000000008e-08 0.004943033523085225 +2.22900000000008e-08 0.004931361405983196 +2.2300000000000802e-08 0.004919716676070643 +2.2310000000000803e-08 0.004908099269893074 +2.2320000000000805e-08 0.004896509124139283 +2.2330000000000806e-08 0.004884946175641028 +2.2340000000000808e-08 0.004873410361372723 +2.235000000000081e-08 0.00486190161845114 +2.236000000000081e-08 0.004850419884135108 +2.2370000000000812e-08 0.00483896509582519 +2.2380000000000813e-08 0.004827537191063409 +2.2390000000000815e-08 0.004816136107532922 +2.2400000000000816e-08 0.004804761783057733 +2.2410000000000817e-08 0.00479341415560238 +2.242000000000082e-08 0.0047820931632716465 +2.243000000000082e-08 0.004770798744310244 +2.2440000000000822e-08 0.004759530837102532 +2.2450000000000823e-08 0.004748289380172208 +2.2460000000000824e-08 0.0047370743121820085 +2.2470000000000826e-08 0.004725885571933422 +2.2480000000000827e-08 0.004714723098366364 +2.249000000000083e-08 0.004703586830558919 +2.250000000000083e-08 0.004692476707727014 +2.251000000000083e-08 0.004681392669224138 +2.2520000000000833e-08 0.004670334654541039 +2.2530000000000834e-08 0.004659302603305441 +2.2540000000000836e-08 0.004648296455281721 +2.2550000000000837e-08 0.004637316150370655 +2.256000000000084e-08 0.004626361628609101 +2.257000000000084e-08 0.004615432830169711 +2.258000000000084e-08 0.0046045296953606376 +2.2590000000000843e-08 0.004593652164625251 +2.2600000000000844e-08 0.00458280017854183 +2.2610000000000846e-08 0.004571973677823296 +2.2620000000000847e-08 0.0045611726033169065 +2.263000000000085e-08 0.0045503968960039715 +2.264000000000085e-08 0.00453964649699957 +2.265000000000085e-08 0.004528921347552239 +2.2660000000000853e-08 0.004518221389043722 +2.2670000000000854e-08 0.004507546562988654 +2.2680000000000856e-08 0.004496896811034288 +2.2690000000000857e-08 0.004486272074960206 +2.270000000000086e-08 0.0044756722966780346 +2.271000000000086e-08 0.004465097418231149 +2.272000000000086e-08 0.004454547381794413 +2.2730000000000863e-08 0.004444022129673872 +2.2740000000000864e-08 0.004433521604306485 +2.2750000000000865e-08 0.004423045748259835 +2.2760000000000867e-08 0.004412594504231849 +2.2770000000000868e-08 0.004402167815050508 +2.278000000000087e-08 0.004391765623673586 +2.279000000000087e-08 0.004381387873188348 +2.2800000000000873e-08 0.004371034506811286 +2.2810000000000874e-08 0.004360705467887831 +2.2820000000000875e-08 0.004350400699892081 +2.2830000000000877e-08 0.004340120146426505 +2.2840000000000878e-08 0.004329863751221693 +2.285000000000088e-08 0.004319631458136059 +2.286000000000088e-08 0.0043094232111555685 +2.2870000000000882e-08 0.004299238954393471 +2.2880000000000884e-08 0.004289078632090003 +2.2890000000000885e-08 0.004278942188612138 +2.2900000000000887e-08 0.0042688295684533 +2.2910000000000888e-08 0.004258740716233089 +2.292000000000089e-08 0.00424867557669701 +2.293000000000089e-08 0.004238634094716201 +2.2940000000000892e-08 0.0042286162152871485 +2.2950000000000894e-08 0.004218621883531438 +2.2960000000000895e-08 0.004208651044695467 +2.2970000000000897e-08 0.004198703644150175 +2.2980000000000898e-08 0.004188779627390779 +2.29900000000009e-08 0.004178878940036504 +2.30000000000009e-08 0.004169001527830296 +2.3010000000000902e-08 0.004159147336638584 +2.3020000000000904e-08 0.004149316312450988 +2.3030000000000905e-08 0.0041395084013800595 +2.3040000000000906e-08 0.004129723549661018 +2.3050000000000908e-08 0.004119961703651469 +2.306000000000091e-08 0.004110222809831159 +2.307000000000091e-08 0.004100506814801696 +2.3080000000000912e-08 0.004090813665286291 +2.3090000000000914e-08 0.004081143308129485 +2.3100000000000915e-08 0.0040714956902969 +2.3110000000000916e-08 0.004061870758874951 +2.3120000000000918e-08 0.004052268461070613 +2.313000000000092e-08 0.004042688744211134 +2.314000000000092e-08 0.0040331315557437875 +2.3150000000000922e-08 0.004023596843235604 +2.3160000000000923e-08 0.004014084554373116 +2.3170000000000925e-08 0.004004594636962083 +2.3180000000000926e-08 0.003995127038927251 +2.3190000000000928e-08 0.003985681708312084 +2.320000000000093e-08 0.003976258593278503 +2.321000000000093e-08 0.003966857642106632 +2.3220000000000932e-08 0.0039574788031945295 +2.3230000000000933e-08 0.0039481220250579515 +2.3240000000000935e-08 0.003938787256330076 +2.3250000000000936e-08 0.003929474445761253 +2.3260000000000938e-08 0.003920183542218753 +2.327000000000094e-08 0.003910914494686506 +2.328000000000094e-08 0.0039016672522648407 +2.3290000000000942e-08 0.003892441764170247 +2.3300000000000943e-08 0.0038832379797351085 +2.3310000000000945e-08 0.0038740558484074545 +2.3320000000000946e-08 0.003864895319750705 +2.3330000000000947e-08 0.003855756343443423 +2.334000000000095e-08 0.003846638869279049 +2.335000000000095e-08 0.003837542847165668 +2.336000000000095e-08 0.0038284682271257486 +2.3370000000000953e-08 0.0038194149592958933 +2.3380000000000954e-08 0.003810382993926592 +2.3390000000000956e-08 0.0038013722813819615 +2.3400000000000957e-08 0.003792382772139514 +2.341000000000096e-08 0.003783414416789898 +2.342000000000096e-08 0.003774467166036649 +2.343000000000096e-08 0.0037655409706959493 +2.3440000000000963e-08 0.003756635781696378 +2.3450000000000964e-08 0.0037477515500786538 +2.3460000000000966e-08 0.0037388882269954104 +2.3470000000000967e-08 0.0037300457637109343 +2.348000000000097e-08 0.003721224111600926 +2.349000000000097e-08 0.0037124232221522556 +2.350000000000097e-08 0.0037036430469627197 +2.3510000000000973e-08 0.0036948835377407863 +2.3520000000000974e-08 0.003686144646305372 +2.3530000000000976e-08 0.0036774263245855864 +2.3540000000000977e-08 0.0036687285246204916 +2.355000000000098e-08 0.003660051198558865 +2.356000000000098e-08 0.0036513942986589457 +2.357000000000098e-08 0.0036427577772882125 +2.3580000000000983e-08 0.003634141586923132 +2.3590000000000984e-08 0.0036255456801489207 +2.3600000000000986e-08 0.003616970009659306 +2.3610000000000987e-08 0.0036084145282562936 +2.362000000000099e-08 0.0035998791888499112 +2.363000000000099e-08 0.0035913639444579955 +2.364000000000099e-08 0.003582868748205939 +2.3650000000000993e-08 0.003574393553326456 +2.3660000000000994e-08 0.0035659383131593494 +2.3670000000000995e-08 0.0035575029811512745 +2.3680000000000997e-08 0.0035490875108554927 +2.3690000000000998e-08 0.0035406918559316566 +2.3700000000001e-08 0.003532315970145562 +2.3710000000001e-08 0.003523959807368915 +2.3720000000001003e-08 0.003515623321579106 +2.3730000000001004e-08 0.003507306466858961 +2.3740000000001005e-08 0.0034990091973965292 +2.3750000000001007e-08 0.0034907314674848377 +2.3760000000001008e-08 0.0034824732315216636 +2.377000000000101e-08 0.0034742344440093025 +2.378000000000101e-08 0.003466015059554342 +2.3790000000001012e-08 0.003457815032867418 +2.3800000000001014e-08 0.0034496343187630034 +2.3810000000001015e-08 0.003441472872159168 +2.3820000000001017e-08 0.0034333306480773514 +2.3830000000001018e-08 0.0034252076016421345 +2.384000000000102e-08 0.0034171036880810174 +2.385000000000102e-08 0.0034090188627241757 +2.3860000000001022e-08 0.003400953081004255 +2.3870000000001024e-08 0.003392906298456131 +2.3880000000001025e-08 0.0033848784707166874 +2.3890000000001027e-08 0.003376869553524592 +2.3900000000001028e-08 0.0033688795027200604 +2.391000000000103e-08 0.00336090827424465 +2.392000000000103e-08 0.0033529558241410227 +2.3930000000001032e-08 0.003345022108552725 +2.3940000000001034e-08 0.0033371070837239637 +2.3950000000001035e-08 0.0033292107059993883 +2.3960000000001036e-08 0.003321332931823854 +2.3970000000001038e-08 0.0033134737177422185 +2.398000000000104e-08 0.0033056330203991113 +2.399000000000104e-08 0.0032978107965387113 +2.4000000000001042e-08 0.00329000700300453 +2.4010000000001044e-08 0.0032822215967391907 +2.4020000000001045e-08 0.003274454534784202 +2.4030000000001046e-08 0.003266705774279751 +2.4040000000001048e-08 0.0032589752724644767 +2.405000000000105e-08 0.003251262986675253 +2.406000000000105e-08 0.0032435688743469742 +2.4070000000001052e-08 0.0032358928930123244 +2.4080000000001053e-08 0.0032282350003015802 +2.4090000000001055e-08 0.0032205951539423833 +2.4100000000001056e-08 0.003212973311759523 +2.4110000000001058e-08 0.0032053694316747246 +2.412000000000106e-08 0.0031977834717064365 +2.413000000000106e-08 0.0031902153899696023 +2.4140000000001062e-08 0.003182665144675464 +2.4150000000001063e-08 0.00317513269413134 +2.4160000000001065e-08 0.0031676179967404096 +2.4170000000001066e-08 0.0031601210110015023 +2.4180000000001068e-08 0.00315264169550889 +2.419000000000107e-08 0.003145180008952061 +2.420000000000107e-08 0.0031377359101155237 +2.4210000000001072e-08 0.00313030935787859 +2.4220000000001073e-08 0.0031229003112151618 +2.4230000000001075e-08 0.003115508729193525 +2.4240000000001076e-08 0.00310813457097613 +2.4250000000001077e-08 0.0031007777958193964 +2.426000000000108e-08 0.0030934383630734945 +2.427000000000108e-08 0.0030861162321821397 +2.428000000000108e-08 0.003078811362682383 +2.4290000000001083e-08 0.003071523714204407 +2.4300000000001084e-08 0.0030642532464713063 +2.4310000000001086e-08 0.0030569999192988986 +2.4320000000001087e-08 0.003049763692595507 +2.433000000000109e-08 0.0030425445263617544 +2.434000000000109e-08 0.0030353423806903624 +2.435000000000109e-08 0.0030281572157659434 +2.4360000000001093e-08 0.00302098899186479 +2.4370000000001094e-08 0.003013837669354683 +2.4380000000001096e-08 0.0030067032086946786 +2.4390000000001097e-08 0.0029995855704349076 +2.44000000000011e-08 0.0029924847152163745 +2.44100000000011e-08 0.0029854006037707435 +2.44200000000011e-08 0.002978333196920154 +2.4430000000001103e-08 0.0029712824555770067 +2.4440000000001104e-08 0.002964248340743765 +2.4450000000001106e-08 0.0029572308135127545 +2.4460000000001107e-08 0.0029502298350659647 +2.447000000000111e-08 0.002943245366674838 +2.448000000000111e-08 0.002936277369700088 +2.449000000000111e-08 0.0029293258055914854 +2.4500000000001113e-08 0.0029223906358876654 +2.4510000000001114e-08 0.002915471822215928 +2.4520000000001116e-08 0.0029085693262920417 +2.4530000000001117e-08 0.0029016831099200374 +2.454000000000112e-08 0.0028948131349920245 +2.455000000000112e-08 0.002887959363487985 +2.456000000000112e-08 0.00288112175747558 +2.4570000000001123e-08 0.0028743002791099545 +2.4580000000001124e-08 0.0028674948906335334 +2.4590000000001125e-08 0.00286070555437584 +2.4600000000001127e-08 0.0028539322327532928 +2.4610000000001128e-08 0.0028471748882690122 +2.462000000000113e-08 0.002840433483512628 +2.463000000000113e-08 0.0028337079811600846 +2.4640000000001133e-08 0.0028269983439734433 +2.4650000000001134e-08 0.0028203045348007016 +2.4660000000001135e-08 0.0028136265165755892 +2.4670000000001137e-08 0.0028069642523173813 +2.4680000000001138e-08 0.0028003177051307065 +2.469000000000114e-08 0.002793686838205357 +2.470000000000114e-08 0.0027870716148160903 +2.4710000000001142e-08 0.0027804719983224487 +2.4720000000001144e-08 0.0027738879521685645 +2.4730000000001145e-08 0.0027673194398829724 +2.4740000000001147e-08 0.0027607664250784204 +2.4750000000001148e-08 0.002754228871451671 +2.476000000000115e-08 0.0027477067427833313 +2.477000000000115e-08 0.002741200002937651 +2.4780000000001152e-08 0.0027347086158623396 +2.4790000000001154e-08 0.002728232545588379 +2.4800000000001155e-08 0.0027217717562298383 +2.4810000000001157e-08 0.0027153262119836786 +2.4820000000001158e-08 0.00270889587712958 +2.483000000000116e-08 0.0027024807160297495 +2.484000000000116e-08 0.0026960806931287345 +2.4850000000001162e-08 0.0026896957729532394 +2.4860000000001164e-08 0.0026833259201119444 +2.4870000000001165e-08 0.002676971099295311 +2.4880000000001166e-08 0.002670631275275413 +2.4890000000001168e-08 0.0026643064129057425 +2.490000000000117e-08 0.0026579964771210316 +2.491000000000117e-08 0.0026517014329370705 +2.4920000000001172e-08 0.0026454212454505165 +2.4930000000001174e-08 0.0026391558798387264 +2.4940000000001175e-08 0.0026329053013595654 +2.4950000000001176e-08 0.002626669475351229 +2.4960000000001178e-08 0.0026204483672320625 +2.497000000000118e-08 0.0026142419425003813 +2.498000000000118e-08 0.0026080501667342854 +2.4990000000001182e-08 0.0026018730055914897 +2.5000000000001183e-08 0.0025957104248091395 +2.5010000000001185e-08 0.00258956239020363 +2.5020000000001186e-08 0.0025834288676704325 +2.5030000000001188e-08 0.0025773098231839154 +2.504000000000119e-08 0.0025712052227971588 +2.505000000000119e-08 0.002565115032641791 +2.5060000000001192e-08 0.002559039218927802 +2.5070000000001193e-08 0.0025529777479433697 +2.5080000000001195e-08 0.0025469305860546868 +2.5090000000001196e-08 0.002540897699705775 +2.5100000000001198e-08 0.0025348790554183234 +2.51100000000012e-08 0.0025288746197915054 +2.51200000000012e-08 0.002522884359501805 +2.5130000000001202e-08 0.002516908241302844 +2.5140000000001203e-08 0.0025109462320252094 +2.5150000000001205e-08 0.0025049982985762722 +2.5160000000001206e-08 0.0024990644079400256 +2.5170000000001207e-08 0.0024931445271769046 +2.518000000000121e-08 0.0024872386234236184 +2.519000000000121e-08 0.002481346663892972 +2.520000000000121e-08 0.0024754686158737042 +2.5210000000001213e-08 0.0024696044467303023 +2.5220000000001214e-08 0.002463754123902846 +2.5230000000001216e-08 0.00245791761490683 +2.5240000000001217e-08 0.002452094887332991 +2.525000000000122e-08 0.0024462859088471445 +2.526000000000122e-08 0.002440490647190012 +2.527000000000122e-08 0.002434709070177047 +2.5280000000001223e-08 0.002428941145698277 +2.5290000000001224e-08 0.0024231868417181257 +2.5300000000001226e-08 0.0024174461262752517 +2.5310000000001227e-08 0.002411718967482378 +2.532000000000123e-08 0.002406005333526117 +2.533000000000123e-08 0.002400305192666821 +2.534000000000123e-08 0.0023946185132384004 +2.5350000000001233e-08 0.002388945263648165 +2.5360000000001234e-08 0.002383285412376654 +2.5370000000001236e-08 0.002377638927977476 +2.5380000000001237e-08 0.0023720057790771335 +2.539000000000124e-08 0.0023663859343748712 +2.540000000000124e-08 0.002360779362642504 +2.541000000000124e-08 0.002355186032724253 +2.5420000000001243e-08 0.002349605913536583 +2.5430000000001244e-08 0.002344038974068043 +2.5440000000001246e-08 0.00233848518337909 +2.5450000000001247e-08 0.0023329445106019444 +2.546000000000125e-08 0.0023274169249404156 +2.547000000000125e-08 0.0023219023956697438 +2.548000000000125e-08 0.0023164008921364387 +2.5490000000001253e-08 0.0023109123837581117 +2.5500000000001254e-08 0.002305436840023327 +2.5510000000001255e-08 0.002299974230491433 +2.5520000000001257e-08 0.002294524524792402 +2.5530000000001258e-08 0.0022890876926266726 +2.554000000000126e-08 0.002283663703764992 +2.555000000000126e-08 0.002278252528048247 +2.5560000000001263e-08 0.002272854135387319 +2.5570000000001264e-08 0.0022674684957629167 +2.5580000000001265e-08 0.00226209557922542 +2.5590000000001267e-08 0.002256735355894721 +2.5600000000001268e-08 0.002251387795960071 +2.561000000000127e-08 0.0022460528696799124 +2.562000000000127e-08 0.002240730547381737 +2.5630000000001272e-08 0.0022354207994619182 +2.5640000000001274e-08 0.0022301235963855586 +2.5650000000001275e-08 0.0022248389086863365 +2.5660000000001277e-08 0.0022195667069663423 +2.5670000000001278e-08 0.002214306961895934 +2.568000000000128e-08 0.002209059644213575 +2.569000000000128e-08 0.002203824724725683 +2.5700000000001282e-08 0.0021986021743064742 +2.5710000000001284e-08 0.0021933919638978117 +2.5720000000001285e-08 0.0021881940645090436 +2.5730000000001287e-08 0.0021830084472168653 +2.5740000000001288e-08 0.002177835083165152 +2.575000000000129e-08 0.0021726739435648152 +2.576000000000129e-08 0.002167524999693646 +2.5770000000001292e-08 0.002162388222896167 +2.5780000000001294e-08 0.002157263584583472 +2.5790000000001295e-08 0.0021521510562330873 +2.5800000000001296e-08 0.002147050609388813 +2.5810000000001298e-08 0.0021419622156605743 +2.58200000000013e-08 0.002136885846724274 +2.58300000000013e-08 0.0021318214743216313 +2.5840000000001302e-08 0.0021267690702600492 +2.5850000000001303e-08 0.0021217286064124543 +2.5860000000001305e-08 0.0021167000547171492 +2.5870000000001306e-08 0.0021116833871776667 +2.5880000000001308e-08 0.002106678575862621 +2.589000000000131e-08 0.0021016855929055526 +2.590000000000131e-08 0.002096704410504794 +2.5910000000001312e-08 0.0020917350009233113 +2.5920000000001313e-08 0.002086777336488562 +2.5930000000001315e-08 0.0020818313895923477 +2.5940000000001316e-08 0.0020768971326906686 +2.5950000000001318e-08 0.002071974538303571 +2.596000000000132e-08 0.0020670635790150126 +2.597000000000132e-08 0.0020621642274727095 +2.5980000000001322e-08 0.0020572764563879927 +2.5990000000001323e-08 0.002052400238535665 +2.6000000000001325e-08 0.0020475355467538515 +2.6010000000001326e-08 0.002042682353943862 +2.6020000000001328e-08 0.0020378406330700443 +2.603000000000133e-08 0.0020330103571596404 +2.604000000000133e-08 0.0020281914993026434 +2.6050000000001332e-08 0.0020233840326516557 +2.6060000000001333e-08 0.0020185879304217415 +2.6070000000001335e-08 0.0020138031658902926 +2.6080000000001336e-08 0.0020090297123968814 +2.6090000000001337e-08 0.00200426754334312 +2.610000000000134e-08 0.001999516632192519 +2.611000000000134e-08 0.0019947769524703484 +2.612000000000134e-08 0.001990048477763489 +2.6130000000001343e-08 0.001985331181720304 +2.6140000000001344e-08 0.0019806250380504905 +2.6150000000001346e-08 0.001975930020524943 +2.6160000000001347e-08 0.0019712461029756136 +2.617000000000135e-08 0.0019665732592953674 +2.618000000000135e-08 0.0019619114634378534 +2.619000000000135e-08 0.001957260689417359 +2.6200000000001353e-08 0.0019526209113086726 +2.6210000000001354e-08 0.0019479921032469491 +2.6220000000001356e-08 0.001943374239427569 +2.6230000000001357e-08 0.0019387672941059972 +2.624000000000136e-08 0.0019341712415976557 +2.625000000000136e-08 0.0019295860562777794 +2.626000000000136e-08 0.0019250117125812819 +2.6270000000001363e-08 0.001920448185002619 +2.6280000000001364e-08 0.0019158954480956547 +2.6290000000001366e-08 0.0019113534764735184 +2.6300000000001367e-08 0.0019068222448084806 +2.631000000000137e-08 0.0019023017278318097 +2.632000000000137e-08 0.0018977919003336408 +2.633000000000137e-08 0.0018932927371628414 +2.6340000000001373e-08 0.0018888042132268715 +2.6350000000001374e-08 0.0018843263034916595 +2.6360000000001376e-08 0.001879858982981462 +2.6370000000001377e-08 0.0018754022267787318 +2.638000000000138e-08 0.0018709560100239858 +2.639000000000138e-08 0.0018665203079156734 +2.640000000000138e-08 0.0018620950957100382 +2.6410000000001383e-08 0.0018576803487209941 +2.6420000000001384e-08 0.0018532760423199896 +2.6430000000001385e-08 0.0018488821519358754 +2.6440000000001387e-08 0.0018444986530547745 +2.6450000000001388e-08 0.0018401255212199528 +2.646000000000139e-08 0.001835762732031682 +2.647000000000139e-08 0.0018314102611471184 +2.6480000000001393e-08 0.001827068084280167 +2.6490000000001394e-08 0.0018227361772013533 +2.6500000000001395e-08 0.0018184145157376947 +2.6510000000001397e-08 0.0018141030757725658 +2.6520000000001398e-08 0.0018098018332455784 +2.65300000000014e-08 0.0018055107641524475 +2.65400000000014e-08 0.0018012298445448625 +2.6550000000001402e-08 0.0017969590505303612 +2.6560000000001404e-08 0.0017926983582722033 +2.6570000000001405e-08 0.0017884477439892345 +2.6580000000001407e-08 0.001784207183955772 +2.6590000000001408e-08 0.0017799766545014682 +2.660000000000141e-08 0.0017757561320111879 +2.661000000000141e-08 0.0017715455929248802 +2.6620000000001412e-08 0.0017673450137374552 +2.6630000000001414e-08 0.0017631543709986511 +2.6640000000001415e-08 0.0017589736413129186 +2.6650000000001417e-08 0.0017548028013392883 +2.6660000000001418e-08 0.0017506418277912492 +2.667000000000142e-08 0.0017464906974366235 +2.668000000000142e-08 0.0017423493870974364 +2.6690000000001422e-08 0.0017382178736498031 +2.6700000000001424e-08 0.0017340961340237956 +2.6710000000001425e-08 0.001729984145203323 +2.6720000000001426e-08 0.0017258818842260072 +2.6730000000001428e-08 0.001721789328183061 +2.674000000000143e-08 0.0017177064542191606 +2.675000000000143e-08 0.0017136332395323304 +2.6760000000001432e-08 0.0017095696613738153 +2.6770000000001433e-08 0.0017055156970479613 +2.6780000000001435e-08 0.0017014713239120918 +2.6790000000001436e-08 0.0016974365193763892 +2.6800000000001438e-08 0.0016934112609037673 +2.681000000000144e-08 0.0016893955260097583 +2.682000000000144e-08 0.0016853892922623884 +2.6830000000001442e-08 0.0016813925372820562 +2.6840000000001443e-08 0.0016774052387414165 +2.6850000000001445e-08 0.0016734273743652522 +2.6860000000001446e-08 0.0016694589219303658 +2.6870000000001448e-08 0.0016654998592654526 +2.688000000000145e-08 0.0016615501642509836 +2.689000000000145e-08 0.001657609814819087 +2.6900000000001452e-08 0.0016536787889534302 +2.6910000000001453e-08 0.0016497570646890965 +2.6920000000001455e-08 0.0016458446201124757 +2.6930000000001456e-08 0.0016419414333611409 +2.6940000000001458e-08 0.0016380474826237304 +2.695000000000146e-08 0.001634162746139834 +2.696000000000146e-08 0.0016302872021998736 +2.6970000000001462e-08 0.001626420829144984 +2.6980000000001463e-08 0.0016225636053669025 +2.6990000000001465e-08 0.0016187155093078487 +2.7000000000001466e-08 0.0016148765194604095 +2.7010000000001467e-08 0.0016110466143674238 +2.702000000000147e-08 0.0016072257726218633 +2.703000000000147e-08 0.001603413972866724 +2.704000000000147e-08 0.0015996111937949067 +2.7050000000001473e-08 0.001595817414149104 +2.7060000000001474e-08 0.0015920326127216839 +2.7070000000001476e-08 0.0015882567683545797 +2.7080000000001477e-08 0.0015844898599391688 +2.709000000000148e-08 0.0015807318664161681 +2.710000000000148e-08 0.001576982766775514 +2.711000000000148e-08 0.0015732425400562522 +2.7120000000001483e-08 0.001569511165346424 +2.7130000000001484e-08 0.0015657886217829546 +2.7140000000001486e-08 0.0015620748885515358 +2.7150000000001487e-08 0.0015583699448865223 +2.716000000000149e-08 0.0015546737700708134 +2.717000000000149e-08 0.0015509863434357435 +2.718000000000149e-08 0.001547307644360972 +2.7190000000001493e-08 0.0015436376522743659 +2.7200000000001494e-08 0.0015399763466518981 +2.7210000000001496e-08 0.0015363237070175311 +2.7220000000001497e-08 0.0015326797129431072 +2.72300000000015e-08 0.0015290443440482391 +2.72400000000015e-08 0.0015254175800002011 +2.72500000000015e-08 0.0015217994005138134 +2.7260000000001503e-08 0.0015181897853513422 +2.7270000000001504e-08 0.0015145887143223835 +2.7280000000001506e-08 0.0015109961672837566 +2.7290000000001507e-08 0.0015074121241393952 +2.730000000000151e-08 0.0015038365648402396 +2.731000000000151e-08 0.0015002694693841238 +2.732000000000151e-08 0.0014967108178156757 +2.7330000000001513e-08 0.0014931605902262029 +2.7340000000001514e-08 0.001489618766753588 +2.7350000000001515e-08 0.0014860853275821817 +2.7360000000001517e-08 0.0014825602529426913 +2.7370000000001518e-08 0.00147904352311208 +2.738000000000152e-08 0.001475535118413457 +2.739000000000152e-08 0.001472035019215973 +2.7400000000001523e-08 0.001468543205934711 +2.7410000000001524e-08 0.0014650596590305852 +2.7420000000001525e-08 0.0014615843590102284 +2.7430000000001527e-08 0.0014581172864258944 +2.7440000000001528e-08 0.0014546584218753484 +2.745000000000153e-08 0.0014512077460017631 +2.746000000000153e-08 0.001447765239493614 +2.7470000000001532e-08 0.0014443308830845761 +2.7480000000001534e-08 0.0014409046575534147 +2.7490000000001535e-08 0.0014374865437238899 +2.7500000000001537e-08 0.0014340765224646458 +2.7510000000001538e-08 0.0014306745746891104 +2.752000000000154e-08 0.0014272806813553926 +2.753000000000154e-08 0.001423894823466174 +2.7540000000001542e-08 0.0014205169820686136 +2.7550000000001544e-08 0.0014171471382542415 +2.7560000000001545e-08 0.0014137852731588554 +2.7570000000001547e-08 0.0014104313679624214 +2.7580000000001548e-08 0.00140708540388897 +2.759000000000155e-08 0.0014037473622064934 +2.760000000000155e-08 0.0014004172242268475 +2.7610000000001552e-08 0.0013970949713056492 +2.7620000000001554e-08 0.0013937805848421737 +2.7630000000001555e-08 0.0013904740462792563 +2.7640000000001556e-08 0.001387175337103191 +2.7650000000001558e-08 0.0013838844388436274 +2.766000000000156e-08 0.0013806013330734757 +2.767000000000156e-08 0.0013773260014088037 +2.7680000000001562e-08 0.0013740584255087377 +2.7690000000001563e-08 0.0013707985870753641 +2.7700000000001565e-08 0.001367546467853626 +2.7710000000001566e-08 0.0013643020496312307 +2.7720000000001568e-08 0.0013610653142385471 +2.773000000000157e-08 0.0013578362435485078 +2.774000000000157e-08 0.0013546148194765106 +2.7750000000001572e-08 0.0013514010239803215 +2.7760000000001573e-08 0.0013481948390599735 +2.7770000000001575e-08 0.0013449962467576744 +2.7780000000001576e-08 0.0013418052291577051 +2.7790000000001578e-08 0.0013386217683863243 +2.780000000000158e-08 0.001335445846611671 +2.781000000000158e-08 0.0013322774460436681 +2.7820000000001582e-08 0.001329116548933923 +2.7830000000001583e-08 0.001325963137575637 +2.7840000000001585e-08 0.001322817194303504 +2.7850000000001586e-08 0.0013196787014936177 +2.7860000000001588e-08 0.0013165476415633738 +2.787000000000159e-08 0.0013134239969713774 +2.788000000000159e-08 0.001310307750217342 +2.7890000000001592e-08 0.0013071988838420018 +2.7900000000001593e-08 0.0013040973804270123 +2.7910000000001595e-08 0.0013010032225948566 +2.7920000000001596e-08 0.0012979163930087528 +2.7930000000001597e-08 0.0012948368743725541 +2.79400000000016e-08 0.001291764649430663 +2.79500000000016e-08 0.0012886997009679316 +2.79600000000016e-08 0.0012856420118095705 +2.7970000000001603e-08 0.0012825915648210543 +2.7980000000001604e-08 0.0012795483429080309 +2.7990000000001606e-08 0.0012765123290162227 +2.8000000000001607e-08 0.0012734835061313416 +2.801000000000161e-08 0.0012704618572789911 +2.802000000000161e-08 0.0012674473655245764 +2.803000000000161e-08 0.0012644400139732112 +2.8040000000001613e-08 0.0012614397857696276 +2.8050000000001614e-08 0.001258446664098079 +2.8060000000001616e-08 0.001255460632182257 +2.8070000000001617e-08 0.0012524816732851938 +2.808000000000162e-08 0.0012495097707091738 +2.809000000000162e-08 0.001246544907795643 +2.810000000000162e-08 0.0012435870679251137 +2.8110000000001623e-08 0.0012406362345170816 +2.8120000000001624e-08 0.0012376923910299307 +2.8130000000001626e-08 0.0012347555209608443 +2.8140000000001627e-08 0.001231825607845715 +2.815000000000163e-08 0.0012289026352590561 +2.816000000000163e-08 0.0012259865868139083 +2.817000000000163e-08 0.0012230774461617576 +2.8180000000001633e-08 0.0012201751969924401 +2.8190000000001634e-08 0.0012172798230340551 +2.8200000000001636e-08 0.0012143913080528777 +2.8210000000001637e-08 0.0012115096358532693 +2.822000000000164e-08 0.0012086347902775865 +2.823000000000164e-08 0.0012057667552061 +2.824000000000164e-08 0.0012029055145569006 +2.8250000000001643e-08 0.0012000510522858139 +2.8260000000001644e-08 0.0011972033523863141 +2.8270000000001645e-08 0.0011943623988894321 +2.8280000000001647e-08 0.0011915281758636746 +2.8290000000001648e-08 0.0011887006674149339 +2.830000000000165e-08 0.0011858798576864008 +2.831000000000165e-08 0.0011830657308584797 +2.8320000000001653e-08 0.0011802582711487029 +2.8330000000001654e-08 0.00117745746281164 +2.8340000000001655e-08 0.0011746632901388184 +2.8350000000001657e-08 0.0011718757374586336 +2.8360000000001658e-08 0.001169094789136265 +2.837000000000166e-08 0.0011663204295735907 +2.838000000000166e-08 0.001163552643209102 +2.8390000000001662e-08 0.001160791414517817 +2.8400000000001664e-08 0.0011580367280111987 +2.8410000000001665e-08 0.0011552885682370704 +2.8420000000001667e-08 0.0011525469197795283 +2.8430000000001668e-08 0.0011498117672588618 +2.844000000000167e-08 0.0011470830953314633 +2.845000000000167e-08 0.0011443608886897514 +2.8460000000001672e-08 0.001141645132062083 +2.8470000000001674e-08 0.0011389358102126715 +2.8480000000001675e-08 0.0011362329079415026 +2.8490000000001677e-08 0.001133536410084254 +2.8500000000001678e-08 0.001130846301512206 +2.851000000000168e-08 0.0011281625671321677 +2.852000000000168e-08 0.0011254851918863886 +2.8530000000001682e-08 0.0011228141607524781 +2.8540000000001684e-08 0.0011201494587433235 +2.8550000000001685e-08 0.0011174910709070088 +2.8560000000001686e-08 0.0011148389823267292 +2.8570000000001688e-08 0.0011121931781207157 +2.858000000000169e-08 0.00110955364344215 +2.859000000000169e-08 0.0011069203634790832 +2.8600000000001692e-08 0.0011042933234543572 +2.8610000000001693e-08 0.0011016725086255192 +2.8620000000001695e-08 0.0010990579042847478 +2.8630000000001696e-08 0.0010964494957587678 +2.8640000000001698e-08 0.0010938472684087711 +2.86500000000017e-08 0.0010912512076303373 +2.86600000000017e-08 0.0010886612988533538 +2.8670000000001702e-08 0.0010860775275419337 +2.8680000000001703e-08 0.0010834998791943407 +2.8690000000001705e-08 0.0010809283393429063 +2.8700000000001706e-08 0.0010783628935539524 +2.8710000000001708e-08 0.0010758035274277108 +2.872000000000171e-08 0.0010732502265982475 +2.873000000000171e-08 0.0010707029767333786 +2.8740000000001712e-08 0.0010681617635345977 +2.8750000000001713e-08 0.0010656265727369953 +2.8760000000001715e-08 0.0010630973901091792 +2.8770000000001716e-08 0.0010605742014532006 +2.8780000000001718e-08 0.0010580569926044697 +2.879000000000172e-08 0.0010555457494316864 +2.880000000000172e-08 0.0010530404578367569 +2.8810000000001722e-08 0.0010505411037547193 +2.8820000000001723e-08 0.0010480476731536653 +2.8830000000001725e-08 0.0010455601520346649 +2.8840000000001726e-08 0.0010430785264316862 +2.8850000000001727e-08 0.0010406027824115239 +2.886000000000173e-08 0.0010381329060737197 +2.887000000000173e-08 0.0010356688835504873 +2.888000000000173e-08 0.001033210701006636 +2.8890000000001733e-08 0.001030758344639496 +2.8900000000001734e-08 0.0010283118006788388 +2.8910000000001736e-08 0.0010258710553868078 +2.8920000000001737e-08 0.0010234360950578392 +2.893000000000174e-08 0.0010210069060185875 +2.894000000000174e-08 0.0010185834746278524 +2.895000000000174e-08 0.0010161657872764986 +2.8960000000001743e-08 0.001013753830387389 +2.8970000000001744e-08 0.0010113475904153047 +2.8980000000001746e-08 0.0010089470538468721 +2.8990000000001747e-08 0.0010065522072004902 +2.900000000000175e-08 0.001004163037026256 +2.901000000000175e-08 0.0010017795299058871 +2.902000000000175e-08 0.0009994016724526548 +2.9030000000001753e-08 0.0009970294513113062 +2.9040000000001754e-08 0.0009946628531579923 +2.9050000000001756e-08 0.0009923018647001937 +2.9060000000001757e-08 0.0009899464726766513 +2.907000000000176e-08 0.0009875966638572863 +2.908000000000176e-08 0.0009852524250431364 +2.909000000000176e-08 0.000982913743066278 +2.9100000000001763e-08 0.0009805806047897543 +2.9110000000001764e-08 0.0009782529971075066 +2.9120000000001766e-08 0.0009759309069442959 +2.9130000000001767e-08 0.0009736143212556386 +2.914000000000177e-08 0.00097130322702773 +2.915000000000177e-08 0.000968997611277375 +2.916000000000177e-08 0.0009666974610519156 +2.9170000000001773e-08 0.0009644027634291615 +2.9180000000001774e-08 0.0009621135055173157 +2.9190000000001775e-08 0.0009598296744549082 +2.9200000000001777e-08 0.0009575512574107227 +2.9210000000001778e-08 0.0009552782415837266 +2.922000000000178e-08 0.0009530106142030008 +2.923000000000178e-08 0.0009507483625276706 +2.9240000000001783e-08 0.000948491473846832 +2.9250000000001784e-08 0.000946239935479487 +2.9260000000001785e-08 0.0009439937347744714 +2.9270000000001787e-08 0.0009417528591103845 +2.9280000000001788e-08 0.0009395172958955221 +2.929000000000179e-08 0.0009372870325678035 +2.930000000000179e-08 0.0009350620565947071 +2.9310000000001792e-08 0.0009328423554731989 +2.9320000000001794e-08 0.0009306279167296639 +2.9330000000001795e-08 0.0009284187279198383 +2.9340000000001797e-08 0.0009262147766287412 +2.9350000000001798e-08 0.0009240160504706037 +2.93600000000018e-08 0.0009218225370888051 +2.93700000000018e-08 0.0009196342241558025 +2.9380000000001802e-08 0.0009174510993730633 +2.9390000000001804e-08 0.0009152731504709975 +2.9400000000001805e-08 0.0009131003652088917 +2.9410000000001807e-08 0.0009109327313748376 +2.9420000000001808e-08 0.0009087702367856705 +2.943000000000181e-08 0.0009066128692868989 +2.944000000000181e-08 0.000904460616752638 +2.9450000000001812e-08 0.0009023134670855448 +2.9460000000001814e-08 0.000900171408216747 +2.9470000000001815e-08 0.0008980344281057826 +2.9480000000001816e-08 0.00089590251474053 +2.9490000000001818e-08 0.0008937756561371424 +2.950000000000182e-08 0.0008916538403399827 +2.951000000000182e-08 0.0008895370554215576 +2.9520000000001822e-08 0.0008874252894824495 +2.9530000000001823e-08 0.0008853185306512552 +2.9540000000001825e-08 0.0008832167670845179 +2.9550000000001826e-08 0.0008811199869666627 +2.9560000000001828e-08 0.0008790281785099312 +2.957000000000183e-08 0.0008769413299543179 +2.958000000000183e-08 0.0008748594295675018 +2.9590000000001832e-08 0.0008727824656447871 +2.9600000000001833e-08 0.0008707104265090354 +2.9610000000001835e-08 0.0008686433005106019 +2.9620000000001836e-08 0.0008665810760272725 +2.9630000000001838e-08 0.0008645237414641962 +2.964000000000184e-08 0.0008624712852538266 +2.965000000000184e-08 0.0008604236958558542 +2.9660000000001842e-08 0.0008583809617571445 +2.9670000000001843e-08 0.0008563430714716738 +2.9680000000001845e-08 0.0008543100135404676 +2.9690000000001846e-08 0.0008522817765315334 +2.9700000000001848e-08 0.0008502583490398029 +2.971000000000185e-08 0.0008482397196870664 +2.972000000000185e-08 0.0008462258771219101 +2.9730000000001852e-08 0.0008442168100196541 +2.9740000000001853e-08 0.0008422125070822905 +2.9750000000001855e-08 0.0008402129570384186 +2.9760000000001856e-08 0.0008382181486431863 +2.9770000000001857e-08 0.0008362280706782265 +2.978000000000186e-08 0.0008342427119515947 +2.979000000000186e-08 0.0008322620612977088 +2.980000000000186e-08 0.0008302861075772846 +2.981000000000186e-08 0.0008283148396772792 +2.982000000000186e-08 0.0008263482465108247 +2.9830000000001856e-08 0.0008243863170171704 +2.9840000000001854e-08 0.0008224290401616204 +2.985000000000185e-08 0.0008204764049354733 +2.986000000000185e-08 0.0008185284003559611 +2.987000000000185e-08 0.0008165850154661893 +2.9880000000001846e-08 0.0008146462393350756 +2.9890000000001845e-08 0.00081271206105729 +2.990000000000184e-08 0.0008107824697531951 +2.991000000000184e-08 0.0008088574545687852 +2.992000000000184e-08 0.0008069370046756274 +2.993000000000184e-08 0.0008050211092708016 +2.9940000000001835e-08 0.0008031097575768385 +2.995000000000183e-08 0.0008012029388416649 +2.996000000000183e-08 0.0007993006423385407 +2.997000000000183e-08 0.000797402857366001 +2.998000000000183e-08 0.0007955095732477965 +2.9990000000001826e-08 0.0007936207793328351 diff --git a/testData/cases/sources/sources.fdtd.json b/testData/cases/sources/sources.fdtd.json new file mode 100644 index 00000000..b194eceb --- /dev/null +++ b/testData/cases/sources/sources.fdtd.json @@ -0,0 +1,82 @@ +{ + "format": "FDTD Input file", + "__comments": "1m linear antenna illuminated by a pulse : Holland, R. Finite-Difference Analysis of EMP Coupling to Thin Struts and Wires. 2000. IEEE-TEMC.", + + "general": { + "timeStep": 30e-12, + "numberOfSteps": 1000 + }, + + "boundary": { + "all": { + "type": "pml", + "layers": 6, + "order": 2.0, + "reflection": 0.001 + } + }, + + "materials": [ + { + "id": 1, + "type": "wire", + "radius": 0.02, + "resistancePerMeter": 0.0, + "inductancePerMeter": 0.0 + }, + { + "id": 2, + "type": "terminal", + "terminations": [{"type": "series", "resistance": 50}] + } + ], + + "mesh": { + "grid": { + "numberOfCells": [20, 20, 22], + "steps": { "x": [0.1], "y": [0.1], "z": [0.1] } + }, + "coordinates": [ + {"id": 1, "relativePosition": [11, 11, 7]}, + {"id": 2, "relativePosition": [11, 11, 12]}, + {"id": 3, "relativePosition": [11, 11, 17]}, + {"id": 4, "relativePosition": [12, 11, 17]} + ], + "elements": [ + {"id": 1, "type": "node", "coordinateIds": [2]}, + {"id": 2, "type": "polyline", "coordinateIds": [1, 2, 3] }, + {"id": 3, "type": "cell", "intervals": [[[1, 1, 1], [19, 19, 21]]] }, + {"id": 4, "type": "node", "coordinateIds": [2]} + ] + }, + + "materialAssociations": [ + { + "name" : "single_wire", + "materialId": 1, + "initialTerminalId": 2, + "endTerminalId": 2, + "elementIds": [2] + } + ], + + "sources": [ + { + "name" : "terminal_source_v", + "type" : "generator", + "magnitudeFile" : "sources.exc", + "elementIds" : [4], + "field" : "voltage" + } + ], + + "probes": [ + { + "name": "mid_point", + "type": "wire", + "field": "current", + "elementIds": [1], + "domain": { "type": "time" } + } + ] +} \ No newline at end of file diff --git a/testData/cases/sources/sources_shielded.fdtd.json b/testData/cases/sources/sources_shielded.fdtd.json new file mode 100644 index 00000000..9a35d636 --- /dev/null +++ b/testData/cases/sources/sources_shielded.fdtd.json @@ -0,0 +1,136 @@ +{ + "format": "FDTD Input file", + "__comments": "1m linear antenna illuminated by a pulse : Holland, R. Finite-Difference Analysis of EMP Coupling to Thin Struts and Wires. 2000. IEEE-TEMC.", + + "general": { + "timeStep": 30e-12, + "numberOfSteps": 1000 + }, + + "boundary": { + "all": { + "type": "pml", + "layers": 6, + "order": 2.0, + "reflection": 0.001 + } + }, + + "materials": [ + { + "name": "InnerCoaxial", + "id": 2, + "type": "shieldedMultiwire", + "inductancePerMeter": [ + [3.13182309e-07, 7.45674981e-08], + [7.45674981e-08, 3.13182309e-07] + ], + "capacitancePerMeter": [ + [85.0e-12, -20.5e-12], + [-20.5e-12, 85.0e-12 ] + ], + "transferImpedancePerMeter" : { + "resistiveTerm" : 0.0, + "inductiveTerm" : 4.0e-9, + "direction": "both" + } + }, + { + "name": "Shield", + "id": 1, + "type": "unshieldedMultiwire", + "inductancePerMeter": [[0.0]], + "capacitancePerMeter": [[0.0]], + "resistancePerMeter": [22.9e-3] + }, + { + "id": 2, + "type": "terminal", + "terminations": [{"type": "series", "resistance": 50}] + } + ], + + "mesh": { + "grid": { + "numberOfCells": [20, 20, 22], + "steps": { "x": [0.1], "y": [0.1], "z": [0.1] } + }, + "coordinates": [ + {"id": 1, "relativePosition": [11, 11, 7]}, + {"id": 2, "relativePosition": [11, 11, 12]}, + {"id": 3, "relativePosition": [11, 11, 17]}, + {"id": 4, "relativePosition": [12, 11, 17]} + ], + "elements": [ + {"id": 1, "type": "node", "coordinateIds": [2]}, + {"id": 2, "type": "polyline", "coordinateIds": [1, 2, 3] }, + {"id": 3, "type": "cell", "intervals": [[[1, 1, 1], [19, 19, 21]]] }, + {"id": 4, "type": "node", "coordinateIds": [1]} + ] + }, + + "materialAssociations": [ + { + "name" : "single_wire", + "materialId": 1, + "initialTerminalId": 2, + "endTerminalId": 2, + "elementIds": [2] + } + ], + + "sources": [ + { + "type": "planewave", + "magnitudeFile": "holland.exc", + "elementIds": [3], + "direction": { + "theta": 1.5708, + "phi": 0.0 + }, + "polarization": { + "theta": 0.0, + "phi": 0.0 + } + }, + { + "name" : "terminal_source_v", + "type" : "generator", + "magnitudeFile" : "towelHanger.exc", + "elementIds" : [1], + "field" : "voltage" + }, + { + "name" : "terminal_source_i", + "type" : "generator", + "magnitudeFile" : "towelHanger.exc", + "elementIds" : [1], + "field" : "current" + }, + { + "name" : "inner_source_v", + "type" : "generator", + "magnitudeFile" : "towelHanger.exc", + "elementIds" : [1], + "field" : "voltage" + } + { + "name" : "inner_source_i", + "type" : "generator", + "magnitudeFile" : "towelHanger.exc", + "elementIds" : [1], + "field" : "current" + } + + ], + + "probes": [ + { + "name": "mid_point", + "type": "wire", + "field": "current", + "elementIds": [1], + "domain": { "type": "time" } + } + ] +} \ No newline at end of file From 8571c9a721e700d9667f5ccf473597dc91360461 Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Mon, 9 Mar 2026 09:49:24 +0100 Subject: [PATCH 04/25] Minors --- src_json_parser/smbjson.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src_json_parser/smbjson.F90 b/src_json_parser/smbjson.F90 index 407e850a..87034be7 100644 --- a/src_json_parser/smbjson.F90 +++ b/src_json_parser/smbjson.F90 @@ -3241,7 +3241,7 @@ function countWireGenerators(generators) result(res) if (fieldLabel == J_FIELD_VOLTAGE .and. & (mAs(i)%matAssType == J_MAT_TYPE_WIRE .or. & mAs(i)%matAssType == J_MAT_TYPE_UNSHIELDED_MULTIWIRE)) then - call WarnErrReport('voltage generators cannot be defined on wire/unshieldedMultiwire interior points', .true.) + call WarnErrReport('Voltage generators cannot be defined on wire/unshieldedMultiwire interior points', .true.) end if res = res + 1 end if @@ -3287,7 +3287,7 @@ logical function IsGeneratorOnWire(p) if (fieldLabel == J_FIELD_VOLTAGE .and. & (mAs(i)%matAssType == J_MAT_TYPE_WIRE .or. & mAs(i)%matAssType == J_MAT_TYPE_UNSHIELDED_MULTIWIRE)) then - call WarnErrReport('voltage generators cannot be defined on wire/unshieldedMultiwire interior points', .true.) + call WarnErrReport('Voltage generators cannot be defined on wire/unshieldedMultiwire interior points', .true.) end if IsGeneratorOnWire = .true. return From 7f2f6845680926ed18da0a0a05acc2f71154fcb8 Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Mon, 9 Mar 2026 14:57:32 +0100 Subject: [PATCH 05/25] removes redundant function to count generators --- src_json_parser/smbjson.F90 | 77 ++++------------ src_main_pub/errorreport.F90 | 5 +- src_mtln/mtl_bundle.F90 | 2 +- .../cases/sources/sources_shielded.fdtd.json | 90 ++++++++----------- 4 files changed, 58 insertions(+), 116 deletions(-) diff --git a/src_json_parser/smbjson.F90 b/src_json_parser/smbjson.F90 index 87034be7..d4491f87 100644 --- a/src_json_parser/smbjson.F90 +++ b/src_json_parser/smbjson.F90 @@ -3167,7 +3167,10 @@ function readWireGenerators() result(res) end if gens = [this%jsonValueFilterByKeyValue(sources, J_TYPE, J_SRC_TYPE_GEN)] - n = countWireGenerators(gens) + n = 0 + do i =1, size(gens) + if (IsGeneratorOnWire(gens(i)%p)) n = n + 1 + end do allocate(res(n)) if (n == 0) return n = 1 @@ -3203,60 +3206,12 @@ function readWireGenerators() result(res) end do end function - function countWireGenerators(generators) result(res) - type(json_value_ptr), dimension(:), allocatable :: generators - integer :: res - - character (len=:), allocatable :: fieldLabel - logical :: found - type(materialAssociation_t), dimension(:), allocatable :: mAs - integer :: i, j, k - integer :: cId - type(polyline_t) :: polyline - res = 0 - do k = 1, size(generators) - fieldLabel = this%getStrAt(generators(k)%p, J_FIELD, found=found) - if (.not. found .or. (fieldLabel /= J_FIELD_CURRENT .and. fieldLabel /= J_FIELD_VOLTAGE)) then - call WarnErrReport('field type not recognized', .true.) - return - end if - - block - type(pixel_t) :: pixel - integer, dimension(:), allocatable :: eIds - eIds = this%getIntsAt(generators(k)%p, J_ELEMENTIDS) - pixel = getPixelFromElementId(this%mesh, eIds(1)) - cId = pixel%tag - end block - - mAs = this%getMaterialAssociations([ & - J_MAT_TYPE_SHIELDED_MULTIWIRE//' ',& - J_MAT_TYPE_UNSHIELDED_MULTIWIRE ,& - J_MAT_TYPE_WIRE//' ' ]) - - do i = 1, size(mAs) - polyline = this%mesh%getPolyline(mAs(i)%elementIds(1)) - do j = 2, size(polyline%coordIds)-1 - if (polyline%coordIds(j) == cId) then - if (fieldLabel == J_FIELD_VOLTAGE .and. & - (mAs(i)%matAssType == J_MAT_TYPE_WIRE .or. & - mAs(i)%matAssType == J_MAT_TYPE_UNSHIELDED_MULTIWIRE)) then - call WarnErrReport('Voltage generators cannot be defined on wire/unshieldedMultiwire interior points', .true.) - end if - res = res + 1 - end if - end do - end do - end do - - end function - logical function IsGeneratorOnWire(p) type(json_value), pointer :: p character (len=:), allocatable :: fieldLabel logical :: found type(materialAssociation_t), dimension(:), allocatable :: mAs - integer :: i, j, k + integer :: i, j, k, l integer :: cId type(polyline_t) :: polyline IsGeneratorOnWire = .false. @@ -3281,17 +3236,19 @@ logical function IsGeneratorOnWire(p) J_MAT_TYPE_WIRE//' ' ]) do i = 1, size(mAs) - polyline = this%mesh%getPolyline(mAs(i)%elementIds(1)) - do j = 2, size(polyline%coordIds)-1 - if (polyline%coordIds(j) == cId) then - if (fieldLabel == J_FIELD_VOLTAGE .and. & - (mAs(i)%matAssType == J_MAT_TYPE_WIRE .or. & - mAs(i)%matAssType == J_MAT_TYPE_UNSHIELDED_MULTIWIRE)) then - call WarnErrReport('Voltage generators cannot be defined on wire/unshieldedMultiwire interior points', .true.) + do l = 1, size(mAs(i)%elementIds) + polyline = this%mesh%getPolyline(mAs(i)%elementIds(l)) + do j = 2, size(polyline%coordIds)-1 + if (polyline%coordIds(j) == cId) then + if (fieldLabel == J_FIELD_VOLTAGE .and. & + (mAs(i)%matAssType == J_MAT_TYPE_WIRE .or. & + mAs(i)%matAssType == J_MAT_TYPE_UNSHIELDED_MULTIWIRE)) then + call WarnErrReport('Voltage generators cannot be defined on wire/unshieldedMultiwire interior points', .true.) + end if + IsGeneratorOnWire = .true. + return end if - IsGeneratorOnWire = .true. - return - end if + end do end do end do diff --git a/src_main_pub/errorreport.F90 b/src_main_pub/errorreport.F90 index c449e4ce..ba58faa8 100755 --- a/src_main_pub/errorreport.F90 +++ b/src_main_pub/errorreport.F90 @@ -1499,8 +1499,6 @@ END SUBROUTINE INITWARNINGFILE subroutine WarnErrReport(bufff,error) - ! USE ISO_FORTRAN_ENV, ONLY : ERROR_UNIT - ! logical :: itsopen logical, optional :: error @@ -1523,8 +1521,7 @@ subroutine WarnErrReport(bufff,error) buff2=CHAR(13)//CHAR(10)//trim(adjustl(buff3)) call trimnullchar(buff2) - write (ERROR_UNIT,'(a)',err=154) trim(adjustl(buff3)) - ! write (ERROR_UNIT,'(a)') trim(adjustl(buff3)) + write (17,'(a)',err=154) trim(adjustl(buff3)) goto 155 154 inquire(unit=17, opened=itsopen) diff --git a/src_mtln/mtl_bundle.F90 b/src_mtln/mtl_bundle.F90 index 1b5b36b4..f7419632 100644 --- a/src_mtln/mtl_bundle.F90 +++ b/src_mtln/mtl_bundle.F90 @@ -96,7 +96,7 @@ function mtldCtor(levels, name) result(res) call res%mergePULMatrices(levels) call res%mergeDispersiveMatrices(levels) - call res%collectAndInitSources(levels) + ! call res%collectAndInitSources(levels) #ifdef CompileWithMPI res%bundle_in_layer = levels(1)%lines(1)%bundle_in_layer diff --git a/testData/cases/sources/sources_shielded.fdtd.json b/testData/cases/sources/sources_shielded.fdtd.json index 9a35d636..78976214 100644 --- a/testData/cases/sources/sources_shielded.fdtd.json +++ b/testData/cases/sources/sources_shielded.fdtd.json @@ -17,6 +17,14 @@ }, "materials": [ + { + "name": "Shield", + "id": 1, + "type": "unshieldedMultiwire", + "inductancePerMeter": [[0.0]], + "capacitancePerMeter": [[0.0]], + "resistancePerMeter": [22.9e-3] + }, { "name": "InnerCoaxial", "id": 2, @@ -35,18 +43,16 @@ "direction": "both" } }, - { - "name": "Shield", - "id": 1, - "type": "unshieldedMultiwire", - "inductancePerMeter": [[0.0]], - "capacitancePerMeter": [[0.0]], - "resistancePerMeter": [22.9e-3] - }, { - "id": 2, + "id": 3, "type": "terminal", "terminations": [{"type": "series", "resistance": 50}] + }, + { + "id": 4, + "type": "terminal", + "terminations": [{"type": "series", "resistance": 50}, + {"type": "series", "resistance": 50}] } ], @@ -59,69 +65,51 @@ {"id": 1, "relativePosition": [11, 11, 7]}, {"id": 2, "relativePosition": [11, 11, 12]}, {"id": 3, "relativePosition": [11, 11, 17]}, - {"id": 4, "relativePosition": [12, 11, 17]} + {"id": 4, "relativePosition": [12, 11, 17]}, + {"id": 5, "relativePosition": [11, 11, 7]}, + {"id": 6, "relativePosition": [11, 11, 12]}, + {"id": 7, "relativePosition": [11, 11, 17]}, + {"id": 8, "relativePosition": [11, 11, 7]}, + {"id": 9, "relativePosition": [11, 11, 12]}, + {"id": 10, "relativePosition": [11, 11, 17]} ], "elements": [ {"id": 1, "type": "node", "coordinateIds": [2]}, {"id": 2, "type": "polyline", "coordinateIds": [1, 2, 3] }, {"id": 3, "type": "cell", "intervals": [[[1, 1, 1], [19, 19, 21]]] }, - {"id": 4, "type": "node", "coordinateIds": [1]} + {"id": 4, "type": "node", "coordinateIds": [9]}, + {"id": 5, "type": "polyline", "coordinateIds": [5, 6, 7] }, + {"id": 6, "type": "polyline", "coordinateIds": [8, 9, 10] } ] }, "materialAssociations": [ { - "name" : "single_wire", + "name" : "shield", "materialId": 1, - "initialTerminalId": 2, - "endTerminalId": 2, + "initialTerminalId": 3, + "endTerminalId": 3, "elementIds": [2] + }, + { + "name" : "inner_wires", + "materialId": 2, + "initialTerminalId": 4, + "endTerminalId": 4, + "elementIds": [5,6], + "containedWithinElementId": 2 + } ], "sources": [ - { - "type": "planewave", - "magnitudeFile": "holland.exc", - "elementIds": [3], - "direction": { - "theta": 1.5708, - "phi": 0.0 - }, - "polarization": { - "theta": 0.0, - "phi": 0.0 - } - }, - { - "name" : "terminal_source_v", - "type" : "generator", - "magnitudeFile" : "towelHanger.exc", - "elementIds" : [1], - "field" : "voltage" - }, - { - "name" : "terminal_source_i", - "type" : "generator", - "magnitudeFile" : "towelHanger.exc", - "elementIds" : [1], - "field" : "current" - }, { "name" : "inner_source_v", "type" : "generator", - "magnitudeFile" : "towelHanger.exc", - "elementIds" : [1], + "magnitudeFile" : "sources.exc", + "elementIds" : [4], "field" : "voltage" } - { - "name" : "inner_source_i", - "type" : "generator", - "magnitudeFile" : "towelHanger.exc", - "elementIds" : [1], - "field" : "current" - } - ], "probes": [ From 3b3cbc60522621d085c4f4667d899e461acee27d Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Mon, 9 Mar 2026 15:23:11 +0100 Subject: [PATCH 06/25] Adds the number of the conductor the generator is attached to. Removes redundant function to count multiwire probes --- src_json_parser/smbjson.F90 | 85 ++++++++++++------------------------- src_mtln/mtln_types.F90 | 6 +-- 2 files changed, 30 insertions(+), 61 deletions(-) diff --git a/src_json_parser/smbjson.F90 b/src_json_parser/smbjson.F90 index d4491f87..bfa8ed0c 100644 --- a/src_json_parser/smbjson.F90 +++ b/src_json_parser/smbjson.F90 @@ -3158,7 +3158,7 @@ function readWireGenerators() result(res) type(linel_t), dimension(:), allocatable :: linels type(polyline_t) :: pl type(coordinate_t) :: coord - integer :: id, index + integer :: idAndPos(2), index call this%core%get(this%root, J_sources, sources, found) if (.not. found) then @@ -3191,13 +3191,14 @@ function readWireGenerators() result(res) res(n)%path_to_excitation = this%getStrAt(gens(i)%p, J_SRC_MAGNITUDE_FILE) res(n)%resistance = this%getRealAt(gens(i)%p, J_SRC_RESISTANCE_GEN, default = 0.0) - - id = getPolylineElemIdOfGenerator(gens(i)%p) - call elemIdToCable%get(key(id), value=index) + idAndPos = getPolylineElemIdAndConductorOfGenerator(gens(i)%p) + ! id = getPolylineElemIdOfGenerator(gens(i)%p) + call elemIdToCable%get(key(idAndPos(1)), value=index) coord = GetCoordinateFromElemIdNode(gens(i)%p) - pl = this%mesh%getPolyline(id) + pl = this%mesh%getPolyline(idAndPos(1)) linels = this%mesh%polylineToLinels(pl) + res(n)%conductor = idAndPos(2) res(n)%index = findIndexInLinels(coord, linels) res(n)%attached_to_cable => mtln_res%cables(index)%ptr @@ -3206,6 +3207,8 @@ function readWireGenerators() result(res) end do end function + + logical function IsGeneratorOnWire(p) type(json_value), pointer :: p character (len=:), allocatable :: fieldLabel @@ -3272,9 +3275,14 @@ function readMultiwireProbes() result(res) return end if wire_probes = [this%jsonValueFilterByKeyValue(probes, J_TYPE, J_PR_TYPE_WIRE)] - n = countOutputProbes(wire_probes) + + n = 0 + do i = 1, size(wire_probes) + if (isProbeDefinedOnMultiwire(wire_probes(i)%p)) n = n + 1 + end do allocate(res(n)) if (n == 0) return + n = 1 do i = 1, size(wire_probes) if (isProbeDefinedOnMultiwire(wire_probes(i)%p)) then @@ -3380,48 +3388,6 @@ function findIndexInLinels(coord, linels) result(res) res = m(1) end function - function countOutputProbes(probes) result(res) - type(json_value_ptr), dimension(:), allocatable :: probes - integer :: res - - character (len=:), allocatable :: fieldLabel - logical :: found - type(materialAssociation_t), dimension(:), allocatable :: mAs - integer :: i, j, k - integer :: cId - type(polyline_t) :: polyline - res = 0 - do k = 1, size(probes) - fieldLabel = this%getStrAt(probes(k)%p, J_FIELD, found=found) - if (.not. found .or. (fieldLabel /= J_FIELD_CURRENT .and. fieldLabel /= J_FIELD_VOLTAGE)) then - continue - end if - - block - type(pixel_t) :: pixel - integer, dimension(:), allocatable :: eIds - eIds = this%getIntsAt(probes(k)%p, J_ELEMENTIDS) - pixel = getPixelFromElementId(this%mesh, eIds(1)) - cId = pixel%tag - end block - - mAs = this%getMaterialAssociations([ & - J_MAT_TYPE_SHIELDED_MULTIWIRE//' ',& - J_MAT_TYPE_UNSHIELDED_MULTIWIRE ,& - J_MAT_TYPE_WIRE//' ' ]) - - do i = 1, size(mAs) - polyline = this%mesh%getPolyline(mAs(i)%elementIds(1)) - do j = 1, size(polyline%coordIds) - if (polyline%coordIds(j) == cId) then - res = res + 1 - end if - end do - end do - end do - - end function - logical function isProbeDefinedOnMultiwire(p) type(json_value), pointer :: p character (len=:), allocatable :: fieldLabel @@ -3494,12 +3460,12 @@ function getPolylineElemIdOfMultiwireProbe(p) result(res) end do end function - function getPolylineElemIdOfGenerator(p) result(res) + function getPolylineElemIdAndConductorOfGenerator(p) result(res) type(json_value), pointer :: p type(polyline_t) :: polyline - integer :: res + integer :: res(2) type(materialAssociation_t), dimension(:), allocatable :: mAs - integer :: i, j + integer :: i, j, k integer :: cId block @@ -3514,16 +3480,19 @@ function getPolylineElemIdOfGenerator(p) result(res) J_MAT_TYPE_SHIELDED_MULTIWIRE//' ',& J_MAT_TYPE_UNSHIELDED_MULTIWIRE ,& J_MAT_TYPE_WIRE//' ' ]) - res = 0 + res(:) = 0 do i = 1, size(mAs) - polyline = this%mesh%getPolyline(mAs(i)%elementIds(1)) - do j = 2, size(polyline%coordIds)-1 - if (polyline%coordIds(j) == cId) then - res = mAs(i)%elementIds(1) - end if + do k = 1, size(mAs(i)%elementIds) + polyline = this%mesh%getPolyline(mAs(i)%elementIds(k)) + do j = 2, size(polyline%coordIds)-1 + if (polyline%coordIds(j) == cId) then + res(1) = mAs(i)%elementIds(k) + res(2) = k + end if + end do end do end do - if (res == 0) call WarnErrReport('Generator does not belong to any wire, unshielded multiwire or shielded multiwire', .true.) + if (all(res(:) == 0)) call WarnErrReport('Generator does not belong to any wire, unshielded multiwire or shielded multiwire', .true.) end function function readProbeType(probe) result(res) diff --git a/src_mtln/mtln_types.F90 b/src_mtln/mtln_types.F90 index f7c93a83..81d53b0c 100644 --- a/src_mtln/mtln_types.F90 +++ b/src_mtln/mtln_types.F90 @@ -43,9 +43,9 @@ module mtln_types_mod type generator_t character(len=256) :: path_to_excitation = "" integer :: source_type = SOURCE_TYPE_UNDEFINED - type(cable_t), pointer :: attached_to_cable - real :: resistance - integer :: index + type(cable_t), pointer :: attached_to_cable => null() + real :: resistance = 0.0 + integer :: index = -1, conductor = -1 contains private procedure :: wire_source_eq From 584c84e6354168a3eac762ef4ccd740f841e5b5c Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Mon, 9 Mar 2026 15:59:42 +0100 Subject: [PATCH 07/25] Removes probes list from solver, already included in bundles --- src_mtln/mtl_bundle.F90 | 11 +++++----- src_mtln/mtln_solver.F90 | 6 +++--- src_mtln/preprocess.F90 | 46 ++++++++++++++++++++++++++-------------- 3 files changed, 39 insertions(+), 24 deletions(-) diff --git a/src_mtln/mtl_bundle.F90 b/src_mtln/mtl_bundle.F90 index f7419632..6b6603f9 100644 --- a/src_mtln/mtl_bundle.F90 +++ b/src_mtln/mtl_bundle.F90 @@ -247,7 +247,7 @@ function buildExternalFieldSegments(levels) result(res) end do end function - type(probe_t) function addProbe(this, index, probe_type, name, position, layer_indices) result(res) + subroutine addProbe(this, index, probe_type, name, position, layer_indices) class(mtl_bundle_t) :: this integer, intent(in) :: index integer, intent(in) :: probe_type @@ -255,19 +255,20 @@ type(probe_t) function addProbe(this, index, probe_type, name, position, layer_i character (len=:), allocatable :: name integer (kind=4), dimension(:,:), intent(in), optional :: layer_indices type(probe_t), allocatable, dimension(:) :: aux_probes + type(probe_t) :: newProbe aux_probes = this%probes deallocate(this%probes) allocate(this%probes(size(aux_probes)+1)) #ifdef CompileWithMPI - res = probeCtor(index, probe_type, this%dt, name, position, layer_indices = layer_indices) + newProbe = probeCtor(index, probe_type, this%dt, name, position, layer_indices = layer_indices) #else - res = probeCtor(index, probe_type, this%dt, name, position) + newProbe = probeCtor(index, probe_type, this%dt, name, position) #endif this%probes(1:size(this%probes)-1) = aux_probes - this%probes(size(aux_probes)+1) = res - end function + this%probes(size(aux_probes)+1) = newProbe + end subroutine subroutine bundle_setConnectorTransferImpedance(this, index, conductor_out, range_in, transfer_impedance) class(mtl_bundle_t) :: this diff --git a/src_mtln/mtln_solver.F90 b/src_mtln/mtln_solver.F90 index 61a5bee7..fca6a1d3 100644 --- a/src_mtln/mtln_solver.F90 +++ b/src_mtln/mtln_solver.F90 @@ -14,7 +14,7 @@ module mtln_solver_mod real :: time, dt, final_time type(mtl_bundle_t), allocatable, dimension(:) :: bundles type(network_manager_t) :: network_manager - type(probe_t), allocatable, dimension(:) :: probes + ! type(probe_t), allocatable, dimension(:) :: probes integer :: number_of_bundles integer :: number_of_steps contains @@ -77,7 +77,7 @@ function mtlnCtor(parsed, alloc) result(res) res%number_of_bundles = size(res%bundles) res%network_manager = pre%network_manager - res%probes = pre%probes + ! res%probes = pre%probes call res%updateBundlesTimeStep(res%dt) call res%initNodes() @@ -139,7 +139,7 @@ subroutine advanceBundlesVoltage(this) do i = 1, this%number_of_bundles if (this%bundles(i)%bundle_in_layer) then - call this%bundles(i)%updateSources(this%time, this%dt) + ! call this%bundles(i)%updateSources(this%time, this%dt) call this%bundles(i)%advanceVoltage() end if end do diff --git a/src_mtln/preprocess.F90 b/src_mtln/preprocess.F90 index 823677d6..2c449815 100644 --- a/src_mtln/preprocess.F90 +++ b/src_mtln/preprocess.F90 @@ -19,7 +19,7 @@ module preprocess_mod type, public :: preprocess_t type(mtl_bundle_t), dimension(:), allocatable :: bundles type(network_manager_t) :: network_manager - type(probe_t), dimension(:), allocatable :: probes + ! type(probe_t), dimension(:), allocatable :: probes type(fhash_tbl_t) :: conductors_before_cable type(fhash_tbl_t) :: cable_name_to_bundle_id real :: final_time, dt @@ -94,11 +94,23 @@ function preprocess(parsed, alloc) result(res) end if res%cable_name_to_bundle_id = mapCablesToBundlesId(line_bundles, res%bundles) - if (size(parsed%probes) /= 0) then - res%probes = res%addProbesWithId(parsed%probes) - else - allocate(res%probes(0)) - end if + + ! if (size(parsed%probes) /= 0) then + ! ! res%probes = res%addProbesWithId(parsed%probes) + call res%addProbesWithId(parsed%probes) + ! allocate(res%probes(0)) + ! else + ! allocate(res%probes(0)) + ! allocate(probes(0)) + ! end if + + ! if (size(parsed%generators) /= 0) then + ! addGenerators(parsed%generators) + ! end if + + + + res%network_manager = res%buildNetworkManager(parsed%networks) end function @@ -1380,17 +1392,19 @@ function buildNetworkManager(this, terminal_networks) result(res) end function + ! function addGenerators() result(res) + + ! end function + - function addProbesWithId(this, parsed_probes) result(res) + subroutine addProbesWithId(this, parsed_probes) class(preprocess_t) :: this type(parsed_probe_t), dimension(:), allocatable :: parsed_probes - type(probe_t), dimension(:), allocatable :: res integer :: i, d integer :: stat type(mtl_bundle_t), target :: tbundle character (len=:), allocatable :: probe_name - allocate(res(size(parsed_probes))) do i = 1, size(parsed_probes) call this%cable_name_to_bundle_id%get(key = key(parsed_probes(i)%attached_to_cable%name), & value = d, & @@ -1400,16 +1414,16 @@ function addProbesWithId(this, parsed_probes) result(res) probe_name = parsed_probes(i)%probe_name//"_"//this%bundles(d)%name - res(i) = this%bundles(d)%addProbe(index = parsed_probes(i)%index, & - probe_type = parsed_probes(i)%probe_type,& - name = probe_name,& - position =parsed_probes(i)%probe_position & + call this%bundles(d)%addProbe(index = parsed_probes(i)%index, & + probe_type = parsed_probes(i)%probe_type,& + name = probe_name,& + position =parsed_probes(i)%probe_position & #ifdef CompileWithMPI - ,layer_indices = this%bundles(d)%layer_indices & + ,layer_indices = this%bundles(d)%layer_indices & #endif - ) + ) end do - end function + end subroutine end module \ No newline at end of file From 597c4ed9ae5d9d2ae7eb1b8b16a2891835941502 Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Mon, 9 Mar 2026 17:15:11 +0100 Subject: [PATCH 08/25] [WIP] Correctly adds generators but now fails creating the bundle. Check --- src_json_parser/smbjson.F90 | 6 +-- src_mtln/CMakeLists.txt | 1 + src_mtln/generators.F90 | 93 +++++++++++++++++++++++++++++++++++ src_mtln/mtl.F90 | 4 +- src_mtln/mtl_bundle.F90 | 98 ++++++++++++++----------------------- src_mtln/mtln_solver.F90 | 2 +- src_mtln/mtln_types.F90 | 18 ++----- src_mtln/preprocess.F90 | 26 +++++++--- 8 files changed, 162 insertions(+), 86 deletions(-) create mode 100644 src_mtln/generators.F90 diff --git a/src_json_parser/smbjson.F90 b/src_json_parser/smbjson.F90 index 768a68a8..4a89e165 100644 --- a/src_json_parser/smbjson.F90 +++ b/src_json_parser/smbjson.F90 @@ -3149,7 +3149,7 @@ function readTerminationRLC(termination, label, default) result(res) end function function readWireGenerators() result(res) - type(generator_t), dimension(:), allocatable :: res + type(parsed_generator_t), dimension(:), allocatable :: res type(json_value), pointer :: sources type(json_value_ptr), dimension(:), allocatable :: gens ! class(cable_t), pointer :: cable_ptr @@ -3182,9 +3182,9 @@ function readWireGenerators() result(res) end if select case(this%getStrAt(gens(i)%p, J_FIELD)) case (J_FIELD_VOLTAGE) - res(n)%source_type = J_FIELD_VOLTAGE + res(n)%generator_type = SOURCE_TYPE_VOLTAGE case (J_FIELD_CURRENT) - res(n)%source_type = J_FIELD_CURRENT + res(n)%generator_type = SOURCE_TYPE_CURRENT case default call WarnErrReport('Field block of source of type generator must be current or voltage', .true.) end select diff --git a/src_mtln/CMakeLists.txt b/src_mtln/CMakeLists.txt index e482cbc9..0855aee5 100644 --- a/src_mtln/CMakeLists.txt +++ b/src_mtln/CMakeLists.txt @@ -16,6 +16,7 @@ add_library(mtlnsolver "network_manager.F90" "utils.F90" "probes.F90" + "generators.F90" "dispersive.F90" "rational_approximation.F90" "circuit.F90" diff --git a/src_mtln/generators.F90 b/src_mtln/generators.F90 new file mode 100644 index 00000000..7924a158 --- /dev/null +++ b/src_mtln/generators.F90 @@ -0,0 +1,93 @@ +module generators_m + + + use mtln_types_mod, only: SOURCE_TYPE_UNDEFINED, SOURCE_TYPE_VOLTAGE, SOURCE_TYPE_CURRENT + + implicit none + + type generator_t + integer :: index, conductor + real, dimension(:), allocatable :: time, value + integer :: source_type = SOURCE_TYPE_UNDEFINED + contains + procedure :: initGenerator + procedure :: interpolate + end type generator_t + + interface generator_t + module procedure generatorCtor + end interface + + +contains + + function generatorCtor(index, conductor, gen_type, path) result(res) + type(generator_t) :: res + integer, intent(in) :: index, conductor, gen_type + character(*), intent(in) :: path + + res%index = index + res%conductor = conductor + res%source_type = gen_type + call res%initGenerator(path) + end function + + subroutine initGenerator(this, path) + class(generator_t) :: this + character(*), intent(in) :: path + real :: time, value + integer :: io, line_count, i + + if (path == "" ) then + allocate(this%time(0), this%value(0)) + ! error + end if + ! First pass: count the number of lines + line_count = 0 + open(unit = 1, file = path) + do + read(1, *, iostat = io) time, value + if (io /= 0) exit + line_count = line_count + 1 + end do + close(1) + + ! Allocate arrays with the exact size needed + allocate(this%time(line_count)) + allocate(this%value(line_count)) + + ! Second pass: fill the arrays + open(unit = 1, file = path) + do i = 1, line_count + read(1, *, iostat = io) this%time(i), this%value(i) + if (io /= 0) then + ! Handle unexpected read error + close(1) + error stop "Error reading excitation file" + end if + end do + close(1) + end subroutine + + function interpolate(this, t) result(res) + class(generator_t) :: this + real :: res + real :: t, x1, x2, y1, y2 + integer :: index + real, dimension(:), allocatable :: timediff + timediff = this%time - t + index = maxloc(timediff, 1, (timediff) <= 0) + if (index == 0) index = 1 + x1 = this%time(index) + y1 = this%value(index) + if (index+1 > size(this%time)) then + x2 = x1 + y2 = y1 + else + x2 = this%time(index+1) + y2 = this%value(index+1) + end if + res = (t*(y2-y1) + x2*y1 - x1*y2)/(x2-x1) + end function + +end module generators_m \ No newline at end of file diff --git a/src_mtln/mtl.F90 b/src_mtln/mtl.F90 index 947bc22b..bc9c3eee 100644 --- a/src_mtln/mtl.F90 +++ b/src_mtln/mtl.F90 @@ -3,7 +3,7 @@ module mtl_mod ! use NFDETypes use utils_mod use dispersive_mod, dispersive_lumped_t => lumped_t - use mtln_types_mod, only: segment_t, multipolar_expansion_t, mtl_source_t + use mtln_types_mod, only: segment_t, multipolar_expansion_t use multipolar_expansion_mod, only: getCellCapacitanceOnBox, getCellInductanceOnBox #ifdef CompileWithMPI use fdetypes, only: SUBCOMM_MPI, REALSIZE, INTEGERSIZE, pi, mu_vacuum, c_vacuum, RKIND_wires @@ -47,7 +47,7 @@ module mtl_mod type(transfer_impedance_per_meter_t), dimension(:), allocatable :: initial_connector_transfer_impedances, end_connector_transfer_impedances type(segment_t), dimension(:), allocatable :: segments - type(mtl_source_t), dimension(:), allocatable :: sources + ! type(generator_t), dimension(:), allocatable :: sources #ifdef CompileWithMPI diff --git a/src_mtln/mtl_bundle.F90 b/src_mtln/mtl_bundle.F90 index 08e12207..fff1a0c2 100644 --- a/src_mtln/mtl_bundle.F90 +++ b/src_mtln/mtl_bundle.F90 @@ -2,6 +2,7 @@ module mtl_bundle_mod use utils_mod use probes_mod + use generators_m use dispersive_mod use mtl_mod #ifdef CompileWithMPI @@ -23,7 +24,7 @@ module mtl_bundle_mod real :: time = 0.0, dt = 1e10 ! type homogen - type(mtl_source_t), allocatable, dimension(:) :: sources + type(generator_t), allocatable, dimension(:) :: generators type(probe_t), allocatable, dimension(:) :: probes type(transfer_impedance_t) :: transfer_impedance @@ -45,10 +46,10 @@ module mtl_bundle_mod procedure :: mergeDispersiveMatrices procedure :: initialAllocation procedure :: addProbe + procedure :: addGenerator procedure :: updateLRTerms procedure :: updateCGTerms - procedure :: collectAndInitSources - procedure :: updateSources => bundle_updateSources + procedure :: updateGenerators => bundle_updateGenerators procedure :: advanceVoltage => bundle_advanceVoltage procedure :: advanceCurrent => bundle_advanceCurrent procedure :: addTransferImpedance => bundle_addTransferImpedance @@ -84,6 +85,7 @@ function mtldCtor(levels, name) result(res) res%name = name endif allocate(res%probes(0)) + allocate(res%generators(0)) res%number_of_conductors = countNumberOfConductors(levels) res%dt = levels(1)%lines(1)%dt @@ -96,8 +98,6 @@ function mtldCtor(levels, name) result(res) call res%mergePULMatrices(levels) call res%mergeDispersiveMatrices(levels) - ! call res%collectAndInitSources(levels) - #ifdef CompileWithMPI res%bundle_in_layer = levels(1)%lines(1)%bundle_in_layer res%layer_indices = levels(1)%lines(1)%layer_indices @@ -208,30 +208,6 @@ subroutine mergeDispersiveMatrices(this, levels) end subroutine - subroutine collectAndInitSources(this, levels) - class(mtl_bundle_t) :: this - type(transmission_line_level_t), dimension(:), intent(in) :: levels - integer :: i, j, k, n_sources - n_sources = 0 - do i = 1, size(levels) - do j = 1, size(levels(i)%lines) - n_sources = n_sources + size(levels(i)%lines(j)%sources) - end do - end do - allocate(this%sources(n_sources)) - n_sources = 1 - do i = 1, size(levels) - do j = 1, size(levels(i)%lines) - do k = 1, size(levels(i)%lines(j)%sources) - this%sources(n_sources) = levels(i)%lines(j)%sources(k) - n_sources = n_sources + 1 - end do - end do - end do - - end subroutine - - function buildExternalFieldSegments(levels) result(res) type(transmission_line_level_t), dimension(:), intent(in) :: levels type(external_field_segment_t), dimension(:), allocatable :: res @@ -255,19 +231,39 @@ subroutine addProbe(this, index, probe_type, name, position, layer_indices) character(len=:), allocatable :: name integer(kind=4), dimension(:,:), intent(in), optional :: layer_indices type(probe_t), allocatable, dimension(:) :: aux_probes - type(probe_t) :: newProbe + type(probe_t) :: new_probe aux_probes = this%probes deallocate(this%probes) allocate(this%probes(size(aux_probes)+1)) #ifdef CompileWithMPI - newProbe = probeCtor(index, probe_type, this%dt, name, position, layer_indices = layer_indices) + new_probe = probeCtor(index, probe_type, this%dt, name, position, layer_indices = layer_indices) #else - newProbe = probeCtor(index, probe_type, this%dt, name, position) + new_probe = probeCtor(index, probe_type, this%dt, name, position) #endif this%probes(1:size(this%probes)-1) = aux_probes - this%probes(size(aux_probes)+1) = newProbe + this%probes(size(aux_probes)+1) = new_probe + end subroutine + + subroutine addGenerator(this, index, conductor, gen_type, path) + class(mtl_bundle_t) :: this + integer, intent(in) :: index, conductor, gen_type + character(*), intent(in) :: path + + type(generator_t), allocatable, dimension(:) :: aux_generators + type(generator_t) :: new_generator + aux_generators = this%generators + deallocate(this%generators) + allocate(this%generators(size(aux_generators)+1)) +#ifdef CompileWithMPI + ! new_generator = probeCtor(index, probe_type, this%dt, name, position, layer_indices = layer_indices) +#else + new_generator = generatorCtor(index, conductor, gen_type, path) +#endif + this%generators(1:size(this%generators)-1) = aux_generators + this%generators(size(aux_generators)+1) = new_generator + end subroutine subroutine bundle_setConnectorTransferImpedance(this, index, conductor_out, range_in, transfer_impedance) @@ -368,41 +364,20 @@ subroutine updateCGTerms(this) end subroutine - subroutine bundle_updateSources(this, time, dt) + subroutine bundle_updateGenerators(this, time, dt) class(mtl_bundle_t) ::this real, intent(in) :: time, dt real :: val integer :: i !TODO - do i = 1, size(this%sources) - val = interpolate(this%sources(i), time) - if (this%sources(i)%source_type == SOURCE_TYPE_VOLTAGE) then - this%v_source(this%sources(i)%conductor, this%sources(i)%index) = val - else if (this%sources(i)%source_type == SOURCE_TYPE_CURRENT) then - this%i_source(this%sources(i)%conductor, this%sources(i)%index) = val + do i = 1, size(this%generators) + val = this%generators(i)%interpolate(time) + if (this%generators(i)%source_type == SOURCE_TYPE_VOLTAGE) then + this%v_source(this%generators(i)%conductor, this%generators(i)%index) = val + else if (this%generators(i)%source_type == SOURCE_TYPE_CURRENT) then + this%i_source(this%generators(i)%conductor, this%generators(i)%index) = val end if end do - contains - real function interpolate(source, t) result(res) - class(mtl_source_t) :: source - real :: t, x1, x2, y1, y2 - integer :: index - real, dimension(:), allocatable :: timediff - timediff = source%time - t - index = maxloc(timediff, 1, (timediff) <= 0) - if (index == 0) index = 1 - x1 = source%time(index) - y1 = source%value(index) - if (index+1 > size(source%time)) then - x2 = x1 - y2 = y1 - else - x2 = source%time(index+1) - y2 = source%value(index+1) - end if - - res = (t*(y2-y1) + x2*y1 - x1*y2)/(x2-x1) - end function end subroutine @@ -412,6 +387,7 @@ subroutine bundle_advanceVoltage(this) do i = 2,this%number_of_divisions this%v(:, i) = matmul(this%v_term(i,:,:), this%v(:,i)) - & matmul(this%i_diff(i,:,:), this%i(:,i) - this%i(:,i-1) ) + ! +i_source end do end subroutine diff --git a/src_mtln/mtln_solver.F90 b/src_mtln/mtln_solver.F90 index 073d8ffd..0c14874b 100644 --- a/src_mtln/mtln_solver.F90 +++ b/src_mtln/mtln_solver.F90 @@ -139,7 +139,7 @@ subroutine advanceBundlesVoltage(this) do i = 1, this%number_of_bundles if (this%bundles(i)%bundle_in_layer) then - ! call this%bundles(i)%updateSources(this%time, this%dt) + call this%bundles(i)%updateGenerators(this%time, this%dt) call this%bundles(i)%advanceVoltage() end if end do diff --git a/src_mtln/mtln_types.F90 b/src_mtln/mtln_types.F90 index 43f47eb6..7835e1b9 100644 --- a/src_mtln/mtln_types.F90 +++ b/src_mtln/mtln_types.F90 @@ -40,9 +40,9 @@ module mtln_types_mod integer, parameter :: DIRECTION_Z_NEG = -3 - type generator_t + type parsed_generator_t character(len=256) :: path_to_excitation = "" - integer :: source_type = SOURCE_TYPE_UNDEFINED + integer :: generator_type = SOURCE_TYPE_UNDEFINED type(cable_t), pointer :: attached_to_cable => null() real :: resistance = 0.0 integer :: index = -1, conductor = -1 @@ -52,14 +52,6 @@ module mtln_types_mod generic, public :: operator(==) => wire_source_eq end type - type mtl_source_t - integer :: index, conductor - real, dimension(:), allocatable :: time, value - integer :: source_type = SOURCE_TYPE_UNDEFINED - end type - - - type node_source_t character(len=256) :: path_to_excitation = "" integer :: source_type = SOURCE_TYPE_UNDEFINED @@ -258,7 +250,7 @@ module mtln_types_mod type(cable_abstract_t), dimension(:), allocatable :: cables type(terminal_network_t), dimension(:), allocatable :: networks type(probe_t), dimension(:), allocatable :: probes - type(generator_t), dimension(:), allocatable :: wireGenerators + type(parsed_generator_t), dimension(:), allocatable :: wireGenerators type(connector_t), dimension(:), pointer :: connectors real :: time_step = 0.0 integer :: number_of_steps = 0 @@ -448,10 +440,10 @@ elemental logical function connector_eq(a,b) logical function wire_source_eq(a,b) - class(generator_t), intent(in) :: a, b + class(parsed_generator_t), intent(in) :: a, b wire_source_eq = & (a%path_to_excitation == b%path_to_excitation) .and. & - (a%source_type == b%source_type) .and. & + (a%generator_type == b%generator_type) .and. & (a%resistance == b%resistance) .and. & (a%index == b%index) if (.not. associated(a%attached_to_cable) .or. .not. associated(b%attached_to_cable)) then diff --git a/src_mtln/preprocess.F90 b/src_mtln/preprocess.F90 index 0afd475c..e7caf825 100644 --- a/src_mtln/preprocess.F90 +++ b/src_mtln/preprocess.F90 @@ -33,6 +33,7 @@ module preprocess_mod procedure :: connectNodesToSubcircuit procedure :: addNodeWithId procedure :: addProbesWithId + procedure :: addGenerators end type preprocess_t interface preprocess_t @@ -105,7 +106,7 @@ function preprocess(parsed, alloc) result(res) ! end if ! if (size(parsed%generators) /= 0) then - ! addGenerators(parsed%generators) + call res%addGenerators(parsed%wireGenerators) ! end if @@ -1392,16 +1393,29 @@ function buildNetworkManager(this, terminal_networks) result(res) end function - ! function addGenerators() result(res) + subroutine addGenerators(this, parsed_generators) + class(preprocess_t) :: this + type(parsed_generator_t), dimension(:), allocatable :: parsed_generators + integer :: i, d, stat, n - ! end function + do i = 1, size(parsed_generators) + call this%cable_name_to_bundle_id%get(key = key(parsed_generators(i)%attached_to_cable%name), & + value = d, & + stat=stat) + if (stat /= 0) return + call this%conductors_before_cable%get(key(parsed_generators(i)%attached_to_cable%name), n) + call this%bundles(d)%addGenerator(index = parsed_generators(i)%index, & + conductor = n + parsed_generators(i)%conductor, & + gen_type = parsed_generators(i)%generator_type, & + path = parsed_generators(i)%path_to_excitation) + end do + end subroutine subroutine addProbesWithId(this, parsed_probes) class(preprocess_t) :: this type(parsed_probe_t), dimension(:), allocatable :: parsed_probes - integer :: i, d - integer :: stat + integer :: i, d, stat type(mtl_bundle_t), target :: tbundle character(len=:), allocatable :: probe_name @@ -1412,7 +1426,7 @@ subroutine addProbesWithId(this, parsed_probes) if (stat /= 0) return probe_name = parsed_probes(i)%probe_name//"_"//this%bundles(d)%name - + call this%bundles(d)%addProbe(index = parsed_probes(i)%index, & probe_type = parsed_probes(i)%probe_type,& From e05f7965c46731d9da8bcfbd622a563a6182a476 Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Tue, 10 Mar 2026 10:51:12 +0100 Subject: [PATCH 09/25] Fixed probe count in multiwires --- src_json_parser/smbjson.F90 | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/src_json_parser/smbjson.F90 b/src_json_parser/smbjson.F90 index 77e8f0ad..28b05482 100644 --- a/src_json_parser/smbjson.F90 +++ b/src_json_parser/smbjson.F90 @@ -3298,20 +3298,18 @@ function readMultiwireProbes() result(res) end if wire_probes = [this%jsonValueFilterByKeyValue(probes, J_TYPE, J_PR_TYPE_WIRE)] - n = 0 - do i = 1, size(wire_probes) - if (isProbeDefinedOnMultiwire(wire_probes(i)%p)) n = n + 1 - end do + n = countNumberOfMultiwireProbes(wire_probes) allocate(res(n)) if (n == 0) return - n = 1 + n = 0 do i = 1, size(wire_probes) if (isProbeDefinedOnMultiwire(wire_probes(i)%p)) then ids = getPolylineElemIdOfMultiwireProbe(wire_probes(i)%p) probe_node_coord = GetCoordinateFromElemIdNode(wire_probes(i)%p) do j = 1, size(ids) + n = n + 1 res(n)%probe_name = readProbeName(wire_probes(i)%p) res(n)%probe_type = readProbeType(wire_probes(i)%p) res(n)%probe_position = probe_node_coord%position @@ -3342,7 +3340,6 @@ function readMultiwireProbes() result(res) end if end do res(n)%attached_to_cable => cable_ptr - n = n + 1 end do end if end do @@ -3451,6 +3448,20 @@ logical function isProbeDefinedOnMultiwire(p) isProbeDefinedOnMultiwire = .false. end function + function countNumberOfMultiwireProbes(probes) result(res) + type(json_value_ptr), dimension(:), allocatable :: probes + integer :: i + integer, dimension(:), allocatable :: ids + integer :: res + res = 0 + do i = 1, size(probes) + if (isProbeDefinedOnMultiwire(probes(i)%p)) then + ids = getPolylineElemIdOfMultiwireProbe(probes(i)%p) + res = res + size(ids) + end if + end do + end function + function getPolylineElemIdOfMultiwireProbe(p) result(res) type(json_value), pointer :: p type(polyline_t) :: polyline @@ -3884,16 +3895,16 @@ function buildSegments(j_cable, despl) result(res) select case(abs(res(i)%orientation)) case(DIR_X) res(i)%dualBox = getdualBoxYZ(res(i), despl) - res(i)%d1 = despl%desY(res(i)%y) - res(i)%d2 = despl%desZ(res(i)%z) + res(i)%d1 = despl%desY(res(i)%y-1) + res(i)%d2 = despl%desZ(res(i)%z-1) case(DIR_Y) res(i)%dualBox = getdualBoxZX(res(i), despl) - res(i)%d1 = despl%desZ(res(i)%z) - res(i)%d1 = despl%desX(res(i)%x) + res(i)%d1 = despl%desZ(res(i)%z-1) + res(i)%d1 = despl%desX(res(i)%x-1) case(DIR_Z) res(i)%dualBox = getdualBoxXY(res(i), despl) - res(i)%d1 = despl%desX(res(i)%x) - res(i)%d2 = despl%desY(res(i)%y) + res(i)%d1 = despl%desX(res(i)%x-1) + res(i)%d2 = despl%desY(res(i)%y-1) end select end if From d91711661ae661a9d7a5bed63c9bb2facd446b7a Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Tue, 10 Mar 2026 10:53:23 +0100 Subject: [PATCH 10/25] Removes checks of deprecated mtl has_mutiwires flag --- src_mtln/mtln_types.F90 | 4 ---- test/smbjson/test_read_connectedWires.F90 | 1 - test/smbjson/test_read_holland1981_unshielded.F90 | 1 - test/smbjson/test_read_mtln.F90 | 1 - test/smbjson/test_read_shieldedPair.F90 | 1 - test/smbjson/test_read_towelHanger.F90 | 1 - .../test_read_unshielded_multiwires_multipolar_expansion.F90 | 1 - 7 files changed, 10 deletions(-) diff --git a/src_mtln/mtln_types.F90 b/src_mtln/mtln_types.F90 index 7835e1b9..ab8dc370 100644 --- a/src_mtln/mtln_types.F90 +++ b/src_mtln/mtln_types.F90 @@ -268,10 +268,6 @@ logical function mtln_eq(a,b) class(mtln_t), intent(in) :: a,b integer :: i - ! if (a%has_multiwires .neqv. b%has_multiwires) then - ! mtln_eq = .false. - ! return - ! end if if (a%time_step /= b%time_step) then mtln_eq = .false. return diff --git a/test/smbjson/test_read_connectedWires.F90 b/test/smbjson/test_read_connectedWires.F90 index 13e218fd..70b17eb0 100644 --- a/test/smbjson/test_read_connectedWires.F90 +++ b/test/smbjson/test_read_connectedWires.F90 @@ -77,7 +77,6 @@ function expectedProblemDescription() result (expected) expected%pecRegs%Surfs(1)%tag = "aluminum@ground_plane" ! expected mtln bundles - ! expected%mtln%has_multiwires = .true. expected%mtln%time_step = 1e-12 expected%mtln%number_of_steps = 1000 diff --git a/test/smbjson/test_read_holland1981_unshielded.F90 b/test/smbjson/test_read_holland1981_unshielded.F90 index 128c2e01..5f9b4fb3 100644 --- a/test/smbjson/test_read_holland1981_unshielded.F90 +++ b/test/smbjson/test_read_holland1981_unshielded.F90 @@ -124,7 +124,6 @@ function expectedProblemDescription() result (ex) ! ex%tWires%n_tw_max = 1 - ! ex%mtln%has_multiwires = .true. ex%mtln%time_step = 30e-12 ex%mtln%number_of_steps = 1000 diff --git a/test/smbjson/test_read_mtln.F90 b/test/smbjson/test_read_mtln.F90 index fc189d37..4720ef0b 100644 --- a/test/smbjson/test_read_mtln.F90 +++ b/test/smbjson/test_read_mtln.F90 @@ -83,7 +83,6 @@ function expectedProblemDescription() result (expected) ! Expected mtln type !connectors ! id = 24 - ! expected%mtln%has_multiwires = .true. expected%mtln%time_step = 1e-12 expected%mtln%number_of_steps = 1000 diff --git a/test/smbjson/test_read_shieldedPair.F90 b/test/smbjson/test_read_shieldedPair.F90 index e0b44be7..1b2d02aa 100644 --- a/test/smbjson/test_read_shieldedPair.F90 +++ b/test/smbjson/test_read_shieldedPair.F90 @@ -92,7 +92,6 @@ function expectedProblemDescription() result (expected) ! Expected mtln type - ! expected%mtln%has_multiwires = .true. expected%mtln%time_step = 0.43e-10 expected%mtln%number_of_steps = 700 diff --git a/test/smbjson/test_read_towelHanger.F90 b/test/smbjson/test_read_towelHanger.F90 index e6760110..33caaeae 100644 --- a/test/smbjson/test_read_towelHanger.F90 +++ b/test/smbjson/test_read_towelHanger.F90 @@ -194,7 +194,6 @@ function expectedProblemDescription() result (expected) ! expected%tWires%n_tw_max = 1 ! expected mtln bundles - ! expected%mtln%has_multiwires = .true. expected%mtln%time_step = 1e-12 expected%mtln%number_of_steps = 2000 deallocate(expected%mtln%cables) diff --git a/test/smbjson/test_read_unshielded_multiwires_multipolar_expansion.F90 b/test/smbjson/test_read_unshielded_multiwires_multipolar_expansion.F90 index 1402510a..a8ab2ca1 100644 --- a/test/smbjson/test_read_unshielded_multiwires_multipolar_expansion.F90 +++ b/test/smbjson/test_read_unshielded_multiwires_multipolar_expansion.F90 @@ -83,7 +83,6 @@ function expectedProblemDescription() result (ex) ex%plnSrc%nC_max = 1 ! ex mtln type - ! ex%mtln%has_multiwires = .true. ex%mtln%time_step = 3e-11 ex%mtln%number_of_steps = 1100 deallocate(ex%mtln%cables) From a2cd39049e5f509fe90affd18455428b8f855654 Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Tue, 10 Mar 2026 11:45:59 +0100 Subject: [PATCH 11/25] Adds series/parallel resistance for voltage/current sources --- src_json_parser/smbjson.F90 | 9 ++++++--- src_mtln/generators.F90 | 5 ++++- src_mtln/mtl_bundle.F90 | 13 ++++++++++--- src_mtln/preprocess.F90 | 1 + testData/cases/sources/sources_shielded.fdtd.json | 4 ++-- 5 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src_json_parser/smbjson.F90 b/src_json_parser/smbjson.F90 index 28b05482..b23f20d9 100644 --- a/src_json_parser/smbjson.F90 +++ b/src_json_parser/smbjson.F90 @@ -3174,7 +3174,6 @@ function readWireGenerators() result(res) type(parsed_generator_t), dimension(:), allocatable :: res type(json_value), pointer :: sources type(json_value_ptr), dimension(:), allocatable :: gens - ! class(cable_t), pointer :: cable_ptr logical :: found integer :: i, n type(linel_t), dimension(:), allocatable :: linels @@ -3211,10 +3210,14 @@ function readWireGenerators() result(res) call WarnErrReport('Field block of source of type generator must be current or voltage', .true.) end select res(n)%path_to_excitation = this%getStrAt(gens(i)%p, J_SRC_MAGNITUDE_FILE) - res(n)%resistance = this%getRealAt(gens(i)%p, J_SRC_RESISTANCE_GEN, default = 0.0) + if (.not. this%existsAt(gens(i)%p, J_SRC_RESISTANCE_GEN)) then + call WarnErrReport('Generator resistance missing', .true.) + end if + res(n)%resistance = this%getRealAt(gens(i)%p, J_SRC_RESISTANCE_GEN, default = 0.0) + if (res(n)%resistance == 0.0) call WarnErrReport('Generator resistance equal to 0', .false.) + idAndPos = getPolylineElemIdAndConductorOfGenerator(gens(i)%p) - ! id = getPolylineElemIdOfGenerator(gens(i)%p) call elemIdToCable%get(key(idAndPos(1)), value=index) coord = GetCoordinateFromElemIdNode(gens(i)%p) pl = this%mesh%getPolyline(idAndPos(1)) diff --git a/src_mtln/generators.F90 b/src_mtln/generators.F90 index 7924a158..316bf052 100644 --- a/src_mtln/generators.F90 +++ b/src_mtln/generators.F90 @@ -8,6 +8,7 @@ module generators_m type generator_t integer :: index, conductor real, dimension(:), allocatable :: time, value + real :: resistance integer :: source_type = SOURCE_TYPE_UNDEFINED contains procedure :: initGenerator @@ -21,13 +22,15 @@ module generators_m contains - function generatorCtor(index, conductor, gen_type, path) result(res) + function generatorCtor(index, conductor, gen_type, resistance, path) result(res) type(generator_t) :: res integer, intent(in) :: index, conductor, gen_type + real :: resistance character(*), intent(in) :: path res%index = index res%conductor = conductor + res%resistance = resistance res%source_type = gen_type call res%initGenerator(path) end function diff --git a/src_mtln/mtl_bundle.F90 b/src_mtln/mtl_bundle.F90 index fff1a0c2..542ac62d 100644 --- a/src_mtln/mtl_bundle.F90 +++ b/src_mtln/mtl_bundle.F90 @@ -246,9 +246,10 @@ subroutine addProbe(this, index, probe_type, name, position, layer_indices) this%probes(size(aux_probes)+1) = new_probe end subroutine - subroutine addGenerator(this, index, conductor, gen_type, path) + subroutine addGenerator(this, index, conductor, gen_type, resistance, path) class(mtl_bundle_t) :: this integer, intent(in) :: index, conductor, gen_type + real :: resistance character(*), intent(in) :: path type(generator_t), allocatable, dimension(:) :: aux_generators @@ -259,11 +260,17 @@ subroutine addGenerator(this, index, conductor, gen_type, path) #ifdef CompileWithMPI ! new_generator = probeCtor(index, probe_type, this%dt, name, position, layer_indices = layer_indices) #else - new_generator = generatorCtor(index, conductor, gen_type, path) + new_generator = generatorCtor(index, conductor, gen_type, resistance, path) #endif this%generators(1:size(this%generators)-1) = aux_generators this%generators(size(aux_generators)+1) = new_generator + if (gen_type == SOURCE_TYPE_VOLTAGE) then + this%rpul(index, conductor, conductor) = resistance + else if (new_generator%source_type == SOURCE_TYPE_CURRENT) then + this%gpul(index, conductor, conductor) = resistance + end if + end subroutine subroutine bundle_setConnectorTransferImpedance(this, index, conductor_out, range_in, transfer_impedance) @@ -375,7 +382,7 @@ subroutine bundle_updateGenerators(this, time, dt) if (this%generators(i)%source_type == SOURCE_TYPE_VOLTAGE) then this%v_source(this%generators(i)%conductor, this%generators(i)%index) = val else if (this%generators(i)%source_type == SOURCE_TYPE_CURRENT) then - this%i_source(this%generators(i)%conductor, this%generators(i)%index) = val + this%i_source(this%generators(i)%conductor, this%generators(i)%index) = val end if end do diff --git a/src_mtln/preprocess.F90 b/src_mtln/preprocess.F90 index e7caf825..2484260b 100644 --- a/src_mtln/preprocess.F90 +++ b/src_mtln/preprocess.F90 @@ -1407,6 +1407,7 @@ subroutine addGenerators(this, parsed_generators) call this%bundles(d)%addGenerator(index = parsed_generators(i)%index, & conductor = n + parsed_generators(i)%conductor, & gen_type = parsed_generators(i)%generator_type, & + resistance = parsed_generators(i)%resistance, & path = parsed_generators(i)%path_to_excitation) end do end subroutine diff --git a/testData/cases/sources/sources_shielded.fdtd.json b/testData/cases/sources/sources_shielded.fdtd.json index 78976214..164bbe2d 100644 --- a/testData/cases/sources/sources_shielded.fdtd.json +++ b/testData/cases/sources/sources_shielded.fdtd.json @@ -21,8 +21,8 @@ "name": "Shield", "id": 1, "type": "unshieldedMultiwire", - "inductancePerMeter": [[0.0]], - "capacitancePerMeter": [[0.0]], + "inductancePerMeter": [[3.13182309e-07]], + "capacitancePerMeter": [[85.0e-12]], "resistancePerMeter": [22.9e-3] }, { From ee0ee262486294726678fd701834502c2e1fbac6 Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Tue, 10 Mar 2026 13:13:29 +0100 Subject: [PATCH 12/25] Fixes test moving generator from interior point. Minor to errorreport --- src_main_pub/errorreport.F90 | 2 +- test/pyWrapper/test_mtln_standalone.py | 2 +- .../lineIntegralProbe_plates.fdtd.json | 13 +++++++++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src_main_pub/errorreport.F90 b/src_main_pub/errorreport.F90 index 623bbfb3..93f5fb07 100755 --- a/src_main_pub/errorreport.F90 +++ b/src_main_pub/errorreport.F90 @@ -136,7 +136,7 @@ subroutine StopOnError(layoutnumber,size,message,calledfrommain) #endif call CloseReportingFiles - STOP "stop on error" + STOP 1 return diff --git a/test/pyWrapper/test_mtln_standalone.py b/test/pyWrapper/test_mtln_standalone.py index 5da4e8f3..02766499 100644 --- a/test/pyWrapper/test_mtln_standalone.py +++ b/test/pyWrapper/test_mtln_standalone.py @@ -191,7 +191,7 @@ def test_mtln_sources(tmp_path): flags = ["-n", "1"]) solver["materials"][0] = createWire(id = 1, r = 0.02) - solver["mesh"]["elements"][3]["coordinateIds"] = [2] + solver["mesh"]["elements"][3]["coordinateIds"] = [1] source = { "type" : "generator", "field" : "voltage", "elementIds" : [4], diff --git a/testData/cases/lineIntegralProbe/lineIntegralProbe_plates.fdtd.json b/testData/cases/lineIntegralProbe/lineIntegralProbe_plates.fdtd.json index 3fe042f7..88974622 100644 --- a/testData/cases/lineIntegralProbe/lineIntegralProbe_plates.fdtd.json +++ b/testData/cases/lineIntegralProbe/lineIntegralProbe_plates.fdtd.json @@ -34,7 +34,8 @@ "elements": [ {"id": 1, "type": "cell", "intervals": [[[10, 10, 10], [30, 30, 10]]] }, {"id": 2, "type": "cell", "intervals": [[[10, 10, 30], [30, 30, 30]]] }, - {"id": 3, "type": "polyline", "coordinateIds": [1, 2 ,3, 4, 5, 6, 7] }, + {"id": 3, "type": "polyline", "coordinateIds": [1, 2 ,3, 4] }, + {"id": 6, "type": "polyline", "coordinateIds": [4, 5, 6, 7] }, {"id": 4, "type": "polyline", "coordinateIds": [1, 7] }, {"id": 5, "type": "node", "coordinateIds": [4] } ] @@ -82,6 +83,13 @@ "endTerminalId": 4, "elementIds": [3] }, + { + "name" : "wire2", + "materialId": 1, + "initialTerminalId": 4, + "endTerminalId": 4, + "elementIds": [6] + }, { "name" : "plate1", "materialId" : 5, @@ -100,7 +108,8 @@ "type": "generator", "field": "voltage", "magnitudeFile": "lineIntegralProbe_plates.exc", - "elementIds": [5] + "elementIds": [5], + "resistance" : 0.0 } ], From 07a12f3d0b6c690bf3133c355fb9f24bc6a7be40 Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Wed, 11 Mar 2026 14:44:06 +0100 Subject: [PATCH 13/25] [WIP] FSTS update equations with soft/hard source --- src_mtln/mtl_bundle.F90 | 24 +- test/pyWrapper/test_mtln_standalone.py | 8 + testData/cases/sources/current_source_1A.exc | 1667 +++++++++++++++++ .../cases/sources/sources_current.fdtd.json | 291 +++ testData/cases/sources/sources_prepost.py | 112 ++ 5 files changed, 2095 insertions(+), 7 deletions(-) create mode 100644 testData/cases/sources/current_source_1A.exc create mode 100644 testData/cases/sources/sources_current.fdtd.json create mode 100644 testData/cases/sources/sources_prepost.py diff --git a/src_mtln/mtl_bundle.F90 b/src_mtln/mtl_bundle.F90 index 542ac62d..d7754758 100644 --- a/src_mtln/mtl_bundle.F90 +++ b/src_mtln/mtl_bundle.F90 @@ -266,9 +266,10 @@ subroutine addGenerator(this, index, conductor, gen_type, resistance, path) this%generators(size(aux_generators)+1) = new_generator if (gen_type == SOURCE_TYPE_VOLTAGE) then - this%rpul(index, conductor, conductor) = resistance + ! this%rpul(index, conductor, conductor) = this%rpul(index, conductor, conductor) + resistance else if (new_generator%source_type == SOURCE_TYPE_CURRENT) then - this%gpul(index, conductor, conductor) = resistance + ! this%rpul(index, conductor, conductor) = this%rpul(index, conductor, conductor) + resistance + ! this%gpul(index, conductor, conductor) = this%gpul(index, conductor, conductor) + 1.0/resistance end if end subroutine @@ -378,10 +379,14 @@ subroutine bundle_updateGenerators(this, time, dt) integer :: i !TODO do i = 1, size(this%generators) - val = this%generators(i)%interpolate(time) + val = this%generators(i)%interpolate(time+0.5*dt) + ! val = 0.5*(this%generators(i)%interpolate(time-0.5*dt)+this%generators(i)%interpolate(time+0.5*dt)) if (this%generators(i)%source_type == SOURCE_TYPE_VOLTAGE) then this%v_source(this%generators(i)%conductor, this%generators(i)%index) = val else if (this%generators(i)%source_type == SOURCE_TYPE_CURRENT) then + ! this%v_source(this%generators(i)%conductor, this%generators(i)%index) = 0.5*val*this%generators(i)%resistance + ! this%v_source(this%generators(i)%conductor, this%generators(i)%index-1) = -0.5*val*this%generators(i)%resistance + ! this%i_source(this%generators(i)%conductor, this%generators(i)%index-1) = 0.5*val this%i_source(this%generators(i)%conductor, this%generators(i)%index) = val end if end do @@ -393,8 +398,8 @@ subroutine bundle_advanceVoltage(this) integer :: i do i = 2,this%number_of_divisions this%v(:, i) = matmul(this%v_term(i,:,:), this%v(:,i)) - & - matmul(this%i_diff(i,:,:), this%i(:,i) - this%i(:,i-1) ) - ! +i_source + matmul(this%i_diff(i,:,:), (this%i(:,i) - this%i(:,i-1)) + & + this%i_source(:,i)) end do end subroutine @@ -418,10 +423,15 @@ subroutine bundle_advanceCurrent(this) do i = 1, this%number_of_divisions this%i(:,i) = matmul(this%i_term(i,:,:), this%i(:,i)) - & matmul(this%v_diff(i,:,:), (this%v(:,i+1) - this%v(:,i)) - & - this%e_L(:,i) * this%step_size(i) - & - this%v_source(:,i)) - & + this%e_L(:,i) * this%step_size(i)) - & + ! this%v_source(:,i)) - & matmul(this%v_diff(i,:,:), matmul(this%du(i,:,:), this%transfer_impedance%q3_phi(i,:))) + ! this%i(:,i) = this%i_source(:,i) enddo + do i = 1, size(this%generators) + this%i(this%generators(i)%conductor, this%generators(i)%index) = & + this%i_source(this%generators(i)%conductor, this%generators(i)%index) + end do !TODO - revisar i_now = this%i call this%transfer_impedance%updatePhi(i_prev, i_now) diff --git a/test/pyWrapper/test_mtln_standalone.py b/test/pyWrapper/test_mtln_standalone.py index 02766499..e01fd332 100644 --- a/test/pyWrapper/test_mtln_standalone.py +++ b/test/pyWrapper/test_mtln_standalone.py @@ -180,6 +180,14 @@ def test_spice_zener(tmp_path): assert np.allclose(p_expected.data.to_numpy()[ :-5, :], p_solved.data.to_numpy()[:-5, :], rtol=0.01, atol=0.05e-3) +def test_current_source(tmp_path): + fn = CASES_FOLDER + 'sources/current_source.fdtd.json' + solver = FDTD(input_filename=fn, + path_to_exe=SEMBA_EXE, + run_in_folder=tmp_path, + flags = ["-n", "1"]) + + @no_mtln_skip @pytest.mark.mtln def test_mtln_sources(tmp_path): diff --git a/testData/cases/sources/current_source_1A.exc b/testData/cases/sources/current_source_1A.exc new file mode 100644 index 00000000..aae190ca --- /dev/null +++ b/testData/cases/sources/current_source_1A.exc @@ -0,0 +1,1667 @@ +0.000000000000000000e+00 0.000000000000000000e+00 +2.999999999999999980e-11 0.000000000000000000e+00 +5.999999999999999960e-11 0.000000000000000000e+00 +8.999999999999999940e-11 0.000000000000000000e+00 +1.199999999999999992e-10 0.000000000000000000e+00 +1.499999999999999990e-10 0.000000000000000000e+00 +1.799999999999999988e-10 0.000000000000000000e+00 +2.099999999999999986e-10 0.000000000000000000e+00 +2.399999999999999984e-10 0.000000000000000000e+00 +2.699999999999999982e-10 0.000000000000000000e+00 +2.999999999999999980e-10 0.000000000000000000e+00 +3.299999999999999978e-10 0.000000000000000000e+00 +3.599999999999999976e-10 0.000000000000000000e+00 +3.899999999999999974e-10 0.000000000000000000e+00 +4.199999999999999972e-10 0.000000000000000000e+00 +4.499999999999999970e-10 0.000000000000000000e+00 +4.799999999999999968e-10 0.000000000000000000e+00 +5.099999999999999966e-10 0.000000000000000000e+00 +5.399999999999999964e-10 0.000000000000000000e+00 +5.699999999999999962e-10 0.000000000000000000e+00 +5.999999999999999960e-10 0.000000000000000000e+00 +6.299999999999999958e-10 0.000000000000000000e+00 +6.599999999999999956e-10 0.000000000000000000e+00 +6.899999999999999954e-10 0.000000000000000000e+00 +7.199999999999999952e-10 0.000000000000000000e+00 +7.499999999999999950e-10 0.000000000000000000e+00 +7.799999999999999948e-10 0.000000000000000000e+00 +8.099999999999999946e-10 0.000000000000000000e+00 +8.399999999999999944e-10 0.000000000000000000e+00 +8.699999999999999942e-10 0.000000000000000000e+00 +8.999999999999999940e-10 0.000000000000000000e+00 +9.299999999999999938e-10 0.000000000000000000e+00 +9.599999999999999936e-10 0.000000000000000000e+00 +9.900000000000000968e-10 0.000000000000000000e+00 +1.019999999999999993e-09 0.000000000000000000e+00 +1.049999999999999890e-09 0.000000000000000000e+00 +1.079999999999999993e-09 0.000000000000000000e+00 +1.110000000000000096e-09 0.000000000000000000e+00 +1.139999999999999992e-09 0.000000000000000000e+00 +1.169999999999999889e-09 0.000000000000000000e+00 +1.199999999999999992e-09 0.000000000000000000e+00 +1.230000000000000095e-09 0.000000000000000000e+00 +1.259999999999999992e-09 0.000000000000000000e+00 +1.289999999999999888e-09 0.000000000000000000e+00 +1.319999999999999991e-09 0.000000000000000000e+00 +1.350000000000000094e-09 0.000000000000000000e+00 +1.379999999999999991e-09 0.000000000000000000e+00 +1.409999999999999887e-09 0.000000000000000000e+00 +1.439999999999999990e-09 0.000000000000000000e+00 +1.470000000000000094e-09 0.000000000000000000e+00 +1.499999999999999990e-09 0.000000000000000000e+00 +1.529999999999999886e-09 0.000000000000000000e+00 +1.559999999999999990e-09 0.000000000000000000e+00 +1.590000000000000093e-09 0.000000000000000000e+00 +1.619999999999999989e-09 0.000000000000000000e+00 +1.649999999999999886e-09 0.000000000000000000e+00 +1.679999999999999989e-09 0.000000000000000000e+00 +1.710000000000000092e-09 0.000000000000000000e+00 +1.739999999999999988e-09 0.000000000000000000e+00 +1.769999999999999885e-09 0.000000000000000000e+00 +1.799999999999999988e-09 0.000000000000000000e+00 +1.830000000000000091e-09 0.000000000000000000e+00 +1.859999999999999988e-09 0.000000000000000000e+00 +1.889999999999999884e-09 0.000000000000000000e+00 +1.919999999999999987e-09 0.000000000000000000e+00 +1.950000000000000090e-09 0.000000000000000000e+00 +1.980000000000000194e-09 0.000000000000000000e+00 +2.009999999999999883e-09 0.000000000000000000e+00 +2.039999999999999986e-09 0.000000000000000000e+00 +2.070000000000000090e-09 0.000000000000000000e+00 +2.099999999999999779e-09 0.000000000000000000e+00 +2.129999999999999882e-09 0.000000000000000000e+00 +2.159999999999999986e-09 0.000000000000000000e+00 +2.190000000000000089e-09 0.000000000000000000e+00 +2.220000000000000192e-09 0.000000000000000000e+00 +2.249999999999999882e-09 0.000000000000000000e+00 +2.279999999999999985e-09 0.000000000000000000e+00 +2.310000000000000088e-09 0.000000000000000000e+00 +2.339999999999999778e-09 0.000000000000000000e+00 +2.369999999999999881e-09 0.000000000000000000e+00 +2.399999999999999984e-09 0.000000000000000000e+00 +2.430000000000000087e-09 0.000000000000000000e+00 +2.460000000000000190e-09 0.000000000000000000e+00 +2.489999999999999880e-09 0.000000000000000000e+00 +2.519999999999999983e-09 7.272727272727248435e-04 +2.550000000000000086e-09 1.818181818181819698e-03 +2.579999999999999776e-09 2.909090909090899374e-03 +2.609999999999999879e-09 3.999999999999994012e-03 +2.639999999999999982e-09 5.090909090909088650e-03 +2.670000000000000086e-09 6.181818181818183287e-03 +2.700000000000000189e-09 7.272727272727278792e-03 +2.729999999999999878e-09 8.363636363636357818e-03 +2.759999999999999982e-09 9.454545454545453323e-03 +2.790000000000000085e-09 1.054545454545454709e-02 +2.819999999999999774e-09 1.163636363636362699e-02 +2.849999999999999878e-09 1.272727272727272249e-02 +2.879999999999999981e-09 1.381818181818181626e-02 +2.910000000000000084e-09 1.490909090909091177e-02 +2.940000000000000187e-09 1.600000000000000727e-02 +2.969999999999999877e-09 1.709090909090908716e-02 +2.999999999999999980e-09 1.818181818181818094e-02 +3.030000000000000083e-09 1.927272727272727471e-02 +3.059999999999999773e-09 2.036363636363635460e-02 +3.089999999999999876e-09 2.145454545454545184e-02 +3.119999999999999979e-09 2.254545454545454561e-02 +3.150000000000000082e-09 2.363636363636363938e-02 +3.180000000000000186e-09 2.472727272727273315e-02 +3.209999999999999875e-09 2.581818181818181304e-02 +3.239999999999999978e-09 2.690909090909091028e-02 +3.270000000000000082e-09 2.800000000000000405e-02 +3.299999999999999771e-09 2.909090909090908394e-02 +3.329999999999999874e-09 3.018181818181817772e-02 +3.359999999999999978e-09 3.127272727272727149e-02 +3.390000000000000081e-09 3.236363636363636526e-02 +3.420000000000000184e-09 3.345454545454545903e-02 +3.449999999999999874e-09 3.454545454545453892e-02 +3.479999999999999977e-09 3.563636363636363963e-02 +3.510000000000000080e-09 3.672727272727273340e-02 +3.539999999999999770e-09 3.781818181818181329e-02 +3.569999999999999873e-09 3.890909090909090706e-02 +3.599999999999999976e-09 4.000000000000000083e-02 +3.630000000000000079e-09 4.109090909090909460e-02 +3.660000000000000182e-09 4.218181818181818837e-02 +3.689999999999999872e-09 4.327272727272726827e-02 +3.719999999999999975e-09 4.436363636363636204e-02 +3.749999999999999665e-09 4.545454545454544193e-02 +3.779999999999999768e-09 4.654545454545454264e-02 +3.809999999999999871e-09 4.763636363636363641e-02 +3.839999999999999974e-09 4.872727272727273018e-02 +3.870000000000000078e-09 4.981818181818182395e-02 +3.900000000000000181e-09 5.090909090909091772e-02 +3.930000000000000284e-09 5.200000000000001149e-02 +3.960000000000000387e-09 5.309090909090910526e-02 +3.989999999999999663e-09 5.418181818181817128e-02 +4.019999999999999766e-09 5.527272727272726505e-02 +4.049999999999999870e-09 5.636363636363635882e-02 +4.079999999999999973e-09 5.745454545454545953e-02 +4.110000000000000076e-09 5.854545454545455330e-02 +4.140000000000000179e-09 5.963636363636364707e-02 +4.170000000000000282e-09 6.072727272727274084e-02 +4.199999999999999558e-09 6.181818181818180685e-02 +4.229999999999999662e-09 6.290909090909090062e-02 +4.259999999999999765e-09 6.400000000000000133e-02 +4.289999999999999868e-09 6.509090909090908816e-02 +4.319999999999999971e-09 6.618181818181818887e-02 +4.350000000000000074e-09 6.727272727272727570e-02 +4.380000000000000178e-09 6.836363636363637641e-02 +4.410000000000000281e-09 6.945454545454546325e-02 +4.440000000000000384e-09 7.054545454545456395e-02 +4.469999999999999660e-09 7.163636363636362303e-02 +4.499999999999999763e-09 7.272727272727272374e-02 +4.529999999999999866e-09 7.381818181818182445e-02 +4.559999999999999970e-09 7.490909090909091128e-02 +4.590000000000000073e-09 7.600000000000001199e-02 +4.620000000000000176e-09 7.709090909090909882e-02 +4.650000000000000279e-09 7.818181818181819953e-02 +4.679999999999999555e-09 7.927272727272725861e-02 +4.709999999999999658e-09 8.036363636363635932e-02 +4.739999999999999762e-09 8.145454545454544615e-02 +4.769999999999999865e-09 8.254545454545454686e-02 +4.799999999999999968e-09 8.363636363636364757e-02 +4.830000000000000071e-09 8.472727272727273440e-02 +4.860000000000000174e-09 8.581818181818183511e-02 +4.890000000000000278e-09 8.690909090909092194e-02 +4.920000000000000381e-09 8.800000000000002265e-02 +4.949999999999999657e-09 8.909090909090908172e-02 +4.979999999999999760e-09 9.018181818181818243e-02 +5.009999999999999863e-09 9.127272727272726927e-02 +5.039999999999999966e-09 9.236363636363636997e-02 +5.070000000000000070e-09 9.345454545454547068e-02 +5.100000000000000173e-09 9.454545454545455752e-02 +5.130000000000000276e-09 9.563636363636365822e-02 +5.159999999999999552e-09 9.672727272727271730e-02 +5.189999999999999655e-09 9.781818181818181801e-02 +5.219999999999999758e-09 9.890909090909090484e-02 +5.249999999999999862e-09 1.000000000000000056e-01 +5.279999999999999965e-09 1.010909090909090924e-01 +5.310000000000000068e-09 1.021818181818181931e-01 +5.340000000000000171e-09 1.032727272727272799e-01 +5.370000000000000274e-09 1.043636363636363806e-01 +5.400000000000000378e-09 1.054545454545454813e-01 +5.429999999999999654e-09 1.065454545454545404e-01 +5.459999999999999757e-09 1.076363636363636411e-01 +5.489999999999999860e-09 1.087272727272727280e-01 +5.519999999999999963e-09 1.098181818181818287e-01 +5.550000000000000066e-09 1.109090909090909155e-01 +5.580000000000000170e-09 1.120000000000000162e-01 +5.610000000000000273e-09 1.130909090909091030e-01 +5.639999999999999549e-09 1.141818181818181760e-01 +5.669999999999999652e-09 1.152727272727272628e-01 +5.699999999999999755e-09 1.163636363636363635e-01 +5.729999999999999858e-09 1.174545454545454642e-01 +5.759999999999999962e-09 1.185454545454545511e-01 +5.790000000000000065e-09 1.196363636363636518e-01 +5.820000000000000168e-09 1.207272727272727386e-01 +5.850000000000000271e-09 1.218181818181818393e-01 +5.880000000000000374e-09 1.229090909090909262e-01 +5.909999999999999651e-09 1.239999999999999991e-01 +5.939999999999999754e-09 1.250909090909090859e-01 +5.969999999999999857e-09 1.261818181818181728e-01 +5.999999999999999960e-09 1.272727272727272874e-01 +6.030000000000000063e-09 1.283636363636363742e-01 +6.060000000000000166e-09 1.294545454545454610e-01 +6.090000000000000270e-09 1.305454545454545756e-01 +6.119999999999999546e-09 1.316363636363636347e-01 +6.149999999999999649e-09 1.327272727272727215e-01 +6.179999999999999752e-09 1.338181818181818084e-01 +6.209999999999999855e-09 1.349090909090909229e-01 +6.239999999999999959e-09 1.360000000000000098e-01 +6.270000000000000062e-09 1.370909090909090966e-01 +6.300000000000000165e-09 1.381818181818182112e-01 +6.330000000000000268e-09 1.392727272727272980e-01 +6.360000000000000371e-09 1.403636363636363849e-01 +6.389999999999999647e-09 1.414545454545454439e-01 +6.419999999999999751e-09 1.425454545454545585e-01 +6.449999999999999854e-09 1.436363636363636453e-01 +6.479999999999999957e-09 1.447272727272727322e-01 +6.510000000000000060e-09 1.458181818181818190e-01 +6.540000000000000163e-09 1.469090909090909336e-01 +6.570000000000000267e-09 1.480000000000000204e-01 +6.599999999999999543e-09 1.490909090909090795e-01 +6.629999999999999646e-09 1.501818181818181941e-01 +6.659999999999999749e-09 1.512727272727272809e-01 +6.689999999999999852e-09 1.523636363636363678e-01 +6.719999999999999955e-09 1.534545454545454546e-01 +6.750000000000000059e-09 1.545454545454545692e-01 +6.780000000000000162e-09 1.556363636363636560e-01 +6.810000000000000265e-09 1.567272727272727428e-01 +6.840000000000000368e-09 1.578181818181818574e-01 +6.869999999999999644e-09 1.589090909090909165e-01 +6.899999999999999747e-09 1.600000000000000033e-01 +6.929999999999999851e-09 1.610909090909090902e-01 +6.959999999999999954e-09 1.621818181818182047e-01 +6.990000000000000057e-09 1.632727272727272916e-01 +7.020000000000000160e-09 1.643636363636363784e-01 +7.050000000000000263e-09 1.654545454545454652e-01 +7.079999999999999539e-09 1.665454545454545521e-01 +7.109999999999999643e-09 1.676363636363636389e-01 +7.139999999999999746e-09 1.687272727272727257e-01 +7.169999999999999849e-09 1.698181818181818403e-01 +7.199999999999999952e-09 1.709090909090909272e-01 +7.230000000000000055e-09 1.720000000000000140e-01 +7.260000000000000159e-09 1.730909090909091008e-01 +7.290000000000000262e-09 1.741818181818182154e-01 +7.320000000000000365e-09 1.752727272727273022e-01 +7.349999999999999641e-09 1.763636363636363613e-01 +7.379999999999999744e-09 1.774545454545454481e-01 +7.409999999999999847e-09 1.785454545454545627e-01 +7.439999999999999951e-09 1.796363636363636496e-01 +7.470000000000000054e-09 1.807272727272727364e-01 +7.499999999999999330e-09 1.818181818181817955e-01 +7.530000000000000260e-09 1.829090909090909378e-01 +7.559999999999999536e-09 1.839999999999999969e-01 +7.590000000000000467e-09 1.850909090909091115e-01 +7.619999999999999743e-09 1.861818181818181983e-01 +7.650000000000000673e-09 1.872727272727273129e-01 +7.679999999999999949e-09 1.883636363636363720e-01 +7.709999999999999225e-09 1.894545454545454310e-01 +7.740000000000000155e-09 1.905454545454545734e-01 +7.769999999999999431e-09 1.916363636363636325e-01 +7.800000000000000362e-09 1.927272727272727471e-01 +7.829999999999999638e-09 1.938181818181818339e-01 +7.860000000000000568e-09 1.949090909090909485e-01 +7.889999999999999844e-09 1.960000000000000075e-01 +7.920000000000000775e-09 1.970909090909091221e-01 +7.950000000000000051e-09 1.981818181818182090e-01 +7.979999999999999327e-09 1.992727272727272680e-01 +8.010000000000000257e-09 2.003636363636363826e-01 +8.039999999999999533e-09 2.014545454545454417e-01 +8.070000000000000463e-09 2.025454545454545840e-01 +8.099999999999999739e-09 2.036363636363636431e-01 +8.130000000000000670e-09 2.047272727272727577e-01 +8.159999999999999946e-09 2.058181818181818445e-01 +8.189999999999999222e-09 2.069090909090909036e-01 +8.220000000000000152e-09 2.080000000000000182e-01 +8.249999999999999428e-09 2.090909090909090773e-01 +8.280000000000000359e-09 2.101818181818182196e-01 +8.309999999999999635e-09 2.112727272727272787e-01 +8.340000000000000565e-09 2.123636363636363933e-01 +8.369999999999999841e-09 2.134545454545454801e-01 +8.399999999999999117e-09 2.145454545454545392e-01 +8.430000000000000047e-09 2.156363636363636538e-01 +8.459999999999999323e-09 2.167272727272727129e-01 +8.490000000000000254e-09 2.178181818181818552e-01 +8.519999999999999530e-09 2.189090909090909143e-01 +8.550000000000000460e-09 2.200000000000000289e-01 +8.579999999999999736e-09 2.210909090909090879e-01 +8.610000000000000667e-09 2.221818181818182303e-01 +8.639999999999999943e-09 2.232727272727272894e-01 +8.669999999999999219e-09 2.243636363636363484e-01 +8.700000000000000149e-09 2.254545454545454908e-01 +8.729999999999999425e-09 2.265454545454545499e-01 +8.760000000000000355e-09 2.276363636363636644e-01 +8.789999999999999631e-09 2.287272727272727235e-01 +8.820000000000000562e-09 2.298181818181818659e-01 +8.849999999999999838e-09 2.309090909090909249e-01 +8.880000000000000768e-09 2.320000000000000395e-01 +8.910000000000000044e-09 2.330909090909090986e-01 +8.939999999999999320e-09 2.341818181818181854e-01 +8.970000000000000251e-09 2.352727272727273000e-01 +8.999999999999999527e-09 2.363636363636363591e-01 +9.030000000000000457e-09 2.374545454545455014e-01 +9.059999999999999733e-09 2.385454545454545605e-01 +9.090000000000000663e-09 2.396363636363636751e-01 +9.119999999999999939e-09 2.407272727272727342e-01 +9.149999999999999215e-09 2.418181818181818210e-01 +9.180000000000000146e-09 2.429090909090909356e-01 +9.209999999999999422e-09 2.439999999999999947e-01 +9.240000000000000352e-09 2.450909090909091370e-01 +9.269999999999999628e-09 2.461818181818181961e-01 +9.300000000000000559e-09 2.472727272727273107e-01 +9.329999999999999835e-09 2.483636363636363698e-01 +9.359999999999999111e-09 2.494545454545454566e-01 +9.390000000000000041e-09 2.505454545454545712e-01 +9.419999999999999317e-09 2.516363636363636580e-01 +9.450000000000000247e-09 2.527272727272727448e-01 +9.479999999999999523e-09 2.538181818181818317e-01 +9.510000000000000454e-09 2.549090909090909740e-01 +9.539999999999999730e-09 2.560000000000000053e-01 +9.570000000000000660e-09 2.570909090909091477e-01 +9.599999999999999936e-09 2.581818181818181790e-01 +9.629999999999999212e-09 2.592727272727272658e-01 +9.660000000000000143e-09 2.603636363636364082e-01 +9.689999999999999419e-09 2.614545454545454395e-01 +9.720000000000000349e-09 2.625454545454545818e-01 +9.749999999999999625e-09 2.636363636363636687e-01 +9.780000000000000555e-09 2.647272727272727555e-01 +9.809999999999999831e-09 2.658181818181818423e-01 +9.840000000000000762e-09 2.669090909090909847e-01 +9.870000000000000038e-09 2.680000000000000160e-01 +9.899999999999999314e-09 2.690909090909091028e-01 +9.930000000000000244e-09 2.701818181818181897e-01 +9.959999999999999520e-09 2.712727272727272210e-01 +9.990000000000000451e-09 2.723636363636363633e-01 +1.001999999999999973e-08 2.734545454545455057e-01 +1.005000000000000066e-08 2.745454545454546480e-01 +1.007999999999999993e-08 2.756363636363636238e-01 +1.010999999999999921e-08 2.767272727272727662e-01 +1.014000000000000014e-08 2.778181818181818530e-01 +1.016999999999999942e-08 2.789090909090908843e-01 +1.020000000000000035e-08 2.800000000000000266e-01 +1.022999999999999962e-08 2.810909090909091135e-01 +1.026000000000000055e-08 2.821818181818182558e-01 +1.028999999999999983e-08 2.832727272727272871e-01 +1.031999999999999910e-08 2.843636363636363740e-01 +1.035000000000000003e-08 2.854545454545455163e-01 +1.037999999999999931e-08 2.865454545454544921e-01 +1.041000000000000024e-08 2.876363636363636345e-01 +1.043999999999999952e-08 2.887272727272727768e-01 +1.047000000000000045e-08 2.898181818181818636e-01 +1.049999999999999972e-08 2.909090909090908950e-01 +1.053000000000000065e-08 2.920000000000000373e-01 +1.055999999999999993e-08 2.930909090909091241e-01 +1.058999999999999921e-08 2.941818181818181555e-01 +1.062000000000000014e-08 2.952727272727272978e-01 +1.064999999999999941e-08 2.963636363636363846e-01 +1.068000000000000034e-08 2.974545454545455270e-01 +1.070999999999999962e-08 2.985454545454545028e-01 +1.074000000000000055e-08 2.996363636363636451e-01 +1.076999999999999982e-08 3.007272727272727875e-01 +1.080000000000000076e-08 3.018181818181818743e-01 +1.083000000000000003e-08 3.029090909090909056e-01 +1.085999999999999931e-08 3.040000000000000480e-01 +1.089000000000000024e-08 3.050909090909091348e-01 +1.091999999999999951e-08 3.061818181818181661e-01 +1.095000000000000044e-08 3.072727272727273085e-01 +1.097999999999999972e-08 3.083636363636363953e-01 +1.101000000000000065e-08 3.094545454545455376e-01 +1.103999999999999993e-08 3.105454545454545134e-01 +1.106999999999999920e-08 3.116363636363636558e-01 +1.110000000000000013e-08 3.127272727272727981e-01 +1.112999999999999941e-08 3.138181818181817739e-01 +1.116000000000000034e-08 3.149090909090909163e-01 +1.118999999999999962e-08 3.160000000000000586e-01 +1.122000000000000055e-08 3.170909090909091455e-01 +1.124999999999999982e-08 3.181818181818181768e-01 +1.127999999999999910e-08 3.192727272727273191e-01 +1.131000000000000003e-08 3.203636363636364059e-01 +1.133999999999999930e-08 3.214545454545454373e-01 +1.137000000000000023e-08 3.225454545454545796e-01 +1.139999999999999951e-08 3.236363636363636664e-01 +1.143000000000000044e-08 3.247272727272728088e-01 +1.145999999999999972e-08 3.258181818181817846e-01 +1.149000000000000065e-08 3.269090909090909269e-01 +1.151999999999999992e-08 3.280000000000000693e-01 +1.154999999999999920e-08 3.290909090909090451e-01 +1.158000000000000013e-08 3.301818181818181874e-01 +1.160999999999999941e-08 3.312727272727273298e-01 +1.164000000000000034e-08 3.323636363636364166e-01 +1.166999999999999961e-08 3.334545454545454479e-01 +1.170000000000000054e-08 3.345454545454545903e-01 +1.172999999999999982e-08 3.356363636363636771e-01 +1.176000000000000075e-08 3.367272727272728194e-01 +1.179000000000000002e-08 3.378181818181817953e-01 +1.181999999999999930e-08 3.389090909090909376e-01 +1.185000000000000023e-08 3.400000000000000799e-01 +1.187999999999999951e-08 3.410909090909090557e-01 +1.191000000000000044e-08 3.421818181818181981e-01 +1.193999999999999971e-08 3.432727272727273404e-01 +1.197000000000000064e-08 3.443636363636364273e-01 +1.199999999999999992e-08 3.454545454545454586e-01 +1.202999999999999920e-08 3.465454545454546009e-01 +1.206000000000000013e-08 3.476363636363636878e-01 +1.208999999999999940e-08 3.487272727272727191e-01 +1.212000000000000033e-08 3.498181818181818059e-01 +1.214999999999999961e-08 3.509090909090909483e-01 +1.218000000000000054e-08 3.520000000000000906e-01 +1.220999999999999982e-08 3.530909090909090664e-01 +1.223999999999999909e-08 3.541818181818182087e-01 +1.227000000000000002e-08 3.552727272727273511e-01 +1.229999999999999930e-08 3.563636363636363269e-01 +1.233000000000000023e-08 3.574545454545454692e-01 +1.235999999999999950e-08 3.585454545454546116e-01 +1.239000000000000043e-08 3.596363636363636984e-01 +1.241999999999999971e-08 3.607272727272727297e-01 +1.245000000000000064e-08 3.618181818181818166e-01 +1.247999999999999992e-08 3.629090909090909589e-01 +1.250999999999999919e-08 3.639999999999999902e-01 +1.254000000000000012e-08 3.650909090909090771e-01 +1.256999999999999940e-08 3.661818181818182194e-01 +1.260000000000000033e-08 3.672727272727273617e-01 +1.262999999999999961e-08 3.683636363636363376e-01 +1.266000000000000054e-08 3.694545454545454799e-01 +1.268999999999999981e-08 3.705454545454546222e-01 +1.272000000000000074e-08 3.716363636363637091e-01 +1.275000000000000002e-08 3.727272727272727404e-01 +1.277999999999999929e-08 3.738181818181818827e-01 +1.281000000000000023e-08 3.749090909090909696e-01 +1.283999999999999950e-08 3.760000000000000009e-01 +1.287000000000000043e-08 3.770909090909090877e-01 +1.289999999999999971e-08 3.781818181818182301e-01 +1.293000000000000064e-08 3.792727272727273724e-01 +1.295999999999999991e-08 3.803636363636363482e-01 +1.298999999999999919e-08 3.814545454545454906e-01 +1.302000000000000012e-08 3.825454545454546329e-01 +1.304999999999999940e-08 3.836363636363636087e-01 +1.308000000000000033e-08 3.847272727272727511e-01 +1.310999999999999960e-08 3.858181818181818934e-01 +1.314000000000000053e-08 3.869090909090909802e-01 +1.316999999999999981e-08 3.880000000000000115e-01 +1.319999999999999909e-08 3.890909090909090984e-01 +1.323000000000000002e-08 3.901818181818182407e-01 +1.325999999999999929e-08 3.912727272727272720e-01 +1.329000000000000022e-08 3.923636363636363589e-01 +1.331999999999999950e-08 3.934545454545455012e-01 +1.335000000000000043e-08 3.945454545454546436e-01 +1.337999999999999970e-08 3.956363636363636194e-01 +1.341000000000000063e-08 3.967272727272727617e-01 +1.343999999999999991e-08 3.978181818181819041e-01 +1.346999999999999919e-08 3.989090909090908799e-01 +1.350000000000000012e-08 4.000000000000000222e-01 +1.352999999999999939e-08 4.010909090909091090e-01 +1.356000000000000032e-08 4.021818181818182514e-01 +1.358999999999999960e-08 4.032727272727272827e-01 +1.362000000000000053e-08 4.043636363636363695e-01 +1.364999999999999981e-08 4.054545454545455119e-01 +1.368000000000000074e-08 4.065454545454546542e-01 +1.371000000000000001e-08 4.076363636363636300e-01 +1.373999999999999929e-08 4.087272727272727724e-01 +1.377000000000000022e-08 4.098181818181819147e-01 +1.379999999999999949e-08 4.109090909090908905e-01 +1.383000000000000043e-08 4.120000000000000329e-01 +1.385999999999999970e-08 4.130909090909091197e-01 +1.389000000000000063e-08 4.141818181818182620e-01 +1.391999999999999991e-08 4.152727272727272934e-01 +1.394999999999999918e-08 4.163636363636363802e-01 +1.398000000000000011e-08 4.174545454545455225e-01 +1.400999999999999939e-08 4.185454545454545539e-01 +1.404000000000000032e-08 4.196363636363636407e-01 +1.406999999999999960e-08 4.207272727272727830e-01 +1.410000000000000053e-08 4.218181818181819254e-01 +1.412999999999999980e-08 4.229090909090909012e-01 +1.415999999999999908e-08 4.240000000000000435e-01 +1.419000000000000001e-08 4.250909090909091859e-01 +1.421999999999999929e-08 4.261818181818181617e-01 +1.425000000000000022e-08 4.272727272727273040e-01 +1.427999999999999949e-08 4.283636363636363908e-01 +1.431000000000000042e-08 4.294545454545455332e-01 +1.433999999999999970e-08 4.305454545454545645e-01 +1.437000000000000063e-08 4.316363636363636513e-01 +1.439999999999999990e-08 4.327272727272727937e-01 +1.442999999999999918e-08 4.338181818181817695e-01 +1.446000000000000011e-08 4.349090909090909118e-01 +1.448999999999999939e-08 4.360000000000000542e-01 +1.452000000000000032e-08 4.370909090909091965e-01 +1.454999999999999959e-08 4.381818181818181723e-01 +1.458000000000000052e-08 4.392727272727273147e-01 +1.460999999999999980e-08 4.403636363636364015e-01 +1.464000000000000073e-08 4.414545454545455438e-01 +1.467000000000000001e-08 4.425454545454545752e-01 +1.469999999999999928e-08 4.436363636363636620e-01 +1.473000000000000021e-08 4.447272727272728043e-01 +1.475999999999999949e-08 4.458181818181818357e-01 +1.479000000000000042e-08 4.469090909090909225e-01 +1.481999999999999969e-08 4.480000000000000648e-01 +1.485000000000000063e-08 4.490909090909092072e-01 +1.487999999999999990e-08 4.501818181818181830e-01 +1.490999999999999918e-08 4.512727272727273253e-01 +1.494000000000000011e-08 4.523636363636364122e-01 +1.497000000000000104e-08 4.534545454545455545e-01 +1.499999999999999866e-08 4.545454545454545858e-01 +1.502999999999999959e-08 4.556363636363636727e-01 +1.506000000000000052e-08 4.567272727272728150e-01 +1.509000000000000145e-08 4.578181818181819573e-01 +1.511999999999999907e-08 4.589090909090909332e-01 +1.515000000000000000e-08 4.600000000000000755e-01 +1.518000000000000093e-08 4.610909090909092178e-01 +1.520999999999999855e-08 4.621818181818181936e-01 +1.523999999999999949e-08 4.632727272727273360e-01 +1.527000000000000042e-08 4.643636363636364228e-01 +1.530000000000000135e-08 4.654545454545455652e-01 +1.532999999999999897e-08 4.665454545454545965e-01 +1.535999999999999990e-08 4.676363636363636833e-01 +1.539000000000000083e-08 4.687272727272728257e-01 +1.541999999999999845e-08 4.698181818181818570e-01 +1.544999999999999938e-08 4.709090909090909438e-01 +1.548000000000000031e-08 4.720000000000000862e-01 +1.551000000000000124e-08 4.730909090909092285e-01 +1.553999999999999886e-08 4.741818181818182043e-01 +1.556999999999999979e-08 4.752727272727273466e-01 +1.560000000000000072e-08 4.763636363636364890e-01 +1.562999999999999835e-08 4.774545454545454648e-01 +1.565999999999999928e-08 4.785454545454546071e-01 +1.569000000000000021e-08 4.796363636363636940e-01 +1.572000000000000114e-08 4.807272727272728363e-01 +1.574999999999999876e-08 4.818181818181818676e-01 +1.577999999999999969e-08 4.829090909090909545e-01 +1.581000000000000062e-08 4.840000000000000968e-01 +1.584000000000000155e-08 4.850909090909092392e-01 +1.586999999999999917e-08 4.861818181818182150e-01 +1.590000000000000010e-08 4.872727272727273573e-01 +1.593000000000000103e-08 4.883636363636364996e-01 +1.595999999999999865e-08 4.894545454545454755e-01 +1.598999999999999958e-08 4.905454545454546178e-01 +1.602000000000000051e-08 4.916363636363637046e-01 +1.605000000000000144e-08 4.927272727272728470e-01 +1.607999999999999907e-08 4.938181818181818783e-01 +1.611000000000000000e-08 4.949090909090909651e-01 +1.614000000000000093e-08 4.960000000000001075e-01 +1.616999999999999855e-08 4.970909090909091388e-01 +1.619999999999999948e-08 4.981818181818182256e-01 +1.623000000000000041e-08 4.992727272727273680e-01 +1.626000000000000134e-08 5.003636363636364548e-01 +1.628999999999999896e-08 5.014545454545454861e-01 +1.631999999999999989e-08 5.025454545454546285e-01 +1.635000000000000082e-08 5.036363636363637708e-01 +1.637999999999999844e-08 5.047272727272726911e-01 +1.640999999999999937e-08 5.058181818181818334e-01 +1.644000000000000030e-08 5.069090909090909758e-01 +1.647000000000000123e-08 5.080000000000001181e-01 +1.649999999999999886e-08 5.090909090909091494e-01 +1.652999999999999979e-08 5.101818181818182918e-01 +1.656000000000000072e-08 5.112727272727273231e-01 +1.658999999999999834e-08 5.123636363636363544e-01 +1.661999999999999927e-08 5.134545454545454968e-01 +1.665000000000000020e-08 5.145454545454546391e-01 +1.668000000000000113e-08 5.156363636363637815e-01 +1.670999999999999875e-08 5.167272727272728128e-01 +1.673999999999999968e-08 5.178181818181818441e-01 +1.677000000000000061e-08 5.189090909090909864e-01 +1.679999999999999823e-08 5.200000000000000178e-01 +1.682999999999999916e-08 5.210909090909091601e-01 +1.686000000000000009e-08 5.221818181818183024e-01 +1.689000000000000103e-08 5.232727272727273338e-01 +1.691999999999999865e-08 5.243636363636363651e-01 +1.694999999999999958e-08 5.254545454545455074e-01 +1.698000000000000051e-08 5.265454545454546498e-01 +1.701000000000000144e-08 5.276363636363637921e-01 +1.703999999999999906e-08 5.287272727272728234e-01 +1.706999999999999999e-08 5.298181818181818548e-01 +1.710000000000000092e-08 5.309090909090909971e-01 +1.712999999999999854e-08 5.320000000000000284e-01 +1.715999999999999947e-08 5.330909090909091708e-01 +1.719000000000000040e-08 5.341818181818183131e-01 +1.722000000000000133e-08 5.352727272727273444e-01 +1.724999999999999895e-08 5.363636363636363757e-01 +1.727999999999999989e-08 5.374545454545455181e-01 +1.731000000000000082e-08 5.385454545454546604e-01 +1.733999999999999844e-08 5.396363636363636918e-01 +1.736999999999999937e-08 5.407272727272728341e-01 +1.740000000000000030e-08 5.418181818181818654e-01 +1.743000000000000123e-08 5.429090909090910078e-01 +1.745999999999999885e-08 5.440000000000000391e-01 +1.748999999999999978e-08 5.450909090909091814e-01 +1.752000000000000071e-08 5.461818181818183238e-01 +1.754999999999999833e-08 5.472727272727272441e-01 +1.757999999999999926e-08 5.483636363636363864e-01 +1.761000000000000019e-08 5.494545454545455287e-01 +1.764000000000000112e-08 5.505454545454546711e-01 +1.766999999999999875e-08 5.516363636363637024e-01 +1.769999999999999968e-08 5.527272727272728448e-01 +1.773000000000000061e-08 5.538181818181818761e-01 +1.776000000000000154e-08 5.549090909090910184e-01 +1.778999999999999916e-08 5.560000000000000497e-01 +1.782000000000000009e-08 5.570909090909091921e-01 +1.785000000000000102e-08 5.581818181818183344e-01 +1.787999999999999864e-08 5.592727272727272547e-01 +1.790999999999999957e-08 5.603636363636363971e-01 +1.794000000000000050e-08 5.614545454545455394e-01 +1.797000000000000143e-08 5.625454545454546817e-01 +1.799999999999999905e-08 5.636363636363637131e-01 +1.802999999999999998e-08 5.647272727272728554e-01 +1.806000000000000091e-08 5.658181818181818867e-01 +1.808999999999999854e-08 5.669090909090909181e-01 +1.811999999999999947e-08 5.680000000000000604e-01 +1.815000000000000040e-08 5.690909090909092027e-01 +1.818000000000000133e-08 5.701818181818183451e-01 +1.820999999999999895e-08 5.712727272727272654e-01 +1.823999999999999988e-08 5.723636363636364077e-01 +1.827000000000000081e-08 5.734545454545455501e-01 +1.829999999999999843e-08 5.745454545454545814e-01 +1.832999999999999936e-08 5.756363636363637237e-01 +1.836000000000000029e-08 5.767272727272728661e-01 +1.839000000000000122e-08 5.778181818181818974e-01 +1.841999999999999884e-08 5.789090909090909287e-01 +1.844999999999999977e-08 5.800000000000000711e-01 +1.848000000000000070e-08 5.810909090909092134e-01 +1.850999999999999833e-08 5.821818181818182447e-01 +1.853999999999999926e-08 5.832727272727272760e-01 +1.857000000000000019e-08 5.843636363636364184e-01 +1.860000000000000112e-08 5.854545454545455607e-01 +1.862999999999999874e-08 5.865454545454545920e-01 +1.865999999999999967e-08 5.876363636363637344e-01 +1.869000000000000060e-08 5.887272727272728767e-01 +1.871999999999999822e-08 5.898181818181817970e-01 +1.874999999999999915e-08 5.909090909090909394e-01 +1.878000000000000008e-08 5.920000000000000817e-01 +1.881000000000000101e-08 5.930909090909092241e-01 +1.883999999999999863e-08 5.941818181818182554e-01 +1.886999999999999956e-08 5.952727272727272867e-01 +1.890000000000000049e-08 5.963636363636364290e-01 +1.893000000000000143e-08 5.974545454545455714e-01 +1.895999999999999905e-08 5.985454545454546027e-01 +1.898999999999999998e-08 5.996363636363637450e-01 +1.902000000000000091e-08 6.007272727272728874e-01 +1.904999999999999853e-08 6.018181818181818077e-01 +1.907999999999999946e-08 6.029090909090909500e-01 +1.911000000000000039e-08 6.040000000000000924e-01 +1.914000000000000132e-08 6.050909090909092347e-01 +1.916999999999999894e-08 6.061818181818182660e-01 +1.919999999999999987e-08 6.072727272727272974e-01 +1.923000000000000080e-08 6.083636363636364397e-01 +1.925999999999999842e-08 6.094545454545454710e-01 +1.928999999999999935e-08 6.105454545454546134e-01 +1.932000000000000029e-08 6.116363636363637557e-01 +1.935000000000000122e-08 6.127272727272728980e-01 +1.937999999999999884e-08 6.138181818181818183e-01 +1.940999999999999977e-08 6.149090909090909607e-01 +1.944000000000000070e-08 6.160000000000001030e-01 +1.946999999999999832e-08 6.170909090909091343e-01 +1.949999999999999925e-08 6.181818181818182767e-01 +1.953000000000000018e-08 6.192727272727274190e-01 +1.956000000000000111e-08 6.203636363636364504e-01 +1.958999999999999873e-08 6.214545454545454817e-01 +1.961999999999999966e-08 6.225454545454546240e-01 +1.965000000000000059e-08 6.236363636363637664e-01 +1.968000000000000152e-08 6.247272727272729087e-01 +1.970999999999999915e-08 6.258181818181818290e-01 +1.974000000000000008e-08 6.269090909090909713e-01 +1.977000000000000101e-08 6.280000000000001137e-01 +1.979999999999999863e-08 6.290909090909091450e-01 +1.982999999999999956e-08 6.301818181818182873e-01 +1.986000000000000049e-08 6.312727272727274297e-01 +1.989000000000000142e-08 6.323636363636364610e-01 +1.991999999999999904e-08 6.334545454545454923e-01 +1.994999999999999997e-08 6.345454545454546347e-01 +1.998000000000000090e-08 6.356363636363637770e-01 +2.000999999999999852e-08 6.367272727272728083e-01 +2.003999999999999945e-08 6.378181818181818397e-01 +2.007000000000000038e-08 6.389090909090909820e-01 +2.010000000000000131e-08 6.400000000000001243e-01 +2.012999999999999894e-08 6.410909090909091557e-01 +2.015999999999999987e-08 6.421818181818182980e-01 +2.019000000000000080e-08 6.432727272727274404e-01 +2.021999999999999842e-08 6.443636363636363606e-01 +2.024999999999999935e-08 6.454545454545455030e-01 +2.028000000000000028e-08 6.465454545454546453e-01 +2.031000000000000121e-08 6.476363636363637877e-01 +2.033999999999999883e-08 6.487272727272728190e-01 +2.036999999999999976e-08 6.498181818181818503e-01 +2.040000000000000069e-08 6.509090909090909927e-01 +2.042999999999999831e-08 6.520000000000000240e-01 +2.045999999999999924e-08 6.530909090909091663e-01 +2.049000000000000017e-08 6.541818181818183087e-01 +2.052000000000000110e-08 6.552727272727274510e-01 +2.054999999999999873e-08 6.563636363636363713e-01 +2.057999999999999966e-08 6.574545454545455136e-01 +2.061000000000000059e-08 6.585454545454546560e-01 +2.063999999999999821e-08 6.596363636363636873e-01 +2.066999999999999914e-08 6.607272727272728297e-01 +2.070000000000000007e-08 6.618181818181818610e-01 +2.073000000000000100e-08 6.629090909090910033e-01 +2.075999999999999862e-08 6.640000000000000346e-01 +2.078999999999999955e-08 6.650909090909091770e-01 +2.082000000000000048e-08 6.661818181818183193e-01 +2.085000000000000141e-08 6.672727272727274617e-01 +2.087999999999999903e-08 6.683636363636363820e-01 +2.090999999999999996e-08 6.694545454545455243e-01 +2.094000000000000089e-08 6.705454545454546667e-01 +2.096999999999999852e-08 6.716363636363636980e-01 +2.099999999999999945e-08 6.727272727272728403e-01 +2.103000000000000038e-08 6.738181818181818716e-01 +2.106000000000000131e-08 6.749090909090910140e-01 +2.108999999999999893e-08 6.760000000000000453e-01 +2.111999999999999986e-08 6.770909090909091876e-01 +2.115000000000000079e-08 6.781818181818183300e-01 +2.117999999999999841e-08 6.792727272727273613e-01 +2.120999999999999934e-08 6.803636363636363926e-01 +2.124000000000000027e-08 6.814545454545455350e-01 +2.127000000000000120e-08 6.825454545454546773e-01 +2.129999999999999882e-08 6.836363636363637086e-01 +2.132999999999999975e-08 6.847272727272728510e-01 +2.136000000000000069e-08 6.858181818181818823e-01 +2.138999999999999831e-08 6.869090909090909136e-01 +2.141999999999999924e-08 6.880000000000000560e-01 +2.145000000000000017e-08 6.890909090909091983e-01 +2.148000000000000110e-08 6.901818181818183406e-01 +2.150999999999999872e-08 6.912727272727273720e-01 +2.153999999999999965e-08 6.923636363636364033e-01 +2.157000000000000058e-08 6.934545454545455456e-01 +2.160000000000000151e-08 6.945454545454546880e-01 +2.162999999999999913e-08 6.956363636363637193e-01 +2.166000000000000006e-08 6.967272727272728616e-01 +2.169000000000000099e-08 6.978181818181818930e-01 +2.171999999999999861e-08 6.989090909090909243e-01 +2.174999999999999955e-08 7.000000000000000666e-01 +2.178000000000000048e-08 7.010909090909092090e-01 +2.181000000000000141e-08 7.021818181818183513e-01 +2.183999999999999903e-08 7.032727272727273826e-01 +2.186999999999999996e-08 7.043636363636364139e-01 +2.190000000000000089e-08 7.054545454545455563e-01 +2.192999999999999851e-08 7.065454545454545876e-01 +2.195999999999999944e-08 7.076363636363637299e-01 +2.199000000000000037e-08 7.087272727272728723e-01 +2.202000000000000130e-08 7.098181818181820146e-01 +2.204999999999999892e-08 7.109090909090909349e-01 +2.207999999999999985e-08 7.120000000000000773e-01 +2.211000000000000078e-08 7.130909090909092196e-01 +2.213999999999999841e-08 7.141818181818182509e-01 +2.216999999999999934e-08 7.152727272727273933e-01 +2.220000000000000027e-08 7.163636363636364246e-01 +2.223000000000000120e-08 7.174545454545455669e-01 +2.225999999999999882e-08 7.185454545454545983e-01 +2.228999999999999975e-08 7.196363636363637406e-01 +2.232000000000000068e-08 7.207272727272728829e-01 +2.234999999999999830e-08 7.218181818181818032e-01 +2.237999999999999923e-08 7.229090909090909456e-01 +2.241000000000000016e-08 7.240000000000000879e-01 +2.244000000000000109e-08 7.250909090909092303e-01 +2.246999999999999871e-08 7.261818181818182616e-01 +2.249999999999999964e-08 7.272727272727274039e-01 +2.253000000000000057e-08 7.283636363636364353e-01 +2.255999999999999820e-08 7.294545454545454666e-01 +2.258999999999999913e-08 7.305454545454546089e-01 +2.262000000000000006e-08 7.316363636363637513e-01 +2.265000000000000099e-08 7.327272727272728936e-01 +2.267999999999999861e-08 7.338181818181818139e-01 +2.270999999999999954e-08 7.349090909090909562e-01 +2.274000000000000047e-08 7.360000000000000986e-01 +2.277000000000000140e-08 7.370909090909092409e-01 +2.279999999999999902e-08 7.381818181818182723e-01 +2.282999999999999995e-08 7.392727272727274146e-01 +2.286000000000000088e-08 7.403636363636364459e-01 +2.288999999999999850e-08 7.414545454545454772e-01 +2.291999999999999943e-08 7.425454545454546196e-01 +2.295000000000000036e-08 7.436363636363637619e-01 +2.298000000000000129e-08 7.447272727272729043e-01 +2.300999999999999892e-08 7.458181818181818246e-01 +2.303999999999999985e-08 7.469090909090909669e-01 +2.307000000000000078e-08 7.480000000000001092e-01 +2.309999999999999840e-08 7.490909090909091406e-01 +2.312999999999999933e-08 7.501818181818182829e-01 +2.316000000000000026e-08 7.512727272727274253e-01 +2.319000000000000119e-08 7.523636363636364566e-01 +2.321999999999999881e-08 7.534545454545454879e-01 +2.324999999999999974e-08 7.545454545454546302e-01 +2.328000000000000067e-08 7.556363636363637726e-01 +2.330999999999999829e-08 7.567272727272728039e-01 +2.333999999999999922e-08 7.578181818181818352e-01 +2.337000000000000015e-08 7.589090909090909776e-01 +2.340000000000000109e-08 7.600000000000001199e-01 +2.342999999999999871e-08 7.610909090909091512e-01 +2.345999999999999964e-08 7.621818181818182936e-01 +2.349000000000000057e-08 7.632727272727274359e-01 +2.352000000000000150e-08 7.643636363636364672e-01 +2.354999999999999912e-08 7.654545454545454986e-01 +2.358000000000000005e-08 7.665454545454546409e-01 +2.361000000000000098e-08 7.676363636363637832e-01 +2.363999999999999860e-08 7.687272727272728146e-01 +2.366999999999999953e-08 7.698181818181818459e-01 +2.370000000000000046e-08 7.709090909090909882e-01 +2.373000000000000139e-08 7.720000000000001306e-01 +2.375999999999999901e-08 7.730909090909091619e-01 +2.378999999999999995e-08 7.741818181818183042e-01 +2.382000000000000088e-08 7.752727272727274466e-01 +2.384999999999999850e-08 7.763636363636363669e-01 +2.387999999999999943e-08 7.774545454545455092e-01 +2.391000000000000036e-08 7.785454545454546516e-01 +2.394000000000000129e-08 7.796363636363637939e-01 +2.396999999999999891e-08 7.807272727272728252e-01 +2.399999999999999984e-08 7.818181818181819676e-01 +2.403000000000000077e-08 7.829090909090909989e-01 +2.405999999999999839e-08 7.840000000000000302e-01 +2.408999999999999932e-08 7.850909090909091725e-01 +2.412000000000000025e-08 7.861818181818183149e-01 +2.415000000000000118e-08 7.872727272727274572e-01 +2.417999999999999881e-08 7.883636363636363775e-01 +2.420999999999999974e-08 7.894545454545455199e-01 +2.424000000000000067e-08 7.905454545454546622e-01 +2.426999999999999829e-08 7.916363636363636935e-01 +2.429999999999999922e-08 7.927272727272728359e-01 +2.433000000000000015e-08 7.938181818181819782e-01 +2.436000000000000108e-08 7.949090909090910095e-01 +2.438999999999999870e-08 7.960000000000000409e-01 +2.441999999999999963e-08 7.970909090909091832e-01 +2.445000000000000056e-08 7.981818181818183255e-01 +2.447999999999999818e-08 7.992727272727273569e-01 +2.450999999999999911e-08 8.003636363636363882e-01 +2.454000000000000004e-08 8.014545454545455305e-01 +2.457000000000000097e-08 8.025454545454546729e-01 +2.459999999999999860e-08 8.036363636363637042e-01 +2.462999999999999953e-08 8.047272727272728465e-01 +2.466000000000000046e-08 8.058181818181819889e-01 +2.469000000000000139e-08 8.069090909090910202e-01 +2.471999999999999901e-08 8.080000000000000515e-01 +2.474999999999999994e-08 8.090909090909091939e-01 +2.478000000000000087e-08 8.101818181818183362e-01 +2.480999999999999849e-08 8.112727272727273675e-01 +2.483999999999999942e-08 8.123636363636363988e-01 +2.487000000000000035e-08 8.134545454545455412e-01 +2.490000000000000128e-08 8.145454545454546835e-01 +2.492999999999999890e-08 8.156363636363637148e-01 +2.495999999999999983e-08 8.167272727272728572e-01 +2.499000000000000076e-08 8.178181818181819995e-01 +2.501999999999999839e-08 8.189090909090909198e-01 +2.504999999999999932e-08 8.200000000000000622e-01 +2.508000000000000025e-08 8.210909090909092045e-01 +2.511000000000000118e-08 8.221818181818183469e-01 +2.513999999999999880e-08 8.232727272727273782e-01 +2.516999999999999973e-08 8.243636363636364095e-01 +2.520000000000000066e-08 8.254545454545455518e-01 +2.522999999999999828e-08 8.265454545454545832e-01 +2.525999999999999921e-08 8.276363636363637255e-01 +2.529000000000000014e-08 8.287272727272728678e-01 +2.532000000000000107e-08 8.298181818181820102e-01 +2.534999999999999869e-08 8.309090909090909305e-01 +2.537999999999999962e-08 8.320000000000000728e-01 +2.541000000000000055e-08 8.330909090909092152e-01 +2.544000000000000149e-08 8.341818181818183575e-01 +2.546999999999999911e-08 8.352727272727273888e-01 +2.550000000000000004e-08 8.363636363636364202e-01 +2.553000000000000097e-08 8.374545454545455625e-01 +2.555999999999999859e-08 8.385454545454545938e-01 +2.558999999999999952e-08 8.396363636363637362e-01 +2.562000000000000045e-08 8.407272727272728785e-01 +2.565000000000000138e-08 8.418181818181820208e-01 +2.567999999999999900e-08 8.429090909090909411e-01 +2.570999999999999993e-08 8.440000000000000835e-01 +2.574000000000000086e-08 8.450909090909092258e-01 +2.576999999999999848e-08 8.461818181818182572e-01 +2.579999999999999941e-08 8.472727272727273995e-01 +2.583000000000000035e-08 8.483636363636364308e-01 +2.586000000000000128e-08 8.494545454545455732e-01 +2.588999999999999890e-08 8.505454545454546045e-01 +2.591999999999999983e-08 8.516363636363637468e-01 +2.595000000000000076e-08 8.527272727272728892e-01 +2.597999999999999838e-08 8.538181818181819205e-01 +2.600999999999999931e-08 8.549090909090909518e-01 +2.604000000000000024e-08 8.560000000000000941e-01 +2.607000000000000117e-08 8.570909090909092365e-01 +2.609999999999999879e-08 8.581818181818182678e-01 +2.612999999999999972e-08 8.592727272727274102e-01 +2.616000000000000065e-08 8.603636363636364415e-01 +2.618999999999999827e-08 8.614545454545454728e-01 +2.621999999999999921e-08 8.625454545454546151e-01 +2.625000000000000014e-08 8.636363636363637575e-01 +2.628000000000000107e-08 8.647272727272728998e-01 +2.630999999999999869e-08 8.658181818181819311e-01 +2.633999999999999962e-08 8.669090909090909625e-01 +2.637000000000000055e-08 8.680000000000001048e-01 +2.639999999999999817e-08 8.690909090909091361e-01 +2.642999999999999910e-08 8.701818181818182785e-01 +2.646000000000000003e-08 8.712727272727274208e-01 +2.649000000000000096e-08 8.723636363636365632e-01 +2.651999999999999858e-08 8.734545454545454835e-01 +2.654999999999999951e-08 8.745454545454546258e-01 +2.658000000000000044e-08 8.756363636363637681e-01 +2.661000000000000137e-08 8.767272727272729105e-01 +2.663999999999999900e-08 8.778181818181819418e-01 +2.666999999999999993e-08 8.789090909090909731e-01 +2.670000000000000086e-08 8.800000000000001155e-01 +2.672999999999999848e-08 8.810909090909091468e-01 +2.675999999999999941e-08 8.821818181818182891e-01 +2.679000000000000034e-08 8.832727272727274315e-01 +2.682000000000000127e-08 8.843636363636365738e-01 +2.684999999999999889e-08 8.854545454545454941e-01 +2.687999999999999982e-08 8.865454545454546365e-01 +2.691000000000000075e-08 8.876363636363637788e-01 +2.693999999999999837e-08 8.887272727272728101e-01 +2.696999999999999930e-08 8.898181818181819525e-01 +2.700000000000000023e-08 8.909090909090909838e-01 +2.703000000000000116e-08 8.920000000000001261e-01 +2.705999999999999879e-08 8.930909090909091574e-01 +2.708999999999999972e-08 8.941818181818182998e-01 +2.712000000000000065e-08 8.952727272727274421e-01 +2.714999999999999827e-08 8.963636363636363624e-01 +2.717999999999999920e-08 8.974545454545455048e-01 +2.721000000000000013e-08 8.985454545454546471e-01 +2.724000000000000106e-08 8.996363636363637895e-01 +2.726999999999999868e-08 9.007272727272728208e-01 +2.729999999999999961e-08 9.018181818181819631e-01 +2.733000000000000054e-08 9.029090909090909944e-01 +2.736000000000000147e-08 9.040000000000001368e-01 +2.738999999999999909e-08 9.050909090909091681e-01 +2.742000000000000002e-08 9.061818181818183104e-01 +2.745000000000000095e-08 9.072727272727274528e-01 +2.747999999999999858e-08 9.083636363636363731e-01 +2.750999999999999951e-08 9.094545454545455154e-01 +2.754000000000000044e-08 9.105454545454546578e-01 +2.757000000000000137e-08 9.116363636363638001e-01 +2.759999999999999899e-08 9.127272727272728314e-01 +2.762999999999999992e-08 9.138181818181819738e-01 +2.766000000000000085e-08 9.149090909090910051e-01 +2.768999999999999847e-08 9.160000000000000364e-01 +2.771999999999999940e-08 9.170909090909091788e-01 +2.775000000000000033e-08 9.181818181818183211e-01 +2.778000000000000126e-08 9.192727272727274634e-01 +2.780999999999999888e-08 9.203636363636363837e-01 +2.783999999999999981e-08 9.214545454545455261e-01 +2.787000000000000075e-08 9.225454545454546684e-01 +2.789999999999999837e-08 9.236363636363636997e-01 +2.792999999999999930e-08 9.247272727272728421e-01 +2.796000000000000023e-08 9.258181818181819844e-01 +2.799000000000000116e-08 9.269090909090910158e-01 +2.801999999999999878e-08 9.280000000000000471e-01 +2.804999999999999971e-08 9.290909090909091894e-01 +2.808000000000000064e-08 9.301818181818183318e-01 +2.810999999999999826e-08 9.312727272727273631e-01 +2.813999999999999919e-08 9.323636363636363944e-01 +2.817000000000000012e-08 9.334545454545455367e-01 +2.820000000000000105e-08 9.345454545454546791e-01 +2.822999999999999867e-08 9.356363636363637104e-01 +2.825999999999999961e-08 9.367272727272728527e-01 +2.829000000000000054e-08 9.378181818181819951e-01 +2.831999999999999816e-08 9.389090909090909154e-01 +2.834999999999999909e-08 9.400000000000000577e-01 +2.838000000000000002e-08 9.410909090909092001e-01 +2.841000000000000095e-08 9.421818181818183424e-01 +2.843999999999999857e-08 9.432727272727273737e-01 +2.846999999999999950e-08 9.443636363636365161e-01 +2.850000000000000043e-08 9.454545454545455474e-01 +2.853000000000000136e-08 9.465454545454546897e-01 +2.855999999999999898e-08 9.476363636363637211e-01 +2.858999999999999991e-08 9.487272727272728634e-01 +2.862000000000000084e-08 9.498181818181820057e-01 +2.864999999999999847e-08 9.509090909090909260e-01 +2.867999999999999940e-08 9.520000000000000684e-01 +2.871000000000000033e-08 9.530909090909092107e-01 +2.874000000000000126e-08 9.541818181818183531e-01 +2.876999999999999888e-08 9.552727272727273844e-01 +2.879999999999999981e-08 9.563636363636365267e-01 +2.883000000000000074e-08 9.574545454545455581e-01 +2.885999999999999836e-08 9.585454545454545894e-01 +2.888999999999999929e-08 9.596363636363637317e-01 +2.892000000000000022e-08 9.607272727272728741e-01 +2.895000000000000115e-08 9.618181818181820164e-01 +2.897999999999999877e-08 9.629090909090909367e-01 +2.900999999999999970e-08 9.640000000000000790e-01 +2.904000000000000063e-08 9.650909090909092214e-01 +2.906999999999999826e-08 9.661818181818182527e-01 +2.909999999999999919e-08 9.672727272727273951e-01 +2.913000000000000012e-08 9.683636363636365374e-01 +2.916000000000000105e-08 9.694545454545455687e-01 +2.918999999999999867e-08 9.705454545454546000e-01 +2.921999999999999960e-08 9.716363636363637424e-01 +2.925000000000000053e-08 9.727272727272728847e-01 +2.928000000000000146e-08 9.738181818181820271e-01 +2.930999999999999908e-08 9.749090909090909474e-01 +2.934000000000000001e-08 9.760000000000000897e-01 +2.937000000000000094e-08 9.770909090909092320e-01 +2.939999999999999856e-08 9.781818181818182634e-01 +2.942999999999999949e-08 9.792727272727274057e-01 +2.946000000000000042e-08 9.803636363636365481e-01 +2.949000000000000135e-08 9.814545454545455794e-01 +2.951999999999999898e-08 9.825454545454546107e-01 +2.954999999999999991e-08 9.836363636363637530e-01 +2.958000000000000084e-08 9.847272727272728954e-01 +2.960999999999999846e-08 9.858181818181819267e-01 +2.963999999999999939e-08 9.869090909090909580e-01 +2.967000000000000032e-08 9.880000000000001004e-01 +2.970000000000000125e-08 9.890909090909092427e-01 +2.972999999999999887e-08 9.901818181818182740e-01 +2.975999999999999980e-08 9.912727272727274164e-01 +2.979000000000000073e-08 9.923636363636365587e-01 +2.981999999999999835e-08 9.934545454545454790e-01 +2.984999999999999928e-08 9.945454545454546214e-01 +2.988000000000000021e-08 9.956363636363637637e-01 +2.991000000000000115e-08 9.967272727272729060e-01 +2.994000000000000208e-08 9.978181818181820484e-01 +2.997000000000000301e-08 9.989090909090911907e-01 +2.999999999999999732e-08 1.000000000000000000e+00 +3.002999999999999825e-08 1.000000000000000000e+00 +3.005999999999999918e-08 1.000000000000000000e+00 +3.009000000000000011e-08 1.000000000000000000e+00 +3.012000000000000104e-08 1.000000000000000000e+00 +3.015000000000000197e-08 1.000000000000000000e+00 +3.018000000000000290e-08 1.000000000000000000e+00 +3.020999999999999721e-08 1.000000000000000000e+00 +3.023999999999999814e-08 1.000000000000000000e+00 +3.026999999999999907e-08 1.000000000000000000e+00 +3.030000000000000001e-08 1.000000000000000000e+00 +3.033000000000000094e-08 1.000000000000000000e+00 +3.036000000000000187e-08 1.000000000000000000e+00 +3.039000000000000280e-08 1.000000000000000000e+00 +3.041999999999999711e-08 1.000000000000000000e+00 +3.044999999999999804e-08 1.000000000000000000e+00 +3.047999999999999897e-08 1.000000000000000000e+00 +3.050999999999999990e-08 1.000000000000000000e+00 +3.054000000000000083e-08 1.000000000000000000e+00 +3.057000000000000176e-08 1.000000000000000000e+00 +3.060000000000000269e-08 1.000000000000000000e+00 +3.062999999999999700e-08 1.000000000000000000e+00 +3.065999999999999793e-08 1.000000000000000000e+00 +3.068999999999999887e-08 1.000000000000000000e+00 +3.071999999999999980e-08 1.000000000000000000e+00 +3.075000000000000073e-08 1.000000000000000000e+00 +3.078000000000000166e-08 1.000000000000000000e+00 +3.081000000000000259e-08 1.000000000000000000e+00 +3.083999999999999690e-08 1.000000000000000000e+00 +3.086999999999999783e-08 1.000000000000000000e+00 +3.089999999999999876e-08 1.000000000000000000e+00 +3.092999999999999969e-08 1.000000000000000000e+00 +3.096000000000000062e-08 1.000000000000000000e+00 +3.099000000000000155e-08 1.000000000000000000e+00 +3.102000000000000248e-08 1.000000000000000000e+00 +3.104999999999999679e-08 1.000000000000000000e+00 +3.107999999999999773e-08 1.000000000000000000e+00 +3.110999999999999866e-08 1.000000000000000000e+00 +3.113999999999999959e-08 1.000000000000000000e+00 +3.117000000000000052e-08 1.000000000000000000e+00 +3.120000000000000145e-08 1.000000000000000000e+00 +3.123000000000000238e-08 1.000000000000000000e+00 +3.125999999999999669e-08 1.000000000000000000e+00 +3.128999999999999762e-08 1.000000000000000000e+00 +3.131999999999999855e-08 1.000000000000000000e+00 +3.134999999999999948e-08 1.000000000000000000e+00 +3.138000000000000041e-08 1.000000000000000000e+00 +3.141000000000000134e-08 1.000000000000000000e+00 +3.144000000000000227e-08 1.000000000000000000e+00 +3.146999999999999659e-08 1.000000000000000000e+00 +3.149999999999999752e-08 1.000000000000000000e+00 +3.152999999999999845e-08 1.000000000000000000e+00 +3.155999999999999938e-08 1.000000000000000000e+00 +3.159000000000000031e-08 1.000000000000000000e+00 +3.162000000000000124e-08 1.000000000000000000e+00 +3.165000000000000217e-08 1.000000000000000000e+00 +3.168000000000000310e-08 1.000000000000000000e+00 +3.170999999999999741e-08 1.000000000000000000e+00 +3.173999999999999834e-08 1.000000000000000000e+00 +3.176999999999999927e-08 1.000000000000000000e+00 +3.180000000000000020e-08 1.000000000000000000e+00 +3.183000000000000113e-08 1.000000000000000000e+00 +3.186000000000000206e-08 1.000000000000000000e+00 +3.189000000000000299e-08 1.000000000000000000e+00 +3.191999999999999731e-08 1.000000000000000000e+00 +3.194999999999999824e-08 1.000000000000000000e+00 +3.197999999999999917e-08 1.000000000000000000e+00 +3.201000000000000010e-08 1.000000000000000000e+00 +3.204000000000000103e-08 1.000000000000000000e+00 +3.207000000000000196e-08 1.000000000000000000e+00 +3.210000000000000289e-08 1.000000000000000000e+00 +3.212999999999999720e-08 1.000000000000000000e+00 +3.215999999999999813e-08 1.000000000000000000e+00 +3.218999999999999906e-08 1.000000000000000000e+00 +3.221999999999999999e-08 1.000000000000000000e+00 +3.225000000000000092e-08 1.000000000000000000e+00 +3.228000000000000185e-08 1.000000000000000000e+00 +3.231000000000000278e-08 1.000000000000000000e+00 +3.233999999999999710e-08 1.000000000000000000e+00 +3.236999999999999803e-08 1.000000000000000000e+00 +3.239999999999999896e-08 1.000000000000000000e+00 +3.242999999999999989e-08 1.000000000000000000e+00 +3.246000000000000082e-08 1.000000000000000000e+00 +3.249000000000000175e-08 1.000000000000000000e+00 +3.252000000000000268e-08 1.000000000000000000e+00 +3.254999999999999699e-08 1.000000000000000000e+00 +3.257999999999999792e-08 1.000000000000000000e+00 +3.260999999999999885e-08 1.000000000000000000e+00 +3.263999999999999978e-08 1.000000000000000000e+00 +3.267000000000000071e-08 1.000000000000000000e+00 +3.270000000000000164e-08 1.000000000000000000e+00 +3.273000000000000257e-08 1.000000000000000000e+00 +3.275999999999999689e-08 1.000000000000000000e+00 +3.278999999999999782e-08 1.000000000000000000e+00 +3.281999999999999875e-08 1.000000000000000000e+00 +3.284999999999999968e-08 1.000000000000000000e+00 +3.288000000000000061e-08 1.000000000000000000e+00 +3.291000000000000154e-08 1.000000000000000000e+00 +3.294000000000000247e-08 1.000000000000000000e+00 +3.296999999999999678e-08 1.000000000000000000e+00 +3.299999999999999771e-08 1.000000000000000000e+00 +3.302999999999999864e-08 1.000000000000000000e+00 +3.305999999999999957e-08 1.000000000000000000e+00 +3.309000000000000050e-08 1.000000000000000000e+00 +3.312000000000000143e-08 1.000000000000000000e+00 +3.315000000000000236e-08 1.000000000000000000e+00 +3.317999999999999668e-08 1.000000000000000000e+00 +3.320999999999999761e-08 1.000000000000000000e+00 +3.323999999999999854e-08 1.000000000000000000e+00 +3.326999999999999947e-08 1.000000000000000000e+00 +3.330000000000000040e-08 1.000000000000000000e+00 +3.333000000000000133e-08 1.000000000000000000e+00 +3.336000000000000226e-08 1.000000000000000000e+00 +3.338999999999999657e-08 1.000000000000000000e+00 +3.341999999999999750e-08 1.000000000000000000e+00 +3.344999999999999843e-08 1.000000000000000000e+00 +3.347999999999999936e-08 1.000000000000000000e+00 +3.351000000000000029e-08 1.000000000000000000e+00 +3.354000000000000122e-08 1.000000000000000000e+00 +3.357000000000000215e-08 1.000000000000000000e+00 +3.359999999999999647e-08 1.000000000000000000e+00 +3.362999999999999740e-08 1.000000000000000000e+00 +3.365999999999999833e-08 1.000000000000000000e+00 +3.368999999999999926e-08 1.000000000000000000e+00 +3.372000000000000019e-08 1.000000000000000000e+00 +3.375000000000000112e-08 1.000000000000000000e+00 +3.378000000000000205e-08 1.000000000000000000e+00 +3.381000000000000298e-08 1.000000000000000000e+00 +3.383999999999999729e-08 1.000000000000000000e+00 +3.386999999999999822e-08 1.000000000000000000e+00 +3.389999999999999915e-08 1.000000000000000000e+00 +3.393000000000000008e-08 1.000000000000000000e+00 +3.396000000000000101e-08 1.000000000000000000e+00 +3.399000000000000195e-08 1.000000000000000000e+00 +3.402000000000000288e-08 1.000000000000000000e+00 +3.404999999999999719e-08 1.000000000000000000e+00 +3.407999999999999812e-08 1.000000000000000000e+00 +3.410999999999999905e-08 1.000000000000000000e+00 +3.413999999999999998e-08 1.000000000000000000e+00 +3.417000000000000091e-08 1.000000000000000000e+00 +3.420000000000000184e-08 1.000000000000000000e+00 +3.423000000000000277e-08 1.000000000000000000e+00 +3.425999999999999708e-08 1.000000000000000000e+00 +3.428999999999999801e-08 1.000000000000000000e+00 +3.431999999999999894e-08 1.000000000000000000e+00 +3.434999999999999987e-08 1.000000000000000000e+00 +3.438000000000000081e-08 1.000000000000000000e+00 +3.441000000000000174e-08 1.000000000000000000e+00 +3.444000000000000267e-08 1.000000000000000000e+00 +3.446999999999999698e-08 1.000000000000000000e+00 +3.449999999999999791e-08 1.000000000000000000e+00 +3.452999999999999884e-08 1.000000000000000000e+00 +3.455999999999999977e-08 1.000000000000000000e+00 +3.459000000000000070e-08 1.000000000000000000e+00 +3.462000000000000163e-08 1.000000000000000000e+00 +3.465000000000000256e-08 1.000000000000000000e+00 +3.467999999999999687e-08 1.000000000000000000e+00 +3.470999999999999780e-08 1.000000000000000000e+00 +3.473999999999999873e-08 1.000000000000000000e+00 +3.476999999999999967e-08 1.000000000000000000e+00 +3.480000000000000060e-08 1.000000000000000000e+00 +3.483000000000000153e-08 1.000000000000000000e+00 +3.486000000000000246e-08 1.000000000000000000e+00 +3.488999999999999677e-08 1.000000000000000000e+00 +3.491999999999999770e-08 1.000000000000000000e+00 +3.494999999999999863e-08 1.000000000000000000e+00 +3.497999999999999956e-08 1.000000000000000000e+00 +3.501000000000000049e-08 1.000000000000000000e+00 +3.504000000000000142e-08 1.000000000000000000e+00 +3.507000000000000235e-08 1.000000000000000000e+00 +3.509999999999999666e-08 1.000000000000000000e+00 +3.512999999999999760e-08 1.000000000000000000e+00 +3.515999999999999853e-08 1.000000000000000000e+00 +3.518999999999999946e-08 1.000000000000000000e+00 +3.522000000000000039e-08 1.000000000000000000e+00 +3.525000000000000132e-08 1.000000000000000000e+00 +3.528000000000000225e-08 1.000000000000000000e+00 +3.530999999999999656e-08 1.000000000000000000e+00 +3.533999999999999749e-08 1.000000000000000000e+00 +3.536999999999999842e-08 1.000000000000000000e+00 +3.539999999999999935e-08 1.000000000000000000e+00 +3.543000000000000028e-08 1.000000000000000000e+00 +3.546000000000000121e-08 1.000000000000000000e+00 +3.549000000000000214e-08 1.000000000000000000e+00 +3.552000000000000307e-08 1.000000000000000000e+00 +3.554999999999999739e-08 1.000000000000000000e+00 +3.557999999999999832e-08 1.000000000000000000e+00 +3.560999999999999925e-08 1.000000000000000000e+00 +3.564000000000000018e-08 1.000000000000000000e+00 +3.567000000000000111e-08 1.000000000000000000e+00 +3.570000000000000204e-08 1.000000000000000000e+00 +3.573000000000000297e-08 1.000000000000000000e+00 +3.575999999999999728e-08 1.000000000000000000e+00 +3.578999999999999821e-08 1.000000000000000000e+00 +3.581999999999999914e-08 1.000000000000000000e+00 +3.585000000000000007e-08 1.000000000000000000e+00 +3.588000000000000100e-08 1.000000000000000000e+00 +3.591000000000000193e-08 1.000000000000000000e+00 +3.594000000000000286e-08 1.000000000000000000e+00 +3.596999999999999718e-08 1.000000000000000000e+00 +3.599999999999999811e-08 1.000000000000000000e+00 +3.602999999999999904e-08 1.000000000000000000e+00 +3.605999999999999997e-08 1.000000000000000000e+00 +3.609000000000000090e-08 1.000000000000000000e+00 +3.612000000000000183e-08 1.000000000000000000e+00 +3.615000000000000276e-08 1.000000000000000000e+00 +3.617999999999999707e-08 1.000000000000000000e+00 +3.620999999999999800e-08 1.000000000000000000e+00 +3.623999999999999893e-08 1.000000000000000000e+00 +3.626999999999999986e-08 1.000000000000000000e+00 +3.630000000000000079e-08 1.000000000000000000e+00 +3.633000000000000172e-08 1.000000000000000000e+00 +3.636000000000000265e-08 1.000000000000000000e+00 +3.638999999999999697e-08 1.000000000000000000e+00 +3.641999999999999790e-08 1.000000000000000000e+00 +3.644999999999999883e-08 1.000000000000000000e+00 +3.647999999999999976e-08 1.000000000000000000e+00 +3.651000000000000069e-08 1.000000000000000000e+00 +3.654000000000000162e-08 1.000000000000000000e+00 +3.657000000000000255e-08 1.000000000000000000e+00 +3.659999999999999686e-08 1.000000000000000000e+00 +3.662999999999999779e-08 1.000000000000000000e+00 +3.665999999999999872e-08 1.000000000000000000e+00 +3.668999999999999965e-08 1.000000000000000000e+00 +3.672000000000000058e-08 1.000000000000000000e+00 +3.675000000000000151e-08 1.000000000000000000e+00 +3.678000000000000244e-08 1.000000000000000000e+00 +3.680999999999999676e-08 1.000000000000000000e+00 +3.683999999999999769e-08 1.000000000000000000e+00 +3.686999999999999862e-08 1.000000000000000000e+00 +3.689999999999999955e-08 1.000000000000000000e+00 +3.693000000000000048e-08 1.000000000000000000e+00 +3.696000000000000141e-08 1.000000000000000000e+00 +3.699000000000000234e-08 1.000000000000000000e+00 +3.701999999999999665e-08 1.000000000000000000e+00 +3.704999999999999758e-08 1.000000000000000000e+00 +3.707999999999999851e-08 1.000000000000000000e+00 +3.710999999999999944e-08 1.000000000000000000e+00 +3.714000000000000037e-08 1.000000000000000000e+00 +3.717000000000000130e-08 1.000000000000000000e+00 +3.720000000000000223e-08 1.000000000000000000e+00 +3.722999999999999655e-08 1.000000000000000000e+00 +3.725999999999999748e-08 1.000000000000000000e+00 +3.728999999999999841e-08 1.000000000000000000e+00 +3.731999999999999934e-08 1.000000000000000000e+00 +3.735000000000000027e-08 1.000000000000000000e+00 +3.738000000000000120e-08 1.000000000000000000e+00 +3.741000000000000213e-08 1.000000000000000000e+00 +3.743999999999999644e-08 1.000000000000000000e+00 +3.746999999999999737e-08 1.000000000000000000e+00 +3.749999999999999830e-08 1.000000000000000000e+00 +3.752999999999999923e-08 1.000000000000000000e+00 +3.756000000000000016e-08 1.000000000000000000e+00 +3.759000000000000109e-08 1.000000000000000000e+00 +3.762000000000000202e-08 1.000000000000000000e+00 +3.765000000000000295e-08 1.000000000000000000e+00 +3.767999999999999727e-08 1.000000000000000000e+00 +3.770999999999999820e-08 1.000000000000000000e+00 +3.773999999999999913e-08 1.000000000000000000e+00 +3.777000000000000006e-08 1.000000000000000000e+00 +3.780000000000000099e-08 1.000000000000000000e+00 +3.783000000000000192e-08 1.000000000000000000e+00 +3.786000000000000285e-08 1.000000000000000000e+00 +3.788999999999999716e-08 1.000000000000000000e+00 +3.791999999999999809e-08 1.000000000000000000e+00 +3.794999999999999902e-08 1.000000000000000000e+00 +3.797999999999999995e-08 1.000000000000000000e+00 +3.801000000000000088e-08 1.000000000000000000e+00 +3.804000000000000181e-08 1.000000000000000000e+00 +3.807000000000000275e-08 1.000000000000000000e+00 +3.809999999999999706e-08 1.000000000000000000e+00 +3.812999999999999799e-08 1.000000000000000000e+00 +3.815999999999999892e-08 1.000000000000000000e+00 +3.818999999999999985e-08 1.000000000000000000e+00 +3.822000000000000078e-08 1.000000000000000000e+00 +3.825000000000000171e-08 1.000000000000000000e+00 +3.828000000000000264e-08 1.000000000000000000e+00 +3.830999999999999695e-08 1.000000000000000000e+00 +3.833999999999999788e-08 1.000000000000000000e+00 +3.836999999999999881e-08 1.000000000000000000e+00 +3.839999999999999974e-08 1.000000000000000000e+00 +3.843000000000000068e-08 1.000000000000000000e+00 +3.846000000000000161e-08 1.000000000000000000e+00 +3.849000000000000254e-08 1.000000000000000000e+00 +3.851999999999999685e-08 1.000000000000000000e+00 +3.854999999999999778e-08 1.000000000000000000e+00 +3.857999999999999871e-08 1.000000000000000000e+00 +3.860999999999999964e-08 1.000000000000000000e+00 +3.864000000000000057e-08 1.000000000000000000e+00 +3.867000000000000150e-08 1.000000000000000000e+00 +3.870000000000000243e-08 1.000000000000000000e+00 +3.872999999999999674e-08 1.000000000000000000e+00 +3.875999999999999767e-08 1.000000000000000000e+00 +3.878999999999999860e-08 1.000000000000000000e+00 +3.881999999999999954e-08 1.000000000000000000e+00 +3.885000000000000047e-08 1.000000000000000000e+00 +3.888000000000000140e-08 1.000000000000000000e+00 +3.891000000000000233e-08 1.000000000000000000e+00 +3.893999999999999664e-08 1.000000000000000000e+00 +3.896999999999999757e-08 1.000000000000000000e+00 +3.899999999999999850e-08 1.000000000000000000e+00 +3.902999999999999943e-08 1.000000000000000000e+00 +3.906000000000000036e-08 1.000000000000000000e+00 +3.909000000000000129e-08 1.000000000000000000e+00 +3.912000000000000222e-08 1.000000000000000000e+00 +3.914999999999999653e-08 1.000000000000000000e+00 +3.917999999999999746e-08 1.000000000000000000e+00 +3.920999999999999840e-08 1.000000000000000000e+00 +3.923999999999999933e-08 1.000000000000000000e+00 +3.927000000000000026e-08 1.000000000000000000e+00 +3.930000000000000119e-08 1.000000000000000000e+00 +3.933000000000000212e-08 1.000000000000000000e+00 +3.936000000000000305e-08 1.000000000000000000e+00 +3.938999999999999736e-08 1.000000000000000000e+00 +3.941999999999999829e-08 1.000000000000000000e+00 +3.944999999999999922e-08 1.000000000000000000e+00 +3.948000000000000015e-08 1.000000000000000000e+00 +3.951000000000000108e-08 1.000000000000000000e+00 +3.954000000000000201e-08 1.000000000000000000e+00 +3.957000000000000294e-08 1.000000000000000000e+00 +3.959999999999999726e-08 1.000000000000000000e+00 +3.962999999999999819e-08 1.000000000000000000e+00 +3.965999999999999912e-08 1.000000000000000000e+00 +3.969000000000000005e-08 1.000000000000000000e+00 +3.972000000000000098e-08 1.000000000000000000e+00 +3.975000000000000191e-08 1.000000000000000000e+00 +3.978000000000000284e-08 1.000000000000000000e+00 +3.980999999999999715e-08 1.000000000000000000e+00 +3.983999999999999808e-08 1.000000000000000000e+00 +3.986999999999999901e-08 1.000000000000000000e+00 +3.989999999999999994e-08 1.000000000000000000e+00 +3.993000000000000087e-08 1.000000000000000000e+00 +3.996000000000000180e-08 1.000000000000000000e+00 +3.999000000000000273e-08 1.000000000000000000e+00 +4.001999999999999705e-08 1.000000000000000000e+00 +4.004999999999999798e-08 1.000000000000000000e+00 +4.007999999999999891e-08 1.000000000000000000e+00 +4.010999999999999984e-08 1.000000000000000000e+00 +4.014000000000000077e-08 1.000000000000000000e+00 +4.017000000000000170e-08 1.000000000000000000e+00 +4.020000000000000263e-08 1.000000000000000000e+00 +4.022999999999999694e-08 1.000000000000000000e+00 +4.025999999999999787e-08 1.000000000000000000e+00 +4.028999999999999880e-08 1.000000000000000000e+00 +4.031999999999999973e-08 1.000000000000000000e+00 +4.035000000000000066e-08 1.000000000000000000e+00 +4.038000000000000159e-08 1.000000000000000000e+00 +4.041000000000000252e-08 1.000000000000000000e+00 +4.043999999999999684e-08 1.000000000000000000e+00 +4.046999999999999777e-08 1.000000000000000000e+00 +4.049999999999999870e-08 1.000000000000000000e+00 +4.052999999999999963e-08 1.000000000000000000e+00 +4.056000000000000056e-08 1.000000000000000000e+00 +4.059000000000000149e-08 1.000000000000000000e+00 +4.062000000000000242e-08 1.000000000000000000e+00 +4.064999999999999673e-08 1.000000000000000000e+00 +4.067999999999999766e-08 1.000000000000000000e+00 +4.070999999999999859e-08 1.000000000000000000e+00 +4.073999999999999952e-08 1.000000000000000000e+00 +4.077000000000000045e-08 1.000000000000000000e+00 +4.080000000000000138e-08 1.000000000000000000e+00 +4.083000000000000231e-08 1.000000000000000000e+00 +4.085999999999999663e-08 1.000000000000000000e+00 +4.088999999999999756e-08 1.000000000000000000e+00 +4.091999999999999849e-08 1.000000000000000000e+00 +4.094999999999999942e-08 1.000000000000000000e+00 +4.098000000000000035e-08 1.000000000000000000e+00 +4.101000000000000128e-08 1.000000000000000000e+00 +4.104000000000000221e-08 1.000000000000000000e+00 +4.106999999999999652e-08 1.000000000000000000e+00 +4.109999999999999745e-08 1.000000000000000000e+00 +4.112999999999999838e-08 1.000000000000000000e+00 +4.115999999999999931e-08 1.000000000000000000e+00 +4.119000000000000024e-08 1.000000000000000000e+00 +4.122000000000000117e-08 1.000000000000000000e+00 +4.125000000000000210e-08 1.000000000000000000e+00 +4.127999999999999642e-08 1.000000000000000000e+00 +4.130999999999999735e-08 1.000000000000000000e+00 +4.133999999999999828e-08 1.000000000000000000e+00 +4.136999999999999921e-08 1.000000000000000000e+00 +4.140000000000000014e-08 1.000000000000000000e+00 +4.143000000000000107e-08 1.000000000000000000e+00 +4.146000000000000200e-08 1.000000000000000000e+00 +4.149000000000000293e-08 1.000000000000000000e+00 +4.151999999999999724e-08 1.000000000000000000e+00 +4.154999999999999817e-08 1.000000000000000000e+00 +4.157999999999999910e-08 1.000000000000000000e+00 +4.161000000000000003e-08 1.000000000000000000e+00 +4.164000000000000096e-08 1.000000000000000000e+00 +4.167000000000000189e-08 1.000000000000000000e+00 +4.170000000000000282e-08 1.000000000000000000e+00 +4.172999999999999714e-08 1.000000000000000000e+00 +4.175999999999999807e-08 1.000000000000000000e+00 +4.178999999999999900e-08 1.000000000000000000e+00 +4.181999999999999993e-08 1.000000000000000000e+00 +4.185000000000000086e-08 1.000000000000000000e+00 +4.188000000000000179e-08 1.000000000000000000e+00 +4.191000000000000272e-08 1.000000000000000000e+00 +4.193999999999999703e-08 1.000000000000000000e+00 +4.196999999999999796e-08 1.000000000000000000e+00 +4.199999999999999889e-08 1.000000000000000000e+00 +4.202999999999999982e-08 1.000000000000000000e+00 +4.206000000000000075e-08 1.000000000000000000e+00 +4.209000000000000168e-08 1.000000000000000000e+00 +4.212000000000000262e-08 1.000000000000000000e+00 +4.214999999999999693e-08 1.000000000000000000e+00 +4.217999999999999786e-08 1.000000000000000000e+00 +4.220999999999999879e-08 1.000000000000000000e+00 +4.223999999999999972e-08 1.000000000000000000e+00 +4.227000000000000065e-08 1.000000000000000000e+00 +4.230000000000000158e-08 1.000000000000000000e+00 +4.233000000000000251e-08 1.000000000000000000e+00 +4.235999999999999682e-08 1.000000000000000000e+00 +4.238999999999999775e-08 1.000000000000000000e+00 +4.241999999999999868e-08 1.000000000000000000e+00 +4.244999999999999961e-08 1.000000000000000000e+00 +4.248000000000000054e-08 1.000000000000000000e+00 +4.251000000000000148e-08 1.000000000000000000e+00 +4.254000000000000241e-08 1.000000000000000000e+00 +4.256999999999999672e-08 1.000000000000000000e+00 +4.259999999999999765e-08 1.000000000000000000e+00 +4.262999999999999858e-08 1.000000000000000000e+00 +4.265999999999999951e-08 1.000000000000000000e+00 +4.269000000000000044e-08 1.000000000000000000e+00 +4.272000000000000137e-08 1.000000000000000000e+00 +4.275000000000000230e-08 1.000000000000000000e+00 +4.277999999999999661e-08 1.000000000000000000e+00 +4.280999999999999754e-08 1.000000000000000000e+00 +4.283999999999999847e-08 1.000000000000000000e+00 +4.286999999999999940e-08 1.000000000000000000e+00 +4.290000000000000034e-08 1.000000000000000000e+00 +4.293000000000000127e-08 1.000000000000000000e+00 +4.296000000000000220e-08 1.000000000000000000e+00 +4.298999999999999651e-08 1.000000000000000000e+00 +4.301999999999999744e-08 1.000000000000000000e+00 +4.304999999999999837e-08 1.000000000000000000e+00 +4.307999999999999930e-08 1.000000000000000000e+00 +4.311000000000000023e-08 1.000000000000000000e+00 +4.314000000000000116e-08 1.000000000000000000e+00 +4.317000000000000209e-08 1.000000000000000000e+00 +4.320000000000000302e-08 1.000000000000000000e+00 +4.322999999999999733e-08 1.000000000000000000e+00 +4.325999999999999826e-08 1.000000000000000000e+00 +4.328999999999999920e-08 1.000000000000000000e+00 +4.332000000000000013e-08 1.000000000000000000e+00 +4.335000000000000106e-08 1.000000000000000000e+00 +4.338000000000000199e-08 1.000000000000000000e+00 +4.341000000000000292e-08 1.000000000000000000e+00 +4.343999999999999723e-08 1.000000000000000000e+00 +4.346999999999999816e-08 1.000000000000000000e+00 +4.349999999999999909e-08 1.000000000000000000e+00 +4.353000000000000002e-08 1.000000000000000000e+00 +4.356000000000000095e-08 1.000000000000000000e+00 +4.359000000000000188e-08 1.000000000000000000e+00 +4.362000000000000281e-08 1.000000000000000000e+00 +4.364999999999999712e-08 1.000000000000000000e+00 +4.367999999999999806e-08 1.000000000000000000e+00 +4.370999999999999899e-08 1.000000000000000000e+00 +4.373999999999999992e-08 1.000000000000000000e+00 +4.377000000000000085e-08 1.000000000000000000e+00 +4.380000000000000178e-08 1.000000000000000000e+00 +4.383000000000000271e-08 1.000000000000000000e+00 +4.385999999999999702e-08 1.000000000000000000e+00 +4.388999999999999795e-08 1.000000000000000000e+00 +4.391999999999999888e-08 1.000000000000000000e+00 +4.394999999999999981e-08 1.000000000000000000e+00 +4.398000000000000074e-08 1.000000000000000000e+00 +4.401000000000000167e-08 1.000000000000000000e+00 +4.404000000000000260e-08 1.000000000000000000e+00 +4.406999999999999692e-08 1.000000000000000000e+00 +4.409999999999999785e-08 1.000000000000000000e+00 +4.412999999999999878e-08 1.000000000000000000e+00 +4.415999999999999971e-08 1.000000000000000000e+00 +4.419000000000000064e-08 1.000000000000000000e+00 +4.422000000000000157e-08 1.000000000000000000e+00 +4.425000000000000250e-08 1.000000000000000000e+00 +4.427999999999999681e-08 1.000000000000000000e+00 +4.430999999999999774e-08 1.000000000000000000e+00 +4.433999999999999867e-08 1.000000000000000000e+00 +4.436999999999999960e-08 1.000000000000000000e+00 +4.440000000000000053e-08 1.000000000000000000e+00 +4.443000000000000146e-08 1.000000000000000000e+00 +4.446000000000000239e-08 1.000000000000000000e+00 +4.448999999999999671e-08 1.000000000000000000e+00 +4.451999999999999764e-08 1.000000000000000000e+00 +4.454999999999999857e-08 1.000000000000000000e+00 +4.457999999999999950e-08 1.000000000000000000e+00 +4.461000000000000043e-08 1.000000000000000000e+00 +4.464000000000000136e-08 1.000000000000000000e+00 +4.467000000000000229e-08 1.000000000000000000e+00 +4.469999999999999660e-08 1.000000000000000000e+00 +4.472999999999999753e-08 1.000000000000000000e+00 +4.475999999999999846e-08 1.000000000000000000e+00 +4.478999999999999939e-08 1.000000000000000000e+00 +4.482000000000000032e-08 1.000000000000000000e+00 +4.485000000000000125e-08 1.000000000000000000e+00 +4.488000000000000218e-08 1.000000000000000000e+00 +4.490999999999999650e-08 1.000000000000000000e+00 +4.493999999999999743e-08 1.000000000000000000e+00 +4.496999999999999836e-08 1.000000000000000000e+00 +4.499999999999999929e-08 1.000000000000000000e+00 +4.503000000000000022e-08 1.000000000000000000e+00 +4.506000000000000115e-08 1.000000000000000000e+00 +4.509000000000000208e-08 1.000000000000000000e+00 +4.511999999999999639e-08 1.000000000000000000e+00 +4.514999999999999732e-08 1.000000000000000000e+00 +4.517999999999999825e-08 1.000000000000000000e+00 +4.520999999999999918e-08 1.000000000000000000e+00 +4.524000000000000011e-08 1.000000000000000000e+00 +4.527000000000000104e-08 1.000000000000000000e+00 +4.530000000000000197e-08 1.000000000000000000e+00 +4.533000000000000290e-08 1.000000000000000000e+00 +4.535999999999999722e-08 1.000000000000000000e+00 +4.538999999999999815e-08 1.000000000000000000e+00 +4.541999999999999908e-08 1.000000000000000000e+00 +4.545000000000000001e-08 1.000000000000000000e+00 +4.548000000000000094e-08 1.000000000000000000e+00 +4.551000000000000187e-08 1.000000000000000000e+00 +4.554000000000000280e-08 1.000000000000000000e+00 +4.556999999999999711e-08 1.000000000000000000e+00 +4.559999999999999804e-08 1.000000000000000000e+00 +4.562999999999999897e-08 1.000000000000000000e+00 +4.565999999999999990e-08 1.000000000000000000e+00 +4.569000000000000083e-08 1.000000000000000000e+00 +4.572000000000000176e-08 1.000000000000000000e+00 +4.575000000000000269e-08 1.000000000000000000e+00 +4.577999999999999701e-08 1.000000000000000000e+00 +4.580999999999999794e-08 1.000000000000000000e+00 +4.583999999999999887e-08 1.000000000000000000e+00 +4.586999999999999980e-08 1.000000000000000000e+00 +4.590000000000000073e-08 1.000000000000000000e+00 +4.593000000000000166e-08 1.000000000000000000e+00 +4.596000000000000259e-08 1.000000000000000000e+00 +4.598999999999999690e-08 1.000000000000000000e+00 +4.601999999999999783e-08 1.000000000000000000e+00 +4.604999999999999876e-08 1.000000000000000000e+00 +4.607999999999999969e-08 1.000000000000000000e+00 +4.611000000000000062e-08 1.000000000000000000e+00 +4.614000000000000155e-08 1.000000000000000000e+00 +4.617000000000000248e-08 1.000000000000000000e+00 +4.619999999999999680e-08 1.000000000000000000e+00 +4.622999999999999773e-08 1.000000000000000000e+00 +4.625999999999999866e-08 1.000000000000000000e+00 +4.628999999999999959e-08 1.000000000000000000e+00 +4.632000000000000052e-08 1.000000000000000000e+00 +4.635000000000000145e-08 1.000000000000000000e+00 +4.638000000000000238e-08 1.000000000000000000e+00 +4.640999999999999669e-08 1.000000000000000000e+00 +4.643999999999999762e-08 1.000000000000000000e+00 +4.646999999999999855e-08 1.000000000000000000e+00 +4.649999999999999948e-08 1.000000000000000000e+00 +4.653000000000000041e-08 1.000000000000000000e+00 +4.656000000000000134e-08 1.000000000000000000e+00 +4.659000000000000228e-08 1.000000000000000000e+00 +4.661999999999999659e-08 1.000000000000000000e+00 +4.664999999999999752e-08 1.000000000000000000e+00 +4.667999999999999845e-08 1.000000000000000000e+00 +4.670999999999999938e-08 1.000000000000000000e+00 +4.674000000000000031e-08 1.000000000000000000e+00 +4.677000000000000124e-08 1.000000000000000000e+00 +4.680000000000000217e-08 1.000000000000000000e+00 +4.682999999999999648e-08 1.000000000000000000e+00 +4.685999999999999741e-08 1.000000000000000000e+00 +4.688999999999999834e-08 1.000000000000000000e+00 +4.691999999999999927e-08 1.000000000000000000e+00 +4.695000000000000020e-08 1.000000000000000000e+00 +4.698000000000000114e-08 1.000000000000000000e+00 +4.701000000000000207e-08 1.000000000000000000e+00 +4.704000000000000300e-08 1.000000000000000000e+00 +4.706999999999999731e-08 1.000000000000000000e+00 +4.709999999999999824e-08 1.000000000000000000e+00 +4.712999999999999917e-08 1.000000000000000000e+00 +4.716000000000000010e-08 1.000000000000000000e+00 +4.719000000000000103e-08 1.000000000000000000e+00 +4.722000000000000196e-08 1.000000000000000000e+00 +4.725000000000000289e-08 1.000000000000000000e+00 +4.727999999999999720e-08 1.000000000000000000e+00 +4.730999999999999813e-08 1.000000000000000000e+00 +4.733999999999999906e-08 1.000000000000000000e+00 +4.737000000000000000e-08 1.000000000000000000e+00 +4.740000000000000093e-08 1.000000000000000000e+00 +4.743000000000000186e-08 1.000000000000000000e+00 +4.746000000000000279e-08 1.000000000000000000e+00 +4.748999999999999710e-08 1.000000000000000000e+00 +4.751999999999999803e-08 1.000000000000000000e+00 +4.754999999999999896e-08 1.000000000000000000e+00 +4.757999999999999989e-08 1.000000000000000000e+00 +4.761000000000000082e-08 1.000000000000000000e+00 +4.764000000000000175e-08 1.000000000000000000e+00 +4.767000000000000268e-08 1.000000000000000000e+00 +4.769999999999999699e-08 1.000000000000000000e+00 +4.772999999999999792e-08 1.000000000000000000e+00 +4.775999999999999886e-08 1.000000000000000000e+00 +4.778999999999999979e-08 1.000000000000000000e+00 +4.782000000000000072e-08 1.000000000000000000e+00 +4.785000000000000165e-08 1.000000000000000000e+00 +4.788000000000000258e-08 1.000000000000000000e+00 +4.790999999999999689e-08 1.000000000000000000e+00 +4.793999999999999782e-08 1.000000000000000000e+00 +4.796999999999999875e-08 1.000000000000000000e+00 +4.799999999999999968e-08 1.000000000000000000e+00 +4.803000000000000061e-08 1.000000000000000000e+00 +4.806000000000000154e-08 1.000000000000000000e+00 +4.809000000000000247e-08 1.000000000000000000e+00 +4.811999999999999678e-08 1.000000000000000000e+00 +4.814999999999999772e-08 1.000000000000000000e+00 +4.817999999999999865e-08 1.000000000000000000e+00 +4.820999999999999958e-08 1.000000000000000000e+00 +4.824000000000000051e-08 1.000000000000000000e+00 +4.827000000000000144e-08 1.000000000000000000e+00 +4.830000000000000237e-08 1.000000000000000000e+00 +4.832999999999999668e-08 1.000000000000000000e+00 +4.835999999999999761e-08 1.000000000000000000e+00 +4.838999999999999854e-08 1.000000000000000000e+00 +4.841999999999999947e-08 1.000000000000000000e+00 +4.845000000000000040e-08 1.000000000000000000e+00 +4.848000000000000133e-08 1.000000000000000000e+00 +4.851000000000000226e-08 1.000000000000000000e+00 +4.853999999999999658e-08 1.000000000000000000e+00 +4.856999999999999751e-08 1.000000000000000000e+00 +4.859999999999999844e-08 1.000000000000000000e+00 +4.862999999999999937e-08 1.000000000000000000e+00 +4.866000000000000030e-08 1.000000000000000000e+00 +4.869000000000000123e-08 1.000000000000000000e+00 +4.872000000000000216e-08 1.000000000000000000e+00 +4.874999999999999647e-08 1.000000000000000000e+00 +4.877999999999999740e-08 1.000000000000000000e+00 +4.880999999999999833e-08 1.000000000000000000e+00 +4.883999999999999926e-08 1.000000000000000000e+00 +4.887000000000000019e-08 1.000000000000000000e+00 +4.890000000000000112e-08 1.000000000000000000e+00 +4.893000000000000205e-08 1.000000000000000000e+00 +4.895999999999999637e-08 1.000000000000000000e+00 +4.898999999999999730e-08 1.000000000000000000e+00 +4.901999999999999823e-08 1.000000000000000000e+00 +4.904999999999999916e-08 1.000000000000000000e+00 +4.908000000000000009e-08 1.000000000000000000e+00 +4.911000000000000102e-08 1.000000000000000000e+00 +4.914000000000000195e-08 1.000000000000000000e+00 +4.917000000000000288e-08 1.000000000000000000e+00 +4.919999999999999719e-08 1.000000000000000000e+00 +4.922999999999999812e-08 1.000000000000000000e+00 +4.925999999999999905e-08 1.000000000000000000e+00 +4.928999999999999998e-08 1.000000000000000000e+00 +4.932000000000000091e-08 1.000000000000000000e+00 +4.935000000000000184e-08 1.000000000000000000e+00 +4.938000000000000277e-08 1.000000000000000000e+00 +4.940999999999999709e-08 1.000000000000000000e+00 +4.943999999999999802e-08 1.000000000000000000e+00 +4.946999999999999895e-08 1.000000000000000000e+00 +4.949999999999999988e-08 1.000000000000000000e+00 +4.953000000000000081e-08 1.000000000000000000e+00 +4.956000000000000174e-08 1.000000000000000000e+00 +4.959000000000000267e-08 1.000000000000000000e+00 +4.961999999999999698e-08 1.000000000000000000e+00 +4.964999999999999791e-08 1.000000000000000000e+00 +4.967999999999999884e-08 1.000000000000000000e+00 +4.970999999999999977e-08 1.000000000000000000e+00 +4.974000000000000070e-08 1.000000000000000000e+00 +4.977000000000000163e-08 1.000000000000000000e+00 +4.980000000000000256e-08 1.000000000000000000e+00 +4.982999999999999688e-08 1.000000000000000000e+00 +4.985999999999999781e-08 1.000000000000000000e+00 +4.988999999999999874e-08 1.000000000000000000e+00 +4.991999999999999967e-08 1.000000000000000000e+00 +4.995000000000000060e-08 1.000000000000000000e+00 +4.998000000000000153e-08 1.000000000000000000e+00 diff --git a/testData/cases/sources/sources_current.fdtd.json b/testData/cases/sources/sources_current.fdtd.json new file mode 100644 index 00000000..bcfe8350 --- /dev/null +++ b/testData/cases/sources/sources_current.fdtd.json @@ -0,0 +1,291 @@ +{ + "format": "FDTD Input file", + "__comments": "", + "general": { + "timeStep": 5e-10, + "numberOfSteps": 2500 + }, + "boundary": { + "all": { + "type": "pml", + "layers": 6, + "order": 2.0, + "reflection": 0.001 + } + }, + "materials": [ + { + "id": 1, + "type": "wire", + "radius": 0.0001, + "resistancePerMeter": 0.0, + "inductancePerMeter": 0.0 + }, + { + "id": 2, + "type": "terminal", + "terminations": [ + { + "type": "series", + "resistance": 50.0 + } + ] + }, + { + "id": 3, + "type": "terminal", + "terminations": [ + { + "type": "short" + } + ] + }, + { + "name": "copper", + "id": 4, + "type": "pec" + } + ], + "mesh": { + "grid": { + "numberOfCells": [ + 60, + 60, + 60 + ], + "steps": { + "x": [ + 0.01 + ], + "y": [ + 0.01 + ], + "z": [ + 0.01 + ] + } + }, + "coordinates": [ + { + "id": 1, + "relativePosition": [ + 27, + 25, + 30 + ] + }, + { + "id": 2, + "relativePosition": [ + 27, + 25, + 32 + ] + }, + { + "id": 3, + "relativePosition": [ + 43, + 25, + 32 + ] + }, + { + "id": 4, + "relativePosition": [ + 43, + 25, + 30 + ] + }, + { + "id": 5, + "relativePosition": [ + 35, + 25, + 32 + ] + }, + { + "id": 6, + "relativePosition": [ + 35, + 25, + 32 + ] + }, + { + "id": 7, + "relativePosition": [ + 33, + 25, + 32 + ] + }, + { + "id": 8, + "relativePosition": [ + 37, + 25, + 32 + ] + } + ], + "elements": [ + { + "id": 1, + "type": "node", + "coordinateIds": [ + 5 + ] + }, + { + "id": 2, + "type": "polyline", + "coordinateIds": [ + 1, + 2, + 7, + 5, + 8, + 3, + 4 + ] + }, + { + "id": 3, + "type": "cell", + "name": "ground_plane", + "intervals": [ + [ + [ + 25, + 20, + 30 + ], + [ + 45, + 30, + 30 + ] + ] + ] + }, + { + "id": 4, + "type": "node", + "coordinateIds": [ + 7 + ] + }, + { + "id": 5, + "type": "cell", + "intervals": [ + [ + [ + 1, + 1, + 1 + ], + [ + 59, + 59, + 59 + ] + ] + ] + }, + { + "id": 6, + "type": "node", + "coordinateIds": [ + 8 + ] + }, + { + "id": 7, + "type": "polyline", + "coordinateIds": [ + 1, + 4 + ] + } + ] + }, + "materialAssociations": [ + { + "name": "wire", + "materialId": 1, + "initialTerminalId": 3, + "endTerminalId": 2, + "elementIds": [ + 2 + ] + }, + { + "materialId": 4, + "elementIds": [ + 3 + ] + } + ], + "sources": [ + { + "name": "terminal_source", + "type": "generator", + "magnitudeFile": "current_source_1A.exc", + "elementIds": [ + 1 + ], + "field": "current", + "resistance": 50.0 + } + ], + "probes": [ + { + "name": "probe_c7", + "type": "wire", + "field": "current", + "elementIds": [ + 4 + ], + "domain": { + "type": "time" + } + }, + { + "name": "probe_c7", + "type": "wire", + "field": "voltage", + "elementIds": [ + 4 + ], + "domain": { + "type": "time" + } + }, + { + "name": "probe_c8", + "type": "wire", + "field": "current", + "elementIds": [ + 6 + ], + "domain": { + "type": "time" + } + }, + { + "name": "probe_c8", + "type": "wire", + "field": "voltage", + "elementIds": [ + 6 + ], + "domain": { + "type": "time" + } + } + ] +} \ No newline at end of file diff --git a/testData/cases/sources/sources_prepost.py b/testData/cases/sources/sources_prepost.py new file mode 100644 index 00000000..ab137412 --- /dev/null +++ b/testData/cases/sources/sources_prepost.py @@ -0,0 +1,112 @@ +# %% +import numpy as np +import matplotlib.pyplot as plt +import json + +import sys, os +sys.path.append(os.path.join(os.path.dirname(__file__), '../../../', 'src_pyWrapper')) +SEMBA_EXE = '../../../build-dbg/bin/semba-fdtd' +OUTPUTS_FOLDER = '../../outputs/' + +from pyWrapper import * + + +##################################################### +# %% Generate excitation and visualize +dt = 3e-11 +t0 = 2.5e-9 +t1 = 30e-9 +tf = 50e-9 +t = np.arange(0, tf, dt) +e = np.zeros(len(t)) + +for i, tv in enumerate(t): + if (tv=t0 and tv<=t1): + e[i] = (tv-t0)*(1/(t1-t0)) + elif (tv>t1): + e[i] = 1.0 + +plt.figure() +plt.plot(t*1e9,e) +plt.xlabel('Time (ns)') + +data = np.zeros((len(t), 2)) +data[:,0] = t +data[:,1] = e +# np.savetxt('current_source_1A.exc', data) + + +##################################################### +# %% Run solver +fn = 'sources_current.fdtd.json' +solver = FDTD(input_filename = fn, path_to_exe=SEMBA_EXE) +solver['materials'][0] = {"id":1, + "type": "wire", + "radius": 0.1e-3, + "resistancePerMeter": 0.0, + "inductancePerMeter": 0.0 + } +solver["general"]["timestep"] = 1e-11 +solver["general"]["numberOfSteps"] = 5000 + +solver["materialAssociations"][1] = {"materialId": 4, "elementIds": [3]} +# solver["materialAssociations"][1] = {"name": "wire2","materialId": 1,"initialTerminalId": 3,"endTerminalId": 3,"elementIds": [7]} + + + +solver["sources"][0]["elementIds"] = [1] +solver["mesh"]["elements"][0]["coordinateIds"] = [5] + +solver["probes"][0]["elementIds"] = [4] +solver["probes"][1]["elementIds"] = [4] +solver["probes"][0]["name"] = "probe_c7" +solver["probes"][1]["name"] = "probe_c7" +solver["mesh"]["elements"][3]["coordinateIds"] = [7] + +solver["probes"][2]["elementIds"] = [6] +solver["probes"][3]["elementIds"] = [6] +solver["probes"][2]["name"] = "probe_c8" +solver["probes"][3]["name"] = "probe_c8" +solver["mesh"]["elements"][5]["coordinateIds"] = [8] + +solver.cleanUp() +solver.run() +#%% +probe_names = solver.getSolvedProbeFilenames("probe_c7") +p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +p7V = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) +probe_names = solver.getSolvedProbeFilenames("probe_c8") +p8I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +p8V = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) + + +##################################################### +# %% Plot results +# pf = "shieldedPair.fdtd_wire_start_bundle_line_0_I_75_74_74.dat" +# expected = Probe(OUTPUTS_FOLDER+pf) + +plt.figure() +plt.plot(p7I['time']*1e9, p7I['current_0'], '.',label = 'probe7') +plt.plot(p8I['time']*1e9, p8I['current_0'], '.',label = 'probe8') +# plt.plot(p8I['time']*1e9, p7I['current_0']+p8I['current_0'], '.',label = 'sum') +plt.plot(data[:,0]*1e9, data[:,1], '--',label = 'source') +plt.grid(which='both') +plt.legend() +plt.xlabel('Time (ns)') +plt.ylabel('I (A)') +plt.show() + +plt.figure() +plt.plot(p8V['time']*1e9, p8V['voltage_0'], '.',label = 'probe8') +plt.plot(p8V['time']*1e9, 50*p8I['current_0'], '--',label = 'R*source I') +plt.grid(which='both') +plt.legend() +plt.xlabel('Time (ns)') +plt.ylabel('V (V)') +plt.show() +# %% Plot results + + +# %% From bd2376afe0d3a3cdd4e3bdc2c2915af943265a1a Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Wed, 11 Mar 2026 15:58:57 +0100 Subject: [PATCH 14/25] minor. Check advance eqs --- src_mtln/mtl_bundle.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src_mtln/mtl_bundle.F90 b/src_mtln/mtl_bundle.F90 index d7754758..c562383a 100644 --- a/src_mtln/mtl_bundle.F90 +++ b/src_mtln/mtl_bundle.F90 @@ -398,8 +398,8 @@ subroutine bundle_advanceVoltage(this) integer :: i do i = 2,this%number_of_divisions this%v(:, i) = matmul(this%v_term(i,:,:), this%v(:,i)) - & - matmul(this%i_diff(i,:,:), (this%i(:,i) - this%i(:,i-1)) + & - this%i_source(:,i)) + matmul(this%i_diff(i,:,:), (this%i(:,i) - this%i(:,i-1))) + ! + & this%i_source(:,i)) end do end subroutine From 3e9753424b61ab267ac48e194a18d9c2336b13c1 Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Thu, 12 Mar 2026 14:16:22 +0100 Subject: [PATCH 15/25] Update --- src_mtln/mtl_bundle.F90 | 2 +- .../cases/sources/sources_current.fdtd.json | 42 +- testData/cases/sources/sources_prepost.py | 74 +- testData/cases/sources/voltage_source_50V.exc | 2500 +++++++++++++++++ 4 files changed, 2567 insertions(+), 51 deletions(-) create mode 100644 testData/cases/sources/voltage_source_50V.exc diff --git a/src_mtln/mtl_bundle.F90 b/src_mtln/mtl_bundle.F90 index c562383a..c19adbb6 100644 --- a/src_mtln/mtl_bundle.F90 +++ b/src_mtln/mtl_bundle.F90 @@ -266,7 +266,7 @@ subroutine addGenerator(this, index, conductor, gen_type, resistance, path) this%generators(size(aux_generators)+1) = new_generator if (gen_type == SOURCE_TYPE_VOLTAGE) then - ! this%rpul(index, conductor, conductor) = this%rpul(index, conductor, conductor) + resistance + this%rpul(index, conductor, conductor) = this%rpul(index, conductor, conductor) + resistance/0.01 else if (new_generator%source_type == SOURCE_TYPE_CURRENT) then ! this%rpul(index, conductor, conductor) = this%rpul(index, conductor, conductor) + resistance ! this%gpul(index, conductor, conductor) = this%gpul(index, conductor, conductor) + 1.0/resistance diff --git a/testData/cases/sources/sources_current.fdtd.json b/testData/cases/sources/sources_current.fdtd.json index bcfe8350..4baa708b 100644 --- a/testData/cases/sources/sources_current.fdtd.json +++ b/testData/cases/sources/sources_current.fdtd.json @@ -2,8 +2,8 @@ "format": "FDTD Input file", "__comments": "", "general": { - "timeStep": 5e-10, - "numberOfSteps": 2500 + "timeStep": 1e-11, + "numberOfSteps": 7500 }, "boundary": { "all": { @@ -175,7 +175,7 @@ "id": 4, "type": "node", "coordinateIds": [ - 7 + 8 ] }, { @@ -200,7 +200,7 @@ "id": 6, "type": "node", "coordinateIds": [ - 8 + 4 ] }, { @@ -210,6 +210,13 @@ 1, 4 ] + }, + { + "id": 8, + "type": "node", + "coordinateIds": [ + 7 + ] } ] }, @@ -234,28 +241,17 @@ { "name": "terminal_source", "type": "generator", - "magnitudeFile": "current_source_1A.exc", + "magnitudeFile": "voltage_source_50V.exc", "elementIds": [ 1 ], - "field": "current", + "field": "voltage", "resistance": 50.0 } ], "probes": [ { - "name": "probe_c7", - "type": "wire", - "field": "current", - "elementIds": [ - 4 - ], - "domain": { - "type": "time" - } - }, - { - "name": "probe_c7", + "name": "probe_c8", "type": "wire", "field": "voltage", "elementIds": [ @@ -266,9 +262,9 @@ } }, { - "name": "probe_c8", + "name": "probe_end", "type": "wire", - "field": "current", + "field": "voltage", "elementIds": [ 6 ], @@ -277,11 +273,11 @@ } }, { - "name": "probe_c8", + "name": "probe_c7", "type": "wire", - "field": "voltage", + "field": "current", "elementIds": [ - 6 + 8 ], "domain": { "type": "time" diff --git a/testData/cases/sources/sources_prepost.py b/testData/cases/sources/sources_prepost.py index ab137412..64a7bf75 100644 --- a/testData/cases/sources/sources_prepost.py +++ b/testData/cases/sources/sources_prepost.py @@ -5,7 +5,7 @@ import sys, os sys.path.append(os.path.join(os.path.dirname(__file__), '../../../', 'src_pyWrapper')) -SEMBA_EXE = '../../../build-dbg/bin/semba-fdtd' +SEMBA_EXE = '../../../build-rls/bin/semba-fdtd' OUTPUTS_FOLDER = '../../outputs/' from pyWrapper import * @@ -16,7 +16,8 @@ dt = 3e-11 t0 = 2.5e-9 t1 = 30e-9 -tf = 50e-9 +tf = 75e-9 +A = 50.0 t = np.arange(0, tf, dt) e = np.zeros(len(t)) @@ -24,9 +25,9 @@ if (tv=t0 and tv<=t1): - e[i] = (tv-t0)*(1/(t1-t0)) + e[i] = (tv-t0)*(A/(t1-t0)) elif (tv>t1): - e[i] = 1.0 + e[i] = A plt.figure() plt.plot(t*1e9,e) @@ -35,7 +36,7 @@ data = np.zeros((len(t), 2)) data[:,0] = t data[:,1] = e -# np.savetxt('current_source_1A.exc', data) +np.savetxt('voltage_source_50V.exc', data) ##################################################### @@ -48,8 +49,8 @@ "resistancePerMeter": 0.0, "inductancePerMeter": 0.0 } -solver["general"]["timestep"] = 1e-11 -solver["general"]["numberOfSteps"] = 5000 +solver["general"]["timeStep"] = 1e-11 +solver["general"]["numberOfSteps"] = 7500 solver["materialAssociations"][1] = {"materialId": 4, "elementIds": [3]} # solver["materialAssociations"][1] = {"name": "wire2","materialId": 1,"initialTerminalId": 3,"endTerminalId": 3,"elementIds": [7]} @@ -57,29 +58,48 @@ solver["sources"][0]["elementIds"] = [1] +solver["sources"][0]["field"] = "voltage" +solver["sources"][0]["magnitudeFile"] = "voltage_source_50V.exc" solver["mesh"]["elements"][0]["coordinateIds"] = [5] solver["probes"][0]["elementIds"] = [4] -solver["probes"][1]["elementIds"] = [4] -solver["probes"][0]["name"] = "probe_c7" -solver["probes"][1]["name"] = "probe_c7" -solver["mesh"]["elements"][3]["coordinateIds"] = [7] - -solver["probes"][2]["elementIds"] = [6] -solver["probes"][3]["elementIds"] = [6] -solver["probes"][2]["name"] = "probe_c8" -solver["probes"][3]["name"] = "probe_c8" -solver["mesh"]["elements"][5]["coordinateIds"] = [8] +solver["probes"][0]["name"] = "probe_c8" +solver["probes"][0]["field"] = "voltage" +solver["probes"][0]["type"] = "wire" +solver["probes"][0]["domain"] = {"type" : "time"} + +solver["probes"][1]["elementIds"] = [6] +solver["probes"][1]["name"] = "probe_end" +solver["probes"][1]["field"] = "voltage" +solver["probes"][1]["type"] = "wire" +solver["probes"][1]["domain"] = {"type" : "time"} + +solver["probes"][2]["elementIds"] = [8] +solver["probes"][2]["name"] = "probe_c7" +solver["probes"][2]["field"] = "current" +solver["probes"][2]["type"] = "wire" +solver["probes"][2]["domain"] = {"type" : "time"} + +solver["mesh"]["elements"][3]["coordinateIds"] = [8] +solver["mesh"]["elements"][5]["coordinateIds"] = [4] + +# solver["probes"][2]["elementIds"] = [6] +# solver["probes"][2]["name"] = "probe_c8" +# solver["probes"][3]["elementIds"] = [6] +# solver["probes"][3]["name"] = "probe_c8" +# solver["mesh"]["elements"][5]["coordinateIds"] = [8] solver.cleanUp() solver.run() #%% -probe_names = solver.getSolvedProbeFilenames("probe_c7") -p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) -p7V = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) +probe_names = solver.getSolvedProbeFilenames("probe_end") +# p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +pendV = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) probe_names = solver.getSolvedProbeFilenames("probe_c8") -p8I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +# p8I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) p8V = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) +probe_names = solver.getSolvedProbeFilenames("probe_c7") +p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) ##################################################### @@ -88,10 +108,8 @@ # expected = Probe(OUTPUTS_FOLDER+pf) plt.figure() -plt.plot(p7I['time']*1e9, p7I['current_0'], '.',label = 'probe7') -plt.plot(p8I['time']*1e9, p8I['current_0'], '.',label = 'probe8') -# plt.plot(p8I['time']*1e9, p7I['current_0']+p8I['current_0'], '.',label = 'sum') -plt.plot(data[:,0]*1e9, data[:,1], '--',label = 'source') +plt.plot(p7I['time']*1e9, p7I['current_0'], '.',label = 'probe7 (before source)') +# plt.plot(p8I['time']*1e9, p8I['current_0'], '--',label = 'probe8 (after source)') plt.grid(which='both') plt.legend() plt.xlabel('Time (ns)') @@ -99,8 +117,10 @@ plt.show() plt.figure() -plt.plot(p8V['time']*1e9, p8V['voltage_0'], '.',label = 'probe8') -plt.plot(p8V['time']*1e9, 50*p8I['current_0'], '--',label = 'R*source I') +plt.plot(pendV['time']*1e9, pendV['voltage_0'], '.',label = 'line end') +plt.plot(p8V['time']*1e9, p8V['voltage_0'], '--',label = 'probe8 (after source)') +plt.plot(data[:,0]*1e9, data[:,1], '--',label = 'source') +# plt.plot(pendV['time']*1e9, 50*p8I['current_0'], '--',label = 'R*source I') plt.grid(which='both') plt.legend() plt.xlabel('Time (ns)') diff --git a/testData/cases/sources/voltage_source_50V.exc b/testData/cases/sources/voltage_source_50V.exc new file mode 100644 index 00000000..7b745125 --- /dev/null +++ b/testData/cases/sources/voltage_source_50V.exc @@ -0,0 +1,2500 @@ +0.000000000000000000e+00 0.000000000000000000e+00 +2.999999999999999980e-11 0.000000000000000000e+00 +5.999999999999999960e-11 0.000000000000000000e+00 +8.999999999999999940e-11 0.000000000000000000e+00 +1.199999999999999992e-10 0.000000000000000000e+00 +1.499999999999999990e-10 0.000000000000000000e+00 +1.799999999999999988e-10 0.000000000000000000e+00 +2.099999999999999986e-10 0.000000000000000000e+00 +2.399999999999999984e-10 0.000000000000000000e+00 +2.699999999999999982e-10 0.000000000000000000e+00 +2.999999999999999980e-10 0.000000000000000000e+00 +3.299999999999999978e-10 0.000000000000000000e+00 +3.599999999999999976e-10 0.000000000000000000e+00 +3.899999999999999974e-10 0.000000000000000000e+00 +4.199999999999999972e-10 0.000000000000000000e+00 +4.499999999999999970e-10 0.000000000000000000e+00 +4.799999999999999968e-10 0.000000000000000000e+00 +5.099999999999999966e-10 0.000000000000000000e+00 +5.399999999999999964e-10 0.000000000000000000e+00 +5.699999999999999962e-10 0.000000000000000000e+00 +5.999999999999999960e-10 0.000000000000000000e+00 +6.299999999999999958e-10 0.000000000000000000e+00 +6.599999999999999956e-10 0.000000000000000000e+00 +6.899999999999999954e-10 0.000000000000000000e+00 +7.199999999999999952e-10 0.000000000000000000e+00 +7.499999999999999950e-10 0.000000000000000000e+00 +7.799999999999999948e-10 0.000000000000000000e+00 +8.099999999999999946e-10 0.000000000000000000e+00 +8.399999999999999944e-10 0.000000000000000000e+00 +8.699999999999999942e-10 0.000000000000000000e+00 +8.999999999999999940e-10 0.000000000000000000e+00 +9.299999999999999938e-10 0.000000000000000000e+00 +9.599999999999999936e-10 0.000000000000000000e+00 +9.900000000000000968e-10 0.000000000000000000e+00 +1.019999999999999993e-09 0.000000000000000000e+00 +1.049999999999999890e-09 0.000000000000000000e+00 +1.079999999999999993e-09 0.000000000000000000e+00 +1.110000000000000096e-09 0.000000000000000000e+00 +1.139999999999999992e-09 0.000000000000000000e+00 +1.169999999999999889e-09 0.000000000000000000e+00 +1.199999999999999992e-09 0.000000000000000000e+00 +1.230000000000000095e-09 0.000000000000000000e+00 +1.259999999999999992e-09 0.000000000000000000e+00 +1.289999999999999888e-09 0.000000000000000000e+00 +1.319999999999999991e-09 0.000000000000000000e+00 +1.350000000000000094e-09 0.000000000000000000e+00 +1.379999999999999991e-09 0.000000000000000000e+00 +1.409999999999999887e-09 0.000000000000000000e+00 +1.439999999999999990e-09 0.000000000000000000e+00 +1.470000000000000094e-09 0.000000000000000000e+00 +1.499999999999999990e-09 0.000000000000000000e+00 +1.529999999999999886e-09 0.000000000000000000e+00 +1.559999999999999990e-09 0.000000000000000000e+00 +1.590000000000000093e-09 0.000000000000000000e+00 +1.619999999999999989e-09 0.000000000000000000e+00 +1.649999999999999886e-09 0.000000000000000000e+00 +1.679999999999999989e-09 0.000000000000000000e+00 +1.710000000000000092e-09 0.000000000000000000e+00 +1.739999999999999988e-09 0.000000000000000000e+00 +1.769999999999999885e-09 0.000000000000000000e+00 +1.799999999999999988e-09 0.000000000000000000e+00 +1.830000000000000091e-09 0.000000000000000000e+00 +1.859999999999999988e-09 0.000000000000000000e+00 +1.889999999999999884e-09 0.000000000000000000e+00 +1.919999999999999987e-09 0.000000000000000000e+00 +1.950000000000000090e-09 0.000000000000000000e+00 +1.980000000000000194e-09 0.000000000000000000e+00 +2.009999999999999883e-09 0.000000000000000000e+00 +2.039999999999999986e-09 0.000000000000000000e+00 +2.070000000000000090e-09 0.000000000000000000e+00 +2.099999999999999779e-09 0.000000000000000000e+00 +2.129999999999999882e-09 0.000000000000000000e+00 +2.159999999999999986e-09 0.000000000000000000e+00 +2.190000000000000089e-09 0.000000000000000000e+00 +2.220000000000000192e-09 0.000000000000000000e+00 +2.249999999999999882e-09 0.000000000000000000e+00 +2.279999999999999985e-09 0.000000000000000000e+00 +2.310000000000000088e-09 0.000000000000000000e+00 +2.339999999999999778e-09 0.000000000000000000e+00 +2.369999999999999881e-09 0.000000000000000000e+00 +2.399999999999999984e-09 0.000000000000000000e+00 +2.430000000000000087e-09 0.000000000000000000e+00 +2.460000000000000190e-09 0.000000000000000000e+00 +2.489999999999999880e-09 0.000000000000000000e+00 +2.519999999999999983e-09 3.636363636363623697e-02 +2.550000000000000086e-09 9.090909090909098100e-02 +2.579999999999999776e-09 1.454545454545449479e-01 +2.609999999999999879e-09 1.999999999999997058e-01 +2.639999999999999982e-09 2.545454545454544082e-01 +2.670000000000000086e-09 3.090909090909091383e-01 +2.700000000000000189e-09 3.636363636363639240e-01 +2.729999999999999878e-09 4.181818181818178770e-01 +2.759999999999999982e-09 4.727272727272726072e-01 +2.790000000000000085e-09 5.272727272727273373e-01 +2.819999999999999774e-09 5.818181818181813458e-01 +2.849999999999999878e-09 6.363636363636360205e-01 +2.879999999999999981e-09 6.909090909090908061e-01 +2.910000000000000084e-09 7.454545454545455918e-01 +2.940000000000000187e-09 8.000000000000002665e-01 +2.969999999999999877e-09 8.545454545454542750e-01 +2.999999999999999980e-09 9.090909090909089496e-01 +3.030000000000000083e-09 9.636363636363637353e-01 +3.059999999999999773e-09 1.018181818181817633e+00 +3.089999999999999876e-09 1.072727272727272529e+00 +3.119999999999999979e-09 1.127272727272727204e+00 +3.150000000000000082e-09 1.181818181818181879e+00 +3.180000000000000186e-09 1.236363636363636553e+00 +3.209999999999999875e-09 1.290909090909090562e+00 +3.239999999999999978e-09 1.345454545454545459e+00 +3.270000000000000082e-09 1.400000000000000133e+00 +3.299999999999999771e-09 1.454545454545454142e+00 +3.329999999999999874e-09 1.509090909090908816e+00 +3.359999999999999978e-09 1.563636363636363491e+00 +3.390000000000000081e-09 1.618181818181818388e+00 +3.420000000000000184e-09 1.672727272727273062e+00 +3.449999999999999874e-09 1.727272727272727071e+00 +3.479999999999999977e-09 1.781818181818181746e+00 +3.510000000000000080e-09 1.836363636363636420e+00 +3.539999999999999770e-09 1.890909090909090429e+00 +3.569999999999999873e-09 1.945454545454545103e+00 +3.599999999999999976e-09 2.000000000000000000e+00 +3.630000000000000079e-09 2.054545454545454675e+00 +3.660000000000000182e-09 2.109090909090909349e+00 +3.689999999999999872e-09 2.163636363636363580e+00 +3.719999999999999975e-09 2.218181818181818254e+00 +3.749999999999999665e-09 2.272727272727272041e+00 +3.779999999999999768e-09 2.327272727272726716e+00 +3.809999999999999871e-09 2.381818181818181390e+00 +3.839999999999999974e-09 2.436363636363636509e+00 +3.870000000000000078e-09 2.490909090909091184e+00 +3.900000000000000181e-09 2.545454545454545858e+00 +3.930000000000000284e-09 2.600000000000000533e+00 +3.960000000000000387e-09 2.654545454545455208e+00 +3.989999999999999663e-09 2.709090909090908550e+00 +4.019999999999999766e-09 2.763636363636363225e+00 +4.049999999999999870e-09 2.818181818181817899e+00 +4.079999999999999973e-09 2.872727272727272574e+00 +4.110000000000000076e-09 2.927272727272727249e+00 +4.140000000000000179e-09 2.981818181818182367e+00 +4.170000000000000282e-09 3.036363636363637042e+00 +4.199999999999999558e-09 3.090909090909089940e+00 +4.229999999999999662e-09 3.145454545454545059e+00 +4.259999999999999765e-09 3.199999999999999734e+00 +4.289999999999999868e-09 3.254545454545454408e+00 +4.319999999999999971e-09 3.309090909090909083e+00 +4.350000000000000074e-09 3.363636363636363757e+00 +4.380000000000000178e-09 3.418181818181818432e+00 +4.410000000000000281e-09 3.472727272727273107e+00 +4.440000000000000384e-09 3.527272727272727781e+00 +4.469999999999999660e-09 3.581818181818181124e+00 +4.499999999999999763e-09 3.636363636363635798e+00 +4.529999999999999866e-09 3.690909090909090917e+00 +4.559999999999999970e-09 3.745454545454545592e+00 +4.590000000000000073e-09 3.800000000000000266e+00 +4.620000000000000176e-09 3.854545454545454941e+00 +4.650000000000000279e-09 3.909090909090909616e+00 +4.679999999999999555e-09 3.963636363636362958e+00 +4.709999999999999658e-09 4.018181818181817633e+00 +4.739999999999999762e-09 4.072727272727272307e+00 +4.769999999999999865e-09 4.127272727272726982e+00 +4.799999999999999968e-09 4.181818181818181657e+00 +4.830000000000000071e-09 4.236363636363636331e+00 +4.860000000000000174e-09 4.290909090909091006e+00 +4.890000000000000278e-09 4.345454545454545681e+00 +4.920000000000000381e-09 4.400000000000000355e+00 +4.949999999999999657e-09 4.454545454545454142e+00 +4.979999999999999760e-09 4.509090909090908816e+00 +5.009999999999999863e-09 4.563636363636363491e+00 +5.039999999999999966e-09 4.618181818181818166e+00 +5.070000000000000070e-09 4.672727272727272840e+00 +5.100000000000000173e-09 4.727272727272727515e+00 +5.130000000000000276e-09 4.781818181818182190e+00 +5.159999999999999552e-09 4.836363636363635976e+00 +5.189999999999999655e-09 4.890909090909090651e+00 +5.219999999999999758e-09 4.945454545454545325e+00 +5.249999999999999862e-09 5.000000000000000000e+00 +5.279999999999999965e-09 5.054545454545454675e+00 +5.310000000000000068e-09 5.109090909090909349e+00 +5.340000000000000171e-09 5.163636363636364024e+00 +5.370000000000000274e-09 5.218181818181818699e+00 +5.400000000000000378e-09 5.272727272727273373e+00 +5.429999999999999654e-09 5.327272727272727160e+00 +5.459999999999999757e-09 5.381818181818181834e+00 +5.489999999999999860e-09 5.436363636363636509e+00 +5.519999999999999963e-09 5.490909090909091184e+00 +5.550000000000000066e-09 5.545454545454545858e+00 +5.580000000000000170e-09 5.600000000000000533e+00 +5.610000000000000273e-09 5.654545454545455208e+00 +5.639999999999999549e-09 5.709090909090908106e+00 +5.669999999999999652e-09 5.763636363636362780e+00 +5.699999999999999755e-09 5.818181818181817455e+00 +5.729999999999999858e-09 5.872727272727273018e+00 +5.759999999999999962e-09 5.927272727272727693e+00 +5.790000000000000065e-09 5.981818181818182367e+00 +5.820000000000000168e-09 6.036363636363637042e+00 +5.850000000000000271e-09 6.090909090909091717e+00 +5.880000000000000374e-09 6.145454545454546391e+00 +5.909999999999999651e-09 6.199999999999999289e+00 +5.939999999999999754e-09 6.254545454545453964e+00 +5.969999999999999857e-09 6.309090909090908639e+00 +5.999999999999999960e-09 6.363636363636363313e+00 +6.030000000000000063e-09 6.418181818181817988e+00 +6.060000000000000166e-09 6.472727272727273551e+00 +6.090000000000000270e-09 6.527272727272728226e+00 +6.119999999999999546e-09 6.581818181818181124e+00 +6.149999999999999649e-09 6.636363636363635798e+00 +6.179999999999999752e-09 6.690909090909090473e+00 +6.209999999999999855e-09 6.745454545454545148e+00 +6.239999999999999959e-09 6.799999999999999822e+00 +6.270000000000000062e-09 6.854545454545454497e+00 +6.300000000000000165e-09 6.909090909090909172e+00 +6.330000000000000268e-09 6.963636363636363846e+00 +6.360000000000000371e-09 7.018181818181819409e+00 +6.389999999999999647e-09 7.072727272727272307e+00 +6.419999999999999751e-09 7.127272727272726982e+00 +6.449999999999999854e-09 7.181818181818181657e+00 +6.479999999999999957e-09 7.236363636363636331e+00 +6.510000000000000060e-09 7.290909090909091006e+00 +6.540000000000000163e-09 7.345454545454545681e+00 +6.570000000000000267e-09 7.400000000000000355e+00 +6.599999999999999543e-09 7.454545454545454142e+00 +6.629999999999999646e-09 7.509090909090908816e+00 +6.659999999999999749e-09 7.563636363636363491e+00 +6.689999999999999852e-09 7.618181818181818166e+00 +6.719999999999999955e-09 7.672727272727272840e+00 +6.750000000000000059e-09 7.727272727272727515e+00 +6.780000000000000162e-09 7.781818181818182190e+00 +6.810000000000000265e-09 7.836363636363636864e+00 +6.840000000000000368e-09 7.890909090909091539e+00 +6.869999999999999644e-09 7.945454545454545325e+00 +6.899999999999999747e-09 8.000000000000000000e+00 +6.929999999999999851e-09 8.054545454545454675e+00 +6.959999999999999954e-09 8.109090909090909349e+00 +6.990000000000000057e-09 8.163636363636364024e+00 +7.020000000000000160e-09 8.218181818181818699e+00 +7.050000000000000263e-09 8.272727272727273373e+00 +7.079999999999999539e-09 8.327272727272726272e+00 +7.109999999999999643e-09 8.381818181818180946e+00 +7.139999999999999746e-09 8.436363636363635621e+00 +7.169999999999999849e-09 8.490909090909090295e+00 +7.199999999999999952e-09 8.545454545454544970e+00 +7.230000000000000055e-09 8.599999999999999645e+00 +7.260000000000000159e-09 8.654545454545454319e+00 +7.290000000000000262e-09 8.709090909090908994e+00 +7.320000000000000365e-09 8.763636363636363669e+00 +7.349999999999999641e-09 8.818181818181818343e+00 +7.379999999999999744e-09 8.872727272727273018e+00 +7.409999999999999847e-09 8.927272727272727693e+00 +7.439999999999999951e-09 8.981818181818182367e+00 +7.470000000000000054e-09 9.036363636363637042e+00 +7.499999999999999330e-09 9.090909090909089940e+00 +7.530000000000000260e-09 9.145454545454546391e+00 +7.559999999999999536e-09 9.199999999999999289e+00 +7.590000000000000467e-09 9.254545454545455740e+00 +7.619999999999999743e-09 9.309090909090908639e+00 +7.650000000000000673e-09 9.363636363636365090e+00 +7.679999999999999949e-09 9.418181818181817988e+00 +7.709999999999999225e-09 9.472727272727270886e+00 +7.740000000000000155e-09 9.527272727272727337e+00 +7.769999999999999431e-09 9.581818181818180236e+00 +7.800000000000000362e-09 9.636363636363636687e+00 +7.829999999999999638e-09 9.690909090909091361e+00 +7.860000000000000568e-09 9.745454545454546036e+00 +7.889999999999999844e-09 9.800000000000000711e+00 +7.920000000000000775e-09 9.854545454545455385e+00 +7.950000000000000051e-09 9.909090909090910060e+00 +7.979999999999999327e-09 9.963636363636362958e+00 +8.010000000000000257e-09 1.001818181818181941e+01 +8.039999999999999533e-09 1.007272727272727231e+01 +8.070000000000000463e-09 1.012727272727272876e+01 +8.099999999999999739e-09 1.018181818181818166e+01 +8.130000000000000670e-09 1.023636363636363811e+01 +8.159999999999999946e-09 1.029090909090909101e+01 +8.189999999999999222e-09 1.034545454545454390e+01 +8.220000000000000152e-09 1.040000000000000036e+01 +8.249999999999999428e-09 1.045454545454545325e+01 +8.280000000000000359e-09 1.050909090909090970e+01 +8.309999999999999635e-09 1.056363636363636260e+01 +8.340000000000000565e-09 1.061818181818181905e+01 +8.369999999999999841e-09 1.067272727272727195e+01 +8.399999999999999117e-09 1.072727272727272663e+01 +8.430000000000000047e-09 1.078181818181818308e+01 +8.459999999999999323e-09 1.083636363636363598e+01 +8.490000000000000254e-09 1.089090909090909243e+01 +8.519999999999999530e-09 1.094545454545454533e+01 +8.550000000000000460e-09 1.100000000000000178e+01 +8.579999999999999736e-09 1.105454545454545467e+01 +8.610000000000000667e-09 1.110909090909091113e+01 +8.639999999999999943e-09 1.116363636363636402e+01 +8.669999999999999219e-09 1.121818181818181692e+01 +8.700000000000000149e-09 1.127272727272727337e+01 +8.729999999999999425e-09 1.132727272727272627e+01 +8.760000000000000355e-09 1.138181818181818272e+01 +8.789999999999999631e-09 1.143636363636363562e+01 +8.820000000000000562e-09 1.149090909090909207e+01 +8.849999999999999838e-09 1.154545454545454497e+01 +8.880000000000000768e-09 1.160000000000000142e+01 +8.910000000000000044e-09 1.165454545454545432e+01 +8.939999999999999320e-09 1.170909090909090899e+01 +8.970000000000000251e-09 1.176363636363636367e+01 +8.999999999999999527e-09 1.181818181818181834e+01 +9.030000000000000457e-09 1.187272727272727302e+01 +9.059999999999999733e-09 1.192727272727272769e+01 +9.090000000000000663e-09 1.198181818181818414e+01 +9.119999999999999939e-09 1.203636363636363704e+01 +9.149999999999999215e-09 1.209090909090908994e+01 +9.180000000000000146e-09 1.214545454545454639e+01 +9.209999999999999422e-09 1.219999999999999929e+01 +9.240000000000000352e-09 1.225454545454545574e+01 +9.269999999999999628e-09 1.230909090909090864e+01 +9.300000000000000559e-09 1.236363636363636509e+01 +9.329999999999999835e-09 1.241818181818181799e+01 +9.359999999999999111e-09 1.247272727272727089e+01 +9.390000000000000041e-09 1.252727272727272734e+01 +9.419999999999999317e-09 1.258181818181818024e+01 +9.450000000000000247e-09 1.263636363636363669e+01 +9.479999999999999523e-09 1.269090909090908958e+01 +9.510000000000000454e-09 1.274545454545454604e+01 +9.539999999999999730e-09 1.280000000000000071e+01 +9.570000000000000660e-09 1.285454545454545539e+01 +9.599999999999999936e-09 1.290909090909091006e+01 +9.629999999999999212e-09 1.296363636363636296e+01 +9.660000000000000143e-09 1.301818181818181941e+01 +9.689999999999999419e-09 1.307272727272727231e+01 +9.720000000000000349e-09 1.312727272727272876e+01 +9.749999999999999625e-09 1.318181818181818166e+01 +9.780000000000000555e-09 1.323636363636363811e+01 +9.809999999999999831e-09 1.329090909090909101e+01 +9.840000000000000762e-09 1.334545454545454746e+01 +9.870000000000000038e-09 1.340000000000000036e+01 +9.899999999999999314e-09 1.345454545454545325e+01 +9.930000000000000244e-09 1.350909090909090970e+01 +9.959999999999999520e-09 1.356363636363636083e+01 +9.990000000000000451e-09 1.361818181818181728e+01 +1.001999999999999973e-08 1.367272727272727373e+01 +1.005000000000000066e-08 1.372727272727273018e+01 +1.007999999999999993e-08 1.378181818181818130e+01 +1.010999999999999921e-08 1.383636363636363598e+01 +1.014000000000000014e-08 1.389090909090909243e+01 +1.016999999999999942e-08 1.394545454545454355e+01 +1.020000000000000035e-08 1.400000000000000000e+01 +1.022999999999999962e-08 1.405454545454545645e+01 +1.026000000000000055e-08 1.410909090909091113e+01 +1.028999999999999983e-08 1.416363636363636225e+01 +1.031999999999999910e-08 1.421818181818181870e+01 +1.035000000000000003e-08 1.427272727272727515e+01 +1.037999999999999931e-08 1.432727272727272450e+01 +1.041000000000000024e-08 1.438181818181818095e+01 +1.043999999999999952e-08 1.443636363636363740e+01 +1.047000000000000045e-08 1.449090909090909385e+01 +1.049999999999999972e-08 1.454545454545454319e+01 +1.053000000000000065e-08 1.459999999999999964e+01 +1.055999999999999993e-08 1.465454545454545610e+01 +1.058999999999999921e-08 1.470909090909090722e+01 +1.062000000000000014e-08 1.476363636363636367e+01 +1.064999999999999941e-08 1.481818181818181834e+01 +1.068000000000000034e-08 1.487272727272727479e+01 +1.070999999999999962e-08 1.492727272727272592e+01 +1.074000000000000055e-08 1.498181818181818237e+01 +1.076999999999999982e-08 1.503636363636363882e+01 +1.080000000000000076e-08 1.509090909090909349e+01 +1.083000000000000003e-08 1.514545454545454461e+01 +1.085999999999999931e-08 1.520000000000000107e+01 +1.089000000000000024e-08 1.525454545454545752e+01 +1.091999999999999951e-08 1.530909090909090686e+01 +1.095000000000000044e-08 1.536363636363636331e+01 +1.097999999999999972e-08 1.541818181818181976e+01 +1.101000000000000065e-08 1.547272727272727622e+01 +1.103999999999999993e-08 1.552727272727272556e+01 +1.106999999999999920e-08 1.558181818181818201e+01 +1.110000000000000013e-08 1.563636363636363846e+01 +1.112999999999999941e-08 1.569090909090908958e+01 +1.116000000000000034e-08 1.574545454545454426e+01 +1.118999999999999962e-08 1.580000000000000071e+01 +1.122000000000000055e-08 1.585454545454545716e+01 +1.124999999999999982e-08 1.590909090909090828e+01 +1.127999999999999910e-08 1.596363636363636473e+01 +1.131000000000000003e-08 1.601818181818181941e+01 +1.133999999999999930e-08 1.607272727272727053e+01 +1.137000000000000023e-08 1.612727272727272521e+01 +1.139999999999999951e-08 1.618181818181818343e+01 +1.143000000000000044e-08 1.623636363636363811e+01 +1.145999999999999972e-08 1.629090909090908923e+01 +1.149000000000000065e-08 1.634545454545454390e+01 +1.151999999999999992e-08 1.640000000000000213e+01 +1.154999999999999920e-08 1.645454545454545325e+01 +1.158000000000000013e-08 1.650909090909090793e+01 +1.160999999999999941e-08 1.656363636363636616e+01 +1.164000000000000034e-08 1.661818181818182083e+01 +1.166999999999999961e-08 1.667272727272727195e+01 +1.170000000000000054e-08 1.672727272727272663e+01 +1.172999999999999982e-08 1.678181818181818485e+01 +1.176000000000000075e-08 1.683636363636363953e+01 +1.179000000000000002e-08 1.689090909090909065e+01 +1.181999999999999930e-08 1.694545454545454533e+01 +1.185000000000000023e-08 1.700000000000000355e+01 +1.187999999999999951e-08 1.705454545454545112e+01 +1.191000000000000044e-08 1.710909090909090935e+01 +1.193999999999999971e-08 1.716363636363636402e+01 +1.197000000000000064e-08 1.721818181818182225e+01 +1.199999999999999992e-08 1.727272727272727337e+01 +1.202999999999999920e-08 1.732727272727272805e+01 +1.206000000000000013e-08 1.738181818181818272e+01 +1.208999999999999940e-08 1.743636363636363384e+01 +1.212000000000000033e-08 1.749090909090909207e+01 +1.214999999999999961e-08 1.754545454545454675e+01 +1.218000000000000054e-08 1.760000000000000142e+01 +1.220999999999999982e-08 1.765454545454545254e+01 +1.223999999999999909e-08 1.770909090909091077e+01 +1.227000000000000002e-08 1.776363636363636545e+01 +1.229999999999999930e-08 1.781818181818181657e+01 +1.233000000000000023e-08 1.787272727272727124e+01 +1.235999999999999950e-08 1.792727272727272947e+01 +1.239000000000000043e-08 1.798181818181818414e+01 +1.241999999999999971e-08 1.803636363636363527e+01 +1.245000000000000064e-08 1.809090909090908994e+01 +1.247999999999999992e-08 1.814545454545454817e+01 +1.250999999999999919e-08 1.819999999999999929e+01 +1.254000000000000012e-08 1.825454545454545396e+01 +1.256999999999999940e-08 1.830909090909090864e+01 +1.260000000000000033e-08 1.836363636363636687e+01 +1.262999999999999961e-08 1.841818181818181799e+01 +1.266000000000000054e-08 1.847272727272727266e+01 +1.268999999999999981e-08 1.852727272727272734e+01 +1.272000000000000074e-08 1.858181818181818556e+01 +1.275000000000000002e-08 1.863636363636363669e+01 +1.277999999999999929e-08 1.869090909090909136e+01 +1.281000000000000023e-08 1.874545454545454959e+01 +1.283999999999999950e-08 1.879999999999999716e+01 +1.287000000000000043e-08 1.885454545454545539e+01 +1.289999999999999971e-08 1.890909090909091006e+01 +1.293000000000000064e-08 1.896363636363636829e+01 +1.295999999999999991e-08 1.901818181818181586e+01 +1.298999999999999919e-08 1.907272727272727408e+01 +1.302000000000000012e-08 1.912727272727272876e+01 +1.304999999999999940e-08 1.918181818181817988e+01 +1.308000000000000033e-08 1.923636363636363455e+01 +1.310999999999999960e-08 1.929090909090909278e+01 +1.314000000000000053e-08 1.934545454545454746e+01 +1.316999999999999981e-08 1.939999999999999858e+01 +1.319999999999999909e-08 1.945454545454545325e+01 +1.323000000000000002e-08 1.950909090909091148e+01 +1.325999999999999929e-08 1.956363636363636260e+01 +1.329000000000000022e-08 1.961818181818181728e+01 +1.331999999999999950e-08 1.967272727272727550e+01 +1.335000000000000043e-08 1.972727272727273018e+01 +1.337999999999999970e-08 1.978181818181818130e+01 +1.341000000000000063e-08 1.983636363636363598e+01 +1.343999999999999991e-08 1.989090909090909420e+01 +1.346999999999999919e-08 1.994545454545454177e+01 +1.350000000000000012e-08 2.000000000000000000e+01 +1.352999999999999939e-08 2.005454545454545467e+01 +1.356000000000000032e-08 2.010909090909091290e+01 +1.358999999999999960e-08 2.016363636363636047e+01 +1.362000000000000053e-08 2.021818181818181870e+01 +1.364999999999999981e-08 2.027272727272727337e+01 +1.368000000000000074e-08 2.032727272727273160e+01 +1.371000000000000001e-08 2.038181818181818272e+01 +1.373999999999999929e-08 2.043636363636363740e+01 +1.377000000000000022e-08 2.049090909090909207e+01 +1.379999999999999949e-08 2.054545454545454319e+01 +1.383000000000000043e-08 2.060000000000000142e+01 +1.385999999999999970e-08 2.065454545454545610e+01 +1.389000000000000063e-08 2.070909090909091077e+01 +1.391999999999999991e-08 2.076363636363636189e+01 +1.394999999999999918e-08 2.081818181818182012e+01 +1.398000000000000011e-08 2.087272727272727479e+01 +1.400999999999999939e-08 2.092727272727272592e+01 +1.404000000000000032e-08 2.098181818181818059e+01 +1.406999999999999960e-08 2.103636363636363882e+01 +1.410000000000000053e-08 2.109090909090909349e+01 +1.412999999999999980e-08 2.114545454545454461e+01 +1.415999999999999908e-08 2.119999999999999929e+01 +1.419000000000000001e-08 2.125454545454545752e+01 +1.421999999999999929e-08 2.130909090909090864e+01 +1.425000000000000022e-08 2.136363636363636331e+01 +1.427999999999999949e-08 2.141818181818181799e+01 +1.431000000000000042e-08 2.147272727272727622e+01 +1.433999999999999970e-08 2.152727272727272734e+01 +1.437000000000000063e-08 2.158181818181818201e+01 +1.439999999999999990e-08 2.163636363636363669e+01 +1.442999999999999918e-08 2.169090909090908781e+01 +1.446000000000000011e-08 2.174545454545454604e+01 +1.448999999999999939e-08 2.180000000000000071e+01 +1.452000000000000032e-08 2.185454545454545894e+01 +1.454999999999999959e-08 2.190909090909090651e+01 +1.458000000000000052e-08 2.196363636363636473e+01 +1.460999999999999980e-08 2.201818181818181941e+01 +1.464000000000000073e-08 2.207272727272727764e+01 +1.467000000000000001e-08 2.212727272727272521e+01 +1.469999999999999928e-08 2.218181818181818343e+01 +1.473000000000000021e-08 2.223636363636363811e+01 +1.475999999999999949e-08 2.229090909090908923e+01 +1.479000000000000042e-08 2.234545454545454390e+01 +1.481999999999999969e-08 2.240000000000000213e+01 +1.485000000000000063e-08 2.245454545454545681e+01 +1.487999999999999990e-08 2.250909090909090793e+01 +1.490999999999999918e-08 2.256363636363636260e+01 +1.494000000000000011e-08 2.261818181818182083e+01 +1.497000000000000104e-08 2.267272727272727550e+01 +1.499999999999999866e-08 2.272727272727272663e+01 +1.502999999999999959e-08 2.278181818181818485e+01 +1.506000000000000052e-08 2.283636363636363953e+01 +1.509000000000000145e-08 2.289090909090909420e+01 +1.511999999999999907e-08 2.294545454545454533e+01 +1.515000000000000000e-08 2.300000000000000355e+01 +1.518000000000000093e-08 2.305454545454545823e+01 +1.520999999999999855e-08 2.310909090909090935e+01 +1.523999999999999949e-08 2.316363636363636402e+01 +1.527000000000000042e-08 2.321818181818182225e+01 +1.530000000000000135e-08 2.327272727272727693e+01 +1.532999999999999897e-08 2.332727272727272805e+01 +1.535999999999999990e-08 2.338181818181818272e+01 +1.539000000000000083e-08 2.343636363636364095e+01 +1.541999999999999845e-08 2.349090909090909207e+01 +1.544999999999999938e-08 2.354545454545454675e+01 +1.548000000000000031e-08 2.360000000000000142e+01 +1.551000000000000124e-08 2.365454545454545965e+01 +1.553999999999999886e-08 2.370909090909091077e+01 +1.556999999999999979e-08 2.376363636363636545e+01 +1.560000000000000072e-08 2.381818181818182012e+01 +1.562999999999999835e-08 2.387272727272727124e+01 +1.565999999999999928e-08 2.392727272727272947e+01 +1.569000000000000021e-08 2.398181818181818414e+01 +1.572000000000000114e-08 2.403636363636364237e+01 +1.574999999999999876e-08 2.409090909090908994e+01 +1.577999999999999969e-08 2.414545454545454817e+01 +1.581000000000000062e-08 2.420000000000000284e+01 +1.584000000000000155e-08 2.425454545454546107e+01 +1.586999999999999917e-08 2.430909090909090864e+01 +1.590000000000000010e-08 2.436363636363636687e+01 +1.593000000000000103e-08 2.441818181818182154e+01 +1.595999999999999865e-08 2.447272727272727266e+01 +1.598999999999999958e-08 2.452727272727272734e+01 +1.602000000000000051e-08 2.458181818181818556e+01 +1.605000000000000144e-08 2.463636363636364024e+01 +1.607999999999999907e-08 2.469090909090909136e+01 +1.611000000000000000e-08 2.474545454545454604e+01 +1.614000000000000093e-08 2.480000000000000426e+01 +1.616999999999999855e-08 2.485454545454545539e+01 +1.619999999999999948e-08 2.490909090909091006e+01 +1.623000000000000041e-08 2.496363636363636829e+01 +1.626000000000000134e-08 2.501818181818182296e+01 +1.628999999999999896e-08 2.507272727272727408e+01 +1.631999999999999989e-08 2.512727272727272876e+01 +1.635000000000000082e-08 2.518181818181818699e+01 +1.637999999999999844e-08 2.523636363636363455e+01 +1.640999999999999937e-08 2.529090909090909278e+01 +1.644000000000000030e-08 2.534545454545454746e+01 +1.647000000000000123e-08 2.540000000000000568e+01 +1.649999999999999886e-08 2.545454545454545325e+01 +1.652999999999999979e-08 2.550909090909091148e+01 +1.656000000000000072e-08 2.556363636363636616e+01 +1.658999999999999834e-08 2.561818181818181728e+01 +1.661999999999999927e-08 2.567272727272727195e+01 +1.665000000000000020e-08 2.572727272727273018e+01 +1.668000000000000113e-08 2.578181818181818485e+01 +1.670999999999999875e-08 2.583636363636363598e+01 +1.673999999999999968e-08 2.589090909090909420e+01 +1.677000000000000061e-08 2.594545454545454888e+01 +1.679999999999999823e-08 2.600000000000000000e+01 +1.682999999999999916e-08 2.605454545454545467e+01 +1.686000000000000009e-08 2.610909090909091290e+01 +1.689000000000000103e-08 2.616363636363636758e+01 +1.691999999999999865e-08 2.621818181818181870e+01 +1.694999999999999958e-08 2.627272727272727337e+01 +1.698000000000000051e-08 2.632727272727273160e+01 +1.701000000000000144e-08 2.638181818181818628e+01 +1.703999999999999906e-08 2.643636363636363740e+01 +1.706999999999999999e-08 2.649090909090909207e+01 +1.710000000000000092e-08 2.654545454545455030e+01 +1.712999999999999854e-08 2.660000000000000142e+01 +1.715999999999999947e-08 2.665454545454545610e+01 +1.719000000000000040e-08 2.670909090909091077e+01 +1.722000000000000133e-08 2.676363636363636900e+01 +1.724999999999999895e-08 2.681818181818182012e+01 +1.727999999999999989e-08 2.687272727272727479e+01 +1.731000000000000082e-08 2.692727272727272947e+01 +1.733999999999999844e-08 2.698181818181818059e+01 +1.736999999999999937e-08 2.703636363636363882e+01 +1.740000000000000030e-08 2.709090909090909349e+01 +1.743000000000000123e-08 2.714545454545455172e+01 +1.745999999999999885e-08 2.719999999999999929e+01 +1.748999999999999978e-08 2.725454545454545752e+01 +1.752000000000000071e-08 2.730909090909091219e+01 +1.754999999999999833e-08 2.736363636363636331e+01 +1.757999999999999926e-08 2.741818181818181799e+01 +1.761000000000000019e-08 2.747272727272727622e+01 +1.764000000000000112e-08 2.752727272727273089e+01 +1.766999999999999875e-08 2.758181818181818201e+01 +1.769999999999999968e-08 2.763636363636363669e+01 +1.773000000000000061e-08 2.769090909090909491e+01 +1.776000000000000154e-08 2.774545454545454959e+01 +1.778999999999999916e-08 2.780000000000000071e+01 +1.782000000000000009e-08 2.785454545454545539e+01 +1.785000000000000102e-08 2.790909090909091361e+01 +1.787999999999999864e-08 2.796363636363636473e+01 +1.790999999999999957e-08 2.801818181818181941e+01 +1.794000000000000050e-08 2.807272727272727764e+01 +1.797000000000000143e-08 2.812727272727273231e+01 +1.799999999999999905e-08 2.818181818181818343e+01 +1.802999999999999998e-08 2.823636363636363811e+01 +1.806000000000000091e-08 2.829090909090909634e+01 +1.808999999999999854e-08 2.834545454545454390e+01 +1.811999999999999947e-08 2.840000000000000213e+01 +1.815000000000000040e-08 2.845454545454545681e+01 +1.818000000000000133e-08 2.850909090909091503e+01 +1.820999999999999895e-08 2.856363636363636260e+01 +1.823999999999999988e-08 2.861818181818182083e+01 +1.827000000000000081e-08 2.867272727272727550e+01 +1.829999999999999843e-08 2.872727272727272663e+01 +1.832999999999999936e-08 2.878181818181818485e+01 +1.836000000000000029e-08 2.883636363636363953e+01 +1.839000000000000122e-08 2.889090909090909420e+01 +1.841999999999999884e-08 2.894545454545454533e+01 +1.844999999999999977e-08 2.900000000000000355e+01 +1.848000000000000070e-08 2.905454545454545823e+01 +1.850999999999999833e-08 2.910909090909090935e+01 +1.853999999999999926e-08 2.916363636363636402e+01 +1.857000000000000019e-08 2.921818181818182225e+01 +1.860000000000000112e-08 2.927272727272727693e+01 +1.862999999999999874e-08 2.932727272727272805e+01 +1.865999999999999967e-08 2.938181818181818272e+01 +1.869000000000000060e-08 2.943636363636364095e+01 +1.871999999999999822e-08 2.949090909090908852e+01 +1.874999999999999915e-08 2.954545454545454675e+01 +1.878000000000000008e-08 2.960000000000000142e+01 +1.881000000000000101e-08 2.965454545454545965e+01 +1.883999999999999863e-08 2.970909090909091077e+01 +1.886999999999999956e-08 2.976363636363636545e+01 +1.890000000000000049e-08 2.981818181818182012e+01 +1.893000000000000143e-08 2.987272727272727835e+01 +1.895999999999999905e-08 2.992727272727272947e+01 +1.898999999999999998e-08 2.998181818181818414e+01 +1.902000000000000091e-08 3.003636363636363882e+01 +1.904999999999999853e-08 3.009090909090908994e+01 +1.907999999999999946e-08 3.014545454545454817e+01 +1.911000000000000039e-08 3.020000000000000284e+01 +1.914000000000000132e-08 3.025454545454546107e+01 +1.916999999999999894e-08 3.030909090909090864e+01 +1.919999999999999987e-08 3.036363636363636687e+01 +1.923000000000000080e-08 3.041818181818182154e+01 +1.925999999999999842e-08 3.047272727272727266e+01 +1.928999999999999935e-08 3.052727272727272734e+01 +1.932000000000000029e-08 3.058181818181818556e+01 +1.935000000000000122e-08 3.063636363636364024e+01 +1.937999999999999884e-08 3.069090909090909136e+01 +1.940999999999999977e-08 3.074545454545454604e+01 +1.944000000000000070e-08 3.080000000000000426e+01 +1.946999999999999832e-08 3.085454545454545539e+01 +1.949999999999999925e-08 3.090909090909091006e+01 +1.953000000000000018e-08 3.096363636363636473e+01 +1.956000000000000111e-08 3.101818181818182296e+01 +1.958999999999999873e-08 3.107272727272727408e+01 +1.961999999999999966e-08 3.112727272727272876e+01 +1.965000000000000059e-08 3.118181818181818699e+01 +1.968000000000000152e-08 3.123636363636364166e+01 +1.970999999999999915e-08 3.129090909090909278e+01 +1.974000000000000008e-08 3.134545454545454746e+01 +1.977000000000000101e-08 3.140000000000000568e+01 +1.979999999999999863e-08 3.145454545454545325e+01 +1.982999999999999956e-08 3.150909090909091148e+01 +1.986000000000000049e-08 3.156363636363636616e+01 +1.989000000000000142e-08 3.161818181818182438e+01 +1.991999999999999904e-08 3.167272727272727195e+01 +1.994999999999999997e-08 3.172727272727273018e+01 +1.998000000000000090e-08 3.178181818181818485e+01 +2.000999999999999852e-08 3.183636363636363598e+01 +2.003999999999999945e-08 3.189090909090909420e+01 +2.007000000000000038e-08 3.194545454545454888e+01 +2.010000000000000131e-08 3.200000000000000711e+01 +2.012999999999999894e-08 3.205454545454545467e+01 +2.015999999999999987e-08 3.210909090909090935e+01 +2.019000000000000080e-08 3.216363636363637113e+01 +2.021999999999999842e-08 3.221818181818181870e+01 +2.024999999999999935e-08 3.227272727272727337e+01 +2.028000000000000028e-08 3.232727272727272805e+01 +2.031000000000000121e-08 3.238181818181818983e+01 +2.033999999999999883e-08 3.243636363636363740e+01 +2.036999999999999976e-08 3.249090909090909207e+01 +2.040000000000000069e-08 3.254545454545454675e+01 +2.042999999999999831e-08 3.260000000000000142e+01 +2.045999999999999924e-08 3.265454545454545610e+01 +2.049000000000000017e-08 3.270909090909091077e+01 +2.052000000000000110e-08 3.276363636363636545e+01 +2.054999999999999873e-08 3.281818181818182012e+01 +2.057999999999999966e-08 3.287272727272727479e+01 +2.061000000000000059e-08 3.292727272727272947e+01 +2.063999999999999821e-08 3.298181818181818414e+01 +2.066999999999999914e-08 3.303636363636363882e+01 +2.070000000000000007e-08 3.309090909090909349e+01 +2.073000000000000100e-08 3.314545454545454817e+01 +2.075999999999999862e-08 3.320000000000000284e+01 +2.078999999999999955e-08 3.325454545454545752e+01 +2.082000000000000048e-08 3.330909090909091219e+01 +2.085000000000000141e-08 3.336363636363636687e+01 +2.087999999999999903e-08 3.341818181818182154e+01 +2.090999999999999996e-08 3.347272727272727622e+01 +2.094000000000000089e-08 3.352727272727273089e+01 +2.096999999999999852e-08 3.358181818181817846e+01 +2.099999999999999945e-08 3.363636363636364024e+01 +2.103000000000000038e-08 3.369090909090909491e+01 +2.106000000000000131e-08 3.374545454545454959e+01 +2.108999999999999893e-08 3.379999999999999716e+01 +2.111999999999999986e-08 3.385454545454545894e+01 +2.115000000000000079e-08 3.390909090909091361e+01 +2.117999999999999841e-08 3.396363636363636118e+01 +2.120999999999999934e-08 3.401818181818182296e+01 +2.124000000000000027e-08 3.407272727272727764e+01 +2.127000000000000120e-08 3.412727272727273231e+01 +2.129999999999999882e-08 3.418181818181817988e+01 +2.132999999999999975e-08 3.423636363636364166e+01 +2.136000000000000069e-08 3.429090909090909634e+01 +2.138999999999999831e-08 3.434545454545454390e+01 +2.141999999999999924e-08 3.439999999999999858e+01 +2.145000000000000017e-08 3.445454545454546036e+01 +2.148000000000000110e-08 3.450909090909091503e+01 +2.150999999999999872e-08 3.456363636363636260e+01 +2.153999999999999965e-08 3.461818181818181728e+01 +2.157000000000000058e-08 3.467272727272727906e+01 +2.160000000000000151e-08 3.472727272727273373e+01 +2.162999999999999913e-08 3.478181818181818130e+01 +2.166000000000000006e-08 3.483636363636363598e+01 +2.169000000000000099e-08 3.489090909090909776e+01 +2.171999999999999861e-08 3.494545454545454533e+01 +2.174999999999999955e-08 3.500000000000000000e+01 +2.178000000000000048e-08 3.505454545454545467e+01 +2.181000000000000141e-08 3.510909090909091645e+01 +2.183999999999999903e-08 3.516363636363636402e+01 +2.186999999999999996e-08 3.521818181818181870e+01 +2.190000000000000089e-08 3.527272727272728048e+01 +2.192999999999999851e-08 3.532727272727272805e+01 +2.195999999999999944e-08 3.538181818181818272e+01 +2.199000000000000037e-08 3.543636363636363740e+01 +2.202000000000000130e-08 3.549090909090909918e+01 +2.204999999999999892e-08 3.554545454545454675e+01 +2.207999999999999985e-08 3.560000000000000142e+01 +2.211000000000000078e-08 3.565454545454545610e+01 +2.213999999999999841e-08 3.570909090909091077e+01 +2.216999999999999934e-08 3.576363636363636545e+01 +2.220000000000000027e-08 3.581818181818182012e+01 +2.223000000000000120e-08 3.587272727272727479e+01 +2.225999999999999882e-08 3.592727272727272947e+01 +2.228999999999999975e-08 3.598181818181818414e+01 +2.232000000000000068e-08 3.603636363636363882e+01 +2.234999999999999830e-08 3.609090909090909349e+01 +2.237999999999999923e-08 3.614545454545454817e+01 +2.241000000000000016e-08 3.620000000000000284e+01 +2.244000000000000109e-08 3.625454545454545752e+01 +2.246999999999999871e-08 3.630909090909091219e+01 +2.249999999999999964e-08 3.636363636363636687e+01 +2.253000000000000057e-08 3.641818181818182154e+01 +2.255999999999999820e-08 3.647272727272726911e+01 +2.258999999999999913e-08 3.652727272727273089e+01 +2.262000000000000006e-08 3.658181818181818556e+01 +2.265000000000000099e-08 3.663636363636364024e+01 +2.267999999999999861e-08 3.669090909090908781e+01 +2.270999999999999954e-08 3.674545454545454959e+01 +2.274000000000000047e-08 3.680000000000000426e+01 +2.277000000000000140e-08 3.685454545454545894e+01 +2.279999999999999902e-08 3.690909090909090651e+01 +2.282999999999999995e-08 3.696363636363636829e+01 +2.286000000000000088e-08 3.701818181818182296e+01 +2.288999999999999850e-08 3.707272727272727053e+01 +2.291999999999999943e-08 3.712727272727273231e+01 +2.295000000000000036e-08 3.718181818181818699e+01 +2.298000000000000129e-08 3.723636363636364166e+01 +2.300999999999999892e-08 3.729090909090908923e+01 +2.303999999999999985e-08 3.734545454545455101e+01 +2.307000000000000078e-08 3.740000000000000568e+01 +2.309999999999999840e-08 3.745454545454545325e+01 +2.312999999999999933e-08 3.750909090909090793e+01 +2.316000000000000026e-08 3.756363636363636971e+01 +2.319000000000000119e-08 3.761818181818182438e+01 +2.321999999999999881e-08 3.767272727272727195e+01 +2.324999999999999974e-08 3.772727272727272663e+01 +2.328000000000000067e-08 3.778181818181818841e+01 +2.330999999999999829e-08 3.783636363636363598e+01 +2.333999999999999922e-08 3.789090909090909065e+01 +2.337000000000000015e-08 3.794545454545454533e+01 +2.340000000000000109e-08 3.800000000000000711e+01 +2.342999999999999871e-08 3.805454545454545467e+01 +2.345999999999999964e-08 3.810909090909090935e+01 +2.349000000000000057e-08 3.816363636363636402e+01 +2.352000000000000150e-08 3.821818181818182580e+01 +2.354999999999999912e-08 3.827272727272727337e+01 +2.358000000000000005e-08 3.832727272727272805e+01 +2.361000000000000098e-08 3.838181818181818983e+01 +2.363999999999999860e-08 3.843636363636363740e+01 +2.366999999999999953e-08 3.849090909090909207e+01 +2.370000000000000046e-08 3.854545454545454675e+01 +2.373000000000000139e-08 3.860000000000000853e+01 +2.375999999999999901e-08 3.865454545454545610e+01 +2.378999999999999995e-08 3.870909090909091077e+01 +2.382000000000000088e-08 3.876363636363636545e+01 +2.384999999999999850e-08 3.881818181818182012e+01 +2.387999999999999943e-08 3.887272727272727479e+01 +2.391000000000000036e-08 3.892727272727272947e+01 +2.394000000000000129e-08 3.898181818181818414e+01 +2.396999999999999891e-08 3.903636363636363882e+01 +2.399999999999999984e-08 3.909090909090909349e+01 +2.403000000000000077e-08 3.914545454545454817e+01 +2.405999999999999839e-08 3.920000000000000284e+01 +2.408999999999999932e-08 3.925454545454545752e+01 +2.412000000000000025e-08 3.930909090909091219e+01 +2.415000000000000118e-08 3.936363636363636687e+01 +2.417999999999999881e-08 3.941818181818182154e+01 +2.420999999999999974e-08 3.947272727272727622e+01 +2.424000000000000067e-08 3.952727272727273089e+01 +2.426999999999999829e-08 3.958181818181817846e+01 +2.429999999999999922e-08 3.963636363636364024e+01 +2.433000000000000015e-08 3.969090909090909491e+01 +2.436000000000000108e-08 3.974545454545454959e+01 +2.438999999999999870e-08 3.979999999999999716e+01 +2.441999999999999963e-08 3.985454545454545894e+01 +2.445000000000000056e-08 3.990909090909091361e+01 +2.447999999999999818e-08 3.996363636363636118e+01 +2.450999999999999911e-08 4.001818181818182296e+01 +2.454000000000000004e-08 4.007272727272727764e+01 +2.457000000000000097e-08 4.012727272727273231e+01 +2.459999999999999860e-08 4.018181818181817988e+01 +2.462999999999999953e-08 4.023636363636364166e+01 +2.466000000000000046e-08 4.029090909090909634e+01 +2.469000000000000139e-08 4.034545454545455101e+01 +2.471999999999999901e-08 4.039999999999999858e+01 +2.474999999999999994e-08 4.045454545454546036e+01 +2.478000000000000087e-08 4.050909090909091503e+01 +2.480999999999999849e-08 4.056363636363636260e+01 +2.483999999999999942e-08 4.061818181818181728e+01 +2.487000000000000035e-08 4.067272727272727906e+01 +2.490000000000000128e-08 4.072727272727273373e+01 +2.492999999999999890e-08 4.078181818181818130e+01 +2.495999999999999983e-08 4.083636363636363598e+01 +2.499000000000000076e-08 4.089090909090909776e+01 +2.501999999999999839e-08 4.094545454545454533e+01 +2.504999999999999932e-08 4.100000000000000000e+01 +2.508000000000000025e-08 4.105454545454545467e+01 +2.511000000000000118e-08 4.110909090909091645e+01 +2.513999999999999880e-08 4.116363636363636402e+01 +2.516999999999999973e-08 4.121818181818181870e+01 +2.520000000000000066e-08 4.127272727272727337e+01 +2.522999999999999828e-08 4.132727272727272805e+01 +2.525999999999999921e-08 4.138181818181818272e+01 +2.529000000000000014e-08 4.143636363636363740e+01 +2.532000000000000107e-08 4.149090909090909918e+01 +2.534999999999999869e-08 4.154545454545454675e+01 +2.537999999999999962e-08 4.160000000000000142e+01 +2.541000000000000055e-08 4.165454545454545610e+01 +2.544000000000000149e-08 4.170909090909091788e+01 +2.546999999999999911e-08 4.176363636363636545e+01 +2.550000000000000004e-08 4.181818181818182012e+01 +2.553000000000000097e-08 4.187272727272727479e+01 +2.555999999999999859e-08 4.192727272727272947e+01 +2.558999999999999952e-08 4.198181818181818414e+01 +2.562000000000000045e-08 4.203636363636363882e+01 +2.565000000000000138e-08 4.209090909090909349e+01 +2.567999999999999900e-08 4.214545454545454817e+01 +2.570999999999999993e-08 4.220000000000000284e+01 +2.574000000000000086e-08 4.225454545454545752e+01 +2.576999999999999848e-08 4.230909090909091219e+01 +2.579999999999999941e-08 4.236363636363636687e+01 +2.583000000000000035e-08 4.241818181818182154e+01 +2.586000000000000128e-08 4.247272727272727622e+01 +2.588999999999999890e-08 4.252727272727273089e+01 +2.591999999999999983e-08 4.258181818181818556e+01 +2.595000000000000076e-08 4.263636363636364024e+01 +2.597999999999999838e-08 4.269090909090908781e+01 +2.600999999999999931e-08 4.274545454545454959e+01 +2.604000000000000024e-08 4.280000000000000426e+01 +2.607000000000000117e-08 4.285454545454545894e+01 +2.609999999999999879e-08 4.290909090909090651e+01 +2.612999999999999972e-08 4.296363636363636829e+01 +2.616000000000000065e-08 4.301818181818182296e+01 +2.618999999999999827e-08 4.307272727272727053e+01 +2.621999999999999921e-08 4.312727272727273231e+01 +2.625000000000000014e-08 4.318181818181818699e+01 +2.628000000000000107e-08 4.323636363636364166e+01 +2.630999999999999869e-08 4.329090909090908923e+01 +2.633999999999999962e-08 4.334545454545455101e+01 +2.637000000000000055e-08 4.340000000000000568e+01 +2.639999999999999817e-08 4.345454545454545325e+01 +2.642999999999999910e-08 4.350909090909090793e+01 +2.646000000000000003e-08 4.356363636363636971e+01 +2.649000000000000096e-08 4.361818181818182438e+01 +2.651999999999999858e-08 4.367272727272727195e+01 +2.654999999999999951e-08 4.372727272727272663e+01 +2.658000000000000044e-08 4.378181818181818841e+01 +2.661000000000000137e-08 4.383636363636364308e+01 +2.663999999999999900e-08 4.389090909090909065e+01 +2.666999999999999993e-08 4.394545454545454533e+01 +2.670000000000000086e-08 4.400000000000000711e+01 +2.672999999999999848e-08 4.405454545454545467e+01 +2.675999999999999941e-08 4.410909090909090935e+01 +2.679000000000000034e-08 4.416363636363636402e+01 +2.682000000000000127e-08 4.421818181818182580e+01 +2.684999999999999889e-08 4.427272727272727337e+01 +2.687999999999999982e-08 4.432727272727272805e+01 +2.691000000000000075e-08 4.438181818181818272e+01 +2.693999999999999837e-08 4.443636363636363740e+01 +2.696999999999999930e-08 4.449090909090909207e+01 +2.700000000000000023e-08 4.454545454545454675e+01 +2.703000000000000116e-08 4.460000000000000853e+01 +2.705999999999999879e-08 4.465454545454545610e+01 +2.708999999999999972e-08 4.470909090909091077e+01 +2.712000000000000065e-08 4.476363636363636545e+01 +2.714999999999999827e-08 4.481818181818182012e+01 +2.717999999999999920e-08 4.487272727272727479e+01 +2.721000000000000013e-08 4.492727272727272947e+01 +2.724000000000000106e-08 4.498181818181818414e+01 +2.726999999999999868e-08 4.503636363636363882e+01 +2.729999999999999961e-08 4.509090909090909349e+01 +2.733000000000000054e-08 4.514545454545454817e+01 +2.736000000000000147e-08 4.520000000000000284e+01 +2.738999999999999909e-08 4.525454545454545752e+01 +2.742000000000000002e-08 4.530909090909091219e+01 +2.745000000000000095e-08 4.536363636363636687e+01 +2.747999999999999858e-08 4.541818181818182154e+01 +2.750999999999999951e-08 4.547272727272727622e+01 +2.754000000000000044e-08 4.552727272727273089e+01 +2.757000000000000137e-08 4.558181818181818556e+01 +2.759999999999999899e-08 4.563636363636364024e+01 +2.762999999999999992e-08 4.569090909090909491e+01 +2.766000000000000085e-08 4.574545454545454959e+01 +2.768999999999999847e-08 4.579999999999999716e+01 +2.771999999999999940e-08 4.585454545454545894e+01 +2.775000000000000033e-08 4.590909090909091361e+01 +2.778000000000000126e-08 4.596363636363636829e+01 +2.780999999999999888e-08 4.601818181818181586e+01 +2.783999999999999981e-08 4.607272727272727764e+01 +2.787000000000000075e-08 4.612727272727273231e+01 +2.789999999999999837e-08 4.618181818181817988e+01 +2.792999999999999930e-08 4.623636363636364166e+01 +2.796000000000000023e-08 4.629090909090909634e+01 +2.799000000000000116e-08 4.634545454545455101e+01 +2.801999999999999878e-08 4.639999999999999858e+01 +2.804999999999999971e-08 4.645454545454546036e+01 +2.808000000000000064e-08 4.650909090909091503e+01 +2.810999999999999826e-08 4.656363636363636260e+01 +2.813999999999999919e-08 4.661818181818181728e+01 +2.817000000000000012e-08 4.667272727272727906e+01 +2.820000000000000105e-08 4.672727272727273373e+01 +2.822999999999999867e-08 4.678181818181818130e+01 +2.825999999999999961e-08 4.683636363636363598e+01 +2.829000000000000054e-08 4.689090909090909776e+01 +2.831999999999999816e-08 4.694545454545454533e+01 +2.834999999999999909e-08 4.700000000000000000e+01 +2.838000000000000002e-08 4.705454545454545467e+01 +2.841000000000000095e-08 4.710909090909091645e+01 +2.843999999999999857e-08 4.716363636363636402e+01 +2.846999999999999950e-08 4.721818181818181870e+01 +2.850000000000000043e-08 4.727272727272727337e+01 +2.853000000000000136e-08 4.732727272727273515e+01 +2.855999999999999898e-08 4.738181818181818272e+01 +2.858999999999999991e-08 4.743636363636363740e+01 +2.862000000000000084e-08 4.749090909090909207e+01 +2.864999999999999847e-08 4.754545454545454675e+01 +2.867999999999999940e-08 4.760000000000000142e+01 +2.871000000000000033e-08 4.765454545454545610e+01 +2.874000000000000126e-08 4.770909090909091788e+01 +2.876999999999999888e-08 4.776363636363636545e+01 +2.879999999999999981e-08 4.781818181818182012e+01 +2.883000000000000074e-08 4.787272727272727479e+01 +2.885999999999999836e-08 4.792727272727272947e+01 +2.888999999999999929e-08 4.798181818181818414e+01 +2.892000000000000022e-08 4.803636363636363882e+01 +2.895000000000000115e-08 4.809090909090909349e+01 +2.897999999999999877e-08 4.814545454545454817e+01 +2.900999999999999970e-08 4.820000000000000284e+01 +2.904000000000000063e-08 4.825454545454545752e+01 +2.906999999999999826e-08 4.830909090909091219e+01 +2.909999999999999919e-08 4.836363636363636687e+01 +2.913000000000000012e-08 4.841818181818182154e+01 +2.916000000000000105e-08 4.847272727272727622e+01 +2.918999999999999867e-08 4.852727272727273089e+01 +2.921999999999999960e-08 4.858181818181818556e+01 +2.925000000000000053e-08 4.863636363636364024e+01 +2.928000000000000146e-08 4.869090909090909491e+01 +2.930999999999999908e-08 4.874545454545454959e+01 +2.934000000000000001e-08 4.880000000000000426e+01 +2.937000000000000094e-08 4.885454545454545894e+01 +2.939999999999999856e-08 4.890909090909090651e+01 +2.942999999999999949e-08 4.896363636363636829e+01 +2.946000000000000042e-08 4.901818181818182296e+01 +2.949000000000000135e-08 4.907272727272727764e+01 +2.951999999999999898e-08 4.912727272727272521e+01 +2.954999999999999991e-08 4.918181818181818699e+01 +2.958000000000000084e-08 4.923636363636364166e+01 +2.960999999999999846e-08 4.929090909090908923e+01 +2.963999999999999939e-08 4.934545454545455101e+01 +2.967000000000000032e-08 4.940000000000000568e+01 +2.970000000000000125e-08 4.945454545454546036e+01 +2.972999999999999887e-08 4.950909090909090793e+01 +2.975999999999999980e-08 4.956363636363636971e+01 +2.979000000000000073e-08 4.961818181818182438e+01 +2.981999999999999835e-08 4.967272727272727195e+01 +2.984999999999999928e-08 4.972727272727272663e+01 +2.988000000000000021e-08 4.978181818181818841e+01 +2.991000000000000115e-08 4.983636363636364308e+01 +2.994000000000000208e-08 4.989090909090909776e+01 +2.997000000000000301e-08 4.994545454545455243e+01 +2.999999999999999732e-08 5.000000000000000000e+01 +3.002999999999999825e-08 5.000000000000000000e+01 +3.005999999999999918e-08 5.000000000000000000e+01 +3.009000000000000011e-08 5.000000000000000000e+01 +3.012000000000000104e-08 5.000000000000000000e+01 +3.015000000000000197e-08 5.000000000000000000e+01 +3.018000000000000290e-08 5.000000000000000000e+01 +3.020999999999999721e-08 5.000000000000000000e+01 +3.023999999999999814e-08 5.000000000000000000e+01 +3.026999999999999907e-08 5.000000000000000000e+01 +3.030000000000000001e-08 5.000000000000000000e+01 +3.033000000000000094e-08 5.000000000000000000e+01 +3.036000000000000187e-08 5.000000000000000000e+01 +3.039000000000000280e-08 5.000000000000000000e+01 +3.041999999999999711e-08 5.000000000000000000e+01 +3.044999999999999804e-08 5.000000000000000000e+01 +3.047999999999999897e-08 5.000000000000000000e+01 +3.050999999999999990e-08 5.000000000000000000e+01 +3.054000000000000083e-08 5.000000000000000000e+01 +3.057000000000000176e-08 5.000000000000000000e+01 +3.060000000000000269e-08 5.000000000000000000e+01 +3.062999999999999700e-08 5.000000000000000000e+01 +3.065999999999999793e-08 5.000000000000000000e+01 +3.068999999999999887e-08 5.000000000000000000e+01 +3.071999999999999980e-08 5.000000000000000000e+01 +3.075000000000000073e-08 5.000000000000000000e+01 +3.078000000000000166e-08 5.000000000000000000e+01 +3.081000000000000259e-08 5.000000000000000000e+01 +3.083999999999999690e-08 5.000000000000000000e+01 +3.086999999999999783e-08 5.000000000000000000e+01 +3.089999999999999876e-08 5.000000000000000000e+01 +3.092999999999999969e-08 5.000000000000000000e+01 +3.096000000000000062e-08 5.000000000000000000e+01 +3.099000000000000155e-08 5.000000000000000000e+01 +3.102000000000000248e-08 5.000000000000000000e+01 +3.104999999999999679e-08 5.000000000000000000e+01 +3.107999999999999773e-08 5.000000000000000000e+01 +3.110999999999999866e-08 5.000000000000000000e+01 +3.113999999999999959e-08 5.000000000000000000e+01 +3.117000000000000052e-08 5.000000000000000000e+01 +3.120000000000000145e-08 5.000000000000000000e+01 +3.123000000000000238e-08 5.000000000000000000e+01 +3.125999999999999669e-08 5.000000000000000000e+01 +3.128999999999999762e-08 5.000000000000000000e+01 +3.131999999999999855e-08 5.000000000000000000e+01 +3.134999999999999948e-08 5.000000000000000000e+01 +3.138000000000000041e-08 5.000000000000000000e+01 +3.141000000000000134e-08 5.000000000000000000e+01 +3.144000000000000227e-08 5.000000000000000000e+01 +3.146999999999999659e-08 5.000000000000000000e+01 +3.149999999999999752e-08 5.000000000000000000e+01 +3.152999999999999845e-08 5.000000000000000000e+01 +3.155999999999999938e-08 5.000000000000000000e+01 +3.159000000000000031e-08 5.000000000000000000e+01 +3.162000000000000124e-08 5.000000000000000000e+01 +3.165000000000000217e-08 5.000000000000000000e+01 +3.168000000000000310e-08 5.000000000000000000e+01 +3.170999999999999741e-08 5.000000000000000000e+01 +3.173999999999999834e-08 5.000000000000000000e+01 +3.176999999999999927e-08 5.000000000000000000e+01 +3.180000000000000020e-08 5.000000000000000000e+01 +3.183000000000000113e-08 5.000000000000000000e+01 +3.186000000000000206e-08 5.000000000000000000e+01 +3.189000000000000299e-08 5.000000000000000000e+01 +3.191999999999999731e-08 5.000000000000000000e+01 +3.194999999999999824e-08 5.000000000000000000e+01 +3.197999999999999917e-08 5.000000000000000000e+01 +3.201000000000000010e-08 5.000000000000000000e+01 +3.204000000000000103e-08 5.000000000000000000e+01 +3.207000000000000196e-08 5.000000000000000000e+01 +3.210000000000000289e-08 5.000000000000000000e+01 +3.212999999999999720e-08 5.000000000000000000e+01 +3.215999999999999813e-08 5.000000000000000000e+01 +3.218999999999999906e-08 5.000000000000000000e+01 +3.221999999999999999e-08 5.000000000000000000e+01 +3.225000000000000092e-08 5.000000000000000000e+01 +3.228000000000000185e-08 5.000000000000000000e+01 +3.231000000000000278e-08 5.000000000000000000e+01 +3.233999999999999710e-08 5.000000000000000000e+01 +3.236999999999999803e-08 5.000000000000000000e+01 +3.239999999999999896e-08 5.000000000000000000e+01 +3.242999999999999989e-08 5.000000000000000000e+01 +3.246000000000000082e-08 5.000000000000000000e+01 +3.249000000000000175e-08 5.000000000000000000e+01 +3.252000000000000268e-08 5.000000000000000000e+01 +3.254999999999999699e-08 5.000000000000000000e+01 +3.257999999999999792e-08 5.000000000000000000e+01 +3.260999999999999885e-08 5.000000000000000000e+01 +3.263999999999999978e-08 5.000000000000000000e+01 +3.267000000000000071e-08 5.000000000000000000e+01 +3.270000000000000164e-08 5.000000000000000000e+01 +3.273000000000000257e-08 5.000000000000000000e+01 +3.275999999999999689e-08 5.000000000000000000e+01 +3.278999999999999782e-08 5.000000000000000000e+01 +3.281999999999999875e-08 5.000000000000000000e+01 +3.284999999999999968e-08 5.000000000000000000e+01 +3.288000000000000061e-08 5.000000000000000000e+01 +3.291000000000000154e-08 5.000000000000000000e+01 +3.294000000000000247e-08 5.000000000000000000e+01 +3.296999999999999678e-08 5.000000000000000000e+01 +3.299999999999999771e-08 5.000000000000000000e+01 +3.302999999999999864e-08 5.000000000000000000e+01 +3.305999999999999957e-08 5.000000000000000000e+01 +3.309000000000000050e-08 5.000000000000000000e+01 +3.312000000000000143e-08 5.000000000000000000e+01 +3.315000000000000236e-08 5.000000000000000000e+01 +3.317999999999999668e-08 5.000000000000000000e+01 +3.320999999999999761e-08 5.000000000000000000e+01 +3.323999999999999854e-08 5.000000000000000000e+01 +3.326999999999999947e-08 5.000000000000000000e+01 +3.330000000000000040e-08 5.000000000000000000e+01 +3.333000000000000133e-08 5.000000000000000000e+01 +3.336000000000000226e-08 5.000000000000000000e+01 +3.338999999999999657e-08 5.000000000000000000e+01 +3.341999999999999750e-08 5.000000000000000000e+01 +3.344999999999999843e-08 5.000000000000000000e+01 +3.347999999999999936e-08 5.000000000000000000e+01 +3.351000000000000029e-08 5.000000000000000000e+01 +3.354000000000000122e-08 5.000000000000000000e+01 +3.357000000000000215e-08 5.000000000000000000e+01 +3.359999999999999647e-08 5.000000000000000000e+01 +3.362999999999999740e-08 5.000000000000000000e+01 +3.365999999999999833e-08 5.000000000000000000e+01 +3.368999999999999926e-08 5.000000000000000000e+01 +3.372000000000000019e-08 5.000000000000000000e+01 +3.375000000000000112e-08 5.000000000000000000e+01 +3.378000000000000205e-08 5.000000000000000000e+01 +3.381000000000000298e-08 5.000000000000000000e+01 +3.383999999999999729e-08 5.000000000000000000e+01 +3.386999999999999822e-08 5.000000000000000000e+01 +3.389999999999999915e-08 5.000000000000000000e+01 +3.393000000000000008e-08 5.000000000000000000e+01 +3.396000000000000101e-08 5.000000000000000000e+01 +3.399000000000000195e-08 5.000000000000000000e+01 +3.402000000000000288e-08 5.000000000000000000e+01 +3.404999999999999719e-08 5.000000000000000000e+01 +3.407999999999999812e-08 5.000000000000000000e+01 +3.410999999999999905e-08 5.000000000000000000e+01 +3.413999999999999998e-08 5.000000000000000000e+01 +3.417000000000000091e-08 5.000000000000000000e+01 +3.420000000000000184e-08 5.000000000000000000e+01 +3.423000000000000277e-08 5.000000000000000000e+01 +3.425999999999999708e-08 5.000000000000000000e+01 +3.428999999999999801e-08 5.000000000000000000e+01 +3.431999999999999894e-08 5.000000000000000000e+01 +3.434999999999999987e-08 5.000000000000000000e+01 +3.438000000000000081e-08 5.000000000000000000e+01 +3.441000000000000174e-08 5.000000000000000000e+01 +3.444000000000000267e-08 5.000000000000000000e+01 +3.446999999999999698e-08 5.000000000000000000e+01 +3.449999999999999791e-08 5.000000000000000000e+01 +3.452999999999999884e-08 5.000000000000000000e+01 +3.455999999999999977e-08 5.000000000000000000e+01 +3.459000000000000070e-08 5.000000000000000000e+01 +3.462000000000000163e-08 5.000000000000000000e+01 +3.465000000000000256e-08 5.000000000000000000e+01 +3.467999999999999687e-08 5.000000000000000000e+01 +3.470999999999999780e-08 5.000000000000000000e+01 +3.473999999999999873e-08 5.000000000000000000e+01 +3.476999999999999967e-08 5.000000000000000000e+01 +3.480000000000000060e-08 5.000000000000000000e+01 +3.483000000000000153e-08 5.000000000000000000e+01 +3.486000000000000246e-08 5.000000000000000000e+01 +3.488999999999999677e-08 5.000000000000000000e+01 +3.491999999999999770e-08 5.000000000000000000e+01 +3.494999999999999863e-08 5.000000000000000000e+01 +3.497999999999999956e-08 5.000000000000000000e+01 +3.501000000000000049e-08 5.000000000000000000e+01 +3.504000000000000142e-08 5.000000000000000000e+01 +3.507000000000000235e-08 5.000000000000000000e+01 +3.509999999999999666e-08 5.000000000000000000e+01 +3.512999999999999760e-08 5.000000000000000000e+01 +3.515999999999999853e-08 5.000000000000000000e+01 +3.518999999999999946e-08 5.000000000000000000e+01 +3.522000000000000039e-08 5.000000000000000000e+01 +3.525000000000000132e-08 5.000000000000000000e+01 +3.528000000000000225e-08 5.000000000000000000e+01 +3.530999999999999656e-08 5.000000000000000000e+01 +3.533999999999999749e-08 5.000000000000000000e+01 +3.536999999999999842e-08 5.000000000000000000e+01 +3.539999999999999935e-08 5.000000000000000000e+01 +3.543000000000000028e-08 5.000000000000000000e+01 +3.546000000000000121e-08 5.000000000000000000e+01 +3.549000000000000214e-08 5.000000000000000000e+01 +3.552000000000000307e-08 5.000000000000000000e+01 +3.554999999999999739e-08 5.000000000000000000e+01 +3.557999999999999832e-08 5.000000000000000000e+01 +3.560999999999999925e-08 5.000000000000000000e+01 +3.564000000000000018e-08 5.000000000000000000e+01 +3.567000000000000111e-08 5.000000000000000000e+01 +3.570000000000000204e-08 5.000000000000000000e+01 +3.573000000000000297e-08 5.000000000000000000e+01 +3.575999999999999728e-08 5.000000000000000000e+01 +3.578999999999999821e-08 5.000000000000000000e+01 +3.581999999999999914e-08 5.000000000000000000e+01 +3.585000000000000007e-08 5.000000000000000000e+01 +3.588000000000000100e-08 5.000000000000000000e+01 +3.591000000000000193e-08 5.000000000000000000e+01 +3.594000000000000286e-08 5.000000000000000000e+01 +3.596999999999999718e-08 5.000000000000000000e+01 +3.599999999999999811e-08 5.000000000000000000e+01 +3.602999999999999904e-08 5.000000000000000000e+01 +3.605999999999999997e-08 5.000000000000000000e+01 +3.609000000000000090e-08 5.000000000000000000e+01 +3.612000000000000183e-08 5.000000000000000000e+01 +3.615000000000000276e-08 5.000000000000000000e+01 +3.617999999999999707e-08 5.000000000000000000e+01 +3.620999999999999800e-08 5.000000000000000000e+01 +3.623999999999999893e-08 5.000000000000000000e+01 +3.626999999999999986e-08 5.000000000000000000e+01 +3.630000000000000079e-08 5.000000000000000000e+01 +3.633000000000000172e-08 5.000000000000000000e+01 +3.636000000000000265e-08 5.000000000000000000e+01 +3.638999999999999697e-08 5.000000000000000000e+01 +3.641999999999999790e-08 5.000000000000000000e+01 +3.644999999999999883e-08 5.000000000000000000e+01 +3.647999999999999976e-08 5.000000000000000000e+01 +3.651000000000000069e-08 5.000000000000000000e+01 +3.654000000000000162e-08 5.000000000000000000e+01 +3.657000000000000255e-08 5.000000000000000000e+01 +3.659999999999999686e-08 5.000000000000000000e+01 +3.662999999999999779e-08 5.000000000000000000e+01 +3.665999999999999872e-08 5.000000000000000000e+01 +3.668999999999999965e-08 5.000000000000000000e+01 +3.672000000000000058e-08 5.000000000000000000e+01 +3.675000000000000151e-08 5.000000000000000000e+01 +3.678000000000000244e-08 5.000000000000000000e+01 +3.680999999999999676e-08 5.000000000000000000e+01 +3.683999999999999769e-08 5.000000000000000000e+01 +3.686999999999999862e-08 5.000000000000000000e+01 +3.689999999999999955e-08 5.000000000000000000e+01 +3.693000000000000048e-08 5.000000000000000000e+01 +3.696000000000000141e-08 5.000000000000000000e+01 +3.699000000000000234e-08 5.000000000000000000e+01 +3.701999999999999665e-08 5.000000000000000000e+01 +3.704999999999999758e-08 5.000000000000000000e+01 +3.707999999999999851e-08 5.000000000000000000e+01 +3.710999999999999944e-08 5.000000000000000000e+01 +3.714000000000000037e-08 5.000000000000000000e+01 +3.717000000000000130e-08 5.000000000000000000e+01 +3.720000000000000223e-08 5.000000000000000000e+01 +3.722999999999999655e-08 5.000000000000000000e+01 +3.725999999999999748e-08 5.000000000000000000e+01 +3.728999999999999841e-08 5.000000000000000000e+01 +3.731999999999999934e-08 5.000000000000000000e+01 +3.735000000000000027e-08 5.000000000000000000e+01 +3.738000000000000120e-08 5.000000000000000000e+01 +3.741000000000000213e-08 5.000000000000000000e+01 +3.743999999999999644e-08 5.000000000000000000e+01 +3.746999999999999737e-08 5.000000000000000000e+01 +3.749999999999999830e-08 5.000000000000000000e+01 +3.752999999999999923e-08 5.000000000000000000e+01 +3.756000000000000016e-08 5.000000000000000000e+01 +3.759000000000000109e-08 5.000000000000000000e+01 +3.762000000000000202e-08 5.000000000000000000e+01 +3.765000000000000295e-08 5.000000000000000000e+01 +3.767999999999999727e-08 5.000000000000000000e+01 +3.770999999999999820e-08 5.000000000000000000e+01 +3.773999999999999913e-08 5.000000000000000000e+01 +3.777000000000000006e-08 5.000000000000000000e+01 +3.780000000000000099e-08 5.000000000000000000e+01 +3.783000000000000192e-08 5.000000000000000000e+01 +3.786000000000000285e-08 5.000000000000000000e+01 +3.788999999999999716e-08 5.000000000000000000e+01 +3.791999999999999809e-08 5.000000000000000000e+01 +3.794999999999999902e-08 5.000000000000000000e+01 +3.797999999999999995e-08 5.000000000000000000e+01 +3.801000000000000088e-08 5.000000000000000000e+01 +3.804000000000000181e-08 5.000000000000000000e+01 +3.807000000000000275e-08 5.000000000000000000e+01 +3.809999999999999706e-08 5.000000000000000000e+01 +3.812999999999999799e-08 5.000000000000000000e+01 +3.815999999999999892e-08 5.000000000000000000e+01 +3.818999999999999985e-08 5.000000000000000000e+01 +3.822000000000000078e-08 5.000000000000000000e+01 +3.825000000000000171e-08 5.000000000000000000e+01 +3.828000000000000264e-08 5.000000000000000000e+01 +3.830999999999999695e-08 5.000000000000000000e+01 +3.833999999999999788e-08 5.000000000000000000e+01 +3.836999999999999881e-08 5.000000000000000000e+01 +3.839999999999999974e-08 5.000000000000000000e+01 +3.843000000000000068e-08 5.000000000000000000e+01 +3.846000000000000161e-08 5.000000000000000000e+01 +3.849000000000000254e-08 5.000000000000000000e+01 +3.851999999999999685e-08 5.000000000000000000e+01 +3.854999999999999778e-08 5.000000000000000000e+01 +3.857999999999999871e-08 5.000000000000000000e+01 +3.860999999999999964e-08 5.000000000000000000e+01 +3.864000000000000057e-08 5.000000000000000000e+01 +3.867000000000000150e-08 5.000000000000000000e+01 +3.870000000000000243e-08 5.000000000000000000e+01 +3.872999999999999674e-08 5.000000000000000000e+01 +3.875999999999999767e-08 5.000000000000000000e+01 +3.878999999999999860e-08 5.000000000000000000e+01 +3.881999999999999954e-08 5.000000000000000000e+01 +3.885000000000000047e-08 5.000000000000000000e+01 +3.888000000000000140e-08 5.000000000000000000e+01 +3.891000000000000233e-08 5.000000000000000000e+01 +3.893999999999999664e-08 5.000000000000000000e+01 +3.896999999999999757e-08 5.000000000000000000e+01 +3.899999999999999850e-08 5.000000000000000000e+01 +3.902999999999999943e-08 5.000000000000000000e+01 +3.906000000000000036e-08 5.000000000000000000e+01 +3.909000000000000129e-08 5.000000000000000000e+01 +3.912000000000000222e-08 5.000000000000000000e+01 +3.914999999999999653e-08 5.000000000000000000e+01 +3.917999999999999746e-08 5.000000000000000000e+01 +3.920999999999999840e-08 5.000000000000000000e+01 +3.923999999999999933e-08 5.000000000000000000e+01 +3.927000000000000026e-08 5.000000000000000000e+01 +3.930000000000000119e-08 5.000000000000000000e+01 +3.933000000000000212e-08 5.000000000000000000e+01 +3.936000000000000305e-08 5.000000000000000000e+01 +3.938999999999999736e-08 5.000000000000000000e+01 +3.941999999999999829e-08 5.000000000000000000e+01 +3.944999999999999922e-08 5.000000000000000000e+01 +3.948000000000000015e-08 5.000000000000000000e+01 +3.951000000000000108e-08 5.000000000000000000e+01 +3.954000000000000201e-08 5.000000000000000000e+01 +3.957000000000000294e-08 5.000000000000000000e+01 +3.959999999999999726e-08 5.000000000000000000e+01 +3.962999999999999819e-08 5.000000000000000000e+01 +3.965999999999999912e-08 5.000000000000000000e+01 +3.969000000000000005e-08 5.000000000000000000e+01 +3.972000000000000098e-08 5.000000000000000000e+01 +3.975000000000000191e-08 5.000000000000000000e+01 +3.978000000000000284e-08 5.000000000000000000e+01 +3.980999999999999715e-08 5.000000000000000000e+01 +3.983999999999999808e-08 5.000000000000000000e+01 +3.986999999999999901e-08 5.000000000000000000e+01 +3.989999999999999994e-08 5.000000000000000000e+01 +3.993000000000000087e-08 5.000000000000000000e+01 +3.996000000000000180e-08 5.000000000000000000e+01 +3.999000000000000273e-08 5.000000000000000000e+01 +4.001999999999999705e-08 5.000000000000000000e+01 +4.004999999999999798e-08 5.000000000000000000e+01 +4.007999999999999891e-08 5.000000000000000000e+01 +4.010999999999999984e-08 5.000000000000000000e+01 +4.014000000000000077e-08 5.000000000000000000e+01 +4.017000000000000170e-08 5.000000000000000000e+01 +4.020000000000000263e-08 5.000000000000000000e+01 +4.022999999999999694e-08 5.000000000000000000e+01 +4.025999999999999787e-08 5.000000000000000000e+01 +4.028999999999999880e-08 5.000000000000000000e+01 +4.031999999999999973e-08 5.000000000000000000e+01 +4.035000000000000066e-08 5.000000000000000000e+01 +4.038000000000000159e-08 5.000000000000000000e+01 +4.041000000000000252e-08 5.000000000000000000e+01 +4.043999999999999684e-08 5.000000000000000000e+01 +4.046999999999999777e-08 5.000000000000000000e+01 +4.049999999999999870e-08 5.000000000000000000e+01 +4.052999999999999963e-08 5.000000000000000000e+01 +4.056000000000000056e-08 5.000000000000000000e+01 +4.059000000000000149e-08 5.000000000000000000e+01 +4.062000000000000242e-08 5.000000000000000000e+01 +4.064999999999999673e-08 5.000000000000000000e+01 +4.067999999999999766e-08 5.000000000000000000e+01 +4.070999999999999859e-08 5.000000000000000000e+01 +4.073999999999999952e-08 5.000000000000000000e+01 +4.077000000000000045e-08 5.000000000000000000e+01 +4.080000000000000138e-08 5.000000000000000000e+01 +4.083000000000000231e-08 5.000000000000000000e+01 +4.085999999999999663e-08 5.000000000000000000e+01 +4.088999999999999756e-08 5.000000000000000000e+01 +4.091999999999999849e-08 5.000000000000000000e+01 +4.094999999999999942e-08 5.000000000000000000e+01 +4.098000000000000035e-08 5.000000000000000000e+01 +4.101000000000000128e-08 5.000000000000000000e+01 +4.104000000000000221e-08 5.000000000000000000e+01 +4.106999999999999652e-08 5.000000000000000000e+01 +4.109999999999999745e-08 5.000000000000000000e+01 +4.112999999999999838e-08 5.000000000000000000e+01 +4.115999999999999931e-08 5.000000000000000000e+01 +4.119000000000000024e-08 5.000000000000000000e+01 +4.122000000000000117e-08 5.000000000000000000e+01 +4.125000000000000210e-08 5.000000000000000000e+01 +4.127999999999999642e-08 5.000000000000000000e+01 +4.130999999999999735e-08 5.000000000000000000e+01 +4.133999999999999828e-08 5.000000000000000000e+01 +4.136999999999999921e-08 5.000000000000000000e+01 +4.140000000000000014e-08 5.000000000000000000e+01 +4.143000000000000107e-08 5.000000000000000000e+01 +4.146000000000000200e-08 5.000000000000000000e+01 +4.149000000000000293e-08 5.000000000000000000e+01 +4.151999999999999724e-08 5.000000000000000000e+01 +4.154999999999999817e-08 5.000000000000000000e+01 +4.157999999999999910e-08 5.000000000000000000e+01 +4.161000000000000003e-08 5.000000000000000000e+01 +4.164000000000000096e-08 5.000000000000000000e+01 +4.167000000000000189e-08 5.000000000000000000e+01 +4.170000000000000282e-08 5.000000000000000000e+01 +4.172999999999999714e-08 5.000000000000000000e+01 +4.175999999999999807e-08 5.000000000000000000e+01 +4.178999999999999900e-08 5.000000000000000000e+01 +4.181999999999999993e-08 5.000000000000000000e+01 +4.185000000000000086e-08 5.000000000000000000e+01 +4.188000000000000179e-08 5.000000000000000000e+01 +4.191000000000000272e-08 5.000000000000000000e+01 +4.193999999999999703e-08 5.000000000000000000e+01 +4.196999999999999796e-08 5.000000000000000000e+01 +4.199999999999999889e-08 5.000000000000000000e+01 +4.202999999999999982e-08 5.000000000000000000e+01 +4.206000000000000075e-08 5.000000000000000000e+01 +4.209000000000000168e-08 5.000000000000000000e+01 +4.212000000000000262e-08 5.000000000000000000e+01 +4.214999999999999693e-08 5.000000000000000000e+01 +4.217999999999999786e-08 5.000000000000000000e+01 +4.220999999999999879e-08 5.000000000000000000e+01 +4.223999999999999972e-08 5.000000000000000000e+01 +4.227000000000000065e-08 5.000000000000000000e+01 +4.230000000000000158e-08 5.000000000000000000e+01 +4.233000000000000251e-08 5.000000000000000000e+01 +4.235999999999999682e-08 5.000000000000000000e+01 +4.238999999999999775e-08 5.000000000000000000e+01 +4.241999999999999868e-08 5.000000000000000000e+01 +4.244999999999999961e-08 5.000000000000000000e+01 +4.248000000000000054e-08 5.000000000000000000e+01 +4.251000000000000148e-08 5.000000000000000000e+01 +4.254000000000000241e-08 5.000000000000000000e+01 +4.256999999999999672e-08 5.000000000000000000e+01 +4.259999999999999765e-08 5.000000000000000000e+01 +4.262999999999999858e-08 5.000000000000000000e+01 +4.265999999999999951e-08 5.000000000000000000e+01 +4.269000000000000044e-08 5.000000000000000000e+01 +4.272000000000000137e-08 5.000000000000000000e+01 +4.275000000000000230e-08 5.000000000000000000e+01 +4.277999999999999661e-08 5.000000000000000000e+01 +4.280999999999999754e-08 5.000000000000000000e+01 +4.283999999999999847e-08 5.000000000000000000e+01 +4.286999999999999940e-08 5.000000000000000000e+01 +4.290000000000000034e-08 5.000000000000000000e+01 +4.293000000000000127e-08 5.000000000000000000e+01 +4.296000000000000220e-08 5.000000000000000000e+01 +4.298999999999999651e-08 5.000000000000000000e+01 +4.301999999999999744e-08 5.000000000000000000e+01 +4.304999999999999837e-08 5.000000000000000000e+01 +4.307999999999999930e-08 5.000000000000000000e+01 +4.311000000000000023e-08 5.000000000000000000e+01 +4.314000000000000116e-08 5.000000000000000000e+01 +4.317000000000000209e-08 5.000000000000000000e+01 +4.320000000000000302e-08 5.000000000000000000e+01 +4.322999999999999733e-08 5.000000000000000000e+01 +4.325999999999999826e-08 5.000000000000000000e+01 +4.328999999999999920e-08 5.000000000000000000e+01 +4.332000000000000013e-08 5.000000000000000000e+01 +4.335000000000000106e-08 5.000000000000000000e+01 +4.338000000000000199e-08 5.000000000000000000e+01 +4.341000000000000292e-08 5.000000000000000000e+01 +4.343999999999999723e-08 5.000000000000000000e+01 +4.346999999999999816e-08 5.000000000000000000e+01 +4.349999999999999909e-08 5.000000000000000000e+01 +4.353000000000000002e-08 5.000000000000000000e+01 +4.356000000000000095e-08 5.000000000000000000e+01 +4.359000000000000188e-08 5.000000000000000000e+01 +4.362000000000000281e-08 5.000000000000000000e+01 +4.364999999999999712e-08 5.000000000000000000e+01 +4.367999999999999806e-08 5.000000000000000000e+01 +4.370999999999999899e-08 5.000000000000000000e+01 +4.373999999999999992e-08 5.000000000000000000e+01 +4.377000000000000085e-08 5.000000000000000000e+01 +4.380000000000000178e-08 5.000000000000000000e+01 +4.383000000000000271e-08 5.000000000000000000e+01 +4.385999999999999702e-08 5.000000000000000000e+01 +4.388999999999999795e-08 5.000000000000000000e+01 +4.391999999999999888e-08 5.000000000000000000e+01 +4.394999999999999981e-08 5.000000000000000000e+01 +4.398000000000000074e-08 5.000000000000000000e+01 +4.401000000000000167e-08 5.000000000000000000e+01 +4.404000000000000260e-08 5.000000000000000000e+01 +4.406999999999999692e-08 5.000000000000000000e+01 +4.409999999999999785e-08 5.000000000000000000e+01 +4.412999999999999878e-08 5.000000000000000000e+01 +4.415999999999999971e-08 5.000000000000000000e+01 +4.419000000000000064e-08 5.000000000000000000e+01 +4.422000000000000157e-08 5.000000000000000000e+01 +4.425000000000000250e-08 5.000000000000000000e+01 +4.427999999999999681e-08 5.000000000000000000e+01 +4.430999999999999774e-08 5.000000000000000000e+01 +4.433999999999999867e-08 5.000000000000000000e+01 +4.436999999999999960e-08 5.000000000000000000e+01 +4.440000000000000053e-08 5.000000000000000000e+01 +4.443000000000000146e-08 5.000000000000000000e+01 +4.446000000000000239e-08 5.000000000000000000e+01 +4.448999999999999671e-08 5.000000000000000000e+01 +4.451999999999999764e-08 5.000000000000000000e+01 +4.454999999999999857e-08 5.000000000000000000e+01 +4.457999999999999950e-08 5.000000000000000000e+01 +4.461000000000000043e-08 5.000000000000000000e+01 +4.464000000000000136e-08 5.000000000000000000e+01 +4.467000000000000229e-08 5.000000000000000000e+01 +4.469999999999999660e-08 5.000000000000000000e+01 +4.472999999999999753e-08 5.000000000000000000e+01 +4.475999999999999846e-08 5.000000000000000000e+01 +4.478999999999999939e-08 5.000000000000000000e+01 +4.482000000000000032e-08 5.000000000000000000e+01 +4.485000000000000125e-08 5.000000000000000000e+01 +4.488000000000000218e-08 5.000000000000000000e+01 +4.490999999999999650e-08 5.000000000000000000e+01 +4.493999999999999743e-08 5.000000000000000000e+01 +4.496999999999999836e-08 5.000000000000000000e+01 +4.499999999999999929e-08 5.000000000000000000e+01 +4.503000000000000022e-08 5.000000000000000000e+01 +4.506000000000000115e-08 5.000000000000000000e+01 +4.509000000000000208e-08 5.000000000000000000e+01 +4.511999999999999639e-08 5.000000000000000000e+01 +4.514999999999999732e-08 5.000000000000000000e+01 +4.517999999999999825e-08 5.000000000000000000e+01 +4.520999999999999918e-08 5.000000000000000000e+01 +4.524000000000000011e-08 5.000000000000000000e+01 +4.527000000000000104e-08 5.000000000000000000e+01 +4.530000000000000197e-08 5.000000000000000000e+01 +4.533000000000000290e-08 5.000000000000000000e+01 +4.535999999999999722e-08 5.000000000000000000e+01 +4.538999999999999815e-08 5.000000000000000000e+01 +4.541999999999999908e-08 5.000000000000000000e+01 +4.545000000000000001e-08 5.000000000000000000e+01 +4.548000000000000094e-08 5.000000000000000000e+01 +4.551000000000000187e-08 5.000000000000000000e+01 +4.554000000000000280e-08 5.000000000000000000e+01 +4.556999999999999711e-08 5.000000000000000000e+01 +4.559999999999999804e-08 5.000000000000000000e+01 +4.562999999999999897e-08 5.000000000000000000e+01 +4.565999999999999990e-08 5.000000000000000000e+01 +4.569000000000000083e-08 5.000000000000000000e+01 +4.572000000000000176e-08 5.000000000000000000e+01 +4.575000000000000269e-08 5.000000000000000000e+01 +4.577999999999999701e-08 5.000000000000000000e+01 +4.580999999999999794e-08 5.000000000000000000e+01 +4.583999999999999887e-08 5.000000000000000000e+01 +4.586999999999999980e-08 5.000000000000000000e+01 +4.590000000000000073e-08 5.000000000000000000e+01 +4.593000000000000166e-08 5.000000000000000000e+01 +4.596000000000000259e-08 5.000000000000000000e+01 +4.598999999999999690e-08 5.000000000000000000e+01 +4.601999999999999783e-08 5.000000000000000000e+01 +4.604999999999999876e-08 5.000000000000000000e+01 +4.607999999999999969e-08 5.000000000000000000e+01 +4.611000000000000062e-08 5.000000000000000000e+01 +4.614000000000000155e-08 5.000000000000000000e+01 +4.617000000000000248e-08 5.000000000000000000e+01 +4.619999999999999680e-08 5.000000000000000000e+01 +4.622999999999999773e-08 5.000000000000000000e+01 +4.625999999999999866e-08 5.000000000000000000e+01 +4.628999999999999959e-08 5.000000000000000000e+01 +4.632000000000000052e-08 5.000000000000000000e+01 +4.635000000000000145e-08 5.000000000000000000e+01 +4.638000000000000238e-08 5.000000000000000000e+01 +4.640999999999999669e-08 5.000000000000000000e+01 +4.643999999999999762e-08 5.000000000000000000e+01 +4.646999999999999855e-08 5.000000000000000000e+01 +4.649999999999999948e-08 5.000000000000000000e+01 +4.653000000000000041e-08 5.000000000000000000e+01 +4.656000000000000134e-08 5.000000000000000000e+01 +4.659000000000000228e-08 5.000000000000000000e+01 +4.661999999999999659e-08 5.000000000000000000e+01 +4.664999999999999752e-08 5.000000000000000000e+01 +4.667999999999999845e-08 5.000000000000000000e+01 +4.670999999999999938e-08 5.000000000000000000e+01 +4.674000000000000031e-08 5.000000000000000000e+01 +4.677000000000000124e-08 5.000000000000000000e+01 +4.680000000000000217e-08 5.000000000000000000e+01 +4.682999999999999648e-08 5.000000000000000000e+01 +4.685999999999999741e-08 5.000000000000000000e+01 +4.688999999999999834e-08 5.000000000000000000e+01 +4.691999999999999927e-08 5.000000000000000000e+01 +4.695000000000000020e-08 5.000000000000000000e+01 +4.698000000000000114e-08 5.000000000000000000e+01 +4.701000000000000207e-08 5.000000000000000000e+01 +4.704000000000000300e-08 5.000000000000000000e+01 +4.706999999999999731e-08 5.000000000000000000e+01 +4.709999999999999824e-08 5.000000000000000000e+01 +4.712999999999999917e-08 5.000000000000000000e+01 +4.716000000000000010e-08 5.000000000000000000e+01 +4.719000000000000103e-08 5.000000000000000000e+01 +4.722000000000000196e-08 5.000000000000000000e+01 +4.725000000000000289e-08 5.000000000000000000e+01 +4.727999999999999720e-08 5.000000000000000000e+01 +4.730999999999999813e-08 5.000000000000000000e+01 +4.733999999999999906e-08 5.000000000000000000e+01 +4.737000000000000000e-08 5.000000000000000000e+01 +4.740000000000000093e-08 5.000000000000000000e+01 +4.743000000000000186e-08 5.000000000000000000e+01 +4.746000000000000279e-08 5.000000000000000000e+01 +4.748999999999999710e-08 5.000000000000000000e+01 +4.751999999999999803e-08 5.000000000000000000e+01 +4.754999999999999896e-08 5.000000000000000000e+01 +4.757999999999999989e-08 5.000000000000000000e+01 +4.761000000000000082e-08 5.000000000000000000e+01 +4.764000000000000175e-08 5.000000000000000000e+01 +4.767000000000000268e-08 5.000000000000000000e+01 +4.769999999999999699e-08 5.000000000000000000e+01 +4.772999999999999792e-08 5.000000000000000000e+01 +4.775999999999999886e-08 5.000000000000000000e+01 +4.778999999999999979e-08 5.000000000000000000e+01 +4.782000000000000072e-08 5.000000000000000000e+01 +4.785000000000000165e-08 5.000000000000000000e+01 +4.788000000000000258e-08 5.000000000000000000e+01 +4.790999999999999689e-08 5.000000000000000000e+01 +4.793999999999999782e-08 5.000000000000000000e+01 +4.796999999999999875e-08 5.000000000000000000e+01 +4.799999999999999968e-08 5.000000000000000000e+01 +4.803000000000000061e-08 5.000000000000000000e+01 +4.806000000000000154e-08 5.000000000000000000e+01 +4.809000000000000247e-08 5.000000000000000000e+01 +4.811999999999999678e-08 5.000000000000000000e+01 +4.814999999999999772e-08 5.000000000000000000e+01 +4.817999999999999865e-08 5.000000000000000000e+01 +4.820999999999999958e-08 5.000000000000000000e+01 +4.824000000000000051e-08 5.000000000000000000e+01 +4.827000000000000144e-08 5.000000000000000000e+01 +4.830000000000000237e-08 5.000000000000000000e+01 +4.832999999999999668e-08 5.000000000000000000e+01 +4.835999999999999761e-08 5.000000000000000000e+01 +4.838999999999999854e-08 5.000000000000000000e+01 +4.841999999999999947e-08 5.000000000000000000e+01 +4.845000000000000040e-08 5.000000000000000000e+01 +4.848000000000000133e-08 5.000000000000000000e+01 +4.851000000000000226e-08 5.000000000000000000e+01 +4.853999999999999658e-08 5.000000000000000000e+01 +4.856999999999999751e-08 5.000000000000000000e+01 +4.859999999999999844e-08 5.000000000000000000e+01 +4.862999999999999937e-08 5.000000000000000000e+01 +4.866000000000000030e-08 5.000000000000000000e+01 +4.869000000000000123e-08 5.000000000000000000e+01 +4.872000000000000216e-08 5.000000000000000000e+01 +4.874999999999999647e-08 5.000000000000000000e+01 +4.877999999999999740e-08 5.000000000000000000e+01 +4.880999999999999833e-08 5.000000000000000000e+01 +4.883999999999999926e-08 5.000000000000000000e+01 +4.887000000000000019e-08 5.000000000000000000e+01 +4.890000000000000112e-08 5.000000000000000000e+01 +4.893000000000000205e-08 5.000000000000000000e+01 +4.895999999999999637e-08 5.000000000000000000e+01 +4.898999999999999730e-08 5.000000000000000000e+01 +4.901999999999999823e-08 5.000000000000000000e+01 +4.904999999999999916e-08 5.000000000000000000e+01 +4.908000000000000009e-08 5.000000000000000000e+01 +4.911000000000000102e-08 5.000000000000000000e+01 +4.914000000000000195e-08 5.000000000000000000e+01 +4.917000000000000288e-08 5.000000000000000000e+01 +4.919999999999999719e-08 5.000000000000000000e+01 +4.922999999999999812e-08 5.000000000000000000e+01 +4.925999999999999905e-08 5.000000000000000000e+01 +4.928999999999999998e-08 5.000000000000000000e+01 +4.932000000000000091e-08 5.000000000000000000e+01 +4.935000000000000184e-08 5.000000000000000000e+01 +4.938000000000000277e-08 5.000000000000000000e+01 +4.940999999999999709e-08 5.000000000000000000e+01 +4.943999999999999802e-08 5.000000000000000000e+01 +4.946999999999999895e-08 5.000000000000000000e+01 +4.949999999999999988e-08 5.000000000000000000e+01 +4.953000000000000081e-08 5.000000000000000000e+01 +4.956000000000000174e-08 5.000000000000000000e+01 +4.959000000000000267e-08 5.000000000000000000e+01 +4.961999999999999698e-08 5.000000000000000000e+01 +4.964999999999999791e-08 5.000000000000000000e+01 +4.967999999999999884e-08 5.000000000000000000e+01 +4.970999999999999977e-08 5.000000000000000000e+01 +4.974000000000000070e-08 5.000000000000000000e+01 +4.977000000000000163e-08 5.000000000000000000e+01 +4.980000000000000256e-08 5.000000000000000000e+01 +4.982999999999999688e-08 5.000000000000000000e+01 +4.985999999999999781e-08 5.000000000000000000e+01 +4.988999999999999874e-08 5.000000000000000000e+01 +4.991999999999999967e-08 5.000000000000000000e+01 +4.995000000000000060e-08 5.000000000000000000e+01 +4.998000000000000153e-08 5.000000000000000000e+01 +5.001000000000000246e-08 5.000000000000000000e+01 +5.003999999999999677e-08 5.000000000000000000e+01 +5.006999999999999770e-08 5.000000000000000000e+01 +5.009999999999999863e-08 5.000000000000000000e+01 +5.012999999999999956e-08 5.000000000000000000e+01 +5.016000000000000049e-08 5.000000000000000000e+01 +5.019000000000000142e-08 5.000000000000000000e+01 +5.022000000000000235e-08 5.000000000000000000e+01 +5.024999999999999667e-08 5.000000000000000000e+01 +5.027999999999999760e-08 5.000000000000000000e+01 +5.030999999999999853e-08 5.000000000000000000e+01 +5.033999999999999946e-08 5.000000000000000000e+01 +5.037000000000000039e-08 5.000000000000000000e+01 +5.040000000000000132e-08 5.000000000000000000e+01 +5.043000000000000225e-08 5.000000000000000000e+01 +5.045999999999999656e-08 5.000000000000000000e+01 +5.048999999999999749e-08 5.000000000000000000e+01 +5.051999999999999842e-08 5.000000000000000000e+01 +5.054999999999999935e-08 5.000000000000000000e+01 +5.058000000000000028e-08 5.000000000000000000e+01 +5.061000000000000121e-08 5.000000000000000000e+01 +5.064000000000000214e-08 5.000000000000000000e+01 +5.066999999999999646e-08 5.000000000000000000e+01 +5.069999999999999739e-08 5.000000000000000000e+01 +5.072999999999999832e-08 5.000000000000000000e+01 +5.075999999999999925e-08 5.000000000000000000e+01 +5.079000000000000018e-08 5.000000000000000000e+01 +5.082000000000000111e-08 5.000000000000000000e+01 +5.085000000000000204e-08 5.000000000000000000e+01 +5.088000000000000297e-08 5.000000000000000000e+01 +5.090999999999999728e-08 5.000000000000000000e+01 +5.093999999999999821e-08 5.000000000000000000e+01 +5.096999999999999914e-08 5.000000000000000000e+01 +5.100000000000000007e-08 5.000000000000000000e+01 +5.103000000000000100e-08 5.000000000000000000e+01 +5.106000000000000194e-08 5.000000000000000000e+01 +5.109000000000000287e-08 5.000000000000000000e+01 +5.111999999999999718e-08 5.000000000000000000e+01 +5.114999999999999811e-08 5.000000000000000000e+01 +5.117999999999999904e-08 5.000000000000000000e+01 +5.120999999999999997e-08 5.000000000000000000e+01 +5.124000000000000090e-08 5.000000000000000000e+01 +5.127000000000000183e-08 5.000000000000000000e+01 +5.130000000000000276e-08 5.000000000000000000e+01 +5.132999999999999707e-08 5.000000000000000000e+01 +5.135999999999999800e-08 5.000000000000000000e+01 +5.138999999999999893e-08 5.000000000000000000e+01 +5.141999999999999986e-08 5.000000000000000000e+01 +5.145000000000000080e-08 5.000000000000000000e+01 +5.148000000000000173e-08 5.000000000000000000e+01 +5.151000000000000266e-08 5.000000000000000000e+01 +5.153999999999999697e-08 5.000000000000000000e+01 +5.156999999999999790e-08 5.000000000000000000e+01 +5.159999999999999883e-08 5.000000000000000000e+01 +5.162999999999999976e-08 5.000000000000000000e+01 +5.166000000000000069e-08 5.000000000000000000e+01 +5.169000000000000162e-08 5.000000000000000000e+01 +5.172000000000000255e-08 5.000000000000000000e+01 +5.174999999999999686e-08 5.000000000000000000e+01 +5.177999999999999779e-08 5.000000000000000000e+01 +5.180999999999999872e-08 5.000000000000000000e+01 +5.183999999999999966e-08 5.000000000000000000e+01 +5.187000000000000059e-08 5.000000000000000000e+01 +5.190000000000000152e-08 5.000000000000000000e+01 +5.193000000000000245e-08 5.000000000000000000e+01 +5.195999999999999676e-08 5.000000000000000000e+01 +5.198999999999999769e-08 5.000000000000000000e+01 +5.201999999999999862e-08 5.000000000000000000e+01 +5.204999999999999955e-08 5.000000000000000000e+01 +5.208000000000000048e-08 5.000000000000000000e+01 +5.211000000000000141e-08 5.000000000000000000e+01 +5.214000000000000234e-08 5.000000000000000000e+01 +5.216999999999999665e-08 5.000000000000000000e+01 +5.219999999999999758e-08 5.000000000000000000e+01 +5.222999999999999852e-08 5.000000000000000000e+01 +5.225999999999999945e-08 5.000000000000000000e+01 +5.229000000000000038e-08 5.000000000000000000e+01 +5.232000000000000131e-08 5.000000000000000000e+01 +5.235000000000000224e-08 5.000000000000000000e+01 +5.237999999999999655e-08 5.000000000000000000e+01 +5.240999999999999748e-08 5.000000000000000000e+01 +5.243999999999999841e-08 5.000000000000000000e+01 +5.246999999999999934e-08 5.000000000000000000e+01 +5.250000000000000027e-08 5.000000000000000000e+01 +5.253000000000000120e-08 5.000000000000000000e+01 +5.256000000000000213e-08 5.000000000000000000e+01 +5.258999999999999644e-08 5.000000000000000000e+01 +5.261999999999999738e-08 5.000000000000000000e+01 +5.264999999999999831e-08 5.000000000000000000e+01 +5.267999999999999924e-08 5.000000000000000000e+01 +5.271000000000000017e-08 5.000000000000000000e+01 +5.274000000000000110e-08 5.000000000000000000e+01 +5.277000000000000203e-08 5.000000000000000000e+01 +5.279999999999999634e-08 5.000000000000000000e+01 +5.282999999999999727e-08 5.000000000000000000e+01 +5.285999999999999820e-08 5.000000000000000000e+01 +5.288999999999999913e-08 5.000000000000000000e+01 +5.292000000000000006e-08 5.000000000000000000e+01 +5.295000000000000099e-08 5.000000000000000000e+01 +5.298000000000000192e-08 5.000000000000000000e+01 +5.301000000000000285e-08 5.000000000000000000e+01 +5.303999999999999717e-08 5.000000000000000000e+01 +5.306999999999999810e-08 5.000000000000000000e+01 +5.309999999999999903e-08 5.000000000000000000e+01 +5.312999999999999996e-08 5.000000000000000000e+01 +5.316000000000000089e-08 5.000000000000000000e+01 +5.319000000000000182e-08 5.000000000000000000e+01 +5.322000000000000275e-08 5.000000000000000000e+01 +5.324999999999999706e-08 5.000000000000000000e+01 +5.327999999999999799e-08 5.000000000000000000e+01 +5.330999999999999892e-08 5.000000000000000000e+01 +5.333999999999999985e-08 5.000000000000000000e+01 +5.337000000000000078e-08 5.000000000000000000e+01 +5.340000000000000171e-08 5.000000000000000000e+01 +5.343000000000000264e-08 5.000000000000000000e+01 +5.345999999999999696e-08 5.000000000000000000e+01 +5.348999999999999789e-08 5.000000000000000000e+01 +5.351999999999999882e-08 5.000000000000000000e+01 +5.354999999999999975e-08 5.000000000000000000e+01 +5.358000000000000068e-08 5.000000000000000000e+01 +5.361000000000000161e-08 5.000000000000000000e+01 +5.364000000000000254e-08 5.000000000000000000e+01 +5.366999999999999685e-08 5.000000000000000000e+01 +5.369999999999999778e-08 5.000000000000000000e+01 +5.372999999999999871e-08 5.000000000000000000e+01 +5.375999999999999964e-08 5.000000000000000000e+01 +5.379000000000000057e-08 5.000000000000000000e+01 +5.382000000000000150e-08 5.000000000000000000e+01 +5.385000000000000243e-08 5.000000000000000000e+01 +5.387999999999999675e-08 5.000000000000000000e+01 +5.390999999999999768e-08 5.000000000000000000e+01 +5.393999999999999861e-08 5.000000000000000000e+01 +5.396999999999999954e-08 5.000000000000000000e+01 +5.400000000000000047e-08 5.000000000000000000e+01 +5.403000000000000140e-08 5.000000000000000000e+01 +5.406000000000000233e-08 5.000000000000000000e+01 +5.408999999999999664e-08 5.000000000000000000e+01 +5.411999999999999757e-08 5.000000000000000000e+01 +5.414999999999999850e-08 5.000000000000000000e+01 +5.417999999999999943e-08 5.000000000000000000e+01 +5.421000000000000036e-08 5.000000000000000000e+01 +5.424000000000000129e-08 5.000000000000000000e+01 +5.427000000000000222e-08 5.000000000000000000e+01 +5.429999999999999654e-08 5.000000000000000000e+01 +5.432999999999999747e-08 5.000000000000000000e+01 +5.435999999999999840e-08 5.000000000000000000e+01 +5.438999999999999933e-08 5.000000000000000000e+01 +5.442000000000000026e-08 5.000000000000000000e+01 +5.445000000000000119e-08 5.000000000000000000e+01 +5.448000000000000212e-08 5.000000000000000000e+01 +5.450999999999999643e-08 5.000000000000000000e+01 +5.453999999999999736e-08 5.000000000000000000e+01 +5.456999999999999829e-08 5.000000000000000000e+01 +5.459999999999999922e-08 5.000000000000000000e+01 +5.463000000000000015e-08 5.000000000000000000e+01 +5.466000000000000108e-08 5.000000000000000000e+01 +5.469000000000000201e-08 5.000000000000000000e+01 +5.472000000000000294e-08 5.000000000000000000e+01 +5.474999999999999726e-08 5.000000000000000000e+01 +5.477999999999999819e-08 5.000000000000000000e+01 +5.480999999999999912e-08 5.000000000000000000e+01 +5.484000000000000005e-08 5.000000000000000000e+01 +5.487000000000000098e-08 5.000000000000000000e+01 +5.490000000000000191e-08 5.000000000000000000e+01 +5.493000000000000284e-08 5.000000000000000000e+01 +5.495999999999999715e-08 5.000000000000000000e+01 +5.498999999999999808e-08 5.000000000000000000e+01 +5.501999999999999901e-08 5.000000000000000000e+01 +5.504999999999999994e-08 5.000000000000000000e+01 +5.508000000000000087e-08 5.000000000000000000e+01 +5.511000000000000180e-08 5.000000000000000000e+01 +5.514000000000000274e-08 5.000000000000000000e+01 +5.516999999999999705e-08 5.000000000000000000e+01 +5.519999999999999798e-08 5.000000000000000000e+01 +5.522999999999999891e-08 5.000000000000000000e+01 +5.525999999999999984e-08 5.000000000000000000e+01 +5.529000000000000077e-08 5.000000000000000000e+01 +5.532000000000000170e-08 5.000000000000000000e+01 +5.535000000000000263e-08 5.000000000000000000e+01 +5.537999999999999694e-08 5.000000000000000000e+01 +5.540999999999999787e-08 5.000000000000000000e+01 +5.543999999999999880e-08 5.000000000000000000e+01 +5.546999999999999973e-08 5.000000000000000000e+01 +5.550000000000000066e-08 5.000000000000000000e+01 +5.553000000000000160e-08 5.000000000000000000e+01 +5.556000000000000253e-08 5.000000000000000000e+01 +5.558999999999999684e-08 5.000000000000000000e+01 +5.561999999999999777e-08 5.000000000000000000e+01 +5.564999999999999870e-08 5.000000000000000000e+01 +5.567999999999999963e-08 5.000000000000000000e+01 +5.571000000000000056e-08 5.000000000000000000e+01 +5.574000000000000149e-08 5.000000000000000000e+01 +5.577000000000000242e-08 5.000000000000000000e+01 +5.579999999999999673e-08 5.000000000000000000e+01 +5.582999999999999766e-08 5.000000000000000000e+01 +5.585999999999999859e-08 5.000000000000000000e+01 +5.588999999999999952e-08 5.000000000000000000e+01 +5.592000000000000046e-08 5.000000000000000000e+01 +5.595000000000000139e-08 5.000000000000000000e+01 +5.598000000000000232e-08 5.000000000000000000e+01 +5.600999999999999663e-08 5.000000000000000000e+01 +5.603999999999999756e-08 5.000000000000000000e+01 +5.606999999999999849e-08 5.000000000000000000e+01 +5.609999999999999942e-08 5.000000000000000000e+01 +5.613000000000000035e-08 5.000000000000000000e+01 +5.616000000000000128e-08 5.000000000000000000e+01 +5.619000000000000221e-08 5.000000000000000000e+01 +5.621999999999999652e-08 5.000000000000000000e+01 +5.624999999999999745e-08 5.000000000000000000e+01 +5.627999999999999838e-08 5.000000000000000000e+01 +5.630999999999999932e-08 5.000000000000000000e+01 +5.634000000000000025e-08 5.000000000000000000e+01 +5.637000000000000118e-08 5.000000000000000000e+01 +5.640000000000000211e-08 5.000000000000000000e+01 +5.642999999999999642e-08 5.000000000000000000e+01 +5.645999999999999735e-08 5.000000000000000000e+01 +5.648999999999999828e-08 5.000000000000000000e+01 +5.651999999999999921e-08 5.000000000000000000e+01 +5.655000000000000014e-08 5.000000000000000000e+01 +5.658000000000000107e-08 5.000000000000000000e+01 +5.661000000000000200e-08 5.000000000000000000e+01 +5.663999999999999631e-08 5.000000000000000000e+01 +5.666999999999999724e-08 5.000000000000000000e+01 +5.669999999999999818e-08 5.000000000000000000e+01 +5.672999999999999911e-08 5.000000000000000000e+01 +5.676000000000000004e-08 5.000000000000000000e+01 +5.679000000000000097e-08 5.000000000000000000e+01 +5.682000000000000190e-08 5.000000000000000000e+01 +5.685000000000000283e-08 5.000000000000000000e+01 +5.687999999999999714e-08 5.000000000000000000e+01 +5.690999999999999807e-08 5.000000000000000000e+01 +5.693999999999999900e-08 5.000000000000000000e+01 +5.696999999999999993e-08 5.000000000000000000e+01 +5.700000000000000086e-08 5.000000000000000000e+01 +5.703000000000000179e-08 5.000000000000000000e+01 +5.706000000000000272e-08 5.000000000000000000e+01 +5.708999999999999704e-08 5.000000000000000000e+01 +5.711999999999999797e-08 5.000000000000000000e+01 +5.714999999999999890e-08 5.000000000000000000e+01 +5.717999999999999983e-08 5.000000000000000000e+01 +5.721000000000000076e-08 5.000000000000000000e+01 +5.724000000000000169e-08 5.000000000000000000e+01 +5.727000000000000262e-08 5.000000000000000000e+01 +5.729999999999999693e-08 5.000000000000000000e+01 +5.732999999999999786e-08 5.000000000000000000e+01 +5.735999999999999879e-08 5.000000000000000000e+01 +5.738999999999999972e-08 5.000000000000000000e+01 +5.742000000000000065e-08 5.000000000000000000e+01 +5.745000000000000158e-08 5.000000000000000000e+01 +5.748000000000000251e-08 5.000000000000000000e+01 +5.750999999999999683e-08 5.000000000000000000e+01 +5.753999999999999776e-08 5.000000000000000000e+01 +5.756999999999999869e-08 5.000000000000000000e+01 +5.759999999999999962e-08 5.000000000000000000e+01 +5.763000000000000055e-08 5.000000000000000000e+01 +5.766000000000000148e-08 5.000000000000000000e+01 +5.769000000000000241e-08 5.000000000000000000e+01 +5.771999999999999672e-08 5.000000000000000000e+01 +5.774999999999999765e-08 5.000000000000000000e+01 +5.777999999999999858e-08 5.000000000000000000e+01 +5.780999999999999951e-08 5.000000000000000000e+01 +5.784000000000000044e-08 5.000000000000000000e+01 +5.787000000000000137e-08 5.000000000000000000e+01 +5.790000000000000230e-08 5.000000000000000000e+01 +5.792999999999999662e-08 5.000000000000000000e+01 +5.795999999999999755e-08 5.000000000000000000e+01 +5.798999999999999848e-08 5.000000000000000000e+01 +5.801999999999999941e-08 5.000000000000000000e+01 +5.805000000000000034e-08 5.000000000000000000e+01 +5.808000000000000127e-08 5.000000000000000000e+01 +5.811000000000000220e-08 5.000000000000000000e+01 +5.813999999999999651e-08 5.000000000000000000e+01 +5.816999999999999744e-08 5.000000000000000000e+01 +5.819999999999999837e-08 5.000000000000000000e+01 +5.822999999999999930e-08 5.000000000000000000e+01 +5.826000000000000023e-08 5.000000000000000000e+01 +5.829000000000000116e-08 5.000000000000000000e+01 +5.832000000000000209e-08 5.000000000000000000e+01 +5.834999999999999641e-08 5.000000000000000000e+01 +5.837999999999999734e-08 5.000000000000000000e+01 +5.840999999999999827e-08 5.000000000000000000e+01 +5.843999999999999920e-08 5.000000000000000000e+01 +5.847000000000000013e-08 5.000000000000000000e+01 +5.850000000000000106e-08 5.000000000000000000e+01 +5.853000000000000199e-08 5.000000000000000000e+01 +5.856000000000000292e-08 5.000000000000000000e+01 +5.858999999999999723e-08 5.000000000000000000e+01 +5.861999999999999816e-08 5.000000000000000000e+01 +5.864999999999999909e-08 5.000000000000000000e+01 +5.868000000000000002e-08 5.000000000000000000e+01 +5.871000000000000095e-08 5.000000000000000000e+01 +5.874000000000000188e-08 5.000000000000000000e+01 +5.877000000000000281e-08 5.000000000000000000e+01 +5.879999999999999713e-08 5.000000000000000000e+01 +5.882999999999999806e-08 5.000000000000000000e+01 +5.885999999999999899e-08 5.000000000000000000e+01 +5.888999999999999992e-08 5.000000000000000000e+01 +5.892000000000000085e-08 5.000000000000000000e+01 +5.895000000000000178e-08 5.000000000000000000e+01 +5.898000000000000271e-08 5.000000000000000000e+01 +5.900999999999999702e-08 5.000000000000000000e+01 +5.903999999999999795e-08 5.000000000000000000e+01 +5.906999999999999888e-08 5.000000000000000000e+01 +5.909999999999999981e-08 5.000000000000000000e+01 +5.913000000000000074e-08 5.000000000000000000e+01 +5.916000000000000167e-08 5.000000000000000000e+01 +5.919000000000000260e-08 5.000000000000000000e+01 +5.921999999999999692e-08 5.000000000000000000e+01 +5.924999999999999785e-08 5.000000000000000000e+01 +5.927999999999999878e-08 5.000000000000000000e+01 +5.930999999999999971e-08 5.000000000000000000e+01 +5.934000000000000064e-08 5.000000000000000000e+01 +5.937000000000000157e-08 5.000000000000000000e+01 +5.940000000000000250e-08 5.000000000000000000e+01 +5.942999999999999681e-08 5.000000000000000000e+01 +5.945999999999999774e-08 5.000000000000000000e+01 +5.948999999999999867e-08 5.000000000000000000e+01 +5.951999999999999960e-08 5.000000000000000000e+01 +5.955000000000000053e-08 5.000000000000000000e+01 +5.958000000000000146e-08 5.000000000000000000e+01 +5.961000000000000240e-08 5.000000000000000000e+01 +5.963999999999999671e-08 5.000000000000000000e+01 +5.967000000000000426e-08 5.000000000000000000e+01 +5.969999999999999857e-08 5.000000000000000000e+01 +5.973000000000000612e-08 5.000000000000000000e+01 +5.976000000000000043e-08 5.000000000000000000e+01 +5.978999999999999474e-08 5.000000000000000000e+01 +5.982000000000000229e-08 5.000000000000000000e+01 +5.984999999999999660e-08 5.000000000000000000e+01 +5.988000000000000415e-08 5.000000000000000000e+01 +5.990999999999999846e-08 5.000000000000000000e+01 +5.994000000000000601e-08 5.000000000000000000e+01 +5.997000000000000032e-08 5.000000000000000000e+01 +5.999999999999999464e-08 5.000000000000000000e+01 +6.003000000000000219e-08 5.000000000000000000e+01 +6.005999999999999650e-08 5.000000000000000000e+01 +6.009000000000000405e-08 5.000000000000000000e+01 +6.011999999999999836e-08 5.000000000000000000e+01 +6.015000000000000591e-08 5.000000000000000000e+01 +6.018000000000000022e-08 5.000000000000000000e+01 +6.020999999999999453e-08 5.000000000000000000e+01 +6.024000000000000208e-08 5.000000000000000000e+01 +6.026999999999999639e-08 5.000000000000000000e+01 +6.030000000000000394e-08 5.000000000000000000e+01 +6.032999999999999825e-08 5.000000000000000000e+01 +6.036000000000000580e-08 5.000000000000000000e+01 +6.039000000000000012e-08 5.000000000000000000e+01 +6.041999999999999443e-08 5.000000000000000000e+01 +6.045000000000000198e-08 5.000000000000000000e+01 +6.047999999999999629e-08 5.000000000000000000e+01 +6.051000000000000384e-08 5.000000000000000000e+01 +6.053999999999999815e-08 5.000000000000000000e+01 +6.057000000000000570e-08 5.000000000000000000e+01 +6.060000000000000001e-08 5.000000000000000000e+01 +6.062999999999999432e-08 5.000000000000000000e+01 +6.066000000000000187e-08 5.000000000000000000e+01 +6.068999999999999618e-08 5.000000000000000000e+01 +6.072000000000000373e-08 5.000000000000000000e+01 +6.074999999999999805e-08 5.000000000000000000e+01 +6.078000000000000559e-08 5.000000000000000000e+01 +6.080999999999999991e-08 5.000000000000000000e+01 +6.083999999999999422e-08 5.000000000000000000e+01 +6.087000000000000177e-08 5.000000000000000000e+01 +6.089999999999999608e-08 5.000000000000000000e+01 +6.093000000000000363e-08 5.000000000000000000e+01 +6.095999999999999794e-08 5.000000000000000000e+01 +6.099000000000000549e-08 5.000000000000000000e+01 +6.101999999999999980e-08 5.000000000000000000e+01 +6.104999999999999411e-08 5.000000000000000000e+01 +6.108000000000000166e-08 5.000000000000000000e+01 +6.110999999999999597e-08 5.000000000000000000e+01 +6.114000000000000352e-08 5.000000000000000000e+01 +6.116999999999999784e-08 5.000000000000000000e+01 +6.120000000000000538e-08 5.000000000000000000e+01 +6.122999999999999970e-08 5.000000000000000000e+01 +6.125999999999999401e-08 5.000000000000000000e+01 +6.129000000000000156e-08 5.000000000000000000e+01 +6.131999999999999587e-08 5.000000000000000000e+01 +6.135000000000000342e-08 5.000000000000000000e+01 +6.137999999999999773e-08 5.000000000000000000e+01 +6.141000000000000528e-08 5.000000000000000000e+01 +6.143999999999999959e-08 5.000000000000000000e+01 +6.146999999999999390e-08 5.000000000000000000e+01 +6.150000000000000145e-08 5.000000000000000000e+01 +6.152999999999999577e-08 5.000000000000000000e+01 +6.156000000000000331e-08 5.000000000000000000e+01 +6.158999999999999763e-08 5.000000000000000000e+01 +6.162000000000000517e-08 5.000000000000000000e+01 +6.164999999999999949e-08 5.000000000000000000e+01 +6.167999999999999380e-08 5.000000000000000000e+01 +6.171000000000000135e-08 5.000000000000000000e+01 +6.173999999999999566e-08 5.000000000000000000e+01 +6.177000000000000321e-08 5.000000000000000000e+01 +6.179999999999999752e-08 5.000000000000000000e+01 +6.183000000000000507e-08 5.000000000000000000e+01 +6.185999999999999938e-08 5.000000000000000000e+01 +6.188999999999999369e-08 5.000000000000000000e+01 +6.192000000000000124e-08 5.000000000000000000e+01 +6.194999999999999556e-08 5.000000000000000000e+01 +6.198000000000000310e-08 5.000000000000000000e+01 +6.200999999999999742e-08 5.000000000000000000e+01 +6.204000000000000496e-08 5.000000000000000000e+01 +6.206999999999999928e-08 5.000000000000000000e+01 +6.209999999999999359e-08 5.000000000000000000e+01 +6.213000000000000114e-08 5.000000000000000000e+01 +6.215999999999999545e-08 5.000000000000000000e+01 +6.219000000000000300e-08 5.000000000000000000e+01 +6.221999999999999731e-08 5.000000000000000000e+01 +6.225000000000000486e-08 5.000000000000000000e+01 +6.227999999999999917e-08 5.000000000000000000e+01 +6.230999999999999349e-08 5.000000000000000000e+01 +6.234000000000000103e-08 5.000000000000000000e+01 +6.236999999999999535e-08 5.000000000000000000e+01 +6.240000000000000289e-08 5.000000000000000000e+01 +6.242999999999999721e-08 5.000000000000000000e+01 +6.246000000000000475e-08 5.000000000000000000e+01 +6.248999999999999907e-08 5.000000000000000000e+01 +6.251999999999999338e-08 5.000000000000000000e+01 +6.255000000000000093e-08 5.000000000000000000e+01 +6.257999999999999524e-08 5.000000000000000000e+01 +6.261000000000000279e-08 5.000000000000000000e+01 +6.263999999999999710e-08 5.000000000000000000e+01 +6.267000000000000465e-08 5.000000000000000000e+01 +6.269999999999999896e-08 5.000000000000000000e+01 +6.272999999999999328e-08 5.000000000000000000e+01 +6.276000000000000082e-08 5.000000000000000000e+01 +6.278999999999999514e-08 5.000000000000000000e+01 +6.282000000000000268e-08 5.000000000000000000e+01 +6.284999999999999700e-08 5.000000000000000000e+01 +6.288000000000000454e-08 5.000000000000000000e+01 +6.290999999999999886e-08 5.000000000000000000e+01 +6.293999999999999317e-08 5.000000000000000000e+01 +6.297000000000000072e-08 5.000000000000000000e+01 +6.299999999999999503e-08 5.000000000000000000e+01 +6.303000000000000258e-08 5.000000000000000000e+01 +6.305999999999999689e-08 5.000000000000000000e+01 +6.309000000000000444e-08 5.000000000000000000e+01 +6.311999999999999875e-08 5.000000000000000000e+01 +6.314999999999999307e-08 5.000000000000000000e+01 +6.318000000000000061e-08 5.000000000000000000e+01 +6.320999999999999493e-08 5.000000000000000000e+01 +6.324000000000000247e-08 5.000000000000000000e+01 +6.326999999999999679e-08 5.000000000000000000e+01 +6.330000000000000434e-08 5.000000000000000000e+01 +6.332999999999999865e-08 5.000000000000000000e+01 +6.336000000000000620e-08 5.000000000000000000e+01 +6.339000000000000051e-08 5.000000000000000000e+01 +6.341999999999999482e-08 5.000000000000000000e+01 +6.345000000000000237e-08 5.000000000000000000e+01 +6.347999999999999668e-08 5.000000000000000000e+01 +6.351000000000000423e-08 5.000000000000000000e+01 +6.353999999999999854e-08 5.000000000000000000e+01 +6.357000000000000609e-08 5.000000000000000000e+01 +6.360000000000000040e-08 5.000000000000000000e+01 +6.362999999999999472e-08 5.000000000000000000e+01 +6.366000000000000226e-08 5.000000000000000000e+01 +6.368999999999999658e-08 5.000000000000000000e+01 +6.372000000000000413e-08 5.000000000000000000e+01 +6.374999999999999844e-08 5.000000000000000000e+01 +6.378000000000000599e-08 5.000000000000000000e+01 +6.381000000000000030e-08 5.000000000000000000e+01 +6.383999999999999461e-08 5.000000000000000000e+01 +6.387000000000000216e-08 5.000000000000000000e+01 +6.389999999999999647e-08 5.000000000000000000e+01 +6.393000000000000402e-08 5.000000000000000000e+01 +6.395999999999999833e-08 5.000000000000000000e+01 +6.399000000000000588e-08 5.000000000000000000e+01 +6.402000000000000019e-08 5.000000000000000000e+01 +6.404999999999999451e-08 5.000000000000000000e+01 +6.408000000000000206e-08 5.000000000000000000e+01 +6.410999999999999637e-08 5.000000000000000000e+01 +6.414000000000000392e-08 5.000000000000000000e+01 +6.416999999999999823e-08 5.000000000000000000e+01 +6.420000000000000578e-08 5.000000000000000000e+01 +6.423000000000000009e-08 5.000000000000000000e+01 +6.425999999999999440e-08 5.000000000000000000e+01 +6.429000000000000195e-08 5.000000000000000000e+01 +6.431999999999999626e-08 5.000000000000000000e+01 +6.435000000000000381e-08 5.000000000000000000e+01 +6.437999999999999812e-08 5.000000000000000000e+01 +6.441000000000000567e-08 5.000000000000000000e+01 +6.443999999999999999e-08 5.000000000000000000e+01 +6.446999999999999430e-08 5.000000000000000000e+01 +6.450000000000000185e-08 5.000000000000000000e+01 +6.452999999999999616e-08 5.000000000000000000e+01 +6.456000000000000371e-08 5.000000000000000000e+01 +6.458999999999999802e-08 5.000000000000000000e+01 +6.462000000000000557e-08 5.000000000000000000e+01 +6.464999999999999988e-08 5.000000000000000000e+01 +6.467999999999999419e-08 5.000000000000000000e+01 +6.471000000000000174e-08 5.000000000000000000e+01 +6.473999999999999605e-08 5.000000000000000000e+01 +6.477000000000000360e-08 5.000000000000000000e+01 +6.479999999999999791e-08 5.000000000000000000e+01 +6.483000000000000546e-08 5.000000000000000000e+01 +6.485999999999999978e-08 5.000000000000000000e+01 +6.488999999999999409e-08 5.000000000000000000e+01 +6.492000000000000164e-08 5.000000000000000000e+01 +6.494999999999999595e-08 5.000000000000000000e+01 +6.498000000000000350e-08 5.000000000000000000e+01 +6.500999999999999781e-08 5.000000000000000000e+01 +6.504000000000000536e-08 5.000000000000000000e+01 +6.506999999999999967e-08 5.000000000000000000e+01 +6.509999999999999398e-08 5.000000000000000000e+01 +6.513000000000000153e-08 5.000000000000000000e+01 +6.515999999999999584e-08 5.000000000000000000e+01 +6.519000000000000339e-08 5.000000000000000000e+01 +6.521999999999999771e-08 5.000000000000000000e+01 +6.525000000000000525e-08 5.000000000000000000e+01 +6.527999999999999957e-08 5.000000000000000000e+01 +6.530999999999999388e-08 5.000000000000000000e+01 +6.534000000000000143e-08 5.000000000000000000e+01 +6.536999999999999574e-08 5.000000000000000000e+01 +6.540000000000000329e-08 5.000000000000000000e+01 +6.542999999999999760e-08 5.000000000000000000e+01 +6.546000000000000515e-08 5.000000000000000000e+01 +6.548999999999999946e-08 5.000000000000000000e+01 +6.551999999999999377e-08 5.000000000000000000e+01 +6.555000000000000132e-08 5.000000000000000000e+01 +6.557999999999999563e-08 5.000000000000000000e+01 +6.561000000000000318e-08 5.000000000000000000e+01 +6.563999999999999750e-08 5.000000000000000000e+01 +6.567000000000000504e-08 5.000000000000000000e+01 +6.569999999999999936e-08 5.000000000000000000e+01 +6.572999999999999367e-08 5.000000000000000000e+01 +6.576000000000000122e-08 5.000000000000000000e+01 +6.578999999999999553e-08 5.000000000000000000e+01 +6.582000000000000308e-08 5.000000000000000000e+01 +6.584999999999999739e-08 5.000000000000000000e+01 +6.588000000000000494e-08 5.000000000000000000e+01 +6.590999999999999925e-08 5.000000000000000000e+01 +6.593999999999999356e-08 5.000000000000000000e+01 +6.597000000000000111e-08 5.000000000000000000e+01 +6.599999999999999543e-08 5.000000000000000000e+01 +6.603000000000000297e-08 5.000000000000000000e+01 +6.605999999999999729e-08 5.000000000000000000e+01 +6.609000000000000483e-08 5.000000000000000000e+01 +6.611999999999999915e-08 5.000000000000000000e+01 +6.614999999999999346e-08 5.000000000000000000e+01 +6.618000000000000101e-08 5.000000000000000000e+01 +6.620999999999999532e-08 5.000000000000000000e+01 +6.624000000000000287e-08 5.000000000000000000e+01 +6.626999999999999718e-08 5.000000000000000000e+01 +6.630000000000000473e-08 5.000000000000000000e+01 +6.632999999999999904e-08 5.000000000000000000e+01 +6.635999999999999335e-08 5.000000000000000000e+01 +6.639000000000000090e-08 5.000000000000000000e+01 +6.641999999999999522e-08 5.000000000000000000e+01 +6.645000000000000276e-08 5.000000000000000000e+01 +6.647999999999999708e-08 5.000000000000000000e+01 +6.651000000000000462e-08 5.000000000000000000e+01 +6.653999999999999894e-08 5.000000000000000000e+01 +6.656999999999999325e-08 5.000000000000000000e+01 +6.660000000000000080e-08 5.000000000000000000e+01 +6.662999999999999511e-08 5.000000000000000000e+01 +6.666000000000000266e-08 5.000000000000000000e+01 +6.668999999999999697e-08 5.000000000000000000e+01 +6.672000000000000452e-08 5.000000000000000000e+01 +6.674999999999999883e-08 5.000000000000000000e+01 +6.677999999999999315e-08 5.000000000000000000e+01 +6.681000000000000069e-08 5.000000000000000000e+01 +6.683999999999999501e-08 5.000000000000000000e+01 +6.687000000000000255e-08 5.000000000000000000e+01 +6.689999999999999687e-08 5.000000000000000000e+01 +6.693000000000000441e-08 5.000000000000000000e+01 +6.695999999999999873e-08 5.000000000000000000e+01 +6.698999999999999304e-08 5.000000000000000000e+01 +6.702000000000000059e-08 5.000000000000000000e+01 +6.704999999999999490e-08 5.000000000000000000e+01 +6.708000000000000245e-08 5.000000000000000000e+01 +6.710999999999999676e-08 5.000000000000000000e+01 +6.714000000000000431e-08 5.000000000000000000e+01 +6.716999999999999862e-08 5.000000000000000000e+01 +6.719999999999999294e-08 5.000000000000000000e+01 +6.723000000000000048e-08 5.000000000000000000e+01 +6.725999999999999480e-08 5.000000000000000000e+01 +6.729000000000000234e-08 5.000000000000000000e+01 +6.731999999999999666e-08 5.000000000000000000e+01 +6.735000000000000421e-08 5.000000000000000000e+01 +6.737999999999999852e-08 5.000000000000000000e+01 +6.741000000000000607e-08 5.000000000000000000e+01 +6.744000000000000038e-08 5.000000000000000000e+01 +6.746999999999999469e-08 5.000000000000000000e+01 +6.750000000000000224e-08 5.000000000000000000e+01 +6.752999999999999655e-08 5.000000000000000000e+01 +6.756000000000000410e-08 5.000000000000000000e+01 +6.758999999999999841e-08 5.000000000000000000e+01 +6.762000000000000596e-08 5.000000000000000000e+01 +6.765000000000000027e-08 5.000000000000000000e+01 +6.767999999999999459e-08 5.000000000000000000e+01 +6.771000000000000213e-08 5.000000000000000000e+01 +6.773999999999999645e-08 5.000000000000000000e+01 +6.777000000000000400e-08 5.000000000000000000e+01 +6.779999999999999831e-08 5.000000000000000000e+01 +6.783000000000000586e-08 5.000000000000000000e+01 +6.786000000000000017e-08 5.000000000000000000e+01 +6.788999999999999448e-08 5.000000000000000000e+01 +6.792000000000000203e-08 5.000000000000000000e+01 +6.794999999999999634e-08 5.000000000000000000e+01 +6.798000000000000389e-08 5.000000000000000000e+01 +6.800999999999999820e-08 5.000000000000000000e+01 +6.804000000000000575e-08 5.000000000000000000e+01 +6.807000000000000006e-08 5.000000000000000000e+01 +6.809999999999999438e-08 5.000000000000000000e+01 +6.813000000000000193e-08 5.000000000000000000e+01 +6.815999999999999624e-08 5.000000000000000000e+01 +6.819000000000000379e-08 5.000000000000000000e+01 +6.821999999999999810e-08 5.000000000000000000e+01 +6.825000000000000565e-08 5.000000000000000000e+01 +6.827999999999999996e-08 5.000000000000000000e+01 +6.830999999999999427e-08 5.000000000000000000e+01 +6.834000000000000182e-08 5.000000000000000000e+01 +6.836999999999999613e-08 5.000000000000000000e+01 +6.840000000000000368e-08 5.000000000000000000e+01 +6.842999999999999799e-08 5.000000000000000000e+01 +6.846000000000000554e-08 5.000000000000000000e+01 +6.848999999999999985e-08 5.000000000000000000e+01 +6.851999999999999417e-08 5.000000000000000000e+01 +6.855000000000000172e-08 5.000000000000000000e+01 +6.857999999999999603e-08 5.000000000000000000e+01 +6.861000000000000358e-08 5.000000000000000000e+01 +6.863999999999999789e-08 5.000000000000000000e+01 +6.867000000000000544e-08 5.000000000000000000e+01 +6.869999999999999975e-08 5.000000000000000000e+01 +6.872999999999999406e-08 5.000000000000000000e+01 +6.876000000000000161e-08 5.000000000000000000e+01 +6.878999999999999592e-08 5.000000000000000000e+01 +6.882000000000000347e-08 5.000000000000000000e+01 +6.884999999999999778e-08 5.000000000000000000e+01 +6.888000000000000533e-08 5.000000000000000000e+01 +6.890999999999999965e-08 5.000000000000000000e+01 +6.893999999999999396e-08 5.000000000000000000e+01 +6.897000000000000151e-08 5.000000000000000000e+01 +6.899999999999999582e-08 5.000000000000000000e+01 +6.903000000000000337e-08 5.000000000000000000e+01 +6.905999999999999768e-08 5.000000000000000000e+01 +6.909000000000000523e-08 5.000000000000000000e+01 +6.911999999999999954e-08 5.000000000000000000e+01 +6.914999999999999385e-08 5.000000000000000000e+01 +6.918000000000000140e-08 5.000000000000000000e+01 +6.920999999999999571e-08 5.000000000000000000e+01 +6.924000000000000326e-08 5.000000000000000000e+01 +6.926999999999999757e-08 5.000000000000000000e+01 +6.930000000000000512e-08 5.000000000000000000e+01 +6.932999999999999944e-08 5.000000000000000000e+01 +6.935999999999999375e-08 5.000000000000000000e+01 +6.939000000000000130e-08 5.000000000000000000e+01 +6.941999999999999561e-08 5.000000000000000000e+01 +6.945000000000000316e-08 5.000000000000000000e+01 +6.947999999999999747e-08 5.000000000000000000e+01 +6.951000000000000502e-08 5.000000000000000000e+01 +6.953999999999999933e-08 5.000000000000000000e+01 +6.956999999999999364e-08 5.000000000000000000e+01 +6.960000000000000119e-08 5.000000000000000000e+01 +6.962999999999999550e-08 5.000000000000000000e+01 +6.966000000000000305e-08 5.000000000000000000e+01 +6.968999999999999737e-08 5.000000000000000000e+01 +6.972000000000000491e-08 5.000000000000000000e+01 +6.974999999999999923e-08 5.000000000000000000e+01 +6.977999999999999354e-08 5.000000000000000000e+01 +6.981000000000000109e-08 5.000000000000000000e+01 +6.983999999999999540e-08 5.000000000000000000e+01 +6.987000000000000295e-08 5.000000000000000000e+01 +6.989999999999999726e-08 5.000000000000000000e+01 +6.993000000000000481e-08 5.000000000000000000e+01 +6.995999999999999912e-08 5.000000000000000000e+01 +6.998999999999999343e-08 5.000000000000000000e+01 +7.002000000000000098e-08 5.000000000000000000e+01 +7.004999999999999529e-08 5.000000000000000000e+01 +7.008000000000000284e-08 5.000000000000000000e+01 +7.010999999999999716e-08 5.000000000000000000e+01 +7.014000000000000470e-08 5.000000000000000000e+01 +7.016999999999999902e-08 5.000000000000000000e+01 +7.019999999999999333e-08 5.000000000000000000e+01 +7.023000000000000088e-08 5.000000000000000000e+01 +7.025999999999999519e-08 5.000000000000000000e+01 +7.029000000000000274e-08 5.000000000000000000e+01 +7.031999999999999705e-08 5.000000000000000000e+01 +7.035000000000000460e-08 5.000000000000000000e+01 +7.037999999999999891e-08 5.000000000000000000e+01 +7.040999999999999322e-08 5.000000000000000000e+01 +7.044000000000000077e-08 5.000000000000000000e+01 +7.046999999999999509e-08 5.000000000000000000e+01 +7.050000000000000263e-08 5.000000000000000000e+01 +7.052999999999999695e-08 5.000000000000000000e+01 +7.056000000000000449e-08 5.000000000000000000e+01 +7.058999999999999881e-08 5.000000000000000000e+01 +7.061999999999999312e-08 5.000000000000000000e+01 +7.065000000000000067e-08 5.000000000000000000e+01 +7.067999999999999498e-08 5.000000000000000000e+01 +7.071000000000000253e-08 5.000000000000000000e+01 +7.073999999999999684e-08 5.000000000000000000e+01 +7.077000000000000439e-08 5.000000000000000000e+01 +7.079999999999999870e-08 5.000000000000000000e+01 +7.082999999999999301e-08 5.000000000000000000e+01 +7.086000000000000056e-08 5.000000000000000000e+01 +7.088999999999999488e-08 5.000000000000000000e+01 +7.092000000000000242e-08 5.000000000000000000e+01 +7.094999999999999674e-08 5.000000000000000000e+01 +7.098000000000000428e-08 5.000000000000000000e+01 +7.100999999999999860e-08 5.000000000000000000e+01 +7.104000000000000615e-08 5.000000000000000000e+01 +7.107000000000000046e-08 5.000000000000000000e+01 +7.109999999999999477e-08 5.000000000000000000e+01 +7.113000000000000232e-08 5.000000000000000000e+01 +7.115999999999999663e-08 5.000000000000000000e+01 +7.119000000000000418e-08 5.000000000000000000e+01 +7.121999999999999849e-08 5.000000000000000000e+01 +7.125000000000000604e-08 5.000000000000000000e+01 +7.128000000000000035e-08 5.000000000000000000e+01 +7.130999999999999467e-08 5.000000000000000000e+01 +7.134000000000000221e-08 5.000000000000000000e+01 +7.136999999999999653e-08 5.000000000000000000e+01 +7.140000000000000407e-08 5.000000000000000000e+01 +7.142999999999999839e-08 5.000000000000000000e+01 +7.146000000000000594e-08 5.000000000000000000e+01 +7.149000000000000025e-08 5.000000000000000000e+01 +7.151999999999999456e-08 5.000000000000000000e+01 +7.155000000000000211e-08 5.000000000000000000e+01 +7.157999999999999642e-08 5.000000000000000000e+01 +7.161000000000000397e-08 5.000000000000000000e+01 +7.163999999999999828e-08 5.000000000000000000e+01 +7.167000000000000583e-08 5.000000000000000000e+01 +7.170000000000000014e-08 5.000000000000000000e+01 +7.172999999999999446e-08 5.000000000000000000e+01 +7.176000000000000200e-08 5.000000000000000000e+01 +7.178999999999999632e-08 5.000000000000000000e+01 +7.182000000000000387e-08 5.000000000000000000e+01 +7.184999999999999818e-08 5.000000000000000000e+01 +7.188000000000000573e-08 5.000000000000000000e+01 +7.191000000000000004e-08 5.000000000000000000e+01 +7.193999999999999435e-08 5.000000000000000000e+01 +7.197000000000000190e-08 5.000000000000000000e+01 +7.199999999999999621e-08 5.000000000000000000e+01 +7.203000000000000376e-08 5.000000000000000000e+01 +7.205999999999999807e-08 5.000000000000000000e+01 +7.209000000000000562e-08 5.000000000000000000e+01 +7.211999999999999993e-08 5.000000000000000000e+01 +7.214999999999999425e-08 5.000000000000000000e+01 +7.218000000000000179e-08 5.000000000000000000e+01 +7.220999999999999611e-08 5.000000000000000000e+01 +7.224000000000000366e-08 5.000000000000000000e+01 +7.226999999999999797e-08 5.000000000000000000e+01 +7.230000000000000552e-08 5.000000000000000000e+01 +7.232999999999999983e-08 5.000000000000000000e+01 +7.235999999999999414e-08 5.000000000000000000e+01 +7.239000000000000169e-08 5.000000000000000000e+01 +7.241999999999999600e-08 5.000000000000000000e+01 +7.245000000000000355e-08 5.000000000000000000e+01 +7.247999999999999786e-08 5.000000000000000000e+01 +7.251000000000000541e-08 5.000000000000000000e+01 +7.253999999999999972e-08 5.000000000000000000e+01 +7.256999999999999404e-08 5.000000000000000000e+01 +7.260000000000000159e-08 5.000000000000000000e+01 +7.262999999999999590e-08 5.000000000000000000e+01 +7.266000000000000345e-08 5.000000000000000000e+01 +7.268999999999999776e-08 5.000000000000000000e+01 +7.272000000000000531e-08 5.000000000000000000e+01 +7.274999999999999962e-08 5.000000000000000000e+01 +7.277999999999999393e-08 5.000000000000000000e+01 +7.281000000000000148e-08 5.000000000000000000e+01 +7.283999999999999579e-08 5.000000000000000000e+01 +7.287000000000000334e-08 5.000000000000000000e+01 +7.289999999999999765e-08 5.000000000000000000e+01 +7.293000000000000520e-08 5.000000000000000000e+01 +7.295999999999999951e-08 5.000000000000000000e+01 +7.298999999999999383e-08 5.000000000000000000e+01 +7.302000000000000138e-08 5.000000000000000000e+01 +7.304999999999999569e-08 5.000000000000000000e+01 +7.308000000000000324e-08 5.000000000000000000e+01 +7.310999999999999755e-08 5.000000000000000000e+01 +7.314000000000000510e-08 5.000000000000000000e+01 +7.316999999999999941e-08 5.000000000000000000e+01 +7.319999999999999372e-08 5.000000000000000000e+01 +7.323000000000000127e-08 5.000000000000000000e+01 +7.325999999999999558e-08 5.000000000000000000e+01 +7.329000000000000313e-08 5.000000000000000000e+01 +7.331999999999999744e-08 5.000000000000000000e+01 +7.335000000000000499e-08 5.000000000000000000e+01 +7.337999999999999931e-08 5.000000000000000000e+01 +7.340999999999999362e-08 5.000000000000000000e+01 +7.344000000000000117e-08 5.000000000000000000e+01 +7.346999999999999548e-08 5.000000000000000000e+01 +7.350000000000000303e-08 5.000000000000000000e+01 +7.352999999999999734e-08 5.000000000000000000e+01 +7.356000000000000489e-08 5.000000000000000000e+01 +7.358999999999999920e-08 5.000000000000000000e+01 +7.361999999999999351e-08 5.000000000000000000e+01 +7.365000000000000106e-08 5.000000000000000000e+01 +7.367999999999999537e-08 5.000000000000000000e+01 +7.371000000000000292e-08 5.000000000000000000e+01 +7.373999999999999723e-08 5.000000000000000000e+01 +7.377000000000000478e-08 5.000000000000000000e+01 +7.379999999999999910e-08 5.000000000000000000e+01 +7.382999999999999341e-08 5.000000000000000000e+01 +7.386000000000000096e-08 5.000000000000000000e+01 +7.388999999999999527e-08 5.000000000000000000e+01 +7.392000000000000282e-08 5.000000000000000000e+01 +7.394999999999999713e-08 5.000000000000000000e+01 +7.398000000000000468e-08 5.000000000000000000e+01 +7.400999999999999899e-08 5.000000000000000000e+01 +7.403999999999999330e-08 5.000000000000000000e+01 +7.407000000000000085e-08 5.000000000000000000e+01 +7.409999999999999516e-08 5.000000000000000000e+01 +7.413000000000000271e-08 5.000000000000000000e+01 +7.415999999999999703e-08 5.000000000000000000e+01 +7.419000000000000457e-08 5.000000000000000000e+01 +7.421999999999999889e-08 5.000000000000000000e+01 +7.424999999999999320e-08 5.000000000000000000e+01 +7.428000000000000075e-08 5.000000000000000000e+01 +7.430999999999999506e-08 5.000000000000000000e+01 +7.434000000000000261e-08 5.000000000000000000e+01 +7.436999999999999692e-08 5.000000000000000000e+01 +7.440000000000000447e-08 5.000000000000000000e+01 +7.442999999999999878e-08 5.000000000000000000e+01 +7.445999999999999309e-08 5.000000000000000000e+01 +7.449000000000000064e-08 5.000000000000000000e+01 +7.451999999999999495e-08 5.000000000000000000e+01 +7.455000000000000250e-08 5.000000000000000000e+01 +7.457999999999999682e-08 5.000000000000000000e+01 +7.461000000000000436e-08 5.000000000000000000e+01 +7.463999999999999868e-08 5.000000000000000000e+01 +7.466999999999999299e-08 5.000000000000000000e+01 +7.470000000000000054e-08 5.000000000000000000e+01 +7.472999999999999485e-08 5.000000000000000000e+01 +7.476000000000000240e-08 5.000000000000000000e+01 +7.478999999999999671e-08 5.000000000000000000e+01 +7.482000000000000426e-08 5.000000000000000000e+01 +7.484999999999999857e-08 5.000000000000000000e+01 +7.487999999999999288e-08 5.000000000000000000e+01 +7.491000000000000043e-08 5.000000000000000000e+01 +7.493999999999999475e-08 5.000000000000000000e+01 +7.497000000000000229e-08 5.000000000000000000e+01 From b8193975a9528e424b41af8a06ac688dc063a8ba Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Mon, 16 Mar 2026 16:40:57 +0100 Subject: [PATCH 16/25] WIP --- src_json_parser/smbjson.F90 | 2 +- src_mtln/generators.F90 | 2 +- src_mtln/mtl_bundle.F90 | 145 +-- test/mtln/mtln_testingTools.F90 | 3 +- testData/cases/sources/current_source_1A.exc | 833 ++++++++++++++++++ .../cases/sources/current_sources_prepost.py | 137 +++ .../cases/sources/sources_current.fdtd.json | 46 +- testData/cases/sources/sources_prepost.py | 48 +- .../cases/sources/sources_voltage.fdtd.json | 298 +++++++ .../cases/sources/voltage_sources_prepost.py | 137 +++ 10 files changed, 1546 insertions(+), 105 deletions(-) create mode 100644 testData/cases/sources/current_sources_prepost.py create mode 100644 testData/cases/sources/sources_voltage.fdtd.json create mode 100644 testData/cases/sources/voltage_sources_prepost.py diff --git a/src_json_parser/smbjson.F90 b/src_json_parser/smbjson.F90 index d099db07..c2c003fc 100644 --- a/src_json_parser/smbjson.F90 +++ b/src_json_parser/smbjson.F90 @@ -3289,7 +3289,7 @@ logical function IsGeneratorOnWire(p) if (fieldLabel == J_FIELD_VOLTAGE .and. & (mAs(i)%matAssType == J_MAT_TYPE_WIRE .or. & mAs(i)%matAssType == J_MAT_TYPE_UNSHIELDED_MULTIWIRE)) then - call WarnErrReport('Voltage generators cannot be defined on wire/unshieldedMultiwire interior points', .true.) + ! call WarnErrReport('Voltage generators cannot be defined on wire/unshieldedMultiwire interior points', .true.) end if IsGeneratorOnWire = .true. return diff --git a/src_mtln/generators.F90 b/src_mtln/generators.F90 index 316bf052..9e3804a5 100644 --- a/src_mtln/generators.F90 +++ b/src_mtln/generators.F90 @@ -1,7 +1,7 @@ module generators_m - use mtln_types_mod, only: SOURCE_TYPE_UNDEFINED, SOURCE_TYPE_VOLTAGE, SOURCE_TYPE_CURRENT + use mtln_types_m, only: SOURCE_TYPE_UNDEFINED, SOURCE_TYPE_VOLTAGE, SOURCE_TYPE_CURRENT implicit none diff --git a/src_mtln/mtl_bundle.F90 b/src_mtln/mtl_bundle.F90 index e1159704..e6d63b0a 100644 --- a/src_mtln/mtl_bundle.F90 +++ b/src_mtln/mtl_bundle.F90 @@ -1,16 +1,16 @@ module mtl_bundle_m - use utils_mod - use probes_mod + use utils_m + use probes_m use generators_m - use dispersive_mod - use mtl_mod + use dispersive_m + use mtl_m #ifdef CompileWithMPI use FDETYPES_m, only: RKIND, SUBCOMM_MPI, REALSIZE, INTEGERSIZE, MPI_STATUS_SIZE #else use FDETYPES_m, only: RKIND #endif - use mtln_types_mod, only: SOURCE_TYPE_CURRENT, SOURCE_TYPE_VOLTAGE + use mtln_types_m, only: SOURCE_TYPE_CURRENT, SOURCE_TYPE_VOLTAGE implicit none type, public :: mtl_bundle_t @@ -29,13 +29,13 @@ module mtl_bundle_m type(probe_t), allocatable, dimension(:) :: probes type(transfer_impedance_t) :: transfer_impedance integer, dimension(:), allocatable :: conductors_in_level - + real, dimension(:,:,:), allocatable :: v_term, i_term real, dimension(:,:,:), allocatable :: v_diff, i_diff type(external_field_segment_t), dimension(:), allocatable :: external_field_segments logical :: bundle_in_layer = .true. - + #ifdef CompileWithMPI integer(kind=4), allocatable, dimension(:,:) :: layer_indices type(comm_t) :: mpi_comm @@ -70,7 +70,7 @@ module mtl_bundle_m type :: external_field_segment_t integer, dimension(3) ::position integer :: direction = 0 - real(kind=rkind) , pointer :: field => null() + real(kind=rkind) , pointer :: field => null() end type contains @@ -79,11 +79,11 @@ function mtldCtor(levels, name) result(res) type(mtl_bundle_t) :: res type(transmission_line_level_t), dimension(:), intent(in) :: levels character(len=*), intent(in), optional :: name - + res%name = "" if (present(name)) then res%name = name - end if + end if allocate(res%probes(0)) allocate(res%generators(0)) @@ -113,14 +113,14 @@ subroutine initialAllocation(this) allocate(this%gpul(this%number_of_divisions + 1, this%number_of_conductors, this%number_of_conductors), source = 0.0) allocate(this%rpul(this%number_of_divisions, this%number_of_conductors, this%number_of_conductors), source = 0.0) allocate(this%du(this%number_of_divisions, this%number_of_conductors, this%number_of_conductors), source = 0.0) - + allocate(this%v(this%number_of_conductors, this%number_of_divisions + 1), source = 0.0) allocate(this%i(this%number_of_conductors, this%number_of_divisions), source = 0.0) allocate(this%e_L(this%number_of_conductors, this%number_of_divisions), source = 0.0) allocate(this%v_source(this%number_of_conductors, this%number_of_divisions + 1), source = 0.0) allocate(this%i_source(this%number_of_conductors, this%number_of_divisions), source = 0.0) - + allocate(this%i_term(this%number_of_divisions,this%number_of_conductors,this%number_of_conductors), source = 0.0) allocate(this%v_diff(this%number_of_divisions,this%number_of_conductors,this%number_of_conductors), source = 0.0) @@ -137,7 +137,7 @@ function countNumberOfConductors(levels) result(res) do j = 1, size(levels(i)%lines) res = res + levels(i)%lines(j)%number_of_conductors end do - end do + end do end function subroutine mergePULMatrices(this, levels) @@ -177,29 +177,29 @@ subroutine mergeDispersiveMatrices(this, levels) this%transfer_impedance%q1(:,n_sum+1:n_sum+n,n_sum +1:n_sum+n,:) = & levels(i)%lines(j)%lumped_elements%q1(:,:,:,:) - + this%transfer_impedance%q2(:,n_sum+1:n_sum+n,n_sum +1:n_sum+n,:) = & levels(i)%lines(j)%lumped_elements%q2(:,:,:,:) - + this%transfer_impedance%q3(:,n_sum+1:n_sum+n,n_sum +1:n_sum+n,:) = & levels(i)%lines(j)%lumped_elements%q3(:,:,:,:) - - this%transfer_impedance%q1_sum(:,n_sum+1:n_sum+n,n_sum +1:n_sum+n) = & + + this%transfer_impedance%q1_sum(:,n_sum+1:n_sum+n,n_sum +1:n_sum+n) = & levels(i)%lines(j)%lumped_elements%q1_sum(:,:,:) - - this%transfer_impedance%q2_sum(:,n_sum+1:n_sum+n,n_sum +1:n_sum+n) = & + + this%transfer_impedance%q2_sum(:,n_sum+1:n_sum+n,n_sum +1:n_sum+n) = & levels(i)%lines(j)%lumped_elements%q2_sum(:,:,:) - - this%transfer_impedance%q3_phi(:,n_sum+1:n_sum+n) = & + + this%transfer_impedance%q3_phi(:,n_sum+1:n_sum+n) = & levels(i)%lines(j)%lumped_elements%q3_phi(:,:) - - this%transfer_impedance%phi(:,n_sum+1:n_sum+n,:) = & + + this%transfer_impedance%phi(:,n_sum+1:n_sum+n,:) = & levels(i)%lines(j)%lumped_elements%phi(:,:,:) - - this%transfer_impedance%d(:,n_sum+1:n_sum+n,n_sum +1:n_sum+n) = & + + this%transfer_impedance%d(:,n_sum+1:n_sum+n,n_sum +1:n_sum+n) = & levels(i)%lines(j)%lumped_elements%d(:,:,:) - - this%transfer_impedance%e(:,n_sum+1:n_sum+n,n_sum +1:n_sum+n) = & + + this%transfer_impedance%e(:,n_sum+1:n_sum+n,n_sum +1:n_sum+n) = & levels(i)%lines(j)%lumped_elements%e(:,:,:) n_sum = n_sum + n @@ -265,11 +265,11 @@ subroutine addGenerator(this, index, conductor, gen_type, resistance, path) this%generators(1:size(this%generators)-1) = aux_generators this%generators(size(aux_generators)+1) = new_generator - if (gen_type == SOURCE_TYPE_VOLTAGE) then - this%rpul(index, conductor, conductor) = this%rpul(index, conductor, conductor) + resistance/0.01 + if (gen_type == SOURCE_TYPE_VOLTAGE) then + this%rpul(index, conductor, conductor) = this%rpul(index, conductor, conductor) + resistance/this%du(index, conductor, conductor) else if (new_generator%source_type == SOURCE_TYPE_CURRENT) then - ! this%rpul(index, conductor, conductor) = this%rpul(index, conductor, conductor) + resistance - ! this%gpul(index, conductor, conductor) = this%gpul(index, conductor, conductor) + 1.0/resistance + ! this%rpul(index, conductor, conductor) = this%rpul(index, conductor, conductor) + resistance/this%du(index, conductor, conductor) + this%gpul(index, conductor, conductor) = this%gpul(index, conductor, conductor) + resistance/this%du(index, conductor, conductor) end if end subroutine @@ -307,7 +307,7 @@ subroutine updateLRTerms(this) this%transfer_impedance%e(i,:,:)/this%dt + & 0.5*this%rpul(i,:,:) + & this%transfer_impedance%q1_sum(i,:,:)), & - i = 1,this%number_of_divisions)], & + i = 1,this%number_of_divisions)], & shape=[this%number_of_divisions,this%number_of_conductors, this%number_of_conductors], & order=[2,3,1]) @@ -318,7 +318,7 @@ subroutine updateLRTerms(this) this%transfer_impedance%e(i,:,:)/this%dt - & 0.5*this%rpul(i,:,:) - & this%transfer_impedance%q1_sum(i,:,:)), & - i = 1,this%number_of_divisions)], & + i = 1,this%number_of_divisions)], & shape=[this%number_of_divisions,this%number_of_conductors, this%number_of_conductors], & order=[2,3,1]) @@ -340,7 +340,7 @@ subroutine updateCGTerms(this) real, dimension(this%number_of_divisions + 1,this%number_of_conductors,this%number_of_conductors) :: F1, F2, IF1 real, dimension(this%number_of_divisions + 1, this%number_of_conductors,this%number_of_conductors) :: extended_du integer :: i - + extended_du(1,:,:) = this%du(1,:,:) do i = 2, this%number_of_divisions extended_du(i,:,:)= 0.5*(this%du(i,:,:)+this%du(i-1,:,:)) @@ -369,7 +369,7 @@ subroutine updateCGTerms(this) order=[2,3,1]) this%i_diff = IF1 - + end subroutine subroutine bundle_updateGenerators(this, time, dt) @@ -377,20 +377,20 @@ subroutine bundle_updateGenerators(this, time, dt) real, intent(in) :: time, dt real :: val integer :: i - !TODO - do i = 1, size(this%generators) - val = this%generators(i)%interpolate(time+0.5*dt) - ! val = 0.5*(this%generators(i)%interpolate(time-0.5*dt)+this%generators(i)%interpolate(time+0.5*dt)) - if (this%generators(i)%source_type == SOURCE_TYPE_VOLTAGE) then + do i = 1, size(this%generators) + if (this%generators(i)%source_type == SOURCE_TYPE_VOLTAGE) then + val = 0.5*(this%generators(i)%interpolate(time+dt)+this%generators(i)%interpolate(time)) this%v_source(this%generators(i)%conductor, this%generators(i)%index) = val - else if (this%generators(i)%source_type == SOURCE_TYPE_CURRENT) then - ! this%v_source(this%generators(i)%conductor, this%generators(i)%index) = 0.5*val*this%generators(i)%resistance + else if (this%generators(i)%source_type == SOURCE_TYPE_CURRENT) then + val = 0.5*(this%generators(i)%interpolate(time+0.5*dt)+this%generators(i)%interpolate(time-0.5*dt)) + ! this%v_source(this%generators(i)%conductor, this%generators(i)%index) = val*this%generators(i)%resistance ! this%v_source(this%generators(i)%conductor, this%generators(i)%index-1) = -0.5*val*this%generators(i)%resistance - ! this%i_source(this%generators(i)%conductor, this%generators(i)%index-1) = 0.5*val + ! this%i_source(this%generators(i)%conductor, this%generators(i)%index) = 0.5*val + ! this%i_source(this%generators(i)%conductor, this%generators(i)%index-1) =- 0.5*val this%i_source(this%generators(i)%conductor, this%generators(i)%index) = val end if end do - + end subroutine subroutine bundle_advanceVoltage(this) @@ -398,9 +398,11 @@ subroutine bundle_advanceVoltage(this) integer :: i do i = 2,this%number_of_divisions this%v(:, i) = matmul(this%v_term(i,:,:), this%v(:,i)) - & - matmul(this%i_diff(i,:,:), (this%i(:,i) - this%i(:,i-1))) - ! + & this%i_source(:,i)) + matmul(this%i_diff(i,:,:), (this%i(:,i) - this%i(:,i-1))- & + !soft I source? + this%i_source(:,i)) end do + end subroutine @@ -420,18 +422,21 @@ subroutine bundle_advanceCurrent(this) call this%transfer_impedance%updateQ3Phi() i_prev = this%i - do i = 1, this%number_of_divisions + do i = 1, this%number_of_divisions this%i(:,i) = matmul(this%i_term(i,:,:), this%i(:,i)) - & matmul(this%v_diff(i,:,:), (this%v(:,i+1) - this%v(:,i)) - & - this%e_L(:,i) * this%step_size(i)) - & - ! this%v_source(:,i)) - & + this%e_L(:,i) * this%step_size(i) - & + !soft V source + this%v_source(:,i)) - & matmul(this%v_diff(i,:,:), matmul(this%du(i,:,:), this%transfer_impedance%q3_phi(i,:))) - ! this%i(:,i) = this%i_source(:,i) enddo - do i = 1, size(this%generators) - this%i(this%generators(i)%conductor, this%generators(i)%index) = & - this%i_source(this%generators(i)%conductor, this%generators(i)%index) - end do + !hard I source + ! do i = 1, size(this%generators) + ! if (this%generators(i)%source_type == SOURCE_TYPE_CURRENT) then + ! this%i(this%generators(i)%conductor, this%generators(i)%index) = & + ! this%i_source(this%generators(i)%conductor, this%generators(i)%index) + ! end if + ! end do !TODO - revisar i_now = this%i call this%transfer_impedance%updatePhi(i_prev, i_now) @@ -464,20 +469,20 @@ subroutine Comm_MPI_V(this) call MPI_COMM_RANK(SUBCOMM_MPI, rank, ierr) number_of_conductors = size(this%v,1) do i = 1, size(this%mpi_comm%comms) - if (this%mpi_comm%comms(i)%comm_type == COMM_V .or. this%mpi_comm%comms(i)%comm_type == COMM_BOTH) then - if (this%mpi_comm%comms(i)%comm_task == COMM_SEND) then + if (this%mpi_comm%comms(i)%comm_type == COMM_V .or. this%mpi_comm%comms(i)%comm_type == COMM_BOTH) then + if (this%mpi_comm%comms(i)%comm_task == COMM_SEND) then do c = 1, number_of_conductors - call MPI_send(this%v(c, this%mpi_comm%comms(i)%v_index),1, REALSIZE, & - rank+this%mpi_comm%comms(i)%delta_rank, & - 200*(rank+this%mpi_comm%comms(i)%delta_rank+1)+c, & + call MPI_send(this%v(c, this%mpi_comm%comms(i)%v_index),1, REALSIZE, & + rank+this%mpi_comm%comms(i)%delta_rank, & + 200*(rank+this%mpi_comm%comms(i)%delta_rank+1)+c, & SUBCOMM_MPI, ierr) end do end if - if (this%mpi_comm%comms(i)%comm_task == COMM_RECV) then + if (this%mpi_comm%comms(i)%comm_task == COMM_RECV) then do c = 1, number_of_conductors - call MPI_recv(this%v(c, this%mpi_comm%comms(i)%v_index),1, REALSIZE, & - rank+this%mpi_comm%comms(i)%delta_rank, & - 200*(rank+1)+c, & + call MPI_recv(this%v(c, this%mpi_comm%comms(i)%v_index),1, REALSIZE, & + rank+this%mpi_comm%comms(i)%delta_rank, & + 200*(rank+1)+c, & SUBCOMM_MPI, status, ierr) end do end if @@ -492,15 +497,15 @@ subroutine Comm_MPI_Fields(this) integer :: i, ierr, rank, status(MPI_STATUS_SIZE) call MPI_COMM_RANK(SUBCOMM_MPI, rank, ierr) do i = 1, size(this%mpi_comm%comms) - if (this%mpi_comm%comms(i)%comm_type == COMM_FIELD .or. this%mpi_comm%comms(i)%comm_type == COMM_BOTH) then - if (this%mpi_comm%comms(i)%comm_task == COMM_SEND) then - call MPI_send(this%external_field_segments(this%mpi_comm%comms(i)%field_index)%field, 1, REALSIZE, & - rank+this%mpi_comm%comms(i)%delta_rank, & - 100*(rank+this%mpi_comm%comms(i)%delta_rank+1), & + if (this%mpi_comm%comms(i)%comm_type == COMM_FIELD .or. this%mpi_comm%comms(i)%comm_type == COMM_BOTH) then + if (this%mpi_comm%comms(i)%comm_task == COMM_SEND) then + call MPI_send(this%external_field_segments(this%mpi_comm%comms(i)%field_index)%field, 1, REALSIZE, & + rank+this%mpi_comm%comms(i)%delta_rank, & + 100*(rank+this%mpi_comm%comms(i)%delta_rank+1), & SUBCOMM_MPI, ierr) end if - if (this%mpi_comm%comms(i)%comm_task == COMM_RECV) then - call MPI_recv(this%external_field_segments(this%mpi_comm%comms(i)%field_index)%field,1, REALSIZE, & + if (this%mpi_comm%comms(i)%comm_task == COMM_RECV) then + call MPI_recv(this%external_field_segments(this%mpi_comm%comms(i)%field_index)%field,1, REALSIZE, & rank+this%mpi_comm%comms(i)%delta_rank, & 100*(rank+1), & SUBCOMM_MPI, status, ierr) diff --git a/test/mtln/mtln_testingTools.F90 b/test/mtln/mtln_testingTools.F90 index 9c5430bb..efa23bea 100644 --- a/test/mtln/mtln_testingTools.F90 +++ b/test/mtln/mtln_testingTools.F90 @@ -12,7 +12,7 @@ module mtln_testingTools_mod contains - type(mtl_t) function buildLineWithNConductors(n,name, parent_name, conductor_in_parent, dt, type) result(res) + function buildLineWithNConductors(n,name, parent_name, conductor_in_parent, dt, type) result(res) integer, intent(in) :: n character(len=*), intent(in) :: name @@ -20,6 +20,7 @@ type(mtl_t) function buildLineWithNConductors(n,name, parent_name, conductor_in_ character(len=*), intent(in), optional :: parent_name integer, intent(in), optional :: conductor_in_parent character(len=*), intent(in) :: type + type(mtl_t) :: res real, allocatable, dimension(:,:) :: lpul, cpul, rpul, gpul real, dimension(5) :: step_size = [20.0, 20.0, 20.0, 20.0, 20.0] diff --git a/testData/cases/sources/current_source_1A.exc b/testData/cases/sources/current_source_1A.exc index aae190ca..48cf9fb0 100644 --- a/testData/cases/sources/current_source_1A.exc +++ b/testData/cases/sources/current_source_1A.exc @@ -1665,3 +1665,836 @@ 4.991999999999999967e-08 1.000000000000000000e+00 4.995000000000000060e-08 1.000000000000000000e+00 4.998000000000000153e-08 1.000000000000000000e+00 +5.001000000000000246e-08 1.000000000000000000e+00 +5.003999999999999677e-08 1.000000000000000000e+00 +5.006999999999999770e-08 1.000000000000000000e+00 +5.009999999999999863e-08 1.000000000000000000e+00 +5.012999999999999956e-08 1.000000000000000000e+00 +5.016000000000000049e-08 1.000000000000000000e+00 +5.019000000000000142e-08 1.000000000000000000e+00 +5.022000000000000235e-08 1.000000000000000000e+00 +5.024999999999999667e-08 1.000000000000000000e+00 +5.027999999999999760e-08 1.000000000000000000e+00 +5.030999999999999853e-08 1.000000000000000000e+00 +5.033999999999999946e-08 1.000000000000000000e+00 +5.037000000000000039e-08 1.000000000000000000e+00 +5.040000000000000132e-08 1.000000000000000000e+00 +5.043000000000000225e-08 1.000000000000000000e+00 +5.045999999999999656e-08 1.000000000000000000e+00 +5.048999999999999749e-08 1.000000000000000000e+00 +5.051999999999999842e-08 1.000000000000000000e+00 +5.054999999999999935e-08 1.000000000000000000e+00 +5.058000000000000028e-08 1.000000000000000000e+00 +5.061000000000000121e-08 1.000000000000000000e+00 +5.064000000000000214e-08 1.000000000000000000e+00 +5.066999999999999646e-08 1.000000000000000000e+00 +5.069999999999999739e-08 1.000000000000000000e+00 +5.072999999999999832e-08 1.000000000000000000e+00 +5.075999999999999925e-08 1.000000000000000000e+00 +5.079000000000000018e-08 1.000000000000000000e+00 +5.082000000000000111e-08 1.000000000000000000e+00 +5.085000000000000204e-08 1.000000000000000000e+00 +5.088000000000000297e-08 1.000000000000000000e+00 +5.090999999999999728e-08 1.000000000000000000e+00 +5.093999999999999821e-08 1.000000000000000000e+00 +5.096999999999999914e-08 1.000000000000000000e+00 +5.100000000000000007e-08 1.000000000000000000e+00 +5.103000000000000100e-08 1.000000000000000000e+00 +5.106000000000000194e-08 1.000000000000000000e+00 +5.109000000000000287e-08 1.000000000000000000e+00 +5.111999999999999718e-08 1.000000000000000000e+00 +5.114999999999999811e-08 1.000000000000000000e+00 +5.117999999999999904e-08 1.000000000000000000e+00 +5.120999999999999997e-08 1.000000000000000000e+00 +5.124000000000000090e-08 1.000000000000000000e+00 +5.127000000000000183e-08 1.000000000000000000e+00 +5.130000000000000276e-08 1.000000000000000000e+00 +5.132999999999999707e-08 1.000000000000000000e+00 +5.135999999999999800e-08 1.000000000000000000e+00 +5.138999999999999893e-08 1.000000000000000000e+00 +5.141999999999999986e-08 1.000000000000000000e+00 +5.145000000000000080e-08 1.000000000000000000e+00 +5.148000000000000173e-08 1.000000000000000000e+00 +5.151000000000000266e-08 1.000000000000000000e+00 +5.153999999999999697e-08 1.000000000000000000e+00 +5.156999999999999790e-08 1.000000000000000000e+00 +5.159999999999999883e-08 1.000000000000000000e+00 +5.162999999999999976e-08 1.000000000000000000e+00 +5.166000000000000069e-08 1.000000000000000000e+00 +5.169000000000000162e-08 1.000000000000000000e+00 +5.172000000000000255e-08 1.000000000000000000e+00 +5.174999999999999686e-08 1.000000000000000000e+00 +5.177999999999999779e-08 1.000000000000000000e+00 +5.180999999999999872e-08 1.000000000000000000e+00 +5.183999999999999966e-08 1.000000000000000000e+00 +5.187000000000000059e-08 1.000000000000000000e+00 +5.190000000000000152e-08 1.000000000000000000e+00 +5.193000000000000245e-08 1.000000000000000000e+00 +5.195999999999999676e-08 1.000000000000000000e+00 +5.198999999999999769e-08 1.000000000000000000e+00 +5.201999999999999862e-08 1.000000000000000000e+00 +5.204999999999999955e-08 1.000000000000000000e+00 +5.208000000000000048e-08 1.000000000000000000e+00 +5.211000000000000141e-08 1.000000000000000000e+00 +5.214000000000000234e-08 1.000000000000000000e+00 +5.216999999999999665e-08 1.000000000000000000e+00 +5.219999999999999758e-08 1.000000000000000000e+00 +5.222999999999999852e-08 1.000000000000000000e+00 +5.225999999999999945e-08 1.000000000000000000e+00 +5.229000000000000038e-08 1.000000000000000000e+00 +5.232000000000000131e-08 1.000000000000000000e+00 +5.235000000000000224e-08 1.000000000000000000e+00 +5.237999999999999655e-08 1.000000000000000000e+00 +5.240999999999999748e-08 1.000000000000000000e+00 +5.243999999999999841e-08 1.000000000000000000e+00 +5.246999999999999934e-08 1.000000000000000000e+00 +5.250000000000000027e-08 1.000000000000000000e+00 +5.253000000000000120e-08 1.000000000000000000e+00 +5.256000000000000213e-08 1.000000000000000000e+00 +5.258999999999999644e-08 1.000000000000000000e+00 +5.261999999999999738e-08 1.000000000000000000e+00 +5.264999999999999831e-08 1.000000000000000000e+00 +5.267999999999999924e-08 1.000000000000000000e+00 +5.271000000000000017e-08 1.000000000000000000e+00 +5.274000000000000110e-08 1.000000000000000000e+00 +5.277000000000000203e-08 1.000000000000000000e+00 +5.279999999999999634e-08 1.000000000000000000e+00 +5.282999999999999727e-08 1.000000000000000000e+00 +5.285999999999999820e-08 1.000000000000000000e+00 +5.288999999999999913e-08 1.000000000000000000e+00 +5.292000000000000006e-08 1.000000000000000000e+00 +5.295000000000000099e-08 1.000000000000000000e+00 +5.298000000000000192e-08 1.000000000000000000e+00 +5.301000000000000285e-08 1.000000000000000000e+00 +5.303999999999999717e-08 1.000000000000000000e+00 +5.306999999999999810e-08 1.000000000000000000e+00 +5.309999999999999903e-08 1.000000000000000000e+00 +5.312999999999999996e-08 1.000000000000000000e+00 +5.316000000000000089e-08 1.000000000000000000e+00 +5.319000000000000182e-08 1.000000000000000000e+00 +5.322000000000000275e-08 1.000000000000000000e+00 +5.324999999999999706e-08 1.000000000000000000e+00 +5.327999999999999799e-08 1.000000000000000000e+00 +5.330999999999999892e-08 1.000000000000000000e+00 +5.333999999999999985e-08 1.000000000000000000e+00 +5.337000000000000078e-08 1.000000000000000000e+00 +5.340000000000000171e-08 1.000000000000000000e+00 +5.343000000000000264e-08 1.000000000000000000e+00 +5.345999999999999696e-08 1.000000000000000000e+00 +5.348999999999999789e-08 1.000000000000000000e+00 +5.351999999999999882e-08 1.000000000000000000e+00 +5.354999999999999975e-08 1.000000000000000000e+00 +5.358000000000000068e-08 1.000000000000000000e+00 +5.361000000000000161e-08 1.000000000000000000e+00 +5.364000000000000254e-08 1.000000000000000000e+00 +5.366999999999999685e-08 1.000000000000000000e+00 +5.369999999999999778e-08 1.000000000000000000e+00 +5.372999999999999871e-08 1.000000000000000000e+00 +5.375999999999999964e-08 1.000000000000000000e+00 +5.379000000000000057e-08 1.000000000000000000e+00 +5.382000000000000150e-08 1.000000000000000000e+00 +5.385000000000000243e-08 1.000000000000000000e+00 +5.387999999999999675e-08 1.000000000000000000e+00 +5.390999999999999768e-08 1.000000000000000000e+00 +5.393999999999999861e-08 1.000000000000000000e+00 +5.396999999999999954e-08 1.000000000000000000e+00 +5.400000000000000047e-08 1.000000000000000000e+00 +5.403000000000000140e-08 1.000000000000000000e+00 +5.406000000000000233e-08 1.000000000000000000e+00 +5.408999999999999664e-08 1.000000000000000000e+00 +5.411999999999999757e-08 1.000000000000000000e+00 +5.414999999999999850e-08 1.000000000000000000e+00 +5.417999999999999943e-08 1.000000000000000000e+00 +5.421000000000000036e-08 1.000000000000000000e+00 +5.424000000000000129e-08 1.000000000000000000e+00 +5.427000000000000222e-08 1.000000000000000000e+00 +5.429999999999999654e-08 1.000000000000000000e+00 +5.432999999999999747e-08 1.000000000000000000e+00 +5.435999999999999840e-08 1.000000000000000000e+00 +5.438999999999999933e-08 1.000000000000000000e+00 +5.442000000000000026e-08 1.000000000000000000e+00 +5.445000000000000119e-08 1.000000000000000000e+00 +5.448000000000000212e-08 1.000000000000000000e+00 +5.450999999999999643e-08 1.000000000000000000e+00 +5.453999999999999736e-08 1.000000000000000000e+00 +5.456999999999999829e-08 1.000000000000000000e+00 +5.459999999999999922e-08 1.000000000000000000e+00 +5.463000000000000015e-08 1.000000000000000000e+00 +5.466000000000000108e-08 1.000000000000000000e+00 +5.469000000000000201e-08 1.000000000000000000e+00 +5.472000000000000294e-08 1.000000000000000000e+00 +5.474999999999999726e-08 1.000000000000000000e+00 +5.477999999999999819e-08 1.000000000000000000e+00 +5.480999999999999912e-08 1.000000000000000000e+00 +5.484000000000000005e-08 1.000000000000000000e+00 +5.487000000000000098e-08 1.000000000000000000e+00 +5.490000000000000191e-08 1.000000000000000000e+00 +5.493000000000000284e-08 1.000000000000000000e+00 +5.495999999999999715e-08 1.000000000000000000e+00 +5.498999999999999808e-08 1.000000000000000000e+00 +5.501999999999999901e-08 1.000000000000000000e+00 +5.504999999999999994e-08 1.000000000000000000e+00 +5.508000000000000087e-08 1.000000000000000000e+00 +5.511000000000000180e-08 1.000000000000000000e+00 +5.514000000000000274e-08 1.000000000000000000e+00 +5.516999999999999705e-08 1.000000000000000000e+00 +5.519999999999999798e-08 1.000000000000000000e+00 +5.522999999999999891e-08 1.000000000000000000e+00 +5.525999999999999984e-08 1.000000000000000000e+00 +5.529000000000000077e-08 1.000000000000000000e+00 +5.532000000000000170e-08 1.000000000000000000e+00 +5.535000000000000263e-08 1.000000000000000000e+00 +5.537999999999999694e-08 1.000000000000000000e+00 +5.540999999999999787e-08 1.000000000000000000e+00 +5.543999999999999880e-08 1.000000000000000000e+00 +5.546999999999999973e-08 1.000000000000000000e+00 +5.550000000000000066e-08 1.000000000000000000e+00 +5.553000000000000160e-08 1.000000000000000000e+00 +5.556000000000000253e-08 1.000000000000000000e+00 +5.558999999999999684e-08 1.000000000000000000e+00 +5.561999999999999777e-08 1.000000000000000000e+00 +5.564999999999999870e-08 1.000000000000000000e+00 +5.567999999999999963e-08 1.000000000000000000e+00 +5.571000000000000056e-08 1.000000000000000000e+00 +5.574000000000000149e-08 1.000000000000000000e+00 +5.577000000000000242e-08 1.000000000000000000e+00 +5.579999999999999673e-08 1.000000000000000000e+00 +5.582999999999999766e-08 1.000000000000000000e+00 +5.585999999999999859e-08 1.000000000000000000e+00 +5.588999999999999952e-08 1.000000000000000000e+00 +5.592000000000000046e-08 1.000000000000000000e+00 +5.595000000000000139e-08 1.000000000000000000e+00 +5.598000000000000232e-08 1.000000000000000000e+00 +5.600999999999999663e-08 1.000000000000000000e+00 +5.603999999999999756e-08 1.000000000000000000e+00 +5.606999999999999849e-08 1.000000000000000000e+00 +5.609999999999999942e-08 1.000000000000000000e+00 +5.613000000000000035e-08 1.000000000000000000e+00 +5.616000000000000128e-08 1.000000000000000000e+00 +5.619000000000000221e-08 1.000000000000000000e+00 +5.621999999999999652e-08 1.000000000000000000e+00 +5.624999999999999745e-08 1.000000000000000000e+00 +5.627999999999999838e-08 1.000000000000000000e+00 +5.630999999999999932e-08 1.000000000000000000e+00 +5.634000000000000025e-08 1.000000000000000000e+00 +5.637000000000000118e-08 1.000000000000000000e+00 +5.640000000000000211e-08 1.000000000000000000e+00 +5.642999999999999642e-08 1.000000000000000000e+00 +5.645999999999999735e-08 1.000000000000000000e+00 +5.648999999999999828e-08 1.000000000000000000e+00 +5.651999999999999921e-08 1.000000000000000000e+00 +5.655000000000000014e-08 1.000000000000000000e+00 +5.658000000000000107e-08 1.000000000000000000e+00 +5.661000000000000200e-08 1.000000000000000000e+00 +5.663999999999999631e-08 1.000000000000000000e+00 +5.666999999999999724e-08 1.000000000000000000e+00 +5.669999999999999818e-08 1.000000000000000000e+00 +5.672999999999999911e-08 1.000000000000000000e+00 +5.676000000000000004e-08 1.000000000000000000e+00 +5.679000000000000097e-08 1.000000000000000000e+00 +5.682000000000000190e-08 1.000000000000000000e+00 +5.685000000000000283e-08 1.000000000000000000e+00 +5.687999999999999714e-08 1.000000000000000000e+00 +5.690999999999999807e-08 1.000000000000000000e+00 +5.693999999999999900e-08 1.000000000000000000e+00 +5.696999999999999993e-08 1.000000000000000000e+00 +5.700000000000000086e-08 1.000000000000000000e+00 +5.703000000000000179e-08 1.000000000000000000e+00 +5.706000000000000272e-08 1.000000000000000000e+00 +5.708999999999999704e-08 1.000000000000000000e+00 +5.711999999999999797e-08 1.000000000000000000e+00 +5.714999999999999890e-08 1.000000000000000000e+00 +5.717999999999999983e-08 1.000000000000000000e+00 +5.721000000000000076e-08 1.000000000000000000e+00 +5.724000000000000169e-08 1.000000000000000000e+00 +5.727000000000000262e-08 1.000000000000000000e+00 +5.729999999999999693e-08 1.000000000000000000e+00 +5.732999999999999786e-08 1.000000000000000000e+00 +5.735999999999999879e-08 1.000000000000000000e+00 +5.738999999999999972e-08 1.000000000000000000e+00 +5.742000000000000065e-08 1.000000000000000000e+00 +5.745000000000000158e-08 1.000000000000000000e+00 +5.748000000000000251e-08 1.000000000000000000e+00 +5.750999999999999683e-08 1.000000000000000000e+00 +5.753999999999999776e-08 1.000000000000000000e+00 +5.756999999999999869e-08 1.000000000000000000e+00 +5.759999999999999962e-08 1.000000000000000000e+00 +5.763000000000000055e-08 1.000000000000000000e+00 +5.766000000000000148e-08 1.000000000000000000e+00 +5.769000000000000241e-08 1.000000000000000000e+00 +5.771999999999999672e-08 1.000000000000000000e+00 +5.774999999999999765e-08 1.000000000000000000e+00 +5.777999999999999858e-08 1.000000000000000000e+00 +5.780999999999999951e-08 1.000000000000000000e+00 +5.784000000000000044e-08 1.000000000000000000e+00 +5.787000000000000137e-08 1.000000000000000000e+00 +5.790000000000000230e-08 1.000000000000000000e+00 +5.792999999999999662e-08 1.000000000000000000e+00 +5.795999999999999755e-08 1.000000000000000000e+00 +5.798999999999999848e-08 1.000000000000000000e+00 +5.801999999999999941e-08 1.000000000000000000e+00 +5.805000000000000034e-08 1.000000000000000000e+00 +5.808000000000000127e-08 1.000000000000000000e+00 +5.811000000000000220e-08 1.000000000000000000e+00 +5.813999999999999651e-08 1.000000000000000000e+00 +5.816999999999999744e-08 1.000000000000000000e+00 +5.819999999999999837e-08 1.000000000000000000e+00 +5.822999999999999930e-08 1.000000000000000000e+00 +5.826000000000000023e-08 1.000000000000000000e+00 +5.829000000000000116e-08 1.000000000000000000e+00 +5.832000000000000209e-08 1.000000000000000000e+00 +5.834999999999999641e-08 1.000000000000000000e+00 +5.837999999999999734e-08 1.000000000000000000e+00 +5.840999999999999827e-08 1.000000000000000000e+00 +5.843999999999999920e-08 1.000000000000000000e+00 +5.847000000000000013e-08 1.000000000000000000e+00 +5.850000000000000106e-08 1.000000000000000000e+00 +5.853000000000000199e-08 1.000000000000000000e+00 +5.856000000000000292e-08 1.000000000000000000e+00 +5.858999999999999723e-08 1.000000000000000000e+00 +5.861999999999999816e-08 1.000000000000000000e+00 +5.864999999999999909e-08 1.000000000000000000e+00 +5.868000000000000002e-08 1.000000000000000000e+00 +5.871000000000000095e-08 1.000000000000000000e+00 +5.874000000000000188e-08 1.000000000000000000e+00 +5.877000000000000281e-08 1.000000000000000000e+00 +5.879999999999999713e-08 1.000000000000000000e+00 +5.882999999999999806e-08 1.000000000000000000e+00 +5.885999999999999899e-08 1.000000000000000000e+00 +5.888999999999999992e-08 1.000000000000000000e+00 +5.892000000000000085e-08 1.000000000000000000e+00 +5.895000000000000178e-08 1.000000000000000000e+00 +5.898000000000000271e-08 1.000000000000000000e+00 +5.900999999999999702e-08 1.000000000000000000e+00 +5.903999999999999795e-08 1.000000000000000000e+00 +5.906999999999999888e-08 1.000000000000000000e+00 +5.909999999999999981e-08 1.000000000000000000e+00 +5.913000000000000074e-08 1.000000000000000000e+00 +5.916000000000000167e-08 1.000000000000000000e+00 +5.919000000000000260e-08 1.000000000000000000e+00 +5.921999999999999692e-08 1.000000000000000000e+00 +5.924999999999999785e-08 1.000000000000000000e+00 +5.927999999999999878e-08 1.000000000000000000e+00 +5.930999999999999971e-08 1.000000000000000000e+00 +5.934000000000000064e-08 1.000000000000000000e+00 +5.937000000000000157e-08 1.000000000000000000e+00 +5.940000000000000250e-08 1.000000000000000000e+00 +5.942999999999999681e-08 1.000000000000000000e+00 +5.945999999999999774e-08 1.000000000000000000e+00 +5.948999999999999867e-08 1.000000000000000000e+00 +5.951999999999999960e-08 1.000000000000000000e+00 +5.955000000000000053e-08 1.000000000000000000e+00 +5.958000000000000146e-08 1.000000000000000000e+00 +5.961000000000000240e-08 1.000000000000000000e+00 +5.963999999999999671e-08 1.000000000000000000e+00 +5.967000000000000426e-08 1.000000000000000000e+00 +5.969999999999999857e-08 1.000000000000000000e+00 +5.973000000000000612e-08 1.000000000000000000e+00 +5.976000000000000043e-08 1.000000000000000000e+00 +5.978999999999999474e-08 1.000000000000000000e+00 +5.982000000000000229e-08 1.000000000000000000e+00 +5.984999999999999660e-08 1.000000000000000000e+00 +5.988000000000000415e-08 1.000000000000000000e+00 +5.990999999999999846e-08 1.000000000000000000e+00 +5.994000000000000601e-08 1.000000000000000000e+00 +5.997000000000000032e-08 1.000000000000000000e+00 +5.999999999999999464e-08 1.000000000000000000e+00 +6.003000000000000219e-08 1.000000000000000000e+00 +6.005999999999999650e-08 1.000000000000000000e+00 +6.009000000000000405e-08 1.000000000000000000e+00 +6.011999999999999836e-08 1.000000000000000000e+00 +6.015000000000000591e-08 1.000000000000000000e+00 +6.018000000000000022e-08 1.000000000000000000e+00 +6.020999999999999453e-08 1.000000000000000000e+00 +6.024000000000000208e-08 1.000000000000000000e+00 +6.026999999999999639e-08 1.000000000000000000e+00 +6.030000000000000394e-08 1.000000000000000000e+00 +6.032999999999999825e-08 1.000000000000000000e+00 +6.036000000000000580e-08 1.000000000000000000e+00 +6.039000000000000012e-08 1.000000000000000000e+00 +6.041999999999999443e-08 1.000000000000000000e+00 +6.045000000000000198e-08 1.000000000000000000e+00 +6.047999999999999629e-08 1.000000000000000000e+00 +6.051000000000000384e-08 1.000000000000000000e+00 +6.053999999999999815e-08 1.000000000000000000e+00 +6.057000000000000570e-08 1.000000000000000000e+00 +6.060000000000000001e-08 1.000000000000000000e+00 +6.062999999999999432e-08 1.000000000000000000e+00 +6.066000000000000187e-08 1.000000000000000000e+00 +6.068999999999999618e-08 1.000000000000000000e+00 +6.072000000000000373e-08 1.000000000000000000e+00 +6.074999999999999805e-08 1.000000000000000000e+00 +6.078000000000000559e-08 1.000000000000000000e+00 +6.080999999999999991e-08 1.000000000000000000e+00 +6.083999999999999422e-08 1.000000000000000000e+00 +6.087000000000000177e-08 1.000000000000000000e+00 +6.089999999999999608e-08 1.000000000000000000e+00 +6.093000000000000363e-08 1.000000000000000000e+00 +6.095999999999999794e-08 1.000000000000000000e+00 +6.099000000000000549e-08 1.000000000000000000e+00 +6.101999999999999980e-08 1.000000000000000000e+00 +6.104999999999999411e-08 1.000000000000000000e+00 +6.108000000000000166e-08 1.000000000000000000e+00 +6.110999999999999597e-08 1.000000000000000000e+00 +6.114000000000000352e-08 1.000000000000000000e+00 +6.116999999999999784e-08 1.000000000000000000e+00 +6.120000000000000538e-08 1.000000000000000000e+00 +6.122999999999999970e-08 1.000000000000000000e+00 +6.125999999999999401e-08 1.000000000000000000e+00 +6.129000000000000156e-08 1.000000000000000000e+00 +6.131999999999999587e-08 1.000000000000000000e+00 +6.135000000000000342e-08 1.000000000000000000e+00 +6.137999999999999773e-08 1.000000000000000000e+00 +6.141000000000000528e-08 1.000000000000000000e+00 +6.143999999999999959e-08 1.000000000000000000e+00 +6.146999999999999390e-08 1.000000000000000000e+00 +6.150000000000000145e-08 1.000000000000000000e+00 +6.152999999999999577e-08 1.000000000000000000e+00 +6.156000000000000331e-08 1.000000000000000000e+00 +6.158999999999999763e-08 1.000000000000000000e+00 +6.162000000000000517e-08 1.000000000000000000e+00 +6.164999999999999949e-08 1.000000000000000000e+00 +6.167999999999999380e-08 1.000000000000000000e+00 +6.171000000000000135e-08 1.000000000000000000e+00 +6.173999999999999566e-08 1.000000000000000000e+00 +6.177000000000000321e-08 1.000000000000000000e+00 +6.179999999999999752e-08 1.000000000000000000e+00 +6.183000000000000507e-08 1.000000000000000000e+00 +6.185999999999999938e-08 1.000000000000000000e+00 +6.188999999999999369e-08 1.000000000000000000e+00 +6.192000000000000124e-08 1.000000000000000000e+00 +6.194999999999999556e-08 1.000000000000000000e+00 +6.198000000000000310e-08 1.000000000000000000e+00 +6.200999999999999742e-08 1.000000000000000000e+00 +6.204000000000000496e-08 1.000000000000000000e+00 +6.206999999999999928e-08 1.000000000000000000e+00 +6.209999999999999359e-08 1.000000000000000000e+00 +6.213000000000000114e-08 1.000000000000000000e+00 +6.215999999999999545e-08 1.000000000000000000e+00 +6.219000000000000300e-08 1.000000000000000000e+00 +6.221999999999999731e-08 1.000000000000000000e+00 +6.225000000000000486e-08 1.000000000000000000e+00 +6.227999999999999917e-08 1.000000000000000000e+00 +6.230999999999999349e-08 1.000000000000000000e+00 +6.234000000000000103e-08 1.000000000000000000e+00 +6.236999999999999535e-08 1.000000000000000000e+00 +6.240000000000000289e-08 1.000000000000000000e+00 +6.242999999999999721e-08 1.000000000000000000e+00 +6.246000000000000475e-08 1.000000000000000000e+00 +6.248999999999999907e-08 1.000000000000000000e+00 +6.251999999999999338e-08 1.000000000000000000e+00 +6.255000000000000093e-08 1.000000000000000000e+00 +6.257999999999999524e-08 1.000000000000000000e+00 +6.261000000000000279e-08 1.000000000000000000e+00 +6.263999999999999710e-08 1.000000000000000000e+00 +6.267000000000000465e-08 1.000000000000000000e+00 +6.269999999999999896e-08 1.000000000000000000e+00 +6.272999999999999328e-08 1.000000000000000000e+00 +6.276000000000000082e-08 1.000000000000000000e+00 +6.278999999999999514e-08 1.000000000000000000e+00 +6.282000000000000268e-08 1.000000000000000000e+00 +6.284999999999999700e-08 1.000000000000000000e+00 +6.288000000000000454e-08 1.000000000000000000e+00 +6.290999999999999886e-08 1.000000000000000000e+00 +6.293999999999999317e-08 1.000000000000000000e+00 +6.297000000000000072e-08 1.000000000000000000e+00 +6.299999999999999503e-08 1.000000000000000000e+00 +6.303000000000000258e-08 1.000000000000000000e+00 +6.305999999999999689e-08 1.000000000000000000e+00 +6.309000000000000444e-08 1.000000000000000000e+00 +6.311999999999999875e-08 1.000000000000000000e+00 +6.314999999999999307e-08 1.000000000000000000e+00 +6.318000000000000061e-08 1.000000000000000000e+00 +6.320999999999999493e-08 1.000000000000000000e+00 +6.324000000000000247e-08 1.000000000000000000e+00 +6.326999999999999679e-08 1.000000000000000000e+00 +6.330000000000000434e-08 1.000000000000000000e+00 +6.332999999999999865e-08 1.000000000000000000e+00 +6.336000000000000620e-08 1.000000000000000000e+00 +6.339000000000000051e-08 1.000000000000000000e+00 +6.341999999999999482e-08 1.000000000000000000e+00 +6.345000000000000237e-08 1.000000000000000000e+00 +6.347999999999999668e-08 1.000000000000000000e+00 +6.351000000000000423e-08 1.000000000000000000e+00 +6.353999999999999854e-08 1.000000000000000000e+00 +6.357000000000000609e-08 1.000000000000000000e+00 +6.360000000000000040e-08 1.000000000000000000e+00 +6.362999999999999472e-08 1.000000000000000000e+00 +6.366000000000000226e-08 1.000000000000000000e+00 +6.368999999999999658e-08 1.000000000000000000e+00 +6.372000000000000413e-08 1.000000000000000000e+00 +6.374999999999999844e-08 1.000000000000000000e+00 +6.378000000000000599e-08 1.000000000000000000e+00 +6.381000000000000030e-08 1.000000000000000000e+00 +6.383999999999999461e-08 1.000000000000000000e+00 +6.387000000000000216e-08 1.000000000000000000e+00 +6.389999999999999647e-08 1.000000000000000000e+00 +6.393000000000000402e-08 1.000000000000000000e+00 +6.395999999999999833e-08 1.000000000000000000e+00 +6.399000000000000588e-08 1.000000000000000000e+00 +6.402000000000000019e-08 1.000000000000000000e+00 +6.404999999999999451e-08 1.000000000000000000e+00 +6.408000000000000206e-08 1.000000000000000000e+00 +6.410999999999999637e-08 1.000000000000000000e+00 +6.414000000000000392e-08 1.000000000000000000e+00 +6.416999999999999823e-08 1.000000000000000000e+00 +6.420000000000000578e-08 1.000000000000000000e+00 +6.423000000000000009e-08 1.000000000000000000e+00 +6.425999999999999440e-08 1.000000000000000000e+00 +6.429000000000000195e-08 1.000000000000000000e+00 +6.431999999999999626e-08 1.000000000000000000e+00 +6.435000000000000381e-08 1.000000000000000000e+00 +6.437999999999999812e-08 1.000000000000000000e+00 +6.441000000000000567e-08 1.000000000000000000e+00 +6.443999999999999999e-08 1.000000000000000000e+00 +6.446999999999999430e-08 1.000000000000000000e+00 +6.450000000000000185e-08 1.000000000000000000e+00 +6.452999999999999616e-08 1.000000000000000000e+00 +6.456000000000000371e-08 1.000000000000000000e+00 +6.458999999999999802e-08 1.000000000000000000e+00 +6.462000000000000557e-08 1.000000000000000000e+00 +6.464999999999999988e-08 1.000000000000000000e+00 +6.467999999999999419e-08 1.000000000000000000e+00 +6.471000000000000174e-08 1.000000000000000000e+00 +6.473999999999999605e-08 1.000000000000000000e+00 +6.477000000000000360e-08 1.000000000000000000e+00 +6.479999999999999791e-08 1.000000000000000000e+00 +6.483000000000000546e-08 1.000000000000000000e+00 +6.485999999999999978e-08 1.000000000000000000e+00 +6.488999999999999409e-08 1.000000000000000000e+00 +6.492000000000000164e-08 1.000000000000000000e+00 +6.494999999999999595e-08 1.000000000000000000e+00 +6.498000000000000350e-08 1.000000000000000000e+00 +6.500999999999999781e-08 1.000000000000000000e+00 +6.504000000000000536e-08 1.000000000000000000e+00 +6.506999999999999967e-08 1.000000000000000000e+00 +6.509999999999999398e-08 1.000000000000000000e+00 +6.513000000000000153e-08 1.000000000000000000e+00 +6.515999999999999584e-08 1.000000000000000000e+00 +6.519000000000000339e-08 1.000000000000000000e+00 +6.521999999999999771e-08 1.000000000000000000e+00 +6.525000000000000525e-08 1.000000000000000000e+00 +6.527999999999999957e-08 1.000000000000000000e+00 +6.530999999999999388e-08 1.000000000000000000e+00 +6.534000000000000143e-08 1.000000000000000000e+00 +6.536999999999999574e-08 1.000000000000000000e+00 +6.540000000000000329e-08 1.000000000000000000e+00 +6.542999999999999760e-08 1.000000000000000000e+00 +6.546000000000000515e-08 1.000000000000000000e+00 +6.548999999999999946e-08 1.000000000000000000e+00 +6.551999999999999377e-08 1.000000000000000000e+00 +6.555000000000000132e-08 1.000000000000000000e+00 +6.557999999999999563e-08 1.000000000000000000e+00 +6.561000000000000318e-08 1.000000000000000000e+00 +6.563999999999999750e-08 1.000000000000000000e+00 +6.567000000000000504e-08 1.000000000000000000e+00 +6.569999999999999936e-08 1.000000000000000000e+00 +6.572999999999999367e-08 1.000000000000000000e+00 +6.576000000000000122e-08 1.000000000000000000e+00 +6.578999999999999553e-08 1.000000000000000000e+00 +6.582000000000000308e-08 1.000000000000000000e+00 +6.584999999999999739e-08 1.000000000000000000e+00 +6.588000000000000494e-08 1.000000000000000000e+00 +6.590999999999999925e-08 1.000000000000000000e+00 +6.593999999999999356e-08 1.000000000000000000e+00 +6.597000000000000111e-08 1.000000000000000000e+00 +6.599999999999999543e-08 1.000000000000000000e+00 +6.603000000000000297e-08 1.000000000000000000e+00 +6.605999999999999729e-08 1.000000000000000000e+00 +6.609000000000000483e-08 1.000000000000000000e+00 +6.611999999999999915e-08 1.000000000000000000e+00 +6.614999999999999346e-08 1.000000000000000000e+00 +6.618000000000000101e-08 1.000000000000000000e+00 +6.620999999999999532e-08 1.000000000000000000e+00 +6.624000000000000287e-08 1.000000000000000000e+00 +6.626999999999999718e-08 1.000000000000000000e+00 +6.630000000000000473e-08 1.000000000000000000e+00 +6.632999999999999904e-08 1.000000000000000000e+00 +6.635999999999999335e-08 1.000000000000000000e+00 +6.639000000000000090e-08 1.000000000000000000e+00 +6.641999999999999522e-08 1.000000000000000000e+00 +6.645000000000000276e-08 1.000000000000000000e+00 +6.647999999999999708e-08 1.000000000000000000e+00 +6.651000000000000462e-08 1.000000000000000000e+00 +6.653999999999999894e-08 1.000000000000000000e+00 +6.656999999999999325e-08 1.000000000000000000e+00 +6.660000000000000080e-08 1.000000000000000000e+00 +6.662999999999999511e-08 1.000000000000000000e+00 +6.666000000000000266e-08 1.000000000000000000e+00 +6.668999999999999697e-08 1.000000000000000000e+00 +6.672000000000000452e-08 1.000000000000000000e+00 +6.674999999999999883e-08 1.000000000000000000e+00 +6.677999999999999315e-08 1.000000000000000000e+00 +6.681000000000000069e-08 1.000000000000000000e+00 +6.683999999999999501e-08 1.000000000000000000e+00 +6.687000000000000255e-08 1.000000000000000000e+00 +6.689999999999999687e-08 1.000000000000000000e+00 +6.693000000000000441e-08 1.000000000000000000e+00 +6.695999999999999873e-08 1.000000000000000000e+00 +6.698999999999999304e-08 1.000000000000000000e+00 +6.702000000000000059e-08 1.000000000000000000e+00 +6.704999999999999490e-08 1.000000000000000000e+00 +6.708000000000000245e-08 1.000000000000000000e+00 +6.710999999999999676e-08 1.000000000000000000e+00 +6.714000000000000431e-08 1.000000000000000000e+00 +6.716999999999999862e-08 1.000000000000000000e+00 +6.719999999999999294e-08 1.000000000000000000e+00 +6.723000000000000048e-08 1.000000000000000000e+00 +6.725999999999999480e-08 1.000000000000000000e+00 +6.729000000000000234e-08 1.000000000000000000e+00 +6.731999999999999666e-08 1.000000000000000000e+00 +6.735000000000000421e-08 1.000000000000000000e+00 +6.737999999999999852e-08 1.000000000000000000e+00 +6.741000000000000607e-08 1.000000000000000000e+00 +6.744000000000000038e-08 1.000000000000000000e+00 +6.746999999999999469e-08 1.000000000000000000e+00 +6.750000000000000224e-08 1.000000000000000000e+00 +6.752999999999999655e-08 1.000000000000000000e+00 +6.756000000000000410e-08 1.000000000000000000e+00 +6.758999999999999841e-08 1.000000000000000000e+00 +6.762000000000000596e-08 1.000000000000000000e+00 +6.765000000000000027e-08 1.000000000000000000e+00 +6.767999999999999459e-08 1.000000000000000000e+00 +6.771000000000000213e-08 1.000000000000000000e+00 +6.773999999999999645e-08 1.000000000000000000e+00 +6.777000000000000400e-08 1.000000000000000000e+00 +6.779999999999999831e-08 1.000000000000000000e+00 +6.783000000000000586e-08 1.000000000000000000e+00 +6.786000000000000017e-08 1.000000000000000000e+00 +6.788999999999999448e-08 1.000000000000000000e+00 +6.792000000000000203e-08 1.000000000000000000e+00 +6.794999999999999634e-08 1.000000000000000000e+00 +6.798000000000000389e-08 1.000000000000000000e+00 +6.800999999999999820e-08 1.000000000000000000e+00 +6.804000000000000575e-08 1.000000000000000000e+00 +6.807000000000000006e-08 1.000000000000000000e+00 +6.809999999999999438e-08 1.000000000000000000e+00 +6.813000000000000193e-08 1.000000000000000000e+00 +6.815999999999999624e-08 1.000000000000000000e+00 +6.819000000000000379e-08 1.000000000000000000e+00 +6.821999999999999810e-08 1.000000000000000000e+00 +6.825000000000000565e-08 1.000000000000000000e+00 +6.827999999999999996e-08 1.000000000000000000e+00 +6.830999999999999427e-08 1.000000000000000000e+00 +6.834000000000000182e-08 1.000000000000000000e+00 +6.836999999999999613e-08 1.000000000000000000e+00 +6.840000000000000368e-08 1.000000000000000000e+00 +6.842999999999999799e-08 1.000000000000000000e+00 +6.846000000000000554e-08 1.000000000000000000e+00 +6.848999999999999985e-08 1.000000000000000000e+00 +6.851999999999999417e-08 1.000000000000000000e+00 +6.855000000000000172e-08 1.000000000000000000e+00 +6.857999999999999603e-08 1.000000000000000000e+00 +6.861000000000000358e-08 1.000000000000000000e+00 +6.863999999999999789e-08 1.000000000000000000e+00 +6.867000000000000544e-08 1.000000000000000000e+00 +6.869999999999999975e-08 1.000000000000000000e+00 +6.872999999999999406e-08 1.000000000000000000e+00 +6.876000000000000161e-08 1.000000000000000000e+00 +6.878999999999999592e-08 1.000000000000000000e+00 +6.882000000000000347e-08 1.000000000000000000e+00 +6.884999999999999778e-08 1.000000000000000000e+00 +6.888000000000000533e-08 1.000000000000000000e+00 +6.890999999999999965e-08 1.000000000000000000e+00 +6.893999999999999396e-08 1.000000000000000000e+00 +6.897000000000000151e-08 1.000000000000000000e+00 +6.899999999999999582e-08 1.000000000000000000e+00 +6.903000000000000337e-08 1.000000000000000000e+00 +6.905999999999999768e-08 1.000000000000000000e+00 +6.909000000000000523e-08 1.000000000000000000e+00 +6.911999999999999954e-08 1.000000000000000000e+00 +6.914999999999999385e-08 1.000000000000000000e+00 +6.918000000000000140e-08 1.000000000000000000e+00 +6.920999999999999571e-08 1.000000000000000000e+00 +6.924000000000000326e-08 1.000000000000000000e+00 +6.926999999999999757e-08 1.000000000000000000e+00 +6.930000000000000512e-08 1.000000000000000000e+00 +6.932999999999999944e-08 1.000000000000000000e+00 +6.935999999999999375e-08 1.000000000000000000e+00 +6.939000000000000130e-08 1.000000000000000000e+00 +6.941999999999999561e-08 1.000000000000000000e+00 +6.945000000000000316e-08 1.000000000000000000e+00 +6.947999999999999747e-08 1.000000000000000000e+00 +6.951000000000000502e-08 1.000000000000000000e+00 +6.953999999999999933e-08 1.000000000000000000e+00 +6.956999999999999364e-08 1.000000000000000000e+00 +6.960000000000000119e-08 1.000000000000000000e+00 +6.962999999999999550e-08 1.000000000000000000e+00 +6.966000000000000305e-08 1.000000000000000000e+00 +6.968999999999999737e-08 1.000000000000000000e+00 +6.972000000000000491e-08 1.000000000000000000e+00 +6.974999999999999923e-08 1.000000000000000000e+00 +6.977999999999999354e-08 1.000000000000000000e+00 +6.981000000000000109e-08 1.000000000000000000e+00 +6.983999999999999540e-08 1.000000000000000000e+00 +6.987000000000000295e-08 1.000000000000000000e+00 +6.989999999999999726e-08 1.000000000000000000e+00 +6.993000000000000481e-08 1.000000000000000000e+00 +6.995999999999999912e-08 1.000000000000000000e+00 +6.998999999999999343e-08 1.000000000000000000e+00 +7.002000000000000098e-08 1.000000000000000000e+00 +7.004999999999999529e-08 1.000000000000000000e+00 +7.008000000000000284e-08 1.000000000000000000e+00 +7.010999999999999716e-08 1.000000000000000000e+00 +7.014000000000000470e-08 1.000000000000000000e+00 +7.016999999999999902e-08 1.000000000000000000e+00 +7.019999999999999333e-08 1.000000000000000000e+00 +7.023000000000000088e-08 1.000000000000000000e+00 +7.025999999999999519e-08 1.000000000000000000e+00 +7.029000000000000274e-08 1.000000000000000000e+00 +7.031999999999999705e-08 1.000000000000000000e+00 +7.035000000000000460e-08 1.000000000000000000e+00 +7.037999999999999891e-08 1.000000000000000000e+00 +7.040999999999999322e-08 1.000000000000000000e+00 +7.044000000000000077e-08 1.000000000000000000e+00 +7.046999999999999509e-08 1.000000000000000000e+00 +7.050000000000000263e-08 1.000000000000000000e+00 +7.052999999999999695e-08 1.000000000000000000e+00 +7.056000000000000449e-08 1.000000000000000000e+00 +7.058999999999999881e-08 1.000000000000000000e+00 +7.061999999999999312e-08 1.000000000000000000e+00 +7.065000000000000067e-08 1.000000000000000000e+00 +7.067999999999999498e-08 1.000000000000000000e+00 +7.071000000000000253e-08 1.000000000000000000e+00 +7.073999999999999684e-08 1.000000000000000000e+00 +7.077000000000000439e-08 1.000000000000000000e+00 +7.079999999999999870e-08 1.000000000000000000e+00 +7.082999999999999301e-08 1.000000000000000000e+00 +7.086000000000000056e-08 1.000000000000000000e+00 +7.088999999999999488e-08 1.000000000000000000e+00 +7.092000000000000242e-08 1.000000000000000000e+00 +7.094999999999999674e-08 1.000000000000000000e+00 +7.098000000000000428e-08 1.000000000000000000e+00 +7.100999999999999860e-08 1.000000000000000000e+00 +7.104000000000000615e-08 1.000000000000000000e+00 +7.107000000000000046e-08 1.000000000000000000e+00 +7.109999999999999477e-08 1.000000000000000000e+00 +7.113000000000000232e-08 1.000000000000000000e+00 +7.115999999999999663e-08 1.000000000000000000e+00 +7.119000000000000418e-08 1.000000000000000000e+00 +7.121999999999999849e-08 1.000000000000000000e+00 +7.125000000000000604e-08 1.000000000000000000e+00 +7.128000000000000035e-08 1.000000000000000000e+00 +7.130999999999999467e-08 1.000000000000000000e+00 +7.134000000000000221e-08 1.000000000000000000e+00 +7.136999999999999653e-08 1.000000000000000000e+00 +7.140000000000000407e-08 1.000000000000000000e+00 +7.142999999999999839e-08 1.000000000000000000e+00 +7.146000000000000594e-08 1.000000000000000000e+00 +7.149000000000000025e-08 1.000000000000000000e+00 +7.151999999999999456e-08 1.000000000000000000e+00 +7.155000000000000211e-08 1.000000000000000000e+00 +7.157999999999999642e-08 1.000000000000000000e+00 +7.161000000000000397e-08 1.000000000000000000e+00 +7.163999999999999828e-08 1.000000000000000000e+00 +7.167000000000000583e-08 1.000000000000000000e+00 +7.170000000000000014e-08 1.000000000000000000e+00 +7.172999999999999446e-08 1.000000000000000000e+00 +7.176000000000000200e-08 1.000000000000000000e+00 +7.178999999999999632e-08 1.000000000000000000e+00 +7.182000000000000387e-08 1.000000000000000000e+00 +7.184999999999999818e-08 1.000000000000000000e+00 +7.188000000000000573e-08 1.000000000000000000e+00 +7.191000000000000004e-08 1.000000000000000000e+00 +7.193999999999999435e-08 1.000000000000000000e+00 +7.197000000000000190e-08 1.000000000000000000e+00 +7.199999999999999621e-08 1.000000000000000000e+00 +7.203000000000000376e-08 1.000000000000000000e+00 +7.205999999999999807e-08 1.000000000000000000e+00 +7.209000000000000562e-08 1.000000000000000000e+00 +7.211999999999999993e-08 1.000000000000000000e+00 +7.214999999999999425e-08 1.000000000000000000e+00 +7.218000000000000179e-08 1.000000000000000000e+00 +7.220999999999999611e-08 1.000000000000000000e+00 +7.224000000000000366e-08 1.000000000000000000e+00 +7.226999999999999797e-08 1.000000000000000000e+00 +7.230000000000000552e-08 1.000000000000000000e+00 +7.232999999999999983e-08 1.000000000000000000e+00 +7.235999999999999414e-08 1.000000000000000000e+00 +7.239000000000000169e-08 1.000000000000000000e+00 +7.241999999999999600e-08 1.000000000000000000e+00 +7.245000000000000355e-08 1.000000000000000000e+00 +7.247999999999999786e-08 1.000000000000000000e+00 +7.251000000000000541e-08 1.000000000000000000e+00 +7.253999999999999972e-08 1.000000000000000000e+00 +7.256999999999999404e-08 1.000000000000000000e+00 +7.260000000000000159e-08 1.000000000000000000e+00 +7.262999999999999590e-08 1.000000000000000000e+00 +7.266000000000000345e-08 1.000000000000000000e+00 +7.268999999999999776e-08 1.000000000000000000e+00 +7.272000000000000531e-08 1.000000000000000000e+00 +7.274999999999999962e-08 1.000000000000000000e+00 +7.277999999999999393e-08 1.000000000000000000e+00 +7.281000000000000148e-08 1.000000000000000000e+00 +7.283999999999999579e-08 1.000000000000000000e+00 +7.287000000000000334e-08 1.000000000000000000e+00 +7.289999999999999765e-08 1.000000000000000000e+00 +7.293000000000000520e-08 1.000000000000000000e+00 +7.295999999999999951e-08 1.000000000000000000e+00 +7.298999999999999383e-08 1.000000000000000000e+00 +7.302000000000000138e-08 1.000000000000000000e+00 +7.304999999999999569e-08 1.000000000000000000e+00 +7.308000000000000324e-08 1.000000000000000000e+00 +7.310999999999999755e-08 1.000000000000000000e+00 +7.314000000000000510e-08 1.000000000000000000e+00 +7.316999999999999941e-08 1.000000000000000000e+00 +7.319999999999999372e-08 1.000000000000000000e+00 +7.323000000000000127e-08 1.000000000000000000e+00 +7.325999999999999558e-08 1.000000000000000000e+00 +7.329000000000000313e-08 1.000000000000000000e+00 +7.331999999999999744e-08 1.000000000000000000e+00 +7.335000000000000499e-08 1.000000000000000000e+00 +7.337999999999999931e-08 1.000000000000000000e+00 +7.340999999999999362e-08 1.000000000000000000e+00 +7.344000000000000117e-08 1.000000000000000000e+00 +7.346999999999999548e-08 1.000000000000000000e+00 +7.350000000000000303e-08 1.000000000000000000e+00 +7.352999999999999734e-08 1.000000000000000000e+00 +7.356000000000000489e-08 1.000000000000000000e+00 +7.358999999999999920e-08 1.000000000000000000e+00 +7.361999999999999351e-08 1.000000000000000000e+00 +7.365000000000000106e-08 1.000000000000000000e+00 +7.367999999999999537e-08 1.000000000000000000e+00 +7.371000000000000292e-08 1.000000000000000000e+00 +7.373999999999999723e-08 1.000000000000000000e+00 +7.377000000000000478e-08 1.000000000000000000e+00 +7.379999999999999910e-08 1.000000000000000000e+00 +7.382999999999999341e-08 1.000000000000000000e+00 +7.386000000000000096e-08 1.000000000000000000e+00 +7.388999999999999527e-08 1.000000000000000000e+00 +7.392000000000000282e-08 1.000000000000000000e+00 +7.394999999999999713e-08 1.000000000000000000e+00 +7.398000000000000468e-08 1.000000000000000000e+00 +7.400999999999999899e-08 1.000000000000000000e+00 +7.403999999999999330e-08 1.000000000000000000e+00 +7.407000000000000085e-08 1.000000000000000000e+00 +7.409999999999999516e-08 1.000000000000000000e+00 +7.413000000000000271e-08 1.000000000000000000e+00 +7.415999999999999703e-08 1.000000000000000000e+00 +7.419000000000000457e-08 1.000000000000000000e+00 +7.421999999999999889e-08 1.000000000000000000e+00 +7.424999999999999320e-08 1.000000000000000000e+00 +7.428000000000000075e-08 1.000000000000000000e+00 +7.430999999999999506e-08 1.000000000000000000e+00 +7.434000000000000261e-08 1.000000000000000000e+00 +7.436999999999999692e-08 1.000000000000000000e+00 +7.440000000000000447e-08 1.000000000000000000e+00 +7.442999999999999878e-08 1.000000000000000000e+00 +7.445999999999999309e-08 1.000000000000000000e+00 +7.449000000000000064e-08 1.000000000000000000e+00 +7.451999999999999495e-08 1.000000000000000000e+00 +7.455000000000000250e-08 1.000000000000000000e+00 +7.457999999999999682e-08 1.000000000000000000e+00 +7.461000000000000436e-08 1.000000000000000000e+00 +7.463999999999999868e-08 1.000000000000000000e+00 +7.466999999999999299e-08 1.000000000000000000e+00 +7.470000000000000054e-08 1.000000000000000000e+00 +7.472999999999999485e-08 1.000000000000000000e+00 +7.476000000000000240e-08 1.000000000000000000e+00 +7.478999999999999671e-08 1.000000000000000000e+00 +7.482000000000000426e-08 1.000000000000000000e+00 +7.484999999999999857e-08 1.000000000000000000e+00 +7.487999999999999288e-08 1.000000000000000000e+00 +7.491000000000000043e-08 1.000000000000000000e+00 +7.493999999999999475e-08 1.000000000000000000e+00 +7.497000000000000229e-08 1.000000000000000000e+00 diff --git a/testData/cases/sources/current_sources_prepost.py b/testData/cases/sources/current_sources_prepost.py new file mode 100644 index 00000000..aa7cacc3 --- /dev/null +++ b/testData/cases/sources/current_sources_prepost.py @@ -0,0 +1,137 @@ +# %% +import numpy as np +import matplotlib.pyplot as plt +import json + +import sys, os +sys.path.append(os.path.join(os.path.dirname(__file__), '../../../', 'src_pyWrapper')) +SEMBA_EXE = '../../../build-rls/bin/semba-fdtd' +OUTPUTS_FOLDER = '../../outputs/' + +from pyWrapper import * + + +##################################################### +# %% Generate excitation and visualize +dt = 3e-11 +t0 = 2.5e-9 +t1 = 30e-9 +tf = 75e-9 +A = 1.0 +t = np.arange(0, tf, dt) +e = np.zeros(len(t)) + +for i, tv in enumerate(t): + if (tv=t0 and tv<=t1): + e[i] = (tv-t0)*(A/(t1-t0)) + elif (tv>t1): + e[i] = A + +plt.figure() +plt.plot(t*1e9,e) +plt.xlabel('Time (ns)') + +data = np.zeros((len(t), 2)) +data[:,0] = t +data[:,1] = e +np.savetxt('current_source_1A.exc', data) + + +##################################################### +# %% Run solver +fn = 'sources_current.fdtd.json' +solver = FDTD(input_filename = fn, path_to_exe=SEMBA_EXE) +solver['materials'][0] = {"id":1, + "type": "wire", + "radius": 0.1e-3, + "resistancePerMeter": 0.0, + "inductancePerMeter": 0.0 + } +solver["general"]["timeStep"] = 1e-11 +solver["general"]["numberOfSteps"] = 5000 + +solver["materialAssociations"][1] = {"materialId": 4, "elementIds": [3]} + + +solver["sources"][0]["elementIds"] = [1] +solver["sources"][0]["field"] = "current" +solver["sources"][0]["magnitudeFile"] = "current_source_1A.exc" +solver["mesh"]["elements"][0]["coordinateIds"] = [5] + +solver["probes"][0]["elementIds"] = [4] +solver["probes"][0]["name"] = "probe_c8" +solver["probes"][0]["field"] = "voltage" +solver["probes"][0]["type"] = "wire" +solver["probes"][0]["domain"] = {"type" : "time"} + +solver["probes"][1]["elementIds"] = [6] +solver["probes"][1]["name"] = "probe_c7" +solver["probes"][1]["field"] = "current" +solver["probes"][1]["type"] = "wire" +solver["probes"][1]["domain"] = {"type" : "time"} + +solver["probes"][2]["elementIds"] = [4] +solver["probes"][2]["name"] = "probe_c8" +solver["probes"][2]["field"] = "current" +solver["probes"][2]["type"] = "wire" +solver["probes"][2]["domain"] = {"type" : "time"} + +solver["probes"][3]["elementIds"] = [9] +solver["probes"][3]["name"] = "probe_end" +solver["probes"][3]["field"] = "current" +solver["probes"][3]["type"] = "wire" +solver["probes"][3]["domain"] = {"type" : "time"} + + +solver["mesh"]["elements"][3]["coordinateIds"] = [8] +solver["mesh"]["elements"][5]["coordinateIds"] = [7] +solver["mesh"]["elements"][8]["coordinateIds"] = [4] + +solver.cleanUp() +solver.run() +#%% +probe_names = solver.getSolvedProbeFilenames("probe_end") +# p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +pendI = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +# pendV = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) + +probe_names = solver.getSolvedProbeFilenames("probe_c8") +p8I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +p8V = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) + +probe_names = solver.getSolvedProbeFilenames("probe_c7") +p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) + +# probe_names = solver.getSolvedProbeFilenames("probe_c7") +# p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) + + +##################################################### +# %% Plot results + +plt.figure() +plt.plot(p8I['time']*1e9, p8I['current_0'], '*',label = 'probe8 (after source)') +plt.plot(p7I['time']*1e9, p7I['current_0'], '*',label = 'probe7 (before source)') +plt.plot(p7I['time']*1e9, -(p7I['current_0']-p8I['current_0']), '*',label = 'probes sum') +# plt.plot(data[:,0]*1e9, data[:,1], '-',label = 'source') +# plt.plot(pendI['time']*1e9, pendI['current_0'], '--',label = 'probe_end (at terminal)') +plt.grid(which='both') +plt.legend() +plt.xlabel('Time (ns)') +plt.ylabel('I (A)') +plt.show() + +# plt.figure() +# # plt.plot(pendV['time']*1e9, pendV['voltage_0'], '.',label = 'line end') +# plt.plot(pendI['time']*1e9, 50*pendI['current_0'], '--',label = 'R*source I') +# plt.grid(which='both') +# plt.legend() +# plt.xlabel('Time (ns)') +# plt.ylabel('V (V)') +# plt.show() +# %% Plot results + + +# %% diff --git a/testData/cases/sources/sources_current.fdtd.json b/testData/cases/sources/sources_current.fdtd.json index 4baa708b..536af6e1 100644 --- a/testData/cases/sources/sources_current.fdtd.json +++ b/testData/cases/sources/sources_current.fdtd.json @@ -3,7 +3,7 @@ "__comments": "", "general": { "timeStep": 1e-11, - "numberOfSteps": 7500 + "numberOfSteps": 5000 }, "boundary": { "all": { @@ -44,6 +44,16 @@ "name": "copper", "id": 4, "type": "pec" + }, + { + "id": 5, + "type": "terminal", + "terminations": [ + { + "type": "series", + "resistance": 25.0 + } + ] } ], "mesh": { @@ -200,7 +210,7 @@ "id": 6, "type": "node", "coordinateIds": [ - 4 + 7 ] }, { @@ -217,6 +227,13 @@ "coordinateIds": [ 7 ] + }, + { + "id": 9, + "type": "node", + "coordinateIds": [ + 4 + ] } ] }, @@ -224,7 +241,7 @@ { "name": "wire", "materialId": 1, - "initialTerminalId": 3, + "initialTerminalId": 5, "endTerminalId": 2, "elementIds": [ 2 @@ -241,11 +258,11 @@ { "name": "terminal_source", "type": "generator", - "magnitudeFile": "voltage_source_50V.exc", + "magnitudeFile": "current_source_1A.exc", "elementIds": [ 1 ], - "field": "voltage", + "field": "current", "resistance": 50.0 } ], @@ -262,9 +279,9 @@ } }, { - "name": "probe_end", + "name": "probe_c7", "type": "wire", - "field": "voltage", + "field": "current", "elementIds": [ 6 ], @@ -273,11 +290,22 @@ } }, { - "name": "probe_c7", + "name": "probe_c8", + "type": "wire", + "field": "current", + "elementIds": [ + 4 + ], + "domain": { + "type": "time" + } + }, + { + "name": "probe_end", "type": "wire", "field": "current", "elementIds": [ - 8 + 9 ], "domain": { "type": "time" diff --git a/testData/cases/sources/sources_prepost.py b/testData/cases/sources/sources_prepost.py index 64a7bf75..e5ccf9fe 100644 --- a/testData/cases/sources/sources_prepost.py +++ b/testData/cases/sources/sources_prepost.py @@ -17,7 +17,7 @@ t0 = 2.5e-9 t1 = 30e-9 tf = 75e-9 -A = 50.0 +A = 1.0 t = np.arange(0, tf, dt) e = np.zeros(len(t)) @@ -36,7 +36,7 @@ data = np.zeros((len(t), 2)) data[:,0] = t data[:,1] = e -np.savetxt('voltage_source_50V.exc', data) +np.savetxt('current_source_1A.exc', data) ##################################################### @@ -50,7 +50,7 @@ "inductancePerMeter": 0.0 } solver["general"]["timeStep"] = 1e-11 -solver["general"]["numberOfSteps"] = 7500 +solver["general"]["numberOfSteps"] = 2500 solver["materialAssociations"][1] = {"materialId": 4, "elementIds": [3]} # solver["materialAssociations"][1] = {"name": "wire2","materialId": 1,"initialTerminalId": 3,"endTerminalId": 3,"elementIds": [7]} @@ -58,8 +58,8 @@ solver["sources"][0]["elementIds"] = [1] -solver["sources"][0]["field"] = "voltage" -solver["sources"][0]["magnitudeFile"] = "voltage_source_50V.exc" +solver["sources"][0]["field"] = "current" +solver["sources"][0]["magnitudeFile"] = "current_source_1A.exc" solver["mesh"]["elements"][0]["coordinateIds"] = [5] solver["probes"][0]["elementIds"] = [4] @@ -74,53 +74,55 @@ solver["probes"][1]["type"] = "wire" solver["probes"][1]["domain"] = {"type" : "time"} -solver["probes"][2]["elementIds"] = [8] -solver["probes"][2]["name"] = "probe_c7" +solver["probes"][2]["elementIds"] = [4] +solver["probes"][2]["name"] = "probe_c8" solver["probes"][2]["field"] = "current" solver["probes"][2]["type"] = "wire" solver["probes"][2]["domain"] = {"type" : "time"} +solver["probes"][3]["elementIds"] = [6] +solver["probes"][3]["name"] = "probe_end" +solver["probes"][3]["field"] = "current" +solver["probes"][3]["type"] = "wire" +solver["probes"][3]["domain"] = {"type" : "time"} + + solver["mesh"]["elements"][3]["coordinateIds"] = [8] solver["mesh"]["elements"][5]["coordinateIds"] = [4] -# solver["probes"][2]["elementIds"] = [6] -# solver["probes"][2]["name"] = "probe_c8" -# solver["probes"][3]["elementIds"] = [6] -# solver["probes"][3]["name"] = "probe_c8" -# solver["mesh"]["elements"][5]["coordinateIds"] = [8] - solver.cleanUp() solver.run() #%% probe_names = solver.getSolvedProbeFilenames("probe_end") # p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +pendI = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) pendV = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) + probe_names = solver.getSolvedProbeFilenames("probe_c8") -# p8I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +p8I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) p8V = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) -probe_names = solver.getSolvedProbeFilenames("probe_c7") -p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) + +# probe_names = solver.getSolvedProbeFilenames("probe_c7") +# p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) ##################################################### # %% Plot results -# pf = "shieldedPair.fdtd_wire_start_bundle_line_0_I_75_74_74.dat" -# expected = Probe(OUTPUTS_FOLDER+pf) plt.figure() -plt.plot(p7I['time']*1e9, p7I['current_0'], '.',label = 'probe7 (before source)') -# plt.plot(p8I['time']*1e9, p8I['current_0'], '--',label = 'probe8 (after source)') +plt.plot(p8I['time']*1e9, p8I['current_0'], '*',label = 'probe8 (after source)') +plt.plot(data[:,0]*1e9, data[:,1], '-',label = 'source') +plt.plot(pendI['time']*1e9, pendI['current_0'], '--',label = 'probe_end (at terminal)') plt.grid(which='both') plt.legend() plt.xlabel('Time (ns)') plt.ylabel('I (A)') +plt.xlim(0,25) plt.show() plt.figure() plt.plot(pendV['time']*1e9, pendV['voltage_0'], '.',label = 'line end') -plt.plot(p8V['time']*1e9, p8V['voltage_0'], '--',label = 'probe8 (after source)') -plt.plot(data[:,0]*1e9, data[:,1], '--',label = 'source') -# plt.plot(pendV['time']*1e9, 50*p8I['current_0'], '--',label = 'R*source I') +plt.plot(pendI['time']*1e9, 50*pendI['current_0'], '--',label = 'R*source I') plt.grid(which='both') plt.legend() plt.xlabel('Time (ns)') diff --git a/testData/cases/sources/sources_voltage.fdtd.json b/testData/cases/sources/sources_voltage.fdtd.json new file mode 100644 index 00000000..949b7e5f --- /dev/null +++ b/testData/cases/sources/sources_voltage.fdtd.json @@ -0,0 +1,298 @@ +{ + "format": "FDTD Input file", + "__comments": "", + "general": { + "timeStep": 1e-11, + "numberOfSteps": 7500 + }, + "boundary": { + "all": { + "type": "pml", + "layers": 6, + "order": 2.0, + "reflection": 0.001 + } + }, + "materials": [ + { + "id": 1, + "type": "wire", + "radius": 0.0001, + "resistancePerMeter": 0.0, + "inductancePerMeter": 0.0 + }, + { + "id": 2, + "type": "terminal", + "terminations": [ + { + "type": "series", + "resistance": 50.0 + } + ] + }, + { + "id": 3, + "type": "terminal", + "terminations": [ + { + "type": "short" + } + ] + }, + { + "name": "copper", + "id": 4, + "type": "pec" + } + ], + "mesh": { + "grid": { + "numberOfCells": [ + 60, + 60, + 60 + ], + "steps": { + "x": [ + 0.01 + ], + "y": [ + 0.01 + ], + "z": [ + 0.01 + ] + } + }, + "coordinates": [ + { + "id": 1, + "relativePosition": [ + 27, + 25, + 30 + ] + }, + { + "id": 2, + "relativePosition": [ + 27, + 25, + 32 + ] + }, + { + "id": 3, + "relativePosition": [ + 43, + 25, + 32 + ] + }, + { + "id": 4, + "relativePosition": [ + 43, + 25, + 30 + ] + }, + { + "id": 5, + "relativePosition": [ + 35, + 25, + 32 + ] + }, + { + "id": 6, + "relativePosition": [ + 35, + 25, + 32 + ] + }, + { + "id": 7, + "relativePosition": [ + 33, + 25, + 32 + ] + }, + { + "id": 8, + "relativePosition": [ + 37, + 25, + 32 + ] + } + ], + "elements": [ + { + "id": 1, + "type": "node", + "coordinateIds": [ + 5 + ] + }, + { + "id": 2, + "type": "polyline", + "coordinateIds": [ + 1, + 2, + 7, + 5, + 8, + 3, + 4 + ] + }, + { + "id": 3, + "type": "cell", + "name": "ground_plane", + "intervals": [ + [ + [ + 25, + 20, + 30 + ], + [ + 45, + 30, + 30 + ] + ] + ] + }, + { + "id": 4, + "type": "node", + "coordinateIds": [ + 8 + ] + }, + { + "id": 5, + "type": "cell", + "intervals": [ + [ + [ + 1, + 1, + 1 + ], + [ + 59, + 59, + 59 + ] + ] + ] + }, + { + "id": 6, + "type": "node", + "coordinateIds": [ + 4 + ] + }, + { + "id": 7, + "type": "polyline", + "coordinateIds": [ + 1, + 4 + ] + }, + { + "id": 8, + "type": "node", + "coordinateIds": [ + 7 + ] + } + ] + }, + "materialAssociations": [ + { + "name": "wire", + "materialId": 1, + "initialTerminalId": 3, + "endTerminalId": 2, + "elementIds": [ + 2 + ] + }, + { + "materialId": 4, + "elementIds": [ + 3 + ] + } + ], + "sources": [ + { + "name": "terminal_source", + "type": "generator", + "magnitudeFile": "voltage_source_50V.exc", + "elementIds": [ + 1 + ], + "field": "voltage", + "resistance": 50.0 + } + ], + "probes": [ + { + "name": "probe_c8", + "type": "wire", + "field": "voltage", + "elementIds": [ + 4 + ], + "domain": { + "type": "time" + } + }, + { + "name": "probe_end", + "type": "wire", + "field": "voltage", + "elementIds": [ + 6 + ], + "domain": { + "type": "time" + } + }, + { + "name": "probe_c8", + "type": "wire", + "field": "current", + "elementIds": [ + 4 + ], + "domain": { + "type": "time" + } + }, + { + "name": "probe_end", + "type": "wire", + "field": "current", + "elementIds": [ + 6 + ], + "domain": { + "type": "time" + } + } + ] +} \ No newline at end of file diff --git a/testData/cases/sources/voltage_sources_prepost.py b/testData/cases/sources/voltage_sources_prepost.py new file mode 100644 index 00000000..76a24899 --- /dev/null +++ b/testData/cases/sources/voltage_sources_prepost.py @@ -0,0 +1,137 @@ +# %% +import numpy as np +import matplotlib.pyplot as plt +import json + +import sys, os +sys.path.append(os.path.join(os.path.dirname(__file__), '../../../', 'src_pyWrapper')) +SEMBA_EXE = '../../../build-rls/bin/semba-fdtd' +OUTPUTS_FOLDER = '../../outputs/' + +from pyWrapper import * + + +##################################################### +# %% Generate excitation and visualize +dt = 3e-11 +t0 = 2.5e-9 +t1 = 30e-9 +tf = 75e-9 +A = 50.0 +t = np.arange(0, tf, dt) +e = np.zeros(len(t)) + +for i, tv in enumerate(t): + if (tv=t0 and tv<=t1): + e[i] = (tv-t0)*(A/(t1-t0)) + elif (tv>t1): + e[i] = A + +plt.figure() +plt.plot(t*1e9,e) +plt.xlabel('Time (ns)') + +data = np.zeros((len(t), 2)) +data[:,0] = t +data[:,1] = e +np.savetxt('voltage_source_50V.exc', data) + + +##################################################### +# %% Run solver +fn = 'sources_voltage.fdtd.json' +solver = FDTD(input_filename = fn, path_to_exe=SEMBA_EXE) +solver['materials'][0] = {"id":1, + "type": "wire", + "radius": 0.1e-3, + "resistancePerMeter": 0.0, + "inductancePerMeter": 0.0 + } +solver["general"]["timeStep"] = 1e-11 +solver["general"]["numberOfSteps"] = 7500 + +solver["materialAssociations"][1] = {"materialId": 4, "elementIds": [3]} +# solver["materialAssociations"][1] = {"name": "wire2","materialId": 1,"initialTerminalId": 3,"endTerminalId": 3,"elementIds": [7]} + + + +solver["sources"][0]["elementIds"] = [1] +solver["sources"][0]["field"] = "voltage" +solver["sources"][0]["magnitudeFile"] = "voltage_source_50V.exc" +solver["mesh"]["elements"][0]["coordinateIds"] = [5] + +solver["probes"][0]["elementIds"] = [4] +solver["probes"][0]["name"] = "probe_c8" +solver["probes"][0]["field"] = "voltage" +solver["probes"][0]["type"] = "wire" +solver["probes"][0]["domain"] = {"type" : "time"} + +solver["probes"][1]["elementIds"] = [6] +solver["probes"][1]["name"] = "probe_end" +solver["probes"][1]["field"] = "voltage" +solver["probes"][1]["type"] = "wire" +solver["probes"][1]["domain"] = {"type" : "time"} + +solver["probes"][2]["elementIds"] = [4] +solver["probes"][2]["name"] = "probe_c8" +solver["probes"][2]["field"] = "current" +solver["probes"][2]["type"] = "wire" +solver["probes"][2]["domain"] = {"type" : "time"} + +solver["probes"][3]["elementIds"] = [6] +solver["probes"][3]["name"] = "probe_end" +solver["probes"][3]["field"] = "current" +solver["probes"][3]["type"] = "wire" +solver["probes"][3]["domain"] = {"type" : "time"} + + +solver["mesh"]["elements"][3]["coordinateIds"] = [8] +solver["mesh"]["elements"][5]["coordinateIds"] = [4] + +solver.cleanUp() +solver.run() +#%% +probe_names = solver.getSolvedProbeFilenames("probe_end") +# p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +pendI = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +pendV = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) + +probe_names = solver.getSolvedProbeFilenames("probe_c8") +p8I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +p8V = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) + +# probe_names = solver.getSolvedProbeFilenames("probe_c7") +# p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) + + +##################################################### +# %% Plot results + +plt.figure() +plt.plot(data[:,0]*1e9, data[:,1], '-',label = 'source') +plt.plot(pendV['time']*1e9, pendV['voltage_0'], '.',label = 'line end') +# plt.plot(pendI['time']*1e9, 50*pendI['current_0'], '--',label = 'R*source I') +plt.grid(which='both') +plt.legend() +plt.xlabel('Time (ns)') +plt.ylabel('V (V)') +# plt.xlim(0,5) +# plt.ylim(0,10) +plt.show() + +plt.figure() +plt.plot(p8I['time']*1e9, p8I['current_0'], '*',label = 'probe8 (after source)') +# plt.plot(data[:,0]*1e9, data[:,1], '-',label = 'source') +plt.plot(pendI['time']*1e9, pendI['current_0'], '--',label = 'probe_end (at terminal)') +plt.grid(which='both') +plt.legend() +plt.xlabel('Time (ns)') +plt.ylabel('I (A)') +plt.show() + +# %% Plot results + + +# %% From 79b8f5180f5834c025f6a8e52ea293484162daa3 Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Thu, 19 Mar 2026 09:38:13 +0100 Subject: [PATCH 17/25] Update --- src_mtln/mtl_bundle.F90 | 26 ++++++---- src_wires_pub/wires_mtln.F90 | 3 +- test/pyWrapper/test_full_system.py | 6 +-- .../cases/sources/current_sources_prepost.py | 47 ++++++++++++------- .../cases/sources/sources_current.fdtd.json | 40 +++++++++++----- 5 files changed, 78 insertions(+), 44 deletions(-) diff --git a/src_mtln/mtl_bundle.F90 b/src_mtln/mtl_bundle.F90 index e6d63b0a..ed4a5c5f 100644 --- a/src_mtln/mtl_bundle.F90 +++ b/src_mtln/mtl_bundle.F90 @@ -19,7 +19,7 @@ module mtl_bundle_m integer :: number_of_conductors = 0, number_of_divisions = 0 real, dimension(:), allocatable :: step_size real, allocatable, dimension(:,:) :: v, i - real, allocatable, dimension(:,:) :: v_source, i_source, e_L + real, allocatable, dimension(:,:) :: v_source, i_source, e_L, field_from_current real, allocatable, dimension(:,:,:) :: du(:,:,:) real :: time = 0.0, dt = 1e10 @@ -71,6 +71,7 @@ module mtl_bundle_m integer, dimension(3) ::position integer :: direction = 0 real(kind=rkind) , pointer :: field => null() + real(kind=rkind) :: field_from_current = 0.0 end type contains @@ -117,6 +118,7 @@ subroutine initialAllocation(this) allocate(this%v(this%number_of_conductors, this%number_of_divisions + 1), source = 0.0) allocate(this%i(this%number_of_conductors, this%number_of_divisions), source = 0.0) allocate(this%e_L(this%number_of_conductors, this%number_of_divisions), source = 0.0) + allocate(this%field_from_current(this%number_of_conductors, this%number_of_divisions), source = 0.0) allocate(this%v_source(this%number_of_conductors, this%number_of_divisions + 1), source = 0.0) allocate(this%i_source(this%number_of_conductors, this%number_of_divisions), source = 0.0) @@ -269,7 +271,7 @@ subroutine addGenerator(this, index, conductor, gen_type, resistance, path) this%rpul(index, conductor, conductor) = this%rpul(index, conductor, conductor) + resistance/this%du(index, conductor, conductor) else if (new_generator%source_type == SOURCE_TYPE_CURRENT) then ! this%rpul(index, conductor, conductor) = this%rpul(index, conductor, conductor) + resistance/this%du(index, conductor, conductor) - this%gpul(index, conductor, conductor) = this%gpul(index, conductor, conductor) + resistance/this%du(index, conductor, conductor) + ! this%gpul(index, conductor, conductor) = this%gpul(index, conductor, conductor) + (1.0/resistance)/this%du(index, conductor, conductor) end if end subroutine @@ -380,14 +382,16 @@ subroutine bundle_updateGenerators(this, time, dt) do i = 1, size(this%generators) if (this%generators(i)%source_type == SOURCE_TYPE_VOLTAGE) then val = 0.5*(this%generators(i)%interpolate(time+dt)+this%generators(i)%interpolate(time)) - this%v_source(this%generators(i)%conductor, this%generators(i)%index) = val + this%v_source(this%generators(i)%conductor, this%generators(i)%index) = val/this%du(this%generators(i)%index, this%generators(i)%conductor, this%generators(i)%conductor) else if (this%generators(i)%source_type == SOURCE_TYPE_CURRENT) then - val = 0.5*(this%generators(i)%interpolate(time+0.5*dt)+this%generators(i)%interpolate(time-0.5*dt)) + ! val = this%generators(i)%interpolate(time) + val = 0.5*(this%generators(i)%interpolate(time+dt)+this%generators(i)%interpolate(time)) ! this%v_source(this%generators(i)%conductor, this%generators(i)%index) = val*this%generators(i)%resistance ! this%v_source(this%generators(i)%conductor, this%generators(i)%index-1) = -0.5*val*this%generators(i)%resistance ! this%i_source(this%generators(i)%conductor, this%generators(i)%index) = 0.5*val ! this%i_source(this%generators(i)%conductor, this%generators(i)%index-1) =- 0.5*val - this%i_source(this%generators(i)%conductor, this%generators(i)%index) = val + ! this%i_source(this%generators(i)%conductor, this%generators(i)%index) = val + this%i_source(this%generators(i)%conductor, this%generators(i)%index) = val/this%du(this%generators(i)%index, this%generators(i)%conductor, this%generators(i)%conductor) end if end do @@ -398,9 +402,10 @@ subroutine bundle_advanceVoltage(this) integer :: i do i = 2,this%number_of_divisions this%v(:, i) = matmul(this%v_term(i,:,:), this%v(:,i)) - & - matmul(this%i_diff(i,:,:), (this%i(:,i) - this%i(:,i-1))- & + ! matmul(this%i_diff(i,:,:), (this%i(:,i) - this%i(:,i-1))) + matmul(this%i_diff(i,:,:), (this%i(:,i) - this%i(:,i-1)) + matmul(this%du(i,:,:), this%i_source(:,i))) !soft I source? - this%i_source(:,i)) + ! this%i_source(:,i)) end do end subroutine @@ -425,16 +430,16 @@ subroutine bundle_advanceCurrent(this) do i = 1, this%number_of_divisions this%i(:,i) = matmul(this%i_term(i,:,:), this%i(:,i)) - & matmul(this%v_diff(i,:,:), (this%v(:,i+1) - this%v(:,i)) - & - this%e_L(:,i) * this%step_size(i) - & + this%e_L(:,i) * this%step_size(i) + & !soft V source - this%v_source(:,i)) - & + matmul(this%du(i,:,:),this%v_source(:,i))) - & matmul(this%v_diff(i,:,:), matmul(this%du(i,:,:), this%transfer_impedance%q3_phi(i,:))) enddo !hard I source ! do i = 1, size(this%generators) ! if (this%generators(i)%source_type == SOURCE_TYPE_CURRENT) then ! this%i(this%generators(i)%conductor, this%generators(i)%index) = & - ! this%i_source(this%generators(i)%conductor, this%generators(i)%index) + ! this%i_source(this%generators(i)%conductor, this%generators(i)%index)*this%du(this%generators(i)%index, this%generators(i)%conductor, this%generators(i)%conductor) ! end if ! end do !TODO - revisar @@ -456,6 +461,7 @@ subroutine bundle_setExternalLongitudinalField(this) do i = 1, size(this%e_L,2) this%e_L(j,i) = this%external_field_segments(i)%field * & this%external_field_segments(i)%direction/abs(this%external_field_segments(i)%direction) + end do end do diff --git a/src_wires_pub/wires_mtln.F90 b/src_wires_pub/wires_mtln.F90 index a67a6ea4..be1e8190 100644 --- a/src_wires_pub/wires_mtln.F90 +++ b/src_wires_pub/wires_mtln.F90 @@ -101,7 +101,7 @@ subroutine AdvanceWiresE_mtln(sgg,Idxh, Idyh, Idzh, eps00,mu00) Idxh(sgg%ALLOC(iEx)%XI : sgg%ALLOC(iEx)%XE),& Idyh(sgg%ALLOC(iEy)%YI : sgg%ALLOC(iEy)%YE),& Idzh(sgg%ALLOC(iEz)%ZI : sgg%ALLOC(iEz)%ZE) - real(kind=RKIND) :: cte,eps00,mu00 + real(kind=RKIND) :: cte,eps00,mu00, f integer(kind=4) :: m, n real(kind=RKIND),pointer:: punt eps0 = eps00 @@ -110,6 +110,7 @@ subroutine AdvanceWiresE_mtln(sgg,Idxh, Idyh, Idzh, eps00,mu00) do m = 1, mtln_solver%number_of_bundles if (mtln_solver%bundles(m)%bundle_in_layer) then do n = 1, ubound(mtln_solver%bundles(m)%external_field_segments,1) + mtln_solver%bundles(m)%external_field_segments(n)%field_from_current = computeFieldFromCurrent(m,n) punt => mtln_solver%bundles(m)%external_field_segments(n)%field punt = real(punt, kind=rkind_wires) - computeFieldFromCurrent(m,n) end do diff --git a/test/pyWrapper/test_full_system.py b/test/pyWrapper/test_full_system.py index 09fcd0ff..4d6fb78b 100644 --- a/test/pyWrapper/test_full_system.py +++ b/test/pyWrapper/test_full_system.py @@ -14,7 +14,7 @@ def test_lineIntegralProbe_single_wire(tmp_path): pf = 'lineIntegralProbe_plates.fdtd_vprobe_LI_20_20_10.dat' li_probe = Probe(solver.getSolvedProbeFilenames("vprobe_LI_20_20_10")[0]) expected = Probe(OUTPUTS_FOLDER+pf) - np.allclose(li_probe['lineIntegral'].to_numpy(), expected['lineIntegral'].to_numpy(), rtol =0.01 , atol=0.01) + assert np.allclose(li_probe['lineIntegral'].to_numpy(), expected['lineIntegral'].to_numpy(), rtol =0.01 , atol=0.01) @no_mtln_skip def test_lineIntegralProbe_wire(tmp_path): @@ -26,7 +26,7 @@ def test_lineIntegralProbe_wire(tmp_path): pf = 'lineIntegralProbe_plates.fdtd_vprobe_LI_20_20_10.dat' li_probe = Probe(solver.getSolvedProbeFilenames("vprobe_LI_20_20_10")[0]) expected = Probe(OUTPUTS_FOLDER+pf) - np.allclose(li_probe['lineIntegral'].to_numpy(), expected['lineIntegral'].to_numpy(), rtol =0.01 , atol=0.01) + assert np.allclose(li_probe['lineIntegral'].to_numpy(), expected['lineIntegral'].to_numpy(), rtol =0.01 , atol=0.01) @no_mtln_skip def test_lineIntegralProbe_unshielded(tmp_path): @@ -38,7 +38,7 @@ def test_lineIntegralProbe_unshielded(tmp_path): pf = 'lineIntegralProbe_plates.fdtd_vprobe_LI_20_20_10.dat' li_probe = Probe(solver.getSolvedProbeFilenames("vprobe_LI_20_20_10")[0]) expected = Probe(OUTPUTS_FOLDER+pf) - np.allclose(li_probe['lineIntegral'].to_numpy(), expected['lineIntegral'].to_numpy(), rtol =0.01 , atol=0.01) + assert np.allclose(li_probe['lineIntegral'].to_numpy(), expected['lineIntegral'].to_numpy(), rtol =0.01 , atol=0.01) @no_mtln_skip diff --git a/testData/cases/sources/current_sources_prepost.py b/testData/cases/sources/current_sources_prepost.py index aa7cacc3..c0b76a30 100644 --- a/testData/cases/sources/current_sources_prepost.py +++ b/testData/cases/sources/current_sources_prepost.py @@ -14,7 +14,7 @@ ##################################################### # %% Generate excitation and visualize dt = 3e-11 -t0 = 2.5e-9 +t0 = 10e-9 t1 = 30e-9 tf = 75e-9 A = 1.0 @@ -43,26 +43,31 @@ # %% Run solver fn = 'sources_current.fdtd.json' solver = FDTD(input_filename = fn, path_to_exe=SEMBA_EXE) +# solver['materials'][0] = {"id":1, +# "type": "wire", +# "radius": 0.1e-3, +# "resistancePerMeter": 0.0, +# "inductancePerMeter": 0.0 +# } solver['materials'][0] = {"id":1, - "type": "wire", - "radius": 0.1e-3, - "resistancePerMeter": 0.0, - "inductancePerMeter": 0.0 + "type": "unshieldedMultiwire", + "inductancePerMeter": [[6.5138e-7]], + "capacitancePerMeter": [[1.7069e-11]] } solver["general"]["timeStep"] = 1e-11 -solver["general"]["numberOfSteps"] = 5000 +solver["general"]["numberOfSteps"] = 6000 solver["materialAssociations"][1] = {"materialId": 4, "elementIds": [3]} solver["sources"][0]["elementIds"] = [1] -solver["sources"][0]["field"] = "current" -solver["sources"][0]["magnitudeFile"] = "current_source_1A.exc" -solver["mesh"]["elements"][0]["coordinateIds"] = [5] +solver["sources"][0]["field"] = "voltage" +solver["sources"][0]["magnitudeFile"] = "voltage_source_50V.exc" +solver["mesh"]["elements"][0]["coordinateIds"] = [1] solver["probes"][0]["elementIds"] = [4] -solver["probes"][0]["name"] = "probe_c8" -solver["probes"][0]["field"] = "voltage" +solver["probes"][0]["name"] = "probe_start" +solver["probes"][0]["field"] = "current" solver["probes"][0]["type"] = "wire" solver["probes"][0]["domain"] = {"type" : "time"} @@ -78,7 +83,7 @@ solver["probes"][2]["type"] = "wire" solver["probes"][2]["domain"] = {"type" : "time"} -solver["probes"][3]["elementIds"] = [9] +solver["probes"][3]["elementIds"] = [10] solver["probes"][3]["name"] = "probe_end" solver["probes"][3]["field"] = "current" solver["probes"][3]["type"] = "wire" @@ -88,6 +93,7 @@ solver["mesh"]["elements"][3]["coordinateIds"] = [8] solver["mesh"]["elements"][5]["coordinateIds"] = [7] solver["mesh"]["elements"][8]["coordinateIds"] = [4] +solver["mesh"]["elements"][9]["coordinateIds"] = [1] solver.cleanUp() solver.run() @@ -97,9 +103,14 @@ pendI = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) # pendV = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) +probe_names = solver.getSolvedProbeFilenames("probe_start") +# p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +pstI = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +# pendV = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) + probe_names = solver.getSolvedProbeFilenames("probe_c8") p8I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) -p8V = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) +# p8V = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) probe_names = solver.getSolvedProbeFilenames("probe_c7") p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) @@ -112,9 +123,11 @@ # %% Plot results plt.figure() -plt.plot(p8I['time']*1e9, p8I['current_0'], '*',label = 'probe8 (after source)') -plt.plot(p7I['time']*1e9, p7I['current_0'], '*',label = 'probe7 (before source)') -plt.plot(p7I['time']*1e9, -(p7I['current_0']-p8I['current_0']), '*',label = 'probes sum') +plt.plot(pstI['time']*1e9, pstI['current_0'], '*',label = 'probe start') +plt.plot(pendI['time']*1e9, pendI['current_0'], '--',label = 'probe end') +# plt.plot(p8I['time']*1e9, p8I['current_0'], '*',label = 'probe8 (after source)') +# plt.plot(p7I['time']*1e9, p7I['current_0'], '*',label = 'probe7 (before source)') +# plt.plot(p7I['time']*1e9, -(p7I['current_0']-p8I['current_0']), '*',label = 'probes sum') # plt.plot(data[:,0]*1e9, data[:,1], '-',label = 'source') # plt.plot(pendI['time']*1e9, pendI['current_0'], '--',label = 'probe_end (at terminal)') plt.grid(which='both') @@ -125,7 +138,7 @@ # plt.figure() # # plt.plot(pendV['time']*1e9, pendV['voltage_0'], '.',label = 'line end') -# plt.plot(pendI['time']*1e9, 50*pendI['current_0'], '--',label = 'R*source I') +# plt.plot(p8V['time']*1e9, p8V['voltage_0'], '--',label = 'p8') # plt.grid(which='both') # plt.legend() # plt.xlabel('Time (ns)') diff --git a/testData/cases/sources/sources_current.fdtd.json b/testData/cases/sources/sources_current.fdtd.json index 536af6e1..c6820392 100644 --- a/testData/cases/sources/sources_current.fdtd.json +++ b/testData/cases/sources/sources_current.fdtd.json @@ -3,11 +3,11 @@ "__comments": "", "general": { "timeStep": 1e-11, - "numberOfSteps": 5000 + "numberOfSteps": 6000 }, "boundary": { "all": { - "type": "pml", + "type": "mur", "layers": 6, "order": 2.0, "reflection": 0.001 @@ -16,10 +16,17 @@ "materials": [ { "id": 1, - "type": "wire", - "radius": 0.0001, - "resistancePerMeter": 0.0, - "inductancePerMeter": 0.0 + "type": "unshieldedMultiwire", + "inductancePerMeter": [ + [ + 6.5138e-07 + ] + ], + "capacitancePerMeter": [ + [ + 1.7069e-11 + ] + ] }, { "id": 2, @@ -51,7 +58,7 @@ "terminations": [ { "type": "series", - "resistance": 25.0 + "resistance": 50.0 } ] } @@ -146,7 +153,7 @@ "id": 1, "type": "node", "coordinateIds": [ - 5 + 1 ] }, { @@ -234,6 +241,13 @@ "coordinateIds": [ 4 ] + }, + { + "id": 10, + "type": "node", + "coordinateIds": [ + 1 + ] } ] }, @@ -258,19 +272,19 @@ { "name": "terminal_source", "type": "generator", - "magnitudeFile": "current_source_1A.exc", + "magnitudeFile": "voltage_source_50V.exc", "elementIds": [ 1 ], - "field": "current", + "field": "voltage", "resistance": 50.0 } ], "probes": [ { - "name": "probe_c8", + "name": "probe_start", "type": "wire", - "field": "voltage", + "field": "current", "elementIds": [ 4 ], @@ -305,7 +319,7 @@ "type": "wire", "field": "current", "elementIds": [ - 9 + 10 ], "domain": { "type": "time" From 0234042b42702f07ab58ae0c1b04a153d1c51e84 Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Thu, 19 Mar 2026 16:34:35 +0100 Subject: [PATCH 18/25] Implements generators according to corresponding issue. Adds tests. Updates documentation. MIsses MPI --- doc/fdtdjson.md | 17 +- src_json_parser/smbjson.F90 | 18 +- src_mtln/mtl_bundle.F90 | 30 +- src_mtln/mtln_types.F90 | 1 + src_mtln/preprocess.F90 | 64 +- src_wires_pub/wires_mtln.F90 | 1 - test/pyWrapper/test_full_system.py | 66 +- testData/cases/sources/current_source_1A.exc | 1932 ++++++++--------- .../cases/sources/current_sources_prepost.py | 86 +- .../cases/sources/current_voltage_50V.exc | 0 .../cases/sources/sources_current.fdtd.json | 24 +- .../cases/sources/sources_voltage.fdtd.json | 145 +- testData/cases/sources/voltage_source_50V.exc | 1932 ++++++++--------- .../cases/sources/voltage_sources_prepost.py | 92 +- 14 files changed, 2252 insertions(+), 2156 deletions(-) create mode 100644 testData/cases/sources/current_voltage_50V.exc diff --git a/doc/fdtdjson.md b/doc/fdtdjson.md index cd425a60..a45f65c0 100644 --- a/doc/fdtdjson.md +++ b/doc/fdtdjson.md @@ -807,7 +807,18 @@ This object represents a time-varying vector field applied along an oriented lin ### `generator` -A `generator` source must be located on a single `node` whose `coordinateId` is used by a single `polyline`. The entry `[field]` can be `voltage` or `current`; defaults to `voltage`. +A `generator` source must be located on a single `node` whose `coordinateId` is used by a single `polyline`. The entry `[field]` can be `voltage` or `current`; defaults to `voltage`. `resistance` refers to a series resistance for voltage generators and a resistance in parallel for current generators. + +Allowed positions according to material associations: + +* Voltage generators: + * On `wire` and `unshieldedMultiwre` materials, voltage generators are only allowed on terminal positions. + * On `shieldedMultiwre` materials, voltage generators are allowed on terminal and interior positions. +* Current generators: + * On `wire` and `unshieldedMultiwre` materials, current generators are allowed on terminal and interior positions. + * On `shieldedMultiwre` materials, current generators are only allowed on terminal positions. + +For terminal positions a series resistance is optional. For interior positions it is mandatory. As the resistance of the voltage generator approaches 0 (or the resistance of the current generator tends to arbitrarily large value), the generator becomes a **hard** source, in which the value of the generator is imposed at the current position of the wire. **Example:** @@ -816,10 +827,12 @@ A `generator` source must be located on a single `node` whose `coordinateId` is "name": "voltage_source", "type": "generator", "field": "current", - "magnitudeFile": "gauss.exc", + "magnitudeFile": "gauss.exc", + "resistance" : 50.0, "elementIds": [1] } ``` +If the generator is located at the termination of a wire, the series or parallel `resistance` is added to the connection defined in the corresponding `terminal`. If a generator is located on a wire intermediate position, the per-unit-length properties of the corresponding segment are modified according to the `resistance` of the generator. In case the generator is located at the junction (connection point) of two of more lines, the `node` shared by the lines will share the same `coordinateId`. If more than two lines are connected together, it is necessary to know to which of the lines the generator is connected to. The entry `[attachedToLineId]` is an integer which refers to the `elementId` of the `polyline` the source is connected to. diff --git a/src_json_parser/smbjson.F90 b/src_json_parser/smbjson.F90 index 042f3158..337777b4 100644 --- a/src_json_parser/smbjson.F90 +++ b/src_json_parser/smbjson.F90 @@ -3177,6 +3177,7 @@ function readGeneratorOnTermination(id, label) result(res) else if (this%getStrAt(genSrcs(i)%p, J_FIELD) == J_FIELD_CURRENT) then res%source_type = SOURCE_TYPE_CURRENT end if + res%resistance = this%getRealAt(genSrcs(i)%p, J_SRC_RESISTANCE_GEN, default = 0.0) res%path_to_excitation = trim(this%getStrAt(genSrcs(i)%p, J_SRC_MAGNITUDE_FILE)) return end if @@ -3320,21 +3321,24 @@ function readWireGenerators() result(res) if (.not. this%existsAt(gens(i)%p, J_SRC_MAGNITUDE_FILE)) then call WarnErrReport('magnitudeFile of source missing', .true.) end if + + res(n)%resistance = this%getRealAt(gens(i)%p, J_SRC_RESISTANCE_GEN, default = 0.0) + select case(this%getStrAt(gens(i)%p, J_FIELD)) case (J_FIELD_VOLTAGE) res(n)%generator_type = SOURCE_TYPE_VOLTAGE case (J_FIELD_CURRENT) res(n)%generator_type = SOURCE_TYPE_CURRENT + if (res(n)%resistance == 0.0) call WarnErrReport('The resistance of a current generator on an interior node cannot be equal to 0', .true.) case default call WarnErrReport('Field block of source of type generator must be current or voltage', .true.) end select + res(n)%path_to_excitation = this%getStrAt(gens(i)%p, J_SRC_MAGNITUDE_FILE) if (.not. this%existsAt(gens(i)%p, J_SRC_RESISTANCE_GEN)) then call WarnErrReport('Generator resistance missing', .true.) end if - res(n)%resistance = this%getRealAt(gens(i)%p, J_SRC_RESISTANCE_GEN, default = 0.0) - if (res(n)%resistance == 0.0) call WarnErrReport('Generator resistance equal to 0', .false.) idAndPos = getPolylineElemIdAndConductorOfGenerator(gens(i)%p) call elemIdToCable%get(key(idAndPos(1)), value=index) @@ -3387,10 +3391,12 @@ logical function IsGeneratorOnWire(p) polyline = this%mesh%getPolyline(mAs(i)%elementIds(l)) do j = 2, size(polyline%coordIds)-1 if (polyline%coordIds(j) == cId) then - if (fieldLabel == J_FIELD_VOLTAGE .and. & - (mAs(i)%matAssType == J_MAT_TYPE_WIRE .or. & - mAs(i)%matAssType == J_MAT_TYPE_UNSHIELDED_MULTIWIRE)) then - ! call WarnErrReport('Voltage generators cannot be defined on wire/unshieldedMultiwire interior points', .true.) + if (fieldLabel == J_FIELD_VOLTAGE .and. (mAs(i)%matAssType == J_MAT_TYPE_WIRE .or. mAs(i)%matAssType == J_MAT_TYPE_UNSHIELDED_MULTIWIRE)) then + call WarnErrReport('Voltage generators cannot be defined on wire/unshieldedMultiwire interior points', .true.) + return + else if (fieldLabel == J_FIELD_CURRENT .and. mAs(i)%matAssType == J_MAT_TYPE_SHIELDED_MULTIWIRE) then + call WarnErrReport('Current generators cannot be defined on shieldedMultiwire interior points', .true.) + return end if IsGeneratorOnWire = .true. return diff --git a/src_mtln/mtl_bundle.F90 b/src_mtln/mtl_bundle.F90 index ed4a5c5f..3f0c21cb 100644 --- a/src_mtln/mtl_bundle.F90 +++ b/src_mtln/mtl_bundle.F90 @@ -19,7 +19,7 @@ module mtl_bundle_m integer :: number_of_conductors = 0, number_of_divisions = 0 real, dimension(:), allocatable :: step_size real, allocatable, dimension(:,:) :: v, i - real, allocatable, dimension(:,:) :: v_source, i_source, e_L, field_from_current + real, allocatable, dimension(:,:) :: v_source, i_source, e_L real, allocatable, dimension(:,:,:) :: du(:,:,:) real :: time = 0.0, dt = 1e10 @@ -71,7 +71,6 @@ module mtl_bundle_m integer, dimension(3) ::position integer :: direction = 0 real(kind=rkind) , pointer :: field => null() - real(kind=rkind) :: field_from_current = 0.0 end type contains @@ -118,7 +117,6 @@ subroutine initialAllocation(this) allocate(this%v(this%number_of_conductors, this%number_of_divisions + 1), source = 0.0) allocate(this%i(this%number_of_conductors, this%number_of_divisions), source = 0.0) allocate(this%e_L(this%number_of_conductors, this%number_of_divisions), source = 0.0) - allocate(this%field_from_current(this%number_of_conductors, this%number_of_divisions), source = 0.0) allocate(this%v_source(this%number_of_conductors, this%number_of_divisions + 1), source = 0.0) allocate(this%i_source(this%number_of_conductors, this%number_of_divisions), source = 0.0) @@ -270,8 +268,8 @@ subroutine addGenerator(this, index, conductor, gen_type, resistance, path) if (gen_type == SOURCE_TYPE_VOLTAGE) then this%rpul(index, conductor, conductor) = this%rpul(index, conductor, conductor) + resistance/this%du(index, conductor, conductor) else if (new_generator%source_type == SOURCE_TYPE_CURRENT) then - ! this%rpul(index, conductor, conductor) = this%rpul(index, conductor, conductor) + resistance/this%du(index, conductor, conductor) - ! this%gpul(index, conductor, conductor) = this%gpul(index, conductor, conductor) + (1.0/resistance)/this%du(index, conductor, conductor) + this%rpul(index, conductor, conductor) = this%rpul(index, conductor, conductor) + resistance/this%du(index, conductor, conductor) + end if end subroutine @@ -384,14 +382,8 @@ subroutine bundle_updateGenerators(this, time, dt) val = 0.5*(this%generators(i)%interpolate(time+dt)+this%generators(i)%interpolate(time)) this%v_source(this%generators(i)%conductor, this%generators(i)%index) = val/this%du(this%generators(i)%index, this%generators(i)%conductor, this%generators(i)%conductor) else if (this%generators(i)%source_type == SOURCE_TYPE_CURRENT) then - ! val = this%generators(i)%interpolate(time) val = 0.5*(this%generators(i)%interpolate(time+dt)+this%generators(i)%interpolate(time)) - ! this%v_source(this%generators(i)%conductor, this%generators(i)%index) = val*this%generators(i)%resistance - ! this%v_source(this%generators(i)%conductor, this%generators(i)%index-1) = -0.5*val*this%generators(i)%resistance - ! this%i_source(this%generators(i)%conductor, this%generators(i)%index) = 0.5*val - ! this%i_source(this%generators(i)%conductor, this%generators(i)%index-1) =- 0.5*val - ! this%i_source(this%generators(i)%conductor, this%generators(i)%index) = val - this%i_source(this%generators(i)%conductor, this%generators(i)%index) = val/this%du(this%generators(i)%index, this%generators(i)%conductor, this%generators(i)%conductor) + this%v_source(this%generators(i)%conductor, this%generators(i)%index) = val*this%generators(i)%resistance/this%du(this%generators(i)%index, this%generators(i)%conductor, this%generators(i)%conductor) end if end do @@ -402,10 +394,7 @@ subroutine bundle_advanceVoltage(this) integer :: i do i = 2,this%number_of_divisions this%v(:, i) = matmul(this%v_term(i,:,:), this%v(:,i)) - & - ! matmul(this%i_diff(i,:,:), (this%i(:,i) - this%i(:,i-1))) matmul(this%i_diff(i,:,:), (this%i(:,i) - this%i(:,i-1)) + matmul(this%du(i,:,:), this%i_source(:,i))) - !soft I source? - ! this%i_source(:,i)) end do end subroutine @@ -430,19 +419,10 @@ subroutine bundle_advanceCurrent(this) do i = 1, this%number_of_divisions this%i(:,i) = matmul(this%i_term(i,:,:), this%i(:,i)) - & matmul(this%v_diff(i,:,:), (this%v(:,i+1) - this%v(:,i)) - & - this%e_L(:,i) * this%step_size(i) + & - !soft V source + this%e_L(:,i) * this%step_size(i) - & matmul(this%du(i,:,:),this%v_source(:,i))) - & matmul(this%v_diff(i,:,:), matmul(this%du(i,:,:), this%transfer_impedance%q3_phi(i,:))) enddo - !hard I source - ! do i = 1, size(this%generators) - ! if (this%generators(i)%source_type == SOURCE_TYPE_CURRENT) then - ! this%i(this%generators(i)%conductor, this%generators(i)%index) = & - ! this%i_source(this%generators(i)%conductor, this%generators(i)%index)*this%du(this%generators(i)%index, this%generators(i)%conductor, this%generators(i)%conductor) - ! end if - ! end do - !TODO - revisar i_now = this%i call this%transfer_impedance%updatePhi(i_prev, i_now) end subroutine diff --git a/src_mtln/mtln_types.F90 b/src_mtln/mtln_types.F90 index 14f541e3..3ce0ff6a 100644 --- a/src_mtln/mtln_types.F90 +++ b/src_mtln/mtln_types.F90 @@ -56,6 +56,7 @@ module mtln_types_m type node_source_t character(len=256) :: path_to_excitation = "" integer :: source_type = SOURCE_TYPE_UNDEFINED + real :: resistance end type type terminal_circuit_t diff --git a/src_mtln/preprocess.F90 b/src_mtln/preprocess.F90 index 8c8fa473..4ed0b2c0 100644 --- a/src_mtln/preprocess.F90 +++ b/src_mtln/preprocess.F90 @@ -601,7 +601,7 @@ function writeSeriesRLCnode(node, termination, end_node) result(res) character(len=*), intent(in) :: end_node character(len=256), allocatable :: res(:) character(len=256) :: buff - character(20) :: termination_r, termination_l, termination_c, line_c, line_g + character(20) :: termination_r, termination_l, termination_c, line_c, line_g, generator_r write(termination_c, *) termination%capacitance write(termination_r, *) termination%resistance @@ -615,12 +615,18 @@ function writeSeriesRLCnode(node, termination, end_node) result(res) call appendToStringArray(res, buff) buff = trim(trim("C" // node%name) // " " // trim(node%name) // " " // trim(node%name) //"_S " // trim(termination_c)) call appendToStringArray(res, buff) + + write(generator_r, *) termination%source%resistance if (termination%source%source_type == SOURCE_TYPE_VOLTAGE) then - buff = trim(trim("V" // node%name) // "_S " // trim(node%name) // "_S " // trim(end_node) //" dc 0" ) + buff = trim(trim("V" // node%name) // "_S " // trim(node%name) // "_S " // trim(node%name) //"_genR" //" dc 0" ) + call appendToStringArray(res, buff) + buff = trim(trim("R" // node%name) // "_S " // trim(node%name) // "_genR " // trim(end_node) //" "// trim(generator_r) ) call appendToStringArray(res, buff) else if (termination%source%source_type == SOURCE_TYPE_CURRENT) then buff = trim(trim("I" // node%name) // "_S " // trim(end_node) // " " //trim(node%name) // "_S dc 0" ) call appendToStringArray(res, buff) + buff = trim(trim("R" // node%name) // "_S " // trim(end_node) // " " //trim(node%name) // "_S " // trim(generator_r) ) + call appendToStringArray(res, buff) end if else buff = trim(trim("R" // node%name) // " " // trim(node%name) // " " // end_node // trim(termination_r)) @@ -649,20 +655,25 @@ function writeNetwork_circuitNode(node, termination, end_node) result(res) character(len=*), intent(in) :: end_node character(len=256), allocatable :: res(:) character(len=256) :: buff - character(20) :: line_c, line_g, short_r + character(20) :: line_c, line_g, short_r, generator_r write(short_r, *) 1e-10 write(line_c, *) node%line_c_per_meter * node%step/2 allocate(res(0)) if (termination%source%path_to_excitation /= "") then + write(generator_r, *) termination%source%resistance buff = trim("R" // node%name // " " // node%name // " " // node%name //"_S")//" "//trim(short_R) call appendToStringArray(res, buff) if (termination%source%source_type == SOURCE_TYPE_VOLTAGE) then - buff = trim("V" // node%name // "_S " // node%name // "_S " // trim(end_node) //" dc 0" ) + buff = trim("V" // node%name // "_S " // node%name // "_S " // node%name // "_genR " //" dc 0" ) + call appendToStringArray(res, buff) + buff = trim("R" // node%name // "_S " // node%name // "_genR " // " " // trim(end_node) //" "// trim(generator_r)) call appendToStringArray(res, buff) else if (termination%source%source_type == SOURCE_TYPE_CURRENT) then buff = trim("I" // node%name // "_S " // trim(end_node) // " " // node%name // "_S dc 0" ) call appendToStringArray(res, buff) + buff = trim("R" // node%name // "_S " // trim(end_node) // " " // node%name // "_S " // trim(generator_r)) + call appendToStringArray(res, buff) end if else buff = trim("R" // node%name // " " // node%name // " " // trim(end_node))//" "//trim(short_R) @@ -689,7 +700,7 @@ function writeModelNode(node, termination, end_node) result(res) character(len=256), allocatable :: res(:) character(len=256) :: buff character(len=:), allocatable :: model_name, model_file - character(20) :: line_c, line_g + character(20) :: line_c, line_g, generator_r write(line_c, *) node%line_c_per_meter * node%step/2 allocate(res(0)) @@ -700,12 +711,17 @@ function writeModelNode(node, termination, end_node) result(res) call appendToStringArray(res, buff) if (termination%source%path_to_excitation /= "") then + write(generator_r, *) termination%source%resistance if (termination%source%source_type == SOURCE_TYPE_VOLTAGE) then - buff = trim("V" // node%name // "_S " // node%name // " " // node%name //"_S dc 0" ) + buff = trim("V" // node%name // "_S " // node%name // " " // node%name //"_genR dc 0" ) + call appendToStringArray(res, buff) + buff = trim("R" // node%name // "_S " // node%name // "_genR " // node%name //"_S " //trim(generator_r)) call appendToStringArray(res, buff) else if (termination%source%source_type == SOURCE_TYPE_CURRENT) then buff = trim("I" // node%name // "_S " // node%name // "_S " // node%name // " dc 0" ) call appendToStringArray(res, buff) + buff = trim("R" // node%name // "_S " // node%name // "_S " // node%name // " " // trim(generator_r) ) + call appendToStringArray(res, buff) end if buff = trim("x" // node%name // " " // node%name // "_S " // end_node //" ")//" "//trim(model_name) call appendToStringArray(res, buff) @@ -734,7 +750,7 @@ function writeSeriesRLnode(node, termination, end_node) result(res) character(len=*), intent(in) :: end_node character(len=256), allocatable :: res(:) character(len=256) :: buff - character(20) :: termination_r, termination_l, line_c, line_g + character(20) :: termination_r, termination_l, line_c, line_g, generator_r write(termination_r, *) termination%resistance write(termination_l, *) termination%inductance @@ -745,14 +761,19 @@ function writeSeriesRLnode(node, termination, end_node) result(res) buff = trim("R" // node%name // " " // node%name // "_R " // node%name //" ")//" "//trim(termination_r) call appendToStringArray(res, buff) if (termination%source%path_to_excitation /= "") then + write(generator_r, *) termination%source%resistance buff = trim("L" // node%name // " " // node%name // "_R " // node%name //"_S")//" "//trim(termination_l) call appendToStringArray(res, buff) if (termination%source%source_type == SOURCE_TYPE_VOLTAGE) then - buff = trim("V" // node%name // "_S " // node%name // "_S " // end_node //" dc 0" ) + buff = trim("V" // node%name // "_S " // node%name // "_S " // node%name //"_genR dc 0" ) + call appendToStringArray(res, buff) + buff = trim("R" // node%name // "_S " // node%name // "_genR " // end_node //" " // trim(generator_r)) call appendToStringArray(res, buff) else if (termination%source%source_type == SOURCE_TYPE_CURRENT) then buff = trim("I" // node%name // "_S " // end_node // " " //node%name // "_S dc 0" ) call appendToStringArray(res, buff) + buff = trim("R" // node%name // "_S " // end_node // " " //node%name // "_S " // trim(generator_r)) + call appendToStringArray(res, buff) end if else buff = trim("L" // node%name // " " // node%name // "_R " // end_node)//" "//trim(termination_l) @@ -807,21 +828,26 @@ function writeShortNode(node, termination, end_node) result(res) character(len=*), intent(in) :: end_node character(len=256), allocatable :: res(:) character(len=256) :: buff - character(20) :: short_R, line_c, line_g + character(20) :: short_R, line_c, line_g, generator_r write(short_r, *) 1e-10 write(line_c, *) node%line_c_per_meter*node%step/2 allocate(res(0)) if (termination%source%path_to_excitation /= "") then + write(generator_r,*) termination%source%resistance buff = trim("R" // node%name // " " // node%name // " " // node%name //"_S")//" "//trim(short_R) call appendToStringArray(res, buff) if (termination%source%source_type == SOURCE_TYPE_VOLTAGE) then - buff = trim("V" // node%name // "_S " // node%name // "_S " // trim(end_node) //" dc 0" ) + buff = trim("V" // node%name // "_S " // node%name // "_S " // node%name //"_genR dc 0" ) + call appendToStringArray(res, buff) + buff = trim("R" // node%name // "_S " // node%name // "_genR " // trim(end_node) //" " // trim(generator_r) ) call appendToStringArray(res, buff) else if (termination%source%source_type == SOURCE_TYPE_CURRENT) then buff = trim("I" // node%name // "_S " // trim(end_node) // " " // node%name // "_S dc 0" ) call appendToStringArray(res, buff) + buff = trim("R" // node%name // "_S " // trim(end_node) // " " // node%name // "_S " //trim(generator_r)) + call appendToStringArray(res, buff) end if else buff = trim("R" // node%name // " " // node%name // " " // trim(end_node))//" "//trim(short_R) @@ -910,7 +936,7 @@ function writeXYsZpnode(node, termination, end_node, XYZ) result(res) character(len=256), allocatable :: res(:) character(len=256) :: buff character(len=:), allocatable :: node_name - character(20) :: termination_x, termination_y, termination_z, line_c, line_g + character(20) :: termination_x, termination_y, termination_z, line_c, line_g, generator_r if (XYZ == "RLC" .or. XYZ == "LRC") then write(termination_x, *) termination%resistance @@ -932,16 +958,21 @@ function writeXYsZpnode(node, termination, end_node, XYZ) result(res) buff = trim(XYZ(1:1) // node%name // " " // node%name // " " // node%name //"_X " // termination_x) call appendToStringArray(res, buff) if (termination%source%path_to_excitation /= "") then + write(generator_r, *) termination%source%resistance buff = trim(XYZ(2:2) // node%name // " " // node%name // "_X " // node%name //"_S " // termination_y) call appendToStringArray(res, buff) buff = trim(XYZ(3:3) // node%name // " " // node%name // " " // node%name //"_S " // termination_z) call appendToStringArray(res, buff) if (termination%source%source_type == SOURCE_TYPE_VOLTAGE) then - buff = trim("V" // node%name // "_S " // node%name // "_S " // end_node //" dc 0" ) + buff = trim("V" // node%name // "_S " // node%name // "_S " // node%name //"_genR dc 0" ) + call appendToStringArray(res, buff) + buff = trim("R" // node%name // "_S " // node%name // "_genR " // end_node //" " // trim(generator_r)) call appendToStringArray(res, buff) else if (termination%source%source_type == SOURCE_TYPE_CURRENT) then buff = trim("I" // node%name // "_S " // end_node // " " //node%name // "_S dc 0" ) call appendToStringArray(res, buff) + buff = trim("R" // node%name // "_S " // end_node // " " //node%name // "_S "// trim(generator_r)) + call appendToStringArray(res, buff) end if else buff = trim(XYZ(2:2) // node%name // " " // node%name // "_X " // end_node //" "// termination_y) @@ -970,7 +1001,7 @@ function writeXsYZpnode(node, termination, end_node, XYZ) result(res) character(len=256), allocatable :: res(:) character(len=256) :: buff character(len=:), allocatable :: node_name - character(20) :: termination_x, termination_y, termination_z, line_c, line_g + character(20) :: termination_x, termination_y, termination_z, line_c, line_g, generator_r if (XYZ == "RLC" .or. XYZ == "RCL") then write(termination_x, *) termination%resistance @@ -991,17 +1022,22 @@ function writeXsYZpnode(node, termination, end_node, XYZ) result(res) allocate(res(0)) res = [trim(XYZ(1:1) // node%name // " " // node%name // " " // node%name //"_p " // termination_x)] if (termination%source%path_to_excitation /= "") then + write(generator_r,*) termination%source%resistance buff = trim(XYZ(2:2) // node%name // " " // node%name // "_p " // node%name //"_S "// termination_y) call appendToStringArray(res, buff) buff = trim(XYZ(3:3) // node%name // " " // node%name // "_p " // node%name //"_S "// termination_z) call appendToStringArray(res, buff) if (termination%source%source_type == SOURCE_TYPE_VOLTAGE) then - buff = trim("V" // node%name // "_S " // node%name // "_S " // end_node //" dc 0" ) + buff = trim("V" // node%name // "_S " // node%name // "_S " // node%name //"_genR dc 0" ) + call appendToStringArray(res, buff) + buff = trim("R" // node%name // "_S " // node%name // "_genR " // end_node //" " // trim(generator_r)) call appendToStringArray(res, buff) else if (termination%source%source_type == SOURCE_TYPE_CURRENT) then buff = trim("I" // node%name // "_S " //end_node // " "// node%name // "_S dc 0" ) call appendToStringArray(res, buff) + buff = trim("R" // node%name // "_S " //end_node // " "// node%name // "_S " // trim(generator_r)) + call appendToStringArray(res, buff) end if else buff = trim(XYZ(2:2) // node%name // " " // node%name // "_p " // end_node //" "// termination_y) diff --git a/src_wires_pub/wires_mtln.F90 b/src_wires_pub/wires_mtln.F90 index be1e8190..66a27558 100644 --- a/src_wires_pub/wires_mtln.F90 +++ b/src_wires_pub/wires_mtln.F90 @@ -110,7 +110,6 @@ subroutine AdvanceWiresE_mtln(sgg,Idxh, Idyh, Idzh, eps00,mu00) do m = 1, mtln_solver%number_of_bundles if (mtln_solver%bundles(m)%bundle_in_layer) then do n = 1, ubound(mtln_solver%bundles(m)%external_field_segments,1) - mtln_solver%bundles(m)%external_field_segments(n)%field_from_current = computeFieldFromCurrent(m,n) punt => mtln_solver%bundles(m)%external_field_segments(n)%field punt = real(punt, kind=rkind_wires) - computeFieldFromCurrent(m,n) end do diff --git a/test/pyWrapper/test_full_system.py b/test/pyWrapper/test_full_system.py index 4d6fb78b..9ec1eefe 100644 --- a/test/pyWrapper/test_full_system.py +++ b/test/pyWrapper/test_full_system.py @@ -1585,6 +1585,68 @@ def test_conformal_delay(tmp_path): assert np.abs(delay - tdelta)/tdelta < 0.01 +def test_current_generators(tmp_path): + fn = CASES_FOLDER + 'sources/sources_current.fdtd.json' + solver = FDTD(input_filename=fn, path_to_exe=SEMBA_EXE, + run_in_folder=tmp_path, flags=['-mapvtk']) + solver["sources"][0]["elementIds"] = [1] + solver.cleanUp() + solver.run() + probes = solver.getSolvedProbeFilenames("probe_end") + Iend = Probe(list(filter(lambda x: '_I_' in x, probes))[0]) + + probes = solver.getSolvedProbeFilenames("probe_start") + Istart = Probe(list(filter(lambda x: '_I_' in x, probes))[0]) + + probes = solver.getSolvedProbeFilenames("probe_end") + Vend = Probe(list(filter(lambda x: '_V_' in x, probes))[0]) + + probes = solver.getSolvedProbeFilenames("probe_start") + Vstart = Probe(list(filter(lambda x: '_V_' in x, probes))[0]) + + assert np.allclose(Iend['current_0'][-100:-1], 1.0/3.0, rtol=0.005) + assert np.allclose(Istart['current_0'][-100:-1], 1.0/3.0, rtol=0.005) + assert np.allclose(Vend['voltage_0'][-100:-1], 16.666, rtol=0.005) + assert np.allclose(Vstart['voltage_0'][-100:-1], -16.666, rtol=0.005) + + # solver["sources"][0]["elementIds"] = [1] + # solver.cleanUp() + # solver.run() + +def test_voltage_generators(tmp_path): + fn = CASES_FOLDER + 'sources/sources_voltage.fdtd.json' + solver = FDTD(input_filename=fn, path_to_exe=SEMBA_EXE, + run_in_folder=tmp_path, flags=['-mapvtk']) + solver["sources"][0]["elementIds"] = [1] + solver.cleanUp() + solver.run() + + probes = solver.getSolvedProbeFilenames("probe_end") + Iend = Probe(list(filter(lambda x: '_I_' in x, probes))[0]) + + probes = solver.getSolvedProbeFilenames("probe_start") + Istart = Probe(list(filter(lambda x: '_I_' in x, probes))[0]) + + probes = solver.getSolvedProbeFilenames("probe_end") + Vend = Probe(list(filter(lambda x: '_V_' in x, probes))[0]) + + probes = solver.getSolvedProbeFilenames("probe_start") + Vstart = Probe(list(filter(lambda x: '_V_' in x, probes))[0]) + + assert np.allclose(Iend['current_0'][-100:-1], 0.0, rtol=0.005) + assert np.allclose(Istart['current_0'][-100:-1], 0.0, rtol=0.005) + assert np.allclose(Vend['voltage_0'][-100:-1], 0.0, rtol=0.005) + assert np.allclose(Vstart['voltage_0'][-100:-1], 0.0, rtol=0.005) + + assert np.allclose(Iend['current_1'][-100:-1], 1.0/3.0, rtol=0.005) + assert np.allclose(Istart['current_1'][-100:-1], 1.0/3.0, rtol=0.005) + assert np.allclose(Vend['voltage_1'][-100:-1], -16.666, rtol=0.005) + assert np.allclose(Vstart['voltage_1'][-100:-1], -16.666, rtol=0.005) + + # solver["sources"][0]["elementIds"] = [1] + # solver.cleanUp() + # solver.run() + def test_bulk_current_outputs(tmp_path): # This test uses bulk_probe_cases_over_nodal_source.fdtd from input_examples as input. @@ -1615,4 +1677,6 @@ def test_bulk_current_outputs(tmp_path): assert probeBulkYPlane.direction == 'y' assert probeBulkZPlane.direction == 'z' assert probeBulkYPoint.direction == 'y' - assert probeBulkZVolume.direction == 'z' \ No newline at end of file + assert probeBulkZVolume.direction == 'z' + + \ No newline at end of file diff --git a/testData/cases/sources/current_source_1A.exc b/testData/cases/sources/current_source_1A.exc index 48cf9fb0..59142538 100644 --- a/testData/cases/sources/current_source_1A.exc +++ b/testData/cases/sources/current_source_1A.exc @@ -32,972 +32,972 @@ 9.299999999999999938e-10 0.000000000000000000e+00 9.599999999999999936e-10 0.000000000000000000e+00 9.900000000000000968e-10 0.000000000000000000e+00 -1.019999999999999993e-09 0.000000000000000000e+00 -1.049999999999999890e-09 0.000000000000000000e+00 -1.079999999999999993e-09 0.000000000000000000e+00 -1.110000000000000096e-09 0.000000000000000000e+00 -1.139999999999999992e-09 0.000000000000000000e+00 -1.169999999999999889e-09 0.000000000000000000e+00 -1.199999999999999992e-09 0.000000000000000000e+00 -1.230000000000000095e-09 0.000000000000000000e+00 -1.259999999999999992e-09 0.000000000000000000e+00 -1.289999999999999888e-09 0.000000000000000000e+00 -1.319999999999999991e-09 0.000000000000000000e+00 -1.350000000000000094e-09 0.000000000000000000e+00 -1.379999999999999991e-09 0.000000000000000000e+00 -1.409999999999999887e-09 0.000000000000000000e+00 -1.439999999999999990e-09 0.000000000000000000e+00 -1.470000000000000094e-09 0.000000000000000000e+00 -1.499999999999999990e-09 0.000000000000000000e+00 -1.529999999999999886e-09 0.000000000000000000e+00 -1.559999999999999990e-09 0.000000000000000000e+00 -1.590000000000000093e-09 0.000000000000000000e+00 -1.619999999999999989e-09 0.000000000000000000e+00 -1.649999999999999886e-09 0.000000000000000000e+00 -1.679999999999999989e-09 0.000000000000000000e+00 -1.710000000000000092e-09 0.000000000000000000e+00 -1.739999999999999988e-09 0.000000000000000000e+00 -1.769999999999999885e-09 0.000000000000000000e+00 -1.799999999999999988e-09 0.000000000000000000e+00 -1.830000000000000091e-09 0.000000000000000000e+00 -1.859999999999999988e-09 0.000000000000000000e+00 -1.889999999999999884e-09 0.000000000000000000e+00 -1.919999999999999987e-09 0.000000000000000000e+00 -1.950000000000000090e-09 0.000000000000000000e+00 -1.980000000000000194e-09 0.000000000000000000e+00 -2.009999999999999883e-09 0.000000000000000000e+00 -2.039999999999999986e-09 0.000000000000000000e+00 -2.070000000000000090e-09 0.000000000000000000e+00 -2.099999999999999779e-09 0.000000000000000000e+00 -2.129999999999999882e-09 0.000000000000000000e+00 -2.159999999999999986e-09 0.000000000000000000e+00 -2.190000000000000089e-09 0.000000000000000000e+00 -2.220000000000000192e-09 0.000000000000000000e+00 -2.249999999999999882e-09 0.000000000000000000e+00 -2.279999999999999985e-09 0.000000000000000000e+00 -2.310000000000000088e-09 0.000000000000000000e+00 -2.339999999999999778e-09 0.000000000000000000e+00 -2.369999999999999881e-09 0.000000000000000000e+00 -2.399999999999999984e-09 0.000000000000000000e+00 -2.430000000000000087e-09 0.000000000000000000e+00 -2.460000000000000190e-09 0.000000000000000000e+00 -2.489999999999999880e-09 0.000000000000000000e+00 -2.519999999999999983e-09 7.272727272727248435e-04 -2.550000000000000086e-09 1.818181818181819698e-03 -2.579999999999999776e-09 2.909090909090899374e-03 -2.609999999999999879e-09 3.999999999999994012e-03 -2.639999999999999982e-09 5.090909090909088650e-03 -2.670000000000000086e-09 6.181818181818183287e-03 -2.700000000000000189e-09 7.272727272727278792e-03 -2.729999999999999878e-09 8.363636363636357818e-03 -2.759999999999999982e-09 9.454545454545453323e-03 -2.790000000000000085e-09 1.054545454545454709e-02 -2.819999999999999774e-09 1.163636363636362699e-02 -2.849999999999999878e-09 1.272727272727272249e-02 -2.879999999999999981e-09 1.381818181818181626e-02 -2.910000000000000084e-09 1.490909090909091177e-02 -2.940000000000000187e-09 1.600000000000000727e-02 -2.969999999999999877e-09 1.709090909090908716e-02 -2.999999999999999980e-09 1.818181818181818094e-02 -3.030000000000000083e-09 1.927272727272727471e-02 -3.059999999999999773e-09 2.036363636363635460e-02 -3.089999999999999876e-09 2.145454545454545184e-02 -3.119999999999999979e-09 2.254545454545454561e-02 -3.150000000000000082e-09 2.363636363636363938e-02 -3.180000000000000186e-09 2.472727272727273315e-02 -3.209999999999999875e-09 2.581818181818181304e-02 -3.239999999999999978e-09 2.690909090909091028e-02 -3.270000000000000082e-09 2.800000000000000405e-02 -3.299999999999999771e-09 2.909090909090908394e-02 -3.329999999999999874e-09 3.018181818181817772e-02 -3.359999999999999978e-09 3.127272727272727149e-02 -3.390000000000000081e-09 3.236363636363636526e-02 -3.420000000000000184e-09 3.345454545454545903e-02 -3.449999999999999874e-09 3.454545454545453892e-02 -3.479999999999999977e-09 3.563636363636363963e-02 -3.510000000000000080e-09 3.672727272727273340e-02 -3.539999999999999770e-09 3.781818181818181329e-02 -3.569999999999999873e-09 3.890909090909090706e-02 -3.599999999999999976e-09 4.000000000000000083e-02 -3.630000000000000079e-09 4.109090909090909460e-02 -3.660000000000000182e-09 4.218181818181818837e-02 -3.689999999999999872e-09 4.327272727272726827e-02 -3.719999999999999975e-09 4.436363636363636204e-02 -3.749999999999999665e-09 4.545454545454544193e-02 -3.779999999999999768e-09 4.654545454545454264e-02 -3.809999999999999871e-09 4.763636363636363641e-02 -3.839999999999999974e-09 4.872727272727273018e-02 -3.870000000000000078e-09 4.981818181818182395e-02 -3.900000000000000181e-09 5.090909090909091772e-02 -3.930000000000000284e-09 5.200000000000001149e-02 -3.960000000000000387e-09 5.309090909090910526e-02 -3.989999999999999663e-09 5.418181818181817128e-02 -4.019999999999999766e-09 5.527272727272726505e-02 -4.049999999999999870e-09 5.636363636363635882e-02 -4.079999999999999973e-09 5.745454545454545953e-02 -4.110000000000000076e-09 5.854545454545455330e-02 -4.140000000000000179e-09 5.963636363636364707e-02 -4.170000000000000282e-09 6.072727272727274084e-02 -4.199999999999999558e-09 6.181818181818180685e-02 -4.229999999999999662e-09 6.290909090909090062e-02 -4.259999999999999765e-09 6.400000000000000133e-02 -4.289999999999999868e-09 6.509090909090908816e-02 -4.319999999999999971e-09 6.618181818181818887e-02 -4.350000000000000074e-09 6.727272727272727570e-02 -4.380000000000000178e-09 6.836363636363637641e-02 -4.410000000000000281e-09 6.945454545454546325e-02 -4.440000000000000384e-09 7.054545454545456395e-02 -4.469999999999999660e-09 7.163636363636362303e-02 -4.499999999999999763e-09 7.272727272727272374e-02 -4.529999999999999866e-09 7.381818181818182445e-02 -4.559999999999999970e-09 7.490909090909091128e-02 -4.590000000000000073e-09 7.600000000000001199e-02 -4.620000000000000176e-09 7.709090909090909882e-02 -4.650000000000000279e-09 7.818181818181819953e-02 -4.679999999999999555e-09 7.927272727272725861e-02 -4.709999999999999658e-09 8.036363636363635932e-02 -4.739999999999999762e-09 8.145454545454544615e-02 -4.769999999999999865e-09 8.254545454545454686e-02 -4.799999999999999968e-09 8.363636363636364757e-02 -4.830000000000000071e-09 8.472727272727273440e-02 -4.860000000000000174e-09 8.581818181818183511e-02 -4.890000000000000278e-09 8.690909090909092194e-02 -4.920000000000000381e-09 8.800000000000002265e-02 -4.949999999999999657e-09 8.909090909090908172e-02 -4.979999999999999760e-09 9.018181818181818243e-02 -5.009999999999999863e-09 9.127272727272726927e-02 -5.039999999999999966e-09 9.236363636363636997e-02 -5.070000000000000070e-09 9.345454545454547068e-02 -5.100000000000000173e-09 9.454545454545455752e-02 -5.130000000000000276e-09 9.563636363636365822e-02 -5.159999999999999552e-09 9.672727272727271730e-02 -5.189999999999999655e-09 9.781818181818181801e-02 -5.219999999999999758e-09 9.890909090909090484e-02 -5.249999999999999862e-09 1.000000000000000056e-01 -5.279999999999999965e-09 1.010909090909090924e-01 -5.310000000000000068e-09 1.021818181818181931e-01 -5.340000000000000171e-09 1.032727272727272799e-01 -5.370000000000000274e-09 1.043636363636363806e-01 -5.400000000000000378e-09 1.054545454545454813e-01 -5.429999999999999654e-09 1.065454545454545404e-01 -5.459999999999999757e-09 1.076363636363636411e-01 -5.489999999999999860e-09 1.087272727272727280e-01 -5.519999999999999963e-09 1.098181818181818287e-01 -5.550000000000000066e-09 1.109090909090909155e-01 -5.580000000000000170e-09 1.120000000000000162e-01 -5.610000000000000273e-09 1.130909090909091030e-01 -5.639999999999999549e-09 1.141818181818181760e-01 -5.669999999999999652e-09 1.152727272727272628e-01 -5.699999999999999755e-09 1.163636363636363635e-01 -5.729999999999999858e-09 1.174545454545454642e-01 -5.759999999999999962e-09 1.185454545454545511e-01 -5.790000000000000065e-09 1.196363636363636518e-01 -5.820000000000000168e-09 1.207272727272727386e-01 -5.850000000000000271e-09 1.218181818181818393e-01 -5.880000000000000374e-09 1.229090909090909262e-01 -5.909999999999999651e-09 1.239999999999999991e-01 -5.939999999999999754e-09 1.250909090909090859e-01 -5.969999999999999857e-09 1.261818181818181728e-01 -5.999999999999999960e-09 1.272727272727272874e-01 -6.030000000000000063e-09 1.283636363636363742e-01 -6.060000000000000166e-09 1.294545454545454610e-01 -6.090000000000000270e-09 1.305454545454545756e-01 -6.119999999999999546e-09 1.316363636363636347e-01 -6.149999999999999649e-09 1.327272727272727215e-01 -6.179999999999999752e-09 1.338181818181818084e-01 -6.209999999999999855e-09 1.349090909090909229e-01 -6.239999999999999959e-09 1.360000000000000098e-01 -6.270000000000000062e-09 1.370909090909090966e-01 -6.300000000000000165e-09 1.381818181818182112e-01 -6.330000000000000268e-09 1.392727272727272980e-01 -6.360000000000000371e-09 1.403636363636363849e-01 -6.389999999999999647e-09 1.414545454545454439e-01 -6.419999999999999751e-09 1.425454545454545585e-01 -6.449999999999999854e-09 1.436363636363636453e-01 -6.479999999999999957e-09 1.447272727272727322e-01 -6.510000000000000060e-09 1.458181818181818190e-01 -6.540000000000000163e-09 1.469090909090909336e-01 -6.570000000000000267e-09 1.480000000000000204e-01 -6.599999999999999543e-09 1.490909090909090795e-01 -6.629999999999999646e-09 1.501818181818181941e-01 -6.659999999999999749e-09 1.512727272727272809e-01 -6.689999999999999852e-09 1.523636363636363678e-01 -6.719999999999999955e-09 1.534545454545454546e-01 -6.750000000000000059e-09 1.545454545454545692e-01 -6.780000000000000162e-09 1.556363636363636560e-01 -6.810000000000000265e-09 1.567272727272727428e-01 -6.840000000000000368e-09 1.578181818181818574e-01 -6.869999999999999644e-09 1.589090909090909165e-01 -6.899999999999999747e-09 1.600000000000000033e-01 -6.929999999999999851e-09 1.610909090909090902e-01 -6.959999999999999954e-09 1.621818181818182047e-01 -6.990000000000000057e-09 1.632727272727272916e-01 -7.020000000000000160e-09 1.643636363636363784e-01 -7.050000000000000263e-09 1.654545454545454652e-01 -7.079999999999999539e-09 1.665454545454545521e-01 -7.109999999999999643e-09 1.676363636363636389e-01 -7.139999999999999746e-09 1.687272727272727257e-01 -7.169999999999999849e-09 1.698181818181818403e-01 -7.199999999999999952e-09 1.709090909090909272e-01 -7.230000000000000055e-09 1.720000000000000140e-01 -7.260000000000000159e-09 1.730909090909091008e-01 -7.290000000000000262e-09 1.741818181818182154e-01 -7.320000000000000365e-09 1.752727272727273022e-01 -7.349999999999999641e-09 1.763636363636363613e-01 -7.379999999999999744e-09 1.774545454545454481e-01 -7.409999999999999847e-09 1.785454545454545627e-01 -7.439999999999999951e-09 1.796363636363636496e-01 -7.470000000000000054e-09 1.807272727272727364e-01 -7.499999999999999330e-09 1.818181818181817955e-01 -7.530000000000000260e-09 1.829090909090909378e-01 -7.559999999999999536e-09 1.839999999999999969e-01 -7.590000000000000467e-09 1.850909090909091115e-01 -7.619999999999999743e-09 1.861818181818181983e-01 -7.650000000000000673e-09 1.872727272727273129e-01 -7.679999999999999949e-09 1.883636363636363720e-01 -7.709999999999999225e-09 1.894545454545454310e-01 -7.740000000000000155e-09 1.905454545454545734e-01 -7.769999999999999431e-09 1.916363636363636325e-01 -7.800000000000000362e-09 1.927272727272727471e-01 -7.829999999999999638e-09 1.938181818181818339e-01 -7.860000000000000568e-09 1.949090909090909485e-01 -7.889999999999999844e-09 1.960000000000000075e-01 -7.920000000000000775e-09 1.970909090909091221e-01 -7.950000000000000051e-09 1.981818181818182090e-01 -7.979999999999999327e-09 1.992727272727272680e-01 -8.010000000000000257e-09 2.003636363636363826e-01 -8.039999999999999533e-09 2.014545454545454417e-01 -8.070000000000000463e-09 2.025454545454545840e-01 -8.099999999999999739e-09 2.036363636363636431e-01 -8.130000000000000670e-09 2.047272727272727577e-01 -8.159999999999999946e-09 2.058181818181818445e-01 -8.189999999999999222e-09 2.069090909090909036e-01 -8.220000000000000152e-09 2.080000000000000182e-01 -8.249999999999999428e-09 2.090909090909090773e-01 -8.280000000000000359e-09 2.101818181818182196e-01 -8.309999999999999635e-09 2.112727272727272787e-01 -8.340000000000000565e-09 2.123636363636363933e-01 -8.369999999999999841e-09 2.134545454545454801e-01 -8.399999999999999117e-09 2.145454545454545392e-01 -8.430000000000000047e-09 2.156363636363636538e-01 -8.459999999999999323e-09 2.167272727272727129e-01 -8.490000000000000254e-09 2.178181818181818552e-01 -8.519999999999999530e-09 2.189090909090909143e-01 -8.550000000000000460e-09 2.200000000000000289e-01 -8.579999999999999736e-09 2.210909090909090879e-01 -8.610000000000000667e-09 2.221818181818182303e-01 -8.639999999999999943e-09 2.232727272727272894e-01 -8.669999999999999219e-09 2.243636363636363484e-01 -8.700000000000000149e-09 2.254545454545454908e-01 -8.729999999999999425e-09 2.265454545454545499e-01 -8.760000000000000355e-09 2.276363636363636644e-01 -8.789999999999999631e-09 2.287272727272727235e-01 -8.820000000000000562e-09 2.298181818181818659e-01 -8.849999999999999838e-09 2.309090909090909249e-01 -8.880000000000000768e-09 2.320000000000000395e-01 -8.910000000000000044e-09 2.330909090909090986e-01 -8.939999999999999320e-09 2.341818181818181854e-01 -8.970000000000000251e-09 2.352727272727273000e-01 -8.999999999999999527e-09 2.363636363636363591e-01 -9.030000000000000457e-09 2.374545454545455014e-01 -9.059999999999999733e-09 2.385454545454545605e-01 -9.090000000000000663e-09 2.396363636363636751e-01 -9.119999999999999939e-09 2.407272727272727342e-01 -9.149999999999999215e-09 2.418181818181818210e-01 -9.180000000000000146e-09 2.429090909090909356e-01 -9.209999999999999422e-09 2.439999999999999947e-01 -9.240000000000000352e-09 2.450909090909091370e-01 -9.269999999999999628e-09 2.461818181818181961e-01 -9.300000000000000559e-09 2.472727272727273107e-01 -9.329999999999999835e-09 2.483636363636363698e-01 -9.359999999999999111e-09 2.494545454545454566e-01 -9.390000000000000041e-09 2.505454545454545712e-01 -9.419999999999999317e-09 2.516363636363636580e-01 -9.450000000000000247e-09 2.527272727272727448e-01 -9.479999999999999523e-09 2.538181818181818317e-01 -9.510000000000000454e-09 2.549090909090909740e-01 -9.539999999999999730e-09 2.560000000000000053e-01 -9.570000000000000660e-09 2.570909090909091477e-01 -9.599999999999999936e-09 2.581818181818181790e-01 -9.629999999999999212e-09 2.592727272727272658e-01 -9.660000000000000143e-09 2.603636363636364082e-01 -9.689999999999999419e-09 2.614545454545454395e-01 -9.720000000000000349e-09 2.625454545454545818e-01 -9.749999999999999625e-09 2.636363636363636687e-01 -9.780000000000000555e-09 2.647272727272727555e-01 -9.809999999999999831e-09 2.658181818181818423e-01 -9.840000000000000762e-09 2.669090909090909847e-01 -9.870000000000000038e-09 2.680000000000000160e-01 -9.899999999999999314e-09 2.690909090909091028e-01 -9.930000000000000244e-09 2.701818181818181897e-01 -9.959999999999999520e-09 2.712727272727272210e-01 -9.990000000000000451e-09 2.723636363636363633e-01 -1.001999999999999973e-08 2.734545454545455057e-01 -1.005000000000000066e-08 2.745454545454546480e-01 -1.007999999999999993e-08 2.756363636363636238e-01 -1.010999999999999921e-08 2.767272727272727662e-01 -1.014000000000000014e-08 2.778181818181818530e-01 -1.016999999999999942e-08 2.789090909090908843e-01 -1.020000000000000035e-08 2.800000000000000266e-01 -1.022999999999999962e-08 2.810909090909091135e-01 -1.026000000000000055e-08 2.821818181818182558e-01 -1.028999999999999983e-08 2.832727272727272871e-01 -1.031999999999999910e-08 2.843636363636363740e-01 -1.035000000000000003e-08 2.854545454545455163e-01 -1.037999999999999931e-08 2.865454545454544921e-01 -1.041000000000000024e-08 2.876363636363636345e-01 -1.043999999999999952e-08 2.887272727272727768e-01 -1.047000000000000045e-08 2.898181818181818636e-01 -1.049999999999999972e-08 2.909090909090908950e-01 -1.053000000000000065e-08 2.920000000000000373e-01 -1.055999999999999993e-08 2.930909090909091241e-01 -1.058999999999999921e-08 2.941818181818181555e-01 -1.062000000000000014e-08 2.952727272727272978e-01 -1.064999999999999941e-08 2.963636363636363846e-01 -1.068000000000000034e-08 2.974545454545455270e-01 -1.070999999999999962e-08 2.985454545454545028e-01 -1.074000000000000055e-08 2.996363636363636451e-01 -1.076999999999999982e-08 3.007272727272727875e-01 -1.080000000000000076e-08 3.018181818181818743e-01 -1.083000000000000003e-08 3.029090909090909056e-01 -1.085999999999999931e-08 3.040000000000000480e-01 -1.089000000000000024e-08 3.050909090909091348e-01 -1.091999999999999951e-08 3.061818181818181661e-01 -1.095000000000000044e-08 3.072727272727273085e-01 -1.097999999999999972e-08 3.083636363636363953e-01 -1.101000000000000065e-08 3.094545454545455376e-01 -1.103999999999999993e-08 3.105454545454545134e-01 -1.106999999999999920e-08 3.116363636363636558e-01 -1.110000000000000013e-08 3.127272727272727981e-01 -1.112999999999999941e-08 3.138181818181817739e-01 -1.116000000000000034e-08 3.149090909090909163e-01 -1.118999999999999962e-08 3.160000000000000586e-01 -1.122000000000000055e-08 3.170909090909091455e-01 -1.124999999999999982e-08 3.181818181818181768e-01 -1.127999999999999910e-08 3.192727272727273191e-01 -1.131000000000000003e-08 3.203636363636364059e-01 -1.133999999999999930e-08 3.214545454545454373e-01 -1.137000000000000023e-08 3.225454545454545796e-01 -1.139999999999999951e-08 3.236363636363636664e-01 -1.143000000000000044e-08 3.247272727272728088e-01 -1.145999999999999972e-08 3.258181818181817846e-01 -1.149000000000000065e-08 3.269090909090909269e-01 -1.151999999999999992e-08 3.280000000000000693e-01 -1.154999999999999920e-08 3.290909090909090451e-01 -1.158000000000000013e-08 3.301818181818181874e-01 -1.160999999999999941e-08 3.312727272727273298e-01 -1.164000000000000034e-08 3.323636363636364166e-01 -1.166999999999999961e-08 3.334545454545454479e-01 -1.170000000000000054e-08 3.345454545454545903e-01 -1.172999999999999982e-08 3.356363636363636771e-01 -1.176000000000000075e-08 3.367272727272728194e-01 -1.179000000000000002e-08 3.378181818181817953e-01 -1.181999999999999930e-08 3.389090909090909376e-01 -1.185000000000000023e-08 3.400000000000000799e-01 -1.187999999999999951e-08 3.410909090909090557e-01 -1.191000000000000044e-08 3.421818181818181981e-01 -1.193999999999999971e-08 3.432727272727273404e-01 -1.197000000000000064e-08 3.443636363636364273e-01 -1.199999999999999992e-08 3.454545454545454586e-01 -1.202999999999999920e-08 3.465454545454546009e-01 -1.206000000000000013e-08 3.476363636363636878e-01 -1.208999999999999940e-08 3.487272727272727191e-01 -1.212000000000000033e-08 3.498181818181818059e-01 -1.214999999999999961e-08 3.509090909090909483e-01 -1.218000000000000054e-08 3.520000000000000906e-01 -1.220999999999999982e-08 3.530909090909090664e-01 -1.223999999999999909e-08 3.541818181818182087e-01 -1.227000000000000002e-08 3.552727272727273511e-01 -1.229999999999999930e-08 3.563636363636363269e-01 -1.233000000000000023e-08 3.574545454545454692e-01 -1.235999999999999950e-08 3.585454545454546116e-01 -1.239000000000000043e-08 3.596363636363636984e-01 -1.241999999999999971e-08 3.607272727272727297e-01 -1.245000000000000064e-08 3.618181818181818166e-01 -1.247999999999999992e-08 3.629090909090909589e-01 -1.250999999999999919e-08 3.639999999999999902e-01 -1.254000000000000012e-08 3.650909090909090771e-01 -1.256999999999999940e-08 3.661818181818182194e-01 -1.260000000000000033e-08 3.672727272727273617e-01 -1.262999999999999961e-08 3.683636363636363376e-01 -1.266000000000000054e-08 3.694545454545454799e-01 -1.268999999999999981e-08 3.705454545454546222e-01 -1.272000000000000074e-08 3.716363636363637091e-01 -1.275000000000000002e-08 3.727272727272727404e-01 -1.277999999999999929e-08 3.738181818181818827e-01 -1.281000000000000023e-08 3.749090909090909696e-01 -1.283999999999999950e-08 3.760000000000000009e-01 -1.287000000000000043e-08 3.770909090909090877e-01 -1.289999999999999971e-08 3.781818181818182301e-01 -1.293000000000000064e-08 3.792727272727273724e-01 -1.295999999999999991e-08 3.803636363636363482e-01 -1.298999999999999919e-08 3.814545454545454906e-01 -1.302000000000000012e-08 3.825454545454546329e-01 -1.304999999999999940e-08 3.836363636363636087e-01 -1.308000000000000033e-08 3.847272727272727511e-01 -1.310999999999999960e-08 3.858181818181818934e-01 -1.314000000000000053e-08 3.869090909090909802e-01 -1.316999999999999981e-08 3.880000000000000115e-01 -1.319999999999999909e-08 3.890909090909090984e-01 -1.323000000000000002e-08 3.901818181818182407e-01 -1.325999999999999929e-08 3.912727272727272720e-01 -1.329000000000000022e-08 3.923636363636363589e-01 -1.331999999999999950e-08 3.934545454545455012e-01 -1.335000000000000043e-08 3.945454545454546436e-01 -1.337999999999999970e-08 3.956363636363636194e-01 -1.341000000000000063e-08 3.967272727272727617e-01 -1.343999999999999991e-08 3.978181818181819041e-01 -1.346999999999999919e-08 3.989090909090908799e-01 -1.350000000000000012e-08 4.000000000000000222e-01 -1.352999999999999939e-08 4.010909090909091090e-01 -1.356000000000000032e-08 4.021818181818182514e-01 -1.358999999999999960e-08 4.032727272727272827e-01 -1.362000000000000053e-08 4.043636363636363695e-01 -1.364999999999999981e-08 4.054545454545455119e-01 -1.368000000000000074e-08 4.065454545454546542e-01 -1.371000000000000001e-08 4.076363636363636300e-01 -1.373999999999999929e-08 4.087272727272727724e-01 -1.377000000000000022e-08 4.098181818181819147e-01 -1.379999999999999949e-08 4.109090909090908905e-01 -1.383000000000000043e-08 4.120000000000000329e-01 -1.385999999999999970e-08 4.130909090909091197e-01 -1.389000000000000063e-08 4.141818181818182620e-01 -1.391999999999999991e-08 4.152727272727272934e-01 -1.394999999999999918e-08 4.163636363636363802e-01 -1.398000000000000011e-08 4.174545454545455225e-01 -1.400999999999999939e-08 4.185454545454545539e-01 -1.404000000000000032e-08 4.196363636363636407e-01 -1.406999999999999960e-08 4.207272727272727830e-01 -1.410000000000000053e-08 4.218181818181819254e-01 -1.412999999999999980e-08 4.229090909090909012e-01 -1.415999999999999908e-08 4.240000000000000435e-01 -1.419000000000000001e-08 4.250909090909091859e-01 -1.421999999999999929e-08 4.261818181818181617e-01 -1.425000000000000022e-08 4.272727272727273040e-01 -1.427999999999999949e-08 4.283636363636363908e-01 -1.431000000000000042e-08 4.294545454545455332e-01 -1.433999999999999970e-08 4.305454545454545645e-01 -1.437000000000000063e-08 4.316363636363636513e-01 -1.439999999999999990e-08 4.327272727272727937e-01 -1.442999999999999918e-08 4.338181818181817695e-01 -1.446000000000000011e-08 4.349090909090909118e-01 -1.448999999999999939e-08 4.360000000000000542e-01 -1.452000000000000032e-08 4.370909090909091965e-01 -1.454999999999999959e-08 4.381818181818181723e-01 -1.458000000000000052e-08 4.392727272727273147e-01 -1.460999999999999980e-08 4.403636363636364015e-01 -1.464000000000000073e-08 4.414545454545455438e-01 -1.467000000000000001e-08 4.425454545454545752e-01 -1.469999999999999928e-08 4.436363636363636620e-01 -1.473000000000000021e-08 4.447272727272728043e-01 -1.475999999999999949e-08 4.458181818181818357e-01 -1.479000000000000042e-08 4.469090909090909225e-01 -1.481999999999999969e-08 4.480000000000000648e-01 -1.485000000000000063e-08 4.490909090909092072e-01 -1.487999999999999990e-08 4.501818181818181830e-01 -1.490999999999999918e-08 4.512727272727273253e-01 -1.494000000000000011e-08 4.523636363636364122e-01 -1.497000000000000104e-08 4.534545454545455545e-01 -1.499999999999999866e-08 4.545454545454545858e-01 -1.502999999999999959e-08 4.556363636363636727e-01 -1.506000000000000052e-08 4.567272727272728150e-01 -1.509000000000000145e-08 4.578181818181819573e-01 -1.511999999999999907e-08 4.589090909090909332e-01 -1.515000000000000000e-08 4.600000000000000755e-01 -1.518000000000000093e-08 4.610909090909092178e-01 -1.520999999999999855e-08 4.621818181818181936e-01 -1.523999999999999949e-08 4.632727272727273360e-01 -1.527000000000000042e-08 4.643636363636364228e-01 -1.530000000000000135e-08 4.654545454545455652e-01 -1.532999999999999897e-08 4.665454545454545965e-01 -1.535999999999999990e-08 4.676363636363636833e-01 -1.539000000000000083e-08 4.687272727272728257e-01 -1.541999999999999845e-08 4.698181818181818570e-01 -1.544999999999999938e-08 4.709090909090909438e-01 -1.548000000000000031e-08 4.720000000000000862e-01 -1.551000000000000124e-08 4.730909090909092285e-01 -1.553999999999999886e-08 4.741818181818182043e-01 -1.556999999999999979e-08 4.752727272727273466e-01 -1.560000000000000072e-08 4.763636363636364890e-01 -1.562999999999999835e-08 4.774545454545454648e-01 -1.565999999999999928e-08 4.785454545454546071e-01 -1.569000000000000021e-08 4.796363636363636940e-01 -1.572000000000000114e-08 4.807272727272728363e-01 -1.574999999999999876e-08 4.818181818181818676e-01 -1.577999999999999969e-08 4.829090909090909545e-01 -1.581000000000000062e-08 4.840000000000000968e-01 -1.584000000000000155e-08 4.850909090909092392e-01 -1.586999999999999917e-08 4.861818181818182150e-01 -1.590000000000000010e-08 4.872727272727273573e-01 -1.593000000000000103e-08 4.883636363636364996e-01 -1.595999999999999865e-08 4.894545454545454755e-01 -1.598999999999999958e-08 4.905454545454546178e-01 -1.602000000000000051e-08 4.916363636363637046e-01 -1.605000000000000144e-08 4.927272727272728470e-01 -1.607999999999999907e-08 4.938181818181818783e-01 -1.611000000000000000e-08 4.949090909090909651e-01 -1.614000000000000093e-08 4.960000000000001075e-01 -1.616999999999999855e-08 4.970909090909091388e-01 -1.619999999999999948e-08 4.981818181818182256e-01 -1.623000000000000041e-08 4.992727272727273680e-01 -1.626000000000000134e-08 5.003636363636364548e-01 -1.628999999999999896e-08 5.014545454545454861e-01 -1.631999999999999989e-08 5.025454545454546285e-01 -1.635000000000000082e-08 5.036363636363637708e-01 -1.637999999999999844e-08 5.047272727272726911e-01 -1.640999999999999937e-08 5.058181818181818334e-01 -1.644000000000000030e-08 5.069090909090909758e-01 -1.647000000000000123e-08 5.080000000000001181e-01 -1.649999999999999886e-08 5.090909090909091494e-01 -1.652999999999999979e-08 5.101818181818182918e-01 -1.656000000000000072e-08 5.112727272727273231e-01 -1.658999999999999834e-08 5.123636363636363544e-01 -1.661999999999999927e-08 5.134545454545454968e-01 -1.665000000000000020e-08 5.145454545454546391e-01 -1.668000000000000113e-08 5.156363636363637815e-01 -1.670999999999999875e-08 5.167272727272728128e-01 -1.673999999999999968e-08 5.178181818181818441e-01 -1.677000000000000061e-08 5.189090909090909864e-01 -1.679999999999999823e-08 5.200000000000000178e-01 -1.682999999999999916e-08 5.210909090909091601e-01 -1.686000000000000009e-08 5.221818181818183024e-01 -1.689000000000000103e-08 5.232727272727273338e-01 -1.691999999999999865e-08 5.243636363636363651e-01 -1.694999999999999958e-08 5.254545454545455074e-01 -1.698000000000000051e-08 5.265454545454546498e-01 -1.701000000000000144e-08 5.276363636363637921e-01 -1.703999999999999906e-08 5.287272727272728234e-01 -1.706999999999999999e-08 5.298181818181818548e-01 -1.710000000000000092e-08 5.309090909090909971e-01 -1.712999999999999854e-08 5.320000000000000284e-01 -1.715999999999999947e-08 5.330909090909091708e-01 -1.719000000000000040e-08 5.341818181818183131e-01 -1.722000000000000133e-08 5.352727272727273444e-01 -1.724999999999999895e-08 5.363636363636363757e-01 -1.727999999999999989e-08 5.374545454545455181e-01 -1.731000000000000082e-08 5.385454545454546604e-01 -1.733999999999999844e-08 5.396363636363636918e-01 -1.736999999999999937e-08 5.407272727272728341e-01 -1.740000000000000030e-08 5.418181818181818654e-01 -1.743000000000000123e-08 5.429090909090910078e-01 -1.745999999999999885e-08 5.440000000000000391e-01 -1.748999999999999978e-08 5.450909090909091814e-01 -1.752000000000000071e-08 5.461818181818183238e-01 -1.754999999999999833e-08 5.472727272727272441e-01 -1.757999999999999926e-08 5.483636363636363864e-01 -1.761000000000000019e-08 5.494545454545455287e-01 -1.764000000000000112e-08 5.505454545454546711e-01 -1.766999999999999875e-08 5.516363636363637024e-01 -1.769999999999999968e-08 5.527272727272728448e-01 -1.773000000000000061e-08 5.538181818181818761e-01 -1.776000000000000154e-08 5.549090909090910184e-01 -1.778999999999999916e-08 5.560000000000000497e-01 -1.782000000000000009e-08 5.570909090909091921e-01 -1.785000000000000102e-08 5.581818181818183344e-01 -1.787999999999999864e-08 5.592727272727272547e-01 -1.790999999999999957e-08 5.603636363636363971e-01 -1.794000000000000050e-08 5.614545454545455394e-01 -1.797000000000000143e-08 5.625454545454546817e-01 -1.799999999999999905e-08 5.636363636363637131e-01 -1.802999999999999998e-08 5.647272727272728554e-01 -1.806000000000000091e-08 5.658181818181818867e-01 -1.808999999999999854e-08 5.669090909090909181e-01 -1.811999999999999947e-08 5.680000000000000604e-01 -1.815000000000000040e-08 5.690909090909092027e-01 -1.818000000000000133e-08 5.701818181818183451e-01 -1.820999999999999895e-08 5.712727272727272654e-01 -1.823999999999999988e-08 5.723636363636364077e-01 -1.827000000000000081e-08 5.734545454545455501e-01 -1.829999999999999843e-08 5.745454545454545814e-01 -1.832999999999999936e-08 5.756363636363637237e-01 -1.836000000000000029e-08 5.767272727272728661e-01 -1.839000000000000122e-08 5.778181818181818974e-01 -1.841999999999999884e-08 5.789090909090909287e-01 -1.844999999999999977e-08 5.800000000000000711e-01 -1.848000000000000070e-08 5.810909090909092134e-01 -1.850999999999999833e-08 5.821818181818182447e-01 -1.853999999999999926e-08 5.832727272727272760e-01 -1.857000000000000019e-08 5.843636363636364184e-01 -1.860000000000000112e-08 5.854545454545455607e-01 -1.862999999999999874e-08 5.865454545454545920e-01 -1.865999999999999967e-08 5.876363636363637344e-01 -1.869000000000000060e-08 5.887272727272728767e-01 -1.871999999999999822e-08 5.898181818181817970e-01 -1.874999999999999915e-08 5.909090909090909394e-01 -1.878000000000000008e-08 5.920000000000000817e-01 -1.881000000000000101e-08 5.930909090909092241e-01 -1.883999999999999863e-08 5.941818181818182554e-01 -1.886999999999999956e-08 5.952727272727272867e-01 -1.890000000000000049e-08 5.963636363636364290e-01 -1.893000000000000143e-08 5.974545454545455714e-01 -1.895999999999999905e-08 5.985454545454546027e-01 -1.898999999999999998e-08 5.996363636363637450e-01 -1.902000000000000091e-08 6.007272727272728874e-01 -1.904999999999999853e-08 6.018181818181818077e-01 -1.907999999999999946e-08 6.029090909090909500e-01 -1.911000000000000039e-08 6.040000000000000924e-01 -1.914000000000000132e-08 6.050909090909092347e-01 -1.916999999999999894e-08 6.061818181818182660e-01 -1.919999999999999987e-08 6.072727272727272974e-01 -1.923000000000000080e-08 6.083636363636364397e-01 -1.925999999999999842e-08 6.094545454545454710e-01 -1.928999999999999935e-08 6.105454545454546134e-01 -1.932000000000000029e-08 6.116363636363637557e-01 -1.935000000000000122e-08 6.127272727272728980e-01 -1.937999999999999884e-08 6.138181818181818183e-01 -1.940999999999999977e-08 6.149090909090909607e-01 -1.944000000000000070e-08 6.160000000000001030e-01 -1.946999999999999832e-08 6.170909090909091343e-01 -1.949999999999999925e-08 6.181818181818182767e-01 -1.953000000000000018e-08 6.192727272727274190e-01 -1.956000000000000111e-08 6.203636363636364504e-01 -1.958999999999999873e-08 6.214545454545454817e-01 -1.961999999999999966e-08 6.225454545454546240e-01 -1.965000000000000059e-08 6.236363636363637664e-01 -1.968000000000000152e-08 6.247272727272729087e-01 -1.970999999999999915e-08 6.258181818181818290e-01 -1.974000000000000008e-08 6.269090909090909713e-01 -1.977000000000000101e-08 6.280000000000001137e-01 -1.979999999999999863e-08 6.290909090909091450e-01 -1.982999999999999956e-08 6.301818181818182873e-01 -1.986000000000000049e-08 6.312727272727274297e-01 -1.989000000000000142e-08 6.323636363636364610e-01 -1.991999999999999904e-08 6.334545454545454923e-01 -1.994999999999999997e-08 6.345454545454546347e-01 -1.998000000000000090e-08 6.356363636363637770e-01 -2.000999999999999852e-08 6.367272727272728083e-01 -2.003999999999999945e-08 6.378181818181818397e-01 -2.007000000000000038e-08 6.389090909090909820e-01 -2.010000000000000131e-08 6.400000000000001243e-01 -2.012999999999999894e-08 6.410909090909091557e-01 -2.015999999999999987e-08 6.421818181818182980e-01 -2.019000000000000080e-08 6.432727272727274404e-01 -2.021999999999999842e-08 6.443636363636363606e-01 -2.024999999999999935e-08 6.454545454545455030e-01 -2.028000000000000028e-08 6.465454545454546453e-01 -2.031000000000000121e-08 6.476363636363637877e-01 -2.033999999999999883e-08 6.487272727272728190e-01 -2.036999999999999976e-08 6.498181818181818503e-01 -2.040000000000000069e-08 6.509090909090909927e-01 -2.042999999999999831e-08 6.520000000000000240e-01 -2.045999999999999924e-08 6.530909090909091663e-01 -2.049000000000000017e-08 6.541818181818183087e-01 -2.052000000000000110e-08 6.552727272727274510e-01 -2.054999999999999873e-08 6.563636363636363713e-01 -2.057999999999999966e-08 6.574545454545455136e-01 -2.061000000000000059e-08 6.585454545454546560e-01 -2.063999999999999821e-08 6.596363636363636873e-01 -2.066999999999999914e-08 6.607272727272728297e-01 -2.070000000000000007e-08 6.618181818181818610e-01 -2.073000000000000100e-08 6.629090909090910033e-01 -2.075999999999999862e-08 6.640000000000000346e-01 -2.078999999999999955e-08 6.650909090909091770e-01 -2.082000000000000048e-08 6.661818181818183193e-01 -2.085000000000000141e-08 6.672727272727274617e-01 -2.087999999999999903e-08 6.683636363636363820e-01 -2.090999999999999996e-08 6.694545454545455243e-01 -2.094000000000000089e-08 6.705454545454546667e-01 -2.096999999999999852e-08 6.716363636363636980e-01 -2.099999999999999945e-08 6.727272727272728403e-01 -2.103000000000000038e-08 6.738181818181818716e-01 -2.106000000000000131e-08 6.749090909090910140e-01 -2.108999999999999893e-08 6.760000000000000453e-01 -2.111999999999999986e-08 6.770909090909091876e-01 -2.115000000000000079e-08 6.781818181818183300e-01 -2.117999999999999841e-08 6.792727272727273613e-01 -2.120999999999999934e-08 6.803636363636363926e-01 -2.124000000000000027e-08 6.814545454545455350e-01 -2.127000000000000120e-08 6.825454545454546773e-01 -2.129999999999999882e-08 6.836363636363637086e-01 -2.132999999999999975e-08 6.847272727272728510e-01 -2.136000000000000069e-08 6.858181818181818823e-01 -2.138999999999999831e-08 6.869090909090909136e-01 -2.141999999999999924e-08 6.880000000000000560e-01 -2.145000000000000017e-08 6.890909090909091983e-01 -2.148000000000000110e-08 6.901818181818183406e-01 -2.150999999999999872e-08 6.912727272727273720e-01 -2.153999999999999965e-08 6.923636363636364033e-01 -2.157000000000000058e-08 6.934545454545455456e-01 -2.160000000000000151e-08 6.945454545454546880e-01 -2.162999999999999913e-08 6.956363636363637193e-01 -2.166000000000000006e-08 6.967272727272728616e-01 -2.169000000000000099e-08 6.978181818181818930e-01 -2.171999999999999861e-08 6.989090909090909243e-01 -2.174999999999999955e-08 7.000000000000000666e-01 -2.178000000000000048e-08 7.010909090909092090e-01 -2.181000000000000141e-08 7.021818181818183513e-01 -2.183999999999999903e-08 7.032727272727273826e-01 -2.186999999999999996e-08 7.043636363636364139e-01 -2.190000000000000089e-08 7.054545454545455563e-01 -2.192999999999999851e-08 7.065454545454545876e-01 -2.195999999999999944e-08 7.076363636363637299e-01 -2.199000000000000037e-08 7.087272727272728723e-01 -2.202000000000000130e-08 7.098181818181820146e-01 -2.204999999999999892e-08 7.109090909090909349e-01 -2.207999999999999985e-08 7.120000000000000773e-01 -2.211000000000000078e-08 7.130909090909092196e-01 -2.213999999999999841e-08 7.141818181818182509e-01 -2.216999999999999934e-08 7.152727272727273933e-01 -2.220000000000000027e-08 7.163636363636364246e-01 -2.223000000000000120e-08 7.174545454545455669e-01 -2.225999999999999882e-08 7.185454545454545983e-01 -2.228999999999999975e-08 7.196363636363637406e-01 -2.232000000000000068e-08 7.207272727272728829e-01 -2.234999999999999830e-08 7.218181818181818032e-01 -2.237999999999999923e-08 7.229090909090909456e-01 -2.241000000000000016e-08 7.240000000000000879e-01 -2.244000000000000109e-08 7.250909090909092303e-01 -2.246999999999999871e-08 7.261818181818182616e-01 -2.249999999999999964e-08 7.272727272727274039e-01 -2.253000000000000057e-08 7.283636363636364353e-01 -2.255999999999999820e-08 7.294545454545454666e-01 -2.258999999999999913e-08 7.305454545454546089e-01 -2.262000000000000006e-08 7.316363636363637513e-01 -2.265000000000000099e-08 7.327272727272728936e-01 -2.267999999999999861e-08 7.338181818181818139e-01 -2.270999999999999954e-08 7.349090909090909562e-01 -2.274000000000000047e-08 7.360000000000000986e-01 -2.277000000000000140e-08 7.370909090909092409e-01 -2.279999999999999902e-08 7.381818181818182723e-01 -2.282999999999999995e-08 7.392727272727274146e-01 -2.286000000000000088e-08 7.403636363636364459e-01 -2.288999999999999850e-08 7.414545454545454772e-01 -2.291999999999999943e-08 7.425454545454546196e-01 -2.295000000000000036e-08 7.436363636363637619e-01 -2.298000000000000129e-08 7.447272727272729043e-01 -2.300999999999999892e-08 7.458181818181818246e-01 -2.303999999999999985e-08 7.469090909090909669e-01 -2.307000000000000078e-08 7.480000000000001092e-01 -2.309999999999999840e-08 7.490909090909091406e-01 -2.312999999999999933e-08 7.501818181818182829e-01 -2.316000000000000026e-08 7.512727272727274253e-01 -2.319000000000000119e-08 7.523636363636364566e-01 -2.321999999999999881e-08 7.534545454545454879e-01 -2.324999999999999974e-08 7.545454545454546302e-01 -2.328000000000000067e-08 7.556363636363637726e-01 -2.330999999999999829e-08 7.567272727272728039e-01 -2.333999999999999922e-08 7.578181818181818352e-01 -2.337000000000000015e-08 7.589090909090909776e-01 -2.340000000000000109e-08 7.600000000000001199e-01 -2.342999999999999871e-08 7.610909090909091512e-01 -2.345999999999999964e-08 7.621818181818182936e-01 -2.349000000000000057e-08 7.632727272727274359e-01 -2.352000000000000150e-08 7.643636363636364672e-01 -2.354999999999999912e-08 7.654545454545454986e-01 -2.358000000000000005e-08 7.665454545454546409e-01 -2.361000000000000098e-08 7.676363636363637832e-01 -2.363999999999999860e-08 7.687272727272728146e-01 -2.366999999999999953e-08 7.698181818181818459e-01 -2.370000000000000046e-08 7.709090909090909882e-01 -2.373000000000000139e-08 7.720000000000001306e-01 -2.375999999999999901e-08 7.730909090909091619e-01 -2.378999999999999995e-08 7.741818181818183042e-01 -2.382000000000000088e-08 7.752727272727274466e-01 -2.384999999999999850e-08 7.763636363636363669e-01 -2.387999999999999943e-08 7.774545454545455092e-01 -2.391000000000000036e-08 7.785454545454546516e-01 -2.394000000000000129e-08 7.796363636363637939e-01 -2.396999999999999891e-08 7.807272727272728252e-01 -2.399999999999999984e-08 7.818181818181819676e-01 -2.403000000000000077e-08 7.829090909090909989e-01 -2.405999999999999839e-08 7.840000000000000302e-01 -2.408999999999999932e-08 7.850909090909091725e-01 -2.412000000000000025e-08 7.861818181818183149e-01 -2.415000000000000118e-08 7.872727272727274572e-01 -2.417999999999999881e-08 7.883636363636363775e-01 -2.420999999999999974e-08 7.894545454545455199e-01 -2.424000000000000067e-08 7.905454545454546622e-01 -2.426999999999999829e-08 7.916363636363636935e-01 -2.429999999999999922e-08 7.927272727272728359e-01 -2.433000000000000015e-08 7.938181818181819782e-01 -2.436000000000000108e-08 7.949090909090910095e-01 -2.438999999999999870e-08 7.960000000000000409e-01 -2.441999999999999963e-08 7.970909090909091832e-01 -2.445000000000000056e-08 7.981818181818183255e-01 -2.447999999999999818e-08 7.992727272727273569e-01 -2.450999999999999911e-08 8.003636363636363882e-01 -2.454000000000000004e-08 8.014545454545455305e-01 -2.457000000000000097e-08 8.025454545454546729e-01 -2.459999999999999860e-08 8.036363636363637042e-01 -2.462999999999999953e-08 8.047272727272728465e-01 -2.466000000000000046e-08 8.058181818181819889e-01 -2.469000000000000139e-08 8.069090909090910202e-01 -2.471999999999999901e-08 8.080000000000000515e-01 -2.474999999999999994e-08 8.090909090909091939e-01 -2.478000000000000087e-08 8.101818181818183362e-01 -2.480999999999999849e-08 8.112727272727273675e-01 -2.483999999999999942e-08 8.123636363636363988e-01 -2.487000000000000035e-08 8.134545454545455412e-01 -2.490000000000000128e-08 8.145454545454546835e-01 -2.492999999999999890e-08 8.156363636363637148e-01 -2.495999999999999983e-08 8.167272727272728572e-01 -2.499000000000000076e-08 8.178181818181819995e-01 -2.501999999999999839e-08 8.189090909090909198e-01 -2.504999999999999932e-08 8.200000000000000622e-01 -2.508000000000000025e-08 8.210909090909092045e-01 -2.511000000000000118e-08 8.221818181818183469e-01 -2.513999999999999880e-08 8.232727272727273782e-01 -2.516999999999999973e-08 8.243636363636364095e-01 -2.520000000000000066e-08 8.254545454545455518e-01 -2.522999999999999828e-08 8.265454545454545832e-01 -2.525999999999999921e-08 8.276363636363637255e-01 -2.529000000000000014e-08 8.287272727272728678e-01 -2.532000000000000107e-08 8.298181818181820102e-01 -2.534999999999999869e-08 8.309090909090909305e-01 -2.537999999999999962e-08 8.320000000000000728e-01 -2.541000000000000055e-08 8.330909090909092152e-01 -2.544000000000000149e-08 8.341818181818183575e-01 -2.546999999999999911e-08 8.352727272727273888e-01 -2.550000000000000004e-08 8.363636363636364202e-01 -2.553000000000000097e-08 8.374545454545455625e-01 -2.555999999999999859e-08 8.385454545454545938e-01 -2.558999999999999952e-08 8.396363636363637362e-01 -2.562000000000000045e-08 8.407272727272728785e-01 -2.565000000000000138e-08 8.418181818181820208e-01 -2.567999999999999900e-08 8.429090909090909411e-01 -2.570999999999999993e-08 8.440000000000000835e-01 -2.574000000000000086e-08 8.450909090909092258e-01 -2.576999999999999848e-08 8.461818181818182572e-01 -2.579999999999999941e-08 8.472727272727273995e-01 -2.583000000000000035e-08 8.483636363636364308e-01 -2.586000000000000128e-08 8.494545454545455732e-01 -2.588999999999999890e-08 8.505454545454546045e-01 -2.591999999999999983e-08 8.516363636363637468e-01 -2.595000000000000076e-08 8.527272727272728892e-01 -2.597999999999999838e-08 8.538181818181819205e-01 -2.600999999999999931e-08 8.549090909090909518e-01 -2.604000000000000024e-08 8.560000000000000941e-01 -2.607000000000000117e-08 8.570909090909092365e-01 -2.609999999999999879e-08 8.581818181818182678e-01 -2.612999999999999972e-08 8.592727272727274102e-01 -2.616000000000000065e-08 8.603636363636364415e-01 -2.618999999999999827e-08 8.614545454545454728e-01 -2.621999999999999921e-08 8.625454545454546151e-01 -2.625000000000000014e-08 8.636363636363637575e-01 -2.628000000000000107e-08 8.647272727272728998e-01 -2.630999999999999869e-08 8.658181818181819311e-01 -2.633999999999999962e-08 8.669090909090909625e-01 -2.637000000000000055e-08 8.680000000000001048e-01 -2.639999999999999817e-08 8.690909090909091361e-01 -2.642999999999999910e-08 8.701818181818182785e-01 -2.646000000000000003e-08 8.712727272727274208e-01 -2.649000000000000096e-08 8.723636363636365632e-01 -2.651999999999999858e-08 8.734545454545454835e-01 -2.654999999999999951e-08 8.745454545454546258e-01 -2.658000000000000044e-08 8.756363636363637681e-01 -2.661000000000000137e-08 8.767272727272729105e-01 -2.663999999999999900e-08 8.778181818181819418e-01 -2.666999999999999993e-08 8.789090909090909731e-01 -2.670000000000000086e-08 8.800000000000001155e-01 -2.672999999999999848e-08 8.810909090909091468e-01 -2.675999999999999941e-08 8.821818181818182891e-01 -2.679000000000000034e-08 8.832727272727274315e-01 -2.682000000000000127e-08 8.843636363636365738e-01 -2.684999999999999889e-08 8.854545454545454941e-01 -2.687999999999999982e-08 8.865454545454546365e-01 -2.691000000000000075e-08 8.876363636363637788e-01 -2.693999999999999837e-08 8.887272727272728101e-01 -2.696999999999999930e-08 8.898181818181819525e-01 -2.700000000000000023e-08 8.909090909090909838e-01 -2.703000000000000116e-08 8.920000000000001261e-01 -2.705999999999999879e-08 8.930909090909091574e-01 -2.708999999999999972e-08 8.941818181818182998e-01 -2.712000000000000065e-08 8.952727272727274421e-01 -2.714999999999999827e-08 8.963636363636363624e-01 -2.717999999999999920e-08 8.974545454545455048e-01 -2.721000000000000013e-08 8.985454545454546471e-01 -2.724000000000000106e-08 8.996363636363637895e-01 -2.726999999999999868e-08 9.007272727272728208e-01 -2.729999999999999961e-08 9.018181818181819631e-01 -2.733000000000000054e-08 9.029090909090909944e-01 -2.736000000000000147e-08 9.040000000000001368e-01 -2.738999999999999909e-08 9.050909090909091681e-01 -2.742000000000000002e-08 9.061818181818183104e-01 -2.745000000000000095e-08 9.072727272727274528e-01 -2.747999999999999858e-08 9.083636363636363731e-01 -2.750999999999999951e-08 9.094545454545455154e-01 -2.754000000000000044e-08 9.105454545454546578e-01 -2.757000000000000137e-08 9.116363636363638001e-01 -2.759999999999999899e-08 9.127272727272728314e-01 -2.762999999999999992e-08 9.138181818181819738e-01 -2.766000000000000085e-08 9.149090909090910051e-01 -2.768999999999999847e-08 9.160000000000000364e-01 -2.771999999999999940e-08 9.170909090909091788e-01 -2.775000000000000033e-08 9.181818181818183211e-01 -2.778000000000000126e-08 9.192727272727274634e-01 -2.780999999999999888e-08 9.203636363636363837e-01 -2.783999999999999981e-08 9.214545454545455261e-01 -2.787000000000000075e-08 9.225454545454546684e-01 -2.789999999999999837e-08 9.236363636363636997e-01 -2.792999999999999930e-08 9.247272727272728421e-01 -2.796000000000000023e-08 9.258181818181819844e-01 -2.799000000000000116e-08 9.269090909090910158e-01 -2.801999999999999878e-08 9.280000000000000471e-01 -2.804999999999999971e-08 9.290909090909091894e-01 -2.808000000000000064e-08 9.301818181818183318e-01 -2.810999999999999826e-08 9.312727272727273631e-01 -2.813999999999999919e-08 9.323636363636363944e-01 -2.817000000000000012e-08 9.334545454545455367e-01 -2.820000000000000105e-08 9.345454545454546791e-01 -2.822999999999999867e-08 9.356363636363637104e-01 -2.825999999999999961e-08 9.367272727272728527e-01 -2.829000000000000054e-08 9.378181818181819951e-01 -2.831999999999999816e-08 9.389090909090909154e-01 -2.834999999999999909e-08 9.400000000000000577e-01 -2.838000000000000002e-08 9.410909090909092001e-01 -2.841000000000000095e-08 9.421818181818183424e-01 -2.843999999999999857e-08 9.432727272727273737e-01 -2.846999999999999950e-08 9.443636363636365161e-01 -2.850000000000000043e-08 9.454545454545455474e-01 -2.853000000000000136e-08 9.465454545454546897e-01 -2.855999999999999898e-08 9.476363636363637211e-01 -2.858999999999999991e-08 9.487272727272728634e-01 -2.862000000000000084e-08 9.498181818181820057e-01 -2.864999999999999847e-08 9.509090909090909260e-01 -2.867999999999999940e-08 9.520000000000000684e-01 -2.871000000000000033e-08 9.530909090909092107e-01 -2.874000000000000126e-08 9.541818181818183531e-01 -2.876999999999999888e-08 9.552727272727273844e-01 -2.879999999999999981e-08 9.563636363636365267e-01 -2.883000000000000074e-08 9.574545454545455581e-01 -2.885999999999999836e-08 9.585454545454545894e-01 -2.888999999999999929e-08 9.596363636363637317e-01 -2.892000000000000022e-08 9.607272727272728741e-01 -2.895000000000000115e-08 9.618181818181820164e-01 -2.897999999999999877e-08 9.629090909090909367e-01 -2.900999999999999970e-08 9.640000000000000790e-01 -2.904000000000000063e-08 9.650909090909092214e-01 -2.906999999999999826e-08 9.661818181818182527e-01 -2.909999999999999919e-08 9.672727272727273951e-01 -2.913000000000000012e-08 9.683636363636365374e-01 -2.916000000000000105e-08 9.694545454545455687e-01 -2.918999999999999867e-08 9.705454545454546000e-01 -2.921999999999999960e-08 9.716363636363637424e-01 -2.925000000000000053e-08 9.727272727272728847e-01 -2.928000000000000146e-08 9.738181818181820271e-01 -2.930999999999999908e-08 9.749090909090909474e-01 -2.934000000000000001e-08 9.760000000000000897e-01 -2.937000000000000094e-08 9.770909090909092320e-01 -2.939999999999999856e-08 9.781818181818182634e-01 -2.942999999999999949e-08 9.792727272727274057e-01 -2.946000000000000042e-08 9.803636363636365481e-01 -2.949000000000000135e-08 9.814545454545455794e-01 -2.951999999999999898e-08 9.825454545454546107e-01 -2.954999999999999991e-08 9.836363636363637530e-01 -2.958000000000000084e-08 9.847272727272728954e-01 -2.960999999999999846e-08 9.858181818181819267e-01 -2.963999999999999939e-08 9.869090909090909580e-01 -2.967000000000000032e-08 9.880000000000001004e-01 -2.970000000000000125e-08 9.890909090909092427e-01 -2.972999999999999887e-08 9.901818181818182740e-01 -2.975999999999999980e-08 9.912727272727274164e-01 -2.979000000000000073e-08 9.923636363636365587e-01 -2.981999999999999835e-08 9.934545454545454790e-01 -2.984999999999999928e-08 9.945454545454546214e-01 -2.988000000000000021e-08 9.956363636363637637e-01 -2.991000000000000115e-08 9.967272727272729060e-01 -2.994000000000000208e-08 9.978181818181820484e-01 -2.997000000000000301e-08 9.989090909090911907e-01 +1.019999999999999993e-09 6.896551724137907737e-04 +1.049999999999999890e-09 1.724137931034477097e-03 +1.079999999999999993e-09 2.758620689655170467e-03 +1.110000000000000096e-09 3.793103448275863838e-03 +1.139999999999999992e-09 4.827586206896550269e-03 +1.169999999999999889e-09 5.862068965517236267e-03 +1.199999999999999992e-09 6.896551724137930071e-03 +1.230000000000000095e-09 7.931034482758623008e-03 +1.259999999999999992e-09 8.965517241379309873e-03 +1.289999999999999888e-09 9.999999999999995004e-03 +1.319999999999999991e-09 1.103448275862068881e-02 +1.350000000000000094e-09 1.206896551724138261e-02 +1.379999999999999991e-09 1.310344827586206774e-02 +1.409999999999999887e-09 1.413793103448275461e-02 +1.439999999999999990e-09 1.517241379310344841e-02 +1.470000000000000094e-09 1.620689655172414048e-02 +1.499999999999999990e-09 1.724137931034482735e-02 +1.529999999999999886e-09 1.827586206896551421e-02 +1.559999999999999990e-09 1.931034482758620802e-02 +1.590000000000000093e-09 2.034482758620690182e-02 +1.619999999999999989e-09 2.137931034482758522e-02 +1.649999999999999886e-09 2.241379310344827208e-02 +1.679999999999999989e-09 2.344827586206896589e-02 +1.710000000000000092e-09 2.448275862068965969e-02 +1.739999999999999988e-09 2.551724137931034656e-02 +1.769999999999999885e-09 2.655172413793103342e-02 +1.799999999999999988e-09 2.758620689655172722e-02 +1.830000000000000091e-09 2.862068965517241756e-02 +1.859999999999999988e-09 2.965517241379310442e-02 +1.889999999999999884e-09 3.068965517241379129e-02 +1.919999999999999987e-09 3.172413793103448509e-02 +1.950000000000000090e-09 3.275862068965517543e-02 +1.980000000000000194e-09 3.379310344827587270e-02 +2.009999999999999883e-09 3.482758620689654916e-02 +2.039999999999999986e-09 3.586206896551724643e-02 +2.070000000000000090e-09 3.689655172413793677e-02 +2.099999999999999779e-09 3.793103448275861322e-02 +2.129999999999999882e-09 3.896551724137931050e-02 +2.159999999999999986e-09 4.000000000000000083e-02 +2.190000000000000089e-09 4.103448275862069811e-02 +2.220000000000000192e-09 4.206896551724138844e-02 +2.249999999999999882e-09 4.310344827586207184e-02 +2.279999999999999985e-09 4.413793103448276217e-02 +2.310000000000000088e-09 4.517241379310345251e-02 +2.339999999999999778e-09 4.620689655172413590e-02 +2.369999999999999881e-09 4.724137931034482624e-02 +2.399999999999999984e-09 4.827586206896552351e-02 +2.430000000000000087e-09 4.931034482758621385e-02 +2.460000000000000190e-09 5.034482758620691112e-02 +2.489999999999999880e-09 5.137931034482758758e-02 +2.519999999999999983e-09 5.241379310344827791e-02 +2.550000000000000086e-09 5.344827586206897518e-02 +2.579999999999999776e-09 5.448275862068965164e-02 +2.609999999999999879e-09 5.551724137931034891e-02 +2.639999999999999982e-09 5.655172413793103925e-02 +2.670000000000000086e-09 5.758620689655173652e-02 +2.700000000000000189e-09 5.862068965517242686e-02 +2.729999999999999878e-09 5.965517241379310331e-02 +2.759999999999999982e-09 6.068965517241380059e-02 +2.790000000000000085e-09 6.172413793103449092e-02 +2.819999999999999774e-09 6.275862068965516738e-02 +2.849999999999999878e-09 6.379310344827586465e-02 +2.879999999999999981e-09 6.482758620689656193e-02 +2.910000000000000084e-09 6.586206896551725920e-02 +2.940000000000000187e-09 6.689655172413795647e-02 +2.969999999999999877e-09 6.793103448275861211e-02 +2.999999999999999980e-09 6.896551724137930939e-02 +3.030000000000000083e-09 7.000000000000000666e-02 +3.059999999999999773e-09 7.103448275862070393e-02 +3.089999999999999876e-09 7.206896551724138733e-02 +3.119999999999999979e-09 7.310344827586208460e-02 +3.150000000000000082e-09 7.413793103448278188e-02 +3.180000000000000186e-09 7.517241379310346527e-02 +3.209999999999999875e-09 7.620689655172413479e-02 +3.239999999999999978e-09 7.724137931034483207e-02 +3.270000000000000082e-09 7.827586206896552934e-02 +3.299999999999999771e-09 7.931034482758621273e-02 +3.329999999999999874e-09 8.034482758620691001e-02 +3.359999999999999978e-09 8.137931034482760728e-02 +3.390000000000000081e-09 8.241379310344829068e-02 +3.420000000000000184e-09 8.344827586206898795e-02 +3.449999999999999874e-09 8.448275862068965747e-02 +3.479999999999999977e-09 8.551724137931034087e-02 +3.510000000000000080e-09 8.655172413793103814e-02 +3.539999999999999770e-09 8.758620689655173541e-02 +3.569999999999999873e-09 8.862068965517243269e-02 +3.599999999999999976e-09 8.965517241379311608e-02 +3.630000000000000079e-09 9.068965517241381336e-02 +3.660000000000000182e-09 9.172413793103451063e-02 +3.689999999999999872e-09 9.275862068965516627e-02 +3.719999999999999975e-09 9.379310344827586354e-02 +3.749999999999999665e-09 9.482758620689656082e-02 +3.779999999999999768e-09 9.586206896551725809e-02 +3.809999999999999871e-09 9.689655172413794149e-02 +3.839999999999999974e-09 9.793103448275863876e-02 +3.870000000000000078e-09 9.896551724137933603e-02 +3.900000000000000181e-09 1.000000000000000194e-01 +3.930000000000000284e-09 1.010344827586207167e-01 +3.960000000000000387e-09 1.020689655172414140e-01 +3.989999999999999663e-09 1.031034482758620835e-01 +4.019999999999999766e-09 1.041379310344827669e-01 +4.049999999999999870e-09 1.051724137931034642e-01 +4.079999999999999973e-09 1.062068965517241614e-01 +4.110000000000000076e-09 1.072413793103448448e-01 +4.140000000000000179e-09 1.082758620689655421e-01 +4.170000000000000282e-09 1.093103448275862394e-01 +4.199999999999999558e-09 1.103448275862069089e-01 +4.229999999999999662e-09 1.113793103448275923e-01 +4.259999999999999765e-09 1.124137931034482896e-01 +4.289999999999999868e-09 1.134482758620689868e-01 +4.319999999999999971e-09 1.144827586206896702e-01 +4.350000000000000074e-09 1.155172413793103675e-01 +4.380000000000000178e-09 1.165517241379310648e-01 +4.410000000000000281e-09 1.175862068965517621e-01 +4.440000000000000384e-09 1.186206896551724455e-01 +4.469999999999999660e-09 1.196551724137931150e-01 +4.499999999999999763e-09 1.206896551724138122e-01 +4.529999999999999866e-09 1.217241379310344956e-01 +4.559999999999999970e-09 1.227586206896551929e-01 +4.590000000000000073e-09 1.237931034482758902e-01 +4.620000000000000176e-09 1.248275862068965875e-01 +4.650000000000000279e-09 1.258620689655172709e-01 +4.679999999999999555e-09 1.268965517241379404e-01 +4.709999999999999658e-09 1.279310344827586376e-01 +4.739999999999999762e-09 1.289655172413793349e-01 +4.769999999999999865e-09 1.300000000000000322e-01 +4.799999999999999968e-09 1.310344827586207017e-01 +4.830000000000000071e-09 1.320689655172413990e-01 +4.860000000000000174e-09 1.331034482758620963e-01 +4.890000000000000278e-09 1.341379310344827935e-01 +4.920000000000000381e-09 1.351724137931034908e-01 +4.949999999999999657e-09 1.362068965517241603e-01 +4.979999999999999760e-09 1.372413793103448576e-01 +5.009999999999999863e-09 1.382758620689655271e-01 +5.039999999999999966e-09 1.393103448275862244e-01 +5.070000000000000070e-09 1.403448275862069217e-01 +5.100000000000000173e-09 1.413793103448276189e-01 +5.130000000000000276e-09 1.424137931034483162e-01 +5.159999999999999552e-09 1.434482758620689857e-01 +5.189999999999999655e-09 1.444827586206896830e-01 +5.219999999999999758e-09 1.455172413793103525e-01 +5.249999999999999862e-09 1.465517241379310498e-01 +5.279999999999999965e-09 1.475862068965517471e-01 +5.310000000000000068e-09 1.486206896551724443e-01 +5.340000000000000171e-09 1.496551724137931416e-01 +5.370000000000000274e-09 1.506896551724138389e-01 +5.400000000000000378e-09 1.517241379310345362e-01 +5.429999999999999654e-09 1.527586206896551779e-01 +5.459999999999999757e-09 1.537931034482758752e-01 +5.489999999999999860e-09 1.548275862068965725e-01 +5.519999999999999963e-09 1.558620689655172697e-01 +5.550000000000000066e-09 1.568965517241379670e-01 +5.580000000000000170e-09 1.579310344827586643e-01 +5.610000000000000273e-09 1.589655172413793616e-01 +5.639999999999999549e-09 1.600000000000000033e-01 +5.669999999999999652e-09 1.610344827586207006e-01 +5.699999999999999755e-09 1.620689655172413979e-01 +5.729999999999999858e-09 1.631034482758620952e-01 +5.759999999999999962e-09 1.641379310344827924e-01 +5.790000000000000065e-09 1.651724137931034897e-01 +5.820000000000000168e-09 1.662068965517241870e-01 +5.850000000000000271e-09 1.672413793103448565e-01 +5.880000000000000374e-09 1.682758620689655538e-01 +5.909999999999999651e-09 1.693103448275862233e-01 +5.939999999999999754e-09 1.703448275862069206e-01 +5.969999999999999857e-09 1.713793103448276178e-01 +5.999999999999999960e-09 1.724137931034483151e-01 +6.030000000000000063e-09 1.734482758620690124e-01 +6.060000000000000166e-09 1.744827586206896819e-01 +6.090000000000000270e-09 1.755172413793103792e-01 +6.119999999999999546e-09 1.765517241379310487e-01 +6.149999999999999649e-09 1.775862068965517460e-01 +6.179999999999999752e-09 1.786206896551724432e-01 +6.209999999999999855e-09 1.796551724137931405e-01 +6.239999999999999959e-09 1.806896551724138100e-01 +6.270000000000000062e-09 1.817241379310345073e-01 +6.300000000000000165e-09 1.827586206896552046e-01 +6.330000000000000268e-09 1.837931034482759018e-01 +6.360000000000000371e-09 1.848275862068965991e-01 +6.389999999999999647e-09 1.858620689655172686e-01 +6.419999999999999751e-09 1.868965517241379659e-01 +6.449999999999999854e-09 1.879310344827586354e-01 +6.479999999999999957e-09 1.889655172413793327e-01 +6.510000000000000060e-09 1.900000000000000300e-01 +6.540000000000000163e-09 1.910344827586207272e-01 +6.570000000000000267e-09 1.920689655172414245e-01 +6.599999999999999543e-09 1.931034482758620940e-01 +6.629999999999999646e-09 1.941379310344827913e-01 +6.659999999999999749e-09 1.951724137931034608e-01 +6.689999999999999852e-09 1.962068965517241581e-01 +6.719999999999999955e-09 1.972413793103448554e-01 +6.750000000000000059e-09 1.982758620689655527e-01 +6.780000000000000162e-09 1.993103448275862499e-01 +6.810000000000000265e-09 2.003448275862069472e-01 +6.840000000000000368e-09 2.013793103448276445e-01 +6.869999999999999644e-09 2.024137931034482862e-01 +6.899999999999999747e-09 2.034482758620689835e-01 +6.929999999999999851e-09 2.044827586206896808e-01 +6.959999999999999954e-09 2.055172413793103781e-01 +6.990000000000000057e-09 2.065517241379310753e-01 +7.020000000000000160e-09 2.075862068965517726e-01 +7.050000000000000263e-09 2.086206896551724699e-01 +7.079999999999999539e-09 2.096551724137931116e-01 +7.109999999999999643e-09 2.106896551724138089e-01 +7.139999999999999746e-09 2.117241379310345062e-01 +7.169999999999999849e-09 2.127586206896552035e-01 +7.199999999999999952e-09 2.137931034482759007e-01 +7.230000000000000055e-09 2.148275862068965980e-01 +7.260000000000000159e-09 2.158620689655172953e-01 +7.290000000000000262e-09 2.168965517241379648e-01 +7.320000000000000365e-09 2.179310344827586621e-01 +7.349999999999999641e-09 2.189655172413793316e-01 +7.379999999999999744e-09 2.200000000000000289e-01 +7.409999999999999847e-09 2.210344827586207261e-01 +7.439999999999999951e-09 2.220689655172414234e-01 +7.470000000000000054e-09 2.231034482758621207e-01 +7.499999999999999330e-09 2.241379310344827624e-01 +7.530000000000000260e-09 2.251724137931034875e-01 +7.559999999999999536e-09 2.262068965517241570e-01 +7.590000000000000467e-09 2.272413793103448820e-01 +7.619999999999999743e-09 2.282758620689655515e-01 +7.650000000000000673e-09 2.293103448275862766e-01 +7.679999999999999949e-09 2.303448275862069461e-01 +7.709999999999999225e-09 2.313793103448275879e-01 +7.740000000000000155e-09 2.324137931034483129e-01 +7.769999999999999431e-09 2.334482758620689824e-01 +7.800000000000000362e-09 2.344827586206897074e-01 +7.829999999999999638e-09 2.355172413793103769e-01 +7.860000000000000568e-09 2.365517241379311020e-01 +7.889999999999999844e-09 2.375862068965517715e-01 +7.920000000000000775e-09 2.386206896551724688e-01 +7.950000000000000051e-09 2.396551724137931383e-01 +7.979999999999999327e-09 2.406896551724138078e-01 +8.010000000000000257e-09 2.417241379310345328e-01 +8.039999999999999533e-09 2.427586206896552024e-01 +8.070000000000000463e-09 2.437931034482759274e-01 +8.099999999999999739e-09 2.448275862068965969e-01 +8.130000000000000670e-09 2.458620689655172942e-01 +8.159999999999999946e-09 2.468965517241379637e-01 +8.189999999999999222e-09 2.479310344827586332e-01 +8.220000000000000152e-09 2.489655172413793582e-01 +8.249999999999999428e-09 2.500000000000000000e-01 +8.280000000000000359e-09 2.510344827586207250e-01 +8.309999999999999635e-09 2.520689655172413945e-01 +8.340000000000000565e-09 2.531034482758621196e-01 +8.369999999999999841e-09 2.541379310344827891e-01 +8.399999999999999117e-09 2.551724137931034586e-01 +8.430000000000000047e-09 2.562068965517241836e-01 +8.459999999999999323e-09 2.572413793103447976e-01 +8.490000000000000254e-09 2.582758620689655227e-01 +8.519999999999999530e-09 2.593103448275861922e-01 +8.550000000000000460e-09 2.603448275862069172e-01 +8.579999999999999736e-09 2.613793103448275867e-01 +8.610000000000000667e-09 2.624137931034483118e-01 +8.639999999999999943e-09 2.634482758620689813e-01 +8.669999999999999219e-09 2.644827586206896508e-01 +8.700000000000000149e-09 2.655172413793103758e-01 +8.729999999999999425e-09 2.665517241379310454e-01 +8.760000000000000355e-09 2.675862068965517704e-01 +8.789999999999999631e-09 2.686206896551724399e-01 +8.820000000000000562e-09 2.696551724137931649e-01 +8.849999999999999838e-09 2.706896551724137789e-01 +8.880000000000000768e-09 2.717241379310345040e-01 +8.910000000000000044e-09 2.727586206896551735e-01 +8.939999999999999320e-09 2.737931034482758430e-01 +8.970000000000000251e-09 2.748275862068965680e-01 +8.999999999999999527e-09 2.758620689655172376e-01 +9.030000000000000457e-09 2.768965517241379626e-01 +9.059999999999999733e-09 2.779310344827586321e-01 +9.090000000000000663e-09 2.789655172413793571e-01 +9.119999999999999939e-09 2.800000000000000266e-01 +9.149999999999999215e-09 2.810344827586206962e-01 +9.180000000000000146e-09 2.820689655172414212e-01 +9.209999999999999422e-09 2.831034482758620907e-01 +9.240000000000000352e-09 2.841379310344828157e-01 +9.269999999999999628e-09 2.851724137931034297e-01 +9.300000000000000559e-09 2.862068965517241548e-01 +9.329999999999999835e-09 2.872413793103448243e-01 +9.359999999999999111e-09 2.882758620689654938e-01 +9.390000000000000041e-09 2.893103448275862188e-01 +9.419999999999999317e-09 2.903448275862068884e-01 +9.450000000000000247e-09 2.913793103448276134e-01 +9.479999999999999523e-09 2.924137931034482829e-01 +9.510000000000000454e-09 2.934482758620690079e-01 +9.539999999999999730e-09 2.944827586206896775e-01 +9.570000000000000660e-09 2.955172413793104025e-01 +9.599999999999999936e-09 2.965517241379310720e-01 +9.629999999999999212e-09 2.975862068965517415e-01 +9.660000000000000143e-09 2.986206896551724665e-01 +9.689999999999999419e-09 2.996551724137930806e-01 +9.720000000000000349e-09 3.006896551724138056e-01 +9.749999999999999625e-09 3.017241379310344751e-01 +9.780000000000000555e-09 3.027586206896552001e-01 +9.809999999999999831e-09 3.037931034482758696e-01 +9.840000000000000762e-09 3.048275862068965947e-01 +9.870000000000000038e-09 3.058620689655172642e-01 +9.899999999999999314e-09 3.068965517241379337e-01 +9.930000000000000244e-09 3.079310344827586587e-01 +9.959999999999999520e-09 3.089655172413793283e-01 +9.990000000000000451e-09 3.100000000000000533e-01 +1.001999999999999973e-08 3.110344827586207228e-01 +1.005000000000000066e-08 3.120689655172414478e-01 +1.007999999999999993e-08 3.131034482758621174e-01 +1.010999999999999921e-08 3.141379310344827314e-01 +1.014000000000000014e-08 3.151724137931034564e-01 +1.016999999999999942e-08 3.162068965517241259e-01 +1.020000000000000035e-08 3.172413793103448509e-01 +1.022999999999999962e-08 3.182758620689655205e-01 +1.026000000000000055e-08 3.193103448275862455e-01 +1.028999999999999983e-08 3.203448275862069150e-01 +1.031999999999999910e-08 3.213793103448275845e-01 +1.035000000000000003e-08 3.224137931034483096e-01 +1.037999999999999931e-08 3.234482758620689791e-01 +1.041000000000000024e-08 3.244827586206897041e-01 +1.043999999999999952e-08 3.255172413793103736e-01 +1.047000000000000045e-08 3.265517241379310986e-01 +1.049999999999999972e-08 3.275862068965517127e-01 +1.053000000000000065e-08 3.286206896551724377e-01 +1.055999999999999993e-08 3.296551724137931072e-01 +1.058999999999999921e-08 3.306896551724137767e-01 +1.062000000000000014e-08 3.317241379310345017e-01 +1.064999999999999941e-08 3.327586206896551713e-01 +1.068000000000000034e-08 3.337931034482758963e-01 +1.070999999999999962e-08 3.348275862068965658e-01 +1.074000000000000055e-08 3.358620689655172908e-01 +1.076999999999999982e-08 3.368965517241379604e-01 +1.080000000000000076e-08 3.379310344827586854e-01 +1.083000000000000003e-08 3.389655172413793549e-01 +1.085999999999999931e-08 3.400000000000000244e-01 +1.089000000000000024e-08 3.410344827586207495e-01 +1.091999999999999951e-08 3.420689655172413635e-01 +1.095000000000000044e-08 3.431034482758620885e-01 +1.097999999999999972e-08 3.441379310344827580e-01 +1.101000000000000065e-08 3.451724137931034830e-01 +1.103999999999999993e-08 3.462068965517241526e-01 +1.106999999999999920e-08 3.472413793103448221e-01 +1.110000000000000013e-08 3.482758620689655471e-01 +1.112999999999999941e-08 3.493103448275862166e-01 +1.116000000000000034e-08 3.503448275862069416e-01 +1.118999999999999962e-08 3.513793103448276112e-01 +1.122000000000000055e-08 3.524137931034483362e-01 +1.124999999999999982e-08 3.534482758620690057e-01 +1.127999999999999910e-08 3.544827586206896752e-01 +1.131000000000000003e-08 3.555172413793104003e-01 +1.133999999999999930e-08 3.565517241379310143e-01 +1.137000000000000023e-08 3.575862068965517393e-01 +1.139999999999999951e-08 3.586206896551724088e-01 +1.143000000000000044e-08 3.596551724137931338e-01 +1.145999999999999972e-08 3.606896551724138034e-01 +1.149000000000000065e-08 3.617241379310345284e-01 +1.151999999999999992e-08 3.627586206896551979e-01 +1.154999999999999920e-08 3.637931034482758674e-01 +1.158000000000000013e-08 3.648275862068965925e-01 +1.160999999999999941e-08 3.658620689655172620e-01 +1.164000000000000034e-08 3.668965517241379870e-01 +1.166999999999999961e-08 3.679310344827586565e-01 +1.170000000000000054e-08 3.689655172413793816e-01 +1.172999999999999982e-08 3.700000000000000511e-01 +1.176000000000000075e-08 3.710344827586207206e-01 +1.179000000000000002e-08 3.720689655172413901e-01 +1.181999999999999930e-08 3.731034482758620596e-01 +1.185000000000000023e-08 3.741379310344827847e-01 +1.187999999999999951e-08 3.751724137931034542e-01 +1.191000000000000044e-08 3.762068965517241792e-01 +1.193999999999999971e-08 3.772413793103448487e-01 +1.197000000000000064e-08 3.782758620689655737e-01 +1.199999999999999992e-08 3.793103448275862433e-01 +1.202999999999999920e-08 3.803448275862069128e-01 +1.206000000000000013e-08 3.813793103448276378e-01 +1.208999999999999940e-08 3.824137931034483073e-01 +1.212000000000000033e-08 3.834482758620690324e-01 +1.214999999999999961e-08 3.844827586206897019e-01 +1.218000000000000054e-08 3.855172413793103714e-01 +1.220999999999999982e-08 3.865517241379310409e-01 +1.223999999999999909e-08 3.875862068965517104e-01 +1.227000000000000002e-08 3.886206896551724355e-01 +1.229999999999999930e-08 3.896551724137931050e-01 +1.233000000000000023e-08 3.906896551724138300e-01 +1.235999999999999950e-08 3.917241379310344995e-01 +1.239000000000000043e-08 3.927586206896552246e-01 +1.241999999999999971e-08 3.937931034482758941e-01 +1.245000000000000064e-08 3.948275862068966191e-01 +1.247999999999999992e-08 3.958620689655172886e-01 +1.250999999999999919e-08 3.968965517241379581e-01 +1.254000000000000012e-08 3.979310344827586832e-01 +1.256999999999999940e-08 3.989655172413793527e-01 +1.260000000000000033e-08 4.000000000000000222e-01 +1.262999999999999961e-08 4.010344827586206917e-01 +1.266000000000000054e-08 4.020689655172414168e-01 +1.268999999999999981e-08 4.031034482758620863e-01 +1.272000000000000074e-08 4.041379310344828113e-01 +1.275000000000000002e-08 4.051724137931034808e-01 +1.277999999999999929e-08 4.062068965517241503e-01 +1.281000000000000023e-08 4.072413793103448754e-01 +1.283999999999999950e-08 4.082758620689655449e-01 +1.287000000000000043e-08 4.093103448275862699e-01 +1.289999999999999971e-08 4.103448275862069394e-01 +1.293000000000000064e-08 4.113793103448276645e-01 +1.295999999999999991e-08 4.124137931034483340e-01 +1.298999999999999919e-08 4.134482758620689480e-01 +1.302000000000000012e-08 4.144827586206896730e-01 +1.304999999999999940e-08 4.155172413793103425e-01 +1.308000000000000033e-08 4.165517241379310676e-01 +1.310999999999999960e-08 4.175862068965517371e-01 +1.314000000000000053e-08 4.186206896551724621e-01 +1.316999999999999981e-08 4.196551724137931316e-01 +1.319999999999999909e-08 4.206896551724138011e-01 +1.323000000000000002e-08 4.217241379310345262e-01 +1.325999999999999929e-08 4.227586206896551957e-01 +1.329000000000000022e-08 4.237931034482759207e-01 +1.331999999999999950e-08 4.248275862068965902e-01 +1.335000000000000043e-08 4.258620689655173153e-01 +1.337999999999999970e-08 4.268965517241379848e-01 +1.341000000000000063e-08 4.279310344827587098e-01 +1.343999999999999991e-08 4.289655172413793238e-01 +1.346999999999999919e-08 4.299999999999999933e-01 +1.350000000000000012e-08 4.310344827586207184e-01 +1.352999999999999939e-08 4.320689655172413879e-01 +1.356000000000000032e-08 4.331034482758621129e-01 +1.358999999999999960e-08 4.341379310344827824e-01 +1.362000000000000053e-08 4.351724137931035075e-01 +1.364999999999999981e-08 4.362068965517241770e-01 +1.368000000000000074e-08 4.372413793103449020e-01 +1.371000000000000001e-08 4.382758620689655715e-01 +1.373999999999999929e-08 4.393103448275862410e-01 +1.377000000000000022e-08 4.403448275862069661e-01 +1.379999999999999949e-08 4.413793103448276356e-01 +1.383000000000000043e-08 4.424137931034483606e-01 +1.385999999999999970e-08 4.434482758620689746e-01 +1.389000000000000063e-08 4.444827586206896997e-01 +1.391999999999999991e-08 4.455172413793103692e-01 +1.394999999999999918e-08 4.465517241379310387e-01 +1.398000000000000011e-08 4.475862068965517637e-01 +1.400999999999999939e-08 4.486206896551724332e-01 +1.404000000000000032e-08 4.496551724137931583e-01 +1.406999999999999960e-08 4.506896551724138278e-01 +1.410000000000000053e-08 4.517241379310345528e-01 +1.412999999999999980e-08 4.527586206896552223e-01 +1.415999999999999908e-08 4.537931034482758919e-01 +1.419000000000000001e-08 4.548275862068966169e-01 +1.421999999999999929e-08 4.558620689655172864e-01 +1.425000000000000022e-08 4.568965517241379559e-01 +1.427999999999999949e-08 4.579310344827586254e-01 +1.431000000000000042e-08 4.589655172413793505e-01 +1.433999999999999970e-08 4.600000000000000200e-01 +1.437000000000000063e-08 4.610344827586207450e-01 +1.439999999999999990e-08 4.620689655172414145e-01 +1.442999999999999918e-08 4.631034482758620840e-01 +1.446000000000000011e-08 4.641379310344828091e-01 +1.448999999999999939e-08 4.651724137931034786e-01 +1.452000000000000032e-08 4.662068965517242036e-01 +1.454999999999999959e-08 4.672413793103448731e-01 +1.458000000000000052e-08 4.682758620689655982e-01 +1.460999999999999980e-08 4.693103448275862677e-01 +1.464000000000000073e-08 4.703448275862069927e-01 +1.467000000000000001e-08 4.713793103448276067e-01 +1.469999999999999928e-08 4.724137931034482762e-01 +1.473000000000000021e-08 4.734482758620690013e-01 +1.475999999999999949e-08 4.744827586206896708e-01 +1.479000000000000042e-08 4.755172413793103958e-01 +1.481999999999999969e-08 4.765517241379310653e-01 +1.485000000000000063e-08 4.775862068965517904e-01 +1.487999999999999990e-08 4.786206896551724599e-01 +1.490999999999999918e-08 4.796551724137931294e-01 +1.494000000000000011e-08 4.806896551724138544e-01 +1.497000000000000104e-08 4.817241379310345795e-01 +1.499999999999999866e-08 4.827586206896551935e-01 +1.502999999999999959e-08 4.837931034482759185e-01 +1.506000000000000052e-08 4.848275862068966435e-01 +1.509000000000000145e-08 4.858620689655173130e-01 +1.511999999999999907e-08 4.868965517241379271e-01 +1.515000000000000000e-08 4.879310344827586521e-01 +1.518000000000000093e-08 4.889655172413793771e-01 +1.520999999999999855e-08 4.899999999999999911e-01 +1.523999999999999949e-08 4.910344827586207161e-01 +1.527000000000000042e-08 4.920689655172414412e-01 +1.530000000000000135e-08 4.931034482758621662e-01 +1.532999999999999897e-08 4.941379310344827802e-01 +1.535999999999999990e-08 4.951724137931035052e-01 +1.539000000000000083e-08 4.962068965517242303e-01 +1.541999999999999845e-08 4.972413793103448443e-01 +1.544999999999999938e-08 4.982758620689655693e-01 +1.548000000000000031e-08 4.993103448275862943e-01 +1.551000000000000124e-08 5.003448275862070194e-01 +1.553999999999999886e-08 5.013793103448276334e-01 +1.556999999999999979e-08 5.024137931034483584e-01 +1.560000000000000072e-08 5.034482758620690834e-01 +1.562999999999999835e-08 5.044827586206896974e-01 +1.565999999999999928e-08 5.055172413793104225e-01 +1.569000000000000021e-08 5.065517241379311475e-01 +1.572000000000000114e-08 5.075862068965517615e-01 +1.574999999999999876e-08 5.086206896551723755e-01 +1.577999999999999969e-08 5.096551724137931005e-01 +1.581000000000000062e-08 5.106896551724138256e-01 +1.584000000000000155e-08 5.117241379310345506e-01 +1.586999999999999917e-08 5.127586206896551646e-01 +1.590000000000000010e-08 5.137931034482758896e-01 +1.593000000000000103e-08 5.148275862068967257e-01 +1.595999999999999865e-08 5.158620689655173397e-01 +1.598999999999999958e-08 5.168965517241380647e-01 +1.602000000000000051e-08 5.179310344827587897e-01 +1.605000000000000144e-08 5.189655172413795148e-01 +1.607999999999999907e-08 5.200000000000001288e-01 +1.611000000000000000e-08 5.210344827586208538e-01 +1.614000000000000093e-08 5.220689655172414678e-01 +1.616999999999999855e-08 5.231034482758620818e-01 +1.619999999999999948e-08 5.241379310344828069e-01 +1.623000000000000041e-08 5.251724137931035319e-01 +1.626000000000000134e-08 5.262068965517242569e-01 +1.628999999999999896e-08 5.272413793103448709e-01 +1.631999999999999989e-08 5.282758620689655960e-01 +1.635000000000000082e-08 5.293103448275863210e-01 +1.637999999999999844e-08 5.303448275862069350e-01 +1.640999999999999937e-08 5.313793103448276600e-01 +1.644000000000000030e-08 5.324137931034483850e-01 +1.647000000000000123e-08 5.334482758620691101e-01 +1.649999999999999886e-08 5.344827586206897241e-01 +1.652999999999999979e-08 5.355172413793104491e-01 +1.656000000000000072e-08 5.365517241379311741e-01 +1.658999999999999834e-08 5.375862068965517881e-01 +1.661999999999999927e-08 5.386206896551725132e-01 +1.665000000000000020e-08 5.396551724137932382e-01 +1.668000000000000113e-08 5.406896551724139632e-01 +1.670999999999999875e-08 5.417241379310345772e-01 +1.673999999999999968e-08 5.427586206896553023e-01 +1.677000000000000061e-08 5.437931034482760273e-01 +1.679999999999999823e-08 5.448275862068966413e-01 +1.682999999999999916e-08 5.458620689655173663e-01 +1.686000000000000009e-08 5.468965517241380914e-01 +1.689000000000000103e-08 5.479310344827588164e-01 +1.691999999999999865e-08 5.489655172413794304e-01 +1.694999999999999958e-08 5.500000000000001554e-01 +1.698000000000000051e-08 5.510344827586207694e-01 +1.701000000000000144e-08 5.520689655172414945e-01 +1.703999999999999906e-08 5.531034482758621085e-01 +1.706999999999999999e-08 5.541379310344828335e-01 +1.710000000000000092e-08 5.551724137931035585e-01 +1.712999999999999854e-08 5.562068965517241725e-01 +1.715999999999999947e-08 5.572413793103448976e-01 +1.719000000000000040e-08 5.582758620689656226e-01 +1.722000000000000133e-08 5.593103448275863476e-01 +1.724999999999999895e-08 5.603448275862069616e-01 +1.727999999999999989e-08 5.613793103448276867e-01 +1.731000000000000082e-08 5.624137931034484117e-01 +1.733999999999999844e-08 5.634482758620690257e-01 +1.736999999999999937e-08 5.644827586206897507e-01 +1.740000000000000030e-08 5.655172413793104758e-01 +1.743000000000000123e-08 5.665517241379312008e-01 +1.745999999999999885e-08 5.675862068965518148e-01 +1.748999999999999978e-08 5.686206896551725398e-01 +1.752000000000000071e-08 5.696551724137932649e-01 +1.754999999999999833e-08 5.706896551724138789e-01 +1.757999999999999926e-08 5.717241379310346039e-01 +1.761000000000000019e-08 5.727586206896553289e-01 +1.764000000000000112e-08 5.737931034482760539e-01 +1.766999999999999875e-08 5.748275862068966680e-01 +1.769999999999999968e-08 5.758620689655173930e-01 +1.773000000000000061e-08 5.768965517241381180e-01 +1.776000000000000154e-08 5.779310344827588430e-01 +1.778999999999999916e-08 5.789655172413793460e-01 +1.782000000000000009e-08 5.800000000000000711e-01 +1.785000000000000102e-08 5.810344827586207961e-01 +1.787999999999999864e-08 5.820689655172414101e-01 +1.790999999999999957e-08 5.831034482758621351e-01 +1.794000000000000050e-08 5.841379310344828601e-01 +1.797000000000000143e-08 5.851724137931035852e-01 +1.799999999999999905e-08 5.862068965517241992e-01 +1.802999999999999998e-08 5.872413793103449242e-01 +1.806000000000000091e-08 5.882758620689656492e-01 +1.808999999999999854e-08 5.893103448275862632e-01 +1.811999999999999947e-08 5.903448275862069883e-01 +1.815000000000000040e-08 5.913793103448277133e-01 +1.818000000000000133e-08 5.924137931034484383e-01 +1.820999999999999895e-08 5.934482758620690523e-01 +1.823999999999999988e-08 5.944827586206897774e-01 +1.827000000000000081e-08 5.955172413793105024e-01 +1.829999999999999843e-08 5.965517241379311164e-01 +1.832999999999999936e-08 5.975862068965518414e-01 +1.836000000000000029e-08 5.986206896551725665e-01 +1.839000000000000122e-08 5.996551724137932915e-01 +1.841999999999999884e-08 6.006896551724139055e-01 +1.844999999999999977e-08 6.017241379310346305e-01 +1.848000000000000070e-08 6.027586206896553556e-01 +1.850999999999999833e-08 6.037931034482759696e-01 +1.853999999999999926e-08 6.048275862068966946e-01 +1.857000000000000019e-08 6.058620689655174196e-01 +1.860000000000000112e-08 6.068965517241381447e-01 +1.862999999999999874e-08 6.079310344827586476e-01 +1.865999999999999967e-08 6.089655172413793727e-01 +1.869000000000000060e-08 6.100000000000000977e-01 +1.871999999999999822e-08 6.110344827586207117e-01 +1.874999999999999915e-08 6.120689655172414367e-01 +1.878000000000000008e-08 6.131034482758621618e-01 +1.881000000000000101e-08 6.141379310344828868e-01 +1.883999999999999863e-08 6.151724137931035008e-01 +1.886999999999999956e-08 6.162068965517242258e-01 +1.890000000000000049e-08 6.172413793103449509e-01 +1.893000000000000143e-08 6.182758620689656759e-01 +1.895999999999999905e-08 6.193103448275862899e-01 +1.898999999999999998e-08 6.203448275862070149e-01 +1.902000000000000091e-08 6.213793103448277400e-01 +1.904999999999999853e-08 6.224137931034483540e-01 +1.907999999999999946e-08 6.234482758620690790e-01 +1.911000000000000039e-08 6.244827586206898040e-01 +1.914000000000000132e-08 6.255172413793105290e-01 +1.916999999999999894e-08 6.265517241379311431e-01 +1.919999999999999987e-08 6.275862068965518681e-01 +1.923000000000000080e-08 6.286206896551725931e-01 +1.925999999999999842e-08 6.296551724137932071e-01 +1.928999999999999935e-08 6.306896551724139321e-01 +1.932000000000000029e-08 6.317241379310346572e-01 +1.935000000000000122e-08 6.327586206896553822e-01 +1.937999999999999884e-08 6.337931034482759962e-01 +1.940999999999999977e-08 6.348275862068967212e-01 +1.944000000000000070e-08 6.358620689655174463e-01 +1.946999999999999832e-08 6.368965517241379493e-01 +1.949999999999999925e-08 6.379310344827586743e-01 +1.953000000000000018e-08 6.389655172413793993e-01 +1.956000000000000111e-08 6.400000000000001243e-01 +1.958999999999999873e-08 6.410344827586207384e-01 +1.961999999999999966e-08 6.420689655172414634e-01 +1.965000000000000059e-08 6.431034482758621884e-01 +1.968000000000000152e-08 6.441379310344829134e-01 +1.970999999999999915e-08 6.451724137931035274e-01 +1.974000000000000008e-08 6.462068965517242525e-01 +1.977000000000000101e-08 6.472413793103449775e-01 +1.979999999999999863e-08 6.482758620689655915e-01 +1.982999999999999956e-08 6.493103448275863165e-01 +1.986000000000000049e-08 6.503448275862070416e-01 +1.989000000000000142e-08 6.513793103448277666e-01 +1.991999999999999904e-08 6.524137931034483806e-01 +1.994999999999999997e-08 6.534482758620691056e-01 +1.998000000000000090e-08 6.544827586206898307e-01 +2.000999999999999852e-08 6.555172413793104447e-01 +2.003999999999999945e-08 6.565517241379311697e-01 +2.007000000000000038e-08 6.575862068965518947e-01 +2.010000000000000131e-08 6.586206896551726198e-01 +2.012999999999999894e-08 6.596551724137932338e-01 +2.015999999999999987e-08 6.606896551724139588e-01 +2.019000000000000080e-08 6.617241379310346838e-01 +2.021999999999999842e-08 6.627586206896552978e-01 +2.024999999999999935e-08 6.637931034482760229e-01 +2.028000000000000028e-08 6.648275862068967479e-01 +2.031000000000000121e-08 6.658620689655173619e-01 +2.033999999999999883e-08 6.668965517241379759e-01 +2.036999999999999976e-08 6.679310344827587009e-01 +2.040000000000000069e-08 6.689655172413794260e-01 +2.042999999999999831e-08 6.700000000000000400e-01 +2.045999999999999924e-08 6.710344827586207650e-01 +2.049000000000000017e-08 6.720689655172414900e-01 +2.052000000000000110e-08 6.731034482758622151e-01 +2.054999999999999873e-08 6.741379310344828291e-01 +2.057999999999999966e-08 6.751724137931035541e-01 +2.061000000000000059e-08 6.762068965517242791e-01 +2.063999999999999821e-08 6.772413793103448931e-01 +2.066999999999999914e-08 6.782758620689656182e-01 +2.070000000000000007e-08 6.793103448275863432e-01 +2.073000000000000100e-08 6.803448275862070682e-01 +2.075999999999999862e-08 6.813793103448276822e-01 +2.078999999999999955e-08 6.824137931034484073e-01 +2.082000000000000048e-08 6.834482758620691323e-01 +2.085000000000000141e-08 6.844827586206898573e-01 +2.087999999999999903e-08 6.855172413793104713e-01 +2.090999999999999996e-08 6.865517241379311963e-01 +2.094000000000000089e-08 6.875862068965519214e-01 +2.096999999999999852e-08 6.886206896551725354e-01 +2.099999999999999945e-08 6.896551724137932604e-01 +2.103000000000000038e-08 6.906896551724139854e-01 +2.106000000000000131e-08 6.917241379310347105e-01 +2.108999999999999893e-08 6.927586206896553245e-01 +2.111999999999999986e-08 6.937931034482760495e-01 +2.115000000000000079e-08 6.948275862068966635e-01 +2.117999999999999841e-08 6.958620689655172775e-01 +2.120999999999999934e-08 6.968965517241380025e-01 +2.124000000000000027e-08 6.979310344827587276e-01 +2.127000000000000120e-08 6.989655172413794526e-01 +2.129999999999999882e-08 7.000000000000000666e-01 +2.132999999999999975e-08 7.010344827586207916e-01 +2.136000000000000069e-08 7.020689655172415167e-01 +2.138999999999999831e-08 7.031034482758621307e-01 +2.141999999999999924e-08 7.041379310344828557e-01 +2.145000000000000017e-08 7.051724137931035807e-01 +2.148000000000000110e-08 7.062068965517243058e-01 +2.150999999999999872e-08 7.072413793103449198e-01 +2.153999999999999965e-08 7.082758620689656448e-01 +2.157000000000000058e-08 7.093103448275863698e-01 +2.160000000000000151e-08 7.103448275862070949e-01 +2.162999999999999913e-08 7.113793103448277089e-01 +2.166000000000000006e-08 7.124137931034484339e-01 +2.169000000000000099e-08 7.134482758620691589e-01 +2.171999999999999861e-08 7.144827586206897729e-01 +2.174999999999999955e-08 7.155172413793104980e-01 +2.178000000000000048e-08 7.165517241379312230e-01 +2.181000000000000141e-08 7.175862068965519480e-01 +2.183999999999999903e-08 7.186206896551725620e-01 +2.186999999999999996e-08 7.196551724137932871e-01 +2.190000000000000089e-08 7.206896551724140121e-01 +2.192999999999999851e-08 7.217241379310346261e-01 +2.195999999999999944e-08 7.227586206896552401e-01 +2.199000000000000037e-08 7.237931034482759651e-01 +2.202000000000000130e-08 7.248275862068966902e-01 +2.204999999999999892e-08 7.258620689655173042e-01 +2.207999999999999985e-08 7.268965517241380292e-01 +2.211000000000000078e-08 7.279310344827587542e-01 +2.213999999999999841e-08 7.289655172413793682e-01 +2.216999999999999934e-08 7.300000000000000933e-01 +2.220000000000000027e-08 7.310344827586208183e-01 +2.223000000000000120e-08 7.320689655172415433e-01 +2.225999999999999882e-08 7.331034482758621573e-01 +2.228999999999999975e-08 7.341379310344828824e-01 +2.232000000000000068e-08 7.351724137931036074e-01 +2.234999999999999830e-08 7.362068965517242214e-01 +2.237999999999999923e-08 7.372413793103449464e-01 +2.241000000000000016e-08 7.382758620689656714e-01 +2.244000000000000109e-08 7.393103448275863965e-01 +2.246999999999999871e-08 7.403448275862070105e-01 +2.249999999999999964e-08 7.413793103448277355e-01 +2.253000000000000057e-08 7.424137931034484605e-01 +2.255999999999999820e-08 7.434482758620690745e-01 +2.258999999999999913e-08 7.444827586206897996e-01 +2.262000000000000006e-08 7.455172413793105246e-01 +2.265000000000000099e-08 7.465517241379312496e-01 +2.267999999999999861e-08 7.475862068965518636e-01 +2.270999999999999954e-08 7.486206896551725887e-01 +2.274000000000000047e-08 7.496551724137933137e-01 +2.277000000000000140e-08 7.506896551724140387e-01 +2.279999999999999902e-08 7.517241379310345417e-01 +2.282999999999999995e-08 7.527586206896552667e-01 +2.286000000000000088e-08 7.537931034482759918e-01 +2.288999999999999850e-08 7.548275862068966058e-01 +2.291999999999999943e-08 7.558620689655173308e-01 +2.295000000000000036e-08 7.568965517241380558e-01 +2.298000000000000129e-08 7.579310344827587809e-01 +2.300999999999999892e-08 7.589655172413793949e-01 +2.303999999999999985e-08 7.600000000000001199e-01 +2.307000000000000078e-08 7.610344827586208449e-01 +2.309999999999999840e-08 7.620689655172414589e-01 +2.312999999999999933e-08 7.631034482758621840e-01 +2.316000000000000026e-08 7.641379310344829090e-01 +2.319000000000000119e-08 7.651724137931036340e-01 +2.321999999999999881e-08 7.662068965517242480e-01 +2.324999999999999974e-08 7.672413793103449731e-01 +2.328000000000000067e-08 7.682758620689656981e-01 +2.330999999999999829e-08 7.693103448275863121e-01 +2.333999999999999922e-08 7.703448275862070371e-01 +2.337000000000000015e-08 7.713793103448277622e-01 +2.340000000000000109e-08 7.724137931034484872e-01 +2.342999999999999871e-08 7.734482758620691012e-01 +2.345999999999999964e-08 7.744827586206898262e-01 +2.349000000000000057e-08 7.755172413793105513e-01 +2.352000000000000150e-08 7.765517241379312763e-01 +2.354999999999999912e-08 7.775862068965518903e-01 +2.358000000000000005e-08 7.786206896551726153e-01 +2.361000000000000098e-08 7.796551724137933403e-01 +2.363999999999999860e-08 7.806896551724138433e-01 +2.366999999999999953e-08 7.817241379310345684e-01 +2.370000000000000046e-08 7.827586206896552934e-01 +2.373000000000000139e-08 7.837931034482760184e-01 +2.375999999999999901e-08 7.848275862068966324e-01 +2.378999999999999995e-08 7.858620689655173575e-01 +2.382000000000000088e-08 7.868965517241380825e-01 +2.384999999999999850e-08 7.879310344827586965e-01 +2.387999999999999943e-08 7.889655172413794215e-01 +2.391000000000000036e-08 7.900000000000001465e-01 +2.394000000000000129e-08 7.910344827586208716e-01 +2.396999999999999891e-08 7.920689655172414856e-01 +2.399999999999999984e-08 7.931034482758622106e-01 +2.403000000000000077e-08 7.941379310344829356e-01 +2.405999999999999839e-08 7.951724137931035497e-01 +2.408999999999999932e-08 7.962068965517242747e-01 +2.412000000000000025e-08 7.972413793103449997e-01 +2.415000000000000118e-08 7.982758620689657247e-01 +2.417999999999999881e-08 7.993103448275863387e-01 +2.420999999999999974e-08 8.003448275862070638e-01 +2.424000000000000067e-08 8.013793103448277888e-01 +2.426999999999999829e-08 8.024137931034484028e-01 +2.429999999999999922e-08 8.034482758620691278e-01 +2.433000000000000015e-08 8.044827586206898529e-01 +2.436000000000000108e-08 8.055172413793105779e-01 +2.438999999999999870e-08 8.065517241379311919e-01 +2.441999999999999963e-08 8.075862068965519169e-01 +2.445000000000000056e-08 8.086206896551726420e-01 +2.447999999999999818e-08 8.096551724137931449e-01 +2.450999999999999911e-08 8.106896551724138700e-01 +2.454000000000000004e-08 8.117241379310345950e-01 +2.457000000000000097e-08 8.127586206896553200e-01 +2.459999999999999860e-08 8.137931034482759340e-01 +2.462999999999999953e-08 8.148275862068966591e-01 +2.466000000000000046e-08 8.158620689655173841e-01 +2.469000000000000139e-08 8.168965517241381091e-01 +2.471999999999999901e-08 8.179310344827587231e-01 +2.474999999999999994e-08 8.189655172413794482e-01 +2.478000000000000087e-08 8.200000000000001732e-01 +2.480999999999999849e-08 8.210344827586207872e-01 +2.483999999999999942e-08 8.220689655172415122e-01 +2.487000000000000035e-08 8.231034482758622373e-01 +2.490000000000000128e-08 8.241379310344829623e-01 +2.492999999999999890e-08 8.251724137931035763e-01 +2.495999999999999983e-08 8.262068965517243013e-01 +2.499000000000000076e-08 8.272413793103450264e-01 +2.501999999999999839e-08 8.282758620689656404e-01 +2.504999999999999932e-08 8.293103448275863654e-01 +2.508000000000000025e-08 8.303448275862070904e-01 +2.511000000000000118e-08 8.313793103448278154e-01 +2.513999999999999880e-08 8.324137931034484295e-01 +2.516999999999999973e-08 8.334482758620691545e-01 +2.520000000000000066e-08 8.344827586206898795e-01 +2.522999999999999828e-08 8.355172413793104935e-01 +2.525999999999999921e-08 8.365517241379312186e-01 +2.529000000000000014e-08 8.375862068965518326e-01 +2.532000000000000107e-08 8.386206896551725576e-01 +2.534999999999999869e-08 8.396551724137931716e-01 +2.537999999999999962e-08 8.406896551724138966e-01 +2.541000000000000055e-08 8.417241379310346217e-01 +2.544000000000000149e-08 8.427586206896553467e-01 +2.546999999999999911e-08 8.437931034482759607e-01 +2.550000000000000004e-08 8.448275862068966857e-01 +2.553000000000000097e-08 8.458620689655174107e-01 +2.555999999999999859e-08 8.468965517241380248e-01 +2.558999999999999952e-08 8.479310344827587498e-01 +2.562000000000000045e-08 8.489655172413794748e-01 +2.565000000000000138e-08 8.500000000000001998e-01 +2.567999999999999900e-08 8.510344827586208138e-01 +2.570999999999999993e-08 8.520689655172415389e-01 +2.574000000000000086e-08 8.531034482758622639e-01 +2.576999999999999848e-08 8.541379310344828779e-01 +2.579999999999999941e-08 8.551724137931036029e-01 +2.583000000000000035e-08 8.562068965517243280e-01 +2.586000000000000128e-08 8.572413793103450530e-01 +2.588999999999999890e-08 8.582758620689656670e-01 +2.591999999999999983e-08 8.593103448275863920e-01 +2.595000000000000076e-08 8.603448275862071171e-01 +2.597999999999999838e-08 8.613793103448277311e-01 +2.600999999999999931e-08 8.624137931034484561e-01 +2.604000000000000024e-08 8.634482758620691811e-01 +2.607000000000000117e-08 8.644827586206899062e-01 +2.609999999999999879e-08 8.655172413793105202e-01 +2.612999999999999972e-08 8.665517241379311342e-01 +2.616000000000000065e-08 8.675862068965518592e-01 +2.618999999999999827e-08 8.686206896551724732e-01 +2.621999999999999921e-08 8.696551724137931982e-01 +2.625000000000000014e-08 8.706896551724139233e-01 +2.628000000000000107e-08 8.717241379310346483e-01 +2.630999999999999869e-08 8.727586206896552623e-01 +2.633999999999999962e-08 8.737931034482759873e-01 +2.637000000000000055e-08 8.748275862068967124e-01 +2.639999999999999817e-08 8.758620689655173264e-01 +2.642999999999999910e-08 8.768965517241380514e-01 +2.646000000000000003e-08 8.779310344827587764e-01 +2.649000000000000096e-08 8.789655172413795015e-01 +2.651999999999999858e-08 8.800000000000001155e-01 +2.654999999999999951e-08 8.810344827586208405e-01 +2.658000000000000044e-08 8.820689655172415655e-01 +2.661000000000000137e-08 8.831034482758622906e-01 +2.663999999999999900e-08 8.841379310344829046e-01 +2.666999999999999993e-08 8.851724137931036296e-01 +2.670000000000000086e-08 8.862068965517243546e-01 +2.672999999999999848e-08 8.872413793103449686e-01 +2.675999999999999941e-08 8.882758620689656937e-01 +2.679000000000000034e-08 8.893103448275864187e-01 +2.682000000000000127e-08 8.903448275862071437e-01 +2.684999999999999889e-08 8.913793103448277577e-01 +2.687999999999999982e-08 8.924137931034484827e-01 +2.691000000000000075e-08 8.934482758620692078e-01 +2.693999999999999837e-08 8.944827586206897108e-01 +2.696999999999999930e-08 8.955172413793104358e-01 +2.700000000000000023e-08 8.965517241379311608e-01 +2.703000000000000116e-08 8.975862068965518858e-01 +2.705999999999999879e-08 8.986206896551724999e-01 +2.708999999999999972e-08 8.996551724137932249e-01 +2.712000000000000065e-08 9.006896551724139499e-01 +2.714999999999999827e-08 9.017241379310345639e-01 +2.717999999999999920e-08 9.027586206896552889e-01 +2.721000000000000013e-08 9.037931034482760140e-01 +2.724000000000000106e-08 9.048275862068967390e-01 +2.726999999999999868e-08 9.058620689655173530e-01 +2.729999999999999961e-08 9.068965517241380780e-01 +2.733000000000000054e-08 9.079310344827588031e-01 +2.736000000000000147e-08 9.089655172413795281e-01 +2.738999999999999909e-08 9.100000000000001421e-01 +2.742000000000000002e-08 9.110344827586208671e-01 +2.745000000000000095e-08 9.120689655172415922e-01 +2.747999999999999858e-08 9.131034482758622062e-01 +2.750999999999999951e-08 9.141379310344829312e-01 +2.754000000000000044e-08 9.151724137931036562e-01 +2.757000000000000137e-08 9.162068965517243813e-01 +2.759999999999999899e-08 9.172413793103449953e-01 +2.762999999999999992e-08 9.182758620689657203e-01 +2.766000000000000085e-08 9.193103448275864453e-01 +2.768999999999999847e-08 9.203448275862070593e-01 +2.771999999999999940e-08 9.213793103448277844e-01 +2.775000000000000033e-08 9.224137931034485094e-01 +2.778000000000000126e-08 9.234482758620692344e-01 +2.780999999999999888e-08 9.244827586206897374e-01 +2.783999999999999981e-08 9.255172413793104624e-01 +2.787000000000000075e-08 9.265517241379311875e-01 +2.789999999999999837e-08 9.275862068965518015e-01 +2.792999999999999930e-08 9.286206896551725265e-01 +2.796000000000000023e-08 9.296551724137932515e-01 +2.799000000000000116e-08 9.306896551724139766e-01 +2.801999999999999878e-08 9.317241379310345906e-01 +2.804999999999999971e-08 9.327586206896553156e-01 +2.808000000000000064e-08 9.337931034482760406e-01 +2.810999999999999826e-08 9.348275862068966546e-01 +2.813999999999999919e-08 9.358620689655173797e-01 +2.817000000000000012e-08 9.368965517241381047e-01 +2.820000000000000105e-08 9.379310344827588297e-01 +2.822999999999999867e-08 9.389655172413794437e-01 +2.825999999999999961e-08 9.400000000000001688e-01 +2.829000000000000054e-08 9.410344827586208938e-01 +2.831999999999999816e-08 9.420689655172415078e-01 +2.834999999999999909e-08 9.431034482758622328e-01 +2.838000000000000002e-08 9.441379310344829578e-01 +2.841000000000000095e-08 9.451724137931036829e-01 +2.843999999999999857e-08 9.462068965517242969e-01 +2.846999999999999950e-08 9.472413793103450219e-01 +2.850000000000000043e-08 9.482758620689657469e-01 +2.853000000000000136e-08 9.493103448275864720e-01 +2.855999999999999898e-08 9.503448275862070860e-01 +2.858999999999999991e-08 9.513793103448278110e-01 +2.862000000000000084e-08 9.524137931034484250e-01 +2.864999999999999847e-08 9.534482758620690390e-01 +2.867999999999999940e-08 9.544827586206897641e-01 +2.871000000000000033e-08 9.555172413793104891e-01 +2.874000000000000126e-08 9.565517241379312141e-01 +2.876999999999999888e-08 9.575862068965518281e-01 +2.879999999999999981e-08 9.586206896551725531e-01 +2.883000000000000074e-08 9.596551724137932782e-01 +2.885999999999999836e-08 9.606896551724138922e-01 +2.888999999999999929e-08 9.617241379310346172e-01 +2.892000000000000022e-08 9.627586206896553422e-01 +2.895000000000000115e-08 9.637931034482760673e-01 +2.897999999999999877e-08 9.648275862068966813e-01 +2.900999999999999970e-08 9.658620689655174063e-01 +2.904000000000000063e-08 9.668965517241381313e-01 +2.906999999999999826e-08 9.679310344827587453e-01 +2.909999999999999919e-08 9.689655172413794704e-01 +2.913000000000000012e-08 9.700000000000001954e-01 +2.916000000000000105e-08 9.710344827586209204e-01 +2.918999999999999867e-08 9.720689655172415344e-01 +2.921999999999999960e-08 9.731034482758622595e-01 +2.925000000000000053e-08 9.741379310344829845e-01 +2.928000000000000146e-08 9.751724137931037095e-01 +2.930999999999999908e-08 9.762068965517243235e-01 +2.934000000000000001e-08 9.772413793103450486e-01 +2.937000000000000094e-08 9.782758620689657736e-01 +2.939999999999999856e-08 9.793103448275863876e-01 +2.942999999999999949e-08 9.803448275862071126e-01 +2.946000000000000042e-08 9.813793103448277266e-01 +2.949000000000000135e-08 9.824137931034484517e-01 +2.951999999999999898e-08 9.834482758620690657e-01 +2.954999999999999991e-08 9.844827586206897907e-01 +2.958000000000000084e-08 9.855172413793105157e-01 +2.960999999999999846e-08 9.865517241379311297e-01 +2.963999999999999939e-08 9.875862068965518548e-01 +2.967000000000000032e-08 9.886206896551725798e-01 +2.970000000000000125e-08 9.896551724137933048e-01 +2.972999999999999887e-08 9.906896551724139188e-01 +2.975999999999999980e-08 9.917241379310346439e-01 +2.979000000000000073e-08 9.927586206896553689e-01 +2.981999999999999835e-08 9.937931034482759829e-01 +2.984999999999999928e-08 9.948275862068967079e-01 +2.988000000000000021e-08 9.958620689655174330e-01 +2.991000000000000115e-08 9.968965517241381580e-01 +2.994000000000000208e-08 9.979310344827588830e-01 +2.997000000000000301e-08 9.989655172413796080e-01 2.999999999999999732e-08 1.000000000000000000e+00 3.002999999999999825e-08 1.000000000000000000e+00 3.005999999999999918e-08 1.000000000000000000e+00 diff --git a/testData/cases/sources/current_sources_prepost.py b/testData/cases/sources/current_sources_prepost.py index c0b76a30..9837676f 100644 --- a/testData/cases/sources/current_sources_prepost.py +++ b/testData/cases/sources/current_sources_prepost.py @@ -14,7 +14,7 @@ ##################################################### # %% Generate excitation and visualize dt = 3e-11 -t0 = 10e-9 +t0 = 1e-9 t1 = 30e-9 tf = 75e-9 A = 1.0 @@ -43,12 +43,6 @@ # %% Run solver fn = 'sources_current.fdtd.json' solver = FDTD(input_filename = fn, path_to_exe=SEMBA_EXE) -# solver['materials'][0] = {"id":1, -# "type": "wire", -# "radius": 0.1e-3, -# "resistancePerMeter": 0.0, -# "inductancePerMeter": 0.0 -# } solver['materials'][0] = {"id":1, "type": "unshieldedMultiwire", "inductancePerMeter": [[6.5138e-7]], @@ -57,94 +51,42 @@ solver["general"]["timeStep"] = 1e-11 solver["general"]["numberOfSteps"] = 6000 -solver["materialAssociations"][1] = {"materialId": 4, "elementIds": [3]} - - -solver["sources"][0]["elementIds"] = [1] -solver["sources"][0]["field"] = "voltage" -solver["sources"][0]["magnitudeFile"] = "voltage_source_50V.exc" -solver["mesh"]["elements"][0]["coordinateIds"] = [1] - -solver["probes"][0]["elementIds"] = [4] -solver["probes"][0]["name"] = "probe_start" -solver["probes"][0]["field"] = "current" -solver["probes"][0]["type"] = "wire" -solver["probes"][0]["domain"] = {"type" : "time"} - -solver["probes"][1]["elementIds"] = [6] -solver["probes"][1]["name"] = "probe_c7" -solver["probes"][1]["field"] = "current" -solver["probes"][1]["type"] = "wire" -solver["probes"][1]["domain"] = {"type" : "time"} - -solver["probes"][2]["elementIds"] = [4] -solver["probes"][2]["name"] = "probe_c8" -solver["probes"][2]["field"] = "current" -solver["probes"][2]["type"] = "wire" -solver["probes"][2]["domain"] = {"type" : "time"} - -solver["probes"][3]["elementIds"] = [10] -solver["probes"][3]["name"] = "probe_end" -solver["probes"][3]["field"] = "current" -solver["probes"][3]["type"] = "wire" -solver["probes"][3]["domain"] = {"type" : "time"} - - -solver["mesh"]["elements"][3]["coordinateIds"] = [8] -solver["mesh"]["elements"][5]["coordinateIds"] = [7] -solver["mesh"]["elements"][8]["coordinateIds"] = [4] -solver["mesh"]["elements"][9]["coordinateIds"] = [1] solver.cleanUp() solver.run() #%% probe_names = solver.getSolvedProbeFilenames("probe_end") -# p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) pendI = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) -# pendV = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) probe_names = solver.getSolvedProbeFilenames("probe_start") -# p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) pstI = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) -# pendV = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) -probe_names = solver.getSolvedProbeFilenames("probe_c8") -p8I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) -# p8V = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) +probe_names = solver.getSolvedProbeFilenames("probe_end") +pendV = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) -probe_names = solver.getSolvedProbeFilenames("probe_c7") -p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +probe_names = solver.getSolvedProbeFilenames("probe_start") +pstV = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) -# probe_names = solver.getSolvedProbeFilenames("probe_c7") -# p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) ##################################################### # %% Plot results - plt.figure() plt.plot(pstI['time']*1e9, pstI['current_0'], '*',label = 'probe start') plt.plot(pendI['time']*1e9, pendI['current_0'], '--',label = 'probe end') -# plt.plot(p8I['time']*1e9, p8I['current_0'], '*',label = 'probe8 (after source)') -# plt.plot(p7I['time']*1e9, p7I['current_0'], '*',label = 'probe7 (before source)') -# plt.plot(p7I['time']*1e9, -(p7I['current_0']-p8I['current_0']), '*',label = 'probes sum') -# plt.plot(data[:,0]*1e9, data[:,1], '-',label = 'source') -# plt.plot(pendI['time']*1e9, pendI['current_0'], '--',label = 'probe_end (at terminal)') plt.grid(which='both') plt.legend() plt.xlabel('Time (ns)') plt.ylabel('I (A)') plt.show() - -# plt.figure() -# # plt.plot(pendV['time']*1e9, pendV['voltage_0'], '.',label = 'line end') -# plt.plot(p8V['time']*1e9, p8V['voltage_0'], '--',label = 'p8') -# plt.grid(which='both') -# plt.legend() -# plt.xlabel('Time (ns)') -# plt.ylabel('V (V)') -# plt.show() -# %% Plot results - +#%% +plt.figure() +plt.plot(pstV['time']*1e9, pstV['voltage_0'], '*',label = 'probe start') +plt.plot(pendV['time']*1e9, pendV['voltage_0'], '--',label = 'probe end') +plt.grid(which='both') +plt.legend() +plt.xlabel('Time (ns)') +plt.ylabel('V (V)') +plt.show() # %% diff --git a/testData/cases/sources/current_voltage_50V.exc b/testData/cases/sources/current_voltage_50V.exc new file mode 100644 index 00000000..e69de29b diff --git a/testData/cases/sources/sources_current.fdtd.json b/testData/cases/sources/sources_current.fdtd.json index c6820392..c922b72a 100644 --- a/testData/cases/sources/sources_current.fdtd.json +++ b/testData/cases/sources/sources_current.fdtd.json @@ -153,7 +153,7 @@ "id": 1, "type": "node", "coordinateIds": [ - 1 + 5 ] }, { @@ -239,14 +239,14 @@ "id": 9, "type": "node", "coordinateIds": [ - 4 + 1 ] }, { "id": 10, "type": "node", "coordinateIds": [ - 1 + 4 ] } ] @@ -272,11 +272,11 @@ { "name": "terminal_source", "type": "generator", - "magnitudeFile": "voltage_source_50V.exc", + "magnitudeFile": "current_source_1A.exc", "elementIds": [ 1 ], - "field": "voltage", + "field": "current", "resistance": 50.0 } ], @@ -286,29 +286,29 @@ "type": "wire", "field": "current", "elementIds": [ - 4 + 9 ], "domain": { "type": "time" } }, { - "name": "probe_c7", + "name": "probe_start", "type": "wire", - "field": "current", + "field": "voltage", "elementIds": [ - 6 + 9 ], "domain": { "type": "time" } }, { - "name": "probe_c8", + "name": "probe_end", "type": "wire", - "field": "current", + "field": "voltage", "elementIds": [ - 4 + 10 ], "domain": { "type": "time" diff --git a/testData/cases/sources/sources_voltage.fdtd.json b/testData/cases/sources/sources_voltage.fdtd.json index 949b7e5f..a867a155 100644 --- a/testData/cases/sources/sources_voltage.fdtd.json +++ b/testData/cases/sources/sources_voltage.fdtd.json @@ -3,11 +3,11 @@ "__comments": "", "general": { "timeStep": 1e-11, - "numberOfSteps": 7500 + "numberOfSteps": 6000 }, "boundary": { "all": { - "type": "pml", + "type": "mur", "layers": 6, "order": 2.0, "reflection": 0.001 @@ -16,10 +16,17 @@ "materials": [ { "id": 1, - "type": "wire", - "radius": 0.0001, - "resistancePerMeter": 0.0, - "inductancePerMeter": 0.0 + "type": "unshieldedMultiwire", + "inductancePerMeter": [ + [ + 6.5138e-07 + ] + ], + "capacitancePerMeter": [ + [ + 1.7069e-11 + ] + ] }, { "id": 2, @@ -44,7 +51,32 @@ "name": "copper", "id": 4, "type": "pec" + }, + { + "id": 5, + "type": "terminal", + "terminations": [ + { + "type": "series", + "resistance": 50.0 + } + ] + }, + { + "id": 6, + "type": "shieldedMultiwire", + "inductancePerMeter": [ + [ + 6.8138e-07 + ] + ], + "capacitancePerMeter": [ + [ + 1.8069e-11 + ] + ] } + ], "mesh": { "grid": { @@ -74,6 +106,14 @@ 30 ] }, + { + "id": 9, + "relativePosition": [ + 27, + 25, + 30 + ] + }, { "id": 2, "relativePosition": [ @@ -82,6 +122,14 @@ 32 ] }, + { + "id": 10, + "relativePosition": [ + 27, + 25, + 32 + ] + }, { "id": 3, "relativePosition": [ @@ -90,6 +138,14 @@ 32 ] }, + { + "id": 11, + "relativePosition": [ + 43, + 25, + 32 + ] + }, { "id": 4, "relativePosition": [ @@ -98,6 +154,14 @@ 30 ] }, + { + "id": 12, + "relativePosition": [ + 43, + 25, + 30 + ] + }, { "id": 5, "relativePosition": [ @@ -106,6 +170,14 @@ 32 ] }, + { + "id": 13, + "relativePosition": [ + 35, + 25, + 32 + ] + }, { "id": 6, "relativePosition": [ @@ -145,13 +217,22 @@ "coordinateIds": [ 1, 2, - 7, 5, - 8, 3, 4 ] }, + { + "id": 11, + "type": "polyline", + "coordinateIds": [ + 9, + 10, + 13, + 11, + 12 + ] + }, { "id": 3, "type": "cell", @@ -200,7 +281,7 @@ "id": 6, "type": "node", "coordinateIds": [ - 4 + 7 ] }, { @@ -217,17 +298,41 @@ "coordinateIds": [ 7 ] + }, + { + "id": 9, + "type": "node", + "coordinateIds": [ + 9 + ] + }, + { + "id": 10, + "type": "node", + "coordinateIds": [ + 13 + ] } ] }, "materialAssociations": [ { "name": "wire", - "materialId": 1, - "initialTerminalId": 3, + "materialId": 6, + "initialTerminalId": 5, "endTerminalId": 2, "elementIds": [ 2 + ], + "containedWithinElementId" : 11 + }, + { + "name": "outer", + "materialId": 1, + "initialTerminalId": 5, + "endTerminalId": 2, + "elementIds": [ + 11 ] }, { @@ -251,33 +356,33 @@ ], "probes": [ { - "name": "probe_c8", + "name": "probe_start", "type": "wire", - "field": "voltage", + "field": "current", "elementIds": [ - 4 + 9 ], "domain": { "type": "time" } }, { - "name": "probe_end", + "name": "probe_start", "type": "wire", "field": "voltage", "elementIds": [ - 6 + 9 ], "domain": { "type": "time" } }, { - "name": "probe_c8", + "name": "probe_end", "type": "wire", - "field": "current", + "field": "voltage", "elementIds": [ - 4 + 10 ], "domain": { "type": "time" @@ -288,7 +393,7 @@ "type": "wire", "field": "current", "elementIds": [ - 6 + 10 ], "domain": { "type": "time" diff --git a/testData/cases/sources/voltage_source_50V.exc b/testData/cases/sources/voltage_source_50V.exc index 7b745125..62f376f1 100644 --- a/testData/cases/sources/voltage_source_50V.exc +++ b/testData/cases/sources/voltage_source_50V.exc @@ -32,972 +32,972 @@ 9.299999999999999938e-10 0.000000000000000000e+00 9.599999999999999936e-10 0.000000000000000000e+00 9.900000000000000968e-10 0.000000000000000000e+00 -1.019999999999999993e-09 0.000000000000000000e+00 -1.049999999999999890e-09 0.000000000000000000e+00 -1.079999999999999993e-09 0.000000000000000000e+00 -1.110000000000000096e-09 0.000000000000000000e+00 -1.139999999999999992e-09 0.000000000000000000e+00 -1.169999999999999889e-09 0.000000000000000000e+00 -1.199999999999999992e-09 0.000000000000000000e+00 -1.230000000000000095e-09 0.000000000000000000e+00 -1.259999999999999992e-09 0.000000000000000000e+00 -1.289999999999999888e-09 0.000000000000000000e+00 -1.319999999999999991e-09 0.000000000000000000e+00 -1.350000000000000094e-09 0.000000000000000000e+00 -1.379999999999999991e-09 0.000000000000000000e+00 -1.409999999999999887e-09 0.000000000000000000e+00 -1.439999999999999990e-09 0.000000000000000000e+00 -1.470000000000000094e-09 0.000000000000000000e+00 -1.499999999999999990e-09 0.000000000000000000e+00 -1.529999999999999886e-09 0.000000000000000000e+00 -1.559999999999999990e-09 0.000000000000000000e+00 -1.590000000000000093e-09 0.000000000000000000e+00 -1.619999999999999989e-09 0.000000000000000000e+00 -1.649999999999999886e-09 0.000000000000000000e+00 -1.679999999999999989e-09 0.000000000000000000e+00 -1.710000000000000092e-09 0.000000000000000000e+00 -1.739999999999999988e-09 0.000000000000000000e+00 -1.769999999999999885e-09 0.000000000000000000e+00 -1.799999999999999988e-09 0.000000000000000000e+00 -1.830000000000000091e-09 0.000000000000000000e+00 -1.859999999999999988e-09 0.000000000000000000e+00 -1.889999999999999884e-09 0.000000000000000000e+00 -1.919999999999999987e-09 0.000000000000000000e+00 -1.950000000000000090e-09 0.000000000000000000e+00 -1.980000000000000194e-09 0.000000000000000000e+00 -2.009999999999999883e-09 0.000000000000000000e+00 -2.039999999999999986e-09 0.000000000000000000e+00 -2.070000000000000090e-09 0.000000000000000000e+00 -2.099999999999999779e-09 0.000000000000000000e+00 -2.129999999999999882e-09 0.000000000000000000e+00 -2.159999999999999986e-09 0.000000000000000000e+00 -2.190000000000000089e-09 0.000000000000000000e+00 -2.220000000000000192e-09 0.000000000000000000e+00 -2.249999999999999882e-09 0.000000000000000000e+00 -2.279999999999999985e-09 0.000000000000000000e+00 -2.310000000000000088e-09 0.000000000000000000e+00 -2.339999999999999778e-09 0.000000000000000000e+00 -2.369999999999999881e-09 0.000000000000000000e+00 -2.399999999999999984e-09 0.000000000000000000e+00 -2.430000000000000087e-09 0.000000000000000000e+00 -2.460000000000000190e-09 0.000000000000000000e+00 -2.489999999999999880e-09 0.000000000000000000e+00 -2.519999999999999983e-09 3.636363636363623697e-02 -2.550000000000000086e-09 9.090909090909098100e-02 -2.579999999999999776e-09 1.454545454545449479e-01 -2.609999999999999879e-09 1.999999999999997058e-01 -2.639999999999999982e-09 2.545454545454544082e-01 -2.670000000000000086e-09 3.090909090909091383e-01 -2.700000000000000189e-09 3.636363636363639240e-01 -2.729999999999999878e-09 4.181818181818178770e-01 -2.759999999999999982e-09 4.727272727272726072e-01 -2.790000000000000085e-09 5.272727272727273373e-01 -2.819999999999999774e-09 5.818181818181813458e-01 -2.849999999999999878e-09 6.363636363636360205e-01 -2.879999999999999981e-09 6.909090909090908061e-01 -2.910000000000000084e-09 7.454545454545455918e-01 -2.940000000000000187e-09 8.000000000000002665e-01 -2.969999999999999877e-09 8.545454545454542750e-01 -2.999999999999999980e-09 9.090909090909089496e-01 -3.030000000000000083e-09 9.636363636363637353e-01 -3.059999999999999773e-09 1.018181818181817633e+00 -3.089999999999999876e-09 1.072727272727272529e+00 -3.119999999999999979e-09 1.127272727272727204e+00 -3.150000000000000082e-09 1.181818181818181879e+00 -3.180000000000000186e-09 1.236363636363636553e+00 -3.209999999999999875e-09 1.290909090909090562e+00 -3.239999999999999978e-09 1.345454545454545459e+00 -3.270000000000000082e-09 1.400000000000000133e+00 -3.299999999999999771e-09 1.454545454545454142e+00 -3.329999999999999874e-09 1.509090909090908816e+00 -3.359999999999999978e-09 1.563636363636363491e+00 -3.390000000000000081e-09 1.618181818181818388e+00 -3.420000000000000184e-09 1.672727272727273062e+00 -3.449999999999999874e-09 1.727272727272727071e+00 -3.479999999999999977e-09 1.781818181818181746e+00 -3.510000000000000080e-09 1.836363636363636420e+00 -3.539999999999999770e-09 1.890909090909090429e+00 -3.569999999999999873e-09 1.945454545454545103e+00 -3.599999999999999976e-09 2.000000000000000000e+00 -3.630000000000000079e-09 2.054545454545454675e+00 -3.660000000000000182e-09 2.109090909090909349e+00 -3.689999999999999872e-09 2.163636363636363580e+00 -3.719999999999999975e-09 2.218181818181818254e+00 -3.749999999999999665e-09 2.272727272727272041e+00 -3.779999999999999768e-09 2.327272727272726716e+00 -3.809999999999999871e-09 2.381818181818181390e+00 -3.839999999999999974e-09 2.436363636363636509e+00 -3.870000000000000078e-09 2.490909090909091184e+00 -3.900000000000000181e-09 2.545454545454545858e+00 -3.930000000000000284e-09 2.600000000000000533e+00 -3.960000000000000387e-09 2.654545454545455208e+00 -3.989999999999999663e-09 2.709090909090908550e+00 -4.019999999999999766e-09 2.763636363636363225e+00 -4.049999999999999870e-09 2.818181818181817899e+00 -4.079999999999999973e-09 2.872727272727272574e+00 -4.110000000000000076e-09 2.927272727272727249e+00 -4.140000000000000179e-09 2.981818181818182367e+00 -4.170000000000000282e-09 3.036363636363637042e+00 -4.199999999999999558e-09 3.090909090909089940e+00 -4.229999999999999662e-09 3.145454545454545059e+00 -4.259999999999999765e-09 3.199999999999999734e+00 -4.289999999999999868e-09 3.254545454545454408e+00 -4.319999999999999971e-09 3.309090909090909083e+00 -4.350000000000000074e-09 3.363636363636363757e+00 -4.380000000000000178e-09 3.418181818181818432e+00 -4.410000000000000281e-09 3.472727272727273107e+00 -4.440000000000000384e-09 3.527272727272727781e+00 -4.469999999999999660e-09 3.581818181818181124e+00 -4.499999999999999763e-09 3.636363636363635798e+00 -4.529999999999999866e-09 3.690909090909090917e+00 -4.559999999999999970e-09 3.745454545454545592e+00 -4.590000000000000073e-09 3.800000000000000266e+00 -4.620000000000000176e-09 3.854545454545454941e+00 -4.650000000000000279e-09 3.909090909090909616e+00 -4.679999999999999555e-09 3.963636363636362958e+00 -4.709999999999999658e-09 4.018181818181817633e+00 -4.739999999999999762e-09 4.072727272727272307e+00 -4.769999999999999865e-09 4.127272727272726982e+00 -4.799999999999999968e-09 4.181818181818181657e+00 -4.830000000000000071e-09 4.236363636363636331e+00 -4.860000000000000174e-09 4.290909090909091006e+00 -4.890000000000000278e-09 4.345454545454545681e+00 -4.920000000000000381e-09 4.400000000000000355e+00 -4.949999999999999657e-09 4.454545454545454142e+00 -4.979999999999999760e-09 4.509090909090908816e+00 -5.009999999999999863e-09 4.563636363636363491e+00 -5.039999999999999966e-09 4.618181818181818166e+00 -5.070000000000000070e-09 4.672727272727272840e+00 -5.100000000000000173e-09 4.727272727272727515e+00 -5.130000000000000276e-09 4.781818181818182190e+00 -5.159999999999999552e-09 4.836363636363635976e+00 -5.189999999999999655e-09 4.890909090909090651e+00 -5.219999999999999758e-09 4.945454545454545325e+00 -5.249999999999999862e-09 5.000000000000000000e+00 -5.279999999999999965e-09 5.054545454545454675e+00 -5.310000000000000068e-09 5.109090909090909349e+00 -5.340000000000000171e-09 5.163636363636364024e+00 -5.370000000000000274e-09 5.218181818181818699e+00 -5.400000000000000378e-09 5.272727272727273373e+00 -5.429999999999999654e-09 5.327272727272727160e+00 -5.459999999999999757e-09 5.381818181818181834e+00 -5.489999999999999860e-09 5.436363636363636509e+00 -5.519999999999999963e-09 5.490909090909091184e+00 -5.550000000000000066e-09 5.545454545454545858e+00 -5.580000000000000170e-09 5.600000000000000533e+00 -5.610000000000000273e-09 5.654545454545455208e+00 -5.639999999999999549e-09 5.709090909090908106e+00 -5.669999999999999652e-09 5.763636363636362780e+00 -5.699999999999999755e-09 5.818181818181817455e+00 -5.729999999999999858e-09 5.872727272727273018e+00 -5.759999999999999962e-09 5.927272727272727693e+00 -5.790000000000000065e-09 5.981818181818182367e+00 -5.820000000000000168e-09 6.036363636363637042e+00 -5.850000000000000271e-09 6.090909090909091717e+00 -5.880000000000000374e-09 6.145454545454546391e+00 -5.909999999999999651e-09 6.199999999999999289e+00 -5.939999999999999754e-09 6.254545454545453964e+00 -5.969999999999999857e-09 6.309090909090908639e+00 -5.999999999999999960e-09 6.363636363636363313e+00 -6.030000000000000063e-09 6.418181818181817988e+00 -6.060000000000000166e-09 6.472727272727273551e+00 -6.090000000000000270e-09 6.527272727272728226e+00 -6.119999999999999546e-09 6.581818181818181124e+00 -6.149999999999999649e-09 6.636363636363635798e+00 -6.179999999999999752e-09 6.690909090909090473e+00 -6.209999999999999855e-09 6.745454545454545148e+00 -6.239999999999999959e-09 6.799999999999999822e+00 -6.270000000000000062e-09 6.854545454545454497e+00 -6.300000000000000165e-09 6.909090909090909172e+00 -6.330000000000000268e-09 6.963636363636363846e+00 -6.360000000000000371e-09 7.018181818181819409e+00 -6.389999999999999647e-09 7.072727272727272307e+00 -6.419999999999999751e-09 7.127272727272726982e+00 -6.449999999999999854e-09 7.181818181818181657e+00 -6.479999999999999957e-09 7.236363636363636331e+00 -6.510000000000000060e-09 7.290909090909091006e+00 -6.540000000000000163e-09 7.345454545454545681e+00 -6.570000000000000267e-09 7.400000000000000355e+00 -6.599999999999999543e-09 7.454545454545454142e+00 -6.629999999999999646e-09 7.509090909090908816e+00 -6.659999999999999749e-09 7.563636363636363491e+00 -6.689999999999999852e-09 7.618181818181818166e+00 -6.719999999999999955e-09 7.672727272727272840e+00 -6.750000000000000059e-09 7.727272727272727515e+00 -6.780000000000000162e-09 7.781818181818182190e+00 -6.810000000000000265e-09 7.836363636363636864e+00 -6.840000000000000368e-09 7.890909090909091539e+00 -6.869999999999999644e-09 7.945454545454545325e+00 -6.899999999999999747e-09 8.000000000000000000e+00 -6.929999999999999851e-09 8.054545454545454675e+00 -6.959999999999999954e-09 8.109090909090909349e+00 -6.990000000000000057e-09 8.163636363636364024e+00 -7.020000000000000160e-09 8.218181818181818699e+00 -7.050000000000000263e-09 8.272727272727273373e+00 -7.079999999999999539e-09 8.327272727272726272e+00 -7.109999999999999643e-09 8.381818181818180946e+00 -7.139999999999999746e-09 8.436363636363635621e+00 -7.169999999999999849e-09 8.490909090909090295e+00 -7.199999999999999952e-09 8.545454545454544970e+00 -7.230000000000000055e-09 8.599999999999999645e+00 -7.260000000000000159e-09 8.654545454545454319e+00 -7.290000000000000262e-09 8.709090909090908994e+00 -7.320000000000000365e-09 8.763636363636363669e+00 -7.349999999999999641e-09 8.818181818181818343e+00 -7.379999999999999744e-09 8.872727272727273018e+00 -7.409999999999999847e-09 8.927272727272727693e+00 -7.439999999999999951e-09 8.981818181818182367e+00 -7.470000000000000054e-09 9.036363636363637042e+00 -7.499999999999999330e-09 9.090909090909089940e+00 -7.530000000000000260e-09 9.145454545454546391e+00 -7.559999999999999536e-09 9.199999999999999289e+00 -7.590000000000000467e-09 9.254545454545455740e+00 -7.619999999999999743e-09 9.309090909090908639e+00 -7.650000000000000673e-09 9.363636363636365090e+00 -7.679999999999999949e-09 9.418181818181817988e+00 -7.709999999999999225e-09 9.472727272727270886e+00 -7.740000000000000155e-09 9.527272727272727337e+00 -7.769999999999999431e-09 9.581818181818180236e+00 -7.800000000000000362e-09 9.636363636363636687e+00 -7.829999999999999638e-09 9.690909090909091361e+00 -7.860000000000000568e-09 9.745454545454546036e+00 -7.889999999999999844e-09 9.800000000000000711e+00 -7.920000000000000775e-09 9.854545454545455385e+00 -7.950000000000000051e-09 9.909090909090910060e+00 -7.979999999999999327e-09 9.963636363636362958e+00 -8.010000000000000257e-09 1.001818181818181941e+01 -8.039999999999999533e-09 1.007272727272727231e+01 -8.070000000000000463e-09 1.012727272727272876e+01 -8.099999999999999739e-09 1.018181818181818166e+01 -8.130000000000000670e-09 1.023636363636363811e+01 -8.159999999999999946e-09 1.029090909090909101e+01 -8.189999999999999222e-09 1.034545454545454390e+01 -8.220000000000000152e-09 1.040000000000000036e+01 -8.249999999999999428e-09 1.045454545454545325e+01 -8.280000000000000359e-09 1.050909090909090970e+01 -8.309999999999999635e-09 1.056363636363636260e+01 -8.340000000000000565e-09 1.061818181818181905e+01 -8.369999999999999841e-09 1.067272727272727195e+01 -8.399999999999999117e-09 1.072727272727272663e+01 -8.430000000000000047e-09 1.078181818181818308e+01 -8.459999999999999323e-09 1.083636363636363598e+01 -8.490000000000000254e-09 1.089090909090909243e+01 -8.519999999999999530e-09 1.094545454545454533e+01 -8.550000000000000460e-09 1.100000000000000178e+01 -8.579999999999999736e-09 1.105454545454545467e+01 -8.610000000000000667e-09 1.110909090909091113e+01 -8.639999999999999943e-09 1.116363636363636402e+01 -8.669999999999999219e-09 1.121818181818181692e+01 -8.700000000000000149e-09 1.127272727272727337e+01 -8.729999999999999425e-09 1.132727272727272627e+01 -8.760000000000000355e-09 1.138181818181818272e+01 -8.789999999999999631e-09 1.143636363636363562e+01 -8.820000000000000562e-09 1.149090909090909207e+01 -8.849999999999999838e-09 1.154545454545454497e+01 -8.880000000000000768e-09 1.160000000000000142e+01 -8.910000000000000044e-09 1.165454545454545432e+01 -8.939999999999999320e-09 1.170909090909090899e+01 -8.970000000000000251e-09 1.176363636363636367e+01 -8.999999999999999527e-09 1.181818181818181834e+01 -9.030000000000000457e-09 1.187272727272727302e+01 -9.059999999999999733e-09 1.192727272727272769e+01 -9.090000000000000663e-09 1.198181818181818414e+01 -9.119999999999999939e-09 1.203636363636363704e+01 -9.149999999999999215e-09 1.209090909090908994e+01 -9.180000000000000146e-09 1.214545454545454639e+01 -9.209999999999999422e-09 1.219999999999999929e+01 -9.240000000000000352e-09 1.225454545454545574e+01 -9.269999999999999628e-09 1.230909090909090864e+01 -9.300000000000000559e-09 1.236363636363636509e+01 -9.329999999999999835e-09 1.241818181818181799e+01 -9.359999999999999111e-09 1.247272727272727089e+01 -9.390000000000000041e-09 1.252727272727272734e+01 -9.419999999999999317e-09 1.258181818181818024e+01 -9.450000000000000247e-09 1.263636363636363669e+01 -9.479999999999999523e-09 1.269090909090908958e+01 -9.510000000000000454e-09 1.274545454545454604e+01 -9.539999999999999730e-09 1.280000000000000071e+01 -9.570000000000000660e-09 1.285454545454545539e+01 -9.599999999999999936e-09 1.290909090909091006e+01 -9.629999999999999212e-09 1.296363636363636296e+01 -9.660000000000000143e-09 1.301818181818181941e+01 -9.689999999999999419e-09 1.307272727272727231e+01 -9.720000000000000349e-09 1.312727272727272876e+01 -9.749999999999999625e-09 1.318181818181818166e+01 -9.780000000000000555e-09 1.323636363636363811e+01 -9.809999999999999831e-09 1.329090909090909101e+01 -9.840000000000000762e-09 1.334545454545454746e+01 -9.870000000000000038e-09 1.340000000000000036e+01 -9.899999999999999314e-09 1.345454545454545325e+01 -9.930000000000000244e-09 1.350909090909090970e+01 -9.959999999999999520e-09 1.356363636363636083e+01 -9.990000000000000451e-09 1.361818181818181728e+01 -1.001999999999999973e-08 1.367272727272727373e+01 -1.005000000000000066e-08 1.372727272727273018e+01 -1.007999999999999993e-08 1.378181818181818130e+01 -1.010999999999999921e-08 1.383636363636363598e+01 -1.014000000000000014e-08 1.389090909090909243e+01 -1.016999999999999942e-08 1.394545454545454355e+01 -1.020000000000000035e-08 1.400000000000000000e+01 -1.022999999999999962e-08 1.405454545454545645e+01 -1.026000000000000055e-08 1.410909090909091113e+01 -1.028999999999999983e-08 1.416363636363636225e+01 -1.031999999999999910e-08 1.421818181818181870e+01 -1.035000000000000003e-08 1.427272727272727515e+01 -1.037999999999999931e-08 1.432727272727272450e+01 -1.041000000000000024e-08 1.438181818181818095e+01 -1.043999999999999952e-08 1.443636363636363740e+01 -1.047000000000000045e-08 1.449090909090909385e+01 -1.049999999999999972e-08 1.454545454545454319e+01 -1.053000000000000065e-08 1.459999999999999964e+01 -1.055999999999999993e-08 1.465454545454545610e+01 -1.058999999999999921e-08 1.470909090909090722e+01 -1.062000000000000014e-08 1.476363636363636367e+01 -1.064999999999999941e-08 1.481818181818181834e+01 -1.068000000000000034e-08 1.487272727272727479e+01 -1.070999999999999962e-08 1.492727272727272592e+01 -1.074000000000000055e-08 1.498181818181818237e+01 -1.076999999999999982e-08 1.503636363636363882e+01 -1.080000000000000076e-08 1.509090909090909349e+01 -1.083000000000000003e-08 1.514545454545454461e+01 -1.085999999999999931e-08 1.520000000000000107e+01 -1.089000000000000024e-08 1.525454545454545752e+01 -1.091999999999999951e-08 1.530909090909090686e+01 -1.095000000000000044e-08 1.536363636363636331e+01 -1.097999999999999972e-08 1.541818181818181976e+01 -1.101000000000000065e-08 1.547272727272727622e+01 -1.103999999999999993e-08 1.552727272727272556e+01 -1.106999999999999920e-08 1.558181818181818201e+01 -1.110000000000000013e-08 1.563636363636363846e+01 -1.112999999999999941e-08 1.569090909090908958e+01 -1.116000000000000034e-08 1.574545454545454426e+01 -1.118999999999999962e-08 1.580000000000000071e+01 -1.122000000000000055e-08 1.585454545454545716e+01 -1.124999999999999982e-08 1.590909090909090828e+01 -1.127999999999999910e-08 1.596363636363636473e+01 -1.131000000000000003e-08 1.601818181818181941e+01 -1.133999999999999930e-08 1.607272727272727053e+01 -1.137000000000000023e-08 1.612727272727272521e+01 -1.139999999999999951e-08 1.618181818181818343e+01 -1.143000000000000044e-08 1.623636363636363811e+01 -1.145999999999999972e-08 1.629090909090908923e+01 -1.149000000000000065e-08 1.634545454545454390e+01 -1.151999999999999992e-08 1.640000000000000213e+01 -1.154999999999999920e-08 1.645454545454545325e+01 -1.158000000000000013e-08 1.650909090909090793e+01 -1.160999999999999941e-08 1.656363636363636616e+01 -1.164000000000000034e-08 1.661818181818182083e+01 -1.166999999999999961e-08 1.667272727272727195e+01 -1.170000000000000054e-08 1.672727272727272663e+01 -1.172999999999999982e-08 1.678181818181818485e+01 -1.176000000000000075e-08 1.683636363636363953e+01 -1.179000000000000002e-08 1.689090909090909065e+01 -1.181999999999999930e-08 1.694545454545454533e+01 -1.185000000000000023e-08 1.700000000000000355e+01 -1.187999999999999951e-08 1.705454545454545112e+01 -1.191000000000000044e-08 1.710909090909090935e+01 -1.193999999999999971e-08 1.716363636363636402e+01 -1.197000000000000064e-08 1.721818181818182225e+01 -1.199999999999999992e-08 1.727272727272727337e+01 -1.202999999999999920e-08 1.732727272727272805e+01 -1.206000000000000013e-08 1.738181818181818272e+01 -1.208999999999999940e-08 1.743636363636363384e+01 -1.212000000000000033e-08 1.749090909090909207e+01 -1.214999999999999961e-08 1.754545454545454675e+01 -1.218000000000000054e-08 1.760000000000000142e+01 -1.220999999999999982e-08 1.765454545454545254e+01 -1.223999999999999909e-08 1.770909090909091077e+01 -1.227000000000000002e-08 1.776363636363636545e+01 -1.229999999999999930e-08 1.781818181818181657e+01 -1.233000000000000023e-08 1.787272727272727124e+01 -1.235999999999999950e-08 1.792727272727272947e+01 -1.239000000000000043e-08 1.798181818181818414e+01 -1.241999999999999971e-08 1.803636363636363527e+01 -1.245000000000000064e-08 1.809090909090908994e+01 -1.247999999999999992e-08 1.814545454545454817e+01 -1.250999999999999919e-08 1.819999999999999929e+01 -1.254000000000000012e-08 1.825454545454545396e+01 -1.256999999999999940e-08 1.830909090909090864e+01 -1.260000000000000033e-08 1.836363636363636687e+01 -1.262999999999999961e-08 1.841818181818181799e+01 -1.266000000000000054e-08 1.847272727272727266e+01 -1.268999999999999981e-08 1.852727272727272734e+01 -1.272000000000000074e-08 1.858181818181818556e+01 -1.275000000000000002e-08 1.863636363636363669e+01 -1.277999999999999929e-08 1.869090909090909136e+01 -1.281000000000000023e-08 1.874545454545454959e+01 -1.283999999999999950e-08 1.879999999999999716e+01 -1.287000000000000043e-08 1.885454545454545539e+01 -1.289999999999999971e-08 1.890909090909091006e+01 -1.293000000000000064e-08 1.896363636363636829e+01 -1.295999999999999991e-08 1.901818181818181586e+01 -1.298999999999999919e-08 1.907272727272727408e+01 -1.302000000000000012e-08 1.912727272727272876e+01 -1.304999999999999940e-08 1.918181818181817988e+01 -1.308000000000000033e-08 1.923636363636363455e+01 -1.310999999999999960e-08 1.929090909090909278e+01 -1.314000000000000053e-08 1.934545454545454746e+01 -1.316999999999999981e-08 1.939999999999999858e+01 -1.319999999999999909e-08 1.945454545454545325e+01 -1.323000000000000002e-08 1.950909090909091148e+01 -1.325999999999999929e-08 1.956363636363636260e+01 -1.329000000000000022e-08 1.961818181818181728e+01 -1.331999999999999950e-08 1.967272727272727550e+01 -1.335000000000000043e-08 1.972727272727273018e+01 -1.337999999999999970e-08 1.978181818181818130e+01 -1.341000000000000063e-08 1.983636363636363598e+01 -1.343999999999999991e-08 1.989090909090909420e+01 -1.346999999999999919e-08 1.994545454545454177e+01 -1.350000000000000012e-08 2.000000000000000000e+01 -1.352999999999999939e-08 2.005454545454545467e+01 -1.356000000000000032e-08 2.010909090909091290e+01 -1.358999999999999960e-08 2.016363636363636047e+01 -1.362000000000000053e-08 2.021818181818181870e+01 -1.364999999999999981e-08 2.027272727272727337e+01 -1.368000000000000074e-08 2.032727272727273160e+01 -1.371000000000000001e-08 2.038181818181818272e+01 -1.373999999999999929e-08 2.043636363636363740e+01 -1.377000000000000022e-08 2.049090909090909207e+01 -1.379999999999999949e-08 2.054545454545454319e+01 -1.383000000000000043e-08 2.060000000000000142e+01 -1.385999999999999970e-08 2.065454545454545610e+01 -1.389000000000000063e-08 2.070909090909091077e+01 -1.391999999999999991e-08 2.076363636363636189e+01 -1.394999999999999918e-08 2.081818181818182012e+01 -1.398000000000000011e-08 2.087272727272727479e+01 -1.400999999999999939e-08 2.092727272727272592e+01 -1.404000000000000032e-08 2.098181818181818059e+01 -1.406999999999999960e-08 2.103636363636363882e+01 -1.410000000000000053e-08 2.109090909090909349e+01 -1.412999999999999980e-08 2.114545454545454461e+01 -1.415999999999999908e-08 2.119999999999999929e+01 -1.419000000000000001e-08 2.125454545454545752e+01 -1.421999999999999929e-08 2.130909090909090864e+01 -1.425000000000000022e-08 2.136363636363636331e+01 -1.427999999999999949e-08 2.141818181818181799e+01 -1.431000000000000042e-08 2.147272727272727622e+01 -1.433999999999999970e-08 2.152727272727272734e+01 -1.437000000000000063e-08 2.158181818181818201e+01 -1.439999999999999990e-08 2.163636363636363669e+01 -1.442999999999999918e-08 2.169090909090908781e+01 -1.446000000000000011e-08 2.174545454545454604e+01 -1.448999999999999939e-08 2.180000000000000071e+01 -1.452000000000000032e-08 2.185454545454545894e+01 -1.454999999999999959e-08 2.190909090909090651e+01 -1.458000000000000052e-08 2.196363636363636473e+01 -1.460999999999999980e-08 2.201818181818181941e+01 -1.464000000000000073e-08 2.207272727272727764e+01 -1.467000000000000001e-08 2.212727272727272521e+01 -1.469999999999999928e-08 2.218181818181818343e+01 -1.473000000000000021e-08 2.223636363636363811e+01 -1.475999999999999949e-08 2.229090909090908923e+01 -1.479000000000000042e-08 2.234545454545454390e+01 -1.481999999999999969e-08 2.240000000000000213e+01 -1.485000000000000063e-08 2.245454545454545681e+01 -1.487999999999999990e-08 2.250909090909090793e+01 -1.490999999999999918e-08 2.256363636363636260e+01 -1.494000000000000011e-08 2.261818181818182083e+01 -1.497000000000000104e-08 2.267272727272727550e+01 -1.499999999999999866e-08 2.272727272727272663e+01 -1.502999999999999959e-08 2.278181818181818485e+01 -1.506000000000000052e-08 2.283636363636363953e+01 -1.509000000000000145e-08 2.289090909090909420e+01 -1.511999999999999907e-08 2.294545454545454533e+01 -1.515000000000000000e-08 2.300000000000000355e+01 -1.518000000000000093e-08 2.305454545454545823e+01 -1.520999999999999855e-08 2.310909090909090935e+01 -1.523999999999999949e-08 2.316363636363636402e+01 -1.527000000000000042e-08 2.321818181818182225e+01 -1.530000000000000135e-08 2.327272727272727693e+01 -1.532999999999999897e-08 2.332727272727272805e+01 -1.535999999999999990e-08 2.338181818181818272e+01 -1.539000000000000083e-08 2.343636363636364095e+01 -1.541999999999999845e-08 2.349090909090909207e+01 -1.544999999999999938e-08 2.354545454545454675e+01 -1.548000000000000031e-08 2.360000000000000142e+01 -1.551000000000000124e-08 2.365454545454545965e+01 -1.553999999999999886e-08 2.370909090909091077e+01 -1.556999999999999979e-08 2.376363636363636545e+01 -1.560000000000000072e-08 2.381818181818182012e+01 -1.562999999999999835e-08 2.387272727272727124e+01 -1.565999999999999928e-08 2.392727272727272947e+01 -1.569000000000000021e-08 2.398181818181818414e+01 -1.572000000000000114e-08 2.403636363636364237e+01 -1.574999999999999876e-08 2.409090909090908994e+01 -1.577999999999999969e-08 2.414545454545454817e+01 -1.581000000000000062e-08 2.420000000000000284e+01 -1.584000000000000155e-08 2.425454545454546107e+01 -1.586999999999999917e-08 2.430909090909090864e+01 -1.590000000000000010e-08 2.436363636363636687e+01 -1.593000000000000103e-08 2.441818181818182154e+01 -1.595999999999999865e-08 2.447272727272727266e+01 -1.598999999999999958e-08 2.452727272727272734e+01 -1.602000000000000051e-08 2.458181818181818556e+01 -1.605000000000000144e-08 2.463636363636364024e+01 -1.607999999999999907e-08 2.469090909090909136e+01 -1.611000000000000000e-08 2.474545454545454604e+01 -1.614000000000000093e-08 2.480000000000000426e+01 -1.616999999999999855e-08 2.485454545454545539e+01 -1.619999999999999948e-08 2.490909090909091006e+01 -1.623000000000000041e-08 2.496363636363636829e+01 -1.626000000000000134e-08 2.501818181818182296e+01 -1.628999999999999896e-08 2.507272727272727408e+01 -1.631999999999999989e-08 2.512727272727272876e+01 -1.635000000000000082e-08 2.518181818181818699e+01 -1.637999999999999844e-08 2.523636363636363455e+01 -1.640999999999999937e-08 2.529090909090909278e+01 -1.644000000000000030e-08 2.534545454545454746e+01 -1.647000000000000123e-08 2.540000000000000568e+01 -1.649999999999999886e-08 2.545454545454545325e+01 -1.652999999999999979e-08 2.550909090909091148e+01 -1.656000000000000072e-08 2.556363636363636616e+01 -1.658999999999999834e-08 2.561818181818181728e+01 -1.661999999999999927e-08 2.567272727272727195e+01 -1.665000000000000020e-08 2.572727272727273018e+01 -1.668000000000000113e-08 2.578181818181818485e+01 -1.670999999999999875e-08 2.583636363636363598e+01 -1.673999999999999968e-08 2.589090909090909420e+01 -1.677000000000000061e-08 2.594545454545454888e+01 -1.679999999999999823e-08 2.600000000000000000e+01 -1.682999999999999916e-08 2.605454545454545467e+01 -1.686000000000000009e-08 2.610909090909091290e+01 -1.689000000000000103e-08 2.616363636363636758e+01 -1.691999999999999865e-08 2.621818181818181870e+01 -1.694999999999999958e-08 2.627272727272727337e+01 -1.698000000000000051e-08 2.632727272727273160e+01 -1.701000000000000144e-08 2.638181818181818628e+01 -1.703999999999999906e-08 2.643636363636363740e+01 -1.706999999999999999e-08 2.649090909090909207e+01 -1.710000000000000092e-08 2.654545454545455030e+01 -1.712999999999999854e-08 2.660000000000000142e+01 -1.715999999999999947e-08 2.665454545454545610e+01 -1.719000000000000040e-08 2.670909090909091077e+01 -1.722000000000000133e-08 2.676363636363636900e+01 -1.724999999999999895e-08 2.681818181818182012e+01 -1.727999999999999989e-08 2.687272727272727479e+01 -1.731000000000000082e-08 2.692727272727272947e+01 -1.733999999999999844e-08 2.698181818181818059e+01 -1.736999999999999937e-08 2.703636363636363882e+01 -1.740000000000000030e-08 2.709090909090909349e+01 -1.743000000000000123e-08 2.714545454545455172e+01 -1.745999999999999885e-08 2.719999999999999929e+01 -1.748999999999999978e-08 2.725454545454545752e+01 -1.752000000000000071e-08 2.730909090909091219e+01 -1.754999999999999833e-08 2.736363636363636331e+01 -1.757999999999999926e-08 2.741818181818181799e+01 -1.761000000000000019e-08 2.747272727272727622e+01 -1.764000000000000112e-08 2.752727272727273089e+01 -1.766999999999999875e-08 2.758181818181818201e+01 -1.769999999999999968e-08 2.763636363636363669e+01 -1.773000000000000061e-08 2.769090909090909491e+01 -1.776000000000000154e-08 2.774545454545454959e+01 -1.778999999999999916e-08 2.780000000000000071e+01 -1.782000000000000009e-08 2.785454545454545539e+01 -1.785000000000000102e-08 2.790909090909091361e+01 -1.787999999999999864e-08 2.796363636363636473e+01 -1.790999999999999957e-08 2.801818181818181941e+01 -1.794000000000000050e-08 2.807272727272727764e+01 -1.797000000000000143e-08 2.812727272727273231e+01 -1.799999999999999905e-08 2.818181818181818343e+01 -1.802999999999999998e-08 2.823636363636363811e+01 -1.806000000000000091e-08 2.829090909090909634e+01 -1.808999999999999854e-08 2.834545454545454390e+01 -1.811999999999999947e-08 2.840000000000000213e+01 -1.815000000000000040e-08 2.845454545454545681e+01 -1.818000000000000133e-08 2.850909090909091503e+01 -1.820999999999999895e-08 2.856363636363636260e+01 -1.823999999999999988e-08 2.861818181818182083e+01 -1.827000000000000081e-08 2.867272727272727550e+01 -1.829999999999999843e-08 2.872727272727272663e+01 -1.832999999999999936e-08 2.878181818181818485e+01 -1.836000000000000029e-08 2.883636363636363953e+01 -1.839000000000000122e-08 2.889090909090909420e+01 -1.841999999999999884e-08 2.894545454545454533e+01 -1.844999999999999977e-08 2.900000000000000355e+01 -1.848000000000000070e-08 2.905454545454545823e+01 -1.850999999999999833e-08 2.910909090909090935e+01 -1.853999999999999926e-08 2.916363636363636402e+01 -1.857000000000000019e-08 2.921818181818182225e+01 -1.860000000000000112e-08 2.927272727272727693e+01 -1.862999999999999874e-08 2.932727272727272805e+01 -1.865999999999999967e-08 2.938181818181818272e+01 -1.869000000000000060e-08 2.943636363636364095e+01 -1.871999999999999822e-08 2.949090909090908852e+01 -1.874999999999999915e-08 2.954545454545454675e+01 -1.878000000000000008e-08 2.960000000000000142e+01 -1.881000000000000101e-08 2.965454545454545965e+01 -1.883999999999999863e-08 2.970909090909091077e+01 -1.886999999999999956e-08 2.976363636363636545e+01 -1.890000000000000049e-08 2.981818181818182012e+01 -1.893000000000000143e-08 2.987272727272727835e+01 -1.895999999999999905e-08 2.992727272727272947e+01 -1.898999999999999998e-08 2.998181818181818414e+01 -1.902000000000000091e-08 3.003636363636363882e+01 -1.904999999999999853e-08 3.009090909090908994e+01 -1.907999999999999946e-08 3.014545454545454817e+01 -1.911000000000000039e-08 3.020000000000000284e+01 -1.914000000000000132e-08 3.025454545454546107e+01 -1.916999999999999894e-08 3.030909090909090864e+01 -1.919999999999999987e-08 3.036363636363636687e+01 -1.923000000000000080e-08 3.041818181818182154e+01 -1.925999999999999842e-08 3.047272727272727266e+01 -1.928999999999999935e-08 3.052727272727272734e+01 -1.932000000000000029e-08 3.058181818181818556e+01 -1.935000000000000122e-08 3.063636363636364024e+01 -1.937999999999999884e-08 3.069090909090909136e+01 -1.940999999999999977e-08 3.074545454545454604e+01 -1.944000000000000070e-08 3.080000000000000426e+01 -1.946999999999999832e-08 3.085454545454545539e+01 -1.949999999999999925e-08 3.090909090909091006e+01 -1.953000000000000018e-08 3.096363636363636473e+01 -1.956000000000000111e-08 3.101818181818182296e+01 -1.958999999999999873e-08 3.107272727272727408e+01 -1.961999999999999966e-08 3.112727272727272876e+01 -1.965000000000000059e-08 3.118181818181818699e+01 -1.968000000000000152e-08 3.123636363636364166e+01 -1.970999999999999915e-08 3.129090909090909278e+01 -1.974000000000000008e-08 3.134545454545454746e+01 -1.977000000000000101e-08 3.140000000000000568e+01 -1.979999999999999863e-08 3.145454545454545325e+01 -1.982999999999999956e-08 3.150909090909091148e+01 -1.986000000000000049e-08 3.156363636363636616e+01 -1.989000000000000142e-08 3.161818181818182438e+01 -1.991999999999999904e-08 3.167272727272727195e+01 -1.994999999999999997e-08 3.172727272727273018e+01 -1.998000000000000090e-08 3.178181818181818485e+01 -2.000999999999999852e-08 3.183636363636363598e+01 -2.003999999999999945e-08 3.189090909090909420e+01 -2.007000000000000038e-08 3.194545454545454888e+01 -2.010000000000000131e-08 3.200000000000000711e+01 -2.012999999999999894e-08 3.205454545454545467e+01 -2.015999999999999987e-08 3.210909090909090935e+01 -2.019000000000000080e-08 3.216363636363637113e+01 -2.021999999999999842e-08 3.221818181818181870e+01 -2.024999999999999935e-08 3.227272727272727337e+01 -2.028000000000000028e-08 3.232727272727272805e+01 -2.031000000000000121e-08 3.238181818181818983e+01 -2.033999999999999883e-08 3.243636363636363740e+01 -2.036999999999999976e-08 3.249090909090909207e+01 -2.040000000000000069e-08 3.254545454545454675e+01 -2.042999999999999831e-08 3.260000000000000142e+01 -2.045999999999999924e-08 3.265454545454545610e+01 -2.049000000000000017e-08 3.270909090909091077e+01 -2.052000000000000110e-08 3.276363636363636545e+01 -2.054999999999999873e-08 3.281818181818182012e+01 -2.057999999999999966e-08 3.287272727272727479e+01 -2.061000000000000059e-08 3.292727272727272947e+01 -2.063999999999999821e-08 3.298181818181818414e+01 -2.066999999999999914e-08 3.303636363636363882e+01 -2.070000000000000007e-08 3.309090909090909349e+01 -2.073000000000000100e-08 3.314545454545454817e+01 -2.075999999999999862e-08 3.320000000000000284e+01 -2.078999999999999955e-08 3.325454545454545752e+01 -2.082000000000000048e-08 3.330909090909091219e+01 -2.085000000000000141e-08 3.336363636363636687e+01 -2.087999999999999903e-08 3.341818181818182154e+01 -2.090999999999999996e-08 3.347272727272727622e+01 -2.094000000000000089e-08 3.352727272727273089e+01 -2.096999999999999852e-08 3.358181818181817846e+01 -2.099999999999999945e-08 3.363636363636364024e+01 -2.103000000000000038e-08 3.369090909090909491e+01 -2.106000000000000131e-08 3.374545454545454959e+01 -2.108999999999999893e-08 3.379999999999999716e+01 -2.111999999999999986e-08 3.385454545454545894e+01 -2.115000000000000079e-08 3.390909090909091361e+01 -2.117999999999999841e-08 3.396363636363636118e+01 -2.120999999999999934e-08 3.401818181818182296e+01 -2.124000000000000027e-08 3.407272727272727764e+01 -2.127000000000000120e-08 3.412727272727273231e+01 -2.129999999999999882e-08 3.418181818181817988e+01 -2.132999999999999975e-08 3.423636363636364166e+01 -2.136000000000000069e-08 3.429090909090909634e+01 -2.138999999999999831e-08 3.434545454545454390e+01 -2.141999999999999924e-08 3.439999999999999858e+01 -2.145000000000000017e-08 3.445454545454546036e+01 -2.148000000000000110e-08 3.450909090909091503e+01 -2.150999999999999872e-08 3.456363636363636260e+01 -2.153999999999999965e-08 3.461818181818181728e+01 -2.157000000000000058e-08 3.467272727272727906e+01 -2.160000000000000151e-08 3.472727272727273373e+01 -2.162999999999999913e-08 3.478181818181818130e+01 -2.166000000000000006e-08 3.483636363636363598e+01 -2.169000000000000099e-08 3.489090909090909776e+01 -2.171999999999999861e-08 3.494545454545454533e+01 -2.174999999999999955e-08 3.500000000000000000e+01 -2.178000000000000048e-08 3.505454545454545467e+01 -2.181000000000000141e-08 3.510909090909091645e+01 -2.183999999999999903e-08 3.516363636363636402e+01 -2.186999999999999996e-08 3.521818181818181870e+01 -2.190000000000000089e-08 3.527272727272728048e+01 -2.192999999999999851e-08 3.532727272727272805e+01 -2.195999999999999944e-08 3.538181818181818272e+01 -2.199000000000000037e-08 3.543636363636363740e+01 -2.202000000000000130e-08 3.549090909090909918e+01 -2.204999999999999892e-08 3.554545454545454675e+01 -2.207999999999999985e-08 3.560000000000000142e+01 -2.211000000000000078e-08 3.565454545454545610e+01 -2.213999999999999841e-08 3.570909090909091077e+01 -2.216999999999999934e-08 3.576363636363636545e+01 -2.220000000000000027e-08 3.581818181818182012e+01 -2.223000000000000120e-08 3.587272727272727479e+01 -2.225999999999999882e-08 3.592727272727272947e+01 -2.228999999999999975e-08 3.598181818181818414e+01 -2.232000000000000068e-08 3.603636363636363882e+01 -2.234999999999999830e-08 3.609090909090909349e+01 -2.237999999999999923e-08 3.614545454545454817e+01 -2.241000000000000016e-08 3.620000000000000284e+01 -2.244000000000000109e-08 3.625454545454545752e+01 -2.246999999999999871e-08 3.630909090909091219e+01 -2.249999999999999964e-08 3.636363636363636687e+01 -2.253000000000000057e-08 3.641818181818182154e+01 -2.255999999999999820e-08 3.647272727272726911e+01 -2.258999999999999913e-08 3.652727272727273089e+01 -2.262000000000000006e-08 3.658181818181818556e+01 -2.265000000000000099e-08 3.663636363636364024e+01 -2.267999999999999861e-08 3.669090909090908781e+01 -2.270999999999999954e-08 3.674545454545454959e+01 -2.274000000000000047e-08 3.680000000000000426e+01 -2.277000000000000140e-08 3.685454545454545894e+01 -2.279999999999999902e-08 3.690909090909090651e+01 -2.282999999999999995e-08 3.696363636363636829e+01 -2.286000000000000088e-08 3.701818181818182296e+01 -2.288999999999999850e-08 3.707272727272727053e+01 -2.291999999999999943e-08 3.712727272727273231e+01 -2.295000000000000036e-08 3.718181818181818699e+01 -2.298000000000000129e-08 3.723636363636364166e+01 -2.300999999999999892e-08 3.729090909090908923e+01 -2.303999999999999985e-08 3.734545454545455101e+01 -2.307000000000000078e-08 3.740000000000000568e+01 -2.309999999999999840e-08 3.745454545454545325e+01 -2.312999999999999933e-08 3.750909090909090793e+01 -2.316000000000000026e-08 3.756363636363636971e+01 -2.319000000000000119e-08 3.761818181818182438e+01 -2.321999999999999881e-08 3.767272727272727195e+01 -2.324999999999999974e-08 3.772727272727272663e+01 -2.328000000000000067e-08 3.778181818181818841e+01 -2.330999999999999829e-08 3.783636363636363598e+01 -2.333999999999999922e-08 3.789090909090909065e+01 -2.337000000000000015e-08 3.794545454545454533e+01 -2.340000000000000109e-08 3.800000000000000711e+01 -2.342999999999999871e-08 3.805454545454545467e+01 -2.345999999999999964e-08 3.810909090909090935e+01 -2.349000000000000057e-08 3.816363636363636402e+01 -2.352000000000000150e-08 3.821818181818182580e+01 -2.354999999999999912e-08 3.827272727272727337e+01 -2.358000000000000005e-08 3.832727272727272805e+01 -2.361000000000000098e-08 3.838181818181818983e+01 -2.363999999999999860e-08 3.843636363636363740e+01 -2.366999999999999953e-08 3.849090909090909207e+01 -2.370000000000000046e-08 3.854545454545454675e+01 -2.373000000000000139e-08 3.860000000000000853e+01 -2.375999999999999901e-08 3.865454545454545610e+01 -2.378999999999999995e-08 3.870909090909091077e+01 -2.382000000000000088e-08 3.876363636363636545e+01 -2.384999999999999850e-08 3.881818181818182012e+01 -2.387999999999999943e-08 3.887272727272727479e+01 -2.391000000000000036e-08 3.892727272727272947e+01 -2.394000000000000129e-08 3.898181818181818414e+01 -2.396999999999999891e-08 3.903636363636363882e+01 -2.399999999999999984e-08 3.909090909090909349e+01 -2.403000000000000077e-08 3.914545454545454817e+01 -2.405999999999999839e-08 3.920000000000000284e+01 -2.408999999999999932e-08 3.925454545454545752e+01 -2.412000000000000025e-08 3.930909090909091219e+01 -2.415000000000000118e-08 3.936363636363636687e+01 -2.417999999999999881e-08 3.941818181818182154e+01 -2.420999999999999974e-08 3.947272727272727622e+01 -2.424000000000000067e-08 3.952727272727273089e+01 -2.426999999999999829e-08 3.958181818181817846e+01 -2.429999999999999922e-08 3.963636363636364024e+01 -2.433000000000000015e-08 3.969090909090909491e+01 -2.436000000000000108e-08 3.974545454545454959e+01 -2.438999999999999870e-08 3.979999999999999716e+01 -2.441999999999999963e-08 3.985454545454545894e+01 -2.445000000000000056e-08 3.990909090909091361e+01 -2.447999999999999818e-08 3.996363636363636118e+01 -2.450999999999999911e-08 4.001818181818182296e+01 -2.454000000000000004e-08 4.007272727272727764e+01 -2.457000000000000097e-08 4.012727272727273231e+01 -2.459999999999999860e-08 4.018181818181817988e+01 -2.462999999999999953e-08 4.023636363636364166e+01 -2.466000000000000046e-08 4.029090909090909634e+01 -2.469000000000000139e-08 4.034545454545455101e+01 -2.471999999999999901e-08 4.039999999999999858e+01 -2.474999999999999994e-08 4.045454545454546036e+01 -2.478000000000000087e-08 4.050909090909091503e+01 -2.480999999999999849e-08 4.056363636363636260e+01 -2.483999999999999942e-08 4.061818181818181728e+01 -2.487000000000000035e-08 4.067272727272727906e+01 -2.490000000000000128e-08 4.072727272727273373e+01 -2.492999999999999890e-08 4.078181818181818130e+01 -2.495999999999999983e-08 4.083636363636363598e+01 -2.499000000000000076e-08 4.089090909090909776e+01 -2.501999999999999839e-08 4.094545454545454533e+01 -2.504999999999999932e-08 4.100000000000000000e+01 -2.508000000000000025e-08 4.105454545454545467e+01 -2.511000000000000118e-08 4.110909090909091645e+01 -2.513999999999999880e-08 4.116363636363636402e+01 -2.516999999999999973e-08 4.121818181818181870e+01 -2.520000000000000066e-08 4.127272727272727337e+01 -2.522999999999999828e-08 4.132727272727272805e+01 -2.525999999999999921e-08 4.138181818181818272e+01 -2.529000000000000014e-08 4.143636363636363740e+01 -2.532000000000000107e-08 4.149090909090909918e+01 -2.534999999999999869e-08 4.154545454545454675e+01 -2.537999999999999962e-08 4.160000000000000142e+01 -2.541000000000000055e-08 4.165454545454545610e+01 -2.544000000000000149e-08 4.170909090909091788e+01 -2.546999999999999911e-08 4.176363636363636545e+01 -2.550000000000000004e-08 4.181818181818182012e+01 -2.553000000000000097e-08 4.187272727272727479e+01 -2.555999999999999859e-08 4.192727272727272947e+01 -2.558999999999999952e-08 4.198181818181818414e+01 -2.562000000000000045e-08 4.203636363636363882e+01 -2.565000000000000138e-08 4.209090909090909349e+01 -2.567999999999999900e-08 4.214545454545454817e+01 -2.570999999999999993e-08 4.220000000000000284e+01 -2.574000000000000086e-08 4.225454545454545752e+01 -2.576999999999999848e-08 4.230909090909091219e+01 -2.579999999999999941e-08 4.236363636363636687e+01 -2.583000000000000035e-08 4.241818181818182154e+01 -2.586000000000000128e-08 4.247272727272727622e+01 -2.588999999999999890e-08 4.252727272727273089e+01 -2.591999999999999983e-08 4.258181818181818556e+01 -2.595000000000000076e-08 4.263636363636364024e+01 -2.597999999999999838e-08 4.269090909090908781e+01 -2.600999999999999931e-08 4.274545454545454959e+01 -2.604000000000000024e-08 4.280000000000000426e+01 -2.607000000000000117e-08 4.285454545454545894e+01 -2.609999999999999879e-08 4.290909090909090651e+01 -2.612999999999999972e-08 4.296363636363636829e+01 -2.616000000000000065e-08 4.301818181818182296e+01 -2.618999999999999827e-08 4.307272727272727053e+01 -2.621999999999999921e-08 4.312727272727273231e+01 -2.625000000000000014e-08 4.318181818181818699e+01 -2.628000000000000107e-08 4.323636363636364166e+01 -2.630999999999999869e-08 4.329090909090908923e+01 -2.633999999999999962e-08 4.334545454545455101e+01 -2.637000000000000055e-08 4.340000000000000568e+01 -2.639999999999999817e-08 4.345454545454545325e+01 -2.642999999999999910e-08 4.350909090909090793e+01 -2.646000000000000003e-08 4.356363636363636971e+01 -2.649000000000000096e-08 4.361818181818182438e+01 -2.651999999999999858e-08 4.367272727272727195e+01 -2.654999999999999951e-08 4.372727272727272663e+01 -2.658000000000000044e-08 4.378181818181818841e+01 -2.661000000000000137e-08 4.383636363636364308e+01 -2.663999999999999900e-08 4.389090909090909065e+01 -2.666999999999999993e-08 4.394545454545454533e+01 -2.670000000000000086e-08 4.400000000000000711e+01 -2.672999999999999848e-08 4.405454545454545467e+01 -2.675999999999999941e-08 4.410909090909090935e+01 -2.679000000000000034e-08 4.416363636363636402e+01 -2.682000000000000127e-08 4.421818181818182580e+01 -2.684999999999999889e-08 4.427272727272727337e+01 -2.687999999999999982e-08 4.432727272727272805e+01 -2.691000000000000075e-08 4.438181818181818272e+01 -2.693999999999999837e-08 4.443636363636363740e+01 -2.696999999999999930e-08 4.449090909090909207e+01 -2.700000000000000023e-08 4.454545454545454675e+01 -2.703000000000000116e-08 4.460000000000000853e+01 -2.705999999999999879e-08 4.465454545454545610e+01 -2.708999999999999972e-08 4.470909090909091077e+01 -2.712000000000000065e-08 4.476363636363636545e+01 -2.714999999999999827e-08 4.481818181818182012e+01 -2.717999999999999920e-08 4.487272727272727479e+01 -2.721000000000000013e-08 4.492727272727272947e+01 -2.724000000000000106e-08 4.498181818181818414e+01 -2.726999999999999868e-08 4.503636363636363882e+01 -2.729999999999999961e-08 4.509090909090909349e+01 -2.733000000000000054e-08 4.514545454545454817e+01 -2.736000000000000147e-08 4.520000000000000284e+01 -2.738999999999999909e-08 4.525454545454545752e+01 -2.742000000000000002e-08 4.530909090909091219e+01 -2.745000000000000095e-08 4.536363636363636687e+01 -2.747999999999999858e-08 4.541818181818182154e+01 -2.750999999999999951e-08 4.547272727272727622e+01 -2.754000000000000044e-08 4.552727272727273089e+01 -2.757000000000000137e-08 4.558181818181818556e+01 -2.759999999999999899e-08 4.563636363636364024e+01 -2.762999999999999992e-08 4.569090909090909491e+01 -2.766000000000000085e-08 4.574545454545454959e+01 -2.768999999999999847e-08 4.579999999999999716e+01 -2.771999999999999940e-08 4.585454545454545894e+01 -2.775000000000000033e-08 4.590909090909091361e+01 -2.778000000000000126e-08 4.596363636363636829e+01 -2.780999999999999888e-08 4.601818181818181586e+01 -2.783999999999999981e-08 4.607272727272727764e+01 -2.787000000000000075e-08 4.612727272727273231e+01 -2.789999999999999837e-08 4.618181818181817988e+01 -2.792999999999999930e-08 4.623636363636364166e+01 -2.796000000000000023e-08 4.629090909090909634e+01 -2.799000000000000116e-08 4.634545454545455101e+01 -2.801999999999999878e-08 4.639999999999999858e+01 -2.804999999999999971e-08 4.645454545454546036e+01 -2.808000000000000064e-08 4.650909090909091503e+01 -2.810999999999999826e-08 4.656363636363636260e+01 -2.813999999999999919e-08 4.661818181818181728e+01 -2.817000000000000012e-08 4.667272727272727906e+01 -2.820000000000000105e-08 4.672727272727273373e+01 -2.822999999999999867e-08 4.678181818181818130e+01 -2.825999999999999961e-08 4.683636363636363598e+01 -2.829000000000000054e-08 4.689090909090909776e+01 -2.831999999999999816e-08 4.694545454545454533e+01 -2.834999999999999909e-08 4.700000000000000000e+01 -2.838000000000000002e-08 4.705454545454545467e+01 -2.841000000000000095e-08 4.710909090909091645e+01 -2.843999999999999857e-08 4.716363636363636402e+01 -2.846999999999999950e-08 4.721818181818181870e+01 -2.850000000000000043e-08 4.727272727272727337e+01 -2.853000000000000136e-08 4.732727272727273515e+01 -2.855999999999999898e-08 4.738181818181818272e+01 -2.858999999999999991e-08 4.743636363636363740e+01 -2.862000000000000084e-08 4.749090909090909207e+01 -2.864999999999999847e-08 4.754545454545454675e+01 -2.867999999999999940e-08 4.760000000000000142e+01 -2.871000000000000033e-08 4.765454545454545610e+01 -2.874000000000000126e-08 4.770909090909091788e+01 -2.876999999999999888e-08 4.776363636363636545e+01 -2.879999999999999981e-08 4.781818181818182012e+01 -2.883000000000000074e-08 4.787272727272727479e+01 -2.885999999999999836e-08 4.792727272727272947e+01 -2.888999999999999929e-08 4.798181818181818414e+01 -2.892000000000000022e-08 4.803636363636363882e+01 -2.895000000000000115e-08 4.809090909090909349e+01 -2.897999999999999877e-08 4.814545454545454817e+01 -2.900999999999999970e-08 4.820000000000000284e+01 -2.904000000000000063e-08 4.825454545454545752e+01 -2.906999999999999826e-08 4.830909090909091219e+01 -2.909999999999999919e-08 4.836363636363636687e+01 -2.913000000000000012e-08 4.841818181818182154e+01 -2.916000000000000105e-08 4.847272727272727622e+01 -2.918999999999999867e-08 4.852727272727273089e+01 -2.921999999999999960e-08 4.858181818181818556e+01 -2.925000000000000053e-08 4.863636363636364024e+01 -2.928000000000000146e-08 4.869090909090909491e+01 -2.930999999999999908e-08 4.874545454545454959e+01 -2.934000000000000001e-08 4.880000000000000426e+01 -2.937000000000000094e-08 4.885454545454545894e+01 -2.939999999999999856e-08 4.890909090909090651e+01 -2.942999999999999949e-08 4.896363636363636829e+01 -2.946000000000000042e-08 4.901818181818182296e+01 -2.949000000000000135e-08 4.907272727272727764e+01 -2.951999999999999898e-08 4.912727272727272521e+01 -2.954999999999999991e-08 4.918181818181818699e+01 -2.958000000000000084e-08 4.923636363636364166e+01 -2.960999999999999846e-08 4.929090909090908923e+01 -2.963999999999999939e-08 4.934545454545455101e+01 -2.967000000000000032e-08 4.940000000000000568e+01 -2.970000000000000125e-08 4.945454545454546036e+01 -2.972999999999999887e-08 4.950909090909090793e+01 -2.975999999999999980e-08 4.956363636363636971e+01 -2.979000000000000073e-08 4.961818181818182438e+01 -2.981999999999999835e-08 4.967272727272727195e+01 -2.984999999999999928e-08 4.972727272727272663e+01 -2.988000000000000021e-08 4.978181818181818841e+01 -2.991000000000000115e-08 4.983636363636364308e+01 -2.994000000000000208e-08 4.989090909090909776e+01 -2.997000000000000301e-08 4.994545454545455243e+01 +1.019999999999999993e-09 3.448275862068953673e-02 +1.049999999999999890e-09 8.620689655172385224e-02 +1.079999999999999993e-09 1.379310344827585078e-01 +1.110000000000000096e-09 1.896551724137931771e-01 +1.139999999999999992e-09 2.413793103448274857e-01 +1.169999999999999889e-09 2.931034482758618220e-01 +1.199999999999999992e-09 3.448275862068964637e-01 +1.230000000000000095e-09 3.965517241379311608e-01 +1.259999999999999992e-09 4.482758620689654694e-01 +1.289999999999999888e-09 4.999999999999997780e-01 +1.319999999999999991e-09 5.517241379310344751e-01 +1.350000000000000094e-09 6.034482758620690612e-01 +1.379999999999999991e-09 6.551724137931034253e-01 +1.409999999999999887e-09 7.068965517241376784e-01 +1.439999999999999990e-09 7.586206896551723755e-01 +1.470000000000000094e-09 8.103448275862070727e-01 +1.499999999999999990e-09 8.620689655172413257e-01 +1.529999999999999886e-09 9.137931034482756898e-01 +1.559999999999999990e-09 9.655172413793102759e-01 +1.590000000000000093e-09 1.017241379310344973e+00 +1.619999999999999989e-09 1.068965517241379226e+00 +1.649999999999999886e-09 1.120689655172413701e+00 +1.679999999999999989e-09 1.172413793103448176e+00 +1.710000000000000092e-09 1.224137931034482873e+00 +1.739999999999999988e-09 1.275862068965517349e+00 +1.769999999999999885e-09 1.327586206896551602e+00 +1.799999999999999988e-09 1.379310344827586299e+00 +1.830000000000000091e-09 1.431034482758620996e+00 +1.859999999999999988e-09 1.482758620689655249e+00 +1.889999999999999884e-09 1.534482758620689502e+00 +1.919999999999999987e-09 1.586206896551724199e+00 +1.950000000000000090e-09 1.637931034482758896e+00 +1.980000000000000194e-09 1.689655172413793593e+00 +2.009999999999999883e-09 1.741379310344827402e+00 +2.039999999999999986e-09 1.793103448275862100e+00 +2.070000000000000090e-09 1.844827586206896797e+00 +2.099999999999999779e-09 1.896551724137930828e+00 +2.129999999999999882e-09 1.948275862068965525e+00 +2.159999999999999986e-09 2.000000000000000000e+00 +2.190000000000000089e-09 2.051724137931034697e+00 +2.220000000000000192e-09 2.103448275862069394e+00 +2.249999999999999882e-09 2.155172413793103203e+00 +2.279999999999999985e-09 2.206896551724137900e+00 +2.310000000000000088e-09 2.258620689655172598e+00 +2.339999999999999778e-09 2.310344827586206851e+00 +2.369999999999999881e-09 2.362068965517241548e+00 +2.399999999999999984e-09 2.413793103448275801e+00 +2.430000000000000087e-09 2.465517241379310498e+00 +2.460000000000000190e-09 2.517241379310345195e+00 +2.489999999999999880e-09 2.568965517241379448e+00 +2.519999999999999983e-09 2.620689655172414145e+00 +2.550000000000000086e-09 2.672413793103448842e+00 +2.579999999999999776e-09 2.724137931034482651e+00 +2.609999999999999879e-09 2.775862068965517349e+00 +2.639999999999999982e-09 2.827586206896552046e+00 +2.670000000000000086e-09 2.879310344827586743e+00 +2.700000000000000189e-09 2.931034482758621440e+00 +2.729999999999999878e-09 2.982758620689655249e+00 +2.759999999999999982e-09 3.034482758620689946e+00 +2.790000000000000085e-09 3.086206896551724643e+00 +2.819999999999999774e-09 3.137931034482758452e+00 +2.849999999999999878e-09 3.189655172413793149e+00 +2.879999999999999981e-09 3.241379310344828291e+00 +2.910000000000000084e-09 3.293103448275862988e+00 +2.940000000000000187e-09 3.344827586206897685e+00 +2.969999999999999877e-09 3.396551724137930606e+00 +2.999999999999999980e-09 3.448275862068965303e+00 +3.030000000000000083e-09 3.500000000000000000e+00 +3.059999999999999773e-09 3.551724137931034697e+00 +3.089999999999999876e-09 3.603448275862069394e+00 +3.119999999999999979e-09 3.655172413793104091e+00 +3.150000000000000082e-09 3.706896551724138789e+00 +3.180000000000000186e-09 3.758620689655173486e+00 +3.209999999999999875e-09 3.810344827586206851e+00 +3.239999999999999978e-09 3.862068965517241104e+00 +3.270000000000000082e-09 3.913793103448275801e+00 +3.299999999999999771e-09 3.965517241379310498e+00 +3.329999999999999874e-09 4.017241379310345195e+00 +3.359999999999999978e-09 4.068965517241379892e+00 +3.390000000000000081e-09 4.120689655172414589e+00 +3.420000000000000184e-09 4.172413793103449287e+00 +3.449999999999999874e-09 4.224137931034482207e+00 +3.479999999999999977e-09 4.275862068965516904e+00 +3.510000000000000080e-09 4.327586206896551602e+00 +3.539999999999999770e-09 4.379310344827586299e+00 +3.569999999999999873e-09 4.431034482758620996e+00 +3.599999999999999976e-09 4.482758620689655693e+00 +3.630000000000000079e-09 4.534482758620690390e+00 +3.660000000000000182e-09 4.586206896551725087e+00 +3.689999999999999872e-09 4.637931034482758896e+00 +3.719999999999999975e-09 4.689655172413792705e+00 +3.749999999999999665e-09 4.741379310344827402e+00 +3.779999999999999768e-09 4.793103448275862100e+00 +3.809999999999999871e-09 4.844827586206896797e+00 +3.839999999999999974e-09 4.896551724137931494e+00 +3.870000000000000078e-09 4.948275862068966191e+00 +3.900000000000000181e-09 5.000000000000000888e+00 +3.930000000000000284e-09 5.051724137931035585e+00 +3.960000000000000387e-09 5.103448275862070282e+00 +3.989999999999999663e-09 5.155172413793104091e+00 +4.019999999999999766e-09 5.206896551724138789e+00 +4.049999999999999870e-09 5.258620689655172598e+00 +4.079999999999999973e-09 5.310344827586207295e+00 +4.110000000000000076e-09 5.362068965517241992e+00 +4.140000000000000179e-09 5.413793103448276689e+00 +4.170000000000000282e-09 5.465517241379311386e+00 +4.199999999999999558e-09 5.517241379310345195e+00 +4.229999999999999662e-09 5.568965517241379892e+00 +4.259999999999999765e-09 5.620689655172414589e+00 +4.289999999999999868e-09 5.672413793103449287e+00 +4.319999999999999971e-09 5.724137931034483984e+00 +4.350000000000000074e-09 5.775862068965518681e+00 +4.380000000000000178e-09 5.827586206896553378e+00 +4.410000000000000281e-09 5.879310344827587187e+00 +4.440000000000000384e-09 5.931034482758621884e+00 +4.469999999999999660e-09 5.982758620689655693e+00 +4.499999999999999763e-09 6.034482758620690390e+00 +4.529999999999999866e-09 6.086206896551725087e+00 +4.559999999999999970e-09 6.137931034482759785e+00 +4.590000000000000073e-09 6.189655172413794482e+00 +4.620000000000000176e-09 6.241379310344829179e+00 +4.650000000000000279e-09 6.293103448275863876e+00 +4.679999999999999555e-09 6.344827586206896797e+00 +4.709999999999999658e-09 6.396551724137931494e+00 +4.739999999999999762e-09 6.448275862068966191e+00 +4.769999999999999865e-09 6.500000000000000888e+00 +4.799999999999999968e-09 6.551724137931035585e+00 +4.830000000000000071e-09 6.603448275862070282e+00 +4.860000000000000174e-09 6.655172413793104980e+00 +4.890000000000000278e-09 6.706896551724139677e+00 +4.920000000000000381e-09 6.758620689655174374e+00 +4.949999999999999657e-09 6.810344827586207295e+00 +4.979999999999999760e-09 6.862068965517241992e+00 +5.009999999999999863e-09 6.913793103448276689e+00 +5.039999999999999966e-09 6.965517241379311386e+00 +5.070000000000000070e-09 7.017241379310346083e+00 +5.100000000000000173e-09 7.068965517241380780e+00 +5.130000000000000276e-09 7.120689655172415478e+00 +5.159999999999999552e-09 7.172413793103448398e+00 +5.189999999999999655e-09 7.224137931034483096e+00 +5.219999999999999758e-09 7.275862068965517793e+00 +5.249999999999999862e-09 7.327586206896552490e+00 +5.279999999999999965e-09 7.379310344827587187e+00 +5.310000000000000068e-09 7.431034482758621884e+00 +5.340000000000000171e-09 7.482758620689656581e+00 +5.370000000000000274e-09 7.534482758620691278e+00 +5.400000000000000378e-09 7.586206896551725976e+00 +5.429999999999999654e-09 7.637931034482758896e+00 +5.459999999999999757e-09 7.689655172413793593e+00 +5.489999999999999860e-09 7.741379310344828291e+00 +5.519999999999999963e-09 7.793103448275862988e+00 +5.550000000000000066e-09 7.844827586206897685e+00 +5.580000000000000170e-09 7.896551724137932382e+00 +5.610000000000000273e-09 7.948275862068967079e+00 +5.639999999999999549e-09 8.000000000000000000e+00 +5.669999999999999652e-09 8.051724137931035585e+00 +5.699999999999999755e-09 8.103448275862069394e+00 +5.729999999999999858e-09 8.155172413793104980e+00 +5.759999999999999962e-09 8.206896551724138789e+00 +5.790000000000000065e-09 8.258620689655174374e+00 +5.820000000000000168e-09 8.310344827586208183e+00 +5.850000000000000271e-09 8.362068965517243768e+00 +5.880000000000000374e-09 8.413793103448277577e+00 +5.909999999999999651e-09 8.465517241379311386e+00 +5.939999999999999754e-09 8.517241379310345195e+00 +5.969999999999999857e-09 8.568965517241380780e+00 +5.999999999999999960e-09 8.620689655172414589e+00 +6.030000000000000063e-09 8.672413793103450175e+00 +6.060000000000000166e-09 8.724137931034483984e+00 +6.090000000000000270e-09 8.775862068965519569e+00 +6.119999999999999546e-09 8.827586206896551602e+00 +6.149999999999999649e-09 8.879310344827587187e+00 +6.179999999999999752e-09 8.931034482758620996e+00 +6.209999999999999855e-09 8.982758620689656581e+00 +6.239999999999999959e-09 9.034482758620690390e+00 +6.270000000000000062e-09 9.086206896551725976e+00 +6.300000000000000165e-09 9.137931034482759785e+00 +6.330000000000000268e-09 9.189655172413795370e+00 +6.360000000000000371e-09 9.241379310344829179e+00 +6.389999999999999647e-09 9.293103448275862988e+00 +6.419999999999999751e-09 9.344827586206896797e+00 +6.449999999999999854e-09 9.396551724137932382e+00 +6.479999999999999957e-09 9.448275862068966191e+00 +6.510000000000000060e-09 9.500000000000001776e+00 +6.540000000000000163e-09 9.551724137931035585e+00 +6.570000000000000267e-09 9.603448275862071171e+00 +6.599999999999999543e-09 9.655172413793103203e+00 +6.629999999999999646e-09 9.706896551724138789e+00 +6.659999999999999749e-09 9.758620689655172598e+00 +6.689999999999999852e-09 9.810344827586208183e+00 +6.719999999999999955e-09 9.862068965517241992e+00 +6.750000000000000059e-09 9.913793103448277577e+00 +6.780000000000000162e-09 9.965517241379311386e+00 +6.810000000000000265e-09 1.001724137931034697e+01 +6.840000000000000368e-09 1.006896551724138078e+01 +6.869999999999999644e-09 1.012068965517241459e+01 +6.899999999999999747e-09 1.017241379310344840e+01 +6.929999999999999851e-09 1.022413793103448398e+01 +6.959999999999999954e-09 1.027586206896551779e+01 +6.990000000000000057e-09 1.032758620689655338e+01 +7.020000000000000160e-09 1.037931034482758719e+01 +7.050000000000000263e-09 1.043103448275862277e+01 +7.079999999999999539e-09 1.048275862068965658e+01 +7.109999999999999643e-09 1.053448275862069039e+01 +7.139999999999999746e-09 1.058620689655172598e+01 +7.169999999999999849e-09 1.063793103448275978e+01 +7.199999999999999952e-09 1.068965517241379537e+01 +7.230000000000000055e-09 1.074137931034482918e+01 +7.260000000000000159e-09 1.079310344827586299e+01 +7.290000000000000262e-09 1.084482758620689857e+01 +7.320000000000000365e-09 1.089655172413793238e+01 +7.349999999999999641e-09 1.094827586206896619e+01 +7.379999999999999744e-09 1.100000000000000178e+01 +7.409999999999999847e-09 1.105172413793103559e+01 +7.439999999999999951e-09 1.110344827586207117e+01 +7.470000000000000054e-09 1.115517241379310498e+01 +7.499999999999999330e-09 1.120689655172413879e+01 +7.530000000000000260e-09 1.125862068965517437e+01 +7.559999999999999536e-09 1.131034482758620818e+01 +7.590000000000000467e-09 1.136206896551724377e+01 +7.619999999999999743e-09 1.141379310344827758e+01 +7.650000000000000673e-09 1.146551724137931316e+01 +7.679999999999999949e-09 1.151724137931034697e+01 +7.709999999999999225e-09 1.156896551724137900e+01 +7.740000000000000155e-09 1.162068965517241637e+01 +7.769999999999999431e-09 1.167241379310344840e+01 +7.800000000000000362e-09 1.172413793103448576e+01 +7.829999999999999638e-09 1.177586206896551779e+01 +7.860000000000000568e-09 1.182758620689655515e+01 +7.889999999999999844e-09 1.187931034482758719e+01 +7.920000000000000775e-09 1.193103448275862277e+01 +7.950000000000000051e-09 1.198275862068965658e+01 +7.979999999999999327e-09 1.203448275862069039e+01 +8.010000000000000257e-09 1.208620689655172598e+01 +8.039999999999999533e-09 1.213793103448275978e+01 +8.070000000000000463e-09 1.218965517241379537e+01 +8.099999999999999739e-09 1.224137931034482918e+01 +8.130000000000000670e-09 1.229310344827586476e+01 +8.159999999999999946e-09 1.234482758620689857e+01 +8.189999999999999222e-09 1.239655172413793061e+01 +8.220000000000000152e-09 1.244827586206896797e+01 +8.249999999999999428e-09 1.250000000000000000e+01 +8.280000000000000359e-09 1.255172413793103736e+01 +8.309999999999999635e-09 1.260344827586206939e+01 +8.340000000000000565e-09 1.265517241379310676e+01 +8.369999999999999841e-09 1.270689655172413879e+01 +8.399999999999999117e-09 1.275862068965517260e+01 +8.430000000000000047e-09 1.281034482758620818e+01 +8.459999999999999323e-09 1.286206896551724022e+01 +8.490000000000000254e-09 1.291379310344827580e+01 +8.519999999999999530e-09 1.296551724137930961e+01 +8.550000000000000460e-09 1.301724137931034520e+01 +8.579999999999999736e-09 1.306896551724137900e+01 +8.610000000000000667e-09 1.312068965517241459e+01 +8.639999999999999943e-09 1.317241379310344840e+01 +8.669999999999999219e-09 1.322413793103448221e+01 +8.700000000000000149e-09 1.327586206896551779e+01 +8.729999999999999425e-09 1.332758620689655160e+01 +8.760000000000000355e-09 1.337931034482758719e+01 +8.789999999999999631e-09 1.343103448275862100e+01 +8.820000000000000562e-09 1.348275862068965658e+01 +8.849999999999999838e-09 1.353448275862069039e+01 +8.880000000000000768e-09 1.358620689655172598e+01 +8.910000000000000044e-09 1.363793103448275978e+01 +8.939999999999999320e-09 1.368965517241379182e+01 +8.970000000000000251e-09 1.374137931034482918e+01 +8.999999999999999527e-09 1.379310344827586121e+01 +9.030000000000000457e-09 1.384482758620689857e+01 +9.059999999999999733e-09 1.389655172413793061e+01 +9.090000000000000663e-09 1.394827586206896797e+01 +9.119999999999999939e-09 1.400000000000000000e+01 +9.149999999999999215e-09 1.405172413793103381e+01 +9.180000000000000146e-09 1.410344827586206939e+01 +9.209999999999999422e-09 1.415517241379310320e+01 +9.240000000000000352e-09 1.420689655172413879e+01 +9.269999999999999628e-09 1.425862068965517260e+01 +9.300000000000000559e-09 1.431034482758620818e+01 +9.329999999999999835e-09 1.436206896551724199e+01 +9.359999999999999111e-09 1.441379310344827402e+01 +9.390000000000000041e-09 1.446551724137931139e+01 +9.419999999999999317e-09 1.451724137931034342e+01 +9.450000000000000247e-09 1.456896551724138078e+01 +9.479999999999999523e-09 1.462068965517241281e+01 +9.510000000000000454e-09 1.467241379310345017e+01 +9.539999999999999730e-09 1.472413793103448221e+01 +9.570000000000000660e-09 1.477586206896551957e+01 +9.599999999999999936e-09 1.482758620689655160e+01 +9.629999999999999212e-09 1.487931034482758541e+01 +9.660000000000000143e-09 1.493103448275862100e+01 +9.689999999999999419e-09 1.498275862068965480e+01 +9.720000000000000349e-09 1.503448275862069039e+01 +9.749999999999999625e-09 1.508620689655172420e+01 +9.780000000000000555e-09 1.513793103448275978e+01 +9.809999999999999831e-09 1.518965517241379359e+01 +9.840000000000000762e-09 1.524137931034482918e+01 +9.870000000000000038e-09 1.529310344827586299e+01 +9.899999999999999314e-09 1.534482758620689680e+01 +9.930000000000000244e-09 1.539655172413793238e+01 +9.959999999999999520e-09 1.544827586206896441e+01 +9.990000000000000451e-09 1.550000000000000178e+01 +1.001999999999999973e-08 1.555172413793103381e+01 +1.005000000000000066e-08 1.560344827586207117e+01 +1.007999999999999993e-08 1.565517241379310320e+01 +1.010999999999999921e-08 1.570689655172413701e+01 +1.014000000000000014e-08 1.575862068965517260e+01 +1.016999999999999942e-08 1.581034482758620641e+01 +1.020000000000000035e-08 1.586206896551724199e+01 +1.022999999999999962e-08 1.591379310344827580e+01 +1.026000000000000055e-08 1.596551724137931139e+01 +1.028999999999999983e-08 1.601724137931034520e+01 +1.031999999999999910e-08 1.606896551724137723e+01 +1.035000000000000003e-08 1.612068965517241281e+01 +1.037999999999999931e-08 1.617241379310344840e+01 +1.041000000000000024e-08 1.622413793103448398e+01 +1.043999999999999952e-08 1.627586206896551602e+01 +1.047000000000000045e-08 1.632758620689655160e+01 +1.049999999999999972e-08 1.637931034482758719e+01 +1.053000000000000065e-08 1.643103448275862277e+01 +1.055999999999999993e-08 1.648275862068965480e+01 +1.058999999999999921e-08 1.653448275862069039e+01 +1.062000000000000014e-08 1.658620689655172598e+01 +1.064999999999999941e-08 1.663793103448275801e+01 +1.068000000000000034e-08 1.668965517241379359e+01 +1.070999999999999962e-08 1.674137931034482918e+01 +1.074000000000000055e-08 1.679310344827586476e+01 +1.076999999999999982e-08 1.684482758620689680e+01 +1.080000000000000076e-08 1.689655172413793238e+01 +1.083000000000000003e-08 1.694827586206896797e+01 +1.085999999999999931e-08 1.700000000000000000e+01 +1.089000000000000024e-08 1.705172413793103559e+01 +1.091999999999999951e-08 1.710344827586206762e+01 +1.095000000000000044e-08 1.715517241379310676e+01 +1.097999999999999972e-08 1.720689655172413879e+01 +1.101000000000000065e-08 1.725862068965517437e+01 +1.103999999999999993e-08 1.731034482758620641e+01 +1.106999999999999920e-08 1.736206896551724199e+01 +1.110000000000000013e-08 1.741379310344827758e+01 +1.112999999999999941e-08 1.746551724137930961e+01 +1.116000000000000034e-08 1.751724137931034520e+01 +1.118999999999999962e-08 1.756896551724138078e+01 +1.122000000000000055e-08 1.762068965517241637e+01 +1.124999999999999982e-08 1.767241379310344840e+01 +1.127999999999999910e-08 1.772413793103448043e+01 +1.131000000000000003e-08 1.777586206896551957e+01 +1.133999999999999930e-08 1.782758620689655160e+01 +1.137000000000000023e-08 1.787931034482758719e+01 +1.139999999999999951e-08 1.793103448275861922e+01 +1.143000000000000044e-08 1.798275862068965836e+01 +1.145999999999999972e-08 1.803448275862069039e+01 +1.149000000000000065e-08 1.808620689655172598e+01 +1.151999999999999992e-08 1.813793103448275801e+01 +1.154999999999999920e-08 1.818965517241379359e+01 +1.158000000000000013e-08 1.824137931034482918e+01 +1.160999999999999941e-08 1.829310344827586121e+01 +1.164000000000000034e-08 1.834482758620689680e+01 +1.166999999999999961e-08 1.839655172413793238e+01 +1.170000000000000054e-08 1.844827586206896797e+01 +1.172999999999999982e-08 1.850000000000000000e+01 +1.176000000000000075e-08 1.855172413793103559e+01 +1.179000000000000002e-08 1.860344827586207117e+01 +1.181999999999999930e-08 1.865517241379310320e+01 +1.185000000000000023e-08 1.870689655172413879e+01 +1.187999999999999951e-08 1.875862068965517082e+01 +1.191000000000000044e-08 1.881034482758620996e+01 +1.193999999999999971e-08 1.886206896551724199e+01 +1.197000000000000064e-08 1.891379310344827758e+01 +1.199999999999999992e-08 1.896551724137930961e+01 +1.202999999999999920e-08 1.901724137931034520e+01 +1.206000000000000013e-08 1.906896551724138078e+01 +1.208999999999999940e-08 1.912068965517241281e+01 +1.212000000000000033e-08 1.917241379310344840e+01 +1.214999999999999961e-08 1.922413793103448398e+01 +1.218000000000000054e-08 1.927586206896551957e+01 +1.220999999999999982e-08 1.932758620689655160e+01 +1.223999999999999909e-08 1.937931034482758719e+01 +1.227000000000000002e-08 1.943103448275862277e+01 +1.229999999999999930e-08 1.948275862068965480e+01 +1.233000000000000023e-08 1.953448275862069039e+01 +1.235999999999999950e-08 1.958620689655172598e+01 +1.239000000000000043e-08 1.963793103448276156e+01 +1.241999999999999971e-08 1.968965517241379359e+01 +1.245000000000000064e-08 1.974137931034482918e+01 +1.247999999999999992e-08 1.979310344827586476e+01 +1.250999999999999919e-08 1.984482758620689680e+01 +1.254000000000000012e-08 1.989655172413793238e+01 +1.256999999999999940e-08 1.994827586206896441e+01 +1.260000000000000033e-08 2.000000000000000000e+01 +1.262999999999999961e-08 2.005172413793103559e+01 +1.266000000000000054e-08 2.010344827586207117e+01 +1.268999999999999981e-08 2.015517241379310320e+01 +1.272000000000000074e-08 2.020689655172413879e+01 +1.275000000000000002e-08 2.025862068965517437e+01 +1.277999999999999929e-08 2.031034482758620641e+01 +1.281000000000000023e-08 2.036206896551724199e+01 +1.283999999999999950e-08 2.041379310344827758e+01 +1.287000000000000043e-08 2.046551724137931316e+01 +1.289999999999999971e-08 2.051724137931034520e+01 +1.293000000000000064e-08 2.056896551724138078e+01 +1.295999999999999991e-08 2.062068965517241637e+01 +1.298999999999999919e-08 2.067241379310344840e+01 +1.302000000000000012e-08 2.072413793103448398e+01 +1.304999999999999940e-08 2.077586206896551602e+01 +1.308000000000000033e-08 2.082758620689655515e+01 +1.310999999999999960e-08 2.087931034482758719e+01 +1.314000000000000053e-08 2.093103448275862277e+01 +1.316999999999999981e-08 2.098275862068965480e+01 +1.319999999999999909e-08 2.103448275862069039e+01 +1.323000000000000002e-08 2.108620689655172598e+01 +1.325999999999999929e-08 2.113793103448275801e+01 +1.329000000000000022e-08 2.118965517241379359e+01 +1.331999999999999950e-08 2.124137931034482918e+01 +1.335000000000000043e-08 2.129310344827586476e+01 +1.337999999999999970e-08 2.134482758620689680e+01 +1.341000000000000063e-08 2.139655172413793238e+01 +1.343999999999999991e-08 2.144827586206896797e+01 +1.346999999999999919e-08 2.150000000000000000e+01 +1.350000000000000012e-08 2.155172413793103559e+01 +1.352999999999999939e-08 2.160344827586206762e+01 +1.356000000000000032e-08 2.165517241379310676e+01 +1.358999999999999960e-08 2.170689655172413879e+01 +1.362000000000000053e-08 2.175862068965517437e+01 +1.364999999999999981e-08 2.181034482758620641e+01 +1.368000000000000074e-08 2.186206896551724554e+01 +1.371000000000000001e-08 2.191379310344827758e+01 +1.373999999999999929e-08 2.196551724137930961e+01 +1.377000000000000022e-08 2.201724137931034520e+01 +1.379999999999999949e-08 2.206896551724138078e+01 +1.383000000000000043e-08 2.212068965517241637e+01 +1.385999999999999970e-08 2.217241379310344840e+01 +1.389000000000000063e-08 2.222413793103448398e+01 +1.391999999999999991e-08 2.227586206896551957e+01 +1.394999999999999918e-08 2.232758620689655160e+01 +1.398000000000000011e-08 2.237931034482758719e+01 +1.400999999999999939e-08 2.243103448275862277e+01 +1.404000000000000032e-08 2.248275862068965836e+01 +1.406999999999999960e-08 2.253448275862069039e+01 +1.410000000000000053e-08 2.258620689655172598e+01 +1.412999999999999980e-08 2.263793103448275801e+01 +1.415999999999999908e-08 2.268965517241379359e+01 +1.419000000000000001e-08 2.274137931034482918e+01 +1.421999999999999929e-08 2.279310344827586121e+01 +1.425000000000000022e-08 2.284482758620689680e+01 +1.427999999999999949e-08 2.289655172413793238e+01 +1.431000000000000042e-08 2.294827586206896797e+01 +1.433999999999999970e-08 2.300000000000000000e+01 +1.437000000000000063e-08 2.305172413793103559e+01 +1.439999999999999990e-08 2.310344827586207117e+01 +1.442999999999999918e-08 2.315517241379310320e+01 +1.446000000000000011e-08 2.320689655172413879e+01 +1.448999999999999939e-08 2.325862068965517437e+01 +1.452000000000000032e-08 2.331034482758620996e+01 +1.454999999999999959e-08 2.336206896551724199e+01 +1.458000000000000052e-08 2.341379310344827758e+01 +1.460999999999999980e-08 2.346551724137931316e+01 +1.464000000000000073e-08 2.351724137931034875e+01 +1.467000000000000001e-08 2.356896551724138078e+01 +1.469999999999999928e-08 2.362068965517241281e+01 +1.473000000000000021e-08 2.367241379310344840e+01 +1.475999999999999949e-08 2.372413793103448398e+01 +1.479000000000000042e-08 2.377586206896551957e+01 +1.481999999999999969e-08 2.382758620689655160e+01 +1.485000000000000063e-08 2.387931034482758719e+01 +1.487999999999999990e-08 2.393103448275862277e+01 +1.490999999999999918e-08 2.398275862068965480e+01 +1.494000000000000011e-08 2.403448275862069039e+01 +1.497000000000000104e-08 2.408620689655172598e+01 +1.499999999999999866e-08 2.413793103448275801e+01 +1.502999999999999959e-08 2.418965517241379359e+01 +1.506000000000000052e-08 2.424137931034482918e+01 +1.509000000000000145e-08 2.429310344827586476e+01 +1.511999999999999907e-08 2.434482758620689680e+01 +1.515000000000000000e-08 2.439655172413793238e+01 +1.518000000000000093e-08 2.444827586206896797e+01 +1.520999999999999855e-08 2.450000000000000000e+01 +1.523999999999999949e-08 2.455172413793103559e+01 +1.527000000000000042e-08 2.460344827586207117e+01 +1.530000000000000135e-08 2.465517241379310676e+01 +1.532999999999999897e-08 2.470689655172413879e+01 +1.535999999999999990e-08 2.475862068965517437e+01 +1.539000000000000083e-08 2.481034482758620996e+01 +1.541999999999999845e-08 2.486206896551724199e+01 +1.544999999999999938e-08 2.491379310344827758e+01 +1.548000000000000031e-08 2.496551724137931316e+01 +1.551000000000000124e-08 2.501724137931034875e+01 +1.553999999999999886e-08 2.506896551724138078e+01 +1.556999999999999979e-08 2.512068965517241637e+01 +1.560000000000000072e-08 2.517241379310345195e+01 +1.562999999999999835e-08 2.522413793103448043e+01 +1.565999999999999928e-08 2.527586206896551602e+01 +1.569000000000000021e-08 2.532758620689655515e+01 +1.572000000000000114e-08 2.537931034482759074e+01 +1.574999999999999876e-08 2.543103448275861922e+01 +1.577999999999999969e-08 2.548275862068965480e+01 +1.581000000000000062e-08 2.553448275862069394e+01 +1.584000000000000155e-08 2.558620689655172953e+01 +1.586999999999999917e-08 2.563793103448275801e+01 +1.590000000000000010e-08 2.568965517241379359e+01 +1.593000000000000103e-08 2.574137931034483273e+01 +1.595999999999999865e-08 2.579310344827586476e+01 +1.598999999999999958e-08 2.584482758620690035e+01 +1.602000000000000051e-08 2.589655172413793593e+01 +1.605000000000000144e-08 2.594827586206897152e+01 +1.607999999999999907e-08 2.600000000000000355e+01 +1.611000000000000000e-08 2.605172413793103914e+01 +1.614000000000000093e-08 2.610344827586207472e+01 +1.616999999999999855e-08 2.615517241379310676e+01 +1.619999999999999948e-08 2.620689655172414234e+01 +1.623000000000000041e-08 2.625862068965517793e+01 +1.626000000000000134e-08 2.631034482758621351e+01 +1.628999999999999896e-08 2.636206896551724554e+01 +1.631999999999999989e-08 2.641379310344828113e+01 +1.635000000000000082e-08 2.646551724137931672e+01 +1.637999999999999844e-08 2.651724137931034520e+01 +1.640999999999999937e-08 2.656896551724138433e+01 +1.644000000000000030e-08 2.662068965517241992e+01 +1.647000000000000123e-08 2.667241379310345550e+01 +1.649999999999999886e-08 2.672413793103448398e+01 +1.652999999999999979e-08 2.677586206896552312e+01 +1.656000000000000072e-08 2.682758620689655871e+01 +1.658999999999999834e-08 2.687931034482758719e+01 +1.661999999999999927e-08 2.693103448275862277e+01 +1.665000000000000020e-08 2.698275862068966191e+01 +1.668000000000000113e-08 2.703448275862069750e+01 +1.670999999999999875e-08 2.708620689655172598e+01 +1.673999999999999968e-08 2.713793103448276156e+01 +1.677000000000000061e-08 2.718965517241380070e+01 +1.679999999999999823e-08 2.724137931034482918e+01 +1.682999999999999916e-08 2.729310344827586476e+01 +1.686000000000000009e-08 2.734482758620690035e+01 +1.689000000000000103e-08 2.739655172413793593e+01 +1.691999999999999865e-08 2.744827586206896797e+01 +1.694999999999999958e-08 2.750000000000000355e+01 +1.698000000000000051e-08 2.755172413793103914e+01 +1.701000000000000144e-08 2.760344827586207472e+01 +1.703999999999999906e-08 2.765517241379310676e+01 +1.706999999999999999e-08 2.770689655172414234e+01 +1.710000000000000092e-08 2.775862068965517793e+01 +1.712999999999999854e-08 2.781034482758620996e+01 +1.715999999999999947e-08 2.786206896551724554e+01 +1.719000000000000040e-08 2.791379310344828113e+01 +1.722000000000000133e-08 2.796551724137931672e+01 +1.724999999999999895e-08 2.801724137931034875e+01 +1.727999999999999989e-08 2.806896551724138433e+01 +1.731000000000000082e-08 2.812068965517241992e+01 +1.733999999999999844e-08 2.817241379310345195e+01 +1.736999999999999937e-08 2.822413793103448754e+01 +1.740000000000000030e-08 2.827586206896552312e+01 +1.743000000000000123e-08 2.832758620689655871e+01 +1.745999999999999885e-08 2.837931034482759074e+01 +1.748999999999999978e-08 2.843103448275862632e+01 +1.752000000000000071e-08 2.848275862068966191e+01 +1.754999999999999833e-08 2.853448275862069039e+01 +1.757999999999999926e-08 2.858620689655172953e+01 +1.761000000000000019e-08 2.863793103448276511e+01 +1.764000000000000112e-08 2.868965517241380070e+01 +1.766999999999999875e-08 2.874137931034482918e+01 +1.769999999999999968e-08 2.879310344827586476e+01 +1.773000000000000061e-08 2.884482758620690390e+01 +1.776000000000000154e-08 2.889655172413793949e+01 +1.778999999999999916e-08 2.894827586206896797e+01 +1.782000000000000009e-08 2.900000000000000355e+01 +1.785000000000000102e-08 2.905172413793104269e+01 +1.787999999999999864e-08 2.910344827586207117e+01 +1.790999999999999957e-08 2.915517241379310676e+01 +1.794000000000000050e-08 2.920689655172414234e+01 +1.797000000000000143e-08 2.925862068965518148e+01 +1.799999999999999905e-08 2.931034482758620996e+01 +1.802999999999999998e-08 2.936206896551724554e+01 +1.806000000000000091e-08 2.941379310344828113e+01 +1.808999999999999854e-08 2.946551724137931316e+01 +1.811999999999999947e-08 2.951724137931034875e+01 +1.815000000000000040e-08 2.956896551724138433e+01 +1.818000000000000133e-08 2.962068965517241992e+01 +1.820999999999999895e-08 2.967241379310345195e+01 +1.823999999999999988e-08 2.972413793103448754e+01 +1.827000000000000081e-08 2.977586206896552312e+01 +1.829999999999999843e-08 2.982758620689655515e+01 +1.832999999999999936e-08 2.987931034482759074e+01 +1.836000000000000029e-08 2.993103448275862632e+01 +1.839000000000000122e-08 2.998275862068966191e+01 +1.841999999999999884e-08 3.003448275862069394e+01 +1.844999999999999977e-08 3.008620689655172953e+01 +1.848000000000000070e-08 3.013793103448276511e+01 +1.850999999999999833e-08 3.018965517241379359e+01 +1.853999999999999926e-08 3.024137931034483273e+01 +1.857000000000000019e-08 3.029310344827586832e+01 +1.860000000000000112e-08 3.034482758620690390e+01 +1.862999999999999874e-08 3.039655172413793238e+01 +1.865999999999999967e-08 3.044827586206897152e+01 +1.869000000000000060e-08 3.050000000000000711e+01 +1.871999999999999822e-08 3.055172413793103559e+01 +1.874999999999999915e-08 3.060344827586207117e+01 +1.878000000000000008e-08 3.065517241379311031e+01 +1.881000000000000101e-08 3.070689655172414589e+01 +1.883999999999999863e-08 3.075862068965517437e+01 +1.886999999999999956e-08 3.081034482758620996e+01 +1.890000000000000049e-08 3.086206896551724910e+01 +1.893000000000000143e-08 3.091379310344828468e+01 +1.895999999999999905e-08 3.096551724137931316e+01 +1.898999999999999998e-08 3.101724137931034875e+01 +1.902000000000000091e-08 3.106896551724138433e+01 +1.904999999999999853e-08 3.112068965517241637e+01 +1.907999999999999946e-08 3.117241379310345195e+01 +1.911000000000000039e-08 3.122413793103448754e+01 +1.914000000000000132e-08 3.127586206896552312e+01 +1.916999999999999894e-08 3.132758620689655515e+01 +1.919999999999999987e-08 3.137931034482759074e+01 +1.923000000000000080e-08 3.143103448275862632e+01 +1.925999999999999842e-08 3.148275862068965836e+01 +1.928999999999999935e-08 3.153448275862069394e+01 +1.932000000000000029e-08 3.158620689655172953e+01 +1.935000000000000122e-08 3.163793103448276511e+01 +1.937999999999999884e-08 3.168965517241379715e+01 +1.940999999999999977e-08 3.174137931034483273e+01 +1.944000000000000070e-08 3.179310344827586832e+01 +1.946999999999999832e-08 3.184482758620690035e+01 +1.949999999999999925e-08 3.189655172413793593e+01 +1.953000000000000018e-08 3.194827586206897152e+01 +1.956000000000000111e-08 3.200000000000000711e+01 +1.958999999999999873e-08 3.205172413793103914e+01 +1.961999999999999966e-08 3.210344827586207117e+01 +1.965000000000000059e-08 3.215517241379311031e+01 +1.968000000000000152e-08 3.220689655172414945e+01 +1.970999999999999915e-08 3.225862068965517437e+01 +1.974000000000000008e-08 3.231034482758621351e+01 +1.977000000000000101e-08 3.236206896551724554e+01 +1.979999999999999863e-08 3.241379310344827758e+01 +1.982999999999999956e-08 3.246551724137931672e+01 +1.986000000000000049e-08 3.251724137931034875e+01 +1.989000000000000142e-08 3.256896551724138789e+01 +1.991999999999999904e-08 3.262068965517241992e+01 +1.994999999999999997e-08 3.267241379310345195e+01 +1.998000000000000090e-08 3.272413793103449109e+01 +2.000999999999999852e-08 3.277586206896552312e+01 +2.003999999999999945e-08 3.282758620689655515e+01 +2.007000000000000038e-08 3.287931034482759429e+01 +2.010000000000000131e-08 3.293103448275862632e+01 +2.012999999999999894e-08 3.298275862068965836e+01 +2.015999999999999987e-08 3.303448275862069750e+01 +2.019000000000000080e-08 3.308620689655172953e+01 +2.021999999999999842e-08 3.313793103448276156e+01 +2.024999999999999935e-08 3.318965517241380070e+01 +2.028000000000000028e-08 3.324137931034483273e+01 +2.031000000000000121e-08 3.329310344827587187e+01 +2.033999999999999883e-08 3.334482758620689680e+01 +2.036999999999999976e-08 3.339655172413793593e+01 +2.040000000000000069e-08 3.344827586206897507e+01 +2.042999999999999831e-08 3.350000000000000000e+01 +2.045999999999999924e-08 3.355172413793103914e+01 +2.049000000000000017e-08 3.360344827586207828e+01 +2.052000000000000110e-08 3.365517241379311031e+01 +2.054999999999999873e-08 3.370689655172414234e+01 +2.057999999999999966e-08 3.375862068965517437e+01 +2.061000000000000059e-08 3.381034482758621351e+01 +2.063999999999999821e-08 3.386206896551724554e+01 +2.066999999999999914e-08 3.391379310344827758e+01 +2.070000000000000007e-08 3.396551724137931672e+01 +2.073000000000000100e-08 3.401724137931034875e+01 +2.075999999999999862e-08 3.406896551724138078e+01 +2.078999999999999955e-08 3.412068965517241992e+01 +2.082000000000000048e-08 3.417241379310345195e+01 +2.085000000000000141e-08 3.422413793103449109e+01 +2.087999999999999903e-08 3.427586206896552312e+01 +2.090999999999999996e-08 3.432758620689655515e+01 +2.094000000000000089e-08 3.437931034482759429e+01 +2.096999999999999852e-08 3.443103448275862632e+01 +2.099999999999999945e-08 3.448275862068965836e+01 +2.103000000000000038e-08 3.453448275862069750e+01 +2.106000000000000131e-08 3.458620689655172953e+01 +2.108999999999999893e-08 3.463793103448276156e+01 +2.111999999999999986e-08 3.468965517241380070e+01 +2.115000000000000079e-08 3.474137931034483273e+01 +2.117999999999999841e-08 3.479310344827586476e+01 +2.120999999999999934e-08 3.484482758620690390e+01 +2.124000000000000027e-08 3.489655172413793593e+01 +2.127000000000000120e-08 3.494827586206897507e+01 +2.129999999999999882e-08 3.500000000000000711e+01 +2.132999999999999975e-08 3.505172413793103914e+01 +2.136000000000000069e-08 3.510344827586207828e+01 +2.138999999999999831e-08 3.515517241379310320e+01 +2.141999999999999924e-08 3.520689655172414234e+01 +2.145000000000000017e-08 3.525862068965518148e+01 +2.148000000000000110e-08 3.531034482758621351e+01 +2.150999999999999872e-08 3.536206896551724554e+01 +2.153999999999999965e-08 3.541379310344827758e+01 +2.157000000000000058e-08 3.546551724137931672e+01 +2.160000000000000151e-08 3.551724137931035585e+01 +2.162999999999999913e-08 3.556896551724138078e+01 +2.166000000000000006e-08 3.562068965517241992e+01 +2.169000000000000099e-08 3.567241379310345906e+01 +2.171999999999999861e-08 3.572413793103448398e+01 +2.174999999999999955e-08 3.577586206896552312e+01 +2.178000000000000048e-08 3.582758620689655515e+01 +2.181000000000000141e-08 3.587931034482759429e+01 +2.183999999999999903e-08 3.593103448275862632e+01 +2.186999999999999996e-08 3.598275862068965836e+01 +2.190000000000000089e-08 3.603448275862069750e+01 +2.192999999999999851e-08 3.608620689655172953e+01 +2.195999999999999944e-08 3.613793103448276156e+01 +2.199000000000000037e-08 3.618965517241380070e+01 +2.202000000000000130e-08 3.624137931034483273e+01 +2.204999999999999892e-08 3.629310344827586476e+01 +2.207999999999999985e-08 3.634482758620690390e+01 +2.211000000000000078e-08 3.639655172413793593e+01 +2.213999999999999841e-08 3.644827586206896797e+01 +2.216999999999999934e-08 3.650000000000000711e+01 +2.220000000000000027e-08 3.655172413793103914e+01 +2.223000000000000120e-08 3.660344827586207828e+01 +2.225999999999999882e-08 3.665517241379311031e+01 +2.228999999999999975e-08 3.670689655172414234e+01 +2.232000000000000068e-08 3.675862068965518148e+01 +2.234999999999999830e-08 3.681034482758620641e+01 +2.237999999999999923e-08 3.686206896551724554e+01 +2.241000000000000016e-08 3.691379310344828468e+01 +2.244000000000000109e-08 3.696551724137931672e+01 +2.246999999999999871e-08 3.701724137931034875e+01 +2.249999999999999964e-08 3.706896551724138789e+01 +2.253000000000000057e-08 3.712068965517241992e+01 +2.255999999999999820e-08 3.717241379310345195e+01 +2.258999999999999913e-08 3.722413793103448398e+01 +2.262000000000000006e-08 3.727586206896552312e+01 +2.265000000000000099e-08 3.732758620689656226e+01 +2.267999999999999861e-08 3.737931034482758719e+01 +2.270999999999999954e-08 3.743103448275862632e+01 +2.274000000000000047e-08 3.748275862068966546e+01 +2.277000000000000140e-08 3.753448275862069750e+01 +2.279999999999999902e-08 3.758620689655172953e+01 +2.282999999999999995e-08 3.763793103448276156e+01 +2.286000000000000088e-08 3.768965517241380070e+01 +2.288999999999999850e-08 3.774137931034483273e+01 +2.291999999999999943e-08 3.779310344827586476e+01 +2.295000000000000036e-08 3.784482758620690390e+01 +2.298000000000000129e-08 3.789655172413793593e+01 +2.300999999999999892e-08 3.794827586206896797e+01 +2.303999999999999985e-08 3.800000000000000711e+01 +2.307000000000000078e-08 3.805172413793103914e+01 +2.309999999999999840e-08 3.810344827586207117e+01 +2.312999999999999933e-08 3.815517241379311031e+01 +2.316000000000000026e-08 3.820689655172414234e+01 +2.319000000000000119e-08 3.825862068965518148e+01 +2.321999999999999881e-08 3.831034482758621351e+01 +2.324999999999999974e-08 3.836206896551724554e+01 +2.328000000000000067e-08 3.841379310344828468e+01 +2.330999999999999829e-08 3.846551724137931672e+01 +2.333999999999999922e-08 3.851724137931034875e+01 +2.337000000000000015e-08 3.856896551724138789e+01 +2.340000000000000109e-08 3.862068965517241992e+01 +2.342999999999999871e-08 3.867241379310345195e+01 +2.345999999999999964e-08 3.872413793103449109e+01 +2.349000000000000057e-08 3.877586206896552312e+01 +2.352000000000000150e-08 3.882758620689656226e+01 +2.354999999999999912e-08 3.887931034482759429e+01 +2.358000000000000005e-08 3.893103448275862632e+01 +2.361000000000000098e-08 3.898275862068966546e+01 +2.363999999999999860e-08 3.903448275862069039e+01 +2.366999999999999953e-08 3.908620689655172953e+01 +2.370000000000000046e-08 3.913793103448276867e+01 +2.373000000000000139e-08 3.918965517241380070e+01 +2.375999999999999901e-08 3.924137931034483273e+01 +2.378999999999999995e-08 3.929310344827586476e+01 +2.382000000000000088e-08 3.934482758620690390e+01 +2.384999999999999850e-08 3.939655172413793593e+01 +2.387999999999999943e-08 3.944827586206896797e+01 +2.391000000000000036e-08 3.950000000000000711e+01 +2.394000000000000129e-08 3.955172413793104624e+01 +2.396999999999999891e-08 3.960344827586207117e+01 +2.399999999999999984e-08 3.965517241379311031e+01 +2.403000000000000077e-08 3.970689655172414234e+01 +2.405999999999999839e-08 3.975862068965517437e+01 +2.408999999999999932e-08 3.981034482758621351e+01 +2.412000000000000025e-08 3.986206896551724554e+01 +2.415000000000000118e-08 3.991379310344828468e+01 +2.417999999999999881e-08 3.996551724137931672e+01 +2.420999999999999974e-08 4.001724137931034875e+01 +2.424000000000000067e-08 4.006896551724138789e+01 +2.426999999999999829e-08 4.012068965517241992e+01 +2.429999999999999922e-08 4.017241379310345195e+01 +2.433000000000000015e-08 4.022413793103449109e+01 +2.436000000000000108e-08 4.027586206896552312e+01 +2.438999999999999870e-08 4.032758620689655515e+01 +2.441999999999999963e-08 4.037931034482759429e+01 +2.445000000000000056e-08 4.043103448275862632e+01 +2.447999999999999818e-08 4.048275862068965836e+01 +2.450999999999999911e-08 4.053448275862069750e+01 +2.454000000000000004e-08 4.058620689655172953e+01 +2.457000000000000097e-08 4.063793103448276867e+01 +2.459999999999999860e-08 4.068965517241379359e+01 +2.462999999999999953e-08 4.074137931034483273e+01 +2.466000000000000046e-08 4.079310344827587187e+01 +2.469000000000000139e-08 4.084482758620690390e+01 +2.471999999999999901e-08 4.089655172413793593e+01 +2.474999999999999994e-08 4.094827586206897507e+01 +2.478000000000000087e-08 4.100000000000000711e+01 +2.480999999999999849e-08 4.105172413793103914e+01 +2.483999999999999942e-08 4.110344827586207117e+01 +2.487000000000000035e-08 4.115517241379311031e+01 +2.490000000000000128e-08 4.120689655172414945e+01 +2.492999999999999890e-08 4.125862068965517437e+01 +2.495999999999999983e-08 4.131034482758621351e+01 +2.499000000000000076e-08 4.136206896551725265e+01 +2.501999999999999839e-08 4.141379310344827758e+01 +2.504999999999999932e-08 4.146551724137931672e+01 +2.508000000000000025e-08 4.151724137931034875e+01 +2.511000000000000118e-08 4.156896551724138789e+01 +2.513999999999999880e-08 4.162068965517241992e+01 +2.516999999999999973e-08 4.167241379310345195e+01 +2.520000000000000066e-08 4.172413793103449109e+01 +2.522999999999999828e-08 4.177586206896552312e+01 +2.525999999999999921e-08 4.182758620689655515e+01 +2.529000000000000014e-08 4.187931034482759429e+01 +2.532000000000000107e-08 4.193103448275862632e+01 +2.534999999999999869e-08 4.198275862068965836e+01 +2.537999999999999962e-08 4.203448275862069750e+01 +2.541000000000000055e-08 4.208620689655172953e+01 +2.544000000000000149e-08 4.213793103448276867e+01 +2.546999999999999911e-08 4.218965517241380070e+01 +2.550000000000000004e-08 4.224137931034483273e+01 +2.553000000000000097e-08 4.229310344827587187e+01 +2.555999999999999859e-08 4.234482758620690390e+01 +2.558999999999999952e-08 4.239655172413793593e+01 +2.562000000000000045e-08 4.244827586206897507e+01 +2.565000000000000138e-08 4.250000000000000711e+01 +2.567999999999999900e-08 4.255172413793103914e+01 +2.570999999999999993e-08 4.260344827586207828e+01 +2.574000000000000086e-08 4.265517241379311031e+01 +2.576999999999999848e-08 4.270689655172414234e+01 +2.579999999999999941e-08 4.275862068965518148e+01 +2.583000000000000035e-08 4.281034482758621351e+01 +2.586000000000000128e-08 4.286206896551725265e+01 +2.588999999999999890e-08 4.291379310344827758e+01 +2.591999999999999983e-08 4.296551724137931672e+01 +2.595000000000000076e-08 4.301724137931035585e+01 +2.597999999999999838e-08 4.306896551724138078e+01 +2.600999999999999931e-08 4.312068965517241992e+01 +2.604000000000000024e-08 4.317241379310345195e+01 +2.607000000000000117e-08 4.322413793103449109e+01 +2.609999999999999879e-08 4.327586206896552312e+01 +2.612999999999999972e-08 4.332758620689655515e+01 +2.616000000000000065e-08 4.337931034482759429e+01 +2.618999999999999827e-08 4.343103448275862632e+01 +2.621999999999999921e-08 4.348275862068965836e+01 +2.625000000000000014e-08 4.353448275862069750e+01 +2.628000000000000107e-08 4.358620689655172953e+01 +2.630999999999999869e-08 4.363793103448276156e+01 +2.633999999999999962e-08 4.368965517241380070e+01 +2.637000000000000055e-08 4.374137931034483273e+01 +2.639999999999999817e-08 4.379310344827586476e+01 +2.642999999999999910e-08 4.384482758620690390e+01 +2.646000000000000003e-08 4.389655172413793593e+01 +2.649000000000000096e-08 4.394827586206897507e+01 +2.651999999999999858e-08 4.400000000000000711e+01 +2.654999999999999951e-08 4.405172413793103914e+01 +2.658000000000000044e-08 4.410344827586207828e+01 +2.661000000000000137e-08 4.415517241379311031e+01 +2.663999999999999900e-08 4.420689655172414234e+01 +2.666999999999999993e-08 4.425862068965518148e+01 +2.670000000000000086e-08 4.431034482758621351e+01 +2.672999999999999848e-08 4.436206896551724554e+01 +2.675999999999999941e-08 4.441379310344828468e+01 +2.679000000000000034e-08 4.446551724137931672e+01 +2.682000000000000127e-08 4.451724137931035585e+01 +2.684999999999999889e-08 4.456896551724138078e+01 +2.687999999999999982e-08 4.462068965517241992e+01 +2.691000000000000075e-08 4.467241379310345906e+01 +2.693999999999999837e-08 4.472413793103448398e+01 +2.696999999999999930e-08 4.477586206896552312e+01 +2.700000000000000023e-08 4.482758620689656226e+01 +2.703000000000000116e-08 4.487931034482759429e+01 +2.705999999999999879e-08 4.493103448275862632e+01 +2.708999999999999972e-08 4.498275862068965836e+01 +2.712000000000000065e-08 4.503448275862069750e+01 +2.714999999999999827e-08 4.508620689655172953e+01 +2.717999999999999920e-08 4.513793103448276156e+01 +2.721000000000000013e-08 4.518965517241380070e+01 +2.724000000000000106e-08 4.524137931034483273e+01 +2.726999999999999868e-08 4.529310344827586476e+01 +2.729999999999999961e-08 4.534482758620690390e+01 +2.733000000000000054e-08 4.539655172413793593e+01 +2.736000000000000147e-08 4.544827586206897507e+01 +2.738999999999999909e-08 4.550000000000000711e+01 +2.742000000000000002e-08 4.555172413793103914e+01 +2.745000000000000095e-08 4.560344827586207828e+01 +2.747999999999999858e-08 4.565517241379311031e+01 +2.750999999999999951e-08 4.570689655172414234e+01 +2.754000000000000044e-08 4.575862068965518148e+01 +2.757000000000000137e-08 4.581034482758621351e+01 +2.759999999999999899e-08 4.586206896551724554e+01 +2.762999999999999992e-08 4.591379310344828468e+01 +2.766000000000000085e-08 4.596551724137931672e+01 +2.768999999999999847e-08 4.601724137931034875e+01 +2.771999999999999940e-08 4.606896551724138789e+01 +2.775000000000000033e-08 4.612068965517241992e+01 +2.778000000000000126e-08 4.617241379310345906e+01 +2.780999999999999888e-08 4.622413793103449109e+01 +2.783999999999999981e-08 4.627586206896552312e+01 +2.787000000000000075e-08 4.632758620689656226e+01 +2.789999999999999837e-08 4.637931034482758719e+01 +2.792999999999999930e-08 4.643103448275862632e+01 +2.796000000000000023e-08 4.648275862068966546e+01 +2.799000000000000116e-08 4.653448275862069750e+01 +2.801999999999999878e-08 4.658620689655172953e+01 +2.804999999999999971e-08 4.663793103448276867e+01 +2.808000000000000064e-08 4.668965517241380070e+01 +2.810999999999999826e-08 4.674137931034483273e+01 +2.813999999999999919e-08 4.679310344827586476e+01 +2.817000000000000012e-08 4.684482758620690390e+01 +2.820000000000000105e-08 4.689655172413794304e+01 +2.822999999999999867e-08 4.694827586206896797e+01 +2.825999999999999961e-08 4.700000000000000711e+01 +2.829000000000000054e-08 4.705172413793103914e+01 +2.831999999999999816e-08 4.710344827586207117e+01 +2.834999999999999909e-08 4.715517241379311031e+01 +2.838000000000000002e-08 4.720689655172414234e+01 +2.841000000000000095e-08 4.725862068965518148e+01 +2.843999999999999857e-08 4.731034482758621351e+01 +2.846999999999999950e-08 4.736206896551724554e+01 +2.850000000000000043e-08 4.741379310344828468e+01 +2.853000000000000136e-08 4.746551724137931672e+01 +2.855999999999999898e-08 4.751724137931034875e+01 +2.858999999999999991e-08 4.756896551724138789e+01 +2.862000000000000084e-08 4.762068965517241992e+01 +2.864999999999999847e-08 4.767241379310345195e+01 +2.867999999999999940e-08 4.772413793103449109e+01 +2.871000000000000033e-08 4.777586206896552312e+01 +2.874000000000000126e-08 4.782758620689656226e+01 +2.876999999999999888e-08 4.787931034482759429e+01 +2.879999999999999981e-08 4.793103448275862632e+01 +2.883000000000000074e-08 4.798275862068966546e+01 +2.885999999999999836e-08 4.803448275862069750e+01 +2.888999999999999929e-08 4.808620689655172953e+01 +2.892000000000000022e-08 4.813793103448276867e+01 +2.895000000000000115e-08 4.818965517241380070e+01 +2.897999999999999877e-08 4.824137931034483273e+01 +2.900999999999999970e-08 4.829310344827587187e+01 +2.904000000000000063e-08 4.834482758620690390e+01 +2.906999999999999826e-08 4.839655172413793593e+01 +2.909999999999999919e-08 4.844827586206896797e+01 +2.913000000000000012e-08 4.850000000000000711e+01 +2.916000000000000105e-08 4.855172413793104624e+01 +2.918999999999999867e-08 4.860344827586207117e+01 +2.921999999999999960e-08 4.865517241379311031e+01 +2.925000000000000053e-08 4.870689655172414945e+01 +2.928000000000000146e-08 4.875862068965518148e+01 +2.930999999999999908e-08 4.881034482758621351e+01 +2.934000000000000001e-08 4.886206896551724554e+01 +2.937000000000000094e-08 4.891379310344828468e+01 +2.939999999999999856e-08 4.896551724137931672e+01 +2.942999999999999949e-08 4.901724137931034875e+01 +2.946000000000000042e-08 4.906896551724138789e+01 +2.949000000000000135e-08 4.912068965517241992e+01 +2.951999999999999898e-08 4.917241379310345195e+01 +2.954999999999999991e-08 4.922413793103449109e+01 +2.958000000000000084e-08 4.927586206896552312e+01 +2.960999999999999846e-08 4.932758620689655515e+01 +2.963999999999999939e-08 4.937931034482759429e+01 +2.967000000000000032e-08 4.943103448275862632e+01 +2.970000000000000125e-08 4.948275862068966546e+01 +2.972999999999999887e-08 4.953448275862069750e+01 +2.975999999999999980e-08 4.958620689655172953e+01 +2.979000000000000073e-08 4.963793103448276867e+01 +2.981999999999999835e-08 4.968965517241380070e+01 +2.984999999999999928e-08 4.974137931034483273e+01 +2.988000000000000021e-08 4.979310344827587187e+01 +2.991000000000000115e-08 4.984482758620690390e+01 +2.994000000000000208e-08 4.989655172413794304e+01 +2.997000000000000301e-08 4.994827586206897507e+01 2.999999999999999732e-08 5.000000000000000000e+01 3.002999999999999825e-08 5.000000000000000000e+01 3.005999999999999918e-08 5.000000000000000000e+01 diff --git a/testData/cases/sources/voltage_sources_prepost.py b/testData/cases/sources/voltage_sources_prepost.py index 76a24899..d6540edc 100644 --- a/testData/cases/sources/voltage_sources_prepost.py +++ b/testData/cases/sources/voltage_sources_prepost.py @@ -14,10 +14,10 @@ ##################################################### # %% Generate excitation and visualize dt = 3e-11 -t0 = 2.5e-9 +t0 = 1e-9 t1 = 30e-9 tf = 75e-9 -A = 50.0 +A = 1.0 t = np.arange(0, tf, dt) e = np.zeros(len(t)) @@ -36,102 +36,52 @@ data = np.zeros((len(t), 2)) data[:,0] = t data[:,1] = e -np.savetxt('voltage_source_50V.exc', data) +np.savetxt('current_source_1A.exc', data) ##################################################### # %% Run solver fn = 'sources_voltage.fdtd.json' solver = FDTD(input_filename = fn, path_to_exe=SEMBA_EXE) -solver['materials'][0] = {"id":1, - "type": "wire", - "radius": 0.1e-3, - "resistancePerMeter": 0.0, - "inductancePerMeter": 0.0 - } -solver["general"]["timeStep"] = 1e-11 -solver["general"]["numberOfSteps"] = 7500 - -solver["materialAssociations"][1] = {"materialId": 4, "elementIds": [3]} -# solver["materialAssociations"][1] = {"name": "wire2","materialId": 1,"initialTerminalId": 3,"endTerminalId": 3,"elementIds": [7]} - - - -solver["sources"][0]["elementIds"] = [1] -solver["sources"][0]["field"] = "voltage" -solver["sources"][0]["magnitudeFile"] = "voltage_source_50V.exc" -solver["mesh"]["elements"][0]["coordinateIds"] = [5] - -solver["probes"][0]["elementIds"] = [4] -solver["probes"][0]["name"] = "probe_c8" -solver["probes"][0]["field"] = "voltage" -solver["probes"][0]["type"] = "wire" -solver["probes"][0]["domain"] = {"type" : "time"} - -solver["probes"][1]["elementIds"] = [6] -solver["probes"][1]["name"] = "probe_end" -solver["probes"][1]["field"] = "voltage" -solver["probes"][1]["type"] = "wire" -solver["probes"][1]["domain"] = {"type" : "time"} - -solver["probes"][2]["elementIds"] = [4] -solver["probes"][2]["name"] = "probe_c8" -solver["probes"][2]["field"] = "current" -solver["probes"][2]["type"] = "wire" -solver["probes"][2]["domain"] = {"type" : "time"} - -solver["probes"][3]["elementIds"] = [6] -solver["probes"][3]["name"] = "probe_end" -solver["probes"][3]["field"] = "current" -solver["probes"][3]["type"] = "wire" -solver["probes"][3]["domain"] = {"type" : "time"} - - -solver["mesh"]["elements"][3]["coordinateIds"] = [8] -solver["mesh"]["elements"][5]["coordinateIds"] = [4] solver.cleanUp() solver.run() #%% probe_names = solver.getSolvedProbeFilenames("probe_end") -# p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) pendI = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) -pendV = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) -probe_names = solver.getSolvedProbeFilenames("probe_c8") -p8I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) -p8V = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) +probe_names = solver.getSolvedProbeFilenames("probe_start") +pstI = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) + +probe_names = solver.getSolvedProbeFilenames("probe_end") +pendV = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) -# probe_names = solver.getSolvedProbeFilenames("probe_c7") -# p7I = Probe(list(filter(lambda x: '_I_' in x, probe_names))[0]) +probe_names = solver.getSolvedProbeFilenames("probe_start") +pstV = Probe(list(filter(lambda x: '_V_' in x, probe_names))[0]) ##################################################### # %% Plot results - plt.figure() -plt.plot(data[:,0]*1e9, data[:,1], '-',label = 'source') -plt.plot(pendV['time']*1e9, pendV['voltage_0'], '.',label = 'line end') -# plt.plot(pendI['time']*1e9, 50*pendI['current_0'], '--',label = 'R*source I') +plt.plot(pstI['time']*1e9, pstI['current_0'], '*',label = 'probe start - shield') +plt.plot(pendI['time']*1e9, pendI['current_0'], '--',label = 'probe end - shield ') +plt.plot(pstI['time']*1e9, pstI['current_1'], '*',label = 'probe start - conductor') +plt.plot(pendI['time']*1e9, pendI['current_1'], '--',label = 'probe end - conductor') plt.grid(which='both') plt.legend() plt.xlabel('Time (ns)') -plt.ylabel('V (V)') -# plt.xlim(0,5) -# plt.ylim(0,10) +plt.ylabel('I (A)') plt.show() - +#%% plt.figure() -plt.plot(p8I['time']*1e9, p8I['current_0'], '*',label = 'probe8 (after source)') -# plt.plot(data[:,0]*1e9, data[:,1], '-',label = 'source') -plt.plot(pendI['time']*1e9, pendI['current_0'], '--',label = 'probe_end (at terminal)') +plt.plot(pstV['time']*1e9, pstV['voltage_0'], '*',label = 'probe start - shield') +plt.plot(pendV['time']*1e9, pendV['voltage_0'], '--',label = 'probe end - shield') +plt.plot(pstV['time']*1e9, pstV['voltage_1'], '*',label = 'probe start - conductor') +plt.plot(pendV['time']*1e9, pendV['voltage_1'], '--',label = 'probe end - conductor') plt.grid(which='both') plt.legend() plt.xlabel('Time (ns)') -plt.ylabel('I (A)') +plt.ylabel('V (V)') plt.show() -# %% Plot results - - # %% From 60bd120600d84593a6eb0ee20370c1b31e5d137b Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Fri, 20 Mar 2026 09:07:39 +0100 Subject: [PATCH 19/25] Adds generator creator for MPI, changing index in line if needed --- src_mtln/generators.F90 | 35 ++++++++++++++++++++++++++++-- src_mtln/mtl_bundle.F90 | 21 +++++++++++------- src_mtln/mtln_solver.F90 | 2 +- src_mtln/preprocess.F90 | 7 +++++- src_mtln/probes.F90 | 34 ++++++++++++++--------------- test/pyWrapper/test_full_system.py | 13 +++++------ 6 files changed, 75 insertions(+), 37 deletions(-) diff --git a/src_mtln/generators.F90 b/src_mtln/generators.F90 index 9e3804a5..16d7720c 100644 --- a/src_mtln/generators.F90 +++ b/src_mtln/generators.F90 @@ -2,6 +2,9 @@ module generators_m use mtln_types_m, only: SOURCE_TYPE_UNDEFINED, SOURCE_TYPE_VOLTAGE, SOURCE_TYPE_CURRENT +#ifdef CompileWithMPI + use FDETYPES_m, only: SUBCOMM_MPI +#endif implicit none @@ -10,6 +13,7 @@ module generators_m real, dimension(:), allocatable :: time, value real :: resistance integer :: source_type = SOURCE_TYPE_UNDEFINED + logical :: in_layer = .true. contains procedure :: initGenerator procedure :: interpolate @@ -22,17 +26,44 @@ module generators_m contains - function generatorCtor(index, conductor, gen_type, resistance, path) result(res) + function generatorCtor(index, conductor, gen_type, resistance, path, layer_indices) result(res) type(generator_t) :: res integer, intent(in) :: index, conductor, gen_type real :: resistance character(*), intent(in) :: path + integer(kind=4), dimension(:,:), intent(in), optional :: layer_indices +#ifdef CompileWithMPI + integer :: layer_index, ierr, sizeof, i, slice +#endif res%index = index res%conductor = conductor res%resistance = resistance res%source_type = gen_type - call res%initGenerator(path) +#ifdef CompileWithMPI + if (present(layer_indices)) then + call MPI_COMM_SIZE(SUBCOMM_MPI, sizeof, ierr) + if (sizeof > 1) then + res%in_layer = .false. + do i = 1, size(layer_indices,1) + if (index >= layer_indices(i, 1) .and. index <= layer_indices(i,2)+1) then + res%in_layer = .true. + slice = i + end if + end do + + layer_index = 0 + if (res%in_layer) then + do i = 1, slice - 1 + layer_index = layer_index + layer_indices(i,2) + 1 - (layer_indices(i,1) - 1) + end do + layer_index = layer_index + res%index - layer_indices(i,1) + 1 + end if + res%index = layer_index + end if + end if +#endif + if (res%in_layer) call res%initGenerator(path) end function subroutine initGenerator(this, path) diff --git a/src_mtln/mtl_bundle.F90 b/src_mtln/mtl_bundle.F90 index 3f0c21cb..07047eb9 100644 --- a/src_mtln/mtl_bundle.F90 +++ b/src_mtln/mtl_bundle.F90 @@ -246,11 +246,12 @@ subroutine addProbe(this, index, probe_type, name, position, layer_indices) this%probes(size(aux_probes)+1) = new_probe end subroutine - subroutine addGenerator(this, index, conductor, gen_type, resistance, path) + subroutine addGenerator(this, index, conductor, gen_type, resistance, path, layer_indices) class(mtl_bundle_t) :: this integer, intent(in) :: index, conductor, gen_type real :: resistance character(*), intent(in) :: path + integer(kind=4), dimension(:,:), intent(in), optional :: layer_indices type(generator_t), allocatable, dimension(:) :: aux_generators type(generator_t) :: new_generator @@ -258,7 +259,7 @@ subroutine addGenerator(this, index, conductor, gen_type, resistance, path) deallocate(this%generators) allocate(this%generators(size(aux_generators)+1)) #ifdef CompileWithMPI - ! new_generator = probeCtor(index, probe_type, this%dt, name, position, layer_indices = layer_indices) + new_generator = probeCtor(index, probe_type, this%dt, name, position, layer_indices = layer_indices) #else new_generator = generatorCtor(index, conductor, gen_type, resistance, path) #endif @@ -378,12 +379,16 @@ subroutine bundle_updateGenerators(this, time, dt) real :: val integer :: i do i = 1, size(this%generators) - if (this%generators(i)%source_type == SOURCE_TYPE_VOLTAGE) then - val = 0.5*(this%generators(i)%interpolate(time+dt)+this%generators(i)%interpolate(time)) - this%v_source(this%generators(i)%conductor, this%generators(i)%index) = val/this%du(this%generators(i)%index, this%generators(i)%conductor, this%generators(i)%conductor) - else if (this%generators(i)%source_type == SOURCE_TYPE_CURRENT) then - val = 0.5*(this%generators(i)%interpolate(time+dt)+this%generators(i)%interpolate(time)) - this%v_source(this%generators(i)%conductor, this%generators(i)%index) = val*this%generators(i)%resistance/this%du(this%generators(i)%index, this%generators(i)%conductor, this%generators(i)%conductor) + if (this%generators(i)%in_layer) then + if (this%generators(i)%source_type == SOURCE_TYPE_VOLTAGE) then + val = 0.5*(this%generators(i)%interpolate(time+dt)+this%generators(i)%interpolate(time)) + this%v_source(this%generators(i)%conductor, this%generators(i)%index) = & + val/this%du(this%generators(i)%index, this%generators(i)%conductor, this%generators(i)%conductor) + else if (this%generators(i)%source_type == SOURCE_TYPE_CURRENT) then + val = 0.5*(this%generators(i)%interpolate(time+dt)+this%generators(i)%interpolate(time)) + this%v_source(this%generators(i)%conductor, this%generators(i)%index) = & + val*this%generators(i)%resistance/this%du(this%generators(i)%index, this%generators(i)%conductor, this%generators(i)%conductor) + end if end if end do diff --git a/src_mtln/mtln_solver.F90 b/src_mtln/mtln_solver.F90 index d135239b..02d9cec4 100644 --- a/src_mtln/mtln_solver.F90 +++ b/src_mtln/mtln_solver.F90 @@ -138,7 +138,7 @@ subroutine advanceBundlesVoltage(this) integer :: i do i = 1, this%number_of_bundles - if (this%bundles(i)%bundle_in_layer) then + if (this%bundles(i)%bundle_in_layer) then call this%bundles(i)%updateGenerators(this%time, this%dt) call this%bundles(i)%advanceVoltage() end if diff --git a/src_mtln/preprocess.F90 b/src_mtln/preprocess.F90 index 4ed0b2c0..2ab459b1 100644 --- a/src_mtln/preprocess.F90 +++ b/src_mtln/preprocess.F90 @@ -1495,7 +1495,12 @@ subroutine addGenerators(this, parsed_generators) conductor = n + parsed_generators(i)%conductor, & gen_type = parsed_generators(i)%generator_type, & resistance = parsed_generators(i)%resistance, & - path = parsed_generators(i)%path_to_excitation) + path = parsed_generators(i)%path_to_excitation & +#ifdef CompileWithMPI + ,layer_indices = this%bundles(d)%layer_indices & +#endif + ) + end do end subroutine diff --git a/src_mtln/probes.F90 b/src_mtln/probes.F90 index 3983f736..d9631471 100644 --- a/src_mtln/probes.F90 +++ b/src_mtln/probes.F90 @@ -50,25 +50,25 @@ function probeCtor(index, probe_type, dt, name, position, layer_indices) result( #ifdef CompileWithMPI if (present(layer_indices)) then - call MPI_COMM_SIZE(SUBCOMM_MPI, sizeof, ierr) - if (sizeof > 1) then - res%in_layer = .false. - do i = 1, size(layer_indices,1) - if (index >= layer_indices(i, 1) .and. index <= layer_indices(i,2)+1) then - res%in_layer = .true. - slice = i - end if - end do - - layer_index = 0 - if (res%in_layer) then - do i = 1, slice - 1 - layer_index = layer_index + layer_indices(i,2) + 1 - (layer_indices(i,1) - 1) + call MPI_COMM_SIZE(SUBCOMM_MPI, sizeof, ierr) + if (sizeof > 1) then + res%in_layer = .false. + do i = 1, size(layer_indices,1) + if (index >= layer_indices(i, 1) .and. index <= layer_indices(i,2)+1) then + res%in_layer = .true. + slice = i + end if end do - layer_index = layer_index + res%index - layer_indices(i,1) + 1 + + layer_index = 0 + if (res%in_layer) then + do i = 1, slice - 1 + layer_index = layer_index + layer_indices(i,2) + 1 - (layer_indices(i,1) - 1) + end do + layer_index = layer_index + res%index - layer_indices(i,1) + 1 + end if + res%index = layer_index end if - res%index = layer_index - end if end if #endif res%name = res%name//name//"_" diff --git a/test/pyWrapper/test_full_system.py b/test/pyWrapper/test_full_system.py index 9ec1eefe..c6f60dd4 100644 --- a/test/pyWrapper/test_full_system.py +++ b/test/pyWrapper/test_full_system.py @@ -1586,6 +1586,9 @@ def test_conformal_delay(tmp_path): def test_current_generators(tmp_path): + # Checks current and voltage of probes at the extremes of a wire + # with a current generator in the middle of the wire + fn = CASES_FOLDER + 'sources/sources_current.fdtd.json' solver = FDTD(input_filename=fn, path_to_exe=SEMBA_EXE, run_in_folder=tmp_path, flags=['-mapvtk']) @@ -1609,11 +1612,9 @@ def test_current_generators(tmp_path): assert np.allclose(Vend['voltage_0'][-100:-1], 16.666, rtol=0.005) assert np.allclose(Vstart['voltage_0'][-100:-1], -16.666, rtol=0.005) - # solver["sources"][0]["elementIds"] = [1] - # solver.cleanUp() - # solver.run() - def test_voltage_generators(tmp_path): + # Checks current and voltage of probes at the extremes of bundle (1 conductor + 1 shield) + # with a voltage generator in the middle of the inner conductor fn = CASES_FOLDER + 'sources/sources_voltage.fdtd.json' solver = FDTD(input_filename=fn, path_to_exe=SEMBA_EXE, run_in_folder=tmp_path, flags=['-mapvtk']) @@ -1643,10 +1644,6 @@ def test_voltage_generators(tmp_path): assert np.allclose(Vend['voltage_1'][-100:-1], -16.666, rtol=0.005) assert np.allclose(Vstart['voltage_1'][-100:-1], -16.666, rtol=0.005) - # solver["sources"][0]["elementIds"] = [1] - # solver.cleanUp() - # solver.run() - def test_bulk_current_outputs(tmp_path): # This test uses bulk_probe_cases_over_nodal_source.fdtd from input_examples as input. From 07eb3d0dcc91dd2309498031f979fb601abf35ae Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Thu, 26 Mar 2026 13:57:34 +0100 Subject: [PATCH 20/25] Fixes kinds --- src_mtln/generators.F90 | 16 ++++++++++------ src_mtln/mtl_bundle.F90 | 4 ++-- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src_mtln/generators.F90 b/src_mtln/generators.F90 index 16d7720c..4b4540b8 100644 --- a/src_mtln/generators.F90 +++ b/src_mtln/generators.F90 @@ -5,12 +5,14 @@ module generators_m #ifdef CompileWithMPI use FDETYPES_m, only: SUBCOMM_MPI #endif + use FDETYPES_m, only: RKIND, RKIND_tiempo implicit none type generator_t integer :: index, conductor - real, dimension(:), allocatable :: time, value + real(kind=rkind), dimension(:), allocatable :: value + real(kind=rkind_tiempo), dimension(:), allocatable :: time real :: resistance integer :: source_type = SOURCE_TYPE_UNDEFINED logical :: in_layer = .true. @@ -29,7 +31,7 @@ module generators_m function generatorCtor(index, conductor, gen_type, resistance, path, layer_indices) result(res) type(generator_t) :: res integer, intent(in) :: index, conductor, gen_type - real :: resistance + real(kind=rkind) :: resistance character(*), intent(in) :: path integer(kind=4), dimension(:,:), intent(in), optional :: layer_indices #ifdef CompileWithMPI @@ -69,7 +71,8 @@ function generatorCtor(index, conductor, gen_type, resistance, path, layer_indic subroutine initGenerator(this, path) class(generator_t) :: this character(*), intent(in) :: path - real :: time, value + real(kind=rkind) :: value + real(kind=rkind_tiempo) :: time integer :: io, line_count, i if (path == "" ) then @@ -105,10 +108,11 @@ subroutine initGenerator(this, path) function interpolate(this, t) result(res) class(generator_t) :: this - real :: res - real :: t, x1, x2, y1, y2 + real(kind=rkind) :: res + real(kind=rkind_tiempo) :: t, x1, x2 + real(kind=rkind) :: y1, y2 integer :: index - real, dimension(:), allocatable :: timediff + real(kind=rkind_tiempo), dimension(:), allocatable :: timediff timediff = this%time - t index = maxloc(timediff, 1, (timediff) <= 0) if (index == 0) index = 1 diff --git a/src_mtln/mtl_bundle.F90 b/src_mtln/mtl_bundle.F90 index 48e3ab0a..e7a9932d 100644 --- a/src_mtln/mtl_bundle.F90 +++ b/src_mtln/mtl_bundle.F90 @@ -248,7 +248,7 @@ subroutine addProbe(this, index, probe_type, name, position, layer_indices) subroutine addGenerator(this, index, conductor, gen_type, resistance, path, layer_indices) class(mtl_bundle_t) :: this integer, intent(in) :: index, conductor, gen_type - real :: resistance + real(kind=rkind) :: resistance character(*), intent(in) :: path integer(kind=4), dimension(:,:), intent(in), optional :: layer_indices @@ -375,7 +375,7 @@ subroutine updateCGTerms(this) subroutine bundle_updateGenerators(this, time, dt) class(mtl_bundle_t) ::this real(kind=RKIND_TIEMPO), intent(in) :: time, dt - real :: val + real(kind=rkind) :: val integer :: i do i = 1, size(this%generators) if (this%generators(i)%in_layer) then From 668f548e8b64837576198df7701b26e7e6e2a53d Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Thu, 26 Mar 2026 14:28:25 +0100 Subject: [PATCH 21/25] Minor fixes in tests --- test/pyWrapper/test_full_system.py | 4 ++++ test/pyWrapper/test_mtln_standalone.py | 8 -------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/test/pyWrapper/test_full_system.py b/test/pyWrapper/test_full_system.py index 770ac428..76bc1a6a 100644 --- a/test/pyWrapper/test_full_system.py +++ b/test/pyWrapper/test_full_system.py @@ -1642,6 +1642,8 @@ def test_conformal_delay(tmp_path): assert np.abs(delay - tdelta)/tdelta < 0.01 +@no_mtln_skip +@pytest.mark.mtln def test_current_generators(tmp_path): # Checks current and voltage of probes at the extremes of a wire # with a current generator in the middle of the wire @@ -1669,6 +1671,8 @@ def test_current_generators(tmp_path): assert np.allclose(Vend['voltage_0'][-100:-1], 16.666, rtol=0.005) assert np.allclose(Vstart['voltage_0'][-100:-1], -16.666, rtol=0.005) +@no_mtln_skip +@pytest.mark.mtln def test_voltage_generators(tmp_path): # Checks current and voltage of probes at the extremes of bundle (1 conductor + 1 shield) # with a voltage generator in the middle of the inner conductor diff --git a/test/pyWrapper/test_mtln_standalone.py b/test/pyWrapper/test_mtln_standalone.py index 248630df..49c1580e 100644 --- a/test/pyWrapper/test_mtln_standalone.py +++ b/test/pyWrapper/test_mtln_standalone.py @@ -192,14 +192,6 @@ def test_spice_zener(tmp_path): v_sol_interp = np.interp(t_exp, t_sol, v_sol) assert np.corrcoef(v_exp, v_sol_interp)[0,1] > 0.999 -def test_current_source(tmp_path): - fn = CASES_FOLDER + 'sources/current_source.fdtd.json' - solver = FDTD(input_filename=fn, - path_to_exe=SEMBA_EXE, - run_in_folder=tmp_path, - flags = ["-n", "1"]) - - @no_mtln_skip @pytest.mark.mtln def test_mtln_sources(tmp_path): From 6f9d36640f27901476f8f6366c3018bced9df51a Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Sat, 28 Mar 2026 09:57:03 +0100 Subject: [PATCH 22/25] With new generator prescription, generator in inner nodes are forced to have a resistance. Adds a large resistance in parallel to a current generator --- testData/cases/simple_cabin/simple_cabin.fdtd.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/testData/cases/simple_cabin/simple_cabin.fdtd.json b/testData/cases/simple_cabin/simple_cabin.fdtd.json index 15117086..16223ac1 100644 --- a/testData/cases/simple_cabin/simple_cabin.fdtd.json +++ b/testData/cases/simple_cabin/simple_cabin.fdtd.json @@ -49233,7 +49233,8 @@ "elementIds": [ 2 ], - "field": "current" + "field": "current", + "resistance" : 1.0e6 } ], "probes": [ From 2aa8fd024039b0411165c7dddf6f11f2e5ee10e6 Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Sat, 28 Mar 2026 10:05:38 +0100 Subject: [PATCH 23/25] weird compilation fail. Should have appeared before --- src_mtln/mtl_bundle.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src_mtln/mtl_bundle.F90 b/src_mtln/mtl_bundle.F90 index e7a9932d..39c84672 100644 --- a/src_mtln/mtl_bundle.F90 +++ b/src_mtln/mtl_bundle.F90 @@ -258,7 +258,7 @@ subroutine addGenerator(this, index, conductor, gen_type, resistance, path, laye deallocate(this%generators) allocate(this%generators(size(aux_generators)+1)) #ifdef CompileWithMPI - new_generator = probeCtor(index, probe_type, this%dt, name, position, layer_indices = layer_indices) + new_generator = generatorCtor(index, conductor, gen_type, resistance, path, layer_indices = layer_indices) #else new_generator = generatorCtor(index, conductor, gen_type, resistance, path) #endif From b4cd68399fa27b2f848996f20dc3605a66b521db Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Sat, 28 Mar 2026 21:04:18 +0100 Subject: [PATCH 24/25] Fixes two rkinds for windows --- src_json_parser/smbjson.F90 | 4 ++-- src_mtln/mtln_types.F90 | 4 ++-- src_mtln/network_manager.F90 | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src_json_parser/smbjson.F90 b/src_json_parser/smbjson.F90 index b16ebf1f..53bd366a 100644 --- a/src_json_parser/smbjson.F90 +++ b/src_json_parser/smbjson.F90 @@ -3265,7 +3265,7 @@ function readGeneratorOnTermination(id, label) result(res) else if (this%getStrAt(genSrcs(i)%p, J_FIELD) == J_FIELD_CURRENT) then res%source_type = SOURCE_TYPE_CURRENT end if - res%resistance = this%getRealAt(genSrcs(i)%p, J_SRC_RESISTANCE_GEN, default = 0.0) + res%resistance = this%getRealAt(genSrcs(i)%p, J_SRC_RESISTANCE_GEN, default = 0.0_rkind) res%path_to_excitation = trim(this%getStrAt(genSrcs(i)%p, J_SRC_MAGNITUDE_FILE)) return end if @@ -3410,7 +3410,7 @@ function readWireGenerators() result(res) call WarnErrReport('magnitudeFile of source missing', .true.) end if - res(n)%resistance = this%getRealAt(gens(i)%p, J_SRC_RESISTANCE_GEN, default = 0.0) + res(n)%resistance = this%getRealAt(gens(i)%p, J_SRC_RESISTANCE_GEN, default = 0.0_rkind) select case(this%getStrAt(gens(i)%p, J_FIELD)) case (J_FIELD_VOLTAGE) diff --git a/src_mtln/mtln_types.F90 b/src_mtln/mtln_types.F90 index f3b5c0d8..ec392986 100644 --- a/src_mtln/mtln_types.F90 +++ b/src_mtln/mtln_types.F90 @@ -45,7 +45,7 @@ module mtln_types_m character(len=256) :: path_to_excitation = "" integer :: generator_type = SOURCE_TYPE_UNDEFINED type(cable_t), pointer :: attached_to_cable => null() - real :: resistance = 0.0 + real(kind=rkind) :: resistance = 0.0 integer :: index = -1, conductor = -1 contains private @@ -56,7 +56,7 @@ module mtln_types_m type node_source_t character(len=256) :: path_to_excitation = "" integer :: source_type = SOURCE_TYPE_UNDEFINED - real :: resistance + real(kind=rkind) :: resistance end type type terminal_circuit_t diff --git a/src_mtln/network_manager.F90 b/src_mtln/network_manager.F90 index 52fde6ce..9e68ca5d 100644 --- a/src_mtln/network_manager.F90 +++ b/src_mtln/network_manager.F90 @@ -58,6 +58,7 @@ function copy_sources(networks) result(res) do j = 1, size(networks(i)%nodes) res(n)%path_to_excitation = trim(networks(i)%nodes(j)%source%path_to_excitation) res(n)%source_type = networks(i)%nodes(j)%source%source_type + res(n)%resistance = networks(i)%nodes(j)%source%resistance n = n + 1 end do end do From 6cb0d305b8b4fdb6bc68aa6c892ca3edbb292a78 Mon Sep 17 00:00:00 2001 From: Alberto-o Date: Tue, 31 Mar 2026 11:18:04 +0200 Subject: [PATCH 25/25] Updates documentation Corrects default values for current generator on terminations Adds call to errReport if interior voltage generator misses resistance Skips parallel resistor in current generator in spice if it 1e22 --- doc/fdtdjson.md | 39 ++++----- src_json_parser/smbjson.F90 | 11 ++- src_mtln/preprocess.F90 | 42 ++++++---- test/pyWrapper/test_mtln_standalone.py | 84 ------------------- .../cases/simple_cabin/simple_cabin.fdtd.json | 2 +- 5 files changed, 56 insertions(+), 122 deletions(-) diff --git a/doc/fdtdjson.md b/doc/fdtdjson.md index 40ca1c17..a249b3ff 100644 --- a/doc/fdtdjson.md +++ b/doc/fdtdjson.md @@ -807,18 +807,7 @@ This object represents a time-varying vector field applied along an oriented lin ### `generator` -A `generator` source must be located on a single `node` whose `coordinateId` is used by a single `polyline`. The entry `[field]` can be `voltage` or `current`; defaults to `voltage`. `resistance` refers to a series resistance for voltage generators and a resistance in parallel for current generators. - -Allowed positions according to material associations: - -* Voltage generators: - * On `wire` and `unshieldedMultiwre` materials, voltage generators are only allowed on terminal positions. - * On `shieldedMultiwre` materials, voltage generators are allowed on terminal and interior positions. -* Current generators: - * On `wire` and `unshieldedMultiwre` materials, current generators are allowed on terminal and interior positions. - * On `shieldedMultiwre` materials, current generators are only allowed on terminal positions. - -For terminal positions a series resistance is optional. For interior positions it is mandatory. As the resistance of the voltage generator approaches 0 (or the resistance of the current generator tends to arbitrarily large value), the generator becomes a **hard** source, in which the value of the generator is imposed at the current position of the wire. +A `generator` source must be located on a single `node`. The entry `[field]` can be `voltage` or `current`; defaults to `voltage`. `resistance` refers to a series resistance for `voltage` generators and a resistance in parallel for `current` generators. **Example:** @@ -832,19 +821,31 @@ For terminal positions a series resistance is optional. For interior positions i "elementIds": [1] } ``` -If the generator is located at the termination of a wire, the series or parallel `resistance` is added to the connection defined in the corresponding `terminal`. If a generator is located on a wire intermediate position, the per-unit-length properties of the corresponding segment are modified according to the `resistance` of the generator. -Using classic wires, generators can be located on any node of the lines. Using MTLN wires there are some restrictions: +Using classic (not MTLN) wires, generators can be located on any node of the lines. Using MTLN wires there are some restrictions: + +| Generator \ cable type | `unshieldedMultiwire` | `shieldedMultiwire` | +| :--- | :--- | :--- | +| Voltage | Only terminal nodes | Terminal and interior nodes | +| Current | Terminal and interior nodes | Only terminal nodes | + -| Syntax | `unshieldedMultiwire` | `shieldedMultiwire` | -| :--- | :--- | :--- | -| Voltage | Only wire extremes | Any point | -| Current | Any point | Only wire extremes | +For generators places at a terminal node a resistance is optional. In case no value is provided, the resistance default value will be 0.0. for `voltage` generators and 1.0e22 for `current` generators (i.e, they will behave like hard sources). However, for interior positions it is mandatory. If the generator is located at the termination of a wire, the series or parallel `resistance` is added to the connection defined in the corresponding `terminal`. If a generator is located on a wire intermediate position, the per-unit-length properties of the corresponding segment are modified according to the `resistance` of the generator. + +#### Sources hardness + +A **hard** source is defined as one that imposes its value at its position on the wire. On the other hand, a **soft** source adds its value to the current/voltage values. + +As the resistance of the `voltage` generator approaches 0 (or the resistance of the `current` generator tends to arbitrarily large values), the generator becomes a **hard** source. + +#### Current direction In case a generator is on a wire extreme, the current direction will be from the generator in the direction of the other wire extreme. If the generator is on an interior wire point, the current direction will be oriented as the wire. +#### Generators on junctions + +In case the generator is located at the junction `node` (connection point) of two of more lines, the lines whose ends are connected will share the same `coordinateId`. In this case, it is necessary to know to which of the lines the generator is attached to. The entry `[attachedToLineId]` is an integer which refers to the `elementId` of the `polyline` the generator is connected to. -In case the generator is located at the junction (connection point) of two of more lines, the `node` shared by the lines will share the same `coordinateId`. If more than two lines are connected together, it is necessary to know to which of the lines the generator is connected to. The entry `[attachedToLineId]` is an integer which refers to the `elementId` of the `polyline` the source is connected to. **Example:** diff --git a/src_json_parser/smbjson.F90 b/src_json_parser/smbjson.F90 index 53bd366a..826faef7 100644 --- a/src_json_parser/smbjson.F90 +++ b/src_json_parser/smbjson.F90 @@ -3262,10 +3262,11 @@ function readGeneratorOnTermination(id, label) result(res) if (isSourceAttachedToLine(genSrcs(i)%p, poly, id, label)) then if (this%getStrAt(genSrcs(i)%p, J_FIELD) == J_FIELD_VOLTAGE) then res%source_type = SOURCE_TYPE_VOLTAGE + res%resistance = this%getRealAt(genSrcs(i)%p, J_SRC_RESISTANCE_GEN, default = 0.0_rkind) else if (this%getStrAt(genSrcs(i)%p, J_FIELD) == J_FIELD_CURRENT) then res%source_type = SOURCE_TYPE_CURRENT + res%resistance = this%getRealAt(genSrcs(i)%p, J_SRC_RESISTANCE_GEN, default = 1.0e22_rkind) end if - res%resistance = this%getRealAt(genSrcs(i)%p, J_SRC_RESISTANCE_GEN, default = 0.0_rkind) res%path_to_excitation = trim(this%getStrAt(genSrcs(i)%p, J_SRC_MAGNITUDE_FILE)) return end if @@ -3410,11 +3411,16 @@ function readWireGenerators() result(res) call WarnErrReport('magnitudeFile of source missing', .true.) end if + if (.not. this%existsAt(gens(i)%p, J_SRC_RESISTANCE_GEN)) then + call WarnErrReport('Generator resistance missing', .true.) + end if + res(n)%resistance = this%getRealAt(gens(i)%p, J_SRC_RESISTANCE_GEN, default = 0.0_rkind) select case(this%getStrAt(gens(i)%p, J_FIELD)) case (J_FIELD_VOLTAGE) res(n)%generator_type = SOURCE_TYPE_VOLTAGE + if (res(n)%resistance == 0.0) call WarnErrReport('The resistance of a voltage generator on an interior node cannot be equal to 0', .true.) case (J_FIELD_CURRENT) res(n)%generator_type = SOURCE_TYPE_CURRENT if (res(n)%resistance == 0.0) call WarnErrReport('The resistance of a current generator on an interior node cannot be equal to 0', .true.) @@ -3424,9 +3430,6 @@ function readWireGenerators() result(res) res(n)%path_to_excitation = this%getStrAt(gens(i)%p, J_SRC_MAGNITUDE_FILE) - if (.not. this%existsAt(gens(i)%p, J_SRC_RESISTANCE_GEN)) then - call WarnErrReport('Generator resistance missing', .true.) - end if idAndPos = getPolylineElemIdAndConductorOfGenerator(gens(i)%p) call elemIdToCable%get(key(idAndPos(1)), value=index) diff --git a/src_mtln/preprocess.F90 b/src_mtln/preprocess.F90 index 11ba7378..81260ae3 100644 --- a/src_mtln/preprocess.F90 +++ b/src_mtln/preprocess.F90 @@ -652,8 +652,10 @@ function writeSeriesRLCnode(node, termination, end_node) result(res) else if (termination%source%source_type == SOURCE_TYPE_CURRENT) then buff = trim(trim("I" // node%name) // "_S " // trim(end_node) // " " //trim(node%name) // "_S dc 0" ) call appendToStringArray(res, buff) - buff = trim(trim("R" // node%name) // "_S " // trim(end_node) // " " //trim(node%name) // "_S " // trim(generator_r) ) - call appendToStringArray(res, buff) + if (termination%source%resistance /= 1.0e22_rkind) then + buff = trim(trim("R" // node%name) // "_S " // trim(end_node) // " " //trim(node%name) // "_S " // trim(generator_r) ) + call appendToStringArray(res, buff) + end if end if else buff = trim(trim("R" // node%name) // " " // trim(node%name) // " " // end_node // trim(termination_r)) @@ -699,8 +701,10 @@ function writeNetwork_circuitNode(node, termination, end_node) result(res) else if (termination%source%source_type == SOURCE_TYPE_CURRENT) then buff = trim("I" // node%name // "_S " // trim(end_node) // " " // node%name // "_S dc 0" ) call appendToStringArray(res, buff) - buff = trim("R" // node%name // "_S " // trim(end_node) // " " // node%name // "_S " // trim(generator_r)) - call appendToStringArray(res, buff) + if (termination%source%resistance /= 1.0e22_rkind) then + buff = trim("R" // node%name // "_S " // trim(end_node) // " " // node%name // "_S " // trim(generator_r)) + call appendToStringArray(res, buff) + end if end if else buff = trim("R" // node%name // " " // node%name // " " // trim(end_node))//" "//trim(short_R) @@ -747,8 +751,10 @@ function writeModelNode(node, termination, end_node) result(res) else if (termination%source%source_type == SOURCE_TYPE_CURRENT) then buff = trim("I" // node%name // "_S " // node%name // "_S " // node%name // " dc 0" ) call appendToStringArray(res, buff) - buff = trim("R" // node%name // "_S " // node%name // "_S " // node%name // " " // trim(generator_r) ) - call appendToStringArray(res, buff) + if (termination%source%resistance /= 1.0e22_rkind) then + buff = trim("R" // node%name // "_S " // node%name // "_S " // node%name // " " // trim(generator_r) ) + call appendToStringArray(res, buff) + end if end if buff = trim("x" // node%name // " " // node%name // "_S " // end_node //" ")//" "//trim(model_name) call appendToStringArray(res, buff) @@ -798,8 +804,10 @@ function writeSeriesRLnode(node, termination, end_node) result(res) else if (termination%source%source_type == SOURCE_TYPE_CURRENT) then buff = trim("I" // node%name // "_S " // end_node // " " //node%name // "_S dc 0" ) call appendToStringArray(res, buff) - buff = trim("R" // node%name // "_S " // end_node // " " //node%name // "_S " // trim(generator_r)) - call appendToStringArray(res, buff) + if (termination%source%resistance /= 1.0e22_rkind) then + buff = trim("R" // node%name // "_S " // end_node // " " //node%name // "_S " // trim(generator_r)) + call appendToStringArray(res, buff) + end if end if else buff = trim("L" // node%name // " " // node%name // "_R " // end_node)//" "//trim(termination_l) @@ -872,8 +880,10 @@ function writeShortNode(node, termination, end_node) result(res) else if (termination%source%source_type == SOURCE_TYPE_CURRENT) then buff = trim("I" // node%name // "_S " // trim(end_node) // " " // node%name // "_S dc 0" ) call appendToStringArray(res, buff) - buff = trim("R" // node%name // "_S " // trim(end_node) // " " // node%name // "_S " //trim(generator_r)) - call appendToStringArray(res, buff) + if (termination%source%resistance /= 1.0e22_rkind) then + buff = trim("R" // node%name // "_S " // trim(end_node) // " " // node%name // "_S " //trim(generator_r)) + call appendToStringArray(res, buff) + end if end if else buff = trim("R" // node%name // " " // node%name // " " // trim(end_node))//" "//trim(short_R) @@ -996,8 +1006,10 @@ function writeXYsZpnode(node, termination, end_node, XYZ) result(res) else if (termination%source%source_type == SOURCE_TYPE_CURRENT) then buff = trim("I" // node%name // "_S " // end_node // " " //node%name // "_S dc 0" ) call appendToStringArray(res, buff) - buff = trim("R" // node%name // "_S " // end_node // " " //node%name // "_S "// trim(generator_r)) - call appendToStringArray(res, buff) + if (termination%source%resistance /= 1.0e22_rkind) then + buff = trim("R" // node%name // "_S " // end_node // " " //node%name // "_S "// trim(generator_r)) + call appendToStringArray(res, buff) + end if end if else buff = trim(XYZ(2:2) // node%name // " " // node%name // "_X " // end_node //" "// termination_y) @@ -1061,8 +1073,10 @@ function writeXsYZpnode(node, termination, end_node, XYZ) result(res) else if (termination%source%source_type == SOURCE_TYPE_CURRENT) then buff = trim("I" // node%name // "_S " //end_node // " "// node%name // "_S dc 0" ) call appendToStringArray(res, buff) - buff = trim("R" // node%name // "_S " //end_node // " "// node%name // "_S " // trim(generator_r)) - call appendToStringArray(res, buff) + if (termination%source%resistance /= 1.0e22_rkind) then + buff = trim("R" // node%name // "_S " //end_node // " "// node%name // "_S " // trim(generator_r)) + call appendToStringArray(res, buff) + end if end if else buff = trim(XYZ(2:2) // node%name // " " // node%name // "_p " // end_node //" "// termination_y) diff --git a/test/pyWrapper/test_mtln_standalone.py b/test/pyWrapper/test_mtln_standalone.py index cc79fbc0..a5c61824 100644 --- a/test/pyWrapper/test_mtln_standalone.py +++ b/test/pyWrapper/test_mtln_standalone.py @@ -206,88 +206,4 @@ def test_spice_zener(tmp_path): v_sol_interp = np.interp(t_exp, t_sol, v_sol) assert np.corrcoef(v_exp, v_sol_interp)[0,1] > 0.999 -@no_mtln_skip -@pytest.mark.mtln -def test_mtln_sources(tmp_path): - fn = CASES_FOLDER + 'sources/sources.fdtd.json' - # terminal voltage source for wires & unshieldedmws : OK - solver = FDTD(input_filename=fn, - path_to_exe=SEMBA_EXE, - run_in_folder=tmp_path, - flags = ["-n", "1"]) - - solver["materials"][0] = createWire(id = 1, r = 0.02) - solver["mesh"]["elements"][3]["coordinateIds"] = [1] - source = { "type" : "generator", - "field" : "voltage", - "elementIds" : [4], - "name" : "terminal_source_v", - "magnitudeFile" : "sources.exc"} - - solver["sources"][0] = source - solver.cleanUp() - solver.run() - assert solver.hasFinishedSuccessfully() - - # solver["materials"][0] = createUnshieldedWire(id = 1, lpul = 6.52188703e-08, cpul = 1.7060247700000001e-10) - # solver.cleanUp() - # solver.run() - # assert solver.hasFinishedSuccessfully() - - # # interior voltage source for wires & unshieldedmws : FAIL - - # solver["mesh"]["elements"][3]["coordinateIds"] = [2] - # solver["materials"][0] = createWire(id = 1, r = 0.02) - # solver.cleanUp() - # solver.run() - # assert (solver.hasFinishedSuccessfully() == False) - - # solver["materials"][0] = createUnshieldedWire(id = 1, lpul = 6.52188703e-08, cpul = 1.7060247700000001e-10) - # solver.cleanUp() - # solver.run() - # assert (solver.hasFinishedSuccessfully() == False) - - # # terminal voltage source for shieldedmws : OK - # fn = CASES_FOLDER + 'sources/sources_shielded.fdtd.json' - # solver = FDTD(input_filename=fn, - # path_to_exe=SEMBA_EXE, - # run_in_folder=tmp_path, - # flags = ["-n", "1"]) - - # solver["materials"][0] = createWire(id = 1, r = 0.02) - # solver["mesh"]["elements"][3]["coordinateIds"] = [1] - # solver["sources"][0]["field"] = "voltage" - # solver["sources"][0]["elemendIds"] = [4] - # solver["sources"][0]["magnitudeFile"] = "source.exc" - # solver.cleanUp() - # solver.run() - # assert solver.hasFinishedSuccessfully() - - # interior voltage source for shieldedmws : OK - - - - # inner voltage source: only for inner conductor of shieldedmws - # solver = FDTD(input_filename=fn, - # path_to_exe=SEMBA_EXE, - # run_in_folder=tmp_path) - # solver["mesh"]["elements"][3]["coordinateIds"] = [2] - - # solver["sources"][0]["field"] = "voltage" - # solver["sources"][0]["elemendIds"] = [1] - # solver["sources"][0]["magnitudeFile"] = "current_source_1A.exc" - # solver.cleanUp() - # solver.run() - # assert solver.hasFinishedSuccessfully() - - # # interior current source - # solver = FDTD(input_filename=fn, - # path_to_exe=SEMBA_EXE, - # run_in_folder=tmp_path) - # solver["sources"][0]["field"] = "current" - # solver["sources"][0]["elemendIds"] = [1] - # solver["sources"][0]["magnitudeFile"] = "voltage_source_1V.exc" - # solver.cleanUp() - # solver.run() - # assert solver.hasFinishedSuccessfully() diff --git a/testData/cases/simple_cabin/simple_cabin.fdtd.json b/testData/cases/simple_cabin/simple_cabin.fdtd.json index 16223ac1..7dec3b30 100644 --- a/testData/cases/simple_cabin/simple_cabin.fdtd.json +++ b/testData/cases/simple_cabin/simple_cabin.fdtd.json @@ -49234,7 +49234,7 @@ 2 ], "field": "current", - "resistance" : 1.0e6 + "resistance" : 1.0e22 } ], "probes": [