From 82394b561a0fc33f296544aac0609890e431aec1 Mon Sep 17 00:00:00 2001 From: Tim Copland Date: Sat, 21 Aug 2021 13:27:45 +1200 Subject: [PATCH 01/17] Create test.txt --- test.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 test.txt diff --git a/test.txt b/test.txt new file mode 100644 index 0000000..9daeafb --- /dev/null +++ b/test.txt @@ -0,0 +1 @@ +test From bcca6407d858e302910f66f3f90cdcecbecf7a9a Mon Sep 17 00:00:00 2001 From: Tim Copland Date: Sat, 21 Aug 2021 13:36:26 +1200 Subject: [PATCH 02/17] Update test.txt --- test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test.txt b/test.txt index 9daeafb..6342660 100644 --- a/test.txt +++ b/test.txt @@ -1 +1 @@ -test +testagain From 6c26911a43cd9979ae27ea00f886a887fa403317 Mon Sep 17 00:00:00 2001 From: timcop Date: Sat, 21 Aug 2021 15:45:27 +1200 Subject: [PATCH 03/17] Split tests into files --- .vscode/settings.json | 2 ++ test/multivort_test.jl | 6 +++++ test/periodic_dipole_test.jl | 8 ++++++ test/point_vortex_test.jl | 17 ++++++++++++ test/runtests.jl | 52 ++++-------------------------------- test/single_vort_acc_test.jl | 19 +++++++++++++ 6 files changed, 57 insertions(+), 47 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 test/multivort_test.jl create mode 100644 test/periodic_dipole_test.jl create mode 100644 test/point_vortex_test.jl create mode 100644 test/single_vort_acc_test.jl diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/test/multivort_test.jl b/test/multivort_test.jl new file mode 100644 index 0000000..4e5a0a8 --- /dev/null +++ b/test/multivort_test.jl @@ -0,0 +1,6 @@ +using VortexDistributions, Test + + +@testset "Multivortex creation and detection" begin + @test found_near(30) +end \ No newline at end of file diff --git a/test/periodic_dipole_test.jl b/test/periodic_dipole_test.jl new file mode 100644 index 0000000..6efa691 --- /dev/null +++ b/test/periodic_dipole_test.jl @@ -0,0 +1,8 @@ +using VortexDistributions, Test + +@testset "Periodic dipole" begin + vp = PointVortex(.1,.3,1) + vn = PointVortex(-.2,.7,-1) + dip = Dipole(vp,vn) + @test typeof(dip) <: VortexGroup +end diff --git a/test/point_vortex_test.jl b/test/point_vortex_test.jl new file mode 100644 index 0000000..da1ab9a --- /dev/null +++ b/test/point_vortex_test.jl @@ -0,0 +1,17 @@ +using VortexDistributions, Test + +@testset "Point vortex " begin + + # unitary + v0 = [.2 .4 1] + w0 = PointVortex(v0) + @test vortex_array(w0) == v0 + + v1 = [.2 .4 1;0.7 1.5 -1;-.3 1.2 1] + w1 = PointVortex(v1) + @test vortex_array(w1) == v1 + + w3 = rand_pointvortex(1000) + v3 = vortex_array(w3) + @test v3 == vortex_array(w3) +end \ No newline at end of file diff --git a/test/runtests.jl b/test/runtests.jl index 3576e3b..4f0df97 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,48 +1,6 @@ -using VortexDistributions -using Test +using VortexDistributions, Test -@testset "Point vortex " begin - - # unitary - v0 = [.2 .4 1] - w0 = PointVortex(v0) - @test vortex_array(w0) == v0 - - v1 = [.2 .4 1;0.7 1.5 -1;-.3 1.2 1] - w1 = PointVortex(v1) - @test vortex_array(w1) == v1 - - w3 = rand_pointvortex(1000) - v3 = vortex_array(w3) - @test v3 == vortex_array(w3) - -end - -@testset "Single vortex accuracy" begin - - # simple test field - Nx = 400; Ny = 400 - Lx = 200; Ly = Lx - x = LinRange(-Lx/2,Lx/2, Nx+1)[1:end-1]; y = LinRange(-Ly/2,Ly/2, Ny+1)[1:end-1]; - psi0 = one.(x*y') |> complex - psi = Torus(copy(psi0),x,y) - xp = 1.133 - yp = 2.787 - vp = PointVortex(xp,yp,1) - sp = ScalarVortex(vp) - vortex!(psi,sp) - vfound = findvortices(psi) - @test isapprox(vfound[1].xv,xp,atol=0.01) - @test isapprox(vfound[1].yv,yp,atol=0.01) -end - -@testset "Multivortex creation and detection" begin - @test found_near(30) -end - -@testset "Periodic dipole" begin - vp = PointVortex(.1,.3,1) - vn = PointVortex(-.2,.7,-1) - dip = Dipole(vp,vn) - @test typeof(dip) <: VortexGroup -end +include("point_vortex_test.jl") +include("single_vort_acc_test.jl") +include("multivort_test.jl") +include("periodic_dipole_test.jl") diff --git a/test/single_vort_acc_test.jl b/test/single_vort_acc_test.jl new file mode 100644 index 0000000..666b1f0 --- /dev/null +++ b/test/single_vort_acc_test.jl @@ -0,0 +1,19 @@ +using VortexDistributions, Test + +@testset "Single vortex accuracy" begin + + # simple test field + Nx = 400; Ny = 400 + Lx = 200; Ly = Lx + x = LinRange(-Lx/2,Lx/2, Nx+1)[1:end-1]; y = LinRange(-Ly/2,Ly/2, Ny+1)[1:end-1]; + psi0 = one.(x*y') |> complex + psi = Torus(copy(psi0),x,y) + xp = 1.133 + yp = 2.787 + vp = PointVortex(xp,yp,1) + sp = ScalarVortex(vp) + vortex!(psi,sp) + vfound = findvortices(psi) + @test isapprox(vfound[1].xv,xp,atol=0.01) + @test isapprox(vfound[1].yv,yp,atol=0.01) +end From b94635c201c5568b07f280b34132452556f78a0e Mon Sep 17 00:00:00 2001 From: timcop Date: Sat, 21 Aug 2021 16:23:44 +1200 Subject: [PATCH 04/17] Some basic creation tests --- test/creations_test.jl | 7 +++++++ test/runtests.jl | 1 + 2 files changed, 8 insertions(+) create mode 100644 test/creations_test.jl diff --git a/test/creations_test.jl b/test/creations_test.jl new file mode 100644 index 0000000..25f7b25 --- /dev/null +++ b/test/creations_test.jl @@ -0,0 +1,7 @@ +using VortexDistributions, Test + +@testset "Creation Functions" begin + @test scalar_ansatz(0) == 0 + @test scalar_ansatz(1) == scalar_ansatz(-1) + @test typeof(Ansatz()) <: Ansatz +end diff --git a/test/runtests.jl b/test/runtests.jl index 4f0df97..fc702d5 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -4,3 +4,4 @@ include("point_vortex_test.jl") include("single_vort_acc_test.jl") include("multivort_test.jl") include("periodic_dipole_test.jl") +include("creations_test.jl") \ No newline at end of file From b1510932aa017c2d60eb52068148a1dee8f39332 Mon Sep 17 00:00:00 2001 From: timcop Date: Sat, 21 Aug 2021 17:47:28 +1200 Subject: [PATCH 05/17] local code cov --- coverage.jl | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 coverage.jl diff --git a/coverage.jl b/coverage.jl new file mode 100644 index 0000000..d02f5c8 --- /dev/null +++ b/coverage.jl @@ -0,0 +1,6 @@ +using Coverage, Pkg +# process '*.cov' files +Pkg.test(; coverage=true) +coverage = process_folder() # defaults to src/; alternatively, supply the folder name as argument +LCOV.writefile("lcov.info", coverage) +clean_folder("src") \ No newline at end of file From cfecbb47f750f5503da9b1b9941b21daa78a3708 Mon Sep 17 00:00:00 2001 From: timcop Date: Sat, 21 Aug 2021 17:47:43 +1200 Subject: [PATCH 06/17] local code cov --- Project.toml | 1 + lcov.info | 603 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 604 insertions(+) create mode 100644 lcov.info diff --git a/Project.toml b/Project.toml index e589c48..ea60ea7 100644 --- a/Project.toml +++ b/Project.toml @@ -4,6 +4,7 @@ authors = ["Ashton Bradley "] version = "0.2.7" [deps] +Coverage = "a2441757-f6aa-5fb2-8edb-039e3f45d037" FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" Interpolations = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" diff --git a/lcov.info b/lcov.info new file mode 100644 index 0000000..cc1b63c --- /dev/null +++ b/lcov.info @@ -0,0 +1,603 @@ +SF:src/VortexDistributions.jl +LH:0 +LF:0 +end_of_record +SF:src/creation.jl +DA:11,6 +DA:34,2 +DA:36,0 +DA:37,0 +DA:38,0 +DA:40,0 +DA:58,62 +DA:59,62 +DA:60,9920000 +DA:61,9920000 +DA:62,9920000 +DA:64,9920000 +DA:88,2 +DA:89,9920000 +DA:90,9920000 +DA:91,9920000 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,60 +DA:113,0 +DA:114,0 +DA:115,60 +DA:124,62 +DA:125,62 +DA:126,124 +DA:127,62 +DA:129,0 +DA:130,0 +DA:133,120 +DA:134,60 +DA:138,60 +DA:139,120 +DA:140,120 +DA:141,60 +DA:142,60 +DA:144,180 +DA:145,60 +DA:146,60 +DA:147,60 +DA:152,0 +DA:153,0 +DA:154,0 +DA:155,0 +DA:157,0 +DA:158,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:166,0 +DA:168,0 +DA:169,0 +DA:173,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:180,0 +DA:181,0 +DA:182,0 +DA:183,0 +DA:184,0 +DA:185,0 +DA:186,0 +DA:187,0 +DA:188,0 +DA:189,0 +DA:205,0 +DA:213,0 +DA:214,0 +DA:215,0 +DA:216,0 +DA:217,0 +DA:218,0 +DA:221,0 +DA:224,0 +DA:225,0 +DA:226,0 +DA:227,0 +DA:229,0 +DA:230,0 +DA:231,0 +DA:232,0 +DA:235,0 +DA:237,0 +DA:239,0 +DA:241,0 +DA:243,0 +DA:245,0 +DA:249,0 +DA:250,0 +DA:253,0 +DA:255,0 +DA:256,0 +DA:257,0 +DA:259,0 +DA:260,0 +DA:295,0 +DA:296,0 +DA:298,0 +DA:300,0 +DA:301,0 +DA:303,0 +DA:305,0 +DA:306,0 +DA:307,0 +DA:308,0 +DA:310,0 +DA:311,0 +DA:312,0 +DA:314,0 +DA:315,0 +DA:317,0 +DA:319,0 +DA:321,0 +DA:322,0 +DA:323,0 +DA:324,0 +DA:327,0 +DA:330,0 +DA:331,0 +DA:332,0 +DA:333,0 +DA:336,0 +DA:337,0 +DA:338,0 +DA:339,0 +LH:29 +LF:130 +end_of_record +SF:src/detection.jl +DA:13,64 +DA:14,124 +DA:15,62 +DA:16,62 +DA:17,62 +DA:20,124 +DA:21,62 +DA:22,62 +DA:23,62 +DA:24,62 +DA:25,62 +DA:26,62 +DA:27,62 +DA:29,62 +DA:30,62 +DA:32,62 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:42,62 +DA:47,186 +DA:48,372 +DA:49,186 +DA:50,186 +DA:51,186 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:61,0 +DA:62,0 +DA:64,0 +DA:65,0 +DA:67,0 +DA:68,0 +DA:76,124 +DA:77,248 +DA:78,124 +DA:79,248 +DA:80,248 +DA:81,248 +DA:82,248 +DA:83,124 +DA:84,124 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:91,124 +DA:100,186 +DA:101,248 +DA:102,124 +DA:103,124 +DA:104,124 +DA:105,124 +DA:108,186 +DA:109,372 +DA:110,372 +DA:113,186 +DA:116,186 +DA:117,744 +DA:118,186 +DA:119,372 +DA:122,186 +DA:123,558 +DA:124,186 +DA:125,558 +DA:127,186 +DA:128,186 +DA:129,744 +DA:132,186 +DA:134,186 +DA:144,0 +DA:161,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:166,0 +DA:169,0 +LH:55 +LF:86 +end_of_record +SF:src/get_dipoles.jl +DA:1,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:12,0 +DA:15,0 +DA:18,0 +DA:21,0 +DA:22,0 +DA:25,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:49,0 +LH:0 +LF:30 +end_of_record +SF:src/grow_minus_clusters.jl +DA:1,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:16,0 +DA:17,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:25,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:35,0 +DA:36,0 +DA:40,0 +DA:41,0 +DA:44,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:52,0 +DA:57,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:65,0 +DA:66,0 +DA:68,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +LH:0 +LF:52 +end_of_record +SF:src/grow_plus_clusters.jl +DA:1,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:17,0 +DA:18,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:28,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:39,0 +DA:40,0 +DA:44,0 +DA:45,0 +DA:48,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:56,0 +DA:61,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:69,0 +DA:70,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +LH:0 +LF:51 +end_of_record +SF:src/pointvortex.jl +DA:8,376 +DA:9,376 +DA:11,60 +DA:12,60 +DA:13,120 +DA:14,60 +DA:16,60 +DA:26,5616 +DA:28,314 +DA:29,314 +DA:33,4120 +DA:34,4120 +DA:37,124 +DA:38,124 +DA:41,0 +DA:42,4 +DA:44,0 +DA:45,62 +DA:57,0 +DA:58,2 +DA:60,0 +DA:61,0 +DA:62,0 +DA:65,60 +DA:66,60 +DA:67,120 +DA:68,120 +DA:69,60 +DA:72,4 +DA:73,0 +DA:74,0 +DA:75,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:83,0 +LH:23 +LF:38 +end_of_record +SF:src/seed_clusters.jl +DA:1,0 +DA:3,0 +DA:6,0 +DA:7,0 +DA:10,0 +DA:13,0 +DA:14,0 +DA:17,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:42,0 +LH:0 +LF:25 +end_of_record +SF:src/types.jl +DA:19,310 +DA:43,3562 +DA:49,2 +DA:55,62 +DA:60,124 +DA:67,2 +DA:74,0 +LH:6 +LF:7 +end_of_record +SF:src/utils.jl +DA:1,1052 +DA:3,372 +DA:4,372 +DA:5,372 +DA:6,372 +DA:7,372 +DA:8,372 +DA:11,2 +DA:12,2 +DA:13,4 +DA:14,60 +DA:15,60 +DA:16,60 +DA:17,60 +DA:18,60 +DA:19,118 +DA:21,2 +DA:29,186 +DA:30,558 +DA:31,186 +DA:32,372 +DA:33,744 +DA:34,1116 +DA:35,1116 +DA:36,744 +DA:37,1302 +DA:39,186 +DA:51,372 +DA:52,372 +DA:53,372 +DA:54,20063200 +DA:56,372 +DA:57,372 +DA:58,28520 +DA:59,28520 +DA:60,57040 +DA:61,10003080 +DA:62,10031414 +DA:67,186 +DA:68,372 +DA:69,56668 +DA:70,10003080 +DA:71,28520 +DA:72,10003080 +DA:73,10003080 +DA:77,372 +DA:80,0 +DA:81,0 +DA:82,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:132,0 +DA:133,0 +DA:134,0 +DA:139,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:153,0 +DA:155,0 +DA:156,0 +DA:157,0 +DA:158,0 +DA:159,0 +DA:160,0 +DA:161,0 +DA:165,0 +DA:167,0 +DA:168,0 +DA:169,0 +DA:170,0 +DA:171,0 +DA:172,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:182,0 +DA:183,0 +DA:184,0 +DA:185,0 +DA:188,0 +DA:191,0 +DA:192,0 +DA:193,0 +DA:194,0 +DA:195,0 +DA:196,0 +DA:197,0 +DA:198,0 +DA:202,0 +DA:203,0 +DA:204,0 +DA:205,0 +DA:208,0 +DA:209,0 +DA:210,0 +DA:213,0 +DA:214,0 +DA:215,0 +DA:223,0 +DA:224,0 +DA:225,0 +DA:226,0 +DA:234,0 +DA:235,0 +DA:237,0 +DA:238,0 +DA:239,0 +DA:240,0 +DA:243,0 +DA:251,0 +DA:252,0 +DA:253,0 +DA:254,0 +DA:255,0 +DA:257,0 +LH:46 +LF:144 +end_of_record From 2478d6afe8eae80f12df3fb6e0953bfb6656a0b2 Mon Sep 17 00:00:00 2001 From: timcop Date: Sat, 21 Aug 2021 18:39:12 +1200 Subject: [PATCH 07/17] Using safetests as well as targets in project.toml --- Project.toml | 7 +++++++ test/Project.toml | 2 -- test/creations_test.jl | 10 +++++----- test/multivort_test.jl | 6 +++--- test/periodic_dipole_test.jl | 12 ++++++------ test/point_vortex_test.jl | 24 ++++++++++++------------ test/runtests.jl | 12 ++++++------ test/single_vort_acc_test.jl | 32 ++++++++++++++++---------------- 8 files changed, 55 insertions(+), 50 deletions(-) delete mode 100644 test/Project.toml diff --git a/Project.toml b/Project.toml index ea60ea7..9d616e3 100644 --- a/Project.toml +++ b/Project.toml @@ -30,3 +30,10 @@ SimpleWeightedGraphs = "1, 1.1" SpecialFunctions = "1" ToeplitzMatrices = "0.7" julia = "1.3" + +[extras] +SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = ["Test", "SafeTestsets"] diff --git a/test/Project.toml b/test/Project.toml deleted file mode 100644 index 0c36332..0000000 --- a/test/Project.toml +++ /dev/null @@ -1,2 +0,0 @@ -[deps] -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" diff --git a/test/creations_test.jl b/test/creations_test.jl index 25f7b25..a838293 100644 --- a/test/creations_test.jl +++ b/test/creations_test.jl @@ -1,7 +1,7 @@ using VortexDistributions, Test -@testset "Creation Functions" begin - @test scalar_ansatz(0) == 0 - @test scalar_ansatz(1) == scalar_ansatz(-1) - @test typeof(Ansatz()) <: Ansatz -end +# @testset "Creation Functions" begin +@test scalar_ansatz(0) == 0 +@test scalar_ansatz(1) == scalar_ansatz(-1) +@test typeof(Ansatz()) <: Ansatz +# end diff --git a/test/multivort_test.jl b/test/multivort_test.jl index 4e5a0a8..86b6c46 100644 --- a/test/multivort_test.jl +++ b/test/multivort_test.jl @@ -1,6 +1,6 @@ using VortexDistributions, Test -@testset "Multivortex creation and detection" begin - @test found_near(30) -end \ No newline at end of file +# @testset "Multivortex creation and detection" begin +@test found_near(30) +# end \ No newline at end of file diff --git a/test/periodic_dipole_test.jl b/test/periodic_dipole_test.jl index 6efa691..ef13389 100644 --- a/test/periodic_dipole_test.jl +++ b/test/periodic_dipole_test.jl @@ -1,8 +1,8 @@ using VortexDistributions, Test -@testset "Periodic dipole" begin - vp = PointVortex(.1,.3,1) - vn = PointVortex(-.2,.7,-1) - dip = Dipole(vp,vn) - @test typeof(dip) <: VortexGroup -end +# @testset "Periodic dipole" begin +vp = PointVortex(.1,.3,1) +vn = PointVortex(-.2,.7,-1) +dip = Dipole(vp,vn) +@test typeof(dip) <: VortexGroup +# end diff --git a/test/point_vortex_test.jl b/test/point_vortex_test.jl index da1ab9a..68e0e58 100644 --- a/test/point_vortex_test.jl +++ b/test/point_vortex_test.jl @@ -1,17 +1,17 @@ using VortexDistributions, Test -@testset "Point vortex " begin +# @testset "Point vortex " begin - # unitary - v0 = [.2 .4 1] - w0 = PointVortex(v0) - @test vortex_array(w0) == v0 +# unitary +v0 = [.2 .4 1] +w0 = PointVortex(v0) +@test vortex_array(w0) == v0 - v1 = [.2 .4 1;0.7 1.5 -1;-.3 1.2 1] - w1 = PointVortex(v1) - @test vortex_array(w1) == v1 +v1 = [.2 .4 1;0.7 1.5 -1;-.3 1.2 1] +w1 = PointVortex(v1) +@test vortex_array(w1) == v1 - w3 = rand_pointvortex(1000) - v3 = vortex_array(w3) - @test v3 == vortex_array(w3) -end \ No newline at end of file +w3 = rand_pointvortex(1000) +v3 = vortex_array(w3) +@test v3 == vortex_array(w3) +# end \ No newline at end of file diff --git a/test/runtests.jl b/test/runtests.jl index fc702d5..dcb0b83 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,7 +1,7 @@ -using VortexDistributions, Test +using VortexDistributions, Test, SafeTestsets -include("point_vortex_test.jl") -include("single_vort_acc_test.jl") -include("multivort_test.jl") -include("periodic_dipole_test.jl") -include("creations_test.jl") \ No newline at end of file +@safetestset "Point Vortex" begin include("point_vortex_test.jl") end +@safetestset "Single Vortex Accuracy" begin include("single_vort_acc_test.jl") end +@safetestset "Multiple Vortices" begin include("multivort_test.jl") end +@safetestset "Periodic Dipole" begin include("periodic_dipole_test.jl") end +@safetestset "Creation functions" begin include("creations_test.jl") end \ No newline at end of file diff --git a/test/single_vort_acc_test.jl b/test/single_vort_acc_test.jl index 666b1f0..eaa116a 100644 --- a/test/single_vort_acc_test.jl +++ b/test/single_vort_acc_test.jl @@ -1,19 +1,19 @@ using VortexDistributions, Test -@testset "Single vortex accuracy" begin +# @testset "Single vortex accuracy" begin - # simple test field - Nx = 400; Ny = 400 - Lx = 200; Ly = Lx - x = LinRange(-Lx/2,Lx/2, Nx+1)[1:end-1]; y = LinRange(-Ly/2,Ly/2, Ny+1)[1:end-1]; - psi0 = one.(x*y') |> complex - psi = Torus(copy(psi0),x,y) - xp = 1.133 - yp = 2.787 - vp = PointVortex(xp,yp,1) - sp = ScalarVortex(vp) - vortex!(psi,sp) - vfound = findvortices(psi) - @test isapprox(vfound[1].xv,xp,atol=0.01) - @test isapprox(vfound[1].yv,yp,atol=0.01) -end +# simple test field +Nx = 400; Ny = 400 +Lx = 200; Ly = Lx +x = LinRange(-Lx/2,Lx/2, Nx+1)[1:end-1]; y = LinRange(-Ly/2,Ly/2, Ny+1)[1:end-1]; +psi0 = one.(x*y') |> complex +psi = Torus(copy(psi0),x,y) +xp = 1.133 +yp = 2.787 +vp = PointVortex(xp,yp,1) +sp = ScalarVortex(vp) +vortex!(psi,sp) +vfound = findvortices(psi) +@test isapprox(vfound[1].xv,xp,atol=0.01) +@test isapprox(vfound[1].yv,yp,atol=0.01) +# end From 7df59c3fc1eda47caf1f27d7aac5f3619c7222f6 Mon Sep 17 00:00:00 2001 From: timcop Date: Sat, 21 Aug 2021 19:24:56 +1200 Subject: [PATCH 08/17] more simple tests --- .gitignore | 1 + lcov.info | 328 ++++++++++++++++++++--------------------- test/creations_test.jl | 7 +- test_shit.jl | 9 ++ 4 files changed, 179 insertions(+), 166 deletions(-) create mode 100644 test_shit.jl diff --git a/.gitignore b/.gitignore index 5470b3b..37add47 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ *.DS_Store docs/build/ Manifest.toml +lcov.info diff --git a/lcov.info b/lcov.info index cc1b63c..aac0c4f 100644 --- a/lcov.info +++ b/lcov.info @@ -3,22 +3,22 @@ LH:0 LF:0 end_of_record SF:src/creation.jl -DA:11,6 -DA:34,2 -DA:36,0 -DA:37,0 -DA:38,0 -DA:40,0 -DA:58,62 -DA:59,62 -DA:60,9920000 -DA:61,9920000 -DA:62,9920000 -DA:64,9920000 -DA:88,2 -DA:89,9920000 -DA:90,9920000 -DA:91,9920000 +DA:11,3 +DA:34,1 +DA:36,102 +DA:37,102 +DA:38,102 +DA:40,1 +DA:58,31 +DA:59,31 +DA:60,4960000 +DA:61,4960000 +DA:62,4960000 +DA:64,4960000 +DA:88,1 +DA:89,4960000 +DA:90,4960000 +DA:91,4960000 DA:93,0 DA:94,0 DA:95,0 @@ -26,27 +26,27 @@ DA:96,0 DA:108,0 DA:109,0 DA:110,0 -DA:111,60 +DA:111,30 DA:113,0 DA:114,0 -DA:115,60 -DA:124,62 -DA:125,62 -DA:126,124 -DA:127,62 +DA:115,30 +DA:124,31 +DA:125,31 +DA:126,62 +DA:127,31 DA:129,0 DA:130,0 -DA:133,120 -DA:134,60 -DA:138,60 -DA:139,120 -DA:140,120 -DA:141,60 -DA:142,60 -DA:144,180 -DA:145,60 -DA:146,60 -DA:147,60 +DA:133,60 +DA:134,30 +DA:138,30 +DA:139,60 +DA:140,60 +DA:141,30 +DA:142,30 +DA:144,90 +DA:145,30 +DA:146,30 +DA:147,30 DA:152,0 DA:153,0 DA:154,0 @@ -133,26 +133,26 @@ DA:336,0 DA:337,0 DA:338,0 DA:339,0 -LH:29 +LH:33 LF:130 end_of_record SF:src/detection.jl -DA:13,64 -DA:14,124 -DA:15,62 -DA:16,62 -DA:17,62 -DA:20,124 -DA:21,62 -DA:22,62 -DA:23,62 -DA:24,62 -DA:25,62 -DA:26,62 -DA:27,62 -DA:29,62 -DA:30,62 -DA:32,62 +DA:13,32 +DA:14,62 +DA:15,31 +DA:16,31 +DA:17,31 +DA:20,62 +DA:21,31 +DA:22,31 +DA:23,31 +DA:24,31 +DA:25,31 +DA:26,31 +DA:27,31 +DA:29,31 +DA:30,31 +DA:32,31 DA:33,0 DA:34,0 DA:35,0 @@ -161,12 +161,12 @@ DA:37,0 DA:38,0 DA:39,0 DA:40,0 -DA:42,62 -DA:47,186 -DA:48,372 -DA:49,186 -DA:50,186 -DA:51,186 +DA:42,31 +DA:47,93 +DA:48,186 +DA:49,93 +DA:50,93 +DA:51,93 DA:54,0 DA:55,0 DA:56,0 @@ -178,43 +178,43 @@ DA:64,0 DA:65,0 DA:67,0 DA:68,0 -DA:76,124 -DA:77,248 -DA:78,124 -DA:79,248 -DA:80,248 -DA:81,248 -DA:82,248 -DA:83,124 -DA:84,124 +DA:76,62 +DA:77,124 +DA:78,62 +DA:79,124 +DA:80,124 +DA:81,124 +DA:82,124 +DA:83,62 +DA:84,62 DA:86,0 DA:87,0 DA:88,0 DA:89,0 -DA:91,124 -DA:100,186 -DA:101,248 -DA:102,124 -DA:103,124 -DA:104,124 -DA:105,124 -DA:108,186 -DA:109,372 -DA:110,372 -DA:113,186 -DA:116,186 -DA:117,744 -DA:118,186 -DA:119,372 -DA:122,186 -DA:123,558 -DA:124,186 -DA:125,558 -DA:127,186 -DA:128,186 -DA:129,744 -DA:132,186 -DA:134,186 +DA:91,62 +DA:100,93 +DA:101,124 +DA:102,62 +DA:103,62 +DA:104,62 +DA:105,62 +DA:108,93 +DA:109,186 +DA:110,186 +DA:113,93 +DA:116,93 +DA:117,372 +DA:118,93 +DA:119,186 +DA:122,93 +DA:123,279 +DA:124,93 +DA:125,279 +DA:127,93 +DA:128,93 +DA:129,372 +DA:132,93 +DA:134,93 DA:144,0 DA:161,0 DA:162,0 @@ -372,35 +372,35 @@ LH:0 LF:51 end_of_record SF:src/pointvortex.jl -DA:8,376 -DA:9,376 -DA:11,60 -DA:12,60 -DA:13,120 -DA:14,60 -DA:16,60 -DA:26,5616 -DA:28,314 -DA:29,314 -DA:33,4120 -DA:34,4120 -DA:37,124 -DA:38,124 +DA:8,188 +DA:9,188 +DA:11,30 +DA:12,30 +DA:13,60 +DA:14,30 +DA:16,30 +DA:26,2808 +DA:28,157 +DA:29,157 +DA:33,2060 +DA:34,2060 +DA:37,62 +DA:38,62 DA:41,0 -DA:42,4 +DA:42,2 DA:44,0 -DA:45,62 +DA:45,31 DA:57,0 -DA:58,2 +DA:58,1 DA:60,0 DA:61,0 DA:62,0 -DA:65,60 -DA:66,60 -DA:67,120 -DA:68,120 -DA:69,60 -DA:72,4 +DA:65,30 +DA:66,30 +DA:67,60 +DA:68,60 +DA:69,30 +DA:72,2 DA:73,0 DA:74,0 DA:75,0 @@ -443,63 +443,63 @@ LH:0 LF:25 end_of_record SF:src/types.jl -DA:19,310 -DA:43,3562 -DA:49,2 -DA:55,62 -DA:60,124 -DA:67,2 +DA:19,155 +DA:43,1781 +DA:49,1 +DA:55,31 +DA:60,62 +DA:67,1 DA:74,0 LH:6 LF:7 end_of_record SF:src/utils.jl -DA:1,1052 -DA:3,372 -DA:4,372 -DA:5,372 -DA:6,372 -DA:7,372 -DA:8,372 -DA:11,2 -DA:12,2 -DA:13,4 -DA:14,60 -DA:15,60 -DA:16,60 -DA:17,60 -DA:18,60 -DA:19,118 -DA:21,2 -DA:29,186 -DA:30,558 -DA:31,186 -DA:32,372 -DA:33,744 -DA:34,1116 -DA:35,1116 -DA:36,744 -DA:37,1302 -DA:39,186 -DA:51,372 -DA:52,372 -DA:53,372 -DA:54,20063200 -DA:56,372 -DA:57,372 -DA:58,28520 -DA:59,28520 -DA:60,57040 -DA:61,10003080 -DA:62,10031414 -DA:67,186 -DA:68,372 -DA:69,56668 -DA:70,10003080 -DA:71,28520 -DA:72,10003080 -DA:73,10003080 -DA:77,372 +DA:1,526 +DA:3,186 +DA:4,186 +DA:5,186 +DA:6,186 +DA:7,186 +DA:8,186 +DA:11,1 +DA:12,1 +DA:13,2 +DA:14,30 +DA:15,30 +DA:16,30 +DA:17,30 +DA:18,30 +DA:19,59 +DA:21,1 +DA:29,93 +DA:30,279 +DA:31,93 +DA:32,186 +DA:33,372 +DA:34,558 +DA:35,558 +DA:36,372 +DA:37,651 +DA:39,93 +DA:51,186 +DA:52,186 +DA:53,186 +DA:54,10031600 +DA:56,186 +DA:57,186 +DA:58,14260 +DA:59,14260 +DA:60,28520 +DA:61,5001540 +DA:62,5015707 +DA:67,93 +DA:68,186 +DA:69,28334 +DA:70,5001540 +DA:71,14260 +DA:72,5001540 +DA:73,5001540 +DA:77,186 DA:80,0 DA:81,0 DA:82,0 diff --git a/test/creations_test.jl b/test/creations_test.jl index a838293..cd1b4e1 100644 --- a/test/creations_test.jl +++ b/test/creations_test.jl @@ -3,5 +3,8 @@ using VortexDistributions, Test # @testset "Creation Functions" begin @test scalar_ansatz(0) == 0 @test scalar_ansatz(1) == scalar_ansatz(-1) -@test typeof(Ansatz()) <: Ansatz -# end +f = Ansatz() +x = LinRange(0, 10, 100) +y = f.(x) +@test length(y) == length(x) +@test f.(3,4) == f(5) diff --git a/test_shit.jl b/test_shit.jl new file mode 100644 index 0000000..9c821c0 --- /dev/null +++ b/test_shit.jl @@ -0,0 +1,9 @@ +using VortexDistributions, Parameters, LinearAlgebra + +foo = Ansatz() +@unpack f, ξ, Λ = foo +x = LinRange(0, 10, 100) +y = f.(x) + +foo.(3,4) +foo(5) From 853561b2c766610b554fd0016d2c8d24797f1144 Mon Sep 17 00:00:00 2001 From: timcop Date: Fri, 27 Aug 2021 15:24:54 +1200 Subject: [PATCH 09/17] New multi_vorts test with more than 1 vort created --- .gitignore | 2 + .vscode/settings.json | 1 + lcov.info | 481 +++++++++++++++++++++------------------- src/utils.jl | 22 ++ test/creations_test.jl | 4 +- test/multivort_test2.jl | 6 + test/runtests.jl | 3 +- test_shit.jl | 4 + 8 files changed, 295 insertions(+), 228 deletions(-) create mode 100644 test/multivort_test2.jl diff --git a/.gitignore b/.gitignore index 37add47..fd4b71a 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ docs/build/ Manifest.toml lcov.info +.vscode/settings.json +.vscode/* diff --git a/.vscode/settings.json b/.vscode/settings.json index 7a73a41..19f3a9b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,2 +1,3 @@ { + "julia.environmentPath": "/Users/TimCopland/Documents/GitHub/VortexDistributions.jl" } \ No newline at end of file diff --git a/lcov.info b/lcov.info index aac0c4f..16cf722 100644 --- a/lcov.info +++ b/lcov.info @@ -3,22 +3,22 @@ LH:0 LF:0 end_of_record SF:src/creation.jl -DA:11,3 -DA:34,1 -DA:36,102 -DA:37,102 -DA:38,102 -DA:40,1 -DA:58,31 -DA:59,31 -DA:60,4960000 -DA:61,4960000 -DA:62,4960000 -DA:64,4960000 -DA:88,1 -DA:89,4960000 -DA:90,4960000 -DA:91,4960000 +DA:11,6 +DA:34,3 +DA:36,306 +DA:37,306 +DA:38,306 +DA:40,3 +DA:58,125 +DA:59,125 +DA:60,64640000 +DA:61,64640000 +DA:62,64640000 +DA:64,64640000 +DA:88,3 +DA:89,64640000 +DA:90,64640000 +DA:91,64640000 DA:93,0 DA:94,0 DA:95,0 @@ -26,27 +26,27 @@ DA:96,0 DA:108,0 DA:109,0 DA:110,0 -DA:111,30 +DA:111,122 DA:113,0 DA:114,0 -DA:115,30 -DA:124,31 -DA:125,31 -DA:126,62 -DA:127,31 +DA:115,122 +DA:124,404 +DA:125,404 +DA:126,808 +DA:127,404 DA:129,0 DA:130,0 -DA:133,60 -DA:134,30 -DA:138,30 -DA:139,60 -DA:140,60 -DA:141,30 -DA:142,30 -DA:144,90 -DA:145,30 -DA:146,30 -DA:147,30 +DA:133,244 +DA:134,680 +DA:138,122 +DA:139,244 +DA:140,244 +DA:141,122 +DA:142,122 +DA:144,366 +DA:145,122 +DA:146,401 +DA:147,122 DA:152,0 DA:153,0 DA:154,0 @@ -137,22 +137,22 @@ LH:33 LF:130 end_of_record SF:src/detection.jl -DA:13,32 -DA:14,62 -DA:15,31 -DA:16,31 -DA:17,31 -DA:20,62 -DA:21,31 -DA:22,31 -DA:23,31 -DA:24,31 -DA:25,31 -DA:26,31 -DA:27,31 -DA:29,31 -DA:30,31 -DA:32,31 +DA:13,128 +DA:14,250 +DA:15,125 +DA:16,125 +DA:17,125 +DA:20,250 +DA:21,404 +DA:22,404 +DA:23,404 +DA:24,404 +DA:25,404 +DA:26,404 +DA:27,404 +DA:29,404 +DA:30,683 +DA:32,125 DA:33,0 DA:34,0 DA:35,0 @@ -161,12 +161,12 @@ DA:37,0 DA:38,0 DA:39,0 DA:40,0 -DA:42,31 -DA:47,93 -DA:48,186 -DA:49,93 -DA:50,93 -DA:51,93 +DA:42,125 +DA:47,933 +DA:48,1866 +DA:49,933 +DA:50,933 +DA:51,933 DA:54,0 DA:55,0 DA:56,0 @@ -178,43 +178,43 @@ DA:64,0 DA:65,0 DA:67,0 DA:68,0 -DA:76,62 -DA:77,124 -DA:78,62 -DA:79,124 -DA:80,124 -DA:81,124 -DA:82,124 -DA:83,62 -DA:84,62 +DA:76,808 +DA:77,1616 +DA:78,808 +DA:79,1616 +DA:80,1616 +DA:81,1616 +DA:82,1616 +DA:83,808 +DA:84,808 DA:86,0 DA:87,0 DA:88,0 DA:89,0 -DA:91,62 -DA:100,93 -DA:101,124 -DA:102,62 -DA:103,62 -DA:104,62 -DA:105,62 -DA:108,93 -DA:109,186 -DA:110,186 -DA:113,93 -DA:116,93 -DA:117,372 -DA:118,93 -DA:119,186 -DA:122,93 -DA:123,279 -DA:124,93 -DA:125,279 -DA:127,93 -DA:128,93 -DA:129,372 -DA:132,93 -DA:134,93 +DA:91,808 +DA:100,1212 +DA:101,1616 +DA:102,808 +DA:103,808 +DA:104,808 +DA:105,808 +DA:108,933 +DA:109,1866 +DA:110,1866 +DA:113,933 +DA:116,933 +DA:117,3732 +DA:118,933 +DA:119,1866 +DA:122,933 +DA:123,2799 +DA:124,933 +DA:125,2799 +DA:127,933 +DA:128,933 +DA:129,3732 +DA:132,933 +DA:134,933 DA:144,0 DA:161,0 DA:162,0 @@ -372,35 +372,35 @@ LH:0 LF:51 end_of_record SF:src/pointvortex.jl -DA:8,188 -DA:9,188 -DA:11,30 -DA:12,30 -DA:13,60 -DA:14,30 -DA:16,30 -DA:26,2808 -DA:28,157 -DA:29,157 -DA:33,2060 -DA:34,2060 -DA:37,62 -DA:38,62 +DA:8,1872 +DA:9,1872 +DA:11,122 +DA:12,122 +DA:13,244 +DA:14,680 +DA:16,122 +DA:26,14826 +DA:28,1189 +DA:29,1189 +DA:33,6802 +DA:34,6802 +DA:37,250 +DA:38,250 DA:41,0 -DA:42,2 +DA:42,6 DA:44,0 -DA:45,31 +DA:45,125 DA:57,0 -DA:58,1 +DA:58,3 DA:60,0 DA:61,0 DA:62,0 -DA:65,30 -DA:66,30 -DA:67,60 -DA:68,60 -DA:69,30 -DA:72,2 +DA:65,122 +DA:66,122 +DA:67,244 +DA:68,244 +DA:69,122 +DA:72,6 DA:73,0 DA:74,0 DA:75,0 @@ -443,161 +443,192 @@ LH:0 LF:25 end_of_record SF:src/types.jl -DA:19,155 -DA:43,1781 -DA:49,1 -DA:55,31 -DA:60,62 -DA:67,1 +DA:19,1741 +DA:43,11434 +DA:49,3 +DA:55,125 +DA:60,808 +DA:67,3 DA:74,0 LH:6 LF:7 end_of_record SF:src/utils.jl -DA:1,526 -DA:3,186 -DA:4,186 -DA:5,186 -DA:6,186 -DA:7,186 -DA:8,186 -DA:11,1 -DA:12,1 -DA:13,2 -DA:14,30 -DA:15,30 -DA:16,30 -DA:17,30 -DA:18,30 -DA:19,59 -DA:21,1 -DA:29,93 -DA:30,279 -DA:31,93 -DA:32,186 -DA:33,372 -DA:34,558 -DA:35,558 -DA:36,372 -DA:37,651 -DA:39,93 -DA:51,186 -DA:52,186 -DA:53,186 -DA:54,10031600 -DA:56,186 -DA:57,186 -DA:58,14260 -DA:59,14260 -DA:60,28520 -DA:61,5001540 -DA:62,5015707 -DA:67,93 -DA:68,186 -DA:69,28334 -DA:70,5001540 -DA:71,14260 -DA:72,5001540 -DA:73,5001540 -DA:77,186 -DA:80,0 -DA:81,0 -DA:82,0 -DA:84,0 -DA:85,0 -DA:86,0 -DA:87,0 -DA:88,0 -DA:89,0 -DA:90,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:101,0 -DA:113,0 -DA:114,0 -DA:115,0 -DA:116,0 +DA:1,5468 +DA:3,1866 +DA:4,1866 +DA:5,1866 +DA:6,1866 +DA:7,1866 +DA:8,1866 +DA:11,3 +DA:12,3 +DA:13,5 +DA:14,62 +DA:15,90 +DA:16,90 +DA:17,90 +DA:18,90 +DA:19,148 +DA:20,59 +DA:21,2 +DA:22,1 +DA:24,2 +DA:25,3 +DA:26,5 +DA:27,4 +DA:28,32 +DA:29,32 +DA:30,32 +DA:31,32 +DA:32,32 +DA:33,2 +DA:34,0 +DA:35,0 +DA:36,30 +DA:37,30 +DA:38,30 +DA:39,60 +DA:40,331 +DA:43,1 +DA:48,210 +DA:49,630 +DA:50,210 +DA:51,1143 +DA:52,3017 +DA:53,1999 +DA:54,2723 +DA:55,4006 +DA:56,6359 +DA:57,4892 +DA:58,3368 +DA:59,5593 +DA:61,723 +DA:70,420 +DA:71,420 +DA:72,420 +DA:73,20744246 +DA:74,1446 +DA:75,1866 +DA:76,20712020 +DA:77,29980 +DA:78,31426 +DA:79,61406 +DA:80,10385680 +DA:81,10415450 +DA:82,88520 +DA:83,10311540 +DA:84,10355077 +DA:86,210 +DA:87,420 +DA:88,59540 +DA:89,10342143 +DA:90,31426 +DA:91,10428494 +DA:92,20652960 +DA:93,44260 +DA:94,10311540 +DA:95,10311540 +DA:96,420 +DA:99,1446 +DA:102,0 +DA:103,0 +DA:104,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:117,0 DA:118,0 DA:119,0 DA:120,0 DA:121,0 DA:122,0 DA:123,0 -DA:124,0 -DA:128,0 -DA:129,0 -DA:130,0 -DA:131,0 -DA:132,0 -DA:133,0 -DA:134,0 -DA:139,0 +DA:135,0 +DA:136,0 +DA:137,0 +DA:138,0 +DA:140,0 +DA:141,0 +DA:142,0 +DA:143,0 +DA:144,0 +DA:145,0 +DA:146,0 DA:150,0 DA:151,0 DA:152,0 DA:153,0 +DA:154,0 DA:155,0 DA:156,0 -DA:157,0 -DA:158,0 -DA:159,0 -DA:160,0 DA:161,0 -DA:165,0 -DA:167,0 -DA:168,0 -DA:169,0 -DA:170,0 -DA:171,0 DA:172,0 +DA:173,0 +DA:174,0 +DA:175,0 +DA:177,0 DA:178,0 DA:179,0 DA:180,0 DA:181,0 DA:182,0 DA:183,0 -DA:184,0 -DA:185,0 -DA:188,0 +DA:187,0 +DA:189,0 +DA:190,0 DA:191,0 DA:192,0 DA:193,0 DA:194,0 -DA:195,0 -DA:196,0 -DA:197,0 -DA:198,0 +DA:200,0 +DA:201,0 DA:202,0 DA:203,0 DA:204,0 DA:205,0 -DA:208,0 -DA:209,0 +DA:206,0 +DA:207,0 DA:210,0 DA:213,0 DA:214,0 DA:215,0 -DA:223,0 +DA:216,0 +DA:217,0 +DA:218,0 +DA:219,0 +DA:220,0 DA:224,0 DA:225,0 DA:226,0 -DA:234,0 +DA:227,0 +DA:230,0 +DA:231,0 +DA:232,0 DA:235,0 +DA:236,0 DA:237,0 -DA:238,0 -DA:239,0 -DA:240,0 -DA:243,0 -DA:251,0 -DA:252,0 -DA:253,0 -DA:254,0 -DA:255,0 +DA:245,0 +DA:246,0 +DA:247,0 +DA:248,0 +DA:256,0 DA:257,0 -LH:46 -LF:144 +DA:259,0 +DA:260,0 +DA:261,0 +DA:262,0 +DA:265,0 +DA:273,0 +DA:274,0 +DA:275,0 +DA:276,0 +DA:277,0 +DA:279,0 +LH:75 +LF:175 end_of_record diff --git a/src/utils.jl b/src/utils.jl index e9c1167..04f3fa5 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -9,6 +9,7 @@ function find_where(A) end function found_near(n) + print("HERE") near = true for j in 1:n psi,vort = rand_vortexfield(1) @@ -21,6 +22,27 @@ function found_near(n) return near end +function found_near(n, nvorts) + near = true + for j in 1:n + psi,vort = rand_vortexfield(nvorts) + vortfound = findvortices(psi) + vfdata = vortex_array(vortfound) + vdata = vortex_array(vort) + if length(vfdata[:, 1]) != nvorts + print(length(vfdata[:, 1])) + return false + end + dx = Δ(psi.x) + sort!(vdata, dims=1) + sort!(vfdata, dims=1) + for i in 1:nvorts + near *= isapprox(vdata[i, :], vfdata[i, :], rtol = dx/4) + end + end + return near +end + """ vortices = remove_vortices_edge(vort::Array{PointVortex,1},x,y,edge=1) diff --git a/test/creations_test.jl b/test/creations_test.jl index cd1b4e1..19ececf 100644 --- a/test/creations_test.jl +++ b/test/creations_test.jl @@ -1,10 +1,10 @@ using VortexDistributions, Test -# @testset "Creation Functions" begin -@test scalar_ansatz(0) == 0 +## Basic unit testing for coverage @test scalar_ansatz(1) == scalar_ansatz(-1) f = Ansatz() x = LinRange(0, 10, 100) y = f.(x) @test length(y) == length(x) @test f.(3,4) == f(5) + diff --git a/test/multivort_test2.jl b/test/multivort_test2.jl new file mode 100644 index 0000000..05156b9 --- /dev/null +++ b/test/multivort_test2.jl @@ -0,0 +1,6 @@ +using VortexDistributions, Test + + +# @testset "Multivortex creation and detection" begin +@test found_near(30, 10) +# end \ No newline at end of file diff --git a/test/runtests.jl b/test/runtests.jl index dcb0b83..ab7a1a1 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -4,4 +4,5 @@ using VortexDistributions, Test, SafeTestsets @safetestset "Single Vortex Accuracy" begin include("single_vort_acc_test.jl") end @safetestset "Multiple Vortices" begin include("multivort_test.jl") end @safetestset "Periodic Dipole" begin include("periodic_dipole_test.jl") end -@safetestset "Creation functions" begin include("creations_test.jl") end \ No newline at end of file +@safetestset "Creation functions" begin include("creations_test.jl") end +@safetestset "Multiple Vortices 2" begin include("multivort_test2.jl") end \ No newline at end of file diff --git a/test_shit.jl b/test_shit.jl index 9c821c0..08630ee 100644 --- a/test_shit.jl +++ b/test_shit.jl @@ -7,3 +7,7 @@ y = f.(x) foo.(3,4) foo(5) + +using VortexDistributions +vorts = found_near(30, 10) + From b572fe34a85db11ecc3225d3f2980b0f9769a31e Mon Sep 17 00:00:00 2001 From: timcop Date: Sun, 29 Aug 2021 14:58:34 +1200 Subject: [PATCH 10/17] Some more tests --- .vscode/settings.json | 1 - Project.toml | 1 + lcov.info | 533 ++++++++++++++++++++---------------------- src/utils.jl | 2 - test/phase_jumps.jl | 25 ++ test/runtests.jl | 5 +- test/test_unwrap.jl | 16 +- test/test_unwrap2D.jl | 19 ++ 8 files changed, 315 insertions(+), 287 deletions(-) create mode 100644 test/phase_jumps.jl create mode 100644 test/test_unwrap2D.jl diff --git a/.vscode/settings.json b/.vscode/settings.json index 19f3a9b..7a73a41 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,2 @@ { - "julia.environmentPath": "/Users/TimCopland/Documents/GitHub/VortexDistributions.jl" } \ No newline at end of file diff --git a/Project.toml b/Project.toml index 9d616e3..d9ab491 100644 --- a/Project.toml +++ b/Project.toml @@ -12,6 +12,7 @@ JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819" LightGraphs = "093fc24a-ae57-5d10-9952-331d41423f4d" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a" +Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca" SimpleWeightedGraphs = "47aef6b3-ad0c-573a-a1e2-d07658019622" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" diff --git a/lcov.info b/lcov.info index 16cf722..c9dbb26 100644 --- a/lcov.info +++ b/lcov.info @@ -3,22 +3,22 @@ LH:0 LF:0 end_of_record SF:src/creation.jl -DA:11,6 -DA:34,3 -DA:36,306 -DA:37,306 -DA:38,306 -DA:40,3 -DA:58,125 -DA:59,125 -DA:60,64640000 -DA:61,64640000 -DA:62,64640000 -DA:64,64640000 -DA:88,3 -DA:89,64640000 -DA:90,64640000 -DA:91,64640000 +DA:11,2 +DA:34,1 +DA:36,102 +DA:37,102 +DA:38,102 +DA:40,1 +DA:58,62 +DA:59,62 +DA:60,53120000 +DA:61,53120000 +DA:62,53120000 +DA:64,53120000 +DA:88,2 +DA:89,53120000 +DA:90,53120000 +DA:91,53120000 DA:93,0 DA:94,0 DA:95,0 @@ -26,27 +26,27 @@ DA:96,0 DA:108,0 DA:109,0 DA:110,0 -DA:111,122 +DA:111,60 DA:113,0 DA:114,0 -DA:115,122 -DA:124,404 -DA:125,404 -DA:126,808 -DA:127,404 +DA:115,60 +DA:124,332 +DA:125,332 +DA:126,664 +DA:127,332 DA:129,0 DA:130,0 -DA:133,244 -DA:134,680 -DA:138,122 -DA:139,244 -DA:140,244 -DA:141,122 -DA:142,122 -DA:144,366 -DA:145,122 -DA:146,401 -DA:147,122 +DA:133,120 +DA:134,600 +DA:138,60 +DA:139,120 +DA:140,120 +DA:141,60 +DA:142,60 +DA:144,180 +DA:145,60 +DA:146,330 +DA:147,60 DA:152,0 DA:153,0 DA:154,0 @@ -137,22 +137,22 @@ LH:33 LF:130 end_of_record SF:src/detection.jl -DA:13,128 -DA:14,250 -DA:15,125 -DA:16,125 -DA:17,125 -DA:20,250 -DA:21,404 -DA:22,404 -DA:23,404 -DA:24,404 -DA:25,404 -DA:26,404 -DA:27,404 -DA:29,404 -DA:30,683 -DA:32,125 +DA:13,62 +DA:14,122 +DA:15,61 +DA:16,61 +DA:17,61 +DA:20,122 +DA:21,331 +DA:22,331 +DA:23,331 +DA:24,331 +DA:25,331 +DA:26,331 +DA:27,331 +DA:29,331 +DA:30,601 +DA:32,61 DA:33,0 DA:34,0 DA:35,0 @@ -161,12 +161,12 @@ DA:37,0 DA:38,0 DA:39,0 DA:40,0 -DA:42,125 -DA:47,933 -DA:48,1866 -DA:49,933 -DA:50,933 -DA:51,933 +DA:42,61 +DA:47,723 +DA:48,1446 +DA:49,723 +DA:50,723 +DA:51,723 DA:54,0 DA:55,0 DA:56,0 @@ -178,43 +178,43 @@ DA:64,0 DA:65,0 DA:67,0 DA:68,0 -DA:76,808 -DA:77,1616 -DA:78,808 -DA:79,1616 -DA:80,1616 -DA:81,1616 -DA:82,1616 -DA:83,808 -DA:84,808 +DA:76,662 +DA:77,1324 +DA:78,662 +DA:79,1324 +DA:80,1324 +DA:81,1324 +DA:82,1324 +DA:83,662 +DA:84,662 DA:86,0 DA:87,0 DA:88,0 DA:89,0 -DA:91,808 -DA:100,1212 -DA:101,1616 -DA:102,808 -DA:103,808 -DA:104,808 -DA:105,808 -DA:108,933 -DA:109,1866 -DA:110,1866 -DA:113,933 -DA:116,933 -DA:117,3732 -DA:118,933 -DA:119,1866 -DA:122,933 -DA:123,2799 -DA:124,933 -DA:125,2799 -DA:127,933 -DA:128,933 -DA:129,3732 -DA:132,933 -DA:134,933 +DA:91,662 +DA:100,993 +DA:101,1324 +DA:102,662 +DA:103,662 +DA:104,662 +DA:105,662 +DA:108,723 +DA:109,1446 +DA:110,1446 +DA:113,723 +DA:116,723 +DA:117,2892 +DA:118,723 +DA:119,1446 +DA:122,723 +DA:123,2169 +DA:124,723 +DA:125,2169 +DA:127,723 +DA:128,723 +DA:129,2892 +DA:132,723 +DA:134,723 DA:144,0 DA:161,0 DA:162,0 @@ -372,35 +372,35 @@ LH:0 LF:51 end_of_record SF:src/pointvortex.jl -DA:8,1872 -DA:9,1872 -DA:11,122 -DA:12,122 -DA:13,244 -DA:14,680 -DA:16,122 -DA:26,14826 -DA:28,1189 -DA:29,1189 -DA:33,6802 -DA:34,6802 -DA:37,250 -DA:38,250 +DA:8,1448 +DA:9,1448 +DA:11,60 +DA:12,60 +DA:13,120 +DA:14,600 +DA:16,60 +DA:26,8988 +DA:28,847 +DA:29,847 +DA:33,2660 +DA:34,2660 +DA:37,122 +DA:38,122 DA:41,0 -DA:42,6 +DA:42,2 DA:44,0 -DA:45,125 +DA:45,61 DA:57,0 -DA:58,3 +DA:58,1 DA:60,0 DA:61,0 DA:62,0 -DA:65,122 -DA:66,122 -DA:67,244 -DA:68,244 -DA:69,122 -DA:72,6 +DA:65,60 +DA:66,60 +DA:67,120 +DA:68,120 +DA:69,60 +DA:72,2 DA:73,0 DA:74,0 DA:75,0 @@ -443,192 +443,177 @@ LH:0 LF:25 end_of_record SF:src/types.jl -DA:19,1741 -DA:43,11434 -DA:49,3 -DA:55,125 -DA:60,808 -DA:67,3 +DA:19,1386 +DA:43,7662 +DA:49,1 +DA:55,62 +DA:60,664 +DA:67,1 DA:74,0 LH:6 LF:7 end_of_record SF:src/utils.jl -DA:1,5468 -DA:3,1866 -DA:4,1866 -DA:5,1866 -DA:6,1866 -DA:7,1866 -DA:8,1866 -DA:11,3 -DA:12,3 -DA:13,5 -DA:14,62 -DA:15,90 -DA:16,90 -DA:17,90 -DA:18,90 -DA:19,148 -DA:20,59 -DA:21,2 -DA:22,1 -DA:24,2 -DA:25,3 -DA:26,5 -DA:27,4 -DA:28,32 -DA:29,32 -DA:30,32 -DA:31,32 -DA:32,32 -DA:33,2 -DA:34,0 -DA:35,0 +DA:1,4276 +DA:3,1446 +DA:4,1446 +DA:5,1446 +DA:6,1446 +DA:7,1446 +DA:8,1446 +DA:11,1 +DA:12,1 +DA:13,2 +DA:14,30 +DA:15,30 +DA:16,30 +DA:17,30 +DA:18,30 +DA:19,59 +DA:21,1 +DA:24,1 +DA:25,1 +DA:26,2 +DA:27,30 +DA:28,30 +DA:29,30 +DA:30,30 +DA:31,30 +DA:32,0 +DA:33,0 +DA:35,30 DA:36,30 DA:37,30 -DA:38,30 -DA:39,60 -DA:40,331 -DA:43,1 -DA:48,210 -DA:49,630 -DA:50,210 -DA:51,1143 -DA:52,3017 -DA:53,1999 -DA:54,2723 -DA:55,4006 -DA:56,6359 -DA:57,4892 -DA:58,3368 -DA:59,5593 -DA:61,723 -DA:70,420 -DA:71,420 -DA:72,420 -DA:73,20744246 -DA:74,1446 -DA:75,1866 -DA:76,20712020 -DA:77,29980 -DA:78,31426 -DA:79,61406 -DA:80,10385680 -DA:81,10415450 -DA:82,88520 -DA:83,10311540 -DA:84,10355077 -DA:86,210 -DA:87,420 -DA:88,59540 -DA:89,10342143 -DA:90,31426 -DA:91,10428494 -DA:92,20652960 -DA:93,44260 -DA:94,10311540 -DA:95,10311540 -DA:96,420 -DA:99,1446 -DA:102,0 -DA:103,0 -DA:104,0 -DA:106,0 -DA:107,0 -DA:108,0 -DA:109,0 -DA:110,0 -DA:111,0 -DA:112,0 -DA:117,0 -DA:118,0 -DA:119,0 -DA:120,0 -DA:121,0 -DA:122,0 -DA:123,0 -DA:135,0 -DA:136,0 -DA:137,0 -DA:138,0 -DA:140,0 -DA:141,0 -DA:142,0 -DA:143,0 -DA:144,0 -DA:145,0 -DA:146,0 -DA:150,0 -DA:151,0 -DA:152,0 -DA:153,0 -DA:154,0 -DA:155,0 -DA:156,0 -DA:161,0 -DA:172,0 -DA:173,0 -DA:174,0 -DA:175,0 -DA:177,0 -DA:178,0 -DA:179,0 -DA:180,0 -DA:181,0 -DA:182,0 -DA:183,0 -DA:187,0 -DA:189,0 -DA:190,0 -DA:191,0 -DA:192,0 -DA:193,0 -DA:194,0 -DA:200,0 -DA:201,0 -DA:202,0 -DA:203,0 -DA:204,0 -DA:205,0 -DA:206,0 -DA:207,0 -DA:210,0 -DA:213,0 -DA:214,0 -DA:215,0 -DA:216,0 -DA:217,0 -DA:218,0 -DA:219,0 -DA:220,0 +DA:38,60 +DA:39,329 +DA:42,1 +DA:50,723 +DA:51,2169 +DA:52,723 +DA:53,1446 +DA:54,3162 +DA:55,4893 +DA:56,4887 +DA:57,3162 +DA:58,5601 +DA:60,723 +DA:72,1448 +DA:73,1448 +DA:74,1448 +DA:75,21031600 +DA:77,1448 +DA:78,1448 +DA:79,44660 +DA:80,44660 +DA:81,89320 +DA:82,10471140 +DA:83,10515076 +DA:88,724 +DA:89,1448 +DA:90,87872 +DA:91,10471140 +DA:92,44660 +DA:93,10471140 +DA:94,10471140 +DA:98,1448 +DA:101,3 +DA:102,3 +DA:103,2 +DA:105,2 +DA:106,2 +DA:107,400 +DA:108,400 +DA:109,800 +DA:110,159600 +DA:111,159600 +DA:116,1 +DA:117,2 +DA:118,798 +DA:119,159600 +DA:120,400 +DA:121,159600 +DA:122,159600 +DA:134,3 +DA:135,3 +DA:136,2 +DA:137,2 +DA:139,2 +DA:140,2 +DA:141,4 +DA:142,4 +DA:143,4 +DA:144,3996 +DA:145,3997 +DA:149,1 +DA:150,2 +DA:151,1998 +DA:152,2000 +DA:153,4 +DA:154,3996 +DA:155,3996 +DA:160,2 +DA:171,3 +DA:172,3 +DA:173,2 +DA:174,4 +DA:176,2 +DA:177,2 +DA:178,4 +DA:179,4 +DA:180,4 +DA:181,3996 +DA:182,3996 +DA:186,1 +DA:188,2 +DA:189,1998 +DA:190,2000 +DA:191,4 +DA:192,3996 +DA:193,3996 +DA:199,1 +DA:200,1 +DA:201,1 +DA:202,2 +DA:203,2 +DA:204,2 +DA:205,1998 +DA:206,2996 +DA:209,1 +DA:212,1 +DA:213,1 +DA:214,1 +DA:215,2 +DA:216,2 +DA:217,2 +DA:218,1998 +DA:219,1998 +DA:223,0 DA:224,0 DA:225,0 DA:226,0 -DA:227,0 +DA:229,0 DA:230,0 DA:231,0 -DA:232,0 +DA:234,0 DA:235,0 DA:236,0 -DA:237,0 +DA:244,0 DA:245,0 DA:246,0 DA:247,0 -DA:248,0 +DA:255,0 DA:256,0 -DA:257,0 +DA:258,0 DA:259,0 DA:260,0 DA:261,0 -DA:262,0 -DA:265,0 +DA:264,0 +DA:272,0 DA:273,0 DA:274,0 DA:275,0 DA:276,0 -DA:277,0 -DA:279,0 -LH:75 -LF:175 +DA:278,0 +LH:131 +LF:160 end_of_record diff --git a/src/utils.jl b/src/utils.jl index 04f3fa5..b1dae6f 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -9,7 +9,6 @@ function find_where(A) end function found_near(n) - print("HERE") near = true for j in 1:n psi,vort = rand_vortexfield(1) @@ -30,7 +29,6 @@ function found_near(n, nvorts) vfdata = vortex_array(vortfound) vdata = vortex_array(vort) if length(vfdata[:, 1]) != nvorts - print(length(vfdata[:, 1])) return false end dx = Δ(psi.x) diff --git a/test/phase_jumps.jl b/test/phase_jumps.jl new file mode 100644 index 0000000..8bc6376 --- /dev/null +++ b/test/phase_jumps.jl @@ -0,0 +1,25 @@ +using VortexDistributions + +# simple test field +Nx = 400; Ny = 400 +Lx = 200; Ly = Lx +x = LinRange(-Lx/2,Lx/2, Nx+1)[1:end-1]; y = LinRange(-Ly/2,Ly/2, Ny+1)[1:end-1]; +psi0 = one.(x*y') |> complex +psi = Torus(copy(psi0),x,y) +xp = 1.133 +yp = 2.787 +vp = PointVortex(xp,yp,1) +sp = ScalarVortex(vp) +vortex!(psi,sp) + +ψ = psi.ψ +phase = angle.(ψ) + +diffx,diffy = phase_jumps(phase, 1),phase_jumps(phase, 2) +a = zero(phase) +b = zero(phase) +phase_jumps!(a, phase) +@test a == diffx +phase_jumps!(b, phase, 2) +@test b == diffy + diff --git a/test/runtests.jl b/test/runtests.jl index ab7a1a1..ac4278e 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -5,4 +5,7 @@ using VortexDistributions, Test, SafeTestsets @safetestset "Multiple Vortices" begin include("multivort_test.jl") end @safetestset "Periodic Dipole" begin include("periodic_dipole_test.jl") end @safetestset "Creation functions" begin include("creations_test.jl") end -@safetestset "Multiple Vortices 2" begin include("multivort_test2.jl") end \ No newline at end of file +@safetestset "Multiple Vortices 2" begin include("multivort_test2.jl") end +@safetestset "Unwrap" begin include("test_unwrap.jl") end +@safetestset "Unwrap2D" begin include("test_unwrap2D.jl") end +@safetestset "Phase Jumps" begin include("phase_jumps.jl") end \ No newline at end of file diff --git a/test/test_unwrap.jl b/test/test_unwrap.jl index f4deb15..d86add4 100644 --- a/test/test_unwrap.jl +++ b/test/test_unwrap.jl @@ -1,9 +1,5 @@ -## -using Plots -# import VortexDistributions:unwrap -using VortexDistributions +using VortexDistributions, Plots -## N=1000 θ = LinRange(0,4*pi,N) psi = exp.(im*θ) + 0.1*(randn(N)+im*randn(N)) @@ -12,7 +8,9 @@ psi = exp.(im*θ) + 0.1*(randn(N)+im*randn(N)) ϕui = similar(ϕu) unwrap!(ϕui,ϕ) -# -plot(ϕ,label="phi",c=:red,alpha=0.4,lw=6) -plot!(ϕu,label="phiu",lw=2,c=:black) -plot!(ϕui,label="phiu",lw=2,c=:green) \ No newline at end of file +@test ϕu == ϕui + + +# plot(ϕ,label="phi",c=:red,alpha=0.4,lw=6) +# plot!(ϕu,label="phiu",lw=2,c=:black) +# plot!(ϕui,label="phiu",lw=2,c=:green) \ No newline at end of file diff --git a/test/test_unwrap2D.jl b/test/test_unwrap2D.jl new file mode 100644 index 0000000..4aa50a8 --- /dev/null +++ b/test/test_unwrap2D.jl @@ -0,0 +1,19 @@ +using VortexDistributions, Plots + +Nx=1000; Ny=1000; +θx = LinRange(0,4*pi,Nx); θy = LinRange(0,4*pi,Ny); +psix = exp.(im*θx) + 0.1*(randn(Nx)+im*randn(Nx)); psiy = exp.(im*θy) + 0.1*(randn(Ny)+im*randn(Ny)); +ϕx = angle.(psix); ϕy = angle.(psiy); +ϕ = [ϕx ϕy] +ϕu = unwrap(ϕ) +ϕui = similar(ϕu) +unwrap!(ϕui,ϕ) +@test ϕui == ϕu + +ϕ = zeros(2, Nx) +ϕ[1, :] .= ϕx +ϕ[2, :] .=ϕy +ϕu = unwrap(ϕ,2) +ϕui = similar(ϕu) +unwrap!(ϕui,ϕ,2) +@test ϕui == ϕu From 55ef2434ffd37a6be55bde82633101d5cdf6ecde Mon Sep 17 00:00:00 2001 From: timcop Date: Sun, 29 Aug 2021 16:47:06 +1200 Subject: [PATCH 11/17] Some basic unit testing --- lcov.info | 415 +++++++++++++++++------------------ test/runtests.jl | 4 +- test/single_vort_acc_test.jl | 21 +- test/vortex_types.jl | 59 +++++ 4 files changed, 285 insertions(+), 214 deletions(-) create mode 100644 test/vortex_types.jl diff --git a/lcov.info b/lcov.info index c9dbb26..7912afa 100644 --- a/lcov.info +++ b/lcov.info @@ -9,33 +9,33 @@ DA:36,102 DA:37,102 DA:38,102 DA:40,1 -DA:58,62 -DA:59,62 -DA:60,53120000 -DA:61,53120000 -DA:62,53120000 -DA:64,53120000 -DA:88,2 -DA:89,53120000 -DA:90,53120000 -DA:91,53120000 -DA:93,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:108,0 -DA:109,0 -DA:110,0 -DA:111,60 -DA:113,0 -DA:114,0 +DA:58,96 +DA:59,89 +DA:60,53280000 +DA:61,53280000 +DA:62,53280000 +DA:64,53280000 +DA:88,26 +DA:89,53280000 +DA:90,53280000 +DA:91,53280000 +DA:93,3 +DA:94,2 +DA:95,2 +DA:96,1 +DA:108,2 +DA:109,2 +DA:110,1 +DA:111,62 +DA:113,1 +DA:114,1 DA:115,60 -DA:124,332 -DA:125,332 -DA:126,664 -DA:127,332 -DA:129,0 -DA:130,0 +DA:124,333 +DA:125,333 +DA:126,666 +DA:127,333 +DA:129,1 +DA:130,1 DA:133,120 DA:134,600 DA:138,60 @@ -133,26 +133,26 @@ DA:336,0 DA:337,0 DA:338,0 DA:339,0 -LH:33 +LH:44 LF:130 end_of_record SF:src/detection.jl -DA:13,62 -DA:14,122 -DA:15,61 -DA:16,61 -DA:17,61 -DA:20,122 -DA:21,331 -DA:22,331 -DA:23,331 -DA:24,331 -DA:25,331 -DA:26,331 -DA:27,331 -DA:29,331 -DA:30,601 -DA:32,61 +DA:13,64 +DA:14,124 +DA:15,62 +DA:16,62 +DA:17,62 +DA:20,124 +DA:21,332 +DA:22,332 +DA:23,332 +DA:24,332 +DA:25,332 +DA:26,332 +DA:27,332 +DA:29,332 +DA:30,602 +DA:32,62 DA:33,0 DA:34,0 DA:35,0 @@ -161,12 +161,12 @@ DA:37,0 DA:38,0 DA:39,0 DA:40,0 -DA:42,61 -DA:47,723 -DA:48,1446 -DA:49,723 -DA:50,723 -DA:51,723 +DA:42,62 +DA:47,726 +DA:48,1452 +DA:49,726 +DA:50,726 +DA:51,726 DA:54,0 DA:55,0 DA:56,0 @@ -178,43 +178,43 @@ DA:64,0 DA:65,0 DA:67,0 DA:68,0 -DA:76,662 -DA:77,1324 -DA:78,662 -DA:79,1324 -DA:80,1324 -DA:81,1324 -DA:82,1324 -DA:83,662 -DA:84,662 +DA:76,664 +DA:77,1328 +DA:78,664 +DA:79,1328 +DA:80,1328 +DA:81,1328 +DA:82,1328 +DA:83,664 +DA:84,664 DA:86,0 DA:87,0 DA:88,0 DA:89,0 -DA:91,662 -DA:100,993 -DA:101,1324 -DA:102,662 -DA:103,662 -DA:104,662 -DA:105,662 -DA:108,723 -DA:109,1446 -DA:110,1446 -DA:113,723 -DA:116,723 -DA:117,2892 -DA:118,723 -DA:119,1446 -DA:122,723 -DA:123,2169 -DA:124,723 -DA:125,2169 -DA:127,723 -DA:128,723 -DA:129,2892 -DA:132,723 -DA:134,723 +DA:91,664 +DA:100,996 +DA:101,1328 +DA:102,664 +DA:103,664 +DA:104,664 +DA:105,664 +DA:108,726 +DA:109,1452 +DA:110,1452 +DA:113,726 +DA:116,726 +DA:117,2904 +DA:118,726 +DA:119,1452 +DA:122,726 +DA:123,2178 +DA:124,726 +DA:125,2178 +DA:127,726 +DA:128,726 +DA:129,2904 +DA:132,726 +DA:134,726 DA:144,0 DA:161,0 DA:162,0 @@ -372,35 +372,35 @@ LH:0 LF:51 end_of_record SF:src/pointvortex.jl -DA:8,1448 -DA:9,1448 +DA:8,1454 +DA:9,1454 DA:11,60 DA:12,60 DA:13,120 DA:14,600 DA:16,60 -DA:26,8988 -DA:28,847 -DA:29,847 -DA:33,2660 -DA:34,2660 -DA:37,122 -DA:38,122 -DA:41,0 -DA:42,2 -DA:44,0 -DA:45,61 -DA:57,0 -DA:58,1 -DA:60,0 -DA:61,0 -DA:62,0 -DA:65,60 -DA:66,60 -DA:67,120 -DA:68,120 -DA:69,60 -DA:72,2 +DA:26,9052 +DA:28,850 +DA:29,850 +DA:33,2746 +DA:34,2746 +DA:37,130 +DA:38,130 +DA:41,4 +DA:42,6 +DA:44,3 +DA:45,65 +DA:57,2 +DA:58,3 +DA:60,1 +DA:61,3 +DA:62,1 +DA:65,62 +DA:66,62 +DA:67,124 +DA:68,124 +DA:69,62 +DA:72,4 DA:73,0 DA:74,0 DA:75,0 @@ -410,7 +410,7 @@ DA:79,0 DA:80,0 DA:81,0 DA:83,0 -LH:23 +LH:29 LF:38 end_of_record SF:src/seed_clusters.jl @@ -443,24 +443,24 @@ LH:0 LF:25 end_of_record SF:src/types.jl -DA:19,1386 -DA:43,7662 +DA:19,1392 +DA:43,7772 DA:49,1 -DA:55,62 -DA:60,664 -DA:67,1 +DA:55,96 +DA:60,768 +DA:67,2 DA:74,0 LH:6 LF:7 end_of_record SF:src/utils.jl -DA:1,4276 -DA:3,1446 -DA:4,1446 -DA:5,1446 -DA:6,1446 -DA:7,1446 -DA:8,1446 +DA:1,4292 +DA:3,1452 +DA:4,1452 +DA:5,1452 +DA:6,1452 +DA:7,1452 +DA:8,1452 DA:11,1 DA:12,1 DA:13,2 @@ -480,140 +480,139 @@ DA:29,30 DA:30,30 DA:31,30 DA:32,0 -DA:33,0 +DA:34,30 DA:35,30 DA:36,30 -DA:37,30 -DA:38,60 -DA:39,329 -DA:42,1 -DA:50,723 -DA:51,2169 -DA:52,723 -DA:53,1446 -DA:54,3162 -DA:55,4893 -DA:56,4887 -DA:57,3162 -DA:58,5601 -DA:60,723 -DA:72,1448 -DA:73,1448 -DA:74,1448 -DA:75,21031600 -DA:77,1448 -DA:78,1448 -DA:79,44660 -DA:80,44660 -DA:81,89320 -DA:82,10471140 -DA:83,10515076 -DA:88,724 -DA:89,1448 -DA:90,87872 -DA:91,10471140 -DA:92,44660 -DA:93,10471140 -DA:94,10471140 -DA:98,1448 +DA:37,60 +DA:38,329 +DA:41,1 +DA:49,726 +DA:50,2178 +DA:51,726 +DA:52,1452 +DA:53,3194 +DA:54,4937 +DA:55,4937 +DA:56,3194 +DA:57,5662 +DA:59,726 +DA:71,1454 +DA:72,1454 +DA:73,1454 +DA:74,21355200 +DA:76,1454 +DA:77,1454 +DA:78,45120 +DA:79,45120 +DA:80,90240 +DA:81,10632480 +DA:82,10676873 +DA:87,727 +DA:88,1454 +DA:89,88786 +DA:90,10632480 +DA:91,45120 +DA:92,10632480 +DA:93,10632480 +DA:97,1454 +DA:100,3 DA:101,3 -DA:102,3 -DA:103,2 +DA:102,2 +DA:104,2 DA:105,2 -DA:106,2 +DA:106,400 DA:107,400 -DA:108,400 -DA:109,800 +DA:108,800 +DA:109,159600 DA:110,159600 -DA:111,159600 -DA:116,1 -DA:117,2 -DA:118,798 -DA:119,159600 -DA:120,400 +DA:115,1 +DA:116,2 +DA:117,798 +DA:118,159600 +DA:119,400 +DA:120,159600 DA:121,159600 -DA:122,159600 +DA:133,3 DA:134,3 -DA:135,3 +DA:135,2 DA:136,2 -DA:137,2 +DA:138,2 DA:139,2 -DA:140,2 +DA:140,4 DA:141,4 DA:142,4 -DA:143,4 -DA:144,3996 -DA:145,3997 -DA:149,1 -DA:150,2 -DA:151,1998 -DA:152,2000 -DA:153,4 +DA:143,3996 +DA:144,3997 +DA:148,1 +DA:149,2 +DA:150,1998 +DA:151,2000 +DA:152,4 +DA:153,3996 DA:154,3996 -DA:155,3996 -DA:160,2 +DA:159,2 +DA:170,3 DA:171,3 -DA:172,3 -DA:173,2 -DA:174,4 +DA:172,2 +DA:173,4 +DA:175,2 DA:176,2 -DA:177,2 +DA:177,4 DA:178,4 DA:179,4 -DA:180,4 +DA:180,3996 DA:181,3996 -DA:182,3996 -DA:186,1 -DA:188,2 -DA:189,1998 -DA:190,2000 -DA:191,4 +DA:185,1 +DA:187,2 +DA:188,1998 +DA:189,2000 +DA:190,4 +DA:191,3996 DA:192,3996 -DA:193,3996 +DA:198,1 DA:199,1 DA:200,1 -DA:201,1 +DA:201,2 DA:202,2 DA:203,2 -DA:204,2 -DA:205,1998 -DA:206,2996 -DA:209,1 +DA:204,1998 +DA:205,2996 +DA:208,1 +DA:211,1 DA:212,1 DA:213,1 -DA:214,1 +DA:214,2 DA:215,2 DA:216,2 -DA:217,2 +DA:217,1998 DA:218,1998 -DA:219,1998 +DA:222,0 DA:223,0 DA:224,0 DA:225,0 -DA:226,0 +DA:228,0 DA:229,0 DA:230,0 -DA:231,0 +DA:233,0 DA:234,0 DA:235,0 -DA:236,0 +DA:243,0 DA:244,0 DA:245,0 DA:246,0 -DA:247,0 +DA:254,0 DA:255,0 -DA:256,0 +DA:257,0 DA:258,0 DA:259,0 DA:260,0 -DA:261,0 -DA:264,0 +DA:263,0 +DA:271,0 DA:272,0 DA:273,0 DA:274,0 DA:275,0 -DA:276,0 -DA:278,0 +DA:277,0 LH:131 -LF:160 +LF:159 end_of_record diff --git a/test/runtests.jl b/test/runtests.jl index ac4278e..d1ab106 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -8,4 +8,6 @@ using VortexDistributions, Test, SafeTestsets @safetestset "Multiple Vortices 2" begin include("multivort_test2.jl") end @safetestset "Unwrap" begin include("test_unwrap.jl") end @safetestset "Unwrap2D" begin include("test_unwrap2D.jl") end -@safetestset "Phase Jumps" begin include("phase_jumps.jl") end \ No newline at end of file +@safetestset "Phase Jumps" begin include("phase_jumps.jl") end +@safetestset "Periodic Dipole" begin include("periodic_dipole_test.jl") end +@safetestset "Scalar Vortex Arguments" begin include("vortex_types.jl") end \ No newline at end of file diff --git a/test/single_vort_acc_test.jl b/test/single_vort_acc_test.jl index eaa116a..2dba3e2 100644 --- a/test/single_vort_acc_test.jl +++ b/test/single_vort_acc_test.jl @@ -7,13 +7,24 @@ Nx = 400; Ny = 400 Lx = 200; Ly = Lx x = LinRange(-Lx/2,Lx/2, Nx+1)[1:end-1]; y = LinRange(-Ly/2,Ly/2, Ny+1)[1:end-1]; psi0 = one.(x*y') |> complex -psi = Torus(copy(psi0),x,y) + +psi1 = Torus(copy(psi0),x,y) +psi2 = Torus(copy(psi0),x,y) xp = 1.133 yp = 2.787 vp = PointVortex(xp,yp,1) sp = ScalarVortex(vp) -vortex!(psi,sp) -vfound = findvortices(psi) -@test isapprox(vfound[1].xv,xp,atol=0.01) -@test isapprox(vfound[1].yv,yp,atol=0.01) + +vortex!(psi1,sp) +vfound1 = findvortices(psi1) +@test isapprox(vfound1[1].xv,xp,atol=0.01) +@test isapprox(vfound1[1].yv,yp,atol=0.01) + + +vortex!(psi2, vp) +vfound2 = findvortices(psi2) +@test isapprox(vfound2[1].xv,xp,atol=0.01) +@test isapprox(vfound2[1].yv,yp,atol=0.01) + +@test (vfound1[1].xv === vfound2[1].xv && vfound1[1].yv === vfound2[1].yv && vfound1[1].qv === vfound2[1].qv) # end diff --git a/test/vortex_types.jl b/test/vortex_types.jl new file mode 100644 index 0000000..8610462 --- /dev/null +++ b/test/vortex_types.jl @@ -0,0 +1,59 @@ +using VortexDistributions + +# simple test field +Nx = 400; Ny = 400 +Lx = 200; Ly = Lx +x = LinRange(-Lx/2,Lx/2, Nx+1)[1:end-1]; y = LinRange(-Ly/2,Ly/2, Ny+1)[1:end-1]; +psi0 = one.(x*y') |> complex +psi = Torus(copy(psi0),x,y) +xp = 1.133 +yp = 2.787 +vp = PointVortex(xp,yp,1) + +## Test differnt calls to ScalarVortex() +sp = ScalarVortex(vp) +sp1 = ScalarVortex(1.0, vp) +@test sp1[1].core === sp.core +@test sp1[1].vort === sp.vort + +sp2 = ScalarVortex(0.8, vp) +@test !(sp2[1].core===sp.core) +@test sp2[1].vort === sp.vort + + +sp3 = ScalarVortex([1.0, 1.0], [vp]) +@test sp3[1].core === sp3[2].core +@test sp3[1].vort === sp3[2].vort + +sp4 = ScalarVortex([1.0, 0.8], [vp]) +@test !(sp4[1].core === sp4[2].core) +@test (sp4[1].vort === sp4[2].vort) + +sp5 = ScalarVortex([vp]) +@test sp5[1].core === sp1[1].core +@test sp5[1].vort === sp1[1].vort + +rs1 = rand_scalarvortex() +@test typeof(rs1) <: ScalarVortex{Exact} + +rs2 = rand_scalarvortex(10) +@test length(rs2) == 10 +@test typeof(rs2[1]) <: ScalarVortex{Exact} + +rs3 = rand_scalarvortex(10, psi) +@test typeof(rs3) == typeof(rs2) +@test length(rs3) == 10 + +rs4 = rand_scalarvortex(psi) +@test typeof(rs4) <: ScalarVortex{Exact} + +rv1 = rand_vortex() +@test typeof(rv1) <: ScalarVortex{Exact} + +rv2 = rand_vortex(10) +@test length(rv2) == 10 +@test typeof(rv2[1]) <: ScalarVortex{Exact} + +rv3 = rand_scalarvortex(10, psi) +@test typeof(rv3) == typeof(rv2) +@test length(rv3) == 10 From 506a355e572a227acf2f587747ab9069dad5ed88 Mon Sep 17 00:00:00 2001 From: timcop Date: Sun, 29 Aug 2021 18:34:29 +1200 Subject: [PATCH 12/17] Periodic dipole tests --- Project.toml | 1 + lcov.info | 417 ++++++++++++++++++----------------- test/creations_test.jl | 12 +- test/periodic_dipole_test.jl | 54 ++++- 4 files changed, 270 insertions(+), 214 deletions(-) diff --git a/Project.toml b/Project.toml index d9ab491..6e76770 100644 --- a/Project.toml +++ b/Project.toml @@ -18,6 +18,7 @@ SimpleWeightedGraphs = "47aef6b3-ad0c-573a-a1e2-d07658019622" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" ToeplitzMatrices = "c751599d-da0a-543b-9d20-d0a503d91d24" +UnPack = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" [compat] FFTW = "1, 1.4" diff --git a/lcov.info b/lcov.info index 7912afa..670d593 100644 --- a/lcov.info +++ b/lcov.info @@ -3,76 +3,77 @@ LH:0 LF:0 end_of_record SF:src/creation.jl -DA:11,2 -DA:34,1 -DA:36,102 -DA:37,102 -DA:38,102 -DA:40,1 -DA:58,96 -DA:59,89 -DA:60,53280000 -DA:61,53280000 -DA:62,53280000 -DA:64,53280000 -DA:88,26 -DA:89,53280000 -DA:90,53280000 -DA:91,53280000 -DA:93,3 +DA:11,4 +DA:34,2 +DA:36,204 +DA:37,204 +DA:38,204 +DA:40,2 +DA:58,164 +DA:59,153 +DA:60,66080000 +DA:61,66080000 +DA:62,66080000 +DA:64,66080000 +DA:88,30 +DA:89,66080000 +DA:90,66080000 +DA:91,66080000 +DA:93,7 DA:94,2 DA:95,2 -DA:96,1 +DA:96,5 DA:108,2 DA:109,2 DA:110,1 -DA:111,62 +DA:111,122 DA:113,1 DA:114,1 -DA:115,60 -DA:124,333 -DA:125,333 -DA:126,666 -DA:127,333 -DA:129,1 -DA:130,1 -DA:133,120 -DA:134,600 -DA:138,60 -DA:139,120 -DA:140,120 -DA:141,60 -DA:142,60 -DA:144,180 -DA:145,60 -DA:146,330 -DA:147,60 -DA:152,0 -DA:153,0 -DA:154,0 -DA:155,0 -DA:157,0 -DA:158,0 -DA:163,0 -DA:164,0 -DA:165,0 -DA:166,0 -DA:168,0 -DA:169,0 -DA:173,0 -DA:174,0 -DA:175,0 -DA:176,0 -DA:180,0 -DA:181,0 -DA:182,0 -DA:183,0 -DA:184,0 -DA:185,0 -DA:186,0 -DA:187,0 -DA:188,0 -DA:189,0 +DA:115,120 +DA:124,405 +DA:125,405 +DA:126,810 +DA:127,405 +DA:129,3 +DA:130,3 +DA:132,4 +DA:133,248 +DA:134,668 +DA:138,120 +DA:139,240 +DA:140,240 +DA:141,120 +DA:142,120 +DA:144,360 +DA:145,120 +DA:146,390 +DA:147,120 +DA:152,4478402 +DA:153,29440008 +DA:154,14080003 +DA:155,14080003 +DA:157,7040001 +DA:158,7040001 +DA:163,640000 +DA:164,640000 +DA:165,640000 +DA:166,13440000 +DA:168,953600 +DA:169,640000 +DA:173,4 +DA:174,4 +DA:175,4 +DA:176,4 +DA:180,4 +DA:181,4 +DA:182,4 +DA:183,4 +DA:184,8 +DA:185,4 +DA:186,4 +DA:187,8 +DA:188,8 +DA:189,4 DA:205,0 DA:213,0 DA:214,0 @@ -133,40 +134,40 @@ DA:336,0 DA:337,0 DA:338,0 DA:339,0 -LH:44 -LF:130 +LH:71 +LF:131 end_of_record SF:src/detection.jl -DA:13,64 -DA:14,124 -DA:15,62 -DA:16,62 -DA:17,62 -DA:20,124 -DA:21,332 -DA:22,332 -DA:23,332 -DA:24,332 -DA:25,332 -DA:26,332 -DA:27,332 -DA:29,332 -DA:30,602 -DA:32,62 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:42,62 -DA:47,726 -DA:48,1452 -DA:49,726 -DA:50,726 -DA:51,726 +DA:13,148 +DA:14,268 +DA:15,134 +DA:16,134 +DA:17,130 +DA:20,268 +DA:21,412 +DA:22,412 +DA:23,412 +DA:24,412 +DA:25,412 +DA:26,412 +DA:27,412 +DA:29,412 +DA:30,690 +DA:32,134 +DA:33,4 +DA:34,4 +DA:35,4 +DA:36,8 +DA:37,8 +DA:38,8 +DA:39,8 +DA:40,8 +DA:42,134 +DA:47,958 +DA:48,1916 +DA:49,958 +DA:50,958 +DA:51,958 DA:54,0 DA:55,0 DA:56,0 @@ -178,43 +179,43 @@ DA:64,0 DA:65,0 DA:67,0 DA:68,0 -DA:76,664 -DA:77,1328 -DA:78,664 -DA:79,1328 -DA:80,1328 -DA:81,1328 -DA:82,1328 -DA:83,664 -DA:84,664 -DA:86,0 -DA:87,0 -DA:88,0 -DA:89,0 -DA:91,664 -DA:100,996 -DA:101,1328 -DA:102,664 -DA:103,664 -DA:104,664 -DA:105,664 -DA:108,726 -DA:109,1452 -DA:110,1452 -DA:113,726 -DA:116,726 -DA:117,2904 -DA:118,726 -DA:119,1452 -DA:122,726 -DA:123,2178 -DA:124,726 -DA:125,2178 -DA:127,726 -DA:128,726 -DA:129,2904 -DA:132,726 -DA:134,726 +DA:76,824 +DA:77,1648 +DA:78,824 +DA:79,1648 +DA:80,1648 +DA:81,1648 +DA:82,1648 +DA:83,824 +DA:84,816 +DA:86,8 +DA:87,8 +DA:88,8 +DA:89,8 +DA:91,824 +DA:100,1236 +DA:101,1648 +DA:102,824 +DA:103,824 +DA:104,824 +DA:105,824 +DA:108,958 +DA:109,1916 +DA:110,1916 +DA:113,958 +DA:116,958 +DA:117,3832 +DA:118,958 +DA:119,1916 +DA:122,958 +DA:123,2874 +DA:124,958 +DA:125,2874 +DA:127,958 +DA:128,958 +DA:129,3832 +DA:132,958 +DA:134,958 DA:144,0 DA:161,0 DA:162,0 @@ -223,7 +224,7 @@ DA:164,0 DA:165,0 DA:166,0 DA:169,0 -LH:55 +LH:67 LF:86 end_of_record SF:src/get_dipoles.jl @@ -372,35 +373,35 @@ LH:0 LF:51 end_of_record SF:src/pointvortex.jl -DA:8,1454 -DA:9,1454 -DA:11,60 -DA:12,60 -DA:13,120 -DA:14,600 -DA:16,60 -DA:26,9052 -DA:28,850 -DA:29,850 -DA:33,2746 -DA:34,2746 -DA:37,130 -DA:38,130 +DA:8,1922 +DA:9,1922 +DA:11,120 +DA:12,120 +DA:13,240 +DA:14,660 +DA:16,120 +DA:26,15020 +DA:28,1214 +DA:29,1214 +DA:33,6866 +DA:34,6866 +DA:37,254 +DA:38,254 DA:41,4 -DA:42,6 +DA:42,10 DA:44,3 -DA:45,65 +DA:45,127 DA:57,2 -DA:58,3 +DA:58,5 DA:60,1 DA:61,3 DA:62,1 -DA:65,62 -DA:66,62 -DA:67,124 -DA:68,124 -DA:69,62 -DA:72,4 +DA:65,122 +DA:66,122 +DA:67,244 +DA:68,244 +DA:69,122 +DA:72,8 DA:73,0 DA:74,0 DA:75,0 @@ -443,34 +444,34 @@ LH:0 LF:25 end_of_record SF:src/types.jl -DA:19,1392 -DA:43,7772 -DA:49,1 -DA:55,96 -DA:60,768 -DA:67,2 +DA:19,1784 +DA:43,11686 +DA:49,2 +DA:55,164 +DA:60,912 +DA:67,4 DA:74,0 LH:6 LF:7 end_of_record SF:src/utils.jl -DA:1,4292 -DA:3,1452 -DA:4,1452 -DA:5,1452 -DA:6,1452 -DA:7,1452 -DA:8,1452 -DA:11,1 -DA:12,1 -DA:13,2 -DA:14,30 -DA:15,30 -DA:16,30 -DA:17,30 -DA:18,30 -DA:19,59 -DA:21,1 +DA:1,5596 +DA:3,1916 +DA:4,1916 +DA:5,1916 +DA:6,1916 +DA:7,1916 +DA:8,1916 +DA:11,3 +DA:12,3 +DA:13,6 +DA:14,90 +DA:15,90 +DA:16,90 +DA:17,90 +DA:18,90 +DA:19,177 +DA:21,3 DA:24,1 DA:25,1 DA:26,2 @@ -486,35 +487,35 @@ DA:36,30 DA:37,60 DA:38,329 DA:41,1 -DA:49,726 -DA:50,2178 -DA:51,726 -DA:52,1452 -DA:53,3194 -DA:54,4937 -DA:55,4937 -DA:56,3194 -DA:57,5662 -DA:59,726 -DA:71,1454 -DA:72,1454 -DA:73,1454 -DA:74,21355200 -DA:76,1454 -DA:77,1454 -DA:78,45120 -DA:79,45120 -DA:80,90240 -DA:81,10632480 -DA:82,10676873 -DA:87,727 -DA:88,1454 -DA:89,88786 -DA:90,10632480 -DA:91,45120 -DA:92,10632480 -DA:93,10632480 -DA:97,1454 +DA:49,954 +DA:50,2862 +DA:51,954 +DA:52,1908 +DA:53,4102 +DA:54,6303 +DA:55,6306 +DA:56,4102 +DA:57,7250 +DA:59,954 +DA:71,1918 +DA:72,1918 +DA:73,1918 +DA:74,44683200 +DA:76,1918 +DA:77,1918 +DA:78,78720 +DA:79,78720 +DA:80,157440 +DA:81,22262880 +DA:82,22340641 +DA:87,959 +DA:88,1918 +DA:89,155522 +DA:90,22262880 +DA:91,78720 +DA:92,22262880 +DA:93,22262880 +DA:97,1918 DA:100,3 DA:101,3 DA:102,2 diff --git a/test/creations_test.jl b/test/creations_test.jl index 19ececf..7aa8c9e 100644 --- a/test/creations_test.jl +++ b/test/creations_test.jl @@ -1,4 +1,4 @@ -using VortexDistributions, Test +using VortexDistributions ## Basic unit testing for coverage @test scalar_ansatz(1) == scalar_ansatz(-1) @@ -8,3 +8,13 @@ y = f.(x) @test length(y) == length(x) @test f.(3,4) == f(5) +# @test VortexDistributions.H(-1) == 0.0 +# @test VortexDistributions.H(0.1) == 1.0 + +# @test VortexDistributions.shift(1, 1) == 0 +# @test VortexDistributions.shift(2, 1) == 1 + +# @test VortexDistributions.tans(1, 1) == tan((0 - π)*0.5) +# @test VortexDistributions.tanhs(1,1,2) == tanh((0 + 2*π*2)*0.5) + +# VortexDistributions.kernel(1,1,2,2,3,3,4) == atan() \ No newline at end of file diff --git a/test/periodic_dipole_test.jl b/test/periodic_dipole_test.jl index ef13389..4f6d605 100644 --- a/test/periodic_dipole_test.jl +++ b/test/periodic_dipole_test.jl @@ -1,8 +1,52 @@ -using VortexDistributions, Test +using VortexDistributions -# @testset "Periodic dipole" begin -vp = PointVortex(.1,.3,1) -vn = PointVortex(-.2,.7,-1) +# simple test field +Nx = 400; Ny = 400 +Lx = 200; Ly = Lx +x = LinRange(-Lx/2,Lx/2, Nx+1)[1:end-1]; y = LinRange(-Ly/2,Ly/2, Ny+1)[1:end-1]; +psi0 = one.(x*y') |> complex +psi1 = Torus(copy(psi0), x, y) +psi2 = Torus(copy(psi0), x, y) + + +# WEIRD BEHAVIOUR WHEN VORTICES ARE THIS CLOSE TO EACH OTHER, NEED TO INVESTIGATE +# vp = PointVortex(.1,.3,1) +# vn = PointVortex(-.2,.7,-1) + +xp = 1.1; yp = .3; +xn = -2.23; yn = .7; +vp = PointVortex(xp, yp, 1) +vn = PointVortex(xn, yn, -1) dip = Dipole(vp,vn) @test typeof(dip) <: VortexGroup -# end + +sp = ScalarVortex([vp, vn]) +vortex!(psi1, sp) +vfound1 = findvortices(psi1) + +periodic_dipole!(psi2, sp) +vfound2 = findvortices(psi2, periodic=true) + +vpf1 = vfound1[2]; +vnf1 = vfound1[1]; +vpf2 = vfound2[2]; +vnf2 = vfound2[1]; + +dx = Δ(psi1.x) +@test isapprox(vpf1.xv, xp, atol=dx/4) +@test isapprox(vpf1.yv, yp, atol=dx/4) +@test vpf1.qv == 1 + +@test isapprox(vnf1.xv, xn, atol=dx/4) +@test isapprox(vnf1.yv, yn, atol=dx/4) +@test vnf1.qv == -1 + +@test isapprox(vpf2.xv, xp, atol=dx/4) +@test isapprox(vpf2.yv, yp, atol=dx/4) +@test vpf2.qv == 1 + +@test isapprox(vnf2.xv, xn, atol=dx/4) +@test isapprox(vnf2.yv, yn, atol=dx/4) +@test vnf2.qv == -1 + + From 943d2a0696a14fc34024e14c7fdc2f16b6a1af8b Mon Sep 17 00:00:00 2001 From: timcop Date: Sun, 29 Aug 2021 19:22:07 +1200 Subject: [PATCH 13/17] basic gpecore_exact test --- lcov.info | 534 ++++++++++++++++++++--------------------- src/creation.jl | 84 +++---- test/creations_test.jl | 12 +- test_shit.jl | 18 +- 4 files changed, 318 insertions(+), 330 deletions(-) diff --git a/lcov.info b/lcov.info index 670d593..2c449d1 100644 --- a/lcov.info +++ b/lcov.info @@ -3,171 +3,171 @@ LH:0 LF:0 end_of_record SF:src/creation.jl -DA:11,4 -DA:34,2 -DA:36,204 -DA:37,204 -DA:38,204 -DA:40,2 -DA:58,164 -DA:59,153 -DA:60,66080000 -DA:61,66080000 -DA:62,66080000 -DA:64,66080000 -DA:88,30 -DA:89,66080000 -DA:90,66080000 -DA:91,66080000 -DA:93,7 +DA:11,2 +DA:34,1 +DA:36,102 +DA:37,102 +DA:38,102 +DA:40,1 +DA:58,98 +DA:59,89 +DA:60,54560000 +DA:61,54560000 +DA:62,54560000 +DA:64,54560000 +DA:88,26 +DA:89,54560000 +DA:90,54560000 +DA:91,54560000 +DA:93,5 DA:94,2 DA:95,2 -DA:96,5 +DA:96,3 DA:108,2 DA:109,2 DA:110,1 -DA:111,122 +DA:111,62 DA:113,1 DA:114,1 -DA:115,120 -DA:124,405 -DA:125,405 -DA:126,810 -DA:127,405 -DA:129,3 -DA:130,3 -DA:132,4 -DA:133,248 -DA:134,668 -DA:138,120 -DA:139,240 -DA:140,240 -DA:141,120 -DA:142,120 -DA:144,360 -DA:145,120 -DA:146,390 -DA:147,120 -DA:152,4478402 -DA:153,29440008 -DA:154,14080003 -DA:155,14080003 -DA:157,7040001 -DA:158,7040001 -DA:163,640000 -DA:164,640000 -DA:165,640000 -DA:166,13440000 -DA:168,953600 -DA:169,640000 -DA:173,4 -DA:174,4 -DA:175,4 -DA:176,4 -DA:180,4 -DA:181,4 -DA:182,4 -DA:183,4 -DA:184,8 -DA:185,4 -DA:186,4 -DA:187,8 -DA:188,8 -DA:189,4 -DA:205,0 -DA:213,0 -DA:214,0 -DA:215,0 -DA:216,0 -DA:217,0 -DA:218,0 -DA:221,0 -DA:224,0 -DA:225,0 -DA:226,0 -DA:227,0 -DA:229,0 -DA:230,0 -DA:231,0 -DA:232,0 -DA:235,0 -DA:237,0 -DA:239,0 -DA:241,0 -DA:243,0 -DA:245,0 -DA:249,0 -DA:250,0 -DA:253,0 -DA:255,0 -DA:256,0 -DA:257,0 -DA:259,0 -DA:260,0 -DA:295,0 -DA:296,0 -DA:298,0 -DA:300,0 -DA:301,0 -DA:303,0 -DA:305,0 -DA:306,0 -DA:307,0 -DA:308,0 -DA:310,0 -DA:311,0 -DA:312,0 -DA:314,0 -DA:315,0 -DA:317,0 -DA:319,0 -DA:321,0 -DA:322,0 -DA:323,0 -DA:324,0 -DA:327,0 -DA:330,0 -DA:331,0 -DA:332,0 -DA:333,0 -DA:336,0 -DA:337,0 -DA:338,0 -DA:339,0 -LH:71 +DA:115,60 +DA:124,337 +DA:125,337 +DA:126,674 +DA:127,337 +DA:129,1 +DA:130,1 +DA:132,2 +DA:133,124 +DA:134,604 +DA:138,60 +DA:139,120 +DA:140,120 +DA:141,60 +DA:142,60 +DA:144,180 +DA:145,60 +DA:146,330 +DA:147,60 +DA:152,2239200 +DA:153,14720000 +DA:154,7040000 +DA:155,7040000 +DA:157,3520000 +DA:158,3520000 +DA:163,320000 +DA:164,320000 +DA:165,320000 +DA:166,6720000 +DA:168,476800 +DA:169,320000 +DA:173,2 +DA:174,2 +DA:175,2 +DA:176,2 +DA:180,2 +DA:181,2 +DA:182,2 +DA:183,2 +DA:184,4 +DA:185,2 +DA:186,2 +DA:187,4 +DA:188,4 +DA:189,2 +DA:205,2 +DA:213,2 +DA:214,1 +DA:215,1 +DA:216,2 +DA:217,2 +DA:218,2 +DA:221,2 +DA:224,2 +DA:225,1 +DA:226,1 +DA:227,1 +DA:229,2 +DA:230,1 +DA:231,2 +DA:232,2 +DA:235,2 +DA:237,2 +DA:239,36 +DA:241,34 +DA:243,34 +DA:245,34 +DA:249,17 +DA:250,17 +DA:253,17 +DA:255,17 +DA:256,17 +DA:257,17 +DA:259,1 +DA:260,1 +DA:295,2 +DA:296,2 +DA:298,2 +DA:300,2 +DA:301,2 +DA:303,4 +DA:305,2 +DA:306,4 +DA:307,2 +DA:308,4 +DA:310,4 +DA:311,2 +DA:312,2 +DA:313,2 +DA:314,2 +DA:316,4 +DA:317,4 +DA:319,2 +DA:321,30000 +DA:323,4 +DA:324,6 +DA:325,300 +DA:326,4 +DA:329,2 +DA:333,1 +DA:334,1 +DA:335,1 +DA:339,1 +DA:340,1 +DA:341,1 +LH:131 LF:131 end_of_record SF:src/detection.jl -DA:13,148 -DA:14,268 -DA:15,134 -DA:16,134 -DA:17,130 -DA:20,268 -DA:21,412 -DA:22,412 -DA:23,412 -DA:24,412 -DA:25,412 -DA:26,412 -DA:27,412 -DA:29,412 -DA:30,690 -DA:32,134 -DA:33,4 -DA:34,4 -DA:35,4 -DA:36,8 -DA:37,8 -DA:38,8 -DA:39,8 -DA:40,8 -DA:42,134 -DA:47,958 -DA:48,1916 -DA:49,958 -DA:50,958 -DA:51,958 +DA:13,72 +DA:14,132 +DA:15,66 +DA:16,66 +DA:17,64 +DA:20,132 +DA:21,340 +DA:22,340 +DA:23,340 +DA:24,340 +DA:25,340 +DA:26,340 +DA:27,340 +DA:29,340 +DA:30,614 +DA:32,66 +DA:33,2 +DA:34,2 +DA:35,2 +DA:36,4 +DA:37,4 +DA:38,4 +DA:39,4 +DA:40,4 +DA:42,66 +DA:47,746 +DA:48,1492 +DA:49,746 +DA:50,746 +DA:51,746 DA:54,0 DA:55,0 DA:56,0 @@ -179,43 +179,43 @@ DA:64,0 DA:65,0 DA:67,0 DA:68,0 -DA:76,824 -DA:77,1648 -DA:78,824 -DA:79,1648 -DA:80,1648 -DA:81,1648 -DA:82,1648 -DA:83,824 -DA:84,816 -DA:86,8 -DA:87,8 -DA:88,8 -DA:89,8 -DA:91,824 -DA:100,1236 -DA:101,1648 -DA:102,824 -DA:103,824 -DA:104,824 -DA:105,824 -DA:108,958 -DA:109,1916 -DA:110,1916 -DA:113,958 -DA:116,958 -DA:117,3832 -DA:118,958 -DA:119,1916 -DA:122,958 -DA:123,2874 -DA:124,958 -DA:125,2874 -DA:127,958 -DA:128,958 -DA:129,3832 -DA:132,958 -DA:134,958 +DA:76,680 +DA:77,1360 +DA:78,680 +DA:79,1360 +DA:80,1360 +DA:81,1360 +DA:82,1360 +DA:83,680 +DA:84,676 +DA:86,4 +DA:87,4 +DA:88,4 +DA:89,4 +DA:91,680 +DA:100,1020 +DA:101,1360 +DA:102,680 +DA:103,680 +DA:104,680 +DA:105,680 +DA:108,746 +DA:109,1492 +DA:110,1492 +DA:113,746 +DA:116,746 +DA:117,2984 +DA:118,746 +DA:119,1492 +DA:122,746 +DA:123,2238 +DA:124,746 +DA:125,2238 +DA:127,746 +DA:128,746 +DA:129,2984 +DA:132,746 +DA:134,746 DA:144,0 DA:161,0 DA:162,0 @@ -373,35 +373,35 @@ LH:0 LF:51 end_of_record SF:src/pointvortex.jl -DA:8,1922 -DA:9,1922 -DA:11,120 -DA:12,120 -DA:13,240 -DA:14,660 -DA:16,120 -DA:26,15020 -DA:28,1214 -DA:29,1214 -DA:33,6866 -DA:34,6866 -DA:37,254 -DA:38,254 +DA:8,1494 +DA:9,1494 +DA:11,60 +DA:12,60 +DA:13,120 +DA:14,600 +DA:16,60 +DA:26,9168 +DA:28,872 +DA:29,872 +DA:33,2746 +DA:34,2746 +DA:37,130 +DA:38,130 DA:41,4 -DA:42,10 +DA:42,6 DA:44,3 -DA:45,127 +DA:45,65 DA:57,2 -DA:58,5 +DA:58,3 DA:60,1 DA:61,3 DA:62,1 -DA:65,122 -DA:66,122 -DA:67,244 -DA:68,244 -DA:69,122 -DA:72,8 +DA:65,62 +DA:66,62 +DA:67,124 +DA:68,124 +DA:69,62 +DA:72,4 DA:73,0 DA:74,0 DA:75,0 @@ -444,34 +444,34 @@ LH:0 LF:25 end_of_record SF:src/types.jl -DA:19,1784 -DA:43,11686 -DA:49,2 -DA:55,164 -DA:60,912 -DA:67,4 +DA:19,1428 +DA:43,7888 +DA:49,1 +DA:55,98 +DA:60,776 +DA:67,2 DA:74,0 LH:6 LF:7 end_of_record SF:src/utils.jl -DA:1,5596 -DA:3,1916 -DA:4,1916 -DA:5,1916 -DA:6,1916 -DA:7,1916 -DA:8,1916 -DA:11,3 -DA:12,3 -DA:13,6 -DA:14,90 -DA:15,90 -DA:16,90 -DA:17,90 -DA:18,90 -DA:19,177 -DA:21,3 +DA:1,4402 +DA:3,1492 +DA:4,1492 +DA:5,1492 +DA:6,1492 +DA:7,1492 +DA:8,1492 +DA:11,1 +DA:12,1 +DA:13,2 +DA:14,30 +DA:15,30 +DA:16,30 +DA:17,30 +DA:18,30 +DA:19,59 +DA:21,1 DA:24,1 DA:25,1 DA:26,2 @@ -487,35 +487,35 @@ DA:36,30 DA:37,60 DA:38,329 DA:41,1 -DA:49,954 -DA:50,2862 -DA:51,954 -DA:52,1908 -DA:53,4102 -DA:54,6303 -DA:55,6306 -DA:56,4102 -DA:57,7250 -DA:59,954 -DA:71,1918 -DA:72,1918 -DA:73,1918 -DA:74,44683200 -DA:76,1918 -DA:77,1918 -DA:78,78720 -DA:79,78720 -DA:80,157440 -DA:81,22262880 -DA:82,22340641 -DA:87,959 -DA:88,1918 -DA:89,155522 -DA:90,22262880 -DA:91,78720 -DA:92,22262880 -DA:93,22262880 -DA:97,1918 +DA:49,744 +DA:50,2232 +DA:51,744 +DA:52,1488 +DA:53,3246 +DA:54,5019 +DA:55,5024 +DA:56,3246 +DA:57,5748 +DA:59,744 +DA:71,1494 +DA:72,1494 +DA:73,1494 +DA:74,22664000 +DA:76,1494 +DA:77,1494 +DA:78,47200 +DA:79,47200 +DA:80,94400 +DA:81,11284800 +DA:82,11331253 +DA:87,747 +DA:88,1494 +DA:89,92906 +DA:90,11284800 +DA:91,47200 +DA:92,11284800 +DA:93,11284800 +DA:97,1494 DA:100,3 DA:101,3 DA:102,2 diff --git a/src/creation.jl b/src/creation.jl index 0da5afe..68c8682 100644 --- a/src/creation.jl +++ b/src/creation.jl @@ -209,53 +209,53 @@ function gpecore_exact(K,L=2,N=100,R = K) #Κ = 1 #R = 2 # Stretching coordinate. R ~ kappa seems to be a good ballpark -# Convert Chebyshev grid to [0,L] from [1 -1]; -z,Dz = getChebDMatrix(N) -blank,D2z = getChebD2Matrix(N) -z = vec(reverse(z,dims=2)) -z = (z)*L./2 -Dz = -2*Dz./L -D2z = 4*D2z./L.^2 - -# y is the physical coordinate, range [0 infinity] (i.e y = r) -y = @. R*(1+z)/(1-z) - -#initial guess based on ansatz -ψ = @. y/hypot(1/Λ,y) -ψ[1] = 0 -ψ[end] = 1 -ψ0 = vec(ψ) - -Q = vec(z.^2 .- 2*z .+ 1) -Qmat = repeat(Q,1,N) -Zmat = repeat(2*(z .-1),1,N) -Ymat = repeat(1 ./y,1,N); - -# Second Derivative -residuals = -0.5*( (Q.*(D2z*ψ) + 2*(z .-1).*(Dz*ψ) ).*Q/(4*R^2) - + (Q/(2*R) ./y).*(Dz*ψ) )+ 0.5*K^2 *ψ ./y.^2 + ψ.^3 .- ψ -residuals[1] = 0; residuals[end] =0 - -while sum(abs.(residuals).^2) > 1e-12 + # Convert Chebyshev grid to [0,L] from [1 -1]; + z,Dz = getChebDMatrix(N) + blank,D2z = getChebD2Matrix(N) + z = vec(reverse(z,dims=2)) + z = (z)*L./2 + Dz = -2*Dz./L + D2z = 4*D2z./L.^2 + + # y is the physical coordinate, range [0 infinity] (i.e y = r) + y = @. R*(1+z)/(1-z) + + #initial guess based on ansatz + ψ = @. y/hypot(1/Λ,y) + ψ[1] = 0 + ψ[end] = 1 + ψ0 = vec(ψ) + + Q = vec(z.^2 .- 2*z .+ 1) + Qmat = repeat(Q,1,N) + Zmat = repeat(2*(z .-1),1,N) + Ymat = repeat(1 ./y,1,N); + # Second Derivative residuals = -0.5*( (Q.*(D2z*ψ) + 2*(z .-1).*(Dz*ψ) ).*Q/(4*R^2) + (Q/(2*R) ./y).*(Dz*ψ) )+ 0.5*K^2 *ψ ./y.^2 + ψ.^3 .- ψ residuals[1] = 0; residuals[end] =0 - Jacobi = -0.5*( (Qmat.*(D2z) + Zmat.*(Dz) ).*(Qmat/(4*R^2)) - + (Qmat/(2*R).*Ymat).*(Dz) ) + diagm(0 => 0.5*K^2 ./y.^2)+ diagm(0 => 3*ψ.^2 .- 1) + while sum(abs.(residuals).^2) > 1e-12 + # Second Derivative + residuals = -0.5*( (Q.*(D2z*ψ) + 2*(z .-1).*(Dz*ψ) ).*Q/(4*R^2) + + (Q/(2*R) ./y).*(Dz*ψ) )+ 0.5*K^2 *ψ ./y.^2 + ψ.^3 .- ψ + residuals[1] = 0; residuals[end] =0 + Jacobi = -0.5*( (Qmat.*(D2z) + Zmat.*(Dz) ).*(Qmat/(4*R^2)) + + (Qmat/(2*R).*Ymat).*(Dz) ) + diagm(0 => 0.5*K^2 ./y.^2)+ diagm(0 => 3*ψ.^2 .- 1) - Jacobi[1,:] = [1 zeros(1,N-1)] - Jacobi[N,:] = [zeros(1,N-1) 1] + Jacobi[1,:] = [1 zeros(1,N-1)] + Jacobi[N,:] = [zeros(1,N-1) 1] - Δ = vec(-4/7*(Jacobi\residuals)) - ψ = ψ + Δ - ψ[1] = 0 - ψ[end] =1 -end + Δ = vec(-4/7*(Jacobi\residuals)) + + ψ = ψ + Δ + ψ[1] = 0 + ψ[end] =1 + end res = norm(residuals)^2 return y,ψ,res end @@ -297,7 +297,7 @@ function chebdif(N, M) n1,n2 = (floor(N/2)|> Int,ceil(N/2)|> Int) # Indices used for flipping trick. - k = collect(0:N-1)' # Compute theta vector. + k = collect(0.0:N-1)' # Compute theta vector. th = k*π/(N-1) x = sin.(π*collect(N-1:-2:1-N)'./(2*(N-1))) # Compute Chebyshev points. @@ -308,8 +308,10 @@ function chebdif(N, M) DX[diagind(DX)] .= 1 # Put 1's on the main diagonal of DX. C = Matrix(Toeplitz((-1).^k',(-1).^k')) # C is the matrix with - C[1,:] = C[1,:]*2; C[N,:] = C[N,:]*2 # entries c(k)/c(j) - C[:,1] = C[:,1]/2; C[:,N] = C[:,N]/2 + C[1,:] = C[1,:]*2; + C[N,:] = C[N,:]*2 # entries c(k)/c(j) + C[:,1] = C[:,1]/2; + C[:,N] = C[:,N]/2; Z = 1 ./DX # Z contains entries 1/(x(k)-x(j)) Z[diagind(Z)] .= 0 # with zeros on the diagonal. @@ -325,7 +327,7 @@ function chebdif(N, M) end return x, DM - end +end function getChebDMatrix(n) z, M = chebdif(n, 1) diff --git a/test/creations_test.jl b/test/creations_test.jl index 7aa8c9e..aa23e6b 100644 --- a/test/creations_test.jl +++ b/test/creations_test.jl @@ -8,13 +8,5 @@ y = f.(x) @test length(y) == length(x) @test f.(3,4) == f(5) -# @test VortexDistributions.H(-1) == 0.0 -# @test VortexDistributions.H(0.1) == 1.0 - -# @test VortexDistributions.shift(1, 1) == 0 -# @test VortexDistributions.shift(2, 1) == 1 - -# @test VortexDistributions.tans(1, 1) == tan((0 - π)*0.5) -# @test VortexDistributions.tanhs(1,1,2) == tanh((0 + 2*π*2)*0.5) - -# VortexDistributions.kernel(1,1,2,2,3,3,4) == atan() \ No newline at end of file +y, ψ, res = VortexDistributions.gpecore_exact(1,2,100) +@test length(y) == 100 \ No newline at end of file diff --git a/test_shit.jl b/test_shit.jl index 08630ee..6d23db8 100644 --- a/test_shit.jl +++ b/test_shit.jl @@ -1,13 +1,7 @@ -using VortexDistributions, Parameters, LinearAlgebra - -foo = Ansatz() -@unpack f, ξ, Λ = foo -x = LinRange(0, 10, 100) -y = f.(x) - -foo.(3,4) -foo(5) - using VortexDistributions -vorts = found_near(30, 10) - +using ToeplitzMatrices +y, ψ, res = VortexDistributions.gpecore_exact(1,2,100) +y +ψ +res +y, ψ, res = VortexDistributions.gpecore_exact(1) From 90b123e0a6b4aa71c57f3cef1943b2f46c73682c Mon Sep 17 00:00:00 2001 From: timcop Date: Sun, 29 Aug 2021 19:42:34 +1200 Subject: [PATCH 14/17] Found bug in findvortices for ::Sphere --- src/detection.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/detection.jl b/src/detection.jl index d1218be..6d3d708 100644 --- a/src/detection.jl +++ b/src/detection.jl @@ -64,7 +64,7 @@ function findvortices_grid(psi::Sphere;shift=true) w2 = sum(windvals[end,:]) (sign(w2) != 0) && (rawvort = [rawvort; pi 0.0 w2]) - vort = sortslices(vort,dims=1) + vort = sortslices(rawvort,dims=1) return PointVortex(vort) end From 98b68ae2ea748d0d555e933bde18219ce19d9f92 Mon Sep 17 00:00:00 2001 From: timcop Date: Sun, 29 Aug 2021 19:59:55 +1200 Subject: [PATCH 15/17] keep vortices test --- lcov.info | 281 +++++++++++++++++++------------------ test/keep_vortices_test.jl | 23 +++ test/runtests.jl | 4 +- test/single_vort_sphere.jl | 24 ++++ test_shit.jl | 26 +++- 5 files changed, 211 insertions(+), 147 deletions(-) create mode 100644 test/keep_vortices_test.jl create mode 100644 test/single_vort_sphere.jl diff --git a/lcov.info b/lcov.info index 2c449d1..13ee0c7 100644 --- a/lcov.info +++ b/lcov.info @@ -9,16 +9,16 @@ DA:36,102 DA:37,102 DA:38,102 DA:40,1 -DA:58,98 -DA:59,89 -DA:60,54560000 -DA:61,54560000 -DA:62,54560000 -DA:64,54560000 -DA:88,26 -DA:89,54560000 -DA:90,54560000 -DA:91,54560000 +DA:58,100 +DA:59,91 +DA:60,54880000 +DA:61,54880000 +DA:62,54880000 +DA:64,54880000 +DA:88,28 +DA:89,54880000 +DA:90,54880000 +DA:91,54880000 DA:93,5 DA:94,2 DA:95,2 @@ -30,10 +30,10 @@ DA:111,62 DA:113,1 DA:114,1 DA:115,60 -DA:124,337 -DA:125,337 -DA:126,674 -DA:127,337 +DA:124,339 +DA:125,339 +DA:126,678 +DA:127,339 DA:129,1 DA:130,1 DA:132,2 @@ -138,22 +138,22 @@ LH:131 LF:131 end_of_record SF:src/detection.jl -DA:13,72 -DA:14,132 -DA:15,66 -DA:16,66 -DA:17,64 -DA:20,132 -DA:21,340 -DA:22,340 -DA:23,340 -DA:24,340 -DA:25,340 -DA:26,340 -DA:27,340 -DA:29,340 -DA:30,614 -DA:32,66 +DA:13,76 +DA:14,136 +DA:15,68 +DA:16,68 +DA:17,66 +DA:20,136 +DA:21,342 +DA:22,342 +DA:23,342 +DA:24,342 +DA:25,342 +DA:26,342 +DA:27,342 +DA:29,342 +DA:30,616 +DA:32,68 DA:33,2 DA:34,2 DA:35,2 @@ -162,69 +162,69 @@ DA:37,4 DA:38,4 DA:39,4 DA:40,4 -DA:42,66 -DA:47,746 -DA:48,1492 -DA:49,746 -DA:50,746 -DA:51,746 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:61,0 -DA:62,0 -DA:64,0 -DA:65,0 -DA:67,0 -DA:68,0 -DA:76,680 -DA:77,1360 -DA:78,680 -DA:79,1360 -DA:80,1360 -DA:81,1360 -DA:82,1360 -DA:83,680 -DA:84,676 +DA:42,68 +DA:47,751 +DA:48,1502 +DA:49,751 +DA:50,751 +DA:51,751 +DA:54,1 +DA:55,2 +DA:56,2 +DA:57,1 +DA:58,1 +DA:61,2 +DA:62,1 +DA:64,2 +DA:65,1 +DA:67,1 +DA:68,1 +DA:76,684 +DA:77,1368 +DA:78,684 +DA:79,1368 +DA:80,1368 +DA:81,1368 +DA:82,1368 +DA:83,684 +DA:84,680 DA:86,4 DA:87,4 DA:88,4 DA:89,4 -DA:91,680 -DA:100,1020 -DA:101,1360 -DA:102,680 -DA:103,680 -DA:104,680 -DA:105,680 -DA:108,746 -DA:109,1492 -DA:110,1492 -DA:113,746 -DA:116,746 -DA:117,2984 -DA:118,746 -DA:119,1492 -DA:122,746 -DA:123,2238 -DA:124,746 -DA:125,2238 -DA:127,746 -DA:128,746 -DA:129,2984 -DA:132,746 -DA:134,746 -DA:144,0 -DA:161,0 -DA:162,0 -DA:163,0 -DA:164,0 -DA:165,0 -DA:166,0 -DA:169,0 -LH:67 +DA:91,684 +DA:100,1026 +DA:101,1368 +DA:102,684 +DA:103,684 +DA:104,684 +DA:105,684 +DA:108,752 +DA:109,1504 +DA:110,1504 +DA:113,752 +DA:116,752 +DA:117,3008 +DA:118,752 +DA:119,1504 +DA:122,752 +DA:123,2256 +DA:124,752 +DA:125,2256 +DA:127,752 +DA:128,752 +DA:129,3008 +DA:132,752 +DA:134,752 +DA:144,1 +DA:161,3 +DA:162,2 +DA:163,1 +DA:164,2 +DA:165,1 +DA:166,2 +DA:169,1 +LH:86 LF:86 end_of_record SF:src/get_dipoles.jl @@ -373,16 +373,16 @@ LH:0 LF:51 end_of_record SF:src/pointvortex.jl -DA:8,1494 -DA:9,1494 +DA:8,1506 +DA:9,1506 DA:11,60 DA:12,60 DA:13,120 DA:14,600 DA:16,60 -DA:26,9168 -DA:28,872 -DA:29,872 +DA:26,9260 +DA:28,878 +DA:29,878 DA:33,2746 DA:34,2746 DA:37,130 @@ -402,16 +402,16 @@ DA:67,124 DA:68,124 DA:69,62 DA:72,4 -DA:73,0 -DA:74,0 +DA:73,1 +DA:74,1 DA:75,0 DA:77,0 DA:78,0 DA:79,0 -DA:80,0 +DA:80,2 DA:81,0 DA:83,0 -LH:29 +LH:32 LF:38 end_of_record SF:src/seed_clusters.jl @@ -444,24 +444,25 @@ LH:0 LF:25 end_of_record SF:src/types.jl -DA:19,1428 -DA:43,7888 +DA:19,1437 +DA:37,1 +DA:43,7982 DA:49,1 -DA:55,98 -DA:60,776 +DA:55,100 +DA:60,780 DA:67,2 DA:74,0 -LH:6 -LF:7 +LH:7 +LF:8 end_of_record SF:src/utils.jl -DA:1,4402 -DA:3,1492 -DA:4,1492 -DA:5,1492 -DA:6,1492 -DA:7,1492 -DA:8,1492 +DA:1,4435 +DA:3,1504 +DA:4,1504 +DA:5,1504 +DA:6,1504 +DA:7,1504 +DA:8,1504 DA:11,1 DA:12,1 DA:13,2 @@ -487,35 +488,35 @@ DA:36,30 DA:37,60 DA:38,329 DA:41,1 -DA:49,744 -DA:50,2232 -DA:51,744 -DA:52,1488 -DA:53,3246 -DA:54,5019 -DA:55,5024 -DA:56,3246 -DA:57,5748 -DA:59,744 -DA:71,1494 -DA:72,1494 -DA:73,1494 -DA:74,22664000 -DA:76,1494 -DA:77,1494 -DA:78,47200 -DA:79,47200 -DA:80,94400 -DA:81,11284800 -DA:82,11331253 -DA:87,747 -DA:88,1494 -DA:89,92906 -DA:90,11284800 -DA:91,47200 -DA:92,11284800 -DA:93,11284800 -DA:97,1494 +DA:49,750 +DA:50,2250 +DA:51,750 +DA:52,1500 +DA:53,3292 +DA:54,5083 +DA:55,5089 +DA:56,3292 +DA:57,5834 +DA:59,750 +DA:71,1507 +DA:72,1507 +DA:73,1507 +DA:74,23471200 +DA:76,1507 +DA:77,1506 +DA:78,48120 +DA:79,48120 +DA:80,96240 +DA:81,11607480 +DA:82,11654847 +DA:87,754 +DA:88,1508 +DA:89,95532 +DA:90,11767080 +DA:91,48520 +DA:92,11767080 +DA:93,11767080 +DA:97,1507 DA:100,3 DA:101,3 DA:102,2 diff --git a/test/keep_vortices_test.jl b/test/keep_vortices_test.jl new file mode 100644 index 0000000..f57af35 --- /dev/null +++ b/test/keep_vortices_test.jl @@ -0,0 +1,23 @@ +using VortexDistributions + +# simple test field +Nx = 400; Ny = 400 +Lx = 200; Ly = Lx +x = LinRange(-Lx/2,Lx/2, Nx+1)[1:end-1]; y = LinRange(-Ly/2,Ly/2, Ny+1)[1:end-1]; +psi0 = one.(x*y') |> complex + +psi = Torus(copy(psi0), x, y); + + +xp = 0.0 +yp = 0.0 +vp = PointVortex(xp,yp,1) +sp = ScalarVortex(vp) + +vortex!(psi, sp) + +vfound = findvortices(psi) + +vortm = keep_vortices(vfound) + +@test length(vfound) == length(vortm) \ No newline at end of file diff --git a/test/runtests.jl b/test/runtests.jl index d1ab106..89a3c38 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -10,4 +10,6 @@ using VortexDistributions, Test, SafeTestsets @safetestset "Unwrap2D" begin include("test_unwrap2D.jl") end @safetestset "Phase Jumps" begin include("phase_jumps.jl") end @safetestset "Periodic Dipole" begin include("periodic_dipole_test.jl") end -@safetestset "Scalar Vortex Arguments" begin include("vortex_types.jl") end \ No newline at end of file +@safetestset "Scalar Vortex Arguments" begin include("vortex_types.jl") end +@safetestset "Single Vortex Sphere Field" begin include("single_vort_sphere.jl") end +@safetestset "Keep Vortices" begin include("keep_vortices_test.jl") end \ No newline at end of file diff --git a/test/single_vort_sphere.jl b/test/single_vort_sphere.jl new file mode 100644 index 0000000..643e743 --- /dev/null +++ b/test/single_vort_sphere.jl @@ -0,0 +1,24 @@ +using VortexDistributions + +# simple test field +Nx = 400; Ny = 400 +Lx = 200; Ly = Lx +x = LinRange(-Lx/2,Lx/2, Nx+1)[1:end-1]; y = LinRange(-Ly/2,Ly/2, Ny+1)[1:end-1]; +psi0 = one.(x*y') |> complex + +psi = Sphere(copy(psi0),x,y) + +xp = 1.133 +yp = 2.787 +vp = PointVortex(xp,yp,1) +sp = ScalarVortex(vp) + +vortex!(psi, sp) + +vfound = findvortices(psi) + +dx = Δ(psi.x) + +@test isapprox(vfound[1].xv, xp, rtol=dx/4) +@test isapprox(vfound[1].yv, yp, rtol=dx/4) +@test vfound[1].qv == 1 \ No newline at end of file diff --git a/test_shit.jl b/test_shit.jl index 6d23db8..164135e 100644 --- a/test_shit.jl +++ b/test_shit.jl @@ -1,7 +1,21 @@ using VortexDistributions -using ToeplitzMatrices -y, ψ, res = VortexDistributions.gpecore_exact(1,2,100) -y -ψ -res -y, ψ, res = VortexDistributions.gpecore_exact(1) + +# simple test field +Nx = 400; Ny = 400 +Lx = 200; Ly = Lx +x = LinRange(-Lx/2,Lx/2, Nx+1)[1:end-1]; y = LinRange(-Ly/2,Ly/2, Ny+1)[1:end-1]; +psi0 = one.(x*y') |> complex + +psi = Torus(copy(psi0), x, y); + + +xp = 0.0 +yp = 0.0 +vp = PointVortex(xp,yp,1) +sp = ScalarVortex(vp) + +vortex!(psi, sp) + +vfound = findvortices(psi) + +keep_vortices(vfound) \ No newline at end of file From f4cdf8084c12570c649a6be7d28638108cd8d747 Mon Sep 17 00:00:00 2001 From: timcop Date: Sat, 11 Sep 2021 11:26:24 +1200 Subject: [PATCH 16/17] tidying up --- .gitignore | 1 + lcov.info | 216 ++++++++++++++++++++++----------------------- src/get_dipoles.jl | 72 +++++++-------- test.txt | 1 - test_shit.jl | 21 ----- 5 files changed, 145 insertions(+), 166 deletions(-) delete mode 100644 test.txt delete mode 100644 test_shit.jl diff --git a/.gitignore b/.gitignore index fd4b71a..ba5e727 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ Manifest.toml lcov.info .vscode/settings.json .vscode/* +lcov.info diff --git a/lcov.info b/lcov.info index 13ee0c7..6d37c1d 100644 --- a/lcov.info +++ b/lcov.info @@ -74,156 +74,156 @@ DA:186,2 DA:187,4 DA:188,4 DA:189,2 -DA:205,2 -DA:213,2 -DA:214,1 -DA:215,1 -DA:216,2 -DA:217,2 +DA:207,2 +DA:215,2 +DA:216,1 +DA:217,1 DA:218,2 -DA:221,2 -DA:224,2 -DA:225,1 -DA:226,1 +DA:219,2 +DA:220,2 +DA:223,2 +DA:226,2 DA:227,1 -DA:229,2 -DA:230,1 +DA:228,1 +DA:229,1 DA:231,2 -DA:232,2 -DA:235,2 +DA:232,1 +DA:233,2 +DA:234,2 DA:237,2 -DA:239,36 -DA:241,34 +DA:239,2 +DA:241,36 DA:243,34 DA:245,34 -DA:249,17 -DA:250,17 -DA:253,17 +DA:247,34 +DA:251,17 +DA:252,17 DA:255,17 -DA:256,17 DA:257,17 -DA:259,1 -DA:260,1 -DA:295,2 -DA:296,2 +DA:258,17 +DA:259,17 +DA:261,1 +DA:262,1 +DA:297,2 DA:298,2 DA:300,2 -DA:301,2 -DA:303,4 -DA:305,2 -DA:306,4 +DA:302,2 +DA:303,2 +DA:305,4 DA:307,2 DA:308,4 +DA:309,2 DA:310,4 -DA:311,2 -DA:312,2 +DA:312,4 DA:313,2 DA:314,2 -DA:316,4 -DA:317,4 -DA:319,2 -DA:321,30000 -DA:323,4 -DA:324,6 -DA:325,300 -DA:326,4 -DA:329,2 -DA:333,1 -DA:334,1 +DA:315,2 +DA:316,2 +DA:318,4 +DA:319,4 +DA:321,2 +DA:323,30000 +DA:325,4 +DA:326,6 +DA:327,300 +DA:328,4 +DA:331,2 DA:335,1 -DA:339,1 -DA:340,1 +DA:336,1 +DA:337,1 DA:341,1 +DA:342,1 +DA:343,1 LH:131 LF:131 end_of_record SF:src/detection.jl -DA:13,76 -DA:14,136 -DA:15,68 -DA:16,68 -DA:17,66 -DA:20,136 -DA:21,342 -DA:22,342 +DA:15,76 +DA:16,136 +DA:17,68 +DA:18,68 +DA:19,66 +DA:22,136 DA:23,342 DA:24,342 DA:25,342 DA:26,342 DA:27,342 +DA:28,342 DA:29,342 -DA:30,616 -DA:32,68 -DA:33,2 -DA:34,2 +DA:31,342 +DA:32,616 +DA:34,68 DA:35,2 -DA:36,4 -DA:37,4 +DA:36,2 +DA:37,2 DA:38,4 DA:39,4 DA:40,4 -DA:42,68 -DA:47,751 -DA:48,1502 +DA:41,4 +DA:42,4 +DA:44,68 DA:49,751 -DA:50,751 +DA:50,1502 DA:51,751 -DA:54,1 -DA:55,2 -DA:56,2 -DA:57,1 -DA:58,1 -DA:61,2 -DA:62,1 -DA:64,2 -DA:65,1 +DA:52,751 +DA:53,751 +DA:56,1 +DA:57,2 +DA:58,2 +DA:59,1 +DA:60,1 +DA:63,2 +DA:64,1 +DA:66,2 DA:67,1 -DA:68,1 -DA:76,684 -DA:77,1368 +DA:69,1 +DA:70,1 DA:78,684 DA:79,1368 -DA:80,1368 +DA:80,684 DA:81,1368 DA:82,1368 -DA:83,684 -DA:84,680 -DA:86,4 -DA:87,4 +DA:83,1368 +DA:84,1368 +DA:85,684 +DA:86,680 DA:88,4 DA:89,4 -DA:91,684 -DA:100,1026 -DA:101,1368 -DA:102,684 -DA:103,684 +DA:90,4 +DA:91,4 +DA:93,684 +DA:102,1026 +DA:103,1368 DA:104,684 DA:105,684 -DA:108,752 -DA:109,1504 -DA:110,1504 -DA:113,752 -DA:116,752 -DA:117,3008 +DA:106,684 +DA:107,684 +DA:110,752 +DA:111,1504 +DA:112,1504 +DA:115,752 DA:118,752 -DA:119,1504 -DA:122,752 -DA:123,2256 +DA:119,3008 +DA:120,752 +DA:121,1504 DA:124,752 DA:125,2256 -DA:127,752 -DA:128,752 -DA:129,3008 -DA:132,752 +DA:126,752 +DA:127,2256 +DA:129,752 +DA:130,752 +DA:131,3008 DA:134,752 -DA:144,1 -DA:161,3 -DA:162,2 -DA:163,1 +DA:136,752 +DA:146,1 +DA:163,3 DA:164,2 DA:165,1 DA:166,2 -DA:169,1 +DA:167,1 +DA:168,2 +DA:171,1 LH:86 LF:86 end_of_record @@ -380,7 +380,7 @@ DA:12,60 DA:13,120 DA:14,600 DA:16,60 -DA:26,9260 +DA:26,9224 DA:28,878 DA:29,878 DA:33,2746 @@ -446,7 +446,7 @@ end_of_record SF:src/types.jl DA:19,1437 DA:37,1 -DA:43,7982 +DA:43,7946 DA:49,1 DA:55,100 DA:60,780 @@ -492,11 +492,11 @@ DA:49,750 DA:50,2250 DA:51,750 DA:52,1500 -DA:53,3292 -DA:54,5083 -DA:55,5089 -DA:56,3292 -DA:57,5834 +DA:53,3274 +DA:54,5057 +DA:55,5056 +DA:56,3274 +DA:57,5798 DA:59,750 DA:71,1507 DA:72,1507 diff --git a/src/get_dipoles.jl b/src/get_dipoles.jl index 2ba4413..f3a9466 100644 --- a/src/get_dipoles.jl +++ b/src/get_dipoles.jl @@ -1,50 +1,50 @@ function get_dipoles(xi,yi,n,nplus,Lx,Ly) -if isempty(xi) || isempty(yi) - @info "Input position vector is empty" - xd = [] - yd = [] - is_dipole = [] - num_found_in_dipoles = 0 - return xd,yd,is_dipole,num_found_in_dipoles -end + if isempty(xi) || isempty(yi) + @info "Input position vector is empty" + xd = [] + yd = [] + is_dipole = [] + num_found_in_dipoles = 0 + return xd,yd,is_dipole,num_found_in_dipoles + end -κi = [ones(nplus); -ones(n-nplus)] + κi = [ones(nplus); -ones(n-nplus)] -# x and y distances -xij,yij = distances(xi,yi) + # x and y distances + xij,yij = distances(xi,yi) -# incorporate periodicity -periodic_distances!(xij,yij,Lx,Ly) + # incorporate periodicity + periodic_distances!(xij,yij,Lx,Ly) -# inter-vortex distance matrix, set self distance to much larger than box size -rij = hypot.(xij,yij) -rij += diagm(0=>1e6*hypot(Lx,Ly)*ones(n)) + # inter-vortex distance matrix, set self distance to much larger than box size + rij = hypot.(xij,yij) + rij += diagm(0=>1e6*hypot(Lx,Ly)*ones(n)) -# get index of minimum separations -_, nn_index = findmin(rij,dims=2) + # get index of minimum separations + _, nn_index = findmin(rij,dims=2) -nn_mat = ones(n)*collect(1:n)' .|> Int -nn_vec = nn_mat[nn_index][:,1] + nn_mat = ones(n)*collect(1:n)' .|> Int + nn_vec = nn_mat[nn_index][:,1] -mutuals = (collect(1:n) .== nn_vec[nn_vec]) + mutuals = (collect(1:n) .== nn_vec[nn_vec]) -# find dipoles -is_dipole = zeros(n) -for i in eachindex(mutuals) -is_dipole[i] = (mutuals[i] == 1 && κi[i]*κi[nn_vec[i]] == -1.0) -end + # find dipoles + is_dipole = zeros(n) + for i in eachindex(mutuals) + is_dipole[i] = (mutuals[i] == 1 && κi[i]*κi[nn_vec[i]] == -1.0) + end -dipoles_index = findall(is_dipole .> 0.0) -dipoles_index2 = nn_vec[dipoles_index] -num_found_in_dipoles = length(dipoles_index) + dipoles_index = findall(is_dipole .> 0.0) + dipoles_index2 = nn_vec[dipoles_index] + num_found_in_dipoles = length(dipoles_index) -xd = xi[dipoles_index] -yd = yi[dipoles_index] -xd2 = xi[dipoles_index2] -yd2 = yi[dipoles_index2] -xd = [xd[1:Int(end/2)]; xd2[1:Int(end/2)]] -yd = [yd[1:Int(end/2)]; yd2[1:Int(end/2)]] + xd = xi[dipoles_index] + yd = yi[dipoles_index] + xd2 = xi[dipoles_index2] + yd2 = yi[dipoles_index2] + xd = [xd[1:Int(end/2)]; xd2[1:Int(end/2)]] + yd = [yd[1:Int(end/2)]; yd2[1:Int(end/2)]] -return xd,yd,is_dipole,num_found_in_dipoles + return xd,yd,is_dipole,num_found_in_dipoles end diff --git a/test.txt b/test.txt deleted file mode 100644 index 6342660..0000000 --- a/test.txt +++ /dev/null @@ -1 +0,0 @@ -testagain diff --git a/test_shit.jl b/test_shit.jl deleted file mode 100644 index 164135e..0000000 --- a/test_shit.jl +++ /dev/null @@ -1,21 +0,0 @@ -using VortexDistributions - -# simple test field -Nx = 400; Ny = 400 -Lx = 200; Ly = Lx -x = LinRange(-Lx/2,Lx/2, Nx+1)[1:end-1]; y = LinRange(-Ly/2,Ly/2, Ny+1)[1:end-1]; -psi0 = one.(x*y') |> complex - -psi = Torus(copy(psi0), x, y); - - -xp = 0.0 -yp = 0.0 -vp = PointVortex(xp,yp,1) -sp = ScalarVortex(vp) - -vortex!(psi, sp) - -vfound = findvortices(psi) - -keep_vortices(vfound) \ No newline at end of file From 23940a2ee3855c58374a0bcaa1e79fa1d2d28f37 Mon Sep 17 00:00:00 2001 From: timcop Date: Sat, 11 Sep 2021 11:30:26 +1200 Subject: [PATCH 17/17] stop lcov being tracked --- lcov.info | 620 ------------------------------------------------------ 1 file changed, 620 deletions(-) delete mode 100644 lcov.info diff --git a/lcov.info b/lcov.info deleted file mode 100644 index 6d37c1d..0000000 --- a/lcov.info +++ /dev/null @@ -1,620 +0,0 @@ -SF:src/VortexDistributions.jl -LH:0 -LF:0 -end_of_record -SF:src/creation.jl -DA:11,2 -DA:34,1 -DA:36,102 -DA:37,102 -DA:38,102 -DA:40,1 -DA:58,100 -DA:59,91 -DA:60,54880000 -DA:61,54880000 -DA:62,54880000 -DA:64,54880000 -DA:88,28 -DA:89,54880000 -DA:90,54880000 -DA:91,54880000 -DA:93,5 -DA:94,2 -DA:95,2 -DA:96,3 -DA:108,2 -DA:109,2 -DA:110,1 -DA:111,62 -DA:113,1 -DA:114,1 -DA:115,60 -DA:124,339 -DA:125,339 -DA:126,678 -DA:127,339 -DA:129,1 -DA:130,1 -DA:132,2 -DA:133,124 -DA:134,604 -DA:138,60 -DA:139,120 -DA:140,120 -DA:141,60 -DA:142,60 -DA:144,180 -DA:145,60 -DA:146,330 -DA:147,60 -DA:152,2239200 -DA:153,14720000 -DA:154,7040000 -DA:155,7040000 -DA:157,3520000 -DA:158,3520000 -DA:163,320000 -DA:164,320000 -DA:165,320000 -DA:166,6720000 -DA:168,476800 -DA:169,320000 -DA:173,2 -DA:174,2 -DA:175,2 -DA:176,2 -DA:180,2 -DA:181,2 -DA:182,2 -DA:183,2 -DA:184,4 -DA:185,2 -DA:186,2 -DA:187,4 -DA:188,4 -DA:189,2 -DA:207,2 -DA:215,2 -DA:216,1 -DA:217,1 -DA:218,2 -DA:219,2 -DA:220,2 -DA:223,2 -DA:226,2 -DA:227,1 -DA:228,1 -DA:229,1 -DA:231,2 -DA:232,1 -DA:233,2 -DA:234,2 -DA:237,2 -DA:239,2 -DA:241,36 -DA:243,34 -DA:245,34 -DA:247,34 -DA:251,17 -DA:252,17 -DA:255,17 -DA:257,17 -DA:258,17 -DA:259,17 -DA:261,1 -DA:262,1 -DA:297,2 -DA:298,2 -DA:300,2 -DA:302,2 -DA:303,2 -DA:305,4 -DA:307,2 -DA:308,4 -DA:309,2 -DA:310,4 -DA:312,4 -DA:313,2 -DA:314,2 -DA:315,2 -DA:316,2 -DA:318,4 -DA:319,4 -DA:321,2 -DA:323,30000 -DA:325,4 -DA:326,6 -DA:327,300 -DA:328,4 -DA:331,2 -DA:335,1 -DA:336,1 -DA:337,1 -DA:341,1 -DA:342,1 -DA:343,1 -LH:131 -LF:131 -end_of_record -SF:src/detection.jl -DA:15,76 -DA:16,136 -DA:17,68 -DA:18,68 -DA:19,66 -DA:22,136 -DA:23,342 -DA:24,342 -DA:25,342 -DA:26,342 -DA:27,342 -DA:28,342 -DA:29,342 -DA:31,342 -DA:32,616 -DA:34,68 -DA:35,2 -DA:36,2 -DA:37,2 -DA:38,4 -DA:39,4 -DA:40,4 -DA:41,4 -DA:42,4 -DA:44,68 -DA:49,751 -DA:50,1502 -DA:51,751 -DA:52,751 -DA:53,751 -DA:56,1 -DA:57,2 -DA:58,2 -DA:59,1 -DA:60,1 -DA:63,2 -DA:64,1 -DA:66,2 -DA:67,1 -DA:69,1 -DA:70,1 -DA:78,684 -DA:79,1368 -DA:80,684 -DA:81,1368 -DA:82,1368 -DA:83,1368 -DA:84,1368 -DA:85,684 -DA:86,680 -DA:88,4 -DA:89,4 -DA:90,4 -DA:91,4 -DA:93,684 -DA:102,1026 -DA:103,1368 -DA:104,684 -DA:105,684 -DA:106,684 -DA:107,684 -DA:110,752 -DA:111,1504 -DA:112,1504 -DA:115,752 -DA:118,752 -DA:119,3008 -DA:120,752 -DA:121,1504 -DA:124,752 -DA:125,2256 -DA:126,752 -DA:127,2256 -DA:129,752 -DA:130,752 -DA:131,3008 -DA:134,752 -DA:136,752 -DA:146,1 -DA:163,3 -DA:164,2 -DA:165,1 -DA:166,2 -DA:167,1 -DA:168,2 -DA:171,1 -LH:86 -LF:86 -end_of_record -SF:src/get_dipoles.jl -DA:1,0 -DA:3,0 -DA:4,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:12,0 -DA:15,0 -DA:18,0 -DA:21,0 -DA:22,0 -DA:25,0 -DA:27,0 -DA:28,0 -DA:30,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:49,0 -LH:0 -LF:30 -end_of_record -SF:src/grow_minus_clusters.jl -DA:1,0 -DA:3,0 -DA:4,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:16,0 -DA:17,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:25,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:35,0 -DA:36,0 -DA:40,0 -DA:41,0 -DA:44,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:52,0 -DA:57,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:65,0 -DA:66,0 -DA:68,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -LH:0 -LF:52 -end_of_record -SF:src/grow_plus_clusters.jl -DA:1,0 -DA:3,0 -DA:4,0 -DA:5,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:17,0 -DA:18,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:28,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:39,0 -DA:40,0 -DA:44,0 -DA:45,0 -DA:48,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:56,0 -DA:61,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:69,0 -DA:70,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:76,0 -DA:77,0 -DA:78,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:85,0 -LH:0 -LF:51 -end_of_record -SF:src/pointvortex.jl -DA:8,1506 -DA:9,1506 -DA:11,60 -DA:12,60 -DA:13,120 -DA:14,600 -DA:16,60 -DA:26,9224 -DA:28,878 -DA:29,878 -DA:33,2746 -DA:34,2746 -DA:37,130 -DA:38,130 -DA:41,4 -DA:42,6 -DA:44,3 -DA:45,65 -DA:57,2 -DA:58,3 -DA:60,1 -DA:61,3 -DA:62,1 -DA:65,62 -DA:66,62 -DA:67,124 -DA:68,124 -DA:69,62 -DA:72,4 -DA:73,1 -DA:74,1 -DA:75,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:80,2 -DA:81,0 -DA:83,0 -LH:32 -LF:38 -end_of_record -SF:src/seed_clusters.jl -DA:1,0 -DA:3,0 -DA:6,0 -DA:7,0 -DA:10,0 -DA:13,0 -DA:14,0 -DA:17,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:42,0 -LH:0 -LF:25 -end_of_record -SF:src/types.jl -DA:19,1437 -DA:37,1 -DA:43,7946 -DA:49,1 -DA:55,100 -DA:60,780 -DA:67,2 -DA:74,0 -LH:7 -LF:8 -end_of_record -SF:src/utils.jl -DA:1,4435 -DA:3,1504 -DA:4,1504 -DA:5,1504 -DA:6,1504 -DA:7,1504 -DA:8,1504 -DA:11,1 -DA:12,1 -DA:13,2 -DA:14,30 -DA:15,30 -DA:16,30 -DA:17,30 -DA:18,30 -DA:19,59 -DA:21,1 -DA:24,1 -DA:25,1 -DA:26,2 -DA:27,30 -DA:28,30 -DA:29,30 -DA:30,30 -DA:31,30 -DA:32,0 -DA:34,30 -DA:35,30 -DA:36,30 -DA:37,60 -DA:38,329 -DA:41,1 -DA:49,750 -DA:50,2250 -DA:51,750 -DA:52,1500 -DA:53,3274 -DA:54,5057 -DA:55,5056 -DA:56,3274 -DA:57,5798 -DA:59,750 -DA:71,1507 -DA:72,1507 -DA:73,1507 -DA:74,23471200 -DA:76,1507 -DA:77,1506 -DA:78,48120 -DA:79,48120 -DA:80,96240 -DA:81,11607480 -DA:82,11654847 -DA:87,754 -DA:88,1508 -DA:89,95532 -DA:90,11767080 -DA:91,48520 -DA:92,11767080 -DA:93,11767080 -DA:97,1507 -DA:100,3 -DA:101,3 -DA:102,2 -DA:104,2 -DA:105,2 -DA:106,400 -DA:107,400 -DA:108,800 -DA:109,159600 -DA:110,159600 -DA:115,1 -DA:116,2 -DA:117,798 -DA:118,159600 -DA:119,400 -DA:120,159600 -DA:121,159600 -DA:133,3 -DA:134,3 -DA:135,2 -DA:136,2 -DA:138,2 -DA:139,2 -DA:140,4 -DA:141,4 -DA:142,4 -DA:143,3996 -DA:144,3997 -DA:148,1 -DA:149,2 -DA:150,1998 -DA:151,2000 -DA:152,4 -DA:153,3996 -DA:154,3996 -DA:159,2 -DA:170,3 -DA:171,3 -DA:172,2 -DA:173,4 -DA:175,2 -DA:176,2 -DA:177,4 -DA:178,4 -DA:179,4 -DA:180,3996 -DA:181,3996 -DA:185,1 -DA:187,2 -DA:188,1998 -DA:189,2000 -DA:190,4 -DA:191,3996 -DA:192,3996 -DA:198,1 -DA:199,1 -DA:200,1 -DA:201,2 -DA:202,2 -DA:203,2 -DA:204,1998 -DA:205,2996 -DA:208,1 -DA:211,1 -DA:212,1 -DA:213,1 -DA:214,2 -DA:215,2 -DA:216,2 -DA:217,1998 -DA:218,1998 -DA:222,0 -DA:223,0 -DA:224,0 -DA:225,0 -DA:228,0 -DA:229,0 -DA:230,0 -DA:233,0 -DA:234,0 -DA:235,0 -DA:243,0 -DA:244,0 -DA:245,0 -DA:246,0 -DA:254,0 -DA:255,0 -DA:257,0 -DA:258,0 -DA:259,0 -DA:260,0 -DA:263,0 -DA:271,0 -DA:272,0 -DA:273,0 -DA:274,0 -DA:275,0 -DA:277,0 -LH:131 -LF:159 -end_of_record