run on atlas clust with 32 cores P2P1
Re FunctionSpace Velocity Pressure
10 822416 746133 76283
CFG file
cat steady_ns_3d.cfg
stokes=1
newton=0
picard=1
blockns=1
mu=0.2#0.01
bc-file=$top_srcdir/benchmarks/navierstokes/steps/steady_ns_3d.bc
[functions]
g={y*(1-y),0}:y
h={0,0}
[blockns]
cd=true
pcd=true
[blockns.pmm]
# consider diagonal pressure mass matrix
diag=0
[blockns.pcd]
# CL at inflow of pressure
inflow=Robin
# CL at outflow of pressure
outflow=Dirichlet#Neumann
# Mp Fp^-1 Ap : 1, other Ap Fp^-1 Mp
order=1
# Ap : diffusion operator
[Ap]
pc-type=gamg
ksp-monitor=1
pc-gamg-type=agg
pc-gamg-agg-msmooths=1
pc-gamg-threshold=1e-6
ksp-rtol=1e-9
ksp-maxit=300
# pressure convection-diffusion operator
[Fp]
pc-type=gamg
# velocity convection diffusion operator
[Fu]
pc-type=gamg
ksp-monitor=1
pc-gamg-type=agg
pc-gamg-agg-msmooths=1
pc-gamg-threshold=1e-6
ksp-rtol=1e-9
ksp-maxit=300
# pressure mass matrix
[Mp]
pc-type=gamg
ksp-monitor=1
pc-gamg-type=agg
pc-gamg-agg-msmooths=1
pc-gamg-threshold=1e-6
ksp-rtol=1e-9
ksp-maxit=300
[newton]
preconditioner=PCD
tol=1e-5
maxit=50
ksp-type=gcr
ksp-rtol=1e-6
ksp-monitor=1
ksp-maxit=100
ksp-use-initial-guess-nonzero=false
gcr-restart=100
[picard]
preconditioner=PCD
tol=1e-5
maxit=50
ksp-rtol=1e-6
ksp-monitor=1
ksp-maxit=100#30
ksp-type=gcr
ksp-use-initial-guess-nonzero=false
gcr-restart=100
[stokes]
preconditioner=PCD#petsc#PMM
ksp-rtol=1e-6#1e-10
ksp-monitor=1
ksp-type=gcr
ksp-use-initial-guess-nonzero=false
gcr-restart=100
[gmsh]
hsize=0.1
filename=$top_srcdir/data/gmsh/steps/step-elmann-2009.geo
geo-variables-list=L=5:dim=3
Note that Fu takes about 20 times more time than S
Timer Count Total(s) Max(s) Min(s) Mean(s) StdDev(s)
PCD::Fu 97 1.82e+03 2.18e+01 1.64e+01 1.87e+01 6.67e-01
OperatorMatrix::applyInverse Fu 97 1.82e+03 2.18e+01 1.64e+01 1.87e+01 6.67e-01
Picard iteration 4 1.54e+03 3.97e+02 3.70e+02 3.86e+02 9.66e+00
- Picard:: Solve ... 4 1.51e+03 3.86e+02 3.64e+02 3.78e+02 8.42e+00
- Solving Stokes... 1 4.21e+02 4.21e+02 4.21e+02 4.21e+02 0.00e+00
PCD::S 97 9.84e+01 1.16e+00 8.59e-01 1.01e+00 3.87e-02
OperatorCompose::applyInverse Mp*inv(Fp)*Ap 97 9.84e+01 1.16e+00 8.59e-01 1.01e+00 3.87e-02
OperatorCompose::applyInverse inv(Fp)*Ap 97 5.24e+01 6.19e-01 4.28e-01 5.40e-01 2.92e-02
OperatorMatrix::applyInverse Ap 97 5.23e+01 6.18e-01 4.27e-01 5.39e-01 2.92e-02
OperatorMatrix::applyInverse Mp 97 4.60e+01 6.19e-01 4.31e-01 4.74e-01 2.06e-02
- Picard:: Assemble nonlinear terms ... 4 1.79e+01 4.49e+00 4.47e+00 4.48e+00 9.83e-03
BlockNS create sub matrix done 6 1.18e+01 2.00e+00 1.95e+00 1.97e+00 2.01e-02
ExporterEnsightGold::save 5 1.07e+01 6.06e+00 1.03e+00 2.13e+00 1.96e+00
BlockNS convection-diffusion operator updated 5 9.90e+00 2.01e+00 1.96e+00 1.98e+00 1.91e-02
ExporterEnsightGold::save geo 5 8.48e+00 5.67e+00 6.51e-01 1.70e+00 1.99e+00
Backend::newMatrix:: build stencil 13 5.58e+00 3.38e+00 3.81e-06 4.29e-01 9.49e-01
BlockNS pressure convection-diffusion operator updated 5 4.13e+00 8.52e-01 7.43e-01 8.26e-01 4.16e-02
Operator::PCD update 5 4.13e+00 8.52e-01 7.43e-01 8.26e-01 4.16e-02
- Setting up Precondition Blockns... 1 2.50e+00 2.50e+00 2.50e+00 2.50e+00 0.00e+00
- Exporting Stokes results... 1 2.19e+00 2.19e+00 2.19e+00 2.19e+00 0.00e+00
ExporterEnsightGold::save variables 5 2.10e+00 4.91e-01 3.75e-01 4.21e-01 4.48e-02
Backend::newMatrix:: initialize matrix 13 1.89e+00 5.63e-01 4.80e-03 1.45e-01 1.75e-01
Timeset::add u 5 1.23e+00 5.17e-01 1.65e-01 2.46e-01 1.36e-01
- Picard:: Assemble BC ... 4 9.71e-01 2.69e-01 2.32e-01 2.43e-01 1.51e-02
PCD::B^T 97 6.26e-01 1.44e-02 5.71e-03 6.46e-03 9.74e-04
OperatorMatrix::apply Bt 97 5.82e-01 1.40e-02 5.28e-03 6.00e-03 9.59e-04
[PreconditionerBlockNS] setup done 1 5.50e-01 5.50e-01 5.50e-01 5.50e-01 0.00e+00
Assembling schur complement done 1 5.50e-01 5.50e-01 5.50e-01 5.50e-01 0.00e+00
Timeset::add p 5 4.62e-01 4.03e-01 1.35e-02 9.25e-02 1.55e-01
PCD::update solution 97 3.91e-01 5.32e-03 3.84e-03 4.03e-03 1.81e-04
writing hdf5 file 1 3.77e-01 3.77e-01 3.77e-01 3.77e-01 0.00e+00
read msh from file 1 2.11e-01 2.11e-01 2.11e-01 2.11e-01 0.00e+00
OperatorPCD::diffusion assembly 1 1.54e-01 1.54e-01 1.54e-01 1.54e-01 0.00e+00
OperatorPCD::mass assembly 1 1.47e-01 1.47e-01 1.47e-01 1.47e-01 0.00e+00
writing elements 1 1.19e-01 1.19e-01 1.19e-01 1.19e-01 0.00e+00
OperatorMatrix::apply Fp 97 1.08e-01 1.82e-03 9.17e-04 1.11e-03 1.52e-04
Backend::newMatrix:: zero out matrix + set split 13 8.60e-02 1.64e-02 8.80e-05 6.62e-03 6.65e-03
writing points 1 5.50e-02 5.50e-02 5.50e-02 5.50e-02 0.00e+00
OperatorPCD::BC apply 5 4.83e-02 1.05e-02 9.37e-03 9.67e-03 4.15e-04
BlockNS convection-diffusion and gradient operators done 6 3.76e-02 9.53e-03 1.04e-03 6.27e-03 2.58e-03
ExporterEnsightGold::save timeset 5 2.36e-02 1.51e-02 1.63e-03 4.73e-03 5.18e-03
writing faces 1 2.34e-02 2.34e-02 2.34e-02 2.34e-02 0.00e+00
ExporterEnsightGold::save sos 5 1.56e-02 4.01e-03 2.32e-03 3.12e-03 5.46e-04
ExporterEnsightGold::save case 5 9.44e-03 2.79e-03 1.59e-03 1.89e-03 4.56e-04
register elements associated to marked points 1 2.84e-04 2.84e-04 2.84e-04 2.84e-04 0.00e+00
```