Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
irp
Fresnel
Commits
4b4db8af
Commit
4b4db8af
authored
May 10, 2021
by
Leon Merten Lohse
Browse files
signs were correct in the first place
parent
d66909da
Pipeline
#195057
failed with stages
in 21 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
source/finite_difference.h
View file @
4b4db8af
...
...
@@ -93,15 +93,15 @@ namespace finite_differences {
for
(
size_t
i
=
1
;
i
<=
n
;
++
i
)
{
m
(
0
,
i
-
1
)
=
-
rxx
;
// lower
m
(
1
,
i
-
1
)
=
rz
+
2.
*
rxx
-
f
(
i
);
// diagonal
m
(
1
,
i
-
1
)
=
rz
+
2.
0
*
rxx
-
f
(
i
);
// diagonal
m
(
2
,
i
-
1
)
=
-
rxx
;
// upper;
r
(
i
-
1
)
=
(
rz
+
fp
(
i
))
*
up
(
i
)
+
rxx
*
(
up
(
i
-
1
)
-
2
*
up
(
i
)
+
up
(
i
+
1
));
+
rxx
*
(
up
(
i
-
1
)
-
2
.0
*
up
(
i
)
+
up
(
i
+
1
));
}
// boundary
r
(
0
)
-
=
rxx
*
u
(
0
);
r
(
n
-
1
)
-
=
rxx
*
u
(
n
+
1
);
r
(
0
)
+
=
rxx
*
u
(
0
);
r
(
n
-
1
)
+
=
rxx
*
u
(
n
+
1
);
// initialize writeable copy
array_1D
u_new
{
u
};
...
...
@@ -132,9 +132,9 @@ namespace finite_differences {
complex
rhix
=
rx
/
static_cast
<
complex
>
(
i
)
/
2.0
;
m
(
0
,
i
)
=
-
rxx
+
rhix
;
// lower
m
(
1
,
i
)
=
rz
+
2.
*
rxx
-
f
(
i
);
// diagonal
m
(
1
,
i
)
=
rz
+
2.
0
*
rxx
-
f
(
i
);
// diagonal
m
(
2
,
i
)
=
-
rxx
-
rhix
;
// upper;
r
(
i
)
=
(
rz
-
2.
*
rxx
+
f
(
i
))
*
up
(
i
)
r
(
i
)
=
(
rz
-
2.
0
*
rxx
+
f
(
i
))
*
up
(
i
)
+
(
rxx
-
rhix
)
*
up
(
i
-
1
)
+
(
rxx
+
rhix
)
*
up
(
i
+
1
);
}
...
...
@@ -142,8 +142,8 @@ namespace finite_differences {
// left boundary
m
(
0
,
0
)
=
0
;
// lower
m
(
1
,
0
)
=
rz
+
2.
*
rxx
+
2.
*
rx
-
f
(
0
);
// diagonal
m
(
2
,
0
)
=
-
2.
*
rxx
-
2.
*
rx
;
// upper;
r
(
0
)
=
(
rz
-
2.
*
rxx
-
2.
*
rx
+
f
(
0
))
*
up
(
0
)
m
(
2
,
0
)
=
-
2.
*
rxx
-
2.
0
*
rx
;
// upper;
r
(
0
)
=
(
rz
-
2.
*
rxx
-
2.
0
*
rx
+
f
(
0
))
*
up
(
0
)
+
(
2.
*
rxx
+
2.
*
rx
)
*
up
(
1
);
...
...
@@ -196,7 +196,7 @@ namespace finite_differences {
for
(
size_t
ix
=
1
;
ix
<=
nx
;
++
ix
)
{
m
(
0
,
ix
-
1
)
=
-
rxx
;
m
(
1
,
ix
-
1
)
=
rz
+
2.
*
rxx
-
f
(
ix
,
iy
);
m
(
1
,
ix
-
1
)
=
rz
+
2.
0
*
rxx
-
f
(
ix
,
iy
);
m
(
2
,
ix
-
1
)
=
-
rxx
;
r
(
ix
-
1
)
=
(
rz
+
fp
(
ix
,
iy
))
*
up
(
ix
,
iy
)
...
...
@@ -205,8 +205,8 @@ namespace finite_differences {
// boundary conditions
// TODO(Leon): use interpolated values?
r
(
0
)
-
=
rxx
*
u
(
0
,
iy
);
r
(
nx
-
1
)
-
=
rxx
*
u
(
nx
+
1
,
iy
);
r
(
0
)
+
=
rxx
*
u
(
0
,
iy
);
r
(
nx
-
1
)
+
=
rxx
*
u
(
nx
+
1
,
iy
);
uhalf
.
col
(
iy
).
segment
(
1
,
nx
)
=
algebra
::
tridiagonal
(
std
::
move
(
m
),
std
::
move
(
r
));
}
...
...
@@ -231,8 +231,8 @@ namespace finite_differences {
+
rxx
*
(
uhalf
(
ix
-
1
,
iy
)
-
2.0
*
uhalf
(
ix
,
iy
)
+
uhalf
(
ix
+
1
,
iy
));
}
r
(
0
)
-
=
ryy
*
u
(
ix
,
0
);
r
(
ny
-
1
)
-
=
ryy
*
u
(
ix
,
ny
+
1
);
r
(
0
)
+
=
ryy
*
u
(
ix
,
0
);
r
(
ny
-
1
)
+
=
ryy
*
u
(
ix
,
ny
+
1
);
u_new_trans
.
col
(
ix
).
segment
(
1
,
ny
)
=
algebra
::
tridiagonal
(
std
::
move
(
m
),
std
::
move
(
r
));
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment