Skip to content

Commit c15e806

Browse files
TJP-KarpowskiDanielDoehringranochasloede
authored
MPI for 2D parabolic system on conforming P4est mesh (#2886)
* enabled MPI for 2D parabolic system on P4est mesh (from present main) * adapted naming: viscous -> parabolic * added assertion to ensure no mortars are present * cleanup style * increased allocation limit (checked similar allocations in MPI as hyperbolic communication, now just 3 x communication) * Apply suggestions from code review Removed dispatch to unsupoorted T8codeMeshParallel Co-authored-by: Daniel Doehring <doehringd2@gmail.com> * added comments to clarify sign-flip * extended comment on orientation_factor * renamed surface integral MPI accumulate * Apply suggestions from code review adhere to mpi internal functions Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * removed unnecessary function * moved mpi send to end * Apply suggestions from code review applied suggested comment improvments Co-authored-by: Daniel Doehring <doehringd2@gmail.com> * formatting applied * added name to Authors * Apply suggestions from code review * Update src/solvers/dgsem_p4est/dg_2d_parabolic_parallel.jl --------- Co-authored-by: TJP-Karpowski <MessageInGitHubPlease> Co-authored-by: Daniel Doehring <doehringd2@gmail.com> Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> Co-authored-by: Michael Schlottke-Lakemper <michael@sloede.com>
1 parent b02a8a4 commit c15e806

6 files changed

Lines changed: 584 additions & 0 deletions

File tree

AUTHORS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ are listed in alphabetical order:
3737
* Gregor Gassner
3838
* Lucas Gemein
3939
* Sven Goldberg
40+
* T. Jeremy P. Karpowski
4041
* Joshua Lampert
4142
* Tristan Montoya
4243
* Julia Odenthal

src/callbacks_step/analysis_surface_integral_2d.jl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,9 @@ function analyze(surface_variable::AnalysisSurfaceIntegral, du, u, t,
250250
j_node += j_node_step
251251
end
252252
end
253+
if mpi_isparallel()
254+
surface_integral = MPI.Allreduce!(Ref(surface_integral), +, mpi_comm())[]
255+
end
253256
return surface_integral
254257
end
255258

@@ -320,6 +323,9 @@ function analyze(surface_variable::AnalysisSurfaceIntegral{Variable}, du, u, t,
320323
j_node += j_node_step
321324
end
322325
end
326+
if mpi_isparallel()
327+
surface_integral = MPI.Allreduce!(Ref(surface_integral), +, mpi_comm())[]
328+
end
323329
return surface_integral
324330
end
325331
end # muladd

0 commit comments

Comments
 (0)