void
cs_user_mesh_modify(cs_mesh_t  *mesh)
{

 

  /* Add a group to boundary faces in a given region */

 

  /*! [mesh_modify_groups_2] */
  {
    cs_lnum_t   n_selected_elts = 0;
    cs_lnum_t  *selected_elts = NULL;

 

    const char criteria[] = "box[-10.0, -10.0, 0.0, 10.0, 10.0, 5.0]";

 

    BFT_MALLOC(selected_elts, mesh->n_b_faces, cs_lnum_t);

 

    cs_selector_get_b_face_list(criteria,
                                &n_selected_elts,
                                selected_elts);

 

    cs_mesh_group_b_faces_add(mesh,
                              "Puits1",
                              n_selected_elts,
                              selected_elts);
                              
    BFT_FREE(selected_elts);

 

    /* Mark mesh as modified to save it */

 

    mesh->modified = 1;
  }
  /*! [mesh_modify_groups_2] */

 

  /* Extrude mesh at boundary faces of group "outlet".
     We use a regular extrusion here */

 

  /*! [mesh_modify_extrude_1] */
  {
    int n_layers = 2;
    double thickness = 2.0;
    double expansion_factor = 1.0;

 

    const char criteria[] = "Puits1";

 

    /* Select boudary faces */

 

    cs_lnum_t   n_selected_faces = 0;
    cs_lnum_t  *selected_faces = NULL;

 

    BFT_MALLOC(selected_faces, mesh->n_b_faces, cs_lnum_t);

 

    cs_selector_get_b_face_list(criteria,
                                &n_selected_faces,
                                selected_faces);
                                
    bft_printf("#########################");
    bft_printf("EXTRUDE 1");
    bft_printf("extruded faces : %d", n_selected_faces);
    bft_printf("#########################");

 

    /* Extrude selected boundary */

 

    cs_mesh_extrude_constant(mesh,
                             false, /* Maintain groups on interio faces? */
                             n_layers,
                             thickness,
                             expansion_factor,
                             n_selected_faces,
                             selected_faces);

 

    /* Free temporary memory */

 

    BFT_FREE(selected_faces);

 

  }
  /*! [mesh_modify_extrude_1] */
  
  /* Add a group to boundary faces in a given region */

 

  /*! [mesh_modify_groups_2] */
  {
    cs_lnum_t   n_selected_elts = 0;
    cs_lnum_t  *selected_elts = NULL;

 

    const char criteria[] = "box[10.0, -10.0, 0.0, 30.0, 10.0, 5.0]";

 

    BFT_MALLOC(selected_elts, mesh->n_b_faces, cs_lnum_t);

 

    cs_selector_get_b_face_list(criteria,
                                &n_selected_elts,
                                selected_elts);

 

    cs_mesh_group_b_faces_add(mesh,
                              "Puits2",
                              n_selected_elts,
                              selected_elts);
                              
    BFT_FREE(selected_elts);

 

    /* Mark mesh as modified to save it */

 

    mesh->modified = 1;
  }
  /*! [mesh_modify_groups_2] */

 

  /* Extrude mesh at boundary faces of group "outlet".
     We use a regular extrusion here */

 

  /*! [mesh_modify_extrude_1] */
  {
    int n_layers = 4;
    double thickness = 4.0;
    double expansion_factor = 1.0;

 

    const char criteria[] = "Puits2";

 

    /* Select boudary faces */

 

    cs_lnum_t   n_selected_faces = 0;
    cs_lnum_t  *selected_faces = NULL;

 

    BFT_MALLOC(selected_faces, mesh->n_b_faces, cs_lnum_t);

 

    cs_selector_get_b_face_list(criteria,
                                &n_selected_faces,
                                selected_faces);
                                
    bft_printf("#########################");
    bft_printf("EXTRUDE 2");
    bft_printf("extruded faces : %d", n_selected_faces);
    bft_printf("#########################");

 

    /* Extrude selected boundary */

 

    cs_mesh_extrude_constant(mesh,
                             false, /* Maintain groups on interio faces? */
                             n_layers,
                             thickness,
                             expansion_factor,
                             n_selected_faces,
                             selected_faces);

 

    /* Free temporary memory */

 

    BFT_FREE(selected_faces);

 

  }
  /*! [mesh_modify_extrude_1] */

 










 


}