Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
sensei
sensei
Commits
9d6e360a
Commit
9d6e360a
authored
Sep 06, 2018
by
David Thompson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'particle-wrap' into 'master'
Robust logic for periodic particle boundary. See merge request
!110
parents
daf08e47
f01adced
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
6 deletions
+15
-6
miniapps/oscillators/oscillator.cpp
miniapps/oscillators/oscillator.cpp
+15
-6
No files found.
miniapps/oscillators/oscillator.cpp
View file @
9d6e360a
...
...
@@ -91,13 +91,22 @@ struct Block
// warp position if needed
for
(
int
i
=
0
;
i
<
3
;
++
i
)
{
if
(
particle
->
position
[
i
]
>
static_cast
<
float
>
(
domain
.
max
[
i
]))
if
(
particle
->
position
[
i
]
>
static_cast
<
float
>
(
domain
.
max
[
i
])
||
particle
->
position
[
i
]
<
static_cast
<
float
>
(
domain
.
min
[
i
]))
{
particle
->
position
[
i
]
+=
static_cast
<
float
>
(
domain
.
min
[
i
]
-
domain
.
max
[
i
]);
}
else
if
(
particle
->
position
[
i
]
<
static_cast
<
float
>
(
domain
.
min
[
i
]))
{
particle
->
position
[
i
]
+=
static_cast
<
float
>
(
domain
.
max
[
i
]
-
domain
.
min
[
i
]);
auto
dm
=
static_cast
<
float
>
(
domain
.
min
[
i
]);
auto
dx
=
static_cast
<
float
>
(
domain
.
max
[
i
])
-
dm
;
if
(
dx
==
0
)
{
particle
->
position
[
i
]
=
dm
;
}
else
{
auto
dp
=
particle
->
position
[
i
]
-
dm
;
auto
dpdx
=
dp
/
dx
;
particle
->
position
[
i
]
=
(
dpdx
-
floor
(
dpdx
))
*
dx
+
dm
;
}
}
}
...
...
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