← Back to team overview

yade-users team mailing list archive

[Question #704306]: DFN-Thermal Engine Link

 

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

Hello,

Currently I am developing an engine whose structure and organization is similar to the Thermal engine from Robert. I now face a problem since I'd like to "link" my engine to the DFNFlow engine to benefit from its features (permeability changes related to the presence of cracks and/or fractures). Actually, I believe this would also benefit people wanting to deal with heat transfer in fractured media (Thermal engine). Unfortunately, I don't know how to do it and I would like to ask for help to make it works.

First if you have a look at the Thermal engine you can see that it is pointing to FlowEngine, by the code line : if (e->getClassName() == "FlowEngine") { flow = dynamic_cast<FlowEngineT*>(e.get()); } or if (dynamic_cast<FlowEngineT*>(e.get())) flow = dynamic_cast<FlowEngineT*>(e.get()). Thus, it is not pointing to DFNFlowEngineT or DFNFlowEngine, it is just pointing to FlowEngine. For instance, if we run a simulation with FlowEngine and ThermalEngine and type out " cout<<flow<<endl " it will give access to memory by 0x 3459... which corresponds to the flowEngine. Now, if we run a simulation with DFNFlowEngine and Thermal engine and type out " cout<<flow<<endl " it will point to nothing and we will get "Segmentation fault (core dumped)".

I have tried to solve this problem by redefining from hpp/cpp files the pkgs " #include " so I replaced "#include "FlowEngine_FlowEngineT.hpp" by "FlowEngine_DFNFlowEngineT.hpp" and " FlowEngineT " by "DFNFlowEngineT" but I still have the same problem (calling for "flow" lead to nothing).

My main questions are :
1- How should I link the DFNFlowEngine and the ThermalEngine (or my engine) so that I can deal with fractures in my simulations?
2- Why am I not able to point to "DFNFlowEngineT" even after changing my pkgs definitions: should I add something on cmakelist ?

Please do not hesitate if you need more information to understand more this problem. 

Regards,
Ahmad

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.