peridigm / peridigm

Peridigm peridynamics code.
Other
193 stars 127 forks source link

[fragmenting cylinder example] Zoltan error + Boundary Set Error #95

Closed marcoprev closed 5 years ago

marcoprev commented 5 years ago

Hello,

When I try to run the fragmenting cylinder example I run into the following error:

**** Error in DirichletBC::apply(), node set not found: FULL DOMAIN

Which I guess means the example file is deprecated and the code no longer recognizes Full Domain as a node set. "Fixing" the example by assigning sets as done in the wave in bar example, another error pops up:

Zoltan_Comm_Do_Post returns the following error: nrecvs not zero, but recv_data = NULL. The full error is in the pastebin and attached to the post: https://pastebin.com/YrLe6XkF

My Trilinos build is untested due to the following build-error: https://github.com/trilinos/Trilinos/issues/2046 I have no problem running .g examples. I cannot provide a list of the make check results for my installation at this moment, however I can tell that I had a 52% test success rate before recompiling Trilinos to add yaml. I will try to update my informations zoltan_error.txt as soon as possible.

The libraries installed in the system (VM) are the following:

For the future, should I learn the xml file setup or the yaml file setup? I take the latter is becoming the standard?

Any help is appreciated.

johntfoster commented 5 years ago

Can confirm that all Peridigm tests pass? It's usually not necessary to run the Trilinos tests if all the Peridigm tests pass.

marcoprev commented 5 years ago

Before recompiling Trilinos (to include yaml) my Peridigm tests had a 52% success rate. If I remember correctly, the errors were due to the missing yaml library to read some test input and due to exodus. I currently do not have access to the VM to run the testing procedure again, I will follow up as soon as possible.

marcoprev commented 5 years ago

At best, 52% of all Peridigm tests pass, using a VM Clone without yaml installed and running with root privileges. The error appears to be related to parallelization. https://pastebin.com/U8q7ZHt3 Using the same VM, 0% of all tests pass if running without root privileges.

Meanwhile, using the VM Clone with yaml installed, I get a 25% success rate using root https://pastebin.com/F7PHxRGy. Running without root, the tests start by having an higher success rate https://pastebin.com/rfygPpUZ. However, after attempting to run test 24: ut_frameset_2x2x1_np4, the terminal freezes. If it recovers, all subsequent tests fail. This behavior is not consistent as the terminal sometimes freezes earlier than test 24, and the tests 13 & 14 (Exodus Discretization) change their result between different test attempts (stopping the current with ctlr + c and re-running make test). For example, in the pastebin, the non-parallel attempt fails, while the parallel one passes.

13/198 Test #13: utPeridigm_ExodusDiscretization ................................***Failed 0.53 sec 14/198 Test #14: utPeridigm_ExodusDiscretization_MPI_np2 ........................ Passed 2.65 sec

Both virtual machines have 4 cores. I'm starting to think that the inconsistency might be caused by VM-related issues but I have no way to verify this theory.

marcoprev commented 5 years ago

After checking the files, I might have found the source of the problem: having installed some files with root privileges, they are only accessible to root and this conflicts with mpiexec (which does not want root privileges). I will see if fixing this solves the problem.

edit: It didn't.

edit2: The zoltan error was fixed by re-linking the libraries. Since the FULL_DOMAIN issue was also addressed, I'm closing this.

amardahiya commented 5 years ago

Hello, I am also facing the same problem

-- Peridigm
-- version 1.5.0 (Dev)

/home/marvel/peridigm/src/core/Peridigm_BoundaryCondition.cpp:175:

Throw number = 1

Throw test that evaluated to true: nodeSets->find(nodeSetName) == nodeSets->end()

**** Error in DirichletBC::apply(), node set not found: FULL_DOMAIN

@johntfoster , only 2 (following) out of 194 tests failed-

ut_QuickGrid_loadBal_np8_4x4x4
utPeridigm_ProximitySearch_np5

and these tests failed as my machine couldn't provide the required number of threads. So, it can safely be said all tests passed. Any help is appreciated.

Thanks Amar

djlittl commented 5 years ago

The FULL_DOMAIN option was recently removed. You should create a node set that covers the entire domain, and then apply the boundary condition to that node set.

amardahiya commented 5 years ago

@djlittl, thank you very much for the information and help.