Skip to content
Snippets Groups Projects
Select Git revision
  • 3f147e49852e19b79b873f3f88edaff2314ae196
  • master default protected
  • overlaps_tags_and_distributed_export
  • overlaps_tags_and_distributed_export_rebased
  • relaying
  • alphashapes
  • patches-4.14
  • steplayer
  • bl
  • pluginMeshQuality
  • fixBugsAmaury
  • hierarchical-basis
  • new_export_boris
  • oras_vs_osm
  • reassign_partitions
  • distributed_fwi
  • rename-classes
  • fix/fortran-api-example-t4
  • robust_partitions
  • reducing_files
  • fix_overlaps
  • gmsh_4_14_0
  • gmsh_4_13_1
  • gmsh_4_13_0
  • gmsh_4_12_2
  • gmsh_4_12_1
  • gmsh_4_12_0
  • gmsh_4_11_1
  • gmsh_4_11_0
  • gmsh_4_10_5
  • gmsh_4_10_4
  • gmsh_4_10_3
  • gmsh_4_10_2
  • gmsh_4_10_1
  • gmsh_4_10_0
  • gmsh_4_9_5
  • gmsh_4_9_4
  • gmsh_4_9_3
  • gmsh_4_9_2
  • gmsh_4_9_1
  • gmsh_4_9_0
41 results

MEdge.cpp

Blame
  • BF_Edge_2.cpp 3.78 KiB
    // GetDP - Copyright (C) 1997-2018 P. Dular and C. Geuzaine, University of Liege
    //
    // See the LICENSE.txt file for license information. Please report all
    // bugs and problems to the public mailing list <getdp@onelab.info>.
    
    #include "ProData.h"
    #include "Message.h"
    
    /* ------------------------------------------------------------------------ */
    /*  B F _ E d g e _ 2                                                       */
    /* ------------------------------------------------------------------------ */
    
    /* ------- */
    /*  Edges  */
    /* ------- */
    
    #define WrongNumEntity   Message::Error("Wrong Edge number in 'BF_Edge_2E'")
    
    void BF_Edge_2E(struct Element * Element, int NumEntity,
    		double u, double v, double w,  double s[])
    {
      switch (Element->Type) {
      case LINE :
        switch(NumEntity) {
        case 1  : s[0] = u  ; s[1] = 0. ; s[2] = 0. ; break ;
        default : WrongNumEntity ;
        }
        break ;
    
      case TRIANGLE :
      case TRIANGLE_2 :
        switch(NumEntity) {
        case 1  : s[0] = -2.0*u+1.0-v ; s[1] = -u           ; s[2] = 0. ; break ;
        case 2  : s[0] = -v           ; s[1] = -2.0*v+1.0-u ; s[2] = 0. ; break ;
        case 3  : s[0] =  v           ; s[1] =  u           ; s[2] = 0. ; break ;
        default : WrongNumEntity ;
        }
        break ;
    
      case QUADRANGLE :
        switch(NumEntity) {
        default : Message::Error("BF_Edge_2E not ready for QUADRANGLE");
        }
        break ;
    
      case TETRAHEDRON :
        switch(NumEntity) {
        case 1  : s[0] = -2.0*u+1.0-v-w ; s[1] = -u             ; s[2] = -u             ; break ;
        case 2  : s[0] = -v             ; s[1] = -2.0*v+1.0-u-w ; s[2] = -v             ; break ;
        case 3  : s[0] = -w             ; s[1] = -w             ; s[2] = -2.0*w+1.0-u-v ; break ;
        case 4  : s[0] =  v             ; s[1] =  u             ; s[2] =  0.            ; break ;
        case 5  : s[0] =  w             ; s[1] =  0.            ; s[2] =  u             ; break ;
        case 6  : s[0] =  0.            ; s[1] =  w             ; s[2] =  v             ; break ;
        default : WrongNumEntity ;
        }
        break ;
    
      case HEXAHEDRON :
        switch(NumEntity) {
        default : Message::Error("BF_Edge_2E not ready for HEXAHEDRON");
        }
        break ;
    
      case PRISM :
        switch(NumEntity) {
        default : Message::Error("BF_Edge_2E not ready for PRISM");
        }
        break ;
    
      case PYRAMID :
        switch(NumEntity) {
        default : Message::Error("BF_Edge_2E not ready for PYRAMID");
        }
        break ;
    
      default :
        Message::Error("Unknown type of Element in BF_Edge_2E");
        break ;
      }
    }
    
    #undef WrongNumEntity
    
    /* ------- */
    /*  Faces  */
    /* ------- */
    
    #define WrongNumEntity   Message::Error("Wrong Face number in 'BF_Edge_2F'")
    
    void BF_Edge_2F(struct Element * Element, int NumEntity,
    		double u, double v, double w,  double s[])
    {
      Message::Error("You should never end up here!") ;
    }
    
    #undef WrongNumEntity
    
    /* -------- */
    /*  Volume  */
    /* -------- */
    
    void BF_Edge_2V(struct Element * Element, int NumEntity,
    		double u, double v, double w,  double s[])
    {
      Message::Error("You should never end up here!") ;
    }
    
    /* ------------------------------------------------------------------------ */
    /*  B F _ C u r l E d g e _ 2                                               */
    /* ------------------------------------------------------------------------ */
    
    /* ------- */
    /*  Edges  */
    /* ------- */
    
    void BF_CurlEdge_2E(struct Element * Element, int NumEntity,
    		    double u, double v, double w,  double s[])
    {
      s[0] = 0. ; s[1] = 0. ; s[2] = 0. ;
    }
    
    /* ------- */
    /*  Faces  */
    /* ------- */
    
    void BF_CurlEdge_2F(struct Element * Element, int NumEntity,
    		    double u, double v, double w,  double s[])
    {
      s[0] = 0. ; s[1] = 0. ; s[2] = 0. ;
    }
    
    /* -------- */
    /*  Volume  */
    /* -------- */
    
    void BF_CurlEdge_2V(struct Element * Element, int NumEntity,
    		    double u, double v, double w,  double s[])
    {
      s[0] = 0. ; s[1] = 0. ; s[2] = 0. ;
    }