438 const IntTab& face_voisins = domaine_VDF.
face_voisins(), &elem_faces = domaine_VDF.
elem_faces(), &Qdm = domaine_VDF.
Qdm();
439 const IntVect& orientation = domaine_VDF.
orientation();
452 for (
int num_arete = ndeb; num_arete < nfin; num_arete++)
453 for (
int n=0; n<N; n++)
459 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
460 const int i = orientation(num0), j = orientation(num2);
462 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
463 const double temp2 = (vitesse(num3, n) - vitesse(num2, n)) / domaine_VDF.
dist_face_period(num2, num3, i);
465 element(0) = face_voisins(num0, 0);
466 element(1) = face_voisins(num0, 1);
467 element(2) = face_voisins(num1, 0);
468 element(3) = face_voisins(num1, 1);
470 for (
int k = 0; k < 4; k++)
474 gij(element(k), i, j, n) += temp1 * 0.5 * 0.25;
475 gij(element(k), j, i, n) += temp2 * 0.5 * 0.25;
480 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), signe = Qdm(num_arete, 3);
481 const int i = orientation(num0), j = orientation(num2);
483 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
484 const double coeff_frot = (Champ_Face_coeff_frottement_grad_face_bord(num0, n, dclvdf)+Champ_Face_coeff_frottement_grad_face_bord(num1, n, dclvdf))/2.;
485 const double temp2 = -signe * coeff_frot * vitesse(num2, n);
487 element(0) = face_voisins(num2, 0);
488 element(1) = face_voisins(num2, 1);
490 for (
int k = 0; k < 2; k++)
493 gij(element(k), i, j, n) += temp1 * 0.25;
494 gij(element(k), j, i, n) += temp2 * 0.25;
498 Process::exit(
"Issue in Champ_Face_VDF::calcul_duidxj ... This case is not yet considered. Contact the TRUST team.");
501 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), signe = Qdm(num_arete, 3);
502 const int i = orientation(num0), j = orientation(num2);
504 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
505 const double vit_imp = 0.5 * (vit.val_imp_face_bord_private(num0, N*j+n) + vit.val_imp_face_bord_private(num1, N*j+n));
508 const double temp2 = -signe * (vitesse(num2, n) - vit_imp) / domaine_VDF.
dist_norm_bord(num1);
510 element(0) = face_voisins(num2, 0);
511 element(1) = face_voisins(num2, 1);
513 for (
int k = 0; k < 2; k++)
516 gij(element(k), i, j, n) += temp1 * 0.25;
517 gij(element(k), j, i, n) += temp2 * 0.25;
525 for (
int num_arete = ndeb; num_arete < nfin; num_arete++)
526 for (
int n=0; n<N; n++)
532 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
533 const int i = orientation(num0), j = orientation(num2);
535 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
536 const double temp2 = (vitesse(num3, n) - vitesse(num2, n)) / domaine_VDF.
dist_face_period(num2, num3, i);
538 element(0) = face_voisins(num0, 0);
539 element(1) = face_voisins(num0, 1);
540 element(2) = face_voisins(num1, 0);
541 element(3) = face_voisins(num1, 1);
543 for (
int k = 0; k < 4; k++)
548 gij(element(k), i, j, n) += temp1 * 0.5 * 0.5 * 0.25;
549 gij(element(k), j, i, n) += temp2 * 0.5 * 0.5 * 0.25;
555 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), signe = Qdm(num_arete, 3);
556 const int i = orientation(num1), j = orientation(num2);
558 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
559 const double vit_imp = 0.5 * (vit.val_imp_face_bord_private(num0, N*j+n) + vit.val_imp_face_bord_private(num1, N*j+n));
561 const double temp2 = -signe * (vitesse(num2, n) - vit_imp) / domaine_VDF.
dist_norm_bord(num1);
563 element(0) = face_voisins(num2, 0);
564 element(1) = face_voisins(num2, 1);
566 for (
int k = 0; k < 2; k++)
570 gij(element(k), i, j, n) += temp1 * 0.5 * 0.25;
571 gij(element(k), j, i, n) += temp2 * 0.5 * 0.25;
579 if (n_type == 14 || n_type == 15)
581 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), signe = Qdm(num_arete, 3);
582 const int i = orientation(num1), j = orientation(num2);
584 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
585 const double vit_imp = 0.5 * (vit.val_imp_face_bord_private(num0, N*j+n) + vit.val_imp_face_bord_private(num1, N*j+n));
587 const double temp2 = -signe * (vitesse(num2, n) - vit_imp) / domaine_VDF.
dist_norm_bord(num1);
589 element(0) = face_voisins(num2, 0);
590 element(1) = face_voisins(num2, 1);
592 for (
int k = 0; k < 2; k++)
593 if (element(k) != -1)
595 gij(element(k), i, j, n) += temp1 * 0.25;
596 gij(element(k), j, i, n) += temp2 * 0.25;
599 else if (n_type == 3 || n_type == 4 || n_type == 8)
601 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
602 const int f1 = num0 > -1 ? num0 : num1, f2 = num2 > -1 ? num2 : num3;
603 const int i = orientation(f1), j = orientation(f2);
605 const double coeff_frot1 = Champ_Face_coeff_frottement_grad_face_bord(f1, n, dclvdf), coeff_frot2 = Champ_Face_coeff_frottement_grad_face_bord(f2, n, dclvdf);
610 const double temp1 = coeff_frot2 * (face_voisins(f2, 0)==-1 ? 1:-1)* vitesse(f1, n);
611 const double temp2 = coeff_frot1 * (face_voisins(f1, 0)==-1 ? 1:-1)* vitesse(f2, n);
614 element(0) = face_voisins(f1, 0);
615 element(1) = face_voisins(f1, 1);
617 for (
int k = 0; k < 2; k++)
618 if (element(k) != -1)
620 gij(element(k), i, j, n) += temp1 * 0.25;
621 gij(element(k), j, i, n) += temp2 * 0.25;
629 for (
int num_arete = prem_am; num_arete < dern_am; num_arete++)
630 for (
int n=0; n<N; n++)
632 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
633 const int i = orientation(num0), j = orientation(num2);
635 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
636 const double temp2 = (vitesse(num3, n) - vitesse(num2, n)) / domaine_VDF.
dist_face_period(num2, num3, i);
638 element(0) = face_voisins(num0, 0);
639 element(1) = face_voisins(num0, 1);
640 element(2) = face_voisins(num1, 0);
641 element(3) = face_voisins(num1, 1);
643 for (
int k = 0; k < 4; k++)
644 if (element(k) != -1)
648 gij(element(k), i, j, n) += temp1 * 0.25;
649 gij(element(k), j, i, n) += temp2 * 0.25;
655 for (
int num_arete = prem_ai; num_arete < dern_ai; num_arete++)
656 for (
int n=0; n<N; n++)
658 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
659 const int i = orientation(num0), j = orientation(num2);
661 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
664 const double temp2 = (vitesse(num3, n) - vitesse(num2, n)) / domaine_VDF.
dist_face_period(num2, num3, i);
667 element(0) = face_voisins(num0, 0);
668 element(1) = face_voisins(num0, 1);
669 element(2) = face_voisins(num1, 0);
670 element(3) = face_voisins(num1, 1);
672 for (
int k = 0; k < 4; k++)
675 gij(element(k), i, j, n) += temp1 * 0.25;
676 gij(element(k), j, i, n) += temp2 * 0.25;
688 for (
int num_arete = ndeb; num_arete < nfin; num_arete++)
689 for (
int n=0; n<N; n++)
696 const int num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2);
697 const int i = orientation(num1), j = orientation(num2);
699 element(0) = face_voisins(num2, 0);
700 element(1) = face_voisins(num2, 1);
702 for (
int k = 0; k < 2; k++)
703 if (element(k) != -1)
706 gij(element(k), i, j, n) += gij(element(k), i, j, n) / 3.;
707 gij(element(k), j, i, n) += gij(element(k), j, i, n) / 3.;
715 for (
int elem = 0; elem < nb_elem; elem++)
716 for (
int n=0; n<N; n++)
719 double temp1 = (vitesse(elem_faces(elem, i), n) - vitesse(elem_faces(elem, i +
dimension), n)) / domaine_VDF.
dim_elem(elem, orientation(elem_faces(elem, i)));
720 gij(elem, i, i, n) = -temp1;
736 const IntTab& face_voisins = domaine_VDF.
face_voisins();
737 const IntTab& elem_faces = domaine_VDF.
elem_faces();
739 int num0, num1, num2, num3, num4, num5;
740 int f0, f1, f2, f3, f4, f5;
747 for (
int element_number = 0; element_number < nb_elem_tot; element_number++)
748 for (
int n=0; n<N; n++)
750 f0 = elem_faces(element_number, 0);
751 num0 = face_voisins(f0, 0);
753 num0 = element_number;
754 f1 = elem_faces(element_number, 1);
755 num1 = face_voisins(f1, 0);
757 num1 = element_number;
758 f2 = elem_faces(element_number, 2);
759 num2 = face_voisins(f2, 1);
761 num2 = element_number;
762 f3 = elem_faces(element_number, 3);
763 num3 = face_voisins(f3, 1);
765 num3 = element_number;
767 gij(element_number, 0, 0, n) = 0.5 * ((in_vel(num2, N*0+n) - in_vel(num0, N*0+n)) / domaine_VDF.
dim_elem(element_number, 0));
768 gij(element_number, 0, 1, n) = 0.5 * ((in_vel(num3, N*0+n) - in_vel(num1, N*0+n)) / domaine_VDF.
dim_elem(element_number, 1));
769 gij(element_number, 1, 0, n) = 0.5 * ((in_vel(num2, N*1+n) - in_vel(num0, N*1+n)) / domaine_VDF.
dim_elem(element_number, 0));
770 gij(element_number, 1, 1, n) = 0.5 * ((in_vel(num3, N*1+n) - in_vel(num1, N*1+n)) / domaine_VDF.
dim_elem(element_number, 1));
775 for (
int element_number = 0; element_number < nb_elem_tot; element_number++)
776 for (
int n=0; n<N; n++)
778 f0 = elem_faces(element_number, 0);
779 num0 = face_voisins(f0, 0);
781 num0 = element_number;
782 f1 = elem_faces(element_number, 1);
783 num1 = face_voisins(f1, 0);
785 num1 = element_number;
786 f2 = elem_faces(element_number, 2);
787 num2 = face_voisins(f2, 0);
789 num2 = element_number;
790 f3 = elem_faces(element_number, 3);
791 num3 = face_voisins(f3, 1);
793 num3 = element_number;
794 f4 = elem_faces(element_number, 4);
795 num4 = face_voisins(f4, 1);
797 num4 = element_number;
798 f5 = elem_faces(element_number, 5);
799 num5 = face_voisins(f5, 1);
801 num5 = element_number;
803 gij(element_number, 0, 0, n) = 0.5 * ((in_vel(num3, N*0+n) - in_vel(num0, N*0+n)) / domaine_VDF.
dim_elem(element_number, 0));
805 gij(element_number, 0, 1, n) = 0.5 * ((in_vel(num4, N*0+n) - in_vel(num1, N*0+n)) / domaine_VDF.
dim_elem(element_number, 1));
806 gij(element_number, 1, 0, n) = 0.5 * ((in_vel(num3, N*1+n) - in_vel(num0, N*1+n)) / domaine_VDF.
dim_elem(element_number, 0));
808 gij(element_number, 0, 2, n) = 0.5 * ((in_vel(num5, N*0+n) - in_vel(num2, N*0+n)) / domaine_VDF.
dim_elem(element_number, 2));
810 gij(element_number, 2, 0, n) = 0.5 * ((in_vel(num3, N*2+n) - in_vel(num0, N*2+n)) / domaine_VDF.
dim_elem(element_number, 0));
812 gij(element_number, 1, 1, n) = 0.5 * ((in_vel(num4, N*1+n) - in_vel(num1, N*1+n)) / domaine_VDF.
dim_elem(element_number, 1));
814 gij(element_number, 1, 2, n) = 0.5 * ((in_vel(num5, N*1+n) - in_vel(num2, N*1+n)) / domaine_VDF.
dim_elem(element_number, 2));
815 gij(element_number, 2, 1, n) = 0.5 * ((in_vel(num4, N*2+n) - in_vel(num1, N*2+n)) / domaine_VDF.
dim_elem(element_number, 1));
817 gij(element_number, 2, 2, n) = 0.5 * ((in_vel(num5, N*2+n) - in_vel(num2, N*2+n)) / domaine_VDF.
dim_elem(element_number, 2));
836 const int contribution_paroi = 0;
840 const IntTab& face_voisins = domaine_VDF.
face_voisins(), &elem_faces = domaine_VDF.
elem_faces(), &Qdm = domaine_VDF.
Qdm();
841 const IntVect& orientation = domaine_VDF.
orientation();
851 for (
int num_arete = ndeb; num_arete < nfin; num_arete++)
857 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
858 const int i = orientation(num0), j = orientation(num2);
860 const double temp1 = (vitesse[num1] - vitesse[num0]) / domaine_VDF.
dist_face_period(num0, num1, j);
861 const double temp2 = (vitesse[num3] - vitesse[num2]) / domaine_VDF.
dist_face_period(num2, num3, i);
863 element[0] = face_voisins(num0, 0);
864 element[1] = face_voisins(num0, 1);
865 element[2] = face_voisins(num1, 0);
866 element[3] = face_voisins(num1, 1);
871 for (
int k = 0; k < 4; k++)
872 SMA_barre[element[k]] += 0.5 * (temp1 + temp2) * (temp1 + temp2) * 0.25;
876 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), signe = Qdm(num_arete, 3);
877 const int j = orientation(num2);
879 const double temp1 = (vitesse[num1] - vitesse[num0]) / domaine_VDF.
dist_face_period(num0, num1, j);
880 double vit_imp = 0.5 * (vit.val_imp_face_bord_private(num0, j) + vit.val_imp_face_bord_private(num1, j));
884 if (n_type == 0 && contribution_paroi == 0)
887 temp2 = -signe * (vitesse[num2] - vit_imp) / domaine_VDF.
dist_norm_bord(num1);
889 element[0] = face_voisins(num2, 0);
890 element[1] = face_voisins(num2, 1);
895 for (
int k = 0; k < 2; k++)
896 SMA_barre[element[k]] += (temp1 + temp2) * (temp1 + temp2) * 0.25;
902 for (
int num_arete = ndeb; num_arete < nfin; num_arete++)
908 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
909 const int i = orientation(num0), j = orientation(num2);
911 const double temp1 = (vitesse[num1] - vitesse[num0]) / domaine_VDF.
dist_face_period(num0, num1, j);
912 const double temp2 = (vitesse[num3] - vitesse[num2]) / domaine_VDF.
dist_face_period(num2, num3, i);
914 element[0] = face_voisins(num0, 0);
915 element[1] = face_voisins(num0, 1);
916 element[2] = face_voisins(num1, 0);
917 element[3] = face_voisins(num1, 1);
923 for (
int k = 0; k < 4; k++)
924 SMA_barre[element[k]] += 0.5 * 0.5 * (temp1 + temp2) * (temp1 + temp2) * 0.25;
929 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), signe = Qdm(num_arete, 3);
930 const int j = orientation(num2);
932 const double temp1 = (vitesse[num1] - vitesse[num0]) / domaine_VDF.
dist_face_period(num0, num1, j);
933 const double vit_imp = 0.5 * (vit.val_imp_face_bord_private(num0, j) + vit.val_imp_face_bord_private(num1, j));
937 if (contribution_paroi == 0)
940 temp2 = -signe * (vitesse[num2] - vit_imp) / domaine_VDF.
dist_norm_bord(num1);
942 element[0] = face_voisins(num2, 0);
943 element[1] = face_voisins(num2, 1);
945 for (
int k = 0; k < 2; k++)
946 SMA_barre[element[k]] += 0.5 * (temp1 + temp2) * (temp1 + temp2) * 0.25;
950 if (n_type == 14 || n_type == 15 || n_type == 16)
952 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), signe = Qdm(num_arete, 3);
953 const int j = orientation(num2);
955 const double temp1 = (vitesse[num1] - vitesse[num0]) / domaine_VDF.
dist_face_period(num0, num1, j);
956 const double vit_imp = 0.5 * (vit.val_imp_face_bord_private(num0, j) + vit.val_imp_face_bord_private(num1, j));
960 if (n_type == 0 && contribution_paroi == 0)
963 temp2 = -signe * (vitesse[num2] - vit_imp) / domaine_VDF.
dist_norm_bord(num1);
965 element[0] = face_voisins(num2, 0);
966 element[1] = face_voisins(num2, 1);
968 for (
int k = 0; k < 2; k++)
969 if (element[k] != -1)
970 SMA_barre[element[k]] += (temp1 + temp2) * (temp1 + temp2) * 0.25;
974 for (
int num_arete = prem_am; num_arete < dern_am; num_arete++)
976 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
977 const int i = orientation(num0), j = orientation(num2);
979 const double temp1 = (vitesse[num1] - vitesse[num0]) / domaine_VDF.
dist_face_period(num0, num1, j);
980 const double temp2 = (vitesse[num3] - vitesse[num2]) / domaine_VDF.
dist_face_period(num2, num3, i);
982 element[0] = face_voisins(num0, 0);
983 element[1] = face_voisins(num0, 1);
984 element[2] = face_voisins(num1, 0);
985 element[3] = face_voisins(num1, 1);
987 for (
int k = 0; k < 4; k++)
988 if (element[k] != -1)
989 SMA_barre[element[k]] += (temp1 + temp2) * (temp1 + temp2) * 0.25;
992 for (
int num_arete = prem_ai; num_arete < dern_ai; num_arete++)
994 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
995 const int i = orientation(num0), j = orientation(num2);
997 const double temp1 = (vitesse[num1] - vitesse[num0]) / domaine_VDF.
dist_face_period(num0, num1, j);
998 const double temp2 = (vitesse[num3] - vitesse[num2]) / domaine_VDF.
dist_face_period(num2, num3, i);
1000 element[0] = face_voisins(num0, 0);
1001 element[1] = face_voisins(num0, 1);
1002 element[2] = face_voisins(num1, 0);
1003 element[3] = face_voisins(num1, 1);
1005 for (
int k = 0; k < 4; k++)
1006 SMA_barre[element[k]] += (temp1 + temp2) * (temp1 + temp2) * 0.25;
1011 for (
int elem = 0; elem < nb_elem; elem++)
1015 double temp1 = (vitesse[elem_faces(elem, i)] - vitesse[elem_faces(elem, i +
dimension)]) / domaine_VDF.
dim_elem(elem, orientation(elem_faces(elem, i)));
1016 SMA_barre(elem) += 2.0 * temp1 * temp1;
1125 const DoubleTab& inco =
valeurs();
1126 const IntVect& orientation = domaine_VDF.
orientation();
1127 const IntTab& elem_faces = domaine_VDF.
elem_faces();
1128 const IntTab& Qdm = domaine_VDF.
Qdm();
1129 const DoubleTab& xv = domaine_VDF.
xv();
1130 const DoubleTab& xp = domaine_VDF.
xp();
1134 double deux_pi = M_PI * 2.0;
1138 int fx0, fx1, fy0, fy1;
1140 for (num_elem = 0; num_elem < domaine_VDF.
nb_elem(); num_elem++)
1142 fx0 = elem_faces(num_elem, 0);
1144 fy0 = elem_faces(num_elem, 1);
1145 fy1 = elem_faces(num_elem, 1 +
dimension);
1148 tau_diag_(num_elem, 0) = (inco[fx1] - inco[fx0]) / (xv(fx1, 0) - xv(fx0, 0));
1151 R = xp(num_elem, 0);
1152 d_teta = xv(fy1, 1) - xv(fy0, 1);
1155 tau_diag_(num_elem, 1) = (inco[fy1] - inco[fy0]) / (R * d_teta) + 0.5 * (inco[fx0] + inco[fx1]) / R;
1161 for (num_elem = 0; num_elem < domaine_VDF.
nb_elem(); num_elem++)
1163 fz0 = elem_faces(num_elem, 2);
1164 fz1 = elem_faces(num_elem, 2 +
dimension);
1167 tau_diag_(num_elem, 2) = (inco[fz1] - inco[fz0]) / (xv(fz1, 2) - xv(fz0, 2));
1186 int fac1, fac2, fac3, fac4, signe;
1191 for (n_arete = ndeb; n_arete < nfin; n_arete++)
1193 n_type = type_arete_bord(n_arete - ndeb);
1204 fac1 = Qdm(n_arete, 0);
1205 fac2 = Qdm(n_arete, 1);
1206 fac3 = Qdm(n_arete, 2);
1207 signe = Qdm(n_arete, 3);
1208 ori1 = orientation(fac1);
1209 ori3 = orientation(fac3);
1217 if (est_egal(inco[fac1], 0))
1218 vit_imp = val_imp_face_bord_private(rang2, ori3);
1220 vit_imp = val_imp_face_bord_private(rang1, ori3);
1223 vit_imp = 0.5 * (val_imp_face_bord_private(rang1, ori3) + val_imp_face_bord_private(rang2, ori3));
1227 dist3 = xv(fac3, 0) - xv(fac1, 0);
1234 tau_croises_(n_arete, 0) = signe * (vit_imp - inco[fac3]) / dist3;
1238 d_teta = xv(fac2, 1) - xv(fac1, 1);
1241 tau_croises_(n_arete, 1) = (inco[fac2] - inco[fac1]) / (R * d_teta);
1246 tau_croises_(n_arete, 0) = signe * (vit_imp - inco[fac3]) / dist3;
1248 tau_croises_(n_arete, 1) = (inco[fac2] - inco[fac1]) / (xv(fac2, 2) - xv(fac1, 2));
1254 d_teta = xv(fac3, 1) - xv(fac1, 1);
1264 tau_croises_(n_arete, 0) = signe * (vit_imp - inco[fac3]) / dist3 - 0.5 * (inco[fac1] + inco[fac2]) / R;
1266 tau_croises_(n_arete, 1) = (inco[fac2] - inco[fac1]) / (xv(fac2, 0) - xv(fac1, 0));
1271 tau_croises_(n_arete, 0) = signe * (vit_imp - inco[fac3]) / dist3;
1273 tau_croises_(n_arete, 1) = (inco[fac2] - inco[fac1]) / (xv(fac2, 2) - xv(fac1, 2));
1278 dist3 = xv(fac3, 2) - xv(fac1, 2);
1285 tau_croises_(n_arete, 0) = signe * (vit_imp - inco[fac3]) / dist3;
1287 tau_croises_(n_arete, 1) = (inco[fac2] - inco[fac1]) / (xv(fac2, 0) - xv(fac1, 0));
1292 tau_croises_(n_arete, 0) = signe * (vit_imp - inco[fac3]) / dist3;
1296 d_teta = xv(fac2, 1) - xv(fac1, 1);
1299 tau_croises_(n_arete, 1) = (inco[fac2] - inco[fac1]) / (R * d_teta);
1312 Cerr <<
"On a rencontre un type d'arete non prevu\n";
1313 Cerr <<
"num arete : " << n_arete;
1314 Cerr <<
" type : " << n_type;
1324 for (n_arete = ndeb; n_arete < nfin; n_arete++)
1326 fac1 = Qdm(n_arete, 0);
1327 fac2 = Qdm(n_arete, 1);
1328 fac3 = Qdm(n_arete, 2);
1329 fac4 = Qdm(n_arete, 3);
1330 ori1 = orientation(fac1);
1331 ori3 = orientation(fac3);
1336 d_teta = xv(fac4, 1) - xv(fac3, 1);
1339 tau_croises_(n_arete, 1) = (inco(fac4) - inco(fac3)) / (R * d_teta) - 0.5 * (inco[fac1] + inco[fac2]) / R;
1341 tau_croises_(n_arete, 0) = (inco(fac2) - inco(fac1)) / (xv(fac2, 0) - xv(fac1, 0));
1346 tau_croises_(n_arete, 1) = (inco(fac4) - inco(fac3)) / (xv(fac4, 2) - xv(fac3, 2));
1349 d_teta = xv(fac2, 1) - xv(fac1, 1);
1352 tau_croises_(n_arete, 0) = (inco(fac2) - inco(fac1)) / (R * d_teta);
1357 tau_croises_(n_arete, 1) = (inco(fac4) - inco(fac3)) / (xv(fac4, 2) - xv(fac3, 2));
1359 tau_croises_(n_arete, 0) = (inco(fac2) - inco(fac1)) / (xv(fac2, 0) - xv(fac1, 0));