File: CapillaryPhysDelaunay.cpp

package info (click to toggle)
yade 2026.1.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 34,448 kB
  • sloc: cpp: 97,645; python: 52,173; sh: 677; makefile: 162
file content (37 lines) | stat: -rw-r--r-- 1,266 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//keep this #ifdef as long as you don't really want to realize a final version publicly, it will save compilation time for everyone else
//when you want it compiled, you can just uncomment the following line

#ifdef YADE_CGAL
#define CAPILLARYPHYS1
#ifdef CAPILLARYPHYS1

#include <core/Omega.hpp>
#include <core/Scene.hpp>
#include <pkg/dem/CapillaryPhysDelaunay.hpp>
#include <pkg/dem/ScGeom.hpp>

namespace yade { // Cannot have #include directive inside.

YADE_PLUGIN(
        (CapillaryPhysDelaunay)(CapillaryMindlinPhysDelaunay)(Ip2_FrictMat_FrictMat_CapillaryPhysDelaunay)(Ip2_FrictMat_FrictMat_CapillaryMindlinPhysDelaunay));

void Ip2_FrictMat_FrictMat_CapillaryPhysDelaunay::go(
        const shared_ptr<Material>& b1 //FrictMat
        ,
        const shared_ptr<Material>& b2 // FrictMat
        ,
        const shared_ptr<Interaction>& interaction)
{
	if (interaction->phys) return;
	Ip2_FrictMat_FrictMat_FrictPhys::go(b1, b2, interaction);
	if (interaction->phys) {
		auto newPhys           = shared_ptr<CapillaryPhysDelaunay>(new CapillaryPhysDelaunay(*YADE_PTR_CAST<FrictPhys>(interaction->phys)));
		newPhys->computeBridge = computeDefault;
		interaction->phys      = newPhys;
	}
};

} // namespace yade

#endif //CAPILLARYPHYS1
#endif //YADE_CGAL