@@ -85,63 +85,63 @@ using namespace ipc;
8585//      // std::cout << "hess: " << hess_b.norm() << "\n";
8686//  }
8787
88- TEST_CASE (
89-     " Smooth barrier potential convergence 3D" 
90-     " [smooth_potential]" 
91- {
92-     const  BroadPhaseMethod method = BroadPhaseMethod::BVH;
93-     const  bool  adaptive_dhat = false ;
94- 
95-     double  dhat = -1 ;
96-     std::string mesh_name = " " 
97-     SECTION (" debug" 
98-     {
99-         mesh_name = (" 2-cubes.obj" 
100-         dhat = 0.25 ;
101-     }
102- 
103-     double  min_dist_ratio = 0.8 ;
104-     Eigen::MatrixXd vertices;
105-     Eigen::MatrixXi edges, faces;
106-     bool  success = tests::load_mesh (mesh_name, vertices, edges, faces);
107-     CAPTURE (mesh_name);
108-     REQUIRE (success);
109- 
110-     CollisionMesh mesh;
111-     ParameterType param (dhat, 0.8 , 0 , 0.1 , 0 , 2 );
112-     param.set_adaptive_dhat_ratio (min_dist_ratio);
113-     SmoothCollisions<3 > collisions;
114-     mesh = CollisionMesh (vertices, edges, faces);
115-     std::cout << " Mesh Memory " getCurrentRSS () / (1024 .*1024 ) << " MB\n " 
116- 
117-     //  ignore self-contact
118-     {
119-         std::vector<int > vids (vertices.rows (), 0 );
120-         for  (int  i = 0 ; i < vertices.rows (); i++)
121-             if  (vertices (i, 0 ) < -1.1 )
122-                 vids[i] = 1 ;
123-         mesh.can_collide  = [vids](size_t  vi, size_t  vj) {
124-             return  vids[vi] != vids[vj];
125-         };
126-     }
127- 
128-     //  collisions.compute_adaptive_dhat(mesh, vertices, param, method);
129-     collisions.build (mesh, vertices, param, adaptive_dhat, method);
130-     std::cout << " Collision set Memory " getCurrentRSS () / (1024 .*1024 ) << " MB\n " 
131-     CAPTURE (dhat, method, adaptive_dhat);
132-     CHECK (collisions.size () > 0 );
133-     std::cout << " smooth collision candidate size " size () << " \n " 
134- 
135-     CHECK (!has_intersections (mesh, vertices));
136- 
137-     SmoothContactPotential<SmoothCollisions<3 >> potential (param);
138-     std::cout << std::setprecision (12 ) << " energy: " potential (collisions, mesh, vertices) << " \n " 
139- 
140-     //  -------------------------------------------------------------------------
141-     //  Gradient
142-     //  -------------------------------------------------------------------------
143- 
144-     //  const Eigen::VectorXd grad_b =
145-     //      potential.gradient(collisions, mesh, vertices);
146-     //  std::cout << "grad: " << grad_b.norm() << "\n";
147- }
88+ //   TEST_CASE(
89+ //       "Smooth barrier potential convergence 3D",
90+ //       "[smooth_potential]")
91+ //   {
92+ //       const BroadPhaseMethod method = BroadPhaseMethod::BVH;
93+ //       const bool adaptive_dhat = false;
94+ 
95+ //       double dhat = -1;
96+ //       std::string mesh_name = "";
97+ //       SECTION("debug")
98+ //       {
99+ //           mesh_name = ("2-cubes.obj");
100+ //           dhat = 0.25;
101+ //       }
102+ 
103+ //       double min_dist_ratio = 0.8;
104+ //       Eigen::MatrixXd vertices;
105+ //       Eigen::MatrixXi edges, faces;
106+ //       bool success = tests::load_mesh(mesh_name, vertices, edges, faces);
107+ //       CAPTURE(mesh_name);
108+ //       REQUIRE(success);
109+ 
110+ //       CollisionMesh mesh;
111+ //       ParameterType param(dhat, 0.8, 0, 0.1, 0, 2);
112+ //       param.set_adaptive_dhat_ratio(min_dist_ratio);
113+ //       SmoothCollisions<3> collisions;
114+ //       mesh = CollisionMesh(vertices, edges, faces);
115+ //       std::cout << "Mesh Memory " << getCurrentRSS() / (1024.*1024) << "MB\n";
116+ 
117+ //       // ignore self-contact
118+ //       {
119+ //           std::vector<int> vids(vertices.rows(), 0);
120+ //           for (int i = 0; i < vertices.rows(); i++)
121+ //               if (vertices(i, 0) < -1.1)
122+ //                   vids[i] = 1;
123+ //           mesh.can_collide = [vids](size_t vi, size_t vj) {
124+ //               return vids[vi] != vids[vj];
125+ //           };
126+ //       }
127+ 
128+ //       // collisions.compute_adaptive_dhat(mesh, vertices, param, method);
129+ //       collisions.build(mesh, vertices, param, adaptive_dhat, method);
130+ //       std::cout << "Collision set Memory " << getCurrentRSS() / (1024.*1024) << "MB" << std::endl ;
131+ //       CAPTURE(dhat, method, adaptive_dhat);
132+ //       CHECK(collisions.size() > 0);
133+ //       std::cout << "smooth collision candidate size " << collisions.size() << std::endl ;
134+ 
135+ //       CHECK(!has_intersections(mesh, vertices));
136+ 
137+ //       SmoothContactPotential<SmoothCollisions<3>> potential(param);
138+ //       std::cout << std::setprecision(12) << "energy: " << potential(collisions, mesh, vertices) << std::endl ;
139+ 
140+ //       // -------------------------------------------------------------------------
141+ //       // Gradient
142+ //       // -------------------------------------------------------------------------
143+ 
144+ //       // const Eigen::VectorXd grad_b =
145+ //       //     potential.gradient(collisions, mesh, vertices);
146+ //       // std::cout << "grad: " << grad_b.norm() << "\n";
147+ //   }
0 commit comments