PeriHub / PeriLab.jl

Welcome to Peridynamic Laboratory (PeriLab), a powerful software solution designed for tackling Peridynamic problems.
https://perihub.github.io/PeriLab.jl/
BSD 3-Clause "New" or "Revised" License
24 stars 5 forks source link

[Error] Error with Exodus database #4

Closed oldninja closed 8 months ago

oldninja commented 8 months ago

name: Error with Exodus database about: File an issue title: '[Error] < Error with Exodus database >' labels: Error assignees: ''


Current Behavior:

Example fails at writing the output to the exodus database ⭕

Expected Behavior:

Example should produced the expected exodus database for post-processing in paraview.

Steps To Reproduce:

julia> using Pkg julia> Pkg.update("PeriLab") Updating registry at ~/.julia/registries/General.toml No Changes to ~/.julia/environments/v1.10/Project.toml No Changes to ~/.julia/environments/v1.10/Manifest.toml julia> Pkg.add("PeriLab") Resolving package versions... No Changes to ~/.julia/environments/v1.10/Project.toml No Changes to ~/.julia/environments/v1.10/Manifest.toml julia> Using PeriLab julia> PeriLab.get_examples() "~bin/examples" julia> PeriLab.main("examples/DCB/DCBmodel.yaml")

Environment:

Anything else:

PeriLab.main("examples/DCB/DCBmodel.yaml")

PeriLab. d8b 888 888 | Version: 1.0.6 888 Y88b Y8P 888 888 | 888 888 888 888 | Copyright: Dr.-Ing. Christian Willberg, M.Sc. Jan-Timo Hesse 888 d88P .d88b. 888d888 888 888 8888b. 88888b. | Contact: christian.willberg@dlr.de, jan-timo.hesse@dlr.de 8888888P" d8P Y8b 888P" 888 888 "88b 888 "88b | 888 88888888 888 888 888 .d888888 888 888 | License: BSD-3-Clause 888 Y8b. 888 888 888 888 888 888 d88P | 888 "Y8888 888 888 88888888 "Y888888 88888P" | Gitlab: https://gitlab.com/dlr-perihub/PeriLab.jl

┌ Warning: No current git info. └ @ PeriLab ~/.julia/packages/PeriLab/pZpHW/src/PeriLab.jl:210 [ Info: Read input file examples/DCB/DCBmodel.yaml [ Info: Read mesh file examples/DCB/DCBmodel.txt [ Info: Read node sets [ Info: 2d problem assumed, please define plane stress or plane strain if needed in Physics [ Info: Init Neighborhoodlist [ Info: Finished init Neighborhoodlist [ Info: Apply bond filters [ Info: Finished applying bond filters [ Info: Start distribution [ Info: Finished distribution [ Info: Create Overlap [ Info: Finished Overlap [ Info: Mesh input overview [ Info: ------------------- [ Info: Number of nodes: 1710 [ Info: Geometrical degrees of freedoms: 2 [ Info: ------------------- [ Info: Synchronize data over cores [ Info: Get node sets [ Info: FEM option is set to false [ Info: Finish init data [ Info: Init solver [ Info: Read properties [ Info: Init models [ Info: Init damage models [ Info: Init material models [ Info: Init pre calculation models [ Info: Init Boundary Conditions [ Info: Init Verlet [ Info: ======================= [ Info: ==== Verlet Solver ==== [ Info: ======================= [ Info: Initial time: 0.0 [s] [ Info: Final time: 0.0004 [s] [ Info: Minimal time increment: 1.7958019959575423e-6 [s] [ Info: Safety Factor: 0.95 [ Info: Time increment: 1.7021276595744682e-6 [s] [ Info: Number of steps: 235 [ Info: Numerical Damping 5.0e-6 [ Info: Finished Init Solver [ Info: Init write results ┌ Warning: "Temperature" is not defined as variable └ @ PeriLab.IO.Parameter_Handling ~/.julia/packages/PeriLab/pZpHW/src/Support/Parameters/parameter_handling_output.jl:154 [ Info: Create output examples/DCB/DCBmodel_Output1_red.e ERROR: MethodError: no method matching Exodus.ExodusDatabase{Int32, Int32, Int32, Float64}(::String, ::String, ::Exodus.Initialization{Int32})

Closest candidates are: Exodus.ExodusDatabase{M, I, B, F}(::Any, ::Any, ::Any, ::Any, ::Any, ::Any, ::Any, ::Any, ::Any, ::Any, ::Any, ::Any) where {M, I, B, F} @ Exodus ~/.julia/packages/Parameters/MK0O4/src/Parameters.jl:503

Stacktrace: [1] create_result_file(filename::String, num_nodes::Int64, num_dim::Int64, num_elem_blks::Int64, num_node_sets::Int64) @ PeriLab.IO ~/.julia/packages/PeriLab/pZpHW/src/IO/exodus_export.jl:41 [2] init_write_results(params::Dict{Any, Any}, output_dir::String, path::String, datamanager::Module, nsteps::Int64, PERILAB_VERSION::String) @ PeriLab.IO ~/.julia/packages/PeriLab/pZpHW/src/IO/IO.jl:373 [3] macro expansion @ ~/.julia/packages/TimerOutputs/RsWnF/src/TimerOutput.jl:237 [inlined] [4] macro expansion @ ~/.julia/packages/PeriLab/pZpHW/src/PeriLab.jl:239 [inlined] [5] macro expansion @ ~/.julia/packages/TimerOutputs/RsWnF/src/TimerOutput.jl:237 [inlined] [6] main(filename::String, output_dir::String, dry_run::Bool, verbose::Bool, debug::Bool, silent::Bool) @ PeriLab ~/.julia/packages/PeriLab/pZpHW/src/PeriLab.jl:188 [7] top-level scope @ REPL[7]:1

JTHesse commented 8 months ago

Hi @oldninja. It looks like there is an issue with the Exodus Package. Can you tell me the Version of the Exodus Package.

Pkg.status("Exodus")

oldninja commented 8 months ago

julia> Pkg.status("Exodus") No Matches in ~/.julia/environments/v1.10/Project.toml

oldninja commented 8 months ago

Is there a way to force it to update all the packages?

JTHesse commented 8 months ago

You can also take a look at the ~/.julia/environments/v1.10/Manifest.toml, there you should find the exodus version. A specific version can be installed like this:

julia
]
add Exodus@0.11.1
oldninja commented 8 months ago

Thank you @JTHesse ! I updated the packages, and now it is working fine. Do we need to update all the packages as we upgrade the versions with PeriLab? Or what do you think is the best way to maintain compatibility with the packages you are using as development continues?

For reference, these were all the updates that it applied:

julia> ~/.julia/environments/v1.10/Manifest.toml
~/.julia/environments/v1.10/Manifest.toml
   Installed MPItrampoline_jll ── v5.3.2+0
   Installed DataStructures ───── v0.18.17
   Installed LogExpFunctions ──── v0.3.27
   Installed Quaternions ──────── v0.7.6
   Installed Rotations ────────── v1.7.0
   Installed NetCDF_jll ───────── v400.902.209+0
   Installed CSV ──────────────── v0.10.12
   Installed Compat ───────────── v4.14.0
   Installed MacroTools ───────── v0.5.13
   Installed CodecZlib ────────── v0.7.4
   Installed TupleTools ───────── v1.5.0
   Installed ArgParse ─────────── v1.1.5
   Installed TensorOperations ─── v4.1.0
   Installed Nettle_jll ───────── v3.7.2+0
  Downloaded artifact: Blosc
  Downloaded artifact: MPICH
  Downloaded artifact: libzip
  Downloaded artifact: OpenSSL
  Downloaded artifact: Hwloc
  Downloaded artifact: Bzip2
  Downloaded artifact: XZ
  Downloaded artifact: GnuTLS
  Downloaded artifact: PMIx
  Downloaded artifact: prrte
  Downloaded artifact: P11Kit
  Downloaded artifact: libevent
  Downloaded artifact: Lz4
  Downloaded artifact: NetCDF
  Downloaded artifact: Nettle
  No Changes to `~/.julia/environments/v1.10/Project.toml`
    Updating `~/.julia/environments/v1.10/Manifest.toml`
  [c7e460c6] ↑ ArgParse v1.1.4 ⇒ v1.1.5
  [336ed68f] ↑ CSV v0.10.11 ⇒ v0.10.12
  [944b1d66] ↑ CodecZlib v0.7.3 ⇒ v0.7.4
  [34da2185] ↑ Compat v4.10.1 ⇒ v4.14.0
  [9a962f9c] ↑ DataAPI v1.15.0 ⇒ v1.16.0
  [864edb3b] ↑ DataStructures v0.18.15 ⇒ v0.18.17
⌅ [f57ae99e] ↑ Exodus v0.11.0 ⇒ v0.11.1
  [8ac3fa9e] ↑ LRUCache v1.6.0 ⇒ v1.6.1
  [2ab3a3ac] ↑ LogExpFunctions v0.3.26 ⇒ v0.3.27
⌃ [da04e1cc] ↓ MPI v0.20.19 ⇒ v0.20.16
  [1914dd2f] ↑ MacroTools v0.5.12 ⇒ v0.5.13
  [d96e819e] - Parameters v0.12.3
  [94ee1d12] ↑ Quaternions v0.7.5 ⇒ v0.7.6
  [6038ab10] ↑ Rotations v1.6.1 ⇒ v1.7.0
  [90137ffa] ↑ StaticArrays v1.8.1 ⇒ v1.9.3
  [fd094767] - Suppressor v0.2.6
  [6aa20fa7] ↑ TensorOperations v4.0.8 ⇒ v4.1.0
  [3bb67fe8] ↑ TranscodingStreams v0.10.2 ⇒ v0.10.3
  [9d95972d] ↑ TupleTools v1.4.3 ⇒ v1.5.0
  [3a884ed6] - UnPack v1.0.2
  [409d34a3] ↑ VectorInterface v0.4.2 ⇒ v0.4.4
  [0b7ba130] + Blosc_jll v1.21.5+0
  [6e34b625] ↑ Bzip2_jll v1.0.8+0 ⇒ v1.0.8+1
  [0951126a] + GnuTLS_jll v3.7.8+1
  [e33a78d0] + Hwloc_jll v2.10.0+0
  [5ced341a] + Lz4_jll v1.9.4+0
  [7cb0a576] ↑ MPICH_jll v4.1.2+1 ⇒ v4.2.0+0
  [f1f71cc9] ↑ MPItrampoline_jll v5.3.1+1 ⇒ v5.3.2+0
  [9237b28f] ↑ MicrosoftMPI_jll v10.1.4+1 ⇒ v10.1.4+2
  [7243133f] ↑ NetCDF_jll v400.902.208+0 ⇒ v400.902.209+0
  [4c82536e] + Nettle_jll v3.7.2+0
  [fe0851c0] ↑ OpenMPI_jll v4.1.6+0 ⇒ v5.0.2+0
  [458c3c95] ↑ OpenSSL_jll v3.0.12+0 ⇒ v3.0.13+0
  [c2071276] + P11Kit_jll v0.24.1+0
  [32165bc3] + PMIx_jll v4.2.7+0
  [ffd25f8a] + XZ_jll v5.4.6+0
  [1080aeaf] + libevent_jll v2.1.13+1
  [337d8026] + libzip_jll v1.10.1+0
  [eb928a42] + prrte_jll v3.0.2+0
  [781609d7] + GMP_jll v6.2.1+6
JTHesse commented 8 months ago

In the future you just need to update PeriLab, normally you don't need to worry about the dependencies.