Values in UniformDB not specified

Dear CIG team,

I am running 3D subduction following 3D subduction examples step03.
I change some materials because I currently don’t include wedge in my simulation.
I already modify my material filename in pylith.cfg, step03.cfg, mat_viscoelatic.cfg but it still doesn’t work.

The error notification is :
File “/home/umarf/Documents/Alvina/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/spatialdata/spatialdb/UniformDB.py”, line 114, in _validateParameters

  • raise ValueError(“Values in UniformDB ‘%s’ not specified.”, self.inventory.label)*
    ValueError: (“Values in UniformDB ‘%s’ not specified.”, ‘’)

Thank you for your assistances.

Best Regards,
Alvina K K

Dear Alvina, It is difficult to say without seeing your .cfg file, but it sounds as though you have not provided information for one of your materials. If you provide your .cfg file we may be able to give you some more information.

Please find here the attached cfg files.

step03.cfg (7.2 KB) mat_viscoelastic.cfg (3.4 KB) pylithapp.cfg (6.6 KB)

Thank you in advance.

Regards,
Alvina K K

The problem looks to be that your mat_viscoelastic.cfg file specifies use of a CompositeDB for the slab, but you commented out the parameters for db_B.

Because you are using the isotropic elastic material, simply use a SimpleDB for the slab:

# Slab
[pylithapp.problem.materials.slab]
db_properties = spatialdata.spatialdb.SimpleDB
db_properties.label = Composite spatial database for slab material properties
db_properties.iohandler.filename = spatialdb/mat_slab_elastic.spatialdb

One of the easiest ways to diagnose problems like this is to use the using the PyLith Parameter Viewer to look at the JSON file that is output with all of the simulation parameters, including the defaults. I also recommend reviewing the debugging tutorial videos posted online on how to diagnose error messages and figure out which component is causing the error.

Thank you, Aagaard! It works now. I just look at the debugging tutorial video and it is easier for me to figure out some errors.

I have tried to look at the JSON file. But when I ran the code and it stopped due to this error, it didn’t produce the JSON file.

Now, I receive new error but I don’t understand how to use the JSON file through PyLith Paramaters:
[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
[0]PETSC ERROR: Petsc has generated inconsistent data
[0]PETSC ERROR: Point 9624513 not found in support of cone point 30613836
[0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting.
*[0]PETSC ERROR: Petsc Release Version 3.10.2, Jul, 01, 2019 *
[0]PETSC ERROR: /home/umarf/Documents/Alvina/pylith-2.2.2-linux-x86_64/bin/mpinemesis on a named B250M by umarf Wed Dec 2 00:42:07 2020
[0]PETSC ERROR: Configure options --prefix=/home/brad/pylith-binary/dist --with-c2html=0 --with-x=0 --with-clanguage=C --with-mpicompilers=1 --with-shared-libraries=1 --with-64-bit-points=1 --with-large-file-io=1 --download-chaco=1 --download-ml=1 --download-f2cblaslapack=1 --with-hwloc=0 --with-ssl=0 --with-x=0 --with-c2html=0 --with-lgrind=0 --with-hdf5=1 --with-hdf5-dir=/home/brad/pylith-binary/dist --with-zlib=1 --LIBS=-lz --with-debugging=0 --with-fc=0 CPPFLAGS="-I/home/brad/pylith-binary/dist/include -I/home/brad/pylith-binary/dist/include " LDFLAGS="-L/home/brad/pylith-binary/dist/lib -L/home/brad/pylith-binary/dist/lib64 -L/home/brad/pylith-binary/dist/lib -L/home/brad/pylith-binary/dist/lib64 " CFLAGS="-g -O2" CXXFLAGS="-g -O2 -DMPICH_IGNORE_CXX_SEEK" FCFLAGS= PETSC_DIR=/home/brad/pylith-binary/build/petsc-pylith PETSC_ARCH=arch-pylith
[0]PETSC ERROR: #1 DMPlexCheckSymmetry() line 6600 in /home/brad/pylith-binary/build/petsc-pylith/src/dm/impls/plex/plex.c
[0]PETSC ERROR: #2 static void pylith::topology::MeshOps::checkTopology(const pylith::topology::Mesh&)() line 100 in …/…/…/pylith-2.2.2/libsrc/pylith/topology/MeshOps.cc
Fatal error. Calling MPI_Abort() to abort PyLith application.
Traceback (most recent call last):

  • File “/home/umarf/Documents/Alvina/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pylith/apps/PetscApplication.py”, line 74, in onComputeNodes*
  • self.main(*args, *kwds)
  • File “/home/umarf/Documents/Alvina/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pylith/apps/PyLithApp.py”, line 115, in main*
  • mesh = self.mesher.create(self.problem.normalizer, interfaces)*
  • File “/home/umarf/Documents/Alvina/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pylith/topology/MeshImporter.py”, line 120, in create*
  • self._adjustTopology(mesh, faults)*
  • File “/home/umarf/Documents/Alvina/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pylith/topology/MeshGenerator.py”, line 127, in _adjustTopology*
  • interface.adjustTopology(mesh, firstFaultVertex, firstLagrangeVertex, firstFaultCell)*
  • File “/home/umarf/Documents/Alvina/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pylith/faults/faults.py”, line 344, in adjustTopology*
  • def adjustTopology(self, *args): return _faults.FaultCohesive_adjustTopology(self, args)
    RuntimeError: Error occurred while adjusting topology to create cohesive cells for fault ‘fault_slabbot’.
    Error in topology of mesh associated with symmetry of adjacency information.
    application called MPI_Abort(MPI_COMM_WORLD, -1) - process 0
    /home/umarf/Documents/Alvina/pylith-2.2.2-linux-x86_64/bin/nemesis: mpirun: exit 255
    /home/umarf/Documents/Alvina/pylith-2.2.2-linux-x86_64/bin/pylith: /home/umarf/Documents/Alvina/pylith-2.2.2-linux-x86_64/bin/nemesis: exit 1
    step03-parameters.json.gz (14.3 KB)

Here I attached also the JSON file.
Thank you in advance.

The main part of the error message is:

RuntimeError: Error occurred while adjusting topology to create cohesive cells for fault ‘fault_slabbot’. Error in topology of mesh associated with symmetry of adjacency information.

This means there is something wrong with the topology of the mesh as it relates to inserting the cohesive cells. Common mistakes include: (1) forgetting to mark the buried edges in the mesh generation process and using the edge property in the .cfg file, (2) incorrectly marking the buried edges (buried means the fault ends in the middle of the domain, not on the boundary), and (3) creating the faults in the incorrect order (through-going faults must be created before faults that terminate into other faults. From your .cfg file, I see you have used the edge property, so (1) is unlikely. However, (2) and (3) might be possible. If you provide an image of your mesh with your marked faults and buried edges, we might be able to diagnose the problem.

Dear Aagard,

Thank you for your suggestions. I finally can fix the problem for fault_slabbot part.

Now I get another error :
RuntimeError: Error occurred while adjusting topology to create cohesive cells for fault ‘fault_slabtop’.
Ambiguous fault su/home/umarf/Documents/Alvina/pylith-2.2.2-linux-x86_64/bin/nemesis: mpirun: exit 255

I have tried to smooth the mesh by using condition number 2.0 but seemingly nothing changed.

I attached here also the geometry.

Thank you in advance.

Dear Alvina,
The buried edges and faults are not marked in your plots. It might be easier to show this in Trelis. That way, you can show only the relevant surfaces and you can show the appropriate nodesets that are output to the mesh. Alternatively, if you provide your .exo file, we can look at it using Trelis/Cubit.
Cheers,
Charles

Dear Charles,

Please find here the link for the .exo file.

Thank you.

Dear Alvina,
After looking at your problem, it appears that both of your faults cut the entire domain. In this case, there are no buried edges, and you therefore should not use the edge nodeset in your fault description. This should resolve the topology problem; however, you may still run into problems with your solution due to both faults cutting the entire domain. I know that this was a problem with previous versions of PyLith and I can’t remember if the problem is fixed in the current version or not.

Cheers,
Charles

Dear Charles,

I have uncommented the line for the buried edge nodes and tried also to reproduce the mesh without the buried edge nodes as well. But Pylith notifies new error for the slabfault part with the same message as the previous error.
step03-parameters.json.gz (14.2 KB)
I attached here the JSON file.

Thank you for your help.

Alvina K K

The condition number mesh quality metric for your mesh is about 4.0 in a line of cells at the top of the mantle bordering the top of the slab. I suspect that these cells are causing the problems associated with the cohesive cells for the fault. Alternatively, there may be problems in the topology of the mesh exported form Trelis (make sure you have merged surfaces, etc).

I suggest that you create a much coarser resolution mesh (4-10x the current cell size) and resolve all of the issues at that resolution before trying to use this finer resolution mesh.

Note that for quasistatic problems, you almost never want a uniform resolution mesh. We generally use a mesh that is finer near the fault and coarsens with distance from the fault. We often use a cell size that is correlated with the expected strain.

Hello, sir, I encountered the same error as he did, and the problem occurs when running step07a in the subduction section,but it seems that the issue you mentioned does not exist in my configuration file. So, I would like to ask where the problem might lie in my case. I hope to receive your help, and I would be very grateful!
mat_viscoelastic.cfg (4.1 KB)
step07a.cfg (5.0 KB)
pylithapp.cfg (7.4 KB)

My error is:
Traceback (most recent call last):
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/bin/pylith”, line 27, in
start(applicationClass=PyLithApp)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pythia-0.8.1.19-py2.7.egg/pyre/applications/init.py”, line 41, in start
shell.run(**kwds)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pythia-0.8.1.19-py2.7.egg/pyre/applications/Shell.py”, line 125, in run
app.applyConfiguration(context)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pythia-0.8.1.19-py2.7.egg/pyre/inventory/Configurable.py”, line 74, in applyConfiguration
context.configureComponent(self)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pythia-0.8.1.19-py2.7.egg/pyre/inventory/ConfigContext.py”, line 68, in configureComponent
component.configureComponents(self)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pythia-0.8.1.19-py2.7.egg/pyre/inventory/Configurable.py”, line 119, in configureComponents
self.inventory.configureComponents(context)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pythia-0.8.1.19-py2.7.egg/pyre/inventory/Inventory.py”, line 99, in configureComponents
component.applyConfiguration(context)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pythia-0.8.1.19-py2.7.egg/pyre/inventory/Configurable.py”, line 74, in applyConfiguration
context.configureComponent(self)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pythia-0.8.1.19-py2.7.egg/pyre/inventory/ConfigContext.py”, line 68, in configureComponent
component.configureComponents(self)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pythia-0.8.1.19-py2.7.egg/pyre/inventory/Configurable.py”, line 119, in configureComponents
self.inventory.configureComponents(context)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pythia-0.8.1.19-py2.7.egg/pyre/inventory/Inventory.py”, line 99, in configureComponents
component.applyConfiguration(context)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pythia-0.8.1.19-py2.7.egg/pyre/inventory/Configurable.py”, line 74, in applyConfiguration
context.configureComponent(self)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pythia-0.8.1.19-py2.7.egg/pyre/inventory/ConfigContext.py”, line 68, in configureComponent
component.configureComponents(self)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pythia-0.8.1.19-py2.7.egg/pyre/inventory/Configurable.py”, line 119, in configureComponents
self.inventory.configureComponents(context)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pythia-0.8.1.19-py2.7.egg/pyre/inventory/Inventory.py”, line 99, in configureComponents
component.applyConfiguration(context)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/pythia-0.8.1.19-py2.7.egg/pyre/inventory/Configurable.py”, line 74, in applyConfiguration
context.configureComponent(self)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/spatialdata/spatialdb/UniformDB.py”, line 79, in _configure
self._validateParameters(self.inventory)
File “/public1/home/t0s000462/xiaoy/Pylith/pylith-2.2.2-linux-x86_64/lib/python2.7/site-packages/spatialdata/spatialdb/UniformDB.py”, line 114, in _validateParameters
raise ValueError(“Values in UniformDB ‘%s’ not specified.”, self.inventory.label)
ValueError: (“Values in UniformDB ‘%s’ not specified.”, ‘’)

There are no UniformDB spatial databases in your .cfg files. However, there is a UniformDB in mat_elastic.cfg. Your message did not specify the full command you are using to run PyLith, so I am guessing that you included mat_elastic.cfg on the command line; you should include only mat_viscoelastic.cfg on the command line and not both mat_elastic.cfg and mat_viscoelastic.cfg.

I checked the steps of my running commands, which are:
pylith step06.cfg mat_viscoelastic.cfg solver_fieldsplit.cfg;
pylith --problem=pylith.problems.GreensFns step07a.cfg mat_viscoelastic.cfg solver_fieldsplit.cfg;
pylith --problem=pylith.problems.GreensFns step07b.cfg mat_viscoelastic.cfg solver_fieldsplit.cfg.
But the same error still occurs. Below are all my files. Could you kindly take a look at them when you have some free time? Thank you very much!
file.zip (83.7 KB)

This is a tricky issue to debug. The validation and error handling in PyLith v2.2.2 is not as good as what we have in the current version.

I replaced mat_viscoelastic.cfg with mat_elastic.cfg on the command line. The validation error went away, so this means the error appears to be in mat_viscoelastic.cfg

I had to go into the Python debugger to figure out what component was triggering the error. It is the slab material. Both dbA and dbB are UniformDB. The settings in mat_viscoelastic.cfg show that you are trying to set dbA to spatialdata.spatialdb.SimpleDB and dbB to spatialdata.spatialdb.SimpleGridDB. However, I noticed that you have the component listed as [pylithapp.timedependent.materials.slab.db_properties]. You are running a Green’s function problem, so it is not a timedependent problem. As a result, these settings are ignored.

If you change pylithapp.timedependent to pylithapp.problem (like you have for the other sections), this error will disappear. This applies to slab, leftmantle, and rightmantle.

1 Like

Thank you very much! Following your suggestion, my issue has been resolved. Thanks again, and I wish you all the best!