430 if (
get_lien_topologie()!=NULL) o <<
"%" <<
get_id() <<
"=FEM_HEXA20($"<<
get_lien_topologie()->
get_id() <<
",$" <<
maillage->
get_id() <<
",$" <<
tab[0]->
get_id() <<
",$" <<
tab[1]->
get_id() <<
",$" <<
tab[2]->
get_id()<<
",$" <<
tab[3]->
get_id() <<
",$" <<
tab[4]->
get_id() <<
",$" <<
tab[5]->
get_id() <<
",$" <<
tab[6]->
get_id()<<
",$" <<
tab[7]->
get_id()<<
",$" <<
tab[8]->
get_id() <<
",$" <<
tab[9]->
get_id() <<
",$" <<
tab[10]->
get_id()<<
",$" <<
tab[11]->
get_id() <<
",$" <<
tab[12]->
get_id() <<
",$" <<
tab[13]->
get_id() <<
",$" <<
tab[14]->
get_id() <<
",$" <<
tab[15]->
get_id() <<
",$" <<
tab[16]->
get_id()<<
",$" <<
tab[17]->
get_id()<<
",$" <<
tab[18]->
get_id()<<
",$" <<
tab[19]->
get_id()<<
");" << std::endl;
431 else o <<
"%" <<
get_id() <<
"=FEM_HEXA20(NULL,$" <<
maillage->
get_id() <<
",$" <<
tab[0]->
get_id() <<
",$" <<
tab[1]->
get_id() <<
",$" <<
tab[2]->
get_id()<<
",$" <<
tab[3]->
get_id() <<
",$" <<
tab[4]->
get_id() <<
",$" <<
tab[5]->
get_id() <<
",$" <<
tab[6]->
get_id()<<
",$" <<
tab[7]->
get_id()<<
",$" <<
tab[8]->
get_id() <<
",$" <<
tab[9]->
get_id() <<
",$" <<
tab[10]->
get_id()<<
",$" <<
tab[11]->
get_id() <<
",$" <<
tab[12]->
get_id() <<
",$" <<
tab[13]->
get_id() <<
",$" <<
tab[14]->
get_id() <<
",$" <<
tab[15]->
get_id() <<
",$" <<
tab[16]->
get_id()<<
",$" <<
tab[17]->
get_id()<<
",$" <<
tab[18]->
get_id()<<
",$" <<
tab[19]->
get_id()<<
");" << std::endl;
433 if (
get_lien_topologie()!=NULL) o <<
"%" <<
get_id() <<
"=FEM_HEXA20($"<<
get_lien_topologie()->
get_id() <<
",NULL,$" <<
tab[0]->
get_id() <<
",$" <<
tab[1]->
get_id() <<
",$" <<
tab[2]->
get_id()<<
",$" <<
tab[3]->
get_id() <<
",$" <<
tab[4]->
get_id() <<
",$" <<
tab[5]->
get_id() <<
",$" <<
tab[6]->
get_id()<<
",$" <<
tab[7]->
get_id()<<
",$" <<
tab[8]->
get_id() <<
",$" <<
tab[9]->
get_id() <<
",$" <<
tab[10]->
get_id()<<
",$" <<
tab[11]->
get_id() <<
",$" <<
tab[12]->
get_id() <<
",$" <<
tab[13]->
get_id() <<
",$" <<
tab[14]->
get_id() <<
",$" <<
tab[15]->
get_id() <<
",$" <<
tab[16]->
get_id()<<
",$" <<
tab[17]->
get_id()<<
",$" <<
tab[18]->
get_id()<<
",$" <<
tab[19]->
get_id()<<
");" << std::endl;
434 else o <<
"%" <<
get_id() <<
"=FEM_HEXA20(NULL,NULL,$" <<
tab[0]->
get_id() <<
",$" <<
tab[1]->
get_id() <<
",$" <<
tab[2]->
get_id()<<
",$" <<
tab[3]->
get_id() <<
",$" <<
tab[4]->
get_id() <<
",$" <<
tab[5]->
get_id() <<
",$" <<
tab[6]->
get_id()<<
",$" <<
tab[7]->
get_id()<<
",$" <<
tab[8]->
get_id() <<
",$" <<
tab[9]->
get_id() <<
",$" <<
tab[10]->
get_id()<<
",$" <<
tab[11]->
get_id() <<
",$" <<
tab[12]->
get_id() <<
",$" <<
tab[13]->
get_id() <<
",$" <<
tab[14]->
get_id() <<
",$" <<
tab[15]->
get_id() <<
",$" <<
tab[16]->
get_id()<<
",$" <<
tab[17]->
get_id()<<
",$" <<
tab[18]->
get_id()<<
",$" <<
tab[19]->
get_id()<<
");" << std::endl;
473 val=0.125*(1.+uv[0]*
a)*(1.+uv[1]*b)*(1.+uv[2]*c)*(-2.+uv[0]*
a+uv[1]*b+uv[2]*c);
479 val=0.125*(1.+uv[0]*
a)*(1.+uv[1]*b)*(1.+uv[2]*c)*(-2.+uv[0]*
a+uv[1]*b+uv[2]*c);
485 val=0.125*(1.+uv[0]*
a)*(1.+uv[1]*b)*(1.+uv[2]*c)*(-2.+uv[0]*
a+uv[1]*b+uv[2]*c);
491 val=0.125*(1.+uv[0]*
a)*(1.+uv[1]*b)*(1.+uv[2]*c)*(-2.+uv[0]*
a+uv[1]*b+uv[2]*c);
497 val=0.125*(1.+uv[0]*
a)*(1.+uv[1]*b)*(1.+uv[2]*c)*(-2.+uv[0]*
a+uv[1]*b+uv[2]*c);
503 val=0.125*(1.+uv[0]*
a)*(1.+uv[1]*b)*(1.+uv[2]*c)*(-2.+uv[0]*
a+uv[1]*b+uv[2]*c);
509 val=0.125*(1.+uv[0]*
a)*(1.+uv[1]*b)*(1.+uv[2]*c)*(-2.+uv[0]*
a+uv[1]*b+uv[2]*c);
515 val=0.125*(1.+uv[0]*
a)*(1.+uv[1]*b)*(1.+uv[2]*c)*(-2.+uv[0]*
a+uv[1]*b+uv[2]*c);
521 val=0.25*(1.-uv[0]*uv[0])*(1.+uv[1]*b)*(1.+uv[2]*c);
527 val=0.25*(1.-uv[0]*uv[0])*(1.+uv[1]*b)*(1.+uv[2]*c);
533 val=0.25*(1.-uv[0]*uv[0])*(1.+uv[1]*b)*(1.+uv[2]*c);
539 val=0.25*(1.-uv[0]*uv[0])*(1.+uv[1]*b)*(1.+uv[2]*c);
545 val=0.25*(1.+uv[0]*
a)*(1.-uv[1]*uv[1])*(1.+uv[2]*c);
551 val=0.25*(1.+uv[0]*
a)*(1.-uv[1]*uv[1])*(1.+uv[2]*c);
557 val=0.25*(1.+uv[0]*
a)*(1.-uv[1]*uv[1])*(1.+uv[2]*c);
563 val=0.25*(1.+uv[0]*
a)*(1.-uv[1]*uv[1])*(1.+uv[2]*c);
569 val=0.25*(1.+uv[0]*
a)*(1.+uv[1]*b)*(1.-uv[2]*uv[2]);
575 val=0.25*(1.+uv[0]*
a)*(1.+uv[1]*b)*(1.-uv[2]*uv[2]);
581 val=0.25*(1.+uv[0]*
a)*(1.+uv[1]*b)*(1.-uv[2]*uv[2]);
587 val=0.25*(1.+uv[0]*
a)*(1.+uv[1]*b)*(1.-uv[2]*uv[2]);
609 switch (num_variable)
612 val=0.125*
a*(1+uv[1]*b)*(1+uv[2]*c)*(-1+2*uv[0]*
a+uv[1]*b+uv[2]*c);
615 val=0.125*b*(1+uv[0]*
a)*(1+uv[2]*c)*(-1+uv[0]*
a+2*uv[1]*b+uv[2]*c);
618 val=0.125*c*(1+uv[0]*
a)*(1+uv[1]*b)*(-1+uv[0]*
a+uv[1]*b+2*uv[2]*c);
626 switch (num_variable)
629 val=0.125*
a*(1+uv[1]*b)*(1+uv[2]*c)*(-1+2*uv[0]*
a+uv[1]*b+uv[2]*c);
632 val=0.125*b*(1+uv[0]*
a)*(1+uv[2]*c)*(-1+uv[0]*
a+2*uv[1]*b+uv[2]*c);
635 val=0.125*c*(1+uv[0]*
a)*(1+uv[1]*b)*(-1+uv[0]*
a+uv[1]*b+2*uv[2]*c);
643 switch (num_variable)
646 val=0.125*
a*(1+uv[1]*b)*(1+uv[2]*c)*(-1+2*uv[0]*
a+uv[1]*b+uv[2]*c);
649 val=0.125*b*(1+uv[0]*
a)*(1+uv[2]*c)*(-1+uv[0]*
a+2*uv[1]*b+uv[2]*c);
652 val=0.125*c*(1+uv[0]*
a)*(1+uv[1]*b)*(-1+uv[0]*
a+uv[1]*b+2*uv[2]*c);
660 switch (num_variable)
663 val=0.125*
a*(1+uv[1]*b)*(1+uv[2]*c)*(-1+2*uv[0]*
a+uv[1]*b+uv[2]*c);
666 val=0.125*b*(1+uv[0]*
a)*(1+uv[2]*c)*(-1+uv[0]*
a+2*uv[1]*b+uv[2]*c);
669 val=0.125*c*(1+uv[0]*
a)*(1+uv[1]*b)*(-1+uv[0]*
a+uv[1]*b+2*uv[2]*c);
677 switch (num_variable)
680 val=0.125*
a*(1+uv[1]*b)*(1+uv[2]*c)*(-1+2*uv[0]*
a+uv[1]*b+uv[2]*c);
683 val=0.125*b*(1+uv[0]*
a)*(1+uv[2]*c)*(-1+uv[0]*
a+2*uv[1]*b+uv[2]*c);
686 val=0.125*c*(1+uv[0]*
a)*(1+uv[1]*b)*(-1+uv[0]*
a+uv[1]*b+2*uv[2]*c);
694 switch (num_variable)
697 val=0.125*
a*(1+uv[1]*b)*(1+uv[2]*c)*(-1+2*uv[0]*
a+uv[1]*b+uv[2]*c);
700 val=0.125*b*(1+uv[0]*
a)*(1+uv[2]*c)*(-1+uv[0]*
a+2*uv[1]*b+uv[2]*c);
703 val=0.125*c*(1+uv[0]*
a)*(1+uv[1]*b)*(-1+uv[0]*
a+uv[1]*b+2*uv[2]*c);
711 switch (num_variable)
714 val=0.125*
a*(1+uv[1]*b)*(1+uv[2]*c)*(-1+2*uv[0]*
a+uv[1]*b+uv[2]*c);
717 val=0.125*b*(1+uv[0]*
a)*(1+uv[2]*c)*(-1+uv[0]*
a+2*uv[1]*b+uv[2]*c);
720 val=0.125*c*(1+uv[0]*
a)*(1+uv[1]*b)*(-1+uv[0]*
a+uv[1]*b+2*uv[2]*c);
728 switch (num_variable)
731 val=0.125*
a*(1+uv[1]*b)*(1+uv[2]*c)*(-1+2*uv[0]*
a+uv[1]*b+uv[2]*c);
734 val=0.125*b*(1+uv[0]*
a)*(1+uv[2]*c)*(-1+uv[0]*
a+2*uv[1]*b+uv[2]*c);
737 val=0.125*c*(1+uv[0]*
a)*(1+uv[1]*b)*(-1+uv[0]*
a+uv[1]*b+2*uv[2]*c);
745 switch (num_variable)
748 val=-0.5*uv[0]*(1+uv[1]*b)*(1+uv[2]*c);
751 val=0.25*b*(1-uv[0]*uv[0])*(1+uv[2]*c);
754 val=0.25*c*(1-uv[0]*uv[0])*(1+uv[1]*b);
762 switch (num_variable)
765 val=-0.5*uv[0]*(1+uv[1]*b)*(1+uv[2]*c);
768 val=0.25*b*(1-uv[0]*uv[0])*(1+uv[2]*c);
771 val=0.25*c*(1-uv[0]*uv[0])*(1+uv[1]*b);
779 switch (num_variable)
782 val=-0.5*uv[0]*(1+uv[1]*b)*(1+uv[2]*c);
785 val=0.25*b*(1-uv[0]*uv[0])*(1+uv[2]*c);
788 val=0.25*c*(1-uv[0]*uv[0])*(1+uv[1]*b);
796 switch (num_variable)
799 val=-0.5*uv[0]*(1+uv[1]*b)*(1+uv[2]*c);
802 val=0.25*b*(1-uv[0]*uv[0])*(1+uv[2]*c);
805 val=0.25*c*(1-uv[0]*uv[0])*(1+uv[1]*b);
813 switch (num_variable)
816 val=0.25*
a*(1-uv[1]*uv[1])*(1+uv[2]*c);
819 val=-0.5*uv[1]*(1+uv[0]*
a)*(1+uv[2]*c);
822 val=0.25*c*(1+uv[0]*
a)*(1-uv[1]*uv[1]);
830 switch (num_variable)
833 val=0.25*
a*(1-uv[1]*uv[1])*(1+uv[2]*c);
836 val=-0.5*uv[1]*(1+uv[0]*
a)*(1+uv[2]*c);
839 val=0.25*c*(1+uv[0]*
a)*(1-uv[1]*uv[1]);
847 switch (num_variable)
850 val=0.25*
a*(1-uv[1]*uv[1])*(1+uv[2]*c);
853 val=-0.5*uv[1]*(1+uv[0]*
a)*(1+uv[2]*c);
856 val=0.25*c*(1+uv[0]*
a)*(1-uv[1]*uv[1]);
864 switch (num_variable)
867 val=0.25*
a*(1-uv[1]*uv[1])*(1+uv[2]*c);
870 val=-0.5*uv[1]*(1+uv[0]*
a)*(1+uv[2]*c);
873 val=0.25*c*(1+uv[0]*
a)*(1-uv[1]*uv[1]);
881 switch (num_variable)
884 val=0.25*
a*(1+uv[1]*b)*(1-uv[2]*uv[2]);
887 val=0.25*b*(1+uv[0]*
a)*(1-uv[2]*uv[2]);
890 val=-0.5*uv[2]*(1+uv[0]*
a)*(1+uv[1]*b);
898 switch (num_variable)
901 val=0.25*
a*(1+uv[1]*b)*(1-uv[2]*uv[2]);
904 val=0.25*b*(1+uv[0]*
a)*(1-uv[2]*uv[2]);
907 val=-0.5*uv[2]*(1+uv[0]*
a)*(1+uv[1]*b);
915 switch (num_variable)
918 val=0.25*
a*(1+uv[1]*b)*(1-uv[2]*uv[2]);
921 val=0.25*b*(1+uv[0]*
a)*(1-uv[2]*uv[2]);
924 val=-0.5*uv[2]*(1+uv[0]*
a)*(1+uv[1]*b);
932 switch (num_variable)
935 val=0.25*
a*(1+uv[1]*b)*(1-uv[2]*uv[2]);
938 val=0.25*b*(1+uv[0]*
a)*(1-uv[2]*uv[2]);
941 val=-0.5*uv[2]*(1+uv[0]*
a)*(1+uv[1]*b);
953 if (uvw[0]>=-1.-1e-10)
954 if (uvw[1]>=-1.-1e-10)
955 if (uvw[2]>=-1.-1e-10)
956 if (uvw[0]<=1.+1e-10)
957 if (uvw[1]<=1.+1e-10)
958 if (uvw[2]<=1.+1e-10)
virtual class MG_ELEMENT_TOPOLOGIQUE * get_lien_topologie(void)
class MG_ELEMENT_MAILLAGE * maillage
class MG_ELEMENT_TOPOLOGIQUE * liaison_topologique
virtual FEM_NOEUD * get_fem_noeud(int num)
virtual void change_noeud(int num, FEM_NOEUD *noeud)
virtual int get_degre_gauss(int num)
FEM_HEXA20(unsigned long num, class MG_ELEMENT_MAILLAGE *mai, class FEM_NOEUD **tabnoeud)
virtual int get_nb_fonction_interpolation(void)
virtual bool valide_parametre_EF(double *uvw)
virtual void enregistrer(std::ostream &o, double version)
virtual int get_type_entite(void)
virtual FEM_ELEMENT_MAILLAGE * dupliquer(class FEM_MAILLAGE *femmai, long decalage)
virtual int get_nb_fem_noeud(void)
virtual int verifie_validite_decoupage_xfem(double *vol=NULL)
virtual void get_pt_gauss(int degre, int num, double &w, double *uvw)
virtual int get_nb_pt_gauss(int degre)
virtual BOITE_3D & get_boite_3D(void)
virtual void get_voisin_noeud(class FEM_NOEUD *no, TPL_LISTE_ENTITE< FEM_NOEUD * > &voisin)
virtual double get_fonction_interpolation(int num, double *uv)
virtual double get_fonction_derive_interpolation(int num, int numvariable, double *uv)
virtual void reinit_boite_3D(void)
virtual int get_dimension(void)
virtual int get_degremax_fonction_interpolation(void)
FEM_NOEUD * get_fem_noeudid(unsigned long num)
int ajouter_fem_element3(FEM_ELEMENT3 *femelement3)
TPL_LISTE_ENTITE< class FEM_ELEMENT3 * > * get_lien_petit_element3(void)
TPL_LISTE_ENTITE< class FEM_ELEMENT3 * > * get_lien_element3(void)
virtual FEM_NOEUD * get_fem_noeud(int num)
virtual void reinit_boite_3D(void)
virtual FEM_NOEUD * get_fem_noeudpetitid(void)
virtual int get_nb_fem_noeud(void)
virtual void change_noeud(int num, FEM_NOEUD *noeud)
virtual BOITE_3D & get_boite_3D(void)
virtual TPL_LISTE_ENTITE< FEM_ELEMENT_MAILLAGE * > * get_lien_fem_maillage(void)
virtual int get_dimension(void)=0
static void get_pt_gauss_hex_prod(int degre, int num, double &w, double *uvw)
static int get_nb_point_hexa_prod(int degre)
static int get_degre_gauss_hexa_prod(int num)
virtual void supprimer(X x)
virtual void ajouter(X x)