I'm trying to solve a simple problem to make practice with this software.
I created a cube and I meshed it in gmsh. After that I imported the mesh in ElmerGUI and I did this steps in this order:
ELMER SOLVER (v 8.3) STARTED AT: 2019/02/06 14:25:16
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.3 (Rev: 432ee0dd, Compiled: 2018-12-18)
MAIN: Running one task without MPI parallelization.
MAIN: Running with just one thread per task.
MAIN: Lua interpreted linked in.
MAIN: =============================================================
MAIN:
MAIN:
MAIN: -------------------------------------
MAIN: Reading Model: case.sif
LoadInputFile: Scanning input file: case.sif
LoadInputFile: Loading input file: case.sif
Loading user function library: [StatElecSolve]...[StatElecSolver_Init0]
LoadMesh: Base mesh name: ./.
LoadMesh: Elapsed REAL time: 0.0410 (s)
MAIN: -------------------------------------
AddVtuOutputSolverHack: Adding ResultOutputSolver to write VTU output in file: case
Loading user function library: [StatElecSolve]...[StatElecSolver_Init]
Loading user function library: [StatElecSolve]...[StatElecSolver_bulk]
Loading user function library: [StatElecSolve]...[StatElecSolver]
OptimizeBandwidth: ---------------------------------------------------------
OptimizeBandwidth: Computing matrix structure for: electrostatics...done.
OptimizeBandwidth: Half bandwidth without optimization: 1016
OptimizeBandwidth:
OptimizeBandwidth: Bandwidth Optimization ...done.
OptimizeBandwidth: Half bandwidth after optimization: 240
OptimizeBandwidth: ---------------------------------------------------------
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_Init]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_bulk]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver]
MAIN:
MAIN: -------------------------------------
MAIN: Steady state iteration: 1
MAIN: -------------------------------------
MAIN:
SingleSolver: Attempting to call solver
SingleSolver: Solver Equation string is: electrostatics
StatElecSolve: -------------------------------------
StatElecSolve: STATELEC SOLVER:
StatElecSolve: -------------------------------------
StatElecSolve:
StatElecSolve: Electrostatic iteration: 1
StatElecSolve: Starting Assembly...
DefUtils::DefaultDirichletBCs: Setting Dirichlet boundary conditions
DefUtils::DefaultDirichletBCs: Dirichlet boundary conditions set
StatElecSolve: Assembly (s) : 4.2999999999999983E-002
SolveSystem: Solution trivially zero!
StatElecSolve: Solve (s) : 0.0000000000000000
StatElecSolve: Result Norm : 0.0000000000000000
StatElecSolve: Relative Change : 0.0000000000000000
StatElecSolve:
Loading user function library: [StatElecSolve]...[StatElecSolver_post]
ComputeChange: SS (ITER=1) (NRM,RELC): ( 0.0000000 0.0000000 ) :: electrostatics
SingleSolver: Attempting to call solver
SingleSolver: Solver Equation string is: internalvtuoutputsolver
ResultOutputSolver: -------------------------------------
ResultOutputSolve: Saving with prefix: case
ResultOutputSolver: Creating list for saving - if not present
CreateListForSaving: Field Variables for Saving
ResultOutputSolver: Saving in unstructured VTK XML (.vtu) format
VtuOutputSolver: Saving results in VTK XML format with prefix: case
VtuOutputSolver: Saving number of partitions: 1
ResultOutputSolver: -------------------------------------
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_post]
ElmerSolver: *** Elmer Solver: ALL DONE ***
ElmerSolver: The end
SOLVER TOTAL TIME(CPU,REAL): 0.27 0.27
ELMER SOLVER FINISHED AT: 2019/02/06 14:25:16
It seems that all is ok.
Now I would like to see the potential in 3D space, but when I click on ElmerPost nothing happens, because it replies: 'No ElmerPost input file found'.
Should I generate such a file or am I missing some parameters before the solving process?
it is often useful to post the case.sif file which is in your project directory. That file is written by ElmerGUI and read by ElmerSolver. It contains the actual settings.
I would guess that in your case you need to start ParaView by hand (if not already installed, install it) and open the file case.vtu which I would expect to be in your project directory.
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
Initial condition = 1
End
Solver 1
Equation = Electrostatics
Variable = Potential
Procedure = "StatElecSolve" "StatElecSolver"
Exec Solver = Always
Stabilize = True
Bubbles = False
Lumped Mass Matrix = False
Optimize Bandwidth = True
Steady State Convergence Tolerance = 1.0e-5
Nonlinear System Convergence Tolerance = 1.0e-7
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 = ILU0
Linear System ILUT Tolerance = 1.0e-3
Linear System Abort Not Converged = False
Linear System Residual Output = 10
Linear System Precondition Recompute = 1
End
Equation 1
Name = "Equation 1"
Active Solvers(1) = 1
End
Material 1
Name = "Steel (alloy - generic)"
Heat expansion Coefficient = 12.0e-6
Heat Conductivity = 37.2
Relative Permittivity = 1
Sound speed = 5100.0
Heat Capacity = 976.0
Mesh Poisson ratio = 0.285
Density = 7850.0
Poisson ratio = 0.285
Youngs modulus = 200.0e9
End
Initial Condition 1
Name = "InitialCondition 1"
Potential = 1
End
Regarding Paraview, I know that Elmer already has an internal tool for post-processing, ElmerPost I think. Is it right?
you need a boundary condition in order to get a valid result.
ElmerPost does still exist, but is no longer supported. Instead ParaView is the recommended postprocessor.
To use ElmerPost, you need to change the file extension of the post file in Model->setup to .ep.
More generally, to get started with Elmer I would propose that you have a look into the tutorials...
Ok thank you.
I would like to ask you another thing to complete my test project.
What's the difference between 'initial condition' and 'boundary condition' if the problem is not time/space-varying (electrostatic)?
Inside the boundary conditions, I also see 'potential' and 'potential condition'. What's the difference between them?
for a steady state simulation, initial condition makes no sense a priori. However, AFAIK it is used as initial guess for the iteration.
For your second question and many others you might have, you should first have a look into the documentation. The most important are the Solver Manual (see chapter 8 for your question), the Models Manual, and the Tutorials for beginners.