new requirements for young's modulus?

Submitted by msandli on Thu, 04/18/2013 - 18:14

I've been using liggghts 2.2 successfully for a while now, modeling the simple filling and draining of hoppers. However, I'm starting to run larger simulations with more particles, and since my school's supercomputers operate in batch mode, I upgraded to the latest version (2.3.2) to be able to use the restart features correctly (I have imported walls used as meshes, and it appears that 2.2 couldn't handle this).

However, now when I try to run my scripts, I receive an error saying that units style SI requires Young's modulus >= 5e6. I currently have my Y's modulus around 1e6 in my simulations because they are simple, friction based simulations and I wanted to be able to run reasonably fast simulations.

I've read through all the update notes and couldn't find anything that mentioned this new requirement for a minimum Young's modules with SI units. Am I missing something?

msandli | Thu, 04/18/2013 - 20:41

just another tidbit that might mean something to someone, the error message references (pair_gran_hooke_history.cpp:578) on the printout, but line 578 of that file is technically blank. again, i'm not a coder, so that might be insignificant, but I found it strange.

ckloss's picture

ckloss | Fri, 04/19/2013 - 15:53

>>units style SI requires Young's modulus >= 5e6
That's a limit that we would recommend from our experience. If you don't like the limit - feel free to change it (you know the codeline where it comes from)

Cheers
Christoph

msandli | Tue, 05/21/2013 - 18:10

I know this is an old topic, but I still need help because "computer" isn't my first language. The error messege in my output claims to be initiating from pair_gran_hooke_history.cpp:578. I navigate to that line of that file, and that link is technically blank. However, it appears to immediately proceed a section called "sanity checks." I can see the line where the error messege actually comes from, so I modified it to look like this:

583 if(strcmp(update->unit_style,"si") == 0 && Yi < 1e6)
584 error->all(FLERR,"youngsModulus >= 1e6 required for SI units");

However, running a simulation with a Young's modulus above this new 1e6 limit but below the 5e6 limit still gives me the same error messege. The messege text doesn't even change - it still says I need to be above 5e6.

Am I editing the wrong line? Am I editing the wrong file? Another thing that is curious to me is that I'm trying to use a Hertz contact model, not a Hookian model, so I'm not sure why this file is even used.

aaigner's picture

aaigner | Wed, 05/22/2013 - 15:42

Hi!
You edited the right line. The sanity check is in pair_gran_hooke_history.cpp (line 676 in the liggghts-public repository at github.com).
Did you compile your new code?

cheers
Andreas

msandli | Wed, 05/22/2013 - 17:22

I was editing files from liggghts 2.3.2, so I guess our line numbers are different. In any case, I didn't compile the new code, because I was hoping after editing that it would just reflect the updated code immediately. However, I think I've just decided to run my simulations with a higher Young's modulus, but I might try recompiling it later.

Thanks for the reply!