I am trying to solve for the acoustic eigenmodes of a 3D rectangular room by using the WaveSolver. I am using this as a guide.
See below my sif file:
Code: Select all
Header
CHECK KEYWORDS Warn
Mesh DB "." "."
Include Path ""
Results Directory ""
End
Simulation
Max Output Level = 5
Coordinate System = Cartesian
Coordinate Mapping(3) = 1 2 3
Simulation Type = Steady state
Steady State Max Iterations = 10
Output Intervals = 1
Timestepping Method = BDF
BDF Order = 1
Coordinate Scaling = 0.001
Solver Input File = case.sif
Post File = case.vtu
End
Constants
Gravity(4) = 0 -1 0 9.82
Stefan Boltzmann = 5.67e-08
Permittivity of Vacuum = 8.8542e-12
Boltzmann Constant = 1.3807e-23
Unit Charge = 1.602e-19
End
Body 1
Target Bodies(1) = 1
Name = "Body 1"
Equation = 1
Material = 1
Initial Condition = 1
End
Initial Condition 1
Pressure Velocity = Real 1
End
Equation 1
Name = "Wave Equation"
Active Solvers(1) = 1
End
Solver 1
! Equation
Equation = "Wave Equation"
Procedure = "WaveSolver" "WaveSolver"
Variable = "Pressure"
Variable DOFs = 1
! Solver
! Steady State
Steady State Convergence Tolerance = 1e-09
! Nonlinear
!Nonlinear System Convergence Tolerance = 1.0e-7
!Nonlinear System Max Iterations = 1
!Nonlinear System Newton After Iterations = 3
!Nonlinear System Newton After Tolerance = 1.0e-3
!Nonlinear System Relaxation Factor = 1
! Linear
!Linear System Scaling = Logical True
!Linear System Symmetric = Logical True
Linear System Solver = string "Iterative"
Linear System Direct Method = Umfpack
Linear System Iterative Method = BiCGStab
Linear System Max Iterations = integer 10000
Linear System Convergence Tolerance = real 1e-8
BiCGstabl polynomial degree = 4
Linear System Preconditioning = ILU0
Linear System ILUT Tolerance = 1.0e-3
Linear System Abort Not Converged = True
Linear System Residual Output = 50
Linear System Precondition Recompute = 1
! Special
Eigen Analysis = True
Eigen System Values = 10
Eigen System Convergence Tolerance = Real 1.0e-6
Eigen System Max Iterations = 10000
Eigen System Select = smallest magnitude
!Eigen System Shift = Real 1000
Eigen System Normalize To Unity = Logical True
End
Material 1
Name = "Air (room temperature)"
Heat expansion Coefficient = 3.43e-3
Heat Capacity = 1005.0
Heat Conductivity = 0.0257
Sound speed = 343.0
Viscosity = 1.983e-5
Relative Permittivity = 1.00059
Viscosity = 1.983e-5
Porosity Model = Always saturated
Turbulent Prandtl Number = 0.713
Relative Permittivity = 1.00059
Density = 1.205
Relative Permeability = 1.00000037
Sound Speed = Real 343.0
Sound Damping = Real 0.0
Sound Reaction Damping = Real 0.0
End
Boundary Condition 1
Target Boundaries(6) = 2 3 4 5 6 7
!Pressure = Real 0
!Source Acceleration = Real 0
Pressure Velocity = Real 0
End
Code: Select all
ELMER SOLVER (v 8.4) STARTED AT: 2020/08/18 16:15:10
ParCommInit: Initialize #PEs: 1
MAIN:
MAIN: =============================================================
MAIN: ElmerSolver finite element software, Welcome!
MAIN: This program is free software licensed under (L)GPL
MAIN: Copyright 1st April 1995 - , CSC - IT Center for Science Ltd.
MAIN: Webpage http://www.csc.fi/elmer, Email elmeradm@csc.fi
MAIN: Version: 8.4 (Rev: unknown, Compiled: 2020-08-17)
MAIN: Running one task without MPI parallelization.
MAIN: Running with just one thread per task.
MAIN: HYPRE library linked in.
MAIN: MUMPS library linked in.
MAIN: =============================================================
LoadInputFile: Reading only "Run Control" section
MAIN:
MAIN:
MAIN: -------------------------------------
MAIN: Reading Model: case.sif
LoadInputFile: Scanning input file: case.sif
LoadInputFile: Scanning only size info
LoadInputFile: First time visiting
LoadInputFile: Reading base load of sif file
LoadInputFile: Loading input file: case.sif
LoadInputFile: Reading base load of sif file
Model Input: Unlisted keyword: [pressure velocity] in section: [initial condition 1]
Model Input: Unlisted keyword: [pressure velocity] in section: [boundary condition 1]
LoadInputFile: Number of BCs: 1
LoadInputFile: Number of Body Forces: 0
LoadInputFile: Number of Initial Conditions: 1
LoadInputFile: Number of Materials: 1
LoadInputFile: Number of Equations: 1
LoadInputFile: Number of Solvers: 1
LoadInputFile: Number of Bodies: 1
Loading user function library: [WaveSolver]...[WaveSolver_Init0]
LoadMesh: Base mesh name: ./.
LoadMesh: Scaling coordinates: 1.000E-03 1.000E-03 1.000E-03
LoadMesh: Elapsed REAL time: 0.0863 (s)
MAIN: -------------------------------------
AddVtuOutputSolverHack: Adding ResultOutputSolver to write VTU output in file: case
Loading user function library: [WaveSolver]...[WaveSolver_Init]
Loading user function library: [WaveSolver]...[WaveSolver_bulk]
Loading user function library: [WaveSolver]...[WaveSolver]
OptimizeBandwidth: ---------------------------------------------------------
OptimizeBandwidth: Computing matrix structure for: wave equation...done.
OptimizeBandwidth: Half bandwidth without optimization: 15311
OptimizeBandwidth:
OptimizeBandwidth: Bandwidth Optimization ...done.
OptimizeBandwidth: Half bandwidth after optimization: 1064
OptimizeBandwidth: ---------------------------------------------------------
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_Init]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_bulk]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver]
WARNING:: InitCond: We can only set timederivative for transients
ElmerSolver: Number of timesteps to be saved: 10
MAIN:
MAIN: -------------------------------------
MAIN: Steady state iteration: 1
MAIN: -------------------------------------
MAIN:
SingleSolver: Attempting to call solver
SingleSolver: Solver Equation string is: wave equation
DefUtils::DefaultDirichletBCs: Setting Dirichlet boundary conditions
DefUtils::DefaultDirichletBCs: Dirichlet boundary conditions set
CRS_IncompleteLU: ILU(0) (Real), Starting Factorization:
CRS_IncompleteLU: ILU(0) (Real), NOF nonzeros: 241600
CRS_IncompleteLU: ILU(0) (Real), filling (%) : 100
CRS_IncompleteLU: ILU(0) (Real), Factorization ready at (s): 0.01
1 Infinity
ERROR:: IterSolve: Numerical Error: System diverged over maximum tolerance.
Note: The following floating-point exceptions are signalling: IEEE_DIVIDE_BY_ZERO
STOP 1
Code: Select all
ELMER SOLVER (v 8.4) STARTED AT: 2020/08/18 16:20:29
ParCommInit: Initialize #PEs: 1
MAIN:
MAIN: =============================================================
MAIN: ElmerSolver finite element software, Welcome!
MAIN: This program is free software licensed under (L)GPL
MAIN: Copyright 1st April 1995 - , CSC - IT Center for Science Ltd.
MAIN: Webpage http://www.csc.fi/elmer, Email elmeradm@csc.fi
MAIN: Version: 8.4 (Rev: unknown, Compiled: 2020-08-17)
MAIN: Running one task without MPI parallelization.
MAIN: Running with just one thread per task.
MAIN: HYPRE library linked in.
MAIN: MUMPS library linked in.
MAIN: =============================================================
LoadInputFile: Reading only "Run Control" section
MAIN:
MAIN:
MAIN: -------------------------------------
MAIN: Reading Model: case.sif
LoadInputFile: Scanning input file: case.sif
LoadInputFile: Scanning only size info
LoadInputFile: First time visiting
LoadInputFile: Reading base load of sif file
LoadInputFile: Loading input file: case.sif
LoadInputFile: Reading base load of sif file
Model Input: Unlisted keyword: [pressure velocity] in section: [initial condition 1]
Model Input: Unlisted keyword: [pressure velocity] in section: [boundary condition 1]
LoadInputFile: Number of BCs: 1
LoadInputFile: Number of Body Forces: 0
LoadInputFile: Number of Initial Conditions: 1
LoadInputFile: Number of Materials: 1
LoadInputFile: Number of Equations: 1
LoadInputFile: Number of Solvers: 1
LoadInputFile: Number of Bodies: 1
Loading user function library: [WaveSolver]...[WaveSolver_Init0]
LoadMesh: Base mesh name: ./.
LoadMesh: Scaling coordinates: 1.000E-03 1.000E-03 1.000E-03
LoadMesh: Elapsed REAL time: 0.0840 (s)
MAIN: -------------------------------------
AddVtuOutputSolverHack: Adding ResultOutputSolver to write VTU output in file: case
Loading user function library: [WaveSolver]...[WaveSolver_Init]
Loading user function library: [WaveSolver]...[WaveSolver_bulk]
Loading user function library: [WaveSolver]...[WaveSolver]
OptimizeBandwidth: ---------------------------------------------------------
OptimizeBandwidth: Computing matrix structure for: wave equation...done.
OptimizeBandwidth: Half bandwidth without optimization: 15311
OptimizeBandwidth:
OptimizeBandwidth: Bandwidth Optimization ...done.
OptimizeBandwidth: Half bandwidth after optimization: 1064
OptimizeBandwidth: ---------------------------------------------------------
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_Init]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_bulk]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver]
WARNING:: InitCond: We can only set timederivative for transients
ElmerSolver: Number of timesteps to be saved: 10
MAIN:
MAIN: -------------------------------------
MAIN: Steady state iteration: 1
MAIN: -------------------------------------
MAIN:
SingleSolver: Attempting to call solver
SingleSolver: Solver Equation string is: wave equation
DefUtils::DefaultDirichletBCs: Setting Dirichlet boundary conditions
DefUtils::DefaultDirichletBCs: Dirichlet boundary conditions set
ERROR:: EigenSolve: Error with DNAUPD, info = -9
STOP 1
I am using Elmer on Ubuntu 18.04, installed through the PPA.
Any idea?