Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
cc8bdeb
always run run_examples.sh from examples dir, so that mesh files, etc…
majosm Apr 9, 2022
134cce9
add multiphysics support
majosm Apr 4, 2022
2246845
add multi-volume-enabled mesh distribution
majosm Apr 5, 2022
7a1f820
add multiphysics module and clean up multivolume example
majosm Apr 5, 2022
de8d025
use harmonic mean of thermal conductivities
majosm Apr 4, 2022
68b261a
compute h_wall once
majosm Apr 9, 2022
6425024
first pass at interior penalty
majosm Apr 9, 2022
89a7175
temporarily change meshmode/grudge branches
majosm Apr 8, 2022
1345109
fix a couple of issues with forced evaluation
majosm Apr 9, 2022
be8ae95
add av to coupled_ns_heat_operator
majosm Apr 12, 2022
d624dd4
temporary fix for distribute_mesh
majosm Apr 12, 2022
df22203
make sure lengthscales has the right shape
majosm Apr 13, 2022
26bfc0c
temporary junk to make lazy work
majosm Apr 13, 2022
cf1b0ab
tweak multivolume example
majosm Apr 13, 2022
e642d5c
clean up and re-enable AV
majosm Apr 13, 2022
a7ed160
av multi-volume fixes
majosm Apr 18, 2022
f228858
tweak docstring
majosm Apr 21, 2022
6566dbb
flake8
majosm Apr 21, 2022
3690e61
refactor to avoid repeated communication and help debug hang issue
majosm Apr 21, 2022
b9893a1
Update multiphysics boundary with first stab at species handling. (#3)
MTCam Apr 26, 2022
28983a6
Merge remote-tracking branch 'origin/production' into multiphysics-pr…
majosm Apr 26, 2022
cc50300
fix issues in diffusion operator deprecated arg handling
majosm Apr 27, 2022
2e69f45
fix fluid interface BC
majosm Apr 28, 2022
7f32c17
fix fluid interface AV BC
majosm May 3, 2022
01f624e
temporarily install pyvisfile from git
majosm May 3, 2022
c4128f7
add partition generator function argument to distribute_mesh
majosm May 4, 2022
3c65882
redefine fluid_ones/wall_ones
majosm May 4, 2022
d74d6e7
make wall thermal conductivity an array
majosm May 4, 2022
09feb28
modify partitioning to make some local volumes empty
majosm May 4, 2022
bbbcf04
Merge remote-tracking branch 'origin/production' into multiphysics-pr…
majosm Jun 23, 2022
79cf3a6
fix requirements.txt
majosm Jun 23, 2022
85744b8
use PartID type from grudge
majosm Jul 5, 2022
435009c
Merge remote-tracking branch 'origin/production' into multiphysics-pr…
majosm Jul 5, 2022
3238344
Merge remote-tracking branch 'origin/production' into multiphysics-pr…
majosm Jul 5, 2022
2861b7e
change grudge branch in requirements.txt
majosm Jul 5, 2022
6de252d
Merge remote-tracking branch 'origin/production' into multiphysics-pr…
majosm Jul 8, 2022
574839a
change DTAG_BOUNDARY -> BoundaryDomainTag in combozzle
majosm Jul 8, 2022
1bdf3ea
Merge remote-tracking branch 'origin/production' into multiphysics-pr…
majosm Jul 8, 2022
73064de
update create_discretization_collection
majosm Jul 12, 2022
8123516
use IsothermalWallBoundary instead of IsothermalNoSlipBoundary in mul…
majosm Jul 13, 2022
2fa258d
support multiple volumes in componentwise_norm and max_component_norm
majosm Jul 18, 2022
4347f1e
fix overintegration bug
majosm Jul 18, 2022
99a921e
add multiphysics tests
majosm Jul 12, 2022
3ad041a
Merge remote-tracking branch 'origin/production' into multiphysics-pr…
majosm Jul 18, 2022
b3e66f9
fix some things in multiphysics tests
majosm Jul 20, 2022
c050410
Merge remote-tracking branch 'origin/production' into multiphysics-pr…
majosm Aug 10, 2022
d00de99
fix flake8 errors
majosm Aug 10, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions examples/combozzle-mpi.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
from meshmode.array_context import PyOpenCLArrayContext

from meshmode.mesh import BTAG_ALL, BTAG_NONE # noqa
from grudge.dof_desc import DTAG_BOUNDARY
from grudge.dof_desc import BoundaryDomainTag
from grudge.shortcuts import make_visualizer
from grudge.dof_desc import DISCR_TAG_QUAD
from mirgecom.discretization import create_discretization_collection
Expand Down Expand Up @@ -859,8 +859,8 @@ def get_fluid_state(cv, tseed):
if not periodic:
if multiple_boundaries:
for idir in range(dim):
boundaries[DTAG_BOUNDARY(f"+{idir}")] = wall
boundaries[DTAG_BOUNDARY(f"-{idir}")] = wall
boundaries[BoundaryDomainTag(f"+{idir}")] = wall
boundaries[BoundaryDomainTag(f"-{idir}")] = wall
else:
boundaries = {BTAG_ALL: wall}

Expand Down
22 changes: 11 additions & 11 deletions examples/doublemach-mpi.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
from functools import partial

from meshmode.mesh import BTAG_ALL, BTAG_NONE # noqa
from grudge.dof_desc import DTAG_BOUNDARY
from grudge.dof_desc import BoundaryDomainTag
from grudge.shortcuts import make_visualizer


Expand Down Expand Up @@ -239,22 +239,22 @@ def main(ctx_factory=cl.create_some_context, use_logmgr=True,
eos = IdealSingleGas()
gas_model = GasModel(eos=eos, transport=transport_model)

def _boundary_state(discr, btag, gas_model, state_minus, **kwargs):
def _boundary_state(discr, dd_bdry, gas_model, state_minus, **kwargs):
actx = state_minus.array_context
bnd_discr = discr.discr_from_dd(btag)
bnd_discr = discr.discr_from_dd(dd_bdry)
nodes = actx.thaw(bnd_discr.nodes())
return make_fluid_state(initializer(x_vec=nodes, eos=gas_model.eos,
**kwargs), gas_model)

boundaries = {
DTAG_BOUNDARY("ic1"):
PrescribedFluidBoundary(boundary_state_func=_boundary_state),
DTAG_BOUNDARY("ic2"):
PrescribedFluidBoundary(boundary_state_func=_boundary_state),
DTAG_BOUNDARY("ic3"):
PrescribedFluidBoundary(boundary_state_func=_boundary_state),
DTAG_BOUNDARY("wall"): AdiabaticNoslipWallBoundary(),
DTAG_BOUNDARY("out"): AdiabaticNoslipWallBoundary(),
BoundaryDomainTag("ic1"):
PrescribedFluidBoundary(boundary_state_func=_boundary_state),
BoundaryDomainTag("ic2"):
PrescribedFluidBoundary(boundary_state_func=_boundary_state),
BoundaryDomainTag("ic3"):
PrescribedFluidBoundary(boundary_state_func=_boundary_state),
BoundaryDomainTag("wall"): AdiabaticNoslipWallBoundary(),
BoundaryDomainTag("out"): AdiabaticNoslipWallBoundary(),
}

if rst_filename:
Expand Down
8 changes: 4 additions & 4 deletions examples/heat-source-mpi.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
from meshmode.mesh import BTAG_ALL, BTAG_NONE # noqa
import grudge.op as op
from grudge.shortcuts import make_visualizer
from grudge.dof_desc import DTAG_BOUNDARY
from grudge.dof_desc import BoundaryDomainTag
from mirgecom.discretization import create_discretization_collection
from mirgecom.integrators import rk4_step
from mirgecom.diffusion import (
Expand Down Expand Up @@ -126,8 +126,8 @@ def main(actx_class, ctx_factory=cl.create_some_context, use_logmgr=True,
nodes = actx.thaw(discr.nodes())

boundaries = {
DTAG_BOUNDARY("dirichlet"): DirichletDiffusionBoundary(0.),
DTAG_BOUNDARY("neumann"): NeumannDiffusionBoundary(0.)
BoundaryDomainTag("dirichlet"): DirichletDiffusionBoundary(0.),
BoundaryDomainTag("neumann"): NeumannDiffusionBoundary(0.)
}

u = discr.zeros(actx)
Expand Down Expand Up @@ -181,7 +181,7 @@ def rhs(t, u):
set_dt(logmgr, dt)
logmgr.tick_after()
final_answer = actx.to_numpy(op.norm(discr, u, np.inf))
resid = abs(final_answer - 0.00020620711665201585)
resid = abs(final_answer - 0.0002062062188374177)
if resid > 1e-15:
raise ValueError(f"Run did not produce the expected result {resid=}")

Expand Down
23 changes: 12 additions & 11 deletions examples/hotplate-mpi.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
from meshmode.mesh import BTAG_ALL, BTAG_NONE # noqa

from grudge.shortcuts import make_visualizer
from grudge.dof_desc import DTAG_BOUNDARY
from grudge.dof_desc import BoundaryDomainTag

from mirgecom.discretization import create_discretization_collection
from mirgecom.fluid import make_conserved
Expand Down Expand Up @@ -223,21 +223,22 @@ def tramp_2d(x_vec, eos, cv=None, **kwargs):

exact = initializer(x_vec=nodes, eos=gas_model.eos)

def _boundary_state(discr, btag, gas_model, state_minus, **kwargs):
def _boundary_state(discr, dd_bdry, gas_model, state_minus, **kwargs):
actx = state_minus.array_context
bnd_discr = discr.discr_from_dd(btag)
bnd_discr = discr.discr_from_dd(dd_bdry)
nodes = actx.thaw(bnd_discr.nodes())
return make_fluid_state(initializer(x_vec=nodes, eos=gas_model.eos,
**kwargs), gas_model)

boundaries = {DTAG_BOUNDARY("-1"):
PrescribedFluidBoundary(boundary_state_func=_boundary_state),
DTAG_BOUNDARY("+1"):
PrescribedFluidBoundary(boundary_state_func=_boundary_state),
DTAG_BOUNDARY("-2"): IsothermalWallBoundary(
wall_temperature=bottom_boundary_temperature),
DTAG_BOUNDARY("+2"): IsothermalWallBoundary(
wall_temperature=top_boundary_temperature)}
boundaries = {
BoundaryDomainTag("-1"): PrescribedFluidBoundary(
boundary_state_func=_boundary_state),
BoundaryDomainTag("+1"): PrescribedFluidBoundary(
boundary_state_func=_boundary_state),
BoundaryDomainTag("-2"): IsothermalWallBoundary(
wall_temperature=bottom_boundary_temperature),
BoundaryDomainTag("+2"): IsothermalWallBoundary(
wall_temperature=top_boundary_temperature)}

if rst_filename:
current_t = restart_data["t"]
Expand Down
4 changes: 2 additions & 2 deletions examples/lump-mpi.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,9 +181,9 @@ def main(actx_class, ctx_factory=cl.create_some_context, use_logmgr=True,
from mirgecom.gas_model import GasModel, make_fluid_state
gas_model = GasModel(eos=eos)

def boundary_solution(discr, btag, gas_model, state_minus, **kwargs):
def boundary_solution(discr, dd_bdry, gas_model, state_minus, **kwargs):
actx = state_minus.array_context
bnd_discr = discr.discr_from_dd(btag)
bnd_discr = discr.discr_from_dd(dd_bdry)
nodes = actx.thaw(bnd_discr.nodes())
return make_fluid_state(initializer(x_vec=nodes, eos=gas_model.eos,
**kwargs), gas_model)
Expand Down
4 changes: 2 additions & 2 deletions examples/mixture-mpi.py
Original file line number Diff line number Diff line change
Expand Up @@ -214,9 +214,9 @@ def main(actx_class, ctx_factory=cl.create_some_context, use_logmgr=True,
initializer = MixtureInitializer(dim=dim, nspecies=nspecies,
massfractions=y0s, velocity=velocity)

def boundary_solution(discr, btag, gas_model, state_minus, **kwargs):
def boundary_solution(discr, dd_bdry, gas_model, state_minus, **kwargs):
actx = state_minus.array_context
bnd_discr = discr.discr_from_dd(btag)
bnd_discr = discr.discr_from_dd(dd_bdry)
nodes = actx.thaw(bnd_discr.nodes())
return make_fluid_state(initializer(x_vec=nodes, eos=gas_model.eos,
**kwargs), gas_model,
Expand Down
Loading