Segmentation fault while using Save Line solver

Numerical methods and mathematical models of Elmer
Post Reply
shubh_shinde
Posts: 19
Joined: 13 Aug 2017, 23:58
Antispam: Yes

Segmentation fault while using Save Line solver

Post by shubh_shinde »

Hi all,
I am simulating a FSI study. It runs perfect when SaveLine solver is not used.
However, when I use it to extract data along a boundary it gives segmentation fault right after elasticity solver is started.
I have tried this with fluid only and it works fine. But not with FSI.
Please suggest.

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 = 1
  Output Intervals = 1
  Timestepping Method = BDF
  BDF Order = 1
  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
End

Body 2
  Target Bodies(1) = 2
  Name = "Body 2"
  Equation = 2
  Material = 2
End

Solver 1
  Equation = Navier-Stokes
  Procedure = "FlowSolve" "FlowSolver"
  Variable = Flow Solution[Velocity:3 Pressure:1]
  Exec Solver = Always
  Stabilize = True
  Bubbles = False
  Lumped Mass Matrix = False
  Optimize Bandwidth = True
  Steady State Convergence Tolerance = 1.0e-2
  Nonlinear System Convergence Tolerance = 1.0e-2
  Nonlinear System Max Iterations = 50
  Nonlinear System Newton After Iterations = 5
  Nonlinear System Newton After Tolerance = 1.0e-3
  Nonlinear System Relaxation Factor = 0.5
  Linear System Solver = Iterative
  Linear System Iterative Method = GMRES
  Linear System Max Iterations = 200
  Linear System Convergence Tolerance = 1.0e-8
  BiCGstabl polynomial degree = 2
  Linear System Preconditioning = ILU1
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = False
  Linear System Residual Output = 1
  Linear System Precondition Recompute = 1
End

Solver 3
  Equation = Mesh Update
  Procedure = "MeshSolve" "MeshSolver"
  Variable = -dofs 3 Mesh Update
  Exec Solver = Always
  Stabilize = True
  Bubbles = False
  Lumped Mass Matrix = False
  Optimize Bandwidth = True
  Steady State Convergence Tolerance = 1.0e-2
  Nonlinear System Convergence Tolerance = 1.0e-2
  Nonlinear System Max Iterations = 20
  Nonlinear System Newton After Iterations = 3
  Nonlinear System Newton After Tolerance = 1.0e-3
  Nonlinear System Relaxation Factor = 1
  Linear System Solver = Iterative
  Linear System Iterative Method = BiCGStab
  Linear System Max Iterations = 500
  Linear System Convergence Tolerance = 1.0e-10
  BiCGstabl polynomial degree = 2
  Linear System Preconditioning = Diagonal
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = False
  Linear System Residual Output = 1
  Linear System Precondition Recompute = 1
End

Solver 2
  Equation = Nonlinear elasticity
  Procedure = "ElasticSolve" "ElasticSolver"
  Variable = -dofs 3 Displacement
  Exec Solver = Always
  Stabilize = True
  Bubbles = False
  Lumped Mass Matrix = False
  Optimize Bandwidth = True
  Steady State Convergence Tolerance = 1.0e-2
  Nonlinear System Convergence Tolerance = 1.0e-2
  Nonlinear System Max Iterations = 100
  Nonlinear System Newton After Iterations = 5
  Nonlinear System Newton After Tolerance = 1.0e-3
  Nonlinear System Relaxation Factor = 0.5
  Linear System Solver = Iterative
  Linear System Iterative Method = GMRES
  Linear System Max Iterations = 500
  Linear System Convergence Tolerance = 1.0e-8
  BiCGstabl polynomial degree = 2
  Linear System Preconditioning = ILU3
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = False
  Linear System Residual Output = 1
  Linear System Precondition Recompute = 1
End

Solver 4
  Equation = WSS
  Procedure = "ShearrateSolver" "ShearrateSolver"
  Variable = WSS
  Variable DOFs = 1
  Exec Solver = Always
  Stabilize = True
  Bubbles = False
  Lumped Mass Matrix = False
  Optimize Bandwidth = True
  Steady State Convergence Tolerance = 1.0e-4
  Nonlinear System Convergence Tolerance = 1.0e-8
  Nonlinear System Max Iterations = 20
  Nonlinear System Newton After Iterations = 3
  Nonlinear System Newton After Tolerance = 1.0e-3
  Nonlinear System Relaxation Factor = 1
  Linear System Solver = Iterative
  Linear System Iterative Method = BiCGStab
  Linear System Max Iterations = 500
  Linear System Convergence Tolerance = 1.0e-8
  Linear System Preconditioning = ILU0
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = False
  Linear System Residual Output = 1
  Linear System Precondition Recompute = 1
End

Solver 5
  Exec Solver = After Simulation 
  Equation = SaveLine 
  Procedure = "SaveData" "SaveLine"
  Filename = "line.dat"
End

Equation 1
  Name = "flow"
  Active Solvers(3) = 1 3 4
End

Equation 2
  Name = "solid"
  Plane Stress = True
  Active Solvers(1) = 2
End

Material 1
  Name = "fluid"
  Viscosity = 0.00345
  Mesh Elastic Modulus = 1
  Porosity Model = Always saturated
  Mesh Poisson ratio = 0.3
  Compressibility Model = Artificial Compressible
  Density = 1060
  Artificial Compressibility = 1.83e-05
End

Material 2
  Name = "solid"
  Youngs modulus = 3.0e+05
  Poisson ratio = 0.45
  Porosity Model = Always saturated
  Density = 1010
End

Boundary Condition 1
  Target Boundaries(1) = 6
  Name = "in"
  Velocity 3 = Variable Coordinate 1, Coordinate 2; Real MATC "0.54e+06*(2.25e-6 - tx(0)^2- tx(1)^2)"
  Velocity 1 = 0
  Mesh Update 3 = 0
  Mesh Update 1 = 0
  Velocity 2 = 0
  Mesh Update 2 = 0
End

Boundary Condition 2
  Target Boundaries(1) = 7
  Name = "out"
  Velocity 3 = 0
  Mesh Update 3 = 0
  Mesh Update 1 = 0
  Velocity 2 = 0
  Pressure 1 = 0
  Mesh Update 2 = 0
End

Boundary Condition 3
  Target Boundaries(1) = 4
  Name = "solid in out"
  Displacement 2 = 0
  Mesh Update 3 = 0
  Mesh Update 1 = 0
  Displacement 1 = 0
  Displacement 3 = 0
  Mesh Update 2 = 0
End

Boundary Condition 4
  Target Boundaries(1) = 5
  Name = "fsi"
  Mesh Update 3 = Equals Displacement 3
  Fsi BC = True
  Mesh Update 1 = Equals Displacement 1
  Mesh Update 2 = Equals Displacement 2
  Noslip wall BC = True
End

Boundary Condition 5
  Target Boundaries(1) = 3
  Name = "fluid symm"
  Velocity 2 = 0
  Mesh Update 2 = 0
End

Boundary Condition 6
  Target Boundaries(1) = 2
  Name = "solid symm"
  Displacement 2 = 0
  Mesh Update 2 = 0
End

Boundary Condition 7
  Target Boundaries(1) = 1
  Name = "walls"
  Noslip wall BC = True
End

Boundary Condition 8
  Target Boundaries(1) =  9
  Save Line = Logical True
End
The error is

Code: Select all

ElasticSolve: -------------------------------------
ElasticSolve:  ELASTICITY ITERATION              1
ElasticSolve: -------------------------------------
ElasticSolve: 
ElasticSolve: Starting assembly...

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7F696934DE08
#1  0x7F696934CF90
#2  0x7F6968F9D4AF
#3  0x7F6949215F3B
#4  0x7F696986133F
#5  0x7F69698755F4
#6  0x7F6969876BD3
#7  0x7F69698786A9
#8  0x7F6969A3CABA
#9  0x4010F5 in MAIN__ at Solver.F90:69
I can mail the mesh file upon request as I am not able to upload it here.
Any help is appreciated.
mzenker
Posts: 1999
Joined: 07 Dec 2009, 11:49
Location: Germany

Re: Segmentation fault while using Save Line solver

Post by mzenker »

Hi,

the SaveLine solver is not contained in any equation, so it would not be executed anyway. But maybe ElmerSolver just doesn't like that and crashes.
If that is the case, IMHO it shouldn't crash just beacuse of an inactive solver in the sif. And a more verbose error message would be helpful indeed...

HTH,

Matthias
Post Reply