← Back to team overview

yade-users team mailing list archive

[Question #242890]: Memory usage at creation/removal of interactions (JCFpm)

 

New question #242890 on Yade:
https://answers.launchpad.net/yade/+question/242890

Hi,

I'm facing sometimes big (until 15 GB) consumptions of memory with my simulations involving JCFpm. I'm joining illustrative pictures in a separate mail to mailing list. It is about a simple compression test, and I'm monitoring the memory usage of Yade (see [1] below for the corresponding details). At one time the memory usage increases drastically (figure memBench3.png). 

In the JCFpm model, some interactions may be "requested to erase" (see [2] below) according to contact forces threshold, while there is still a geometrical overlap. Then, such interactions will be detected at next time step, and probably again "requested to erase". And so on... I'm thinking this is the cause of such memory consumption. Indeed the number of such interactions (named nIntProb) shows the same trend than memory usage : see nIntProbBench3.png.

This might probably be dealt with at the JCFpm Law level, but should this be considered as a "problem" in the way Yade deals the interactions ? (regarding the memory)


[1] : the lines for saving memory usage (inside the script I launched)
import psutil, os

pid = os.getpid()
process = psutil.Process(pid)
rss = process.get_memory_info()[0] # RAM only : http://en.wikipedia.org/wiki/Resident_Set_Size
rss = rss / 1.e6 
vms = process.get_memory_info()[1]/1.e6 # RAM + other memory locations http://en.wikipedia.org/wiki/Virtual_memory


[2] the function requestErase when force thresholds are met
https://github.com/yade/trunk/blob/master/core/InteractionContainer.cpp#L119

-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.