HoWil wrote: ping
Elmer electrostatics FEM
Moderator: bernd
Forum rules
and Helpful information for the FEM forum
and Helpful information for the FEM forum
Re: Elmer electrostatics FEM
Re: Elmer electrostatics FEM
Did anything change?
I tested the following appimage and the 0.19 from ppa and both do not work.
In 0.18 the Elmer solver is not run correctly. Only stating "Executing solver..." in the task-view but nothing more. Therefore, no .vtu files can be read back into FC. Manually executing Elmersolver solves the case.sif file without problem and generates the correct .vtu file:
Code: Select all
$ ElmerSolver case.sif
ELMER SOLVER (v 8.4) STARTED AT: 2020/01/09 20:58:26
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-01-08)
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: =============================================================
MAIN:
MAIN:
MAIN: -------------------------------------
MAIN: Reading Model: case.sif
LoadInputFile: Scanning input file: case.sif
LoadInputFile: Loading input file: case.sif
Model Input: Unlisted keyword: [force 1 normalize by area] in section: [boundary condition 2]
Model Input: Unlisted keyword: [force 2 normalize by area] in section: [boundary condition 2]
Model Input: Unlisted keyword: [force 3 normalize by area] in section: [boundary condition 2]
Loading user function library: [StressSolve]...[StressSolver_Init0]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_Init0]
LoadMesh: Starting
ElmerAsciiMesh: Performing step: 1
LoadMesh: Base mesh name: .
LoadMesh: Reading header info from file: ./mesh.header
InitializeMesh: Number of nodes in mesh: 521
InitializeMesh: Number of bulk elements in mesh: 218
InitializeMesh: Number of boundary elements in mesh: 256
InitializeMesh: Initial number of max element nodes: 10
ElmerAsciiMesh: Performing step: 2
LoadMesh: Reading nodes from file: ./mesh.nodes
LoadMesh: Performing coordinate mapping
SetMeshDimension: Dimension of mesh is: 3
SetMeshDimension: Max dimension of mesh is: 3
ElmerAsciiMesh: Performing step: 3
LoadMesh: Reading bulk elements from file: ./mesh.elements
ElmerAsciiMesh: Performing step: 4
LoadMesh: Reading boundary elements from file: ./mesh.boundary
LoadMesh: Performing node mapping
ReadTargetNames: Reading names info from file: ./mesh.names
WARNING:: ReadTargetNames: Could not map name to Body nor BC: bnry4
LoadMesh: Remapping bodies
LoadMesh: Minimum initial body index: 3
LoadMesh: Maximum initial body index: 3
LoadMesh: Remapping boundaries
LoadMesh: Minimum initial boundary index: 1
LoadMesh: Maximum initial boundary index: 4
ElmerAsciiMesh: Performing step: 5
ElmerAsciiMesh: Performing step: 6
LoadMesh: Loading mesh done
LoadMesh: Preparing mesh done
LoadMesh: Elapsed REAL time: 0.0032 (s)
MeshStabParams: Computing stabilization parameters
MeshStabParams: Elapsed REAL time: 0.1079 (s)
MAIN: -------------------------------------
AddSolvers: Setting up 2 solvers
AddSolvers: Setting up solver 1: elasticity
AddEquationBasics: Using procedure: StressSolve StressSolver
AddEquationBasics: Setting up solver: elasticity
Loading user function library: [StressSolve]...[StressSolver_Init]
StressSolve_init:
StressSolve_init: --------------------------------------------------
StressSolve_init: Solving displacements from linear elasticity model
StressSolve_init: --------------------------------------------------
Loading user function library: [StressSolve]...[StressSolver_bulk]
Loading user function library: [StressSolve]...[StressSolver]
AddEquationBasics: Creating standard variable: displacement
OptimizeBandwidth: ---------------------------------------------------------
OptimizeBandwidth: Computing matrix structure for: elasticity...done.
OptimizeBandwidth: Half bandwidth without optimization: 519
OptimizeBandwidth:
OptimizeBandwidth: Bandwidth Optimization ...done.
OptimizeBandwidth: Half bandwidth after optimization: 108
OptimizeBandwidth: ---------------------------------------------------------
AddSolvers: Setting up solver 2: resultoutput
AddEquationBasics: Using procedure: ResultOutputSolve ResultOutputSolver
AddEquationBasics: Setting up solver: resultoutput
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_Init]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_bulk]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver]
AddMeshCoordinatesAndTime: Setting mesh coordinates and time
SetInitialConditions: Setting up initial conditions (if any)
MAIN:
MAIN: -------------------------------------
MAIN: Steady state iteration: 1
MAIN: -------------------------------------
MAIN:
ComputeNodalWeights: Computing weights for the mesh entities
BC weight: 1 999999.99999999965
BC weight: 2 999999.99999999965
BF weight: 1 0.0000000000000000
Body weight: 1 7999999999.9999647
Mat weight: 1 7999999999.9999647
CalculateEntityWeights: All done
ListSetCoefficients: Normalizing > force 1 < by 1.00000E-06
ListSetCoefficients: Normalizing > force 2 < by 1.00000E-06
ListSetCoefficients: Normalizing > force 3 < by 1.00000E-06
SingleSolver: Attempting to call solver
SingleSolver: Solver Equation string is: elasticity
StressSolve:
StressSolve: --------------------------------------------------
StressSolve: Solving displacements from linear elasticity model
StressSolve: --------------------------------------------------
DefaultStart: Starting solver: elasticity
StressSolve: Starting assembly...
StressSolve: Assembly:
StressSolve: Bulk assembly done
DefUtils::DefaultDirichletBCs: Setting Dirichlet boundary conditions
EnforceDirichletConditions: Applying Dirichlet conditions using scaled diagonal
ScaleLinearSystem: Scaling diagonal entries to unity
DefUtils::DefaultDirichletBCs: Dirichlet boundary conditions set
StressSolve: Set boundaries done
DefaultSolve: Solving linear system with default routines
SolveSystem: Solving linear system
SolveLinearSystem: Assuming real valued linear system
ScaleLinearSystem: Scaling diagonal entries to unity
SolveSystem: Linear System Solver: iterative
SolveSystem: Linear System Preconditioning: ilu0
SolveSystem: Serial linear System Solver: iterative
IterSolver: Using iterative method: bicgstab
CRS_IncompleteLU: ILU(0) (Real), Starting Factorization:
CRS_IncompleteLU: Allocated LU matrix of size: 96975
CRS_IncompleteLU: ILU(0) (Real), NOF nonzeros: 96976
CRS_IncompleteLU: ILU(0) (Real), filling (%) : 100
CRS_IncompleteLU: ILU(0) (Real), Factorization ready at (s): 0.00
1 0.1077E+01
2 0.1152E+01
3 0.1061E+01
4 0.1114E+01
5 0.1161E+01
6 0.1232E+01
7 0.1250E+01
8 0.1266E+01
9 0.1267E+01
10 0.1264E+01
11 0.1245E+01
12 0.1247E+01
13 0.1279E+01
14 0.1328E+01
15 0.1345E+01
16 0.1349E+01
17 0.1310E+01
18 0.1229E+01
19 0.1109E+01
20 0.1023E+01
21 0.1070E+01
22 0.1111E+01
23 0.1118E+01
24 0.1120E+01
25 0.1239E+01
26 0.1068E+01
27 0.1104E+01
28 0.1093E+01
29 0.1086E+01
30 0.1102E+01
31 0.1136E+01
32 0.1148E+01
33 0.1260E+01
34 0.1128E+01
35 0.1100E+01
36 0.1124E+01
37 0.9639E+00
38 0.8780E+00
39 0.8306E+00
40 0.8421E+00
41 0.6652E+00
42 0.5205E+00
43 0.5087E+00
44 0.5266E+00
45 0.5375E+00
46 0.5137E+00
47 0.5070E+00
48 0.5070E+00
49 0.5096E+00
50 0.4256E+00
51 0.4181E+00
52 0.3686E+00
53 0.3079E+00
54 0.2990E+00
55 0.2966E+00
56 0.2580E+00
57 0.2328E+00
58 0.2257E+00
59 0.1912E+00
60 0.1770E+00
61 0.1305E+00
62 0.1078E+00
63 0.1128E+00
64 0.1104E+00
65 0.8214E-01
66 0.8062E-01
67 0.8018E-01
68 0.7526E-01
69 0.6937E-01
70 0.9271E-01
71 0.1314E+00
72 0.1298E+00
73 0.1086E-01
74 0.1322E-01
75 0.1178E-01
76 0.1129E-01
77 0.1110E-01
78 0.9088E-02
79 0.6014E-02
80 0.5233E-02
81 0.5344E-02
82 0.1135E-01
83 0.4043E-02
84 0.4103E-02
85 0.4086E-02
86 0.4070E-02
87 0.4070E-02
88 0.4047E-02
89 0.3939E-02
90 0.4377E-02
91 0.4282E-02
92 0.1205E-01
93 0.7664E-02
94 0.7043E-02
95 0.6001E-02
96 0.2735E-02
97 0.2717E-02
98 0.2722E-02
99 0.2720E-02
100 0.2720E-02
101 0.2720E-02
102 0.2720E-02
103 0.2721E-02
104 0.2646E-02
105 0.2592E-02
106 0.2592E-02
107 0.2587E-02
108 0.2591E-02
109 0.2574E-02
110 0.2567E-02
111 0.1977E-02
112 0.2139E-02
113 0.5814E-02
114 0.6271E-02
115 0.6232E-02
116 0.2573E-01
117 0.5299E-02
118 0.1317E-01
119 0.8515E-02
120 0.1361E-01
121 0.1645E-02
122 0.1128E-02
123 0.1999E-02
124 0.1895E-02
125 0.2377E-02
126 0.2243E-03
127 0.7065E-03
128 0.4919E-04
129 0.2867E-04
130 0.6138E-04
131 0.7715E-04
132 0.5519E-04
133 0.1519E-03
134 0.1402E-03
135 0.1427E-04
136 0.5708E-04
137 0.5802E-04
138 0.1233E-03
139 0.1533E-05
140 0.4250E-06
141 0.4539E-06
142 0.2072E-06
143 0.3860E-06
144 0.5718E-06
145 0.5743E-06
146 0.6246E-06
147 0.4986E-06
148 0.9066E-07
149 0.2117E-08
149 0.2117E-08
ComputeNorm: Computing norm of solution
ComputeChange: NS (ITER=1) (NRM,RELC): ( 27.008495 2.0000000 ) :: elasticity
DefaultFinish: Finished solver: elasticity
StressSolver: All done
StressSolver: ------------------------------------------
Loading user function library: [StressSolve]...[StressSolver_post]
ComputeNorm: Computing norm of solution
ComputeChange: SS (ITER=1) (NRM,RELC): ( 27.008495 2.0000000 ) :: elasticity
SingleSolver: Attempting to call solver
SingleSolver: Solver Equation string is: resultoutput
ResultOutputSolver: -------------------------------------
ResultOutputSolve: Saving with prefix: case
ResultOutputSolver: Working on mesh: .
ResultOutputSolver: Dimension of mesh is: 3
ResultOutputSolver: Creating list for saving - if not present
CreateListForSaving: Field Variables for Saving
CreateListForSaving: Vector Field 1: displacement
ResultOutputSolver: Saving in unstructured VTK XML (.vtu) format
VtuOutputSolver: Saving results in VTK XML format with prefix: case
VtuOutputSolver: Saving number of partitions: 1
SolverOutputDirectory: Creating directory: .
VtuOutputSolver: Full filename base is: ./case
VtuOutputSolver: Number of active elements 474 out of 474
VtuOutputSolver: Number of geometry nodes 521 out of 521
VtuOutputSolver: Total number of geometry nodes to save: 521
VtuOutputSolver: Total number of dof nodes to save: 521
VtuOutputSolver: Total number of elements to save: 474
VtuOutputSolver: Maximum number of eigen/harmonic modes: 5
VtuOutputSolver: Writing the vtu file: ./case_t0001.vtu
AscBinWriteInit: Initializing buffered ascii/binary writing
AscBinWriteInit: Writing in binary
AscBinWriteInit: Writing in double precision
AscBinWriteInit: Writing to unit number: 58
AscBinWriteInit: Size of buffer is: 1000
VtuOutputSolver: Writing nodal fields
VtuOutputSolver: Saving variable: displacement
VtuOutputSolver: Number of nodal fields written: 1
VtuOutputSolver: Writing elemental fields
VtuOutputSolver: Number of elemental fields written: 0
VtuOutputSolver: Writing coordinates for each used node
VtuOutputSolver: Writing the elemental connectivity data
VtuOutputSolver: Writing nodal fields
VtuOutputSolver: Saving variable: displacement
VtuOutputSolver: Writing elemental fields
AscBinWriteFree: Terminating buffered ascii/binary writing
VtuOutputSolver: All done for now
ResultOutputSolver: -------------------------------------
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_post]
ReloadInputFile: Realoading input file
LoadInputFile: Loading input file:
ElmerSolver: *** Elmer Solver: ALL DONE ***
ElmerSolver: The end
SOLVER TOTAL TIME(CPU,REAL): 0.69 0.62
ELMER SOLVER FINISHED AT: 2020/01/09 20:58:27
wilfried@black:/tmp/Cantilever3D/SolverElmer$ pa
pacat pamoil parsechangelog
pack200 pamon parted
pacmd pamstack partprobe
pactl pamstretch partx
padsp pamstretch-gen passwd
pager pam_tally paste
palmtopnm pam_tally2 pasuspender
pam-auth-update pam_timestamp_check patch
pamcut pandoc patchwork
pamdeinterlace paperconf patgen
pamdice paperconfig pathchk
pam_extrausers_chkpwd paplay pavucontrol
pam_extrausers_update paraview pax11publish
pamfile parec
pam_getenv parecord
howil@black:/tmp/Cantilever3D/SolverElmer$ paraview
Generic Warning: In /build/paraview-lH8wFv/paraview-5.4.1+dfsg3/VTK/Rendering/Volume/vtkVolumeTextureMapper3D.cxx, line 680
vtkVolumeTextureMapper3D::vtkVolumeTextureMapper3D was deprecated for VTK 7.0 and will be removed in a future version.
Generic Warning: In /build/paraview-lH8wFv/paraview-5.4.1+dfsg3/VTK/Rendering/VolumeOpenGL/vtkOpenGLVolumeTextureMapper3D.cxx, line 57
vtkOpenGLVolumeTextureMapper3D::vtkOpenGLVolumeTextureMapper3D was deprecated for VTK 7.0 and will be removed in a future version.
I do not think that path settings are the problem because solving works in 0.19 (see below). EDIT: Manual setting the path to "/usr/bin/ElmerSolver" and "/usr/bin/ElmerGrid" did also not help.
OS: Ubuntu 18.04.3 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.16146 (Git) AppImage
Build type: Release
Branch: (HEAD detached at 0.18.4)
Hash: 980bf9060e28555fecd9e3462f68ca74007b70f8
Python version: 3.6.7
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)
EDIT:
Same with
OS: Ubuntu 18.04.3 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.16117 (Git) AppImage
Build type: Release
Branch: (HEAD detached at 0.18.2)
Hash: dbb4cc6415bac848a294f03b80f65e888d531742
Python version: 3.6.7
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)
In 0.19 no results object is created (I deleted the original one) and the SolverElmerOutput is recreated after clicking somewhere in the tree-view but keeps empty. Nevertheless, the Elmer Solver runs without problems and produces the correct results files (checked the values with Paraview) stored as "case_t0001.vtu" in the right subfolder. The .vtu holds only "displacement" as magnitude, x, y, z values. There are no error-messages in the report-view. EDIT: BTW: The symbol on the elmer solver for recomputing does not fanish.
OS: Ubuntu 18.04.3 LTS (GNOME/gnome)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.
Build type: Release
Python version: 3.6.9
Qt version: 5.9.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)
# The solver output from the task panel:
Code: Select all
Executing solver...
ELMER SOLVER (v 8.4) STARTED AT: 2020/01/09 20:35:05
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-01-08)
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: =============================================================
MAIN:
MAIN:
MAIN: -------------------------------------
MAIN: Reading Model: case.sif
LoadInputFile: Scanning input file: case.sif
LoadInputFile: Loading input file: case.sif
Model Input: Unlisted keyword: [force 1 normalize by area] in section: [boundary condition 2]
Model Input: Unlisted keyword: [force 2 normalize by area] in section: [boundary condition 2]
Model Input: Unlisted keyword: [force 3 normalize by area] in section: [boundary condition 2]
Loading user function library: [StressSolve]...[StressSolver_Init0]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_Init0]
LoadMesh: Starting
ElmerAsciiMesh: Performing step: 1
LoadMesh: Base mesh name: .
LoadMesh: Reading header info from file: ./mesh.header
InitializeMesh: Number of nodes in mesh: 521
InitializeMesh: Number of bulk elements in mesh: 218
InitializeMesh: Number of boundary elements in mesh: 256
InitializeMesh: Initial number of max element nodes: 10
ElmerAsciiMesh: Performing step: 2
LoadMesh: Reading nodes from file: ./mesh.nodes
LoadMesh: Performing coordinate mapping
SetMeshDimension: Dimension of mesh is: 3
SetMeshDimension: Max dimension of mesh is: 3
ElmerAsciiMesh: Performing step: 3
LoadMesh: Reading bulk elements from file: ./mesh.elements
ElmerAsciiMesh: Performing step: 4
LoadMesh: Reading boundary elements from file: ./mesh.boundary
LoadMesh: Performing node mapping
ReadTargetNames: Reading names info from file: ./mesh.names
WARNING:: ReadTargetNames: Could not map name to Body nor BC: bnry4
LoadMesh: Remapping bodies
LoadMesh: Minimum initial body index: 3
LoadMesh: Maximum initial body index: 3
LoadMesh: Remapping boundaries
LoadMesh: Minimum initial boundary index: 1
LoadMesh: Maximum initial boundary index: 4
ElmerAsciiMesh: Performing step: 5
ElmerAsciiMesh: Performing step: 6
LoadMesh: Loading mesh done
LoadMesh: Preparing mesh done
LoadMesh: Elapsed REAL time: 0.0066 (s)
MeshStabParams: Computing stabilization parameters
MeshStabParams: Elapsed REAL time: 0.0998 (s)
MAIN: -------------------------------------
AddSolvers: Setting up 2 solvers
AddSolvers: Setting up solver 1: elasticity
AddEquationBasics: Using procedure: StressSolve StressSolver
AddEquationBasics: Setting up solver: elasticity
Loading user function library: [StressSolve]...[StressSolver_Init]
StressSolve_init:
StressSolve_init: --------------------------------------------------
StressSolve_init: Solving displacements from linear elasticity model
StressSolve_init: --------------------------------------------------
Loading user function library: [StressSolve]...[StressSolver_bulk]
Loading user function library: [StressSolve]...[StressSolver]
AddEquationBasics: Creating standard variable: displacement
OptimizeBandwidth: ---------------------------------------------------------
OptimizeBandwidth: Computing matrix structure for: elasticity...done.
OptimizeBandwidth: Half bandwidth without optimization: 519
OptimizeBandwidth:
OptimizeBandwidth: Bandwidth Optimization ...done.
OptimizeBandwidth: Half bandwidth after optimization: 108
OptimizeBandwidth: ---------------------------------------------------------
AddSolvers: Setting up solver 2: resultoutput
AddEquationBasics: Using procedure: ResultOutputSolve ResultOutputSolver
AddEquationBasics: Setting up solver: resultoutput
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_Init]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_bulk]
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver]
AddMeshCoordinatesAndTime: Setting mesh coordinates and time
SetInitialConditions: Setting up initial conditions (if any)
MAIN:
MAIN: -------------------------------------
MAIN: Steady state iteration: 1
MAIN: -------------------------------------
MAIN:
ComputeNodalWeights: Computing weights for the mesh entities
BC weight: 1 999999.99999999965
BC weight: 2 999999.99999999965
BF weight: 1 0.0000000000000000
Body weight: 1 7999999999.9999647
Mat weight: 1 7999999999.9999647
CalculateEntityWeights: All done
ListSetCoefficients: Normalizing > force 1 < by 1.00000E-06
ListSetCoefficients: Normalizing > force 2 < by 1.00000E-06
ListSetCoefficients: Normalizing > force 3 < by 1.00000E-06
SingleSolver: Attempting to call solver
SingleSolver: Solver Equation string is: elasticity
StressSolve:
StressSolve: --------------------------------------------------
StressSolve: Solving displacements from linear elasticity model
StressSolve: --------------------------------------------------
DefaultStart: Starting solver: elasticity
StressSolve: Starting assembly...
StressSolve: Assembly:
StressSolve: Bulk assembly done
DefUtils::DefaultDirichletBCs: Setting Dirichlet boundary conditions
EnforceDirichletConditions: Applying Dirichlet conditions using scaled diagonal
ScaleLinearSystem: Scaling diagonal entries to unity
DefUtils::DefaultDirichletBCs: Dirichlet boundary conditions set
StressSolve: Set boundaries done
DefaultSolve: Solving linear system with default routines
SolveSystem: Solving linear system
SolveLinearSystem: Assuming real valued linear system
ScaleLinearSystem: Scaling diagonal entries to unity
SolveSystem: Linear System Solver: iterative
SolveSystem: Linear System Preconditioning: ilu0
SolveSystem: Serial linear System Solver: iterative
IterSolver: Using iterative method: bicgstab
CRS_IncompleteLU: ILU(0) (Real), Starting Factorization:
CRS_IncompleteLU: Allocated LU matrix of size: 96975
CRS_IncompleteLU: ILU(0) (Real), NOF nonzeros: 96976
CRS_IncompleteLU: ILU(0) (Real), filling (%) : 100
CRS_IncompleteLU: ILU(0) (Real), Factorization ready at (s): 0.00
1 0.1077E+01
2 0.1152E+01
3 0.1061E+01
4 0.1114E+01
5 0.1161E+01
6 0.1232E+01
7 0.1250E+01
8 0.1266E+01
9 0.1267E+01
10 0.1264E+01
11 0.1245E+01
12 0.1247E+01
13 0.1279E+01
14 0.1328E+01
15 0.1345E+01
16 0.1349E+01
17 0.1310E+01
18 0.1229E+01
19 0.1109E+01
20 0.1023E+01
21 0.1070E+01
22 0.1111E+01
23 0.1118E+01
24 0.1120E+01
25 0.1239E+01
26 0.1068E+01
27 0.1104E+01
28 0.1093E+01
29 0.1086E+01
30 0.1102E+01
31 0.1136E+01
32 0.1148E+01
33 0.1260E+01
34 0.1128E+01
35 0.1100E+01
36 0.1124E+01
37 0.9639E+00
38 0.8780E+00
39 0.8306E+00
40 0.8421E+00
41 0.6652E+00
42 0.5205E+00
43 0.5087E+00
44 0.5266E+00
45 0.5375E+00
46 0.5137E+00
47 0.5070E+00
48 0.5070E+00
49 0.5096E+00
50 0.4256E+00
51 0.4181E+00
52 0.3686E+00
53 0.3079E+00
54 0.2990E+00
55 0.2966E+00
56 0.2580E+00
57 0.2328E+00
58 0.2257E+00
59 0.1912E+00
60 0.1770E+00
61 0.1305E+00
62 0.1078E+00
63 0.1128E+00
64 0.1104E+00
65 0.8214E-01
66 0.8062E-01
67 0.8018E-01
68 0.7526E-01
69 0.6937E-01
70 0.9271E-01
71 0.1314E+00
72 0.1298E+00
73 0.1086E-01
74 0.1322E-01
75 0.1178E-01
76 0.1129E-01
77 0.1110E-01
78 0.9088E-02
79 0.6014E-02
80 0.5233E-02
81 0.5344E-02
82 0.1135E-01
83 0.4043E-02
84 0.4103E-02
85 0.4086E-02
86 0.4070E-02
87 0.4070E-02
88 0.4047E-02
89 0.3939E-02
90 0.4377E-02
91 0.4282E-02
92 0.1205E-01
93 0.7664E-02
94 0.7043E-02
95 0.6001E-02
96 0.2735E-02
97 0.2717E-02
98 0.2722E-02
99 0.2720E-02
100 0.2720E-02
101 0.2720E-02
102 0.2720E-02
103 0.2721E-02
104 0.2646E-02
105 0.2592E-02
106 0.2592E-02
107 0.2587E-02
108 0.2591E-02
109 0.2574E-02
110 0.2567E-02
111 0.1977E-02
112 0.2139E-02
113 0.5814E-02
114 0.6271E-02
115 0.6232E-02
116 0.2573E-01
117 0.5299E-02
118 0.1317E-01
119 0.8515E-02
120 0.1361E-01
121 0.1645E-02
122 0.1128E-02
123 0.1999E-02
124 0.1895E-02
125 0.2377E-02
126 0.2243E-03
127 0.7065E-03
128 0.4919E-04
129 0.2867E-04
130 0.6138E-04
131 0.7715E-04
132 0.5519E-04
133 0.1519E-03
134 0.1402E-03
135 0.1427E-04
136 0.5708E-04
137 0.5802E-04
138 0.1233E-03
139 0.1533E-05
140 0.4250E-06
141 0.4539E-06
142 0.2072E-06
143 0.3860E-06
144 0.5718E-06
145 0.5743E-06
146 0.6246E-06
147 0.4986E-06
148 0.9066E-07
149 0.2117E-08
149 0.2117E-08
ComputeNorm: Computing norm of solution
ComputeChange: NS (ITER=1) (NRM,RELC): ( 27.008495 2.0000000 ) :: elasticity
DefaultFinish: Finished solver: elasticity
StressSolver: All done
StressSolver: ------------------------------------------
Loading user function library: [StressSolve]...[StressSolver_post]
ComputeNorm: Computing norm of solution
ComputeChange: SS (ITER=1) (NRM,RELC): ( 27.008495 2.0000000 ) :: elasticity
SingleSolver: Attempting to call solver
SingleSolver: Solver Equation string is: resultoutput
ResultOutputSolver: -------------------------------------
ResultOutputSolve: Saving with prefix: case
ResultOutputSolver: Working on mesh: .
ResultOutputSolver: Dimension of mesh is: 3
ResultOutputSolver: Creating list for saving - if not present
CreateListForSaving: Field Variables for Saving
CreateListForSaving: Vector Field 1: displacement
ResultOutputSolver: Saving in unstructured VTK XML (.vtu) format
VtuOutputSolver: Saving results in VTK XML format with prefix: case
VtuOutputSolver: Saving number of partitions: 1
SolverOutputDirectory: Creating directory: .
VtuOutputSolver: Full filename base is: ./case
VtuOutputSolver: Number of active elements 474 out of 474
VtuOutputSolver: Number of geometry nodes 521 out of 521
VtuOutputSolver: Total number of geometry nodes to save: 521
VtuOutputSolver: Total number of dof nodes to save: 521
VtuOutputSolver: Total number of elements to save: 474
VtuOutputSolver: Maximum number of eigen/harmonic modes: 5
VtuOutputSolver: Writing the vtu file: ./case_t0001.vtu
AscBinWriteInit: Initializing buffered ascii/binary writing
AscBinWriteInit: Writing in binary
AscBinWriteInit: Writing in double precision
AscBinWriteInit: Writing to unit number: 58
AscBinWriteInit: Size of buffer is: 1000
VtuOutputSolver: Writing nodal fields
VtuOutputSolver: Saving variable: displacement
VtuOutputSolver: Number of nodal fields written: 1
VtuOutputSolver: Writing elemental fields
VtuOutputSolver: Number of elemental fields written: 0
VtuOutputSolver: Writing coordinates for each used node
VtuOutputSolver: Writing the elemental connectivity data
VtuOutputSolver: Writing nodal fields
VtuOutputSolver: Saving variable: displacement
VtuOutputSolver: Writing elemental fields
AscBinWriteFree: Terminating buffered ascii/binary writing
VtuOutputSolver: All done for now
ResultOutputSolver: -------------------------------------
Loading user function library: [ResultOutputSolve]...[ResultOutputSolver_post]
ReloadInputFile: Realoading input file
LoadInputFile: Loading input file:
ElmerSolver: *** Elmer Solver: ALL DONE ***
ElmerSolver: The end
SOLVER TOTAL TIME(CPU,REAL): 0.82 0.74
ELMER SOLVER FINISHED AT: 2020/01/09 20:35:06
So, both 0.18 and 0.19 do not work for/with different reasons.
Hope this helps somehow.
If there is something more specific I can do, please let me know.
Re: Elmer electrostatics FEM
Dear Ted,
We are back in business after drifting away because of some stupid problems due to newly named result files (see here).
For the far-field boundary condition there is a tutorial "6. Electrostatic equation – Capacitance of two balls" on page 30 in http://www.nic.funet.fi/index/elmer/doc ... orials.pdf .
So, if I do not oversee a thing this should be implemented easily (even if right now I do not have any clue when to start). Please see https://www.freecadweb.org/wiki/Add_FEM ... t_Tutorial if you are willing to add the constraint yourself (several files should have been moved around but the basic approach is still the same @Bernd: can you please comment on this).
Do you have any Elmer tutorials for the definition of the relative permittivity on a surface ?
BR,
HoWil
We are back in business after drifting away because of some stupid problems due to newly named result files (see here).
Both is not yet implemented in FC.
For the far-field boundary condition there is a tutorial "6. Electrostatic equation – Capacitance of two balls" on page 30 in http://www.nic.funet.fi/index/elmer/doc ... orials.pdf .
So, if I do not oversee a thing this should be implemented easily (even if right now I do not have any clue when to start). Please see https://www.freecadweb.org/wiki/Add_FEM ... t_Tutorial if you are willing to add the constraint yourself (several files should have been moved around but the basic approach is still the same @Bernd: can you please comment on this).
Do you have any Elmer tutorials for the definition of the relative permittivity on a surface ?
BR,
HoWil
Re: Elmer electrostatics FEM
yes the basic approach is still the same. here can be seen how to implement a new constraint for the Calculix writer. Last four commits https://github.com/berndhahnebach/FreeC ... ts/ef0fca6 This may help too.HoWil wrote: ↑Mon Jan 27, 2020 9:13 pm So, if I do not oversee a thing this should be implemented easily (even if right now I do not have any clue when to start). Please see https://www.freecadweb.org/wiki/Add_FEM ... t_Tutorial if you are willing to add the constraint yourself (several files should have been moved around but the basic approach is still the same @Bernd: can you please comment on this).
Re: Elmer electrostatics FEM
Dear Ted,
Attached you will find a first example of a unfinished model for the requested Tutorial 6. I just tested if and how easy I can set up the model.
There is no farfield boundary condition now and also no capacity calculation.
In a next step I will test if I can add these settings by hand into the .sif file.
I had to clear the mesh and the results to get the filesize below 1MB for attaching it to this forum-entry.
I also (re-) found a issue when setting for 'ConstraintElectrostaticPotential' : the value 0 (zero) is ignored as input; I entered "0,01 mV" instead.
BR,
HoWil
OS: Ubuntu 18.04.3 LTS (GNOME/gnome)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.
Build type: Release
Python version: 3.6.9
Qt version: 5.9.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)
- Attachments
-
- Results opened in paraview.
- Screenshot from 2020-02-08 21-06-20.png (248.57 KiB) Viewed 1933 times
-
- Results opened in FC.
- Screenshot from 2020-02-08 21-04-52.png (757.63 KiB) Viewed 1933 times
-
- Tutorial_6 - Electrostatic equation – Capacitance of two balls.FCStd
- (29.4 KiB) Downloaded 37 times
Re: Elmer electrostatics FEM
Dear Ted,
Attached you will find a second example of a manually modified model for the requested Tutorial 6.
The code for calculating the capacitance matrix, the boundary conditions for the capacitance calculation and the farfield boundary condition were set manually in the exported .sif file (between 'write' and 'run' in the 'Solver Control' dialogue).
I had to clear the mesh and the results to get the filesize below 1MB for attaching it to this forum-entry.
The results for the capacitance match the results in the tutorial but one has to keep the base-unit mm of FC in mind (resulting in the additional E+03 in 'StatElecSolve: 1 2 1.66615E+03' see also 'Dimensions' of Farad on https://de.wikipedia.org/wiki/Farad)
BR,
HoWil
Attached you will find a second example of a manually modified model for the requested Tutorial 6.
The code for calculating the capacitance matrix, the boundary conditions for the capacitance calculation and the farfield boundary condition were set manually in the exported .sif file (between 'write' and 'run' in the 'Solver Control' dialogue).
I had to clear the mesh and the results to get the filesize below 1MB for attaching it to this forum-entry.
The results for the capacitance match the results in the tutorial but one has to keep the base-unit mm of FC in mind (resulting in the additional E+03 in 'StatElecSolve: 1 2 1.66615E+03' see also 'Dimensions' of Farad on https://de.wikipedia.org/wiki/Farad)
BR,
HoWil
Code: Select all
OS: Ubuntu 18.04.4 LTS (GNOME/gnome)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.
Build type: Release
Python version: 3.6.9
Qt version: 5.9.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)
Code: Select all
! All changes were marked as 'manually added' or 'manually changed'
Check Keywords Warn
Header
Mesh DB "."
End
Solver 1
Bubbles = Logical False
Calculate Electric Energy = Logical False
Calculate Electric Field = Logical True
Calculate Surface Charge = Logical False
Calculate Capacitance Matrix = True ! manually added
Displace mesh = Logical False
Equation = String "Stat Elec Solver"
Exec Solver = String "Always"
Linear System Abort Not Converged = Logical False
Linear System Convergence Tolerance = Real 1e-08
Linear System Iterative Method = String "BiCGStab"
Linear System Max Iterations = Integer 500
Linear System Precondition Recompute = Integer 1
Linear System Preconditioning = String "ILU0"
Linear System Residual Output = Integer 1
Linear System Solver = String "Iterative"
Optimize Bandwidth = Logical True
Procedure = File "StatElecSolve" "StatElecSolver"
Stabilize = Logical True
Steady State Convergence Tolerance = Real 1e-05
Variable = String "Potential"
Variable DOFs = Integer 1
End
Simulation
BDF Order = Integer 1
Coordinate Mapping(3) = Integer 1 2 3
Coordinate System = String "Cartesian 3D"
Output Intervals = Integer 1
Simulation Type = String "Steady state"
Steady State Max Iterations = Integer 1
Steady State Min Iterations = Integer 0
Timestepping Method = String "BDF"
Use Mesh Names = Logical True
End
Constants
Permittivity Of Vacuum = Real 1.0 ! manually changed from 8.8542e-15
End
Body 1
Equation = Integer 1
Material = Integer 1
Name = String "Solid1"
End
Material 1
Relative Permittivity = Real 1.0
End
Equation 1
Active Solvers(2) = Integer 1 2
End
Solver 2
Equation = String "ResultOutput"
Exec Solver = String "After simulation"
Output File Name = File "case"
Procedure = File "ResultOutputSolve" "ResultOutputSolver"
Vtu Format = Logical True
End
Boundary Condition 1
Name = String "Face2"
!Potential = Real 10.0
Capacitance Body = 1 ! manually added
End
Boundary Condition 2
Name = String "Face3"
!Potential = Real 1000000.0 ! manually added
Capacitance Body = 2 ! manually added
End
Boundary Condition 3
Name = String "Face1"
!Potential Constant = Logical True ! manually added
Electric Infinity BC = True ! manually added
End
- Attachments
-
- Tutorial_6 - Electrostatic equation – Capacitance of two balls.FCStd
- The mesh was cleared and the results deleted to get the file size below 1MB.
- (26.01 KiB) Downloaded 41 times
Re: Elmer electrostatics FEM
This is related to a missing check of 'obj.PotentialEnabled' in '/Mod/Fem/femsolver/elmer/writer.py' (https://github.com/FreeCAD/FreeCAD/blob ... /writer.py). If this is the same for obj.Velocity[X,Y,Z]Enabled in FluidFlow has to be checked separately.
The lines 356-358 in writer.py have to be changed to
Code: Select all
if obj.PotentialEnabled: # HoWil: was added
if hasattr(obj, 'Potential'): # HoWil:has to be changed from " if obj.Potential:"
potential = getFromUi(obj.Potential, "V", "M*L^2/(T^3 * I)")
self._boundary(name, "Potential", potential)
Hi Bernd, Can you please change this. I do not have any running git system at hand and do not even know how to use it anymore .bernd wrote: Ping
For future changes I promise I will make proper commits .
Re: Elmer electrostatics FEM
but this if is useless now, because any ConstraintElectrostaticPotential has the attribute Potential. Before the Potential had to be not 0.0