Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ install:
- sudo apt-get install gfortran pv
- git lfs fetch
- git lfs checkout
- git clone https://github.com/erdc-cm/proteus
- git clone https://github.com/erdc/proteus
- cd proteus
- make hashdist
- make stack
Expand Down
38 changes: 29 additions & 9 deletions 2d/benchmarks/dambreak_Colagrossi/dambreak_Colagrossi.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
from proteus.Profiling import logEvent
from proteus.mprans.SpatialTools import Tank2D


# predefined options
opts=Context.Options([
("adaptMesh", False, "Enable dynamic mesh adaption"),
# water column
("water_level", 0.6, "Height of water column in m"),
("water_width", 1.2, "Width of water column in m"),
Expand Down Expand Up @@ -161,7 +161,7 @@

# ----- GAUGES ----- #

if opts.gauge_output:
if opts.gauge_output and not opts.adaptMesh:
tank.attachPointGauges(
'twp',
gauges = ((('p',), (opts.gauge_location_p,)),),
Expand All @@ -180,10 +180,30 @@

# ----- MESH CONSTRUCTION ----- #



he = tank_dim[0] / float(4 * refinement - 1)
domain.MeshOptions.he = he
from proteus.MeshAdaptPUMI import MeshAdaptPUMI
hmin = he
hmax = 10.0*he
adaptMesh = opts.adaptMesh
adaptMesh_nSteps = 5
adaptMesh_numIter = 2
MeshAdaptMesh=MeshAdaptPUMI.MeshAdaptPUMI(hmax=hmax, hmin=hmin, numIter=adaptMesh_numIter,sfConfig="isotropic",maType="isotropic")
useModel=False

if opts.adaptMesh:
domain.MeshOptions.he = hmax
domain.MeshOptions.parallelPartitioningType = mt.MeshParallelPartitioningTypes.element
domain.MeshOptions.nLayersOfOverlapForParallel = 0
else:
domain.MeshOptions.he = he
domain.MeshOptions.parallelPartitioningType = mt.MeshParallelPartitioningTypes.node
domain.MeshOptions.nLayersOfOverlapForParallel = 0

st.assembleDomain(domain)


# ----- STRONG DIRICHLET ----- #

ns_forceStrongDirichlet = False
Expand All @@ -197,28 +217,28 @@
ls_shockCapturingFactor = 0.25
ls_lag_shockCapturing = True
ls_sc_uref = 1.0
ls_sc_beta = 1.0
ls_sc_beta = 1.5
vof_shockCapturingFactor = 0.25
vof_lag_shockCapturing = True
vof_sc_uref = 1.0
vof_sc_beta = 1.0
vof_sc_beta = 1.5
rd_shockCapturingFactor = 0.25
rd_lag_shockCapturing = False
epsFact_density = epsFact_viscosity = epsFact_curvature \
= epsFact_vof = ecH \
= epsFact_consrv_dirac = epsFact_density \
= 3.0
= 1.5
epsFact_redistance = 0.33
epsFact_consrv_diffusion = 0.1
epsFact_consrv_diffusion = 10.0
redist_Newton = True
kappa_shockCapturingFactor = 0.25
kappa_lag_shockCapturing = True #False
kappa_sc_uref = 1.0
kappa_sc_beta = 1.0
kappa_sc_beta = 1.5
dissipation_shockCapturingFactor = 0.25
dissipation_lag_shockCapturing = True #False
dissipation_sc_uref = 1.0
dissipation_sc_beta = 1.0
dissipation_sc_beta = 1.5
else:
ns_shockCapturingFactor = 0.9
ns_lag_shockCapturing = True
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,5 +51,5 @@

needEBQ_GLOBAL = False
needEBQ = False

#archiveFlag = ArchiveFlags.EVERY_SEQUENCE_STEP
tnList=[0.0,ct.dt_init]+[ct.dt_init+ i*ct.dt_fixed for i in range(1,ct.nDTout+1)]
2 changes: 1 addition & 1 deletion 2d/benchmarks/dambreak_Colagrossi/ls_consrv_p.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
VOFModel_index=int(ct.movingDomain)+1,
applyCorrection=ct.applyCorrection,
nd=nd,
checkMass=True,
checkMass=ct.checkMass,
useMetrics=ct.useMetrics,
epsFactHeaviside=ct.ecH,
epsFactDirac=ct.epsFact_consrv_dirac,
Expand Down
11 changes: 9 additions & 2 deletions 2d/benchmarks/dambreak_Colagrossi/twp_navier_stokes_n.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@
domain = ct.domain
nd = ct.domain.nd
mesh = domain.MeshOptions

adaptMesh = ct.adaptMesh
adaptMesh_nSteps = ct.adaptMesh_nSteps
adaptMesh_numIter = ct.adaptMesh_numIter
MeshAdaptMesh=ct.MeshAdaptMesh
useModel=ct.useModel
if ct.useHex or ct.structured:
nnx = ct.nnx
nny = ct.nny
Expand Down Expand Up @@ -99,6 +103,9 @@
if ct.useHex:
conservativeFlux = None
else:
conservativeFlux = {0: 'pwl-bdm-opt'}
if ct.adaptMesh:
conservativeFlux = None
else:
conservativeFlux = {0: 'pwl-bdm-opt'}

auxiliaryVariables = ct.domain.auxiliaryVariables['twp']
5 changes: 5 additions & 0 deletions 2d/benchmarks/dambreak_Colagrossi/twp_navier_stokes_p.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@
from proteus import Context

ct = Context.get()
rho_0 = ct.rho_0
rho_1 = ct.rho_1
nu_0 = ct.nu_0
nu_1 = ct.nu_1
g = ct.g
domain = ct.domain
nd = domain.nd
mesh = domain.MeshOptions
Expand Down
2 changes: 1 addition & 1 deletion 2d/numericalTanks/randomWaves/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Random waves typically consist of non-repeatable wave sequences, so each individ

Random wave sequences are generated by descritising the spectral distribution into frequency components and composing free-surface and velocity field by superimposing the free-surface elevation and velocity of each individual component. The amplitude of these components is calculated by the spectral distribution. The phasing of each component is either randomly allocated to generate a truly random series or pre-defined in order to generate focused waves. More information on random waves can be found in Goda (2009) and Dean and Dalrymple (1991).

In this case, the numerical flume described in https://github.com/erdc-cm/air-water-vv/tree/adimako/merge/2d/numericalTanks/linearWaves is used to demonstrate the capability of Proteus for generating random waves.
In this case, the numerical flume described in https://github.com/erdc/air-water-vv/tree/adimako/merge/2d/numericalTanks/linearWaves is used to demonstrate the capability of Proteus for generating random waves.

Tests
-----
Expand Down
2 changes: 1 addition & 1 deletion 2d/numericalTanks/randomWavesFast/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Fast Random wave generation

Description
----------
The test case setup is described in https://github.com/erdc-cm/air-water-vv/tree/adimako/merge/2d/numericalTanks/randomWaves.
The test case setup is described in https://github.com/erdc/air-water-vv/tree/adimako/merge/2d/numericalTanks/randomWaves.
In this particular case, the generation methodology is optimised to allow fast generation of long non repeating random waves sequences using processing with spectral windows. More details on the methodology can be found in Dimakopoulos et al. (2017).

Tests (to be added)
Expand Down
2 changes: 1 addition & 1 deletion 2d/numericalTanks/standingWaves/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Description

Standing waves are formed when regular waves interact with a fully reflective wall. In this case, a distinctive patterns emerges and the wave amplitude becomes a sinusioidal function in space. The reflected waves are fully synconised with the incident ones at an even number of half wavelenghts from the wall, whilst cancelling each other at an odd number of wavelength, this creating the distinctive wave patterns of nodes and antinodes, where the amplitude is double and zero, respectively.

In this case, the numerical flume described in https://github.com/erdc-cm/air-water-vv/tree/adimako/merge/2d/numericalTanks/linearWaves is used to demonstrate the capability of Proteus of modelling standing wave patterns and in particular of absorbing the reflected waves at the generation / absorption zone.
In this case, the numerical flume described in https://github.com/erdc/air-water-vv/tree/adimako/merge/2d/numericalTanks/linearWaves is used to demonstrate the capability of Proteus of modelling standing wave patterns and in particular of absorbing the reflected waves at the generation / absorption zone.

Tests
-----
Expand Down
4 changes: 2 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Verification and validation for air/water flow models
=====================================================

https://github.com/erdc-cm/air-water-vv
https://github.com/erdc/air-water-vv

Organization of the test set
----------------------------
Expand All @@ -16,7 +16,7 @@ test consists of a single directory including
- All data files describing the geometry and physical parameters of
the problem
- A set of input files for a code
(e.g. https://github.com/erdc-cm/proteus)
(e.g. https://github.com/erdc/proteus)
- A script for results postprocessing (Optional)
- A script for running regression tests

Expand Down
2 changes: 1 addition & 1 deletion private/proteus-mprans.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ dependencies:
run: [proteus, numpy]

sources:
- url: https://github.com/erdc-cm/proteus-mprans
- url: https://github.com/erdc/proteus-mprans
key: git:fc5a90c2a50bb9716460876ad1ee91da598ff8f3

profile_links:
Expand Down