Topic: Exclude regions with certain materials from nonlocal averaging
Hello,
I am currently modelling a 3D specimen which is split in 3 regions. Only one region is modelled with a nonlocal model whereas the other two are modelled as elastic.
In order to speed up the calculations I want to stop OOFEM from taking into account points in the elastic regions during nonlocal averaging. In other words I want regions' boundaries to act as nonlocal barriers. However this feature is not available in 3D and I think that in the case of multiple reinforcement bars it would be quite inefficient. So far I am bypassing it by adding these lines in lines 163 and 280 of nonlocalmaterialext.C:
if ( gp->giveMaterial()->giveNumber() != ielem->giveMaterial()->giveNumber() && noInterMaterialInteraction == 1 ) {
continue;
}
Here (noInterMaterialInteraction) is a material parameter used as a flag to denote that only points from the same material are taken into account ( I am attaching the modified nonlocalmaterialext.C and h). However I am not sure if this is the most efficient way in terms of memory. Is there possibly another way to do this?
Thanks in advance.