441 const IntTab& face_voisins = domaine_VDF.
face_voisins(), &elem_faces = domaine_VDF.
elem_faces(), &Qdm = domaine_VDF.
Qdm();
442 const IntVect& orientation = domaine_VDF.
orientation();
455 for (
int num_arete = ndeb; num_arete < nfin; num_arete++)
456 for (
int n=0; n<N; n++)
462 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
463 const int i = orientation(num0), j = orientation(num2);
465 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
466 const double temp2 = (vitesse(num3, n) - vitesse(num2, n)) / domaine_VDF.
dist_face_period(num2, num3, i);
468 element(0) = face_voisins(num0, 0);
469 element(1) = face_voisins(num0, 1);
470 element(2) = face_voisins(num1, 0);
471 element(3) = face_voisins(num1, 1);
473 for (
int k = 0; k < 4; k++)
477 gij(element(k), i, j, n) += temp1 * 0.5 * 0.25;
478 gij(element(k), j, i, n) += temp2 * 0.5 * 0.25;
483 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), signe = Qdm(num_arete, 3);
484 const int i = orientation(num0), j = orientation(num2);
486 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
487 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.;
488 const double temp2 = -signe * coeff_frot * vitesse(num2, n);
490 element(0) = face_voisins(num2, 0);
491 element(1) = face_voisins(num2, 1);
493 for (
int k = 0; k < 2; k++)
496 gij(element(k), i, j, n) += temp1 * 0.25;
497 gij(element(k), j, i, n) += temp2 * 0.25;
501 Process::exit(
"Issue in Champ_Face_VDF::calcul_duidxj ... This case is not yet considered. Contact the TRUST team.");
504 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), signe = Qdm(num_arete, 3);
505 const int i = orientation(num0), j = orientation(num2);
507 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
508 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));
511 const double temp2 = -signe * (vitesse(num2, n) - vit_imp) / domaine_VDF.
dist_norm_bord(num1);
513 element(0) = face_voisins(num2, 0);
514 element(1) = face_voisins(num2, 1);
516 for (
int k = 0; k < 2; k++)
519 gij(element(k), i, j, n) += temp1 * 0.25;
520 gij(element(k), j, i, n) += temp2 * 0.25;
528 for (
int num_arete = ndeb; num_arete < nfin; num_arete++)
529 for (
int n=0; n<N; n++)
535 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
536 const int i = orientation(num0), j = orientation(num2);
538 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
539 const double temp2 = (vitesse(num3, n) - vitesse(num2, n)) / domaine_VDF.
dist_face_period(num2, num3, i);
541 element(0) = face_voisins(num0, 0);
542 element(1) = face_voisins(num0, 1);
543 element(2) = face_voisins(num1, 0);
544 element(3) = face_voisins(num1, 1);
546 for (
int k = 0; k < 4; k++)
551 gij(element(k), i, j, n) += temp1 * 0.5 * 0.5 * 0.25;
552 gij(element(k), j, i, n) += temp2 * 0.5 * 0.5 * 0.25;
558 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), signe = Qdm(num_arete, 3);
559 const int i = orientation(num1), j = orientation(num2);
561 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
562 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));
564 const double temp2 = -signe * (vitesse(num2, n) - vit_imp) / domaine_VDF.
dist_norm_bord(num1);
566 element(0) = face_voisins(num2, 0);
567 element(1) = face_voisins(num2, 1);
569 for (
int k = 0; k < 2; k++)
573 gij(element(k), i, j, n) += temp1 * 0.5 * 0.25;
574 gij(element(k), j, i, n) += temp2 * 0.5 * 0.25;
582 if (n_type == 14 || n_type == 15)
584 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), signe = Qdm(num_arete, 3);
585 const int i = orientation(num1), j = orientation(num2);
587 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
588 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));
590 const double temp2 = -signe * (vitesse(num2, n) - vit_imp) / domaine_VDF.
dist_norm_bord(num1);
592 element(0) = face_voisins(num2, 0);
593 element(1) = face_voisins(num2, 1);
595 for (
int k = 0; k < 2; k++)
596 if (element(k) != -1)
598 gij(element(k), i, j, n) += temp1 * 0.25;
599 gij(element(k), j, i, n) += temp2 * 0.25;
602 else if (n_type == 3 || n_type == 4 || n_type == 8)
604 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
605 const int f1 = num0 > -1 ? num0 : num1, f2 = num2 > -1 ? num2 : num3;
606 const int i = orientation(f1), j = orientation(f2);
608 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);
613 const double temp1 = coeff_frot2 * (face_voisins(f2, 0)==-1 ? 1:-1)* vitesse(f1, n);
614 const double temp2 = coeff_frot1 * (face_voisins(f1, 0)==-1 ? 1:-1)* vitesse(f2, n);
617 element(0) = face_voisins(f1, 0);
618 element(1) = face_voisins(f1, 1);
620 for (
int k = 0; k < 2; k++)
621 if (element(k) != -1)
623 gij(element(k), i, j, n) += temp1 * 0.25;
624 gij(element(k), j, i, n) += temp2 * 0.25;
632 for (
int num_arete = prem_am; num_arete < dern_am; num_arete++)
633 for (
int n=0; n<N; n++)
635 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
636 const int i = orientation(num0), j = orientation(num2);
638 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
639 const double temp2 = (vitesse(num3, n) - vitesse(num2, n)) / domaine_VDF.
dist_face_period(num2, num3, i);
641 element(0) = face_voisins(num0, 0);
642 element(1) = face_voisins(num0, 1);
643 element(2) = face_voisins(num1, 0);
644 element(3) = face_voisins(num1, 1);
646 for (
int k = 0; k < 4; k++)
647 if (element(k) != -1)
651 gij(element(k), i, j, n) += temp1 * 0.25;
652 gij(element(k), j, i, n) += temp2 * 0.25;
658 for (
int num_arete = prem_ai; num_arete < dern_ai; num_arete++)
659 for (
int n=0; n<N; n++)
661 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
662 const int i = orientation(num0), j = orientation(num2);
664 const double temp1 = (vitesse(num1, n) - vitesse(num0, n)) / domaine_VDF.
dist_face_period(num0, num1, j);
667 const double temp2 = (vitesse(num3, n) - vitesse(num2, n)) / domaine_VDF.
dist_face_period(num2, num3, i);
670 element(0) = face_voisins(num0, 0);
671 element(1) = face_voisins(num0, 1);
672 element(2) = face_voisins(num1, 0);
673 element(3) = face_voisins(num1, 1);
675 for (
int k = 0; k < 4; k++)
678 gij(element(k), i, j, n) += temp1 * 0.25;
679 gij(element(k), j, i, n) += temp2 * 0.25;
691 for (
int num_arete = ndeb; num_arete < nfin; num_arete++)
692 for (
int n=0; n<N; n++)
699 const int num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2);
700 const int i = orientation(num1), j = orientation(num2);
702 element(0) = face_voisins(num2, 0);
703 element(1) = face_voisins(num2, 1);
705 for (
int k = 0; k < 2; k++)
706 if (element(k) != -1)
709 gij(element(k), i, j, n) += gij(element(k), i, j, n) / 3.;
710 gij(element(k), j, i, n) += gij(element(k), j, i, n) / 3.;
718 for (
int elem = 0; elem < nb_elem; elem++)
719 for (
int n=0; n<N; n++)
722 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)));
723 gij(elem, i, i, n) = -temp1;
742 const IntTab& face_voisins = domaine_VDF.
face_voisins();
743 const IntTab& elem_faces = domaine_VDF.
elem_faces();
745 int num0, num1, num2, num3, num4, num5;
746 int f0, f1, f2, f3, f4, f5;
753 for (
int element_number = 0; element_number < nb_elem_tot; element_number++)
754 for (
int n=0; n<N; n++)
756 f0 = elem_faces(element_number, 0);
757 num0 = face_voisins(f0, 0);
759 num0 = element_number;
760 f1 = elem_faces(element_number, 1);
761 num1 = face_voisins(f1, 0);
763 num1 = element_number;
764 f2 = elem_faces(element_number, 2);
765 num2 = face_voisins(f2, 1);
767 num2 = element_number;
768 f3 = elem_faces(element_number, 3);
769 num3 = face_voisins(f3, 1);
771 num3 = element_number;
773 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));
774 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));
775 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));
776 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));
781 for (
int element_number = 0; element_number < nb_elem_tot; element_number++)
782 for (
int n=0; n<N; n++)
784 f0 = elem_faces(element_number, 0);
785 num0 = face_voisins(f0, 0);
787 num0 = element_number;
788 f1 = elem_faces(element_number, 1);
789 num1 = face_voisins(f1, 0);
791 num1 = element_number;
792 f2 = elem_faces(element_number, 2);
793 num2 = face_voisins(f2, 0);
795 num2 = element_number;
796 f3 = elem_faces(element_number, 3);
797 num3 = face_voisins(f3, 1);
799 num3 = element_number;
800 f4 = elem_faces(element_number, 4);
801 num4 = face_voisins(f4, 1);
803 num4 = element_number;
804 f5 = elem_faces(element_number, 5);
805 num5 = face_voisins(f5, 1);
807 num5 = element_number;
809 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));
811 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));
812 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));
814 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));
816 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));
818 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));
820 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));
821 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));
823 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));
842 const int contribution_paroi = 0;
846 const IntTab& face_voisins = domaine_VDF.
face_voisins(), &elem_faces = domaine_VDF.
elem_faces(), &Qdm = domaine_VDF.
Qdm();
847 const IntVect& orientation = domaine_VDF.
orientation();
857 for (
int num_arete = ndeb; num_arete < nfin; num_arete++)
863 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
864 const int i = orientation(num0), j = orientation(num2);
866 const double temp1 = (vitesse[num1] - vitesse[num0]) / domaine_VDF.
dist_face_period(num0, num1, j);
867 const double temp2 = (vitesse[num3] - vitesse[num2]) / domaine_VDF.
dist_face_period(num2, num3, i);
869 element[0] = face_voisins(num0, 0);
870 element[1] = face_voisins(num0, 1);
871 element[2] = face_voisins(num1, 0);
872 element[3] = face_voisins(num1, 1);
877 for (
int k = 0; k < 4; k++)
878 SMA_barre[element[k]] += 0.5 * (temp1 + temp2) * (temp1 + temp2) * 0.25;
882 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), signe = Qdm(num_arete, 3);
883 const int j = orientation(num2);
885 const double temp1 = (vitesse[num1] - vitesse[num0]) / domaine_VDF.
dist_face_period(num0, num1, j);
886 double vit_imp = 0.5 * (vit.val_imp_face_bord_private(num0, j) + vit.val_imp_face_bord_private(num1, j));
890 if (n_type == 0 && contribution_paroi == 0)
893 temp2 = -signe * (vitesse[num2] - vit_imp) / domaine_VDF.
dist_norm_bord(num1);
895 element[0] = face_voisins(num2, 0);
896 element[1] = face_voisins(num2, 1);
901 for (
int k = 0; k < 2; k++)
902 SMA_barre[element[k]] += (temp1 + temp2) * (temp1 + temp2) * 0.25;
908 for (
int num_arete = ndeb; num_arete < nfin; num_arete++)
914 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
915 const int i = orientation(num0), j = orientation(num2);
917 const double temp1 = (vitesse[num1] - vitesse[num0]) / domaine_VDF.
dist_face_period(num0, num1, j);
918 const double temp2 = (vitesse[num3] - vitesse[num2]) / domaine_VDF.
dist_face_period(num2, num3, i);
920 element[0] = face_voisins(num0, 0);
921 element[1] = face_voisins(num0, 1);
922 element[2] = face_voisins(num1, 0);
923 element[3] = face_voisins(num1, 1);
929 for (
int k = 0; k < 4; k++)
930 SMA_barre[element[k]] += 0.5 * 0.5 * (temp1 + temp2) * (temp1 + temp2) * 0.25;
935 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), signe = Qdm(num_arete, 3);
936 const int j = orientation(num2);
938 const double temp1 = (vitesse[num1] - vitesse[num0]) / domaine_VDF.
dist_face_period(num0, num1, j);
939 const double vit_imp = 0.5 * (vit.val_imp_face_bord_private(num0, j) + vit.val_imp_face_bord_private(num1, j));
943 if (contribution_paroi == 0)
946 temp2 = -signe * (vitesse[num2] - vit_imp) / domaine_VDF.
dist_norm_bord(num1);
948 element[0] = face_voisins(num2, 0);
949 element[1] = face_voisins(num2, 1);
951 for (
int k = 0; k < 2; k++)
952 SMA_barre[element[k]] += 0.5 * (temp1 + temp2) * (temp1 + temp2) * 0.25;
956 if (n_type == 14 || n_type == 15 || n_type == 16)
958 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), signe = Qdm(num_arete, 3);
959 const int j = orientation(num2);
961 const double temp1 = (vitesse[num1] - vitesse[num0]) / domaine_VDF.
dist_face_period(num0, num1, j);
962 const double vit_imp = 0.5 * (vit.val_imp_face_bord_private(num0, j) + vit.val_imp_face_bord_private(num1, j));
966 if (n_type == 0 && contribution_paroi == 0)
969 temp2 = -signe * (vitesse[num2] - vit_imp) / domaine_VDF.
dist_norm_bord(num1);
971 element[0] = face_voisins(num2, 0);
972 element[1] = face_voisins(num2, 1);
974 for (
int k = 0; k < 2; k++)
975 if (element[k] != -1)
976 SMA_barre[element[k]] += (temp1 + temp2) * (temp1 + temp2) * 0.25;
980 for (
int num_arete = prem_am; num_arete < dern_am; num_arete++)
982 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
983 const int i = orientation(num0), j = orientation(num2);
985 const double temp1 = (vitesse[num1] - vitesse[num0]) / domaine_VDF.
dist_face_period(num0, num1, j);
986 const double temp2 = (vitesse[num3] - vitesse[num2]) / domaine_VDF.
dist_face_period(num2, num3, i);
988 element[0] = face_voisins(num0, 0);
989 element[1] = face_voisins(num0, 1);
990 element[2] = face_voisins(num1, 0);
991 element[3] = face_voisins(num1, 1);
993 for (
int k = 0; k < 4; k++)
994 if (element[k] != -1)
995 SMA_barre[element[k]] += (temp1 + temp2) * (temp1 + temp2) * 0.25;
998 for (
int num_arete = prem_ai; num_arete < dern_ai; num_arete++)
1000 const int num0 = Qdm(num_arete, 0), num1 = Qdm(num_arete, 1), num2 = Qdm(num_arete, 2), num3 = Qdm(num_arete, 3);
1001 const int i = orientation(num0), j = orientation(num2);
1003 const double temp1 = (vitesse[num1] - vitesse[num0]) / domaine_VDF.
dist_face_period(num0, num1, j);
1004 const double temp2 = (vitesse[num3] - vitesse[num2]) / domaine_VDF.
dist_face_period(num2, num3, i);
1006 element[0] = face_voisins(num0, 0);
1007 element[1] = face_voisins(num0, 1);
1008 element[2] = face_voisins(num1, 0);
1009 element[3] = face_voisins(num1, 1);
1011 for (
int k = 0; k < 4; k++)
1012 SMA_barre[element[k]] += (temp1 + temp2) * (temp1 + temp2) * 0.25;
1017 for (
int elem = 0; elem < nb_elem; elem++)
1021 double temp1 = (vitesse[elem_faces(elem, i)] - vitesse[elem_faces(elem, i +
dimension)]) / domaine_VDF.
dim_elem(elem, orientation(elem_faces(elem, i)));
1022 SMA_barre(elem) += 2.0 * temp1 * temp1;
1131 const DoubleTab& inco =
valeurs();
1132 const IntVect& orientation = domaine_VDF.
orientation();
1133 const IntTab& elem_faces = domaine_VDF.
elem_faces();
1134 const IntTab& Qdm = domaine_VDF.
Qdm();
1135 const DoubleTab& xv = domaine_VDF.
xv();
1136 const DoubleTab& xp = domaine_VDF.
xp();
1140 double deux_pi = M_PI * 2.0;
1144 int fx0, fx1, fy0, fy1;
1146 for (num_elem = 0; num_elem < domaine_VDF.
nb_elem(); num_elem++)
1148 fx0 = elem_faces(num_elem, 0);
1150 fy0 = elem_faces(num_elem, 1);
1151 fy1 = elem_faces(num_elem, 1 +
dimension);
1154 tau_diag_(num_elem, 0) = (inco[fx1] - inco[fx0]) / (xv(fx1, 0) - xv(fx0, 0));
1157 R = xp(num_elem, 0);
1158 d_teta = xv(fy1, 1) - xv(fy0, 1);
1161 tau_diag_(num_elem, 1) = (inco[fy1] - inco[fy0]) / (R * d_teta) + 0.5 * (inco[fx0] + inco[fx1]) / R;
1167 for (num_elem = 0; num_elem < domaine_VDF.
nb_elem(); num_elem++)
1169 fz0 = elem_faces(num_elem, 2);
1170 fz1 = elem_faces(num_elem, 2 +
dimension);
1173 tau_diag_(num_elem, 2) = (inco[fz1] - inco[fz0]) / (xv(fz1, 2) - xv(fz0, 2));
1192 int fac1, fac2, fac3, fac4, signe;
1197 for (n_arete = ndeb; n_arete < nfin; n_arete++)
1199 n_type = type_arete_bord(n_arete - ndeb);
1210 fac1 = Qdm(n_arete, 0);
1211 fac2 = Qdm(n_arete, 1);
1212 fac3 = Qdm(n_arete, 2);
1213 signe = Qdm(n_arete, 3);
1214 ori1 = orientation(fac1);
1215 ori3 = orientation(fac3);
1223 if (est_egal(inco[fac1], 0))
1224 vit_imp = val_imp_face_bord_private(rang2, ori3);
1226 vit_imp = val_imp_face_bord_private(rang1, ori3);
1229 vit_imp = 0.5 * (val_imp_face_bord_private(rang1, ori3) + val_imp_face_bord_private(rang2, ori3));
1233 dist3 = xv(fac3, 0) - xv(fac1, 0);
1240 tau_croises_(n_arete, 0) = signe * (vit_imp - inco[fac3]) / dist3;
1244 d_teta = xv(fac2, 1) - xv(fac1, 1);
1247 tau_croises_(n_arete, 1) = (inco[fac2] - inco[fac1]) / (R * d_teta);
1252 tau_croises_(n_arete, 0) = signe * (vit_imp - inco[fac3]) / dist3;
1254 tau_croises_(n_arete, 1) = (inco[fac2] - inco[fac1]) / (xv(fac2, 2) - xv(fac1, 2));
1260 d_teta = xv(fac3, 1) - xv(fac1, 1);
1270 tau_croises_(n_arete, 0) = signe * (vit_imp - inco[fac3]) / dist3 - 0.5 * (inco[fac1] + inco[fac2]) / R;
1272 tau_croises_(n_arete, 1) = (inco[fac2] - inco[fac1]) / (xv(fac2, 0) - xv(fac1, 0));
1277 tau_croises_(n_arete, 0) = signe * (vit_imp - inco[fac3]) / dist3;
1279 tau_croises_(n_arete, 1) = (inco[fac2] - inco[fac1]) / (xv(fac2, 2) - xv(fac1, 2));
1284 dist3 = xv(fac3, 2) - xv(fac1, 2);
1291 tau_croises_(n_arete, 0) = signe * (vit_imp - inco[fac3]) / dist3;
1293 tau_croises_(n_arete, 1) = (inco[fac2] - inco[fac1]) / (xv(fac2, 0) - xv(fac1, 0));
1298 tau_croises_(n_arete, 0) = signe * (vit_imp - inco[fac3]) / dist3;
1302 d_teta = xv(fac2, 1) - xv(fac1, 1);
1305 tau_croises_(n_arete, 1) = (inco[fac2] - inco[fac1]) / (R * d_teta);
1318 Cerr <<
"An unexpected edge type was encountered\n";
1319 Cerr <<
"edge number: " << n_arete;
1320 Cerr <<
" type : " << n_type;
1330 for (n_arete = ndeb; n_arete < nfin; n_arete++)
1332 fac1 = Qdm(n_arete, 0);
1333 fac2 = Qdm(n_arete, 1);
1334 fac3 = Qdm(n_arete, 2);
1335 fac4 = Qdm(n_arete, 3);
1336 ori1 = orientation(fac1);
1337 ori3 = orientation(fac3);
1342 d_teta = xv(fac4, 1) - xv(fac3, 1);
1345 tau_croises_(n_arete, 1) = (inco(fac4) - inco(fac3)) / (R * d_teta) - 0.5 * (inco[fac1] + inco[fac2]) / R;
1347 tau_croises_(n_arete, 0) = (inco(fac2) - inco(fac1)) / (xv(fac2, 0) - xv(fac1, 0));
1352 tau_croises_(n_arete, 1) = (inco(fac4) - inco(fac3)) / (xv(fac4, 2) - xv(fac3, 2));
1355 d_teta = xv(fac2, 1) - xv(fac1, 1);
1358 tau_croises_(n_arete, 0) = (inco(fac2) - inco(fac1)) / (R * d_teta);
1363 tau_croises_(n_arete, 1) = (inco(fac4) - inco(fac3)) / (xv(fac4, 2) - xv(fac3, 2));
1365 tau_croises_(n_arete, 0) = (inco(fac2) - inco(fac1)) / (xv(fac2, 0) - xv(fac1, 0));