58 for (
int i=0;i<nbtri;i++)
72 for (
int i=0;i<nbqua;i++)
130 for (
int i=0;i<nbtet;i++)
147 for (
int i=0;i<nbhex;i++)
222 FILE* in=fopen(nomfichier,
"rt");
237 char *
res=fgets(message,750,in);
247 sscanf(message,
"%s %s",mot1,mot2);
248 if (strcmp(mot1,
"TETRA4")==0)
250 char *
res=fgets(message,750,in);
251 sscanf(message,
"%s",mot3);
252 char *pt=strchr(mot3,
'M')+1;
255 if (strcmp(mot1,
"GROUP_MA")==0)
266 if (num>=seuil*niveau)
272 char *
res=fgets(message,750,in);
273 int numlu = sscanf(message,
"%s %s %s %s %s %s %s %s",mot1,mot2,mot3,mot4,mot5,mot6,mot7,mot8);
274 if (strcmp(mot1,
"FINSF")==0) fin2=1;
279 char *p1=strchr(mot1,
'M')+1;
285 char *p2=strchr(mot2,
'M')+1;
291 char *p3=strchr(mot3,
'M')+1;
297 char *p4=strchr(mot4,
'M')+1;
303 char *p5=strchr(mot5,
'M')+1;
309 char *p6=strchr(mot6,
'M')+1;
315 char *p7=strchr(mot7,
'M')+1;
321 char *p8=strchr(mot8,
'M')+1;
335 FILE* in2=fopen(nomfichier2,
"rt");
339 char *
res=fgets(message2,750,in2);
342 sscanf(message2,
"%s %s",mot1,mot2);
343 int temp1=atoi(mot1);
344 int temp2=atoi(mot2);
346 tab2[temp1-nb_tet] = 1;
347 if (feof(in2)) fin3=1;
353 LISTE_FEM_ELEMENT3::iterator it;
365 if ((tab[num]==1) && (tab2[num]==1))
449 FILE* in=fopen(chaine,
"rt");
458 std::string resultat=
"";
459 int pas_temperature=0;
462 int pas_tenseur_sigma_noeud=0;
463 int pas_tenseur_sigma_element=0;
464 int pas_tenseur_sigmainf_element=0;
465 int pas_tenseur_sigmamoy_element=0;
466 int pas_tenseur_sigmasup_element=0;
467 int pas_tenseur_eps_noeud=0;
468 int pas_tenseur_eps_element=0;
469 int pas_tenseur_epsinf_element=0;
470 int pas_tenseur_epsmoy_element=0;
471 int pas_tenseur_epssup_element=0;
472 int pas_contrainte_equi_noeud=0;
473 int pas_contrainte_equi_element=0;
474 int pas_contrainte_equi2_noeud=0;
475 int pas_contrainte_equi2_element=0;
476 int pas_contrainte_equi2inf_element=0;
477 int pas_contrainte_equi2moy_element=0;
478 int pas_contrainte_equi2sup_element=0;
485 char *
res=fgets(message,750,in);
498 int numlu=sscanf(message,
"%s %s %s %s %s %s %s %s %s %s %s",mot1,mot2,mot3,mot4,mot5,mot6,mot7,mot8,mot9,mot10,mot11);
501 if (strcmp(mot2,
"TOTAL_JOB")==0)
505 sscanf(mot8,
"%lf",&val);
507 sscanf(mot10,
"%lf",&val);
514 std::string retour=
"\n";
516 if (strcmp(mot1,
"MECANIQUE")==0)
517 if (strcmp(mot2,
":")==0)
518 if (strcmp(mot3,
"ESTIMATEUR")==0)
520 resultat=resultat+message;
521 fgets(message,750,in);
522 fgets(message,750,in);
523 fgets(message,750,in);
524 fgets(message,750,in);
525 resultat=resultat+message;
526 fgets(message,750,in);
527 resultat=resultat+message;
531 if (strcmp(mot1,
"CHAMP")==0)
532 if (strcmp(mot2,
"AUX")==0)
533 if (strcmp(mot3,
"NOEUDS")==0)
534 if (strcmp(mot4,
"DE")==0)
535 if (strcmp(mot5,
"NOM")==0)
536 if (strcmp(mot6,
"SYMBOLIQUE")==0)
537 if (strcmp(mot7,
"DEPL")==0)
540 if (strcmp(mot1,
"CHAMP")==0)
541 if (strcmp(mot2,
"AUX")==0)
542 if (strcmp(mot3,
"NOEUDS")==0)
543 if (strcmp(mot4,
"DE")==0)
544 if (strcmp(mot5,
"NOM")==0)
545 if (strcmp(mot6,
"SYMBOLIQUE")==0)
546 if (strcmp(mot7,
"DEPL_2D")==0)
549 if (strcmp(mot1,
"CHAMP")==0)
550 if (strcmp(mot2,
"AUX")==0)
551 if (strcmp(mot3,
"NOEUDS")==0)
552 if (strcmp(mot4,
"DE")==0)
553 if (strcmp(mot5,
"NOM")==0)
554 if (strcmp(mot6,
"SYMBOLIQUE")==0)
555 if (strcmp(mot7,
"FORCE_REACTION")==0)
558 if (strcmp(mot1,
"CHAMP")==0)
559 if (strcmp(mot2,
"AUX")==0)
560 if (strcmp(mot3,
"NOEUDS")==0)
561 if (strcmp(mot4,
"DE")==0)
562 if (strcmp(mot5,
"NOM")==0)
563 if (strcmp(mot6,
"SYMBOLIQUE")==0)
564 if (strcmp(mot7,
"TEMPERATURE")==0)
574 if (strcmp(mot1,
"CHAMP")==0)
575 if (strcmp(mot2,
"PAR")==0)
576 if (strcmp(mot3,
"ELEMENT")==0)
577 if (strcmp(mot4,
"CONSTANT")==0)
578 if (strcmp(mot5,
"SUR")==0)
579 if (strcmp(mot6,
"ELEMENT")==0)
580 if (strcmp(mot7,
"DE")==0)
581 if (strcmp(mot8,
"NOM")==0)
582 if (strcmp(mot9,
"SYMBOLIQUE")==0)
583 if (strcmp(mot10,
"ENERGIE")==0)
586 if (strcmp(mot1,
"CHAMP")==0)
587 if (strcmp(mot2,
"PAR")==0)
588 if (strcmp(mot3,
"ELEMENT")==0)
589 if (strcmp(mot4,
"CONSTANT")==0)
590 if (strcmp(mot5,
"SUR")==0)
591 if (strcmp(mot6,
"ELEMENT")==0)
592 if (strcmp(mot7,
"DE")==0)
593 if (strcmp(mot8,
"NOM")==0)
594 if (strcmp(mot9,
"SYMBOLIQUE")==0)
595 if (strcmp(mot10,
"ENERGIE_2D")==0)
598 if (strcmp(mot1,
"CHAMP")==0)
599 if (strcmp(mot2,
"PAR")==0)
600 if (strcmp(mot3,
"ELEMENT")==0)
601 if (strcmp(mot4,
"CONSTANT")==0)
602 if (strcmp(mot5,
"SUR")==0)
603 if (strcmp(mot6,
"ELEMENT")==0)
604 if (strcmp(mot7,
"DE")==0)
605 if (strcmp(mot8,
"NOM")==0)
606 if (strcmp(mot9,
"SYMBOLIQUE")==0)
607 if (strcmp(mot10,
"ERREUR")==0)
610 if (strcmp(mot1,
"CHAMP")==0)
611 if (strcmp(mot2,
"PAR")==0)
612 if (strcmp(mot3,
"ELEMENT")==0)
613 if (strcmp(mot4,
"CONSTANT")==0)
614 if (strcmp(mot5,
"SUR")==0)
615 if (strcmp(mot6,
"ELEMENT")==0)
616 if (strcmp(mot7,
"DE")==0)
617 if (strcmp(mot8,
"NOM")==0)
618 if (strcmp(mot9,
"SYMBOLIQUE")==0)
619 if (strcmp(mot10,
"ERREUR_2D")==0)
622 if (strcmp(mot1,
"CHAMP")==0)
623 if (strcmp(mot2,
"PAR")==0)
624 if (strcmp(mot3,
"ELEMENT")==0)
625 if (strcmp(mot4,
"AUX")==0)
626 if (strcmp(mot5,
"NOEUDS")==0)
627 if (strcmp(mot6,
"DE")==0)
628 if (strcmp(mot7,
"NOM")==0)
629 if (strcmp(mot8,
"SYMBOLIQUE")==0)
630 if (strcmp(mot9,
"TENSEUR_SIGMA")==0)
634 pas_tenseur_sigma_element++;
638 if (strcmp(mot1,
"CHAMP")==0)
639 if (strcmp(mot2,
"PAR")==0)
640 if (strcmp(mot3,
"ELEMENT")==0)
641 if (strcmp(mot4,
"AUX")==0)
642 if (strcmp(mot5,
"NOEUDS")==0)
643 if (strcmp(mot6,
"DE")==0)
644 if (strcmp(mot7,
"NOM")==0)
645 if (strcmp(mot8,
"SYMBOLIQUE")==0)
646 if (strcmp(mot9,
"TENSEUR_SIGMA_2D")==0)
650 if (strcmp(mot1,
"CHAMP")==0)
651 if (strcmp(mot2,
"PAR")==0)
652 if (strcmp(mot3,
"ELEMENT")==0)
653 if (strcmp(mot4,
"AUX")==0)
654 if (strcmp(mot5,
"NOEUDS")==0)
655 if (strcmp(mot6,
"DE")==0)
656 if (strcmp(mot7,
"NOM")==0)
657 if (strcmp(mot8,
"SYMBOLIQUE")==0)
658 if (strcmp(mot9,
"TENSEUR_SIGMA_INF")==0)
661 import_contrainte(base,mai,in,nomfichier,codeimport,pas_tenseur_sigmainf_element);
662 pas_tenseur_sigmainf_element++;
665 if (strcmp(mot1,
"CHAMP")==0)
666 if (strcmp(mot2,
"PAR")==0)
667 if (strcmp(mot3,
"ELEMENT")==0)
668 if (strcmp(mot4,
"AUX")==0)
669 if (strcmp(mot5,
"NOEUDS")==0)
670 if (strcmp(mot6,
"DE")==0)
671 if (strcmp(mot7,
"NOM")==0)
672 if (strcmp(mot8,
"SYMBOLIQUE")==0)
673 if (strcmp(mot9,
"TENSEUR_SIGMA_MOY")==0)
676 import_contrainte(base,mai,in,nomfichier,codeimport,pas_tenseur_sigmamoy_element);
677 pas_tenseur_sigmamoy_element++;
681 if (strcmp(mot1,
"CHAMP")==0)
682 if (strcmp(mot2,
"PAR")==0)
683 if (strcmp(mot3,
"ELEMENT")==0)
684 if (strcmp(mot4,
"AUX")==0)
685 if (strcmp(mot5,
"NOEUDS")==0)
686 if (strcmp(mot6,
"DE")==0)
687 if (strcmp(mot7,
"NOM")==0)
688 if (strcmp(mot8,
"SYMBOLIQUE")==0)
689 if (strcmp(mot9,
"TENSEUR_SIGMA_SUP")==0)
692 import_contrainte(base,mai,in,nomfichier,codeimport,pas_tenseur_sigmasup_element);
693 pas_tenseur_sigmasup_element++;
696 if (strcmp(mot1,
"CHAMP")==0)
697 if (strcmp(mot2,
"PAR")==0)
698 if (strcmp(mot3,
"ELEMENT")==0)
699 if (strcmp(mot4,
"AUX")==0)
700 if (strcmp(mot5,
"NOEUDS")==0)
701 if (strcmp(mot6,
"DE")==0)
702 if (strcmp(mot7,
"NOM")==0)
703 if (strcmp(mot8,
"SYMBOLIQUE")==0)
704 if (strcmp(mot9,
"TENSEUR_EPS")==0)
708 pas_tenseur_eps_element++;
711 if (strcmp(mot1,
"CHAMP")==0)
712 if (strcmp(mot2,
"PAR")==0)
713 if (strcmp(mot3,
"ELEMENT")==0)
714 if (strcmp(mot4,
"AUX")==0)
715 if (strcmp(mot5,
"NOEUDS")==0)
716 if (strcmp(mot6,
"DE")==0)
717 if (strcmp(mot7,
"NOM")==0)
718 if (strcmp(mot8,
"SYMBOLIQUE")==0)
719 if (strcmp(mot9,
"TENSEUR_EPS_2D")==0)
722 if (strcmp(mot1,
"CHAMP")==0)
723 if (strcmp(mot2,
"PAR")==0)
724 if (strcmp(mot3,
"ELEMENT")==0)
725 if (strcmp(mot4,
"AUX")==0)
726 if (strcmp(mot5,
"NOEUDS")==0)
727 if (strcmp(mot6,
"DE")==0)
728 if (strcmp(mot7,
"NOM")==0)
729 if (strcmp(mot8,
"SYMBOLIQUE")==0)
730 if (strcmp(mot9,
"TENSEUR_EPS_INF")==0)
734 pas_tenseur_epsinf_element++;
737 if (strcmp(mot1,
"CHAMP")==0)
738 if (strcmp(mot2,
"PAR")==0)
739 if (strcmp(mot3,
"ELEMENT")==0)
740 if (strcmp(mot4,
"AUX")==0)
741 if (strcmp(mot5,
"NOEUDS")==0)
742 if (strcmp(mot6,
"DE")==0)
743 if (strcmp(mot7,
"NOM")==0)
744 if (strcmp(mot8,
"SYMBOLIQUE")==0)
745 if (strcmp(mot9,
"TENSEUR_EPS_MOY")==0)
749 pas_tenseur_epsmoy_element++;
752 if (strcmp(mot1,
"CHAMP")==0)
753 if (strcmp(mot2,
"PAR")==0)
754 if (strcmp(mot3,
"ELEMENT")==0)
755 if (strcmp(mot4,
"AUX")==0)
756 if (strcmp(mot5,
"NOEUDS")==0)
757 if (strcmp(mot6,
"DE")==0)
758 if (strcmp(mot7,
"NOM")==0)
759 if (strcmp(mot8,
"SYMBOLIQUE")==0)
760 if (strcmp(mot9,
"TENSEUR_EPS_SUP")==0)
764 pas_tenseur_epssup_element++;
767 if (strcmp(mot1,
"CHAMP")==0)
768 if (strcmp(mot2,
"PAR")==0)
769 if (strcmp(mot3,
"ELEMENT")==0)
770 if (strcmp(mot4,
"AUX")==0)
771 if (strcmp(mot5,
"NOEUDS")==0)
772 if (strcmp(mot6,
"DE")==0)
773 if (strcmp(mot7,
"NOM")==0)
774 if (strcmp(mot8,
"SYMBOLIQUE")==0)
775 if (strcmp(mot9,
"CONTRAINTE_EQUI")==0)
779 pas_contrainte_equi_element++;
782 if (strcmp(mot1,
"CHAMP")==0)
783 if (strcmp(mot2,
"PAR")==0)
784 if (strcmp(mot3,
"ELEMENT")==0)
785 if (strcmp(mot4,
"AUX")==0)
786 if (strcmp(mot5,
"NOEUDS")==0)
787 if (strcmp(mot6,
"DE")==0)
788 if (strcmp(mot7,
"NOM")==0)
789 if (strcmp(mot8,
"SYMBOLIQUE")==0)
790 if (strcmp(mot9,
"CONTRAINTE_EQUI_2D")==0)
793 if (strcmp(mot1,
"CHAMP")==0)
794 if (strcmp(mot2,
"PAR")==0)
795 if (strcmp(mot3,
"ELEMENT")==0)
796 if (strcmp(mot4,
"AUX")==0)
797 if (strcmp(mot5,
"NOEUDS")==0)
798 if (strcmp(mot6,
"DE")==0)
799 if (strcmp(mot7,
"NOM")==0)
800 if (strcmp(mot8,
"SYMBOLIQUE")==0)
801 if (strcmp(mot9,
"CONTRAINTE_EQUI2")==0)
805 pas_contrainte_equi2_element++;
808 if (strcmp(mot1,
"CHAMP")==0)
809 if (strcmp(mot2,
"PAR")==0)
810 if (strcmp(mot3,
"ELEMENT")==0)
811 if (strcmp(mot4,
"AUX")==0)
812 if (strcmp(mot5,
"NOEUDS")==0)
813 if (strcmp(mot6,
"DE")==0)
814 if (strcmp(mot7,
"NOM")==0)
815 if (strcmp(mot8,
"SYMBOLIQUE")==0)
816 if (strcmp(mot9,
"CONTRAINTE_EQUI2_2D")==0)
819 if (strcmp(mot1,
"CHAMP")==0)
820 if (strcmp(mot2,
"PAR")==0)
821 if (strcmp(mot3,
"ELEMENT")==0)
822 if (strcmp(mot4,
"AUX")==0)
823 if (strcmp(mot5,
"NOEUDS")==0)
824 if (strcmp(mot6,
"DE")==0)
825 if (strcmp(mot7,
"NOM")==0)
826 if (strcmp(mot8,
"SYMBOLIQUE")==0)
827 if (strcmp(mot9,
"CONTRAINTE_EQUI_INF")==0)
833 if (strcmp(mot1,
"CHAMP")==0)
834 if (strcmp(mot2,
"PAR")==0)
835 if (strcmp(mot3,
"ELEMENT")==0)
836 if (strcmp(mot4,
"AUX")==0)
837 if (strcmp(mot5,
"NOEUDS")==0)
838 if (strcmp(mot6,
"DE")==0)
839 if (strcmp(mot7,
"NOM")==0)
840 if (strcmp(mot8,
"SYMBOLIQUE")==0)
841 if (strcmp(mot9,
"CONTRAINTE_EQUI2_INF")==0)
845 pas_contrainte_equi2inf_element++;
848 if (strcmp(mot1,
"CHAMP")==0)
849 if (strcmp(mot2,
"PAR")==0)
850 if (strcmp(mot3,
"ELEMENT")==0)
851 if (strcmp(mot4,
"AUX")==0)
852 if (strcmp(mot5,
"NOEUDS")==0)
853 if (strcmp(mot6,
"DE")==0)
854 if (strcmp(mot7,
"NOM")==0)
855 if (strcmp(mot8,
"SYMBOLIQUE")==0)
856 if (strcmp(mot9,
"CONTRAINTE_EQUI_MOY")==0)
862 if (strcmp(mot1,
"CHAMP")==0)
863 if (strcmp(mot2,
"PAR")==0)
864 if (strcmp(mot3,
"ELEMENT")==0)
865 if (strcmp(mot4,
"AUX")==0)
866 if (strcmp(mot5,
"NOEUDS")==0)
867 if (strcmp(mot6,
"DE")==0)
868 if (strcmp(mot7,
"NOM")==0)
869 if (strcmp(mot8,
"SYMBOLIQUE")==0)
870 if (strcmp(mot9,
"CONTRAINTE_EQUI2_MOY")==0)
874 pas_contrainte_equi2moy_element++;
877 if (strcmp(mot1,
"CHAMP")==0)
878 if (strcmp(mot2,
"PAR")==0)
879 if (strcmp(mot3,
"ELEMENT")==0)
880 if (strcmp(mot4,
"AUX")==0)
881 if (strcmp(mot5,
"NOEUDS")==0)
882 if (strcmp(mot6,
"DE")==0)
883 if (strcmp(mot7,
"NOM")==0)
884 if (strcmp(mot8,
"SYMBOLIQUE")==0)
885 if (strcmp(mot9,
"CONTRAINTE_EQUI_SUP")==0)
891 if (strcmp(mot1,
"CHAMP")==0)
892 if (strcmp(mot2,
"PAR")==0)
893 if (strcmp(mot3,
"ELEMENT")==0)
894 if (strcmp(mot4,
"AUX")==0)
895 if (strcmp(mot5,
"NOEUDS")==0)
896 if (strcmp(mot6,
"DE")==0)
897 if (strcmp(mot7,
"NOM")==0)
898 if (strcmp(mot8,
"SYMBOLIQUE")==0)
899 if (strcmp(mot9,
"CONTRAINTE_EQUI2_SUP")==0)
903 pas_contrainte_equi2sup_element++;
906 if (strcmp(mot1,
"CHAMP")==0)
907 if (strcmp(mot2,
"AUX")==0)
908 if (strcmp(mot3,
"NOEUDS")==0)
909 if (strcmp(mot4,
"DE")==0)
910 if (strcmp(mot5,
"NOM")==0)
911 if (strcmp(mot6,
"SYMBOLIQUE")==0)
912 if (strcmp(mot7,
"TENSEUR_SIGMA")==0)
916 pas_tenseur_sigma_noeud++;
919 if (strcmp(mot1,
"CHAMP")==0)
920 if (strcmp(mot2,
"AUX")==0)
921 if (strcmp(mot3,
"NOEUDS")==0)
922 if (strcmp(mot4,
"DE")==0)
923 if (strcmp(mot5,
"NOM")==0)
924 if (strcmp(mot6,
"SYMBOLIQUE")==0)
925 if (strcmp(mot7,
"TENSEUR_SIGMA_2D")==0)
931 if (strcmp(mot1,
"CHAMP")==0)
932 if (strcmp(mot2,
"AUX")==0)
933 if (strcmp(mot3,
"NOEUDS")==0)
934 if (strcmp(mot4,
"DE")==0)
935 if (strcmp(mot5,
"NOM")==0)
936 if (strcmp(mot6,
"SYMBOLIQUE")==0)
937 if (strcmp(mot7,
"TENSEUR_SIGMA_MOY")==0)
943 if (strcmp(mot1,
"CHAMP")==0)
944 if (strcmp(mot2,
"AUX")==0)
945 if (strcmp(mot3,
"NOEUDS")==0)
946 if (strcmp(mot4,
"DE")==0)
947 if (strcmp(mot5,
"NOM")==0)
948 if (strcmp(mot6,
"SYMBOLIQUE")==0)
949 if (strcmp(mot7,
"TENSEUR_SIGMA_INF")==0)
955 if (strcmp(mot1,
"CHAMP")==0)
956 if (strcmp(mot2,
"AUX")==0)
957 if (strcmp(mot3,
"NOEUDS")==0)
958 if (strcmp(mot4,
"DE")==0)
959 if (strcmp(mot5,
"NOM")==0)
960 if (strcmp(mot6,
"SYMBOLIQUE")==0)
961 if (strcmp(mot7,
"TENSEUR_SIGMA_SUP")==0)
969 if (strcmp(mot1,
"CHAMP")==0)
970 if (strcmp(mot2,
"AUX")==0)
971 if (strcmp(mot3,
"NOEUDS")==0)
972 if (strcmp(mot4,
"DE")==0)
973 if (strcmp(mot5,
"NOM")==0)
974 if (strcmp(mot6,
"SYMBOLIQUE")==0)
975 if (strcmp(mot7,
"CONTRAINTE_EQUI")==0)
979 pas_contrainte_equi_noeud++;
982 if (strcmp(mot1,
"CHAMP")==0)
983 if (strcmp(mot2,
"AUX")==0)
984 if (strcmp(mot3,
"NOEUDS")==0)
985 if (strcmp(mot4,
"DE")==0)
986 if (strcmp(mot5,
"NOM")==0)
987 if (strcmp(mot6,
"SYMBOLIQUE")==0)
988 if (strcmp(mot7,
"CONTRAINTE_EQUI_2D")==0)
994 if (strcmp(mot1,
"CHAMP")==0)
995 if (strcmp(mot2,
"AUX")==0)
996 if (strcmp(mot3,
"NOEUDS")==0)
997 if (strcmp(mot4,
"DE")==0)
998 if (strcmp(mot5,
"NOM")==0)
999 if (strcmp(mot6,
"SYMBOLIQUE")==0)
1000 if (strcmp(mot7,
"CONTRAINTE_EQUI_SUP")==0)
1006 if (strcmp(mot1,
"CHAMP")==0)
1007 if (strcmp(mot2,
"AUX")==0)
1008 if (strcmp(mot3,
"NOEUDS")==0)
1009 if (strcmp(mot4,
"DE")==0)
1010 if (strcmp(mot5,
"NOM")==0)
1011 if (strcmp(mot6,
"SYMBOLIQUE")==0)
1012 if (strcmp(mot7,
"CONTRAINTE_EQUI2_SUP")==0)
1018 if (strcmp(mot1,
"CHAMP")==0)
1019 if (strcmp(mot2,
"AUX")==0)
1020 if (strcmp(mot3,
"NOEUDS")==0)
1021 if (strcmp(mot4,
"DE")==0)
1022 if (strcmp(mot5,
"NOM")==0)
1023 if (strcmp(mot6,
"SYMBOLIQUE")==0)
1024 if (strcmp(mot7,
"CONTRAINTE_EQUI_MOY")==0)
1030 if (strcmp(mot1,
"CHAMP")==0)
1031 if (strcmp(mot2,
"AUX")==0)
1032 if (strcmp(mot3,
"NOEUDS")==0)
1033 if (strcmp(mot4,
"DE")==0)
1034 if (strcmp(mot5,
"NOM")==0)
1035 if (strcmp(mot6,
"SYMBOLIQUE")==0)
1036 if (strcmp(mot7,
"CONTRAINTE_EQUI2_MOY")==0)
1043 if (strcmp(mot1,
"CHAMP")==0)
1044 if (strcmp(mot2,
"AUX")==0)
1045 if (strcmp(mot3,
"NOEUDS")==0)
1046 if (strcmp(mot4,
"DE")==0)
1047 if (strcmp(mot5,
"NOM")==0)
1048 if (strcmp(mot6,
"SYMBOLIQUE")==0)
1049 if (strcmp(mot7,
"CONTRAINTE_EQUI_INF")==0)
1055 if (strcmp(mot1,
"CHAMP")==0)
1056 if (strcmp(mot2,
"AUX")==0)
1057 if (strcmp(mot3,
"NOEUDS")==0)
1058 if (strcmp(mot4,
"DE")==0)
1059 if (strcmp(mot5,
"NOM")==0)
1060 if (strcmp(mot6,
"SYMBOLIQUE")==0)
1061 if (strcmp(mot7,
"CONTRAINTE_EQUI2_INF")==0)
1067 if (strcmp(mot1,
"CHAMP")==0)
1068 if (strcmp(mot2,
"AUX")==0)
1069 if (strcmp(mot3,
"NOEUDS")==0)
1070 if (strcmp(mot4,
"DE")==0)
1071 if (strcmp(mot5,
"NOM")==0)
1072 if (strcmp(mot6,
"SYMBOLIQUE")==0)
1073 if (strcmp(mot7,
"CONTRAINTE_EQUI2")==0)
1077 pas_contrainte_equi2_noeud++;
1081 if (strcmp(mot1,
"CHAMP")==0)
1082 if (strcmp(mot2,
"AUX")==0)
1083 if (strcmp(mot3,
"NOEUDS")==0)
1084 if (strcmp(mot4,
"DE")==0)
1085 if (strcmp(mot5,
"NOM")==0)
1086 if (strcmp(mot6,
"SYMBOLIQUE")==0)
1087 if (strcmp(mot7,
"CONTRAINTE_EQUI2_2D")==0)
1094 if (strcmp(mot1,
"CHAMP")==0)
1095 if (strcmp(mot2,
"AUX")==0)
1096 if (strcmp(mot3,
"NOEUDS")==0)
1097 if (strcmp(mot4,
"DE")==0)
1098 if (strcmp(mot5,
"NOM")==0)
1099 if (strcmp(mot6,
"SYMBOLIQUE")==0)
1100 if (strcmp(mot7,
"TENSEUR_EPS")==0)
1104 pas_tenseur_eps_noeud++;
1107 if (strcmp(mot1,
"CHAMP")==0)
1108 if (strcmp(mot2,
"AUX")==0)
1109 if (strcmp(mot3,
"NOEUDS")==0)
1110 if (strcmp(mot4,
"DE")==0)
1111 if (strcmp(mot5,
"NOM")==0)
1112 if (strcmp(mot6,
"SYMBOLIQUE")==0)
1113 if (strcmp(mot7,
"TENSEUR_EPS_2D")==0)
1119 if (strcmp(mot1,
"CHAMP")==0)
1120 if (strcmp(mot2,
"AUX")==0)
1121 if (strcmp(mot3,
"NOEUDS")==0)
1122 if (strcmp(mot4,
"DE")==0)
1123 if (strcmp(mot5,
"NOM")==0)
1124 if (strcmp(mot6,
"SYMBOLIQUE")==0)
1125 if (strcmp(mot7,
"TENSEUR_EPS_MOY")==0)
1131 if (strcmp(mot1,
"CHAMP")==0)
1132 if (strcmp(mot2,
"AUX")==0)
1133 if (strcmp(mot3,
"NOEUDS")==0)
1134 if (strcmp(mot4,
"DE")==0)
1135 if (strcmp(mot5,
"NOM")==0)
1136 if (strcmp(mot6,
"SYMBOLIQUE")==0)
1137 if (strcmp(mot7,
"TENSEUR_EPS_INF")==0)
1143 if (strcmp(mot1,
"CHAMP")==0)
1144 if (strcmp(mot2,
"PAR")==0)
1145 if (strcmp(mot3,
"ELEMENT")==0)
1146 if (strcmp(mot4,
"AUX")==0)
1147 if (strcmp(mot5,
"POINTS")==0)
1148 if (strcmp(mot6,
"DE")==0)
1149 if (strcmp(mot7,
"GAUSS")==0)
1150 if (strcmp(mot8,
"DE")==0)
1151 if (strcmp(mot9,
"NOM")==0)
1152 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1153 if (strcmp(mot11,
"TENSEUR_SIGMA")==0)
1157 pas_tenseur_sigma_element++;
1161 if (strcmp(mot1,
"CHAMP")==0)
1162 if (strcmp(mot2,
"PAR")==0)
1163 if (strcmp(mot3,
"ELEMENT")==0)
1164 if (strcmp(mot4,
"AUX")==0)
1165 if (strcmp(mot5,
"NOEUDS")==0)
1166 if (strcmp(mot6,
"DE")==0)
1167 if (strcmp(mot7,
"NOM")==0)
1168 if (strcmp(mot8,
"SYMBOLIQUE")==0)
1169 if (strcmp(mot9,
"EFFORT_NOEUD")==0)
1175 if (strcmp(mot1,
"CHAMP")==0)
1176 if (strcmp(mot2,
"PAR")==0)
1177 if (strcmp(mot3,
"ELEMENT")==0)
1178 if (strcmp(mot4,
"AUX")==0)
1179 if (strcmp(mot5,
"NOEUDS")==0)
1180 if (strcmp(mot6,
"DE")==0)
1181 if (strcmp(mot7,
"NOM")==0)
1182 if (strcmp(mot8,
"SYMBOLIQUE")==0)
1183 if (strcmp(mot9,
"CONTRAINTE_MAX_POUTRE")==0)
1189 if (strcmp(mot1,
"CHAMP")==0)
1190 if (strcmp(mot2,
"PAR")==0)
1191 if (strcmp(mot3,
"ELEMENT")==0)
1192 if (strcmp(mot4,
"AUX")==0)
1193 if (strcmp(mot5,
"NOEUDS")==0)
1194 if (strcmp(mot6,
"DE")==0)
1195 if (strcmp(mot7,
"NOM")==0)
1196 if (strcmp(mot8,
"SYMBOLIQUE")==0)
1197 if (strcmp(mot9,
"CONTRAINTE_POUTRE")==0)
1203 if (strcmp(mot1,
"CHAMP")==0)
1204 if (strcmp(mot2,
"PAR")==0)
1205 if (strcmp(mot3,
"ELEMENT")==0)
1206 if (strcmp(mot4,
"AUX")==0)
1207 if (strcmp(mot5,
"POINTS")==0)
1208 if (strcmp(mot6,
"DE")==0)
1209 if (strcmp(mot7,
"GAUSS")==0)
1210 if (strcmp(mot8,
"DE")==0)
1211 if (strcmp(mot9,
"NOM")==0)
1212 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1213 if (strcmp(mot11,
"TENSEUR_SIGMA_MOY")==0)
1219 if (strcmp(mot1,
"CHAMP")==0)
1220 if (strcmp(mot2,
"PAR")==0)
1221 if (strcmp(mot3,
"ELEMENT")==0)
1222 if (strcmp(mot4,
"AUX")==0)
1223 if (strcmp(mot5,
"POINTS")==0)
1224 if (strcmp(mot6,
"DE")==0)
1225 if (strcmp(mot7,
"GAUSS")==0)
1226 if (strcmp(mot8,
"DE")==0)
1227 if (strcmp(mot9,
"NOM")==0)
1228 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1229 if (strcmp(mot11,
"TENSEUR_SIGMA_INF")==0)
1235 if (strcmp(mot1,
"CHAMP")==0)
1236 if (strcmp(mot2,
"PAR")==0)
1237 if (strcmp(mot3,
"ELEMENT")==0)
1238 if (strcmp(mot4,
"AUX")==0)
1239 if (strcmp(mot5,
"POINTS")==0)
1240 if (strcmp(mot6,
"DE")==0)
1241 if (strcmp(mot7,
"GAUSS")==0)
1242 if (strcmp(mot8,
"DE")==0)
1243 if (strcmp(mot9,
"NOM")==0)
1244 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1245 if (strcmp(mot11,
"TENSEUR_SIGMA_SUP")==0)
1251 if (strcmp(mot1,
"CHAMP")==0)
1252 if (strcmp(mot2,
"PAR")==0)
1253 if (strcmp(mot3,
"ELEMENT")==0)
1254 if (strcmp(mot4,
"AUX")==0)
1255 if (strcmp(mot5,
"POINTS")==0)
1256 if (strcmp(mot6,
"DE")==0)
1257 if (strcmp(mot7,
"GAUSS")==0)
1258 if (strcmp(mot8,
"DE")==0)
1259 if (strcmp(mot9,
"NOM")==0)
1260 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1261 if (strcmp(mot11,
"TENSEUR_SIGMA_2D")==0)
1267 if (strcmp(mot1,
"CHAMP")==0)
1268 if (strcmp(mot2,
"PAR")==0)
1269 if (strcmp(mot3,
"ELEMENT")==0)
1270 if (strcmp(mot4,
"AUX")==0)
1271 if (strcmp(mot5,
"POINTS")==0)
1272 if (strcmp(mot6,
"DE")==0)
1273 if (strcmp(mot7,
"GAUSS")==0)
1274 if (strcmp(mot8,
"DE")==0)
1275 if (strcmp(mot9,
"NOM")==0)
1276 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1277 if (strcmp(mot11,
"TENSEUR_EPS")==0)
1281 pas_tenseur_eps_element++;
1284 if (strcmp(mot1,
"CHAMP")==0)
1285 if (strcmp(mot2,
"PAR")==0)
1286 if (strcmp(mot3,
"ELEMENT")==0)
1287 if (strcmp(mot4,
"AUX")==0)
1288 if (strcmp(mot5,
"POINTS")==0)
1289 if (strcmp(mot6,
"DE")==0)
1290 if (strcmp(mot7,
"GAUSS")==0)
1291 if (strcmp(mot8,
"DE")==0)
1292 if (strcmp(mot9,
"NOM")==0)
1293 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1294 if (strcmp(mot11,
"TENSEUR_EPS_MOY")==0)
1300 if (strcmp(mot1,
"CHAMP")==0)
1301 if (strcmp(mot2,
"PAR")==0)
1302 if (strcmp(mot3,
"ELEMENT")==0)
1303 if (strcmp(mot4,
"AUX")==0)
1304 if (strcmp(mot5,
"POINTS")==0)
1305 if (strcmp(mot6,
"DE")==0)
1306 if (strcmp(mot7,
"GAUSS")==0)
1307 if (strcmp(mot8,
"DE")==0)
1308 if (strcmp(mot9,
"NOM")==0)
1309 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1310 if (strcmp(mot11,
"TENSEUR_EPS_INF")==0)
1316 if (strcmp(mot1,
"CHAMP")==0)
1317 if (strcmp(mot2,
"PAR")==0)
1318 if (strcmp(mot3,
"ELEMENT")==0)
1319 if (strcmp(mot4,
"AUX")==0)
1320 if (strcmp(mot5,
"POINTS")==0)
1321 if (strcmp(mot6,
"DE")==0)
1322 if (strcmp(mot7,
"GAUSS")==0)
1323 if (strcmp(mot8,
"DE")==0)
1324 if (strcmp(mot9,
"NOM")==0)
1325 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1326 if (strcmp(mot11,
"TENSEUR_EPS_2D")==0)
1332 if (strcmp(mot1,
"CHAMP")==0)
1333 if (strcmp(mot2,
"PAR")==0)
1334 if (strcmp(mot3,
"ELEMENT")==0)
1335 if (strcmp(mot4,
"AUX")==0)
1336 if (strcmp(mot5,
"POINTS")==0)
1337 if (strcmp(mot6,
"DE")==0)
1338 if (strcmp(mot7,
"GAUSS")==0)
1339 if (strcmp(mot8,
"DE")==0)
1340 if (strcmp(mot9,
"NOM")==0)
1341 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1342 if (strcmp(mot11,
"TENSEUR_EPS_SUP")==0)
1348 if (strcmp(mot1,
"CHAMP")==0)
1349 if (strcmp(mot2,
"PAR")==0)
1350 if (strcmp(mot3,
"ELEMENT")==0)
1351 if (strcmp(mot4,
"AUX")==0)
1352 if (strcmp(mot5,
"POINTS")==0)
1353 if (strcmp(mot6,
"DE")==0)
1354 if (strcmp(mot7,
"GAUSS")==0)
1355 if (strcmp(mot8,
"DE")==0)
1356 if (strcmp(mot9,
"NOM")==0)
1357 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1358 if (strcmp(mot11,
"CONTRAINTE_EQUI2")==0)
1362 pas_contrainte_equi2_element++;
1365 if (strcmp(mot1,
"CHAMP")==0)
1366 if (strcmp(mot2,
"PAR")==0)
1367 if (strcmp(mot3,
"ELEMENT")==0)
1368 if (strcmp(mot4,
"AUX")==0)
1369 if (strcmp(mot5,
"POINTS")==0)
1370 if (strcmp(mot6,
"DE")==0)
1371 if (strcmp(mot7,
"GAUSS")==0)
1372 if (strcmp(mot8,
"DE")==0)
1373 if (strcmp(mot9,
"NOM")==0)
1374 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1375 if (strcmp(mot11,
"CONTRAINTE_EQUI2_MOY")==0)
1381 if (strcmp(mot1,
"CHAMP")==0)
1382 if (strcmp(mot2,
"PAR")==0)
1383 if (strcmp(mot3,
"ELEMENT")==0)
1384 if (strcmp(mot4,
"AUX")==0)
1385 if (strcmp(mot5,
"POINTS")==0)
1386 if (strcmp(mot6,
"DE")==0)
1387 if (strcmp(mot7,
"GAUSS")==0)
1388 if (strcmp(mot8,
"DE")==0)
1389 if (strcmp(mot9,
"NOM")==0)
1390 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1391 if (strcmp(mot11,
"CONTRAINTE_EQUI2_INF")==0)
1397 if (strcmp(mot1,
"CHAMP")==0)
1398 if (strcmp(mot2,
"PAR")==0)
1399 if (strcmp(mot3,
"ELEMENT")==0)
1400 if (strcmp(mot4,
"AUX")==0)
1401 if (strcmp(mot5,
"POINTS")==0)
1402 if (strcmp(mot6,
"DE")==0)
1403 if (strcmp(mot7,
"GAUSS")==0)
1404 if (strcmp(mot8,
"DE")==0)
1405 if (strcmp(mot9,
"NOM")==0)
1406 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1407 if (strcmp(mot11,
"CONTRAINTE_EQUI2_SUP")==0)
1413 if (strcmp(mot1,
"CHAMP")==0)
1414 if (strcmp(mot2,
"PAR")==0)
1415 if (strcmp(mot3,
"ELEMENT")==0)
1416 if (strcmp(mot4,
"AUX")==0)
1417 if (strcmp(mot5,
"POINTS")==0)
1418 if (strcmp(mot6,
"DE")==0)
1419 if (strcmp(mot7,
"GAUSS")==0)
1420 if (strcmp(mot8,
"DE")==0)
1421 if (strcmp(mot9,
"NOM")==0)
1422 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1423 if (strcmp(mot11,
"CONTRAINTE_EQUI2_2D")==0)
1429 if (strcmp(mot1,
"CHAMP")==0)
1430 if (strcmp(mot2,
"AUX")==0)
1431 if (strcmp(mot3,
"NOEUDS")==0)
1432 if (strcmp(mot4,
"DE")==0)
1433 if (strcmp(mot5,
"NOM")==0)
1434 if (strcmp(mot6,
"SYMBOLIQUE")==0)
1435 if (strcmp(mot7,
"FLUX")==0)
1442 if (strcmp(mot1,
"CHAMP")==0)
1443 if (strcmp(mot2,
"PAR")==0)
1444 if (strcmp(mot3,
"ELEMENT")==0)
1445 if (strcmp(mot4,
"AUX")==0)
1446 if (strcmp(mot5,
"POINTS")==0)
1447 if (strcmp(mot6,
"DE")==0)
1448 if (strcmp(mot7,
"GAUSS")==0)
1449 if (strcmp(mot8,
"DE")==0)
1450 if (strcmp(mot9,
"NOM")==0)
1451 if (strcmp(mot10,
"SYMBOLIQUE")==0)
1452 if (strcmp(mot11,
"FLUX")==0)
1463 if (passejob==
false)
1465 char chainetmp[500];
1466 strcpy(chainetmp,nomfichier);
1467 strcat(chainetmp,
".mess");
1468 FILE* in=fopen(chainetmp,
"rt");
1473 char *
res=fgets(message,750,in);
1474 if (feof(in)) fin=1;
1486 int numlu=sscanf(message,
"%s %s %s %s %s %s %s %s %s %s %s",mot1,mot2,mot3,mot4,mot5,mot6,mot7,mot8,mot9,mot10,mot11);
1489 if (strcmp(mot2,
"TOTAL_JOB")==0)
1490 if (passejob==
false)
1493 sscanf(mot8,
"%lf",&val);
1495 sscanf(mot10,
"%lf",&val);
1502 std::string retour=
"\n";
1504 if (strcmp(mot1,
"MECANIQUE")==0)
1505 if (strcmp(mot2,
":")==0)
1506 if (strcmp(mot3,
"ESTIMATEUR")==0)
1508 resultat=resultat+message;
1509 fgets(message,750,in);
1510 fgets(message,750,in);
1511 fgets(message,750,in);
1512 fgets(message,750,in);
1513 resultat=resultat+message;
1514 fgets(message,750,in);
1515 resultat=resultat+message;
1526 sprintf(nom,
"%s_depl_%d.sol",nomfichier,pas);
1528 sprintf(nomsol,
"U%%%d",pas);
1531 if ((codeimport==3)||(codeimport==4))
1533 if (codeimport==3) solution=gest->
get_fem_solution(mai,3,nom,(
char*)nomsol);
1534 if (codeimport==4) solution=gest->
get_fem_solution(mai,2,nom,(
char*)nomsol);
1556 if ((codeimport<3) || (codeimport==5))
1568 char *
res=fgets(message,750,in);
1571 if ((codeimport==3) || (codeimport==4))
1573 int numlu=sscanf(message,
"%s %lf %lf %lf",mot,&x,&y,&z);
1576 char *p=strchr(mot,
'N')+1;
1579 solution->
ecrire(x,num-1,0);
1580 solution->
ecrire(y,num-1,1);
1581 solution->
ecrire(z,num-1,2);
1586 char *p=strchr(mot,
'N')+1;
1589 solution->
ecrire(x,num-1,0);
1590 solution->
ecrire(y,num-1,1);
1597 int numlu=sscanf(message,
"%s %lf %lf %lf %lf %lf %lf",mot,&x,&y,&z,&rx,&ry,&rz);
1600 char *p=strchr(mot,
'N')+1;
1602 solution->
ecrire(x,num-1,0);
1603 solution->
ecrire(y,num-1,1);
1604 solution->
ecrire(z,num-1,2);
1605 solution->
ecrire(rx,num-1,3);
1606 solution->
ecrire(ry,num-1,4);
1607 solution->
ecrire(rz,num-1,5);
1612 char *p=strchr(mot,
'N')+1;
1614 solution->
ecrire(x,num-1,0);
1615 solution->
ecrire(y,num-1,1);
1616 solution->
ecrire(z,num-1,2);
1617 solution->
ecrire(0.,num-1,3);
1618 solution->
ecrire(0.,num-1,4);
1619 solution->
ecrire(0.,num-1,5);
1630 LISTE_FEM_NOEUD::iterator it;
1637 char *
res=fgets(message,750,in);
1641 int numlu=sscanf(message,
"%s %lf %lf %lf",mot,&x,&y,&z);
1644 if ((numlu==4) || (numlu==3))
1646 char *p=strchr(mot,
'N')+1;
1664 strcpy(nom,nomfichier);
1665 strcat(nom,
"_ener.sol");
1677 else if (codeimport==5)
1701 for (
int i=0;i<num;i++)
1703 solution->
ecrire(0.,i,0);
1713 char *
res=fgets(message,750,in);
1716 if ((message[3]==
'-')||(message[3]==
'*'))
1717 if ((message[4]==
'-')||(message[4]==
'*'))
1718 if ((message[5]==
'-')||(message[5]==
'*'))
1719 if ((message[6]==
'-')||(message[6]==
'*'))
1720 if ((message[7]==
'-')||(message[7]==
'*'))
1721 if ((message[8]==
'-')||(message[8]==
'*'))
1725 int numlu=sscanf(message,
"%s %s",mot1,mot2);
1727 if ((numlu==2) && (strcmp(mot2,
"TOTALE")==0))
1729 char *p=strchr(mot1,
'M')+1;
1735 char *
res=fgets(message,750,in);
1737 sscanf(message,
"%lf",&val);
1738 solution->
ecrire(val,num-decalage,0);
1743 else if (codeimport==5)
1754 FILE* in=fopen(chaine,
"rt");
1756 strcpy(nom,nomfichier);
1757 strcat(nom,
"_densite.sol");
1784 char *
res=fgets(mess,750,in);
1789 char *
res=fgets(message,750,in);
1792 sscanf(message,
"%d %lf",&num,&val);
1798 solution->
ecrire(val,num-decalage,0);
1812 sprintf(nomsol,
"S%%%d",pas);
1817 sprintf(nom,
"%scont_moy_%d.sol",nomfichier,pas);
1821 sprintf(nom,
"%s_cont_inf_%d.sol",nomfichier,pas);
1825 sprintf(nom,
"%s_cont_sup_%d.sol",nomfichier,pas);
1827 if ((codeimport==3) || (codeimport==4))
1829 sprintf(nom,
"%s_cont_%d.sol",nomfichier,pas);
1834 if (codeimport==4) solution=gest->
get_fem_solution(mai,4,nom,(
char*)nomsol);
1887 if (codeimport==4) nbchamp=4;
1890 for (
int i=0;i<nbchamp;i++)
1891 solution->
ecrire(0.,j,i);
1896 LISTE_FEM_ELEMENT2::iterator it;
1901 char *
res=fgets(message,750,in);
1904 int numlu=sscanf(message,
"%s %lf %lf %lf %lf %lf %lf",mot,tenseur,tenseur+1,tenseur+2,tenseur+3,tenseur+4,tenseur+5);
1907 char *p=strchr(mot,
'M');
1919 char *p=strchr(mot,
'N')+1;
1922 double tenseurglo[6];
1923 if (codeimport==3) tenseurres=tenseur;
1927 tenseurres=tenseurglo;
1929 solution->
ecrire(solution->
lire(num-1,0)+tenseurres[0],num-1,0);
1930 solution->
ecrire(solution->
lire(num-1,1)+tenseurres[1],num-1,1);
1931 solution->
ecrire(solution->
lire(num-1,2)+tenseurres[2],num-1,2);
1932 solution->
ecrire(solution->
lire(num-1,3)+tenseurres[3],num-1,3);
1933 solution->
ecrire(solution->
lire(num-1,4)+tenseurres[4],num-1,4);
1934 solution->
ecrire(solution->
lire(num-1,5)+tenseurres[5],num-1,5);
1939 char *p=strchr(mot,
'N')+1;
1941 double *tenseurres=tenseur;
1942 solution->
ecrire(solution->
lire(num-1,0)+tenseurres[0],num-1,0);
1943 solution->
ecrire(solution->
lire(num-1,1)+tenseurres[1],num-1,1);
1944 solution->
ecrire(solution->
lire(num-1,2)+tenseurres[2],num-1,2);
1945 solution->
ecrire(solution->
lire(num-1,3)+tenseurres[3],num-1,3);
1956 for (
int i=0;i<nbchamp;i++)
1957 solution->
ecrire(solution->
lire(j,i)/tab[j],j,i);
1966 sprintf(nomsol,
"GS%%%d",pas);
1971 sprintf(nom,
"%scont_moy_gauss_%d.sol",nomfichier,pas);
1975 sprintf(nom,
"%s_cont_inf_gauss_%d.sol",nomfichier,pas);
1979 sprintf(nom,
"%s_cont_sup_gauss_%d.sol",nomfichier,pas);
1981 if ((codeimport==3) || (codeimport==4))
1983 sprintf(nom,
"%s_cont_gauss_%d.sol",nomfichier,pas);
1988 if (codeimport==4) solution=gest->
get_fem_solution(mai,4,nom,(
char*)nomsol);
2040 if (codeimport==4) nbchamp=4;
2045 LISTE_FEM_ELEMENT2::iterator it;
2047 std::vector<std::string> tabligne;
2052 char *
res=fgets(message,750,in);
2055 int numlu=sscanf(message,
"%s %lf %lf %lf %lf %lf %lf",mot,tenseur,tenseur+1,tenseur+2,tenseur+3,tenseur+4,tenseur+5);
2058 char *p=strchr(mot,
'M');
2066 if (nbelement==1) {tabligne.clear();decalage=num;}
2070 int nbgauss=tabligne.size();
2072 for (
int i=0;i<nbgauss;i++)
2075 strcpy(ligne,tabligne[i].c_str());
2077 int numlu=sscanf(ligne,
"%d %lf %lf %lf %lf %lf %lf",&numgauss,tenseur,tenseur+1,tenseur+2,tenseur+3,tenseur+4,tenseur+5);
2081 double tenseurglo[6];
2082 if (codeimport==3) tenseurres=tenseur;
2086 tenseurres=tenseurglo;
2088 solution->
ecrire(tenseurres[0],num-decalage-1,0,0,numgauss-1);
2089 solution->
ecrire(tenseurres[1],num-decalage-1,1,0,numgauss-1);
2090 solution->
ecrire(tenseurres[2],num-decalage-1,2,0,numgauss-1);
2091 solution->
ecrire(tenseurres[3],num-decalage-1,3,0,numgauss-1);
2092 solution->
ecrire(tenseurres[4],num-decalage-1,4,0,numgauss-1);
2093 solution->
ecrire(tenseurres[5],num-decalage-1,5,0,numgauss-1);
2097 solution->
ecrire(tenseur[0],num-decalage-1,0,0,numgauss-1);
2098 solution->
ecrire(tenseur[1],num-decalage-1,1,0,numgauss-1);
2099 solution->
ecrire(tenseur[2],num-decalage-1,2,0,numgauss-1);
2100 solution->
ecrire(tenseur[3],num-decalage-1,3,0,numgauss-1);
2108 else if (numlu>1) tabligne.push_back(message);
2119 if ((fin==-1) && (numlu<1)) fin=1;
2122 int nbgauss=tabligne.size();
2124 for (
int i=0;i<nbgauss;i++)
2127 strcpy(ligne,tabligne[i].c_str());
2130 int numlu=sscanf(ligne,
"%d %lf %lf %lf %lf %lf %lf",&numgauss,tenseur,tenseur+1,tenseur+2,tenseur+3,tenseur+4,tenseur+5);
2134 double tenseurglo[6];
2135 if (codeimport==3) tenseurres=tenseur;
2139 tenseurres=tenseurglo;
2141 solution->
ecrire(tenseurres[0],nbelement-1,0,0,numgauss-1);
2142 solution->
ecrire(tenseurres[1],nbelement-1,1,0,numgauss-1);
2143 solution->
ecrire(tenseurres[2],nbelement-1,2,0,numgauss-1);
2144 solution->
ecrire(tenseurres[3],nbelement-1,3,0,numgauss-1);
2145 solution->
ecrire(tenseurres[4],nbelement-1,4,0,numgauss-1);
2146 solution->
ecrire(tenseurres[5],nbelement-1,5,0,numgauss-1);
2150 solution->
ecrire(tenseur[0],nbelement-1,0,0,numgauss-1);
2151 solution->
ecrire(tenseur[1],nbelement-1,1,0,numgauss-1);
2152 solution->
ecrire(tenseur[2],nbelement-1,2,0,numgauss-1);
2153 solution->
ecrire(tenseur[3],nbelement-1,3,0,numgauss-1);
2167 sprintf(nomsol,
"GE%%%d",pas);
2172 sprintf(nom,
"%sdef_moy_gauss_%d.sol",nomfichier,pas);
2176 sprintf(nom,
"%s_def_inf_gauss_%d.sol",nomfichier,pas);
2180 sprintf(nom,
"%s_def_sup_gauss_%d.sol",nomfichier,pas);
2182 if ((codeimport==3) || (codeimport==4))
2184 sprintf(nom,
"%s_def_gauss_%d.sol",nomfichier,pas);
2189 if (codeimport==4) solution=gest->
get_fem_solution(mai,4,nom,(
char*)nomsol);
2241 if (codeimport==4) nbchamp=4;
2246 LISTE_FEM_ELEMENT2::iterator it;
2248 std::vector<std::string> tabligne;
2253 char *
res=fgets(message,750,in);
2256 int numlu=sscanf(message,
"%s %lf %lf %lf %lf %lf %lf",mot,tenseur,tenseur+1,tenseur+2,tenseur+3,tenseur+4,tenseur+5);
2259 char *p=strchr(mot,
'M');
2267 if (nbelement==1) {tabligne.clear();decalage=num;}
2271 int nbgauss=tabligne.size();
2273 for (
int i=0;i<nbgauss;i++)
2276 strcpy(ligne,tabligne[i].c_str());
2278 int numlu=sscanf(ligne,
"%d %lf %lf %lf %lf %lf %lf",&numgauss,tenseur,tenseur+1,tenseur+2,tenseur+3,tenseur+4,tenseur+5);
2282 double tenseurglo[6];
2283 if (codeimport==3) tenseurres=tenseur;
2287 tenseurres=tenseurglo;
2289 solution->
ecrire(tenseurres[0],num-decalage-1,0,0,numgauss-1);
2290 solution->
ecrire(tenseurres[1],num-decalage-1,1,0,numgauss-1);
2291 solution->
ecrire(tenseurres[2],num-decalage-1,2,0,numgauss-1);
2292 solution->
ecrire(tenseurres[3],num-decalage-1,3,0,numgauss-1);
2293 solution->
ecrire(tenseurres[4],num-decalage-1,4,0,numgauss-1);
2294 solution->
ecrire(tenseurres[5],num-decalage-1,5,0,numgauss-1);
2298 solution->
ecrire(tenseur[0],num-decalage-1,0,0,numgauss-1);
2299 solution->
ecrire(tenseur[1],num-decalage-1,1,0,numgauss-1);
2300 solution->
ecrire(tenseur[2],num-decalage-1,2,0,numgauss-1);
2301 solution->
ecrire(tenseur[3],num-decalage-1,3,0,numgauss-1);
2309 else if (numlu>1) tabligne.push_back(message);
2320 if ((fin==-1) && (numlu<1)) fin=1;
2323 int nbgauss=tabligne.size();
2325 for (
int i=0;i<nbgauss;i++)
2328 strcpy(ligne,tabligne[i].c_str());
2331 int numlu=sscanf(ligne,
"%d %lf %lf %lf %lf %lf %lf",&numgauss,tenseur,tenseur+1,tenseur+2,tenseur+3,tenseur+4,tenseur+5);
2335 double tenseurglo[6];
2336 if (codeimport==3) tenseurres=tenseur;
2340 tenseurres=tenseurglo;
2342 solution->
ecrire(tenseurres[0],nbelement-1,0,0,numgauss-1);
2343 solution->
ecrire(tenseurres[1],nbelement-1,1,0,numgauss-1);
2344 solution->
ecrire(tenseurres[2],nbelement-1,2,0,numgauss-1);
2345 solution->
ecrire(tenseurres[3],nbelement-1,3,0,numgauss-1);
2346 solution->
ecrire(tenseurres[4],nbelement-1,4,0,numgauss-1);
2347 solution->
ecrire(tenseurres[5],nbelement-1,5,0,numgauss-1);
2351 solution->
ecrire(tenseur[0],nbelement-1,0,0,numgauss-1);
2352 solution->
ecrire(tenseur[1],nbelement-1,1,0,numgauss-1);
2353 solution->
ecrire(tenseur[2],nbelement-1,2,0,numgauss-1);
2354 solution->
ecrire(tenseur[3],nbelement-1,3,0,numgauss-1);
2369 sprintf(nomsol,
"S%%%d",pas);
2373 sprintf(nom,
"%scont_moy_%d.sol",nomfichier,pas);
2377 sprintf(nom,
"%s_cont_inf_%d.sol",nomfichier,pas);
2381 sprintf(nom,
"%s_cont_sup_%d.sol",nomfichier,pas);
2383 if ((codeimport==3) || (codeimport==4) || (codeimport==5))
2385 sprintf(nom,
"%s_cont_%d.sol",nomfichier,pas);
2390 if (codeimport==4) solution=gest->
get_fem_solution(mai,4,nom,(
char*)nomsol);
2425 if ((codeimport==3)||(codeimport==5))
2444 for (
int i=0;i<num;i++)
2446 solution->
ecrire(0.,i,0);
2447 solution->
ecrire(0.,i,1);
2448 solution->
ecrire(0.,i,2);
2449 solution->
ecrire(0.,i,3);
2450 solution->
ecrire(0.,i,4);
2451 solution->
ecrire(0.,i,5);
2459 char *
res=fgets(message,750,in);
2460 double sxx,syy,szz,sxy,sxz,syz;
2462 if ((message[3]==
'-')||(message[3]==
'*'))
2463 if ((message[4]==
'-')||(message[4]==
'*'))
2464 if ((message[5]==
'-')||(message[5]==
'*'))
2465 if ((message[6]==
'-')||(message[6]==
'*'))
2466 if ((message[7]==
'-')||(message[7]==
'*'))
2467 if ((message[8]==
'-')||(message[8]==
'*'))
2471 int numlu=sscanf(message,
"%s %lf %lf %lf %lf %lf %lf",mot,&sxx,&syy,&szz,&sxy,&sxz,&syz);
2475 char *p=strchr(mot,
'N')+1;
2477 solution->
ecrire(sxx,num-1,0);
2478 solution->
ecrire(syy,num-1,1);
2479 solution->
ecrire(szz,num-1,2);
2480 solution->
ecrire(sxy,num-1,3);
2481 solution->
ecrire(sxz,num-1,4);
2482 solution->
ecrire(syz,num-1,5);
2487 char *p=strchr(mot,
'N')+1;
2489 solution->
ecrire(sxx,num-1,0);
2490 solution->
ecrire(syy,num-1,1);
2491 solution->
ecrire(szz,num-1,2);
2492 solution->
ecrire(sxy,num-1,3);
2504 sprintf(nomsol,
"E%%%d",pas);
2508 sprintf(nom,
"%s_def_moy_%d.sol",nomfichier,pas);
2512 sprintf(nom,
"%s_def_inf_%d.sol",nomfichier,pas);
2516 sprintf(nom,
"%s_def_sup_%d.sol",nomfichier,pas);
2518 if ((codeimport==3)||(codeimport==4))
2520 sprintf(nom,
"%s_def_%d.sol",nomfichier,pas);
2526 if (codeimport==4) nbchamps=4;
2580 for (
int i=0;i<nbchamps;i++)
2581 solution->
ecrire(0.,j,i);
2587 LISTE_FEM_ELEMENT2::iterator it;
2592 char *
res=fgets(message,750,in);
2595 int numlu=sscanf(message,
"%s %lf %lf %lf %lf %lf %lf",mot,tenseur,tenseur+1,tenseur+2,tenseur+3,tenseur+4,tenseur+5);
2598 char *p=strchr(mot,
'M');
2611 char *p=strchr(mot,
'N')+1;
2614 double tenseurglo[6];
2615 if (codeimport==3) tenseurres=tenseur;
2619 tenseurres=tenseurglo;
2621 solution->
ecrire(solution->
lire(num-1,0)+tenseurres[0],num-1,0);
2622 solution->
ecrire(solution->
lire(num-1,1)+tenseurres[1],num-1,1);
2623 solution->
ecrire(solution->
lire(num-1,2)+tenseurres[2],num-1,2);
2624 solution->
ecrire(solution->
lire(num-1,3)+tenseurres[3],num-1,3);
2625 solution->
ecrire(solution->
lire(num-1,4)+tenseurres[4],num-1,4);
2626 solution->
ecrire(solution->
lire(num-1,5)+tenseurres[5],num-1,5);
2631 char *p=strchr(mot,
'N')+1;
2634 double tenseurglo[6];
2636 solution->
ecrire(solution->
lire(num-1,0)+tenseurres[0],num-1,0);
2637 solution->
ecrire(solution->
lire(num-1,1)+tenseurres[1],num-1,1);
2638 solution->
ecrire(solution->
lire(num-1,2)+tenseurres[2],num-1,2);
2639 solution->
ecrire(solution->
lire(num-1,3)+tenseurres[3],num-1,3);
2650 for (
int i=0;i<nbchamps;i++)
2651 solution->
ecrire(solution->
lire(j,i)/tab[j],j,i);
2658 sprintf(nomsol,
"E%%%d",pas);
2662 sprintf(nom,
"%s_def_moy_%d.sol",nomfichier,pas);
2666 sprintf(nom,
"%s_def_inf_%d.sol",nomfichier,pas);
2670 sprintf(nom,
"%s_def_sup_%d.sol",nomfichier,pas);
2672 if ((codeimport==3) || (codeimport==4)|| (codeimport==5))
2674 sprintf(nom,
"%s_def_%d.sol",nomfichier,pas);
2679 if (codeimport==4) solution=gest->
get_fem_solution(mai,4,nom,(
char*)nomsol);
2716 if ((codeimport==3)||(codeimport==5))
2735 for (
int i=0;i<num;i++)
2737 solution->
ecrire(0.,i,0);
2738 solution->
ecrire(0.,i,1);
2739 solution->
ecrire(0.,i,2);
2740 solution->
ecrire(0.,i,3);
2741 solution->
ecrire(0.,i,4);
2742 solution->
ecrire(0.,i,5);
2750 char *
res=fgets(message,750,in);
2751 if (message[3]==
'-')
2752 if (message[4]==
'-')
2753 if (message[5]==
'-')
2754 if (message[6]==
'-')
2755 if (message[7]==
'-')
2756 if (message[8]==
'-')
2760 double exx,eyy,ezz,exy,exz,eyz;
2763 int numlu=sscanf(message,
"%s %lf %lf %lf %lf %lf %lf",mot,&exx,&eyy,&ezz,&exy,&exz,&eyz);
2767 char *p=strchr(mot,
'N')+1;
2769 solution->
ecrire(exx,num-1,0);
2770 solution->
ecrire(eyy,num-1,1);
2771 solution->
ecrire(ezz,num-1,2);
2772 solution->
ecrire(exy,num-1,3);
2773 solution->
ecrire(exz,num-1,4);
2774 solution->
ecrire(eyz,num-1,5);
2779 char *p=strchr(mot,
'N')+1;
2781 solution->
ecrire(exx,num-1,0);
2782 solution->
ecrire(eyy,num-1,1);
2783 solution->
ecrire(ezz,num-1,2);
2784 solution->
ecrire(exy,num-1,3);
2796 sprintf(nomsol,
"S%%%d",pas);
2800 strcat(nom,
"_conq_moy.sol");
2801 sprintf(nom,
"%s_onq_moy_%d.sol",nomfichier,pas);
2805 strcat(nom,
"_conq_inf.sol");
2806 sprintf(nom,
"%s_conq_inf_%d.sol",nomfichier,pas);
2810 strcat(nom,
"_conq_sup.sol");
2811 sprintf(nom,
"%s_conq_sup_%d.sol",nomfichier,pas);
2813 if ((codeimport==3)||(codeimport==4))
2815 strcat(nom,
"_conq.sol");
2816 sprintf(nom,
"%s_conq_%d.sol",nomfichier,pas);
2849 if ((codeimport==3)||(codeimport==4))
2860 for (
int i=0;i<5;i++)
2861 solution->
ecrire(0.,j,i);
2870 char *
res=fgets(message,750,in);
2873 int numlu=sscanf(message,
"%s %lf %lf %lf %lf %lf",mot,tenseur,tenseur+1,tenseur+2,tenseur+3,tenseur+4);
2876 char *p=strchr(mot,
'M');
2887 char *p=strchr(mot,
'N')+1;
2889 solution->
ecrire(solution->
lire(num-1,0)+tenseur[0],num-1,0);
2890 solution->
ecrire(solution->
lire(num-1,1)+tenseur[1],num-1,1);
2891 solution->
ecrire(solution->
lire(num-1,2)+tenseur[2],num-1,2);
2892 solution->
ecrire(solution->
lire(num-1,3)+tenseur[3],num-1,3);
2893 solution->
ecrire(solution->
lire(num-1,4)+tenseur[4],num-1,4);
2904 for (
int i=0;i<5;i++)
2905 solution->
ecrire(solution->
lire(j,i)/tab[j],j,i);
2914 sprintf(nomsol,
"S%%%d",pas);
2916 sprintf(nomsol2,
"V%%%d",pas);
2923 sprintf(nom,
"%s_conq_moy_%d.sol",nomfichier,pas);
2924 sprintf(nom2,
"%s_vp_moy_%d.sol",nomfichier,pas);
2928 sprintf(nom,
"%s_conq_inf_%d.sol",nomfichier,pas);
2929 sprintf(nom2,
"%s_vp_inf_%d.sol",nomfichier,pas);
2933 sprintf(nom,
"%s_conq_sup_%d.sol",nomfichier,pas);
2934 sprintf(nom2,
"%s_vp_sup_%d.sol",nomfichier,pas);
2937 if ((codeimport==3)||(codeimport==4))
2939 sprintf(nom,
"%s_conq_%d.sol",nomfichier,pas);
2940 sprintf(nom2,
"%s_vp_%d.sol",nomfichier,pas);
2950 if (solution2==NULL)
2990 if ((codeimport==3)||(codeimport==4))
3005 for (
int i=0;i<5;i++)
3006 solution->
ecrire(0.,j,i);
3007 for (
int i=0;i<3;i++)
3008 for (
int k=0;k<3;k++)
3009 solution2->
ecrire(0.,j,i,k);
3018 char *
res=fgets(message,750,in);
3021 int numlu=sscanf(message,
"%s %lf %lf %lf %lf %lf",mot,tenseur,tenseur+1,tenseur+2,tenseur+3,tenseur+4);
3024 char *p=strchr(mot,
'M');
3035 char *p=strchr(mot,
'N');
3040 solution->
ecrire(solution->
lire(num-1,0)+tenseur[0],num-1,0);
3041 solution->
ecrire(solution->
lire(num-1,1)+tenseur[1],num-1,1);
3042 solution->
ecrire(solution->
lire(num-1,2)+tenseur[2],num-1,2);
3043 solution->
ecrire(solution->
lire(num-1,3)+tenseur[3],num-1,3);
3044 solution->
ecrire(solution->
lire(num-1,4)+tenseur[4],num-1,4);
3046 fgets(message,750,in);
3047 sscanf(message,
"%lf %lf %lf %lf %lf %lf",tenseur2,tenseur2+1,tenseur2+2,tenseur2+3,tenseur2+4,tenseur2+5);
3048 fgets(message,750,in);
3049 sscanf(message,
"%lf %lf %lf",tenseur2+6,tenseur2+7,tenseur2+8);
3050 solution2->
ecrire(solution2->
lire(num-1,0,0)+tenseur2[0],num-1,0,0);
3051 solution2->
ecrire(solution2->
lire(num-1,0,1)+tenseur2[1],num-1,0,1);
3052 solution2->
ecrire(solution2->
lire(num-1,0,2)+tenseur2[2],num-1,0,2);
3053 solution2->
ecrire(solution2->
lire(num-1,1,0)+tenseur2[3],num-1,1,0);
3054 solution2->
ecrire(solution2->
lire(num-1,1,1)+tenseur2[4],num-1,1,1);
3055 solution2->
ecrire(solution2->
lire(num-1,1,2)+tenseur2[5],num-1,1,2);
3056 solution2->
ecrire(solution2->
lire(num-1,2,0)+tenseur2[6],num-1,2,0);
3057 solution2->
ecrire(solution2->
lire(num-1,2,1)+tenseur2[7],num-1,2,1);
3058 solution2->
ecrire(solution2->
lire(num-1,2,2)+tenseur2[8],num-1,2,2);
3071 for (
int i=0;i<5;i++)
3072 solution->
ecrire(solution->
lire(j,i)/tab[j],j,i);
3073 for (
int i=0;i<3;i++)
3075 for (
int k=0;k<3;k++)
3076 solution2->
ecrire(solution2->
lire(j,i,k)/tab[j],j,i,k);
3077 double x=solution2->
lire(j,i,0);
3078 double y=solution2->
lire(j,i,1);
3079 double z=solution2->
lire(j,i,2);
3082 vec=solution->
lire(j,2+i)*vec;
3097 sprintf(nomsol,
"GS%%%d",pas);
3099 sprintf(nomsol2,
"GV%%%d",pas);
3106 sprintf(nom,
"%s_conq_moy_gauus_%d.sol",nomfichier,pas);
3107 sprintf(nom2,
"%s_vp_moy_gauus_%d.sol",nomfichier,pas);
3111 sprintf(nom,
"%s_conq_inf_gauus_%d.sol",nomfichier,pas);
3112 sprintf(nom2,
"%s_vp_inf_gauus_%d.sol",nomfichier,pas);
3116 sprintf(nom,
"%s_conq_sup_gauus_%d.sol",nomfichier,pas);
3117 sprintf(nom2,
"%s_vp_sup_gauus_%d.sol",nomfichier,pas);
3120 if ((codeimport==3)||(codeimport==4))
3122 sprintf(nom,
"%s_conq_gauus_%d.sol",nomfichier,pas);
3123 sprintf(nom2,
"%s_vp_gauus_%d.sol",nomfichier,pas);
3134 if (solution2==NULL)
3175 if ((codeimport==3)||(codeimport==4))
3190 std::vector<std::string> tabligne;
3196 char *
res=fgets(message,750,in);
3199 int numlu=sscanf(message,
"%s %lf %lf %lf %lf %lf",mot,tenseur,tenseur+1,tenseur+2,tenseur+3,tenseur+4);
3202 char *p=strchr(mot,
'M');
3208 if (nbelement==1) {tabligne.clear();decalage=num;}
3211 int nbgauss=tabligne.size()/3;
3214 for (
int i=0;i<nbgauss;i++)
3217 strcpy(ligne,tabligne[3*i].c_str());
3220 sscanf(ligne,
"%d %lf %lf %lf %lf %lf",&numgauss,tenseur,tenseur+1,tenseur+2,tenseur+3,tenseur+4);
3221 strcpy(ligne,tabligne[3*i+1].c_str());
3222 sscanf(ligne,
"%lf %lf %lf %lf %lf %lf",tenseur2,tenseur2+1,tenseur2+2,tenseur2+3,tenseur2+4,tenseur2+5);
3223 strcpy(ligne,tabligne[3*i+2].c_str());
3224 sscanf(ligne,
"%lf %lf %lf",tenseur2+6,tenseur2+7,tenseur2+8);
3225 solution->
ecrire(tenseur[0],num-decalage-1,0,0,numgauss-1);
3226 solution->
ecrire(tenseur[1],num-decalage-1,1,0,numgauss-1);
3227 solution->
ecrire(tenseur[2],num-decalage-1,2,0,numgauss-1);
3228 solution->
ecrire(tenseur[3],num-decalage-1,3,0,numgauss-1);
3229 solution->
ecrire(tenseur[4],num-decalage-1,4,0,numgauss-1);
3230 solution2->
ecrire(tenseur2[0],num-decalage-1,0,0,numgauss-1);
3231 solution2->
ecrire(tenseur2[1],num-decalage-1,0,1,numgauss-1);
3232 solution2->
ecrire(tenseur2[2],num-decalage-1,0,2,numgauss-1);
3233 solution2->
ecrire(tenseur2[3],num-decalage-1,1,0,numgauss-1);
3234 solution2->
ecrire(tenseur2[4],num-decalage-1,1,1,numgauss-1);
3235 solution2->
ecrire(tenseur2[5],num-decalage-1,1,2,numgauss-1);
3236 solution2->
ecrire(tenseur2[6],num-decalage-1,2,0,numgauss-1);
3237 solution2->
ecrire(tenseur2[7],num-decalage-1,2,1,numgauss-1);
3238 solution2->
ecrire(tenseur2[8],num-decalage-1,2,2,numgauss-1);
3247 tabligne.push_back(message);
3248 fgets(message,750,in);
3249 tabligne.push_back(message);
3250 fgets(message,750,in);
3251 tabligne.push_back(message);
3259 if ((fin==-1) && (numlu<1)) fin=1;
3262 int nbgauss=tabligne.size()/3;
3265 for (
int i=0;i<nbgauss;i++)
3268 strcpy(ligne,tabligne[3*i].c_str());
3272 sscanf(ligne,
"%d %lf %lf %lf %lf %lf",&numgauss,tenseur,tenseur+1,tenseur+2,tenseur+3,tenseur+4);
3273 strcpy(ligne,tabligne[3*i+1].c_str());
3274 sscanf(ligne,
"%lf %lf %lf %lf %lf %lf",tenseur2,tenseur2+1,tenseur2+2,tenseur2+3,tenseur2+4,tenseur2+5);
3275 strcpy(ligne,tabligne[3*i+2].c_str());
3276 sscanf(ligne,
"%lf %lf %lf",tenseur2+6,tenseur2+7,tenseur2+8);
3277 solution->
ecrire(tenseur[0],nbelement-1,0,0,numgauss-1);
3278 solution->
ecrire(tenseur[1],nbelement-1,1,0,numgauss-1);
3279 solution->
ecrire(tenseur[2],nbelement-1,2,0,numgauss-1);
3280 solution->
ecrire(tenseur[3],nbelement-1,3,0,numgauss-1);
3281 solution->
ecrire(tenseur[4],nbelement-1,4,0,numgauss-1);
3282 solution2->
ecrire(tenseur2[0],nbelement-1,0,0,numgauss-1);
3283 solution2->
ecrire(tenseur2[1],nbelement-1,0,1,numgauss-1);
3284 solution2->
ecrire(tenseur2[2],nbelement-1,0,2,numgauss-1);
3285 solution2->
ecrire(tenseur2[3],nbelement-1,1,0,numgauss-1);
3286 solution2->
ecrire(tenseur2[4],nbelement-1,1,1,numgauss-1);
3287 solution2->
ecrire(tenseur2[5],nbelement-1,1,2,numgauss-1);
3288 solution2->
ecrire(tenseur2[6],nbelement-1,2,0,numgauss-1);
3289 solution2->
ecrire(tenseur2[7],nbelement-1,2,1,numgauss-1);
3290 solution2->
ecrire(tenseur2[8],nbelement-1,2,2,numgauss-1);
3296 for (
int g=0;g<nbgauss;g++)
3297 for (
int i=0;i<3;i++)
3299 double x=solution2->
lire(j,i,0,g);
3300 double y=solution2->
lire(j,i,1,g);
3301 double z=solution2->
lire(j,i,2,g);
3304 vec=solution->
lire(j,2+i,0,g)*vec;
3317 sprintf(nomsol,
"S%%%d",pas);
3321 sprintf(nom,
"%s_conq_moy_%d.sol",nomfichier,pas);
3325 sprintf(nom,
"%s_conq_inf_%d.sol",nomfichier,pas);
3329 sprintf(nom,
"%s_conq_sup_%d.sol",nomfichier,pas);
3331 if ((codeimport==3) || (codeimport==4))
3333 sprintf(nom,
"%s_conq_%d.sol",nomfichier,pas);
3381 char *
res=fgets(message,750,in);
3382 double vm,tr,p1,p2,p3;
3386 int numlu=sscanf(message,
"%s %lf %lf %lf %lf %lf ",mot,&vm,&tr,&p1,&p2,&p3);
3389 char *p=strchr(mot,
'N')+1;
3391 solution->
ecrire(vm,num-1,0);
3392 solution->
ecrire(tr,num-1,1);
3393 solution->
ecrire(p1,num-1,2);
3394 solution->
ecrire(p2,num-1,3);
3395 solution->
ecrire(p3,num-1,4);
3407 sprintf(nomsol,
"S%%%d",pas);
3409 sprintf(nomsol2,
"V%%%d",pas);
3415 sprintf(nom,
"%s_conq_moy_%d.sol",nomfichier,pas);
3416 sprintf(nom2,
"%s_vp_moy_%d.sol",nomfichier,pas);
3420 sprintf(nom,
"%s_conq_inf_%d.sol",nomfichier,pas);
3421 sprintf(nom2,
"%s_vp_inf_%d.sol",nomfichier,pas);
3425 sprintf(nom,
"%s_conq_sup_%d.sol",nomfichier,pas);
3426 sprintf(nom2,
"%s_vp_sup_%d.sol",nomfichier,pas);
3429 if ((codeimport==3)||(codeimport==4)||(codeimport==5))
3431 sprintf(nom,
"%s_conq_%d.sol",nomfichier,pas);
3432 sprintf(nom2,
"%s_vp_%d.sol",nomfichier,pas);
3442 if (solution2==NULL)
3480 if ((codeimport==3)||(codeimport==4)||(codeimport==5))
3494 for (
int i=0;i<num;i++)
3496 solution->
ecrire(0.,i,0);
3497 solution->
ecrire(0.,i,1);
3498 solution->
ecrire(0.,i,2);
3499 solution->
ecrire(0.,i,3);
3500 solution->
ecrire(0.,i,4);
3501 solution2->
ecrire(1.,i,0,0);
3502 solution2->
ecrire(1.,i,0,1);
3503 solution2->
ecrire(1.,i,0,2);
3504 solution2->
ecrire(1.,i,1,0);
3505 solution2->
ecrire(1.,i,1,1);
3506 solution2->
ecrire(1.,i,1,2);
3507 solution2->
ecrire(1.,i,2,0);
3508 solution2->
ecrire(1.,i,2,1);
3509 solution2->
ecrire(1.,i,2,2);
3519 char *
res=fgets(message,750,in);
3520 double vm,tr,p1,p2,p3;
3522 if ((message[3]==
'-')||(message[3]==
'*'))
3523 if ((message[4]==
'-')||(message[4]==
'*'))
3524 if ((message[5]==
'-')||(message[5]==
'*'))
3525 if ((message[6]==
'-')||(message[6]==
'*'))
3526 if ((message[7]==
'-')||(message[7]==
'*'))
3527 if ((message[8]==
'-')||(message[8]==
'*'))
3532 int numlu=sscanf(message,
"%s %lf %lf %lf %lf %lf ",mot,&vm,&tr,&p1,&p2,&p3);
3535 char *p=strchr(mot,
'N');
3540 solution->
ecrire(vm,num-1,0);
3541 solution->
ecrire(tr,num-1,1);
3542 solution->
ecrire(p1,num-1,2);
3543 solution->
ecrire(p2,num-1,3);
3544 solution->
ecrire(p3,num-1,4);
3546 fgets(message,750,in);
3547 sscanf(message,
"%lf %lf %lf %lf %lf %lf",tenseur2,tenseur2+1,tenseur2+2,tenseur2+3,tenseur2+4,tenseur2+5);
3548 fgets(message,750,in);
3549 sscanf(message,
"%lf %lf %lf",tenseur2+6,tenseur2+7,tenseur2+8);
3550 solution2->
ecrire(solution2->
lire(num-1,0,0)+tenseur2[0],num-1,0,0);
3551 solution2->
ecrire(solution2->
lire(num-1,0,1)+tenseur2[1],num-1,0,1);
3552 solution2->
ecrire(solution2->
lire(num-1,0,2)+tenseur2[2],num-1,0,2);
3553 solution2->
ecrire(solution2->
lire(num-1,1,0)+tenseur2[3],num-1,1,0);
3554 solution2->
ecrire(solution2->
lire(num-1,1,1)+tenseur2[4],num-1,1,1);
3555 solution2->
ecrire(solution2->
lire(num-1,1,2)+tenseur2[5],num-1,1,2);
3556 solution2->
ecrire(solution2->
lire(num-1,2,0)+tenseur2[6],num-1,2,0);
3557 solution2->
ecrire(solution2->
lire(num-1,2,1)+tenseur2[7],num-1,2,1);
3558 solution2->
ecrire(solution2->
lire(num-1,2,2)+tenseur2[8],num-1,2,2);
3569 for (
int i=0;i<3;i++)
3571 double x=solution2->
lire(j,i,0);
3572 double y=solution2->
lire(j,i,1);
3573 double z=solution2->
lire(j,i,2);
3576 vec=solution->
lire(j,2+i)*vec;
3591 strcpy(nom,nomfichier);
3592 strcat(nom,
"_erreur.sol");
3604 else if (codeimport==5)
3630 for (
int i=0;i<num;i++)
3632 solution->
ecrire(0.,i,0);
3633 solution->
ecrire(0.,i,1);
3634 solution->
ecrire(0.,i,2);
3647 char *
res=fgets(message,750,in);
3650 if ((message[3]==
'-')||(message[3]==
'*'))
3651 if ((message[4]==
'-')||(message[4]==
'*'))
3652 if ((message[5]==
'-')||(message[5]==
'*'))
3653 if ((message[6]==
'-')||(message[6]==
'*'))
3654 if ((message[7]==
'-')||(message[7]==
'*'))
3655 if ((message[8]==
'-')||(message[8]==
'*'))
3659 int numlu=sscanf(message,
"%s %s",mot1,mot2);
3660 if ((numlu==2) && (strcmp(mot2,
"ERREST")==0))
3662 char *p=strchr(mot1,
'M')+1;
3664 if ((passe==0)&&(codeimport!=5)) {
3668 char *
res=fgets(message,750,in);
3669 res=fgets(message,750,in);
3670 double val,val2,val3;
3671 sscanf(message,
"%lf %lf %lf",&val,&val2,&val3);
3672 solution->
ecrire(val,num-decalage,0);
3673 solution->
ecrire(val2,num-decalage,1);
3674 solution->
ecrire(val3,num-decalage,2);
3676 res=fgets(message,750,in);
3680 else if (codeimport==5)
3693 if (codeimport!=5)
return;
3695 strcpy(nom,nomfichier);
3696 strcat(nom,
"_conmax_poutre.sol");
3707 std::vector<FEM_ELEMENT_MAILLAGE*> corre;
3711 LISTE_FEM_ELEMENT1::iterator it;
3714 corre.push_back(ele);
3715 int nb=ele->get_nb_fem_noeud();
3716 for (
int j=0;j<nb;j++)
3718 solution->
ecrire(0.,i,0,0,j);
3719 solution->
ecrire(0.,i,1,0,j);
3723 LISTE_FEM_ELEMENT2::iterator it2;
3726 corre.push_back(ele);
3727 int nb=ele->get_nb_fem_noeud();
3728 for (
int j=0;j<nb;j++)
3730 solution->
ecrire(0.,i,0,0,j);
3731 solution->
ecrire(0.,i,1,0,j);
3735 LISTE_FEM_ELEMENT3::iterator it3;
3738 corre.push_back(ele);
3739 int nb=ele->get_nb_fem_noeud();
3740 for (
int j=0;j<nb;j++)
3742 solution->
ecrire(0.,i,0,0,j);
3743 solution->
ecrire(0.,i,1,0,j);
3758 char *
res=fgets(message,750,in);
3761 if ((message[3]==
'-')||(message[3]==
'*'))
3762 if ((message[4]==
'-')||(message[4]==
'*'))
3763 if ((message[5]==
'-')||(message[5]==
'*'))
3764 if ((message[6]==
'-')||(message[6]==
'*'))
3765 if ((message[7]==
'-')||(message[7]==
'*'))
3766 if ((message[8]==
'-')||(message[8]==
'*'))
3770 int numlu=sscanf(message,
"%s %s",mot1,mot2);
3771 if ((numlu==2) && (strcmp(mot2,
"SIXXMIN")==0))
3773 char *p=strchr(mot1,
'M')+1;
3779 else nbnoeud=((
FEM_ELEMENT1*)corre[num-1])->get_nb_fem_noeud();
3780 for (
int i=0;i<nbnoeud;i++)
3782 char *
res=fgets(message,750,in);
3785 sscanf(message,
"%s %lf %lf",mot3,&val,&val2);
3786 solution->
ecrire(val,num-1,0,0,i);
3787 solution->
ecrire(val2,num-1,1,0,i);
3801 if (codeimport!=5)
return;
3803 strcpy(nom,nomfichier);
3804 strcat(nom,
"_con_poutre.sol");
3819 std::vector<FEM_ELEMENT_MAILLAGE*> corre;
3823 LISTE_FEM_ELEMENT1::iterator it;
3826 corre.push_back(ele);
3827 int nb=ele->get_nb_fem_noeud();
3828 for (
int j=0;j<nb;j++)
3830 solution->
ecrire(0.,i,0,0,j);
3831 solution->
ecrire(0.,i,1,0,j);
3832 solution->
ecrire(0.,i,2,0,j);
3833 solution->
ecrire(0.,i,3,0,j);
3834 solution->
ecrire(0.,i,4,0,j);
3835 solution->
ecrire(0.,i,5,0,j);
3839 LISTE_FEM_ELEMENT2::iterator it2;
3842 corre.push_back(ele);
3843 int nb=ele->get_nb_fem_noeud();
3844 for (
int j=0;j<nb;j++)
3846 solution->
ecrire(0.,i,0,0,j);
3847 solution->
ecrire(0.,i,1,0,j);
3848 solution->
ecrire(0.,i,2,0,j);
3849 solution->
ecrire(0.,i,3,0,j);
3850 solution->
ecrire(0.,i,4,0,j);
3851 solution->
ecrire(0.,i,5,0,j);
3855 LISTE_FEM_ELEMENT3::iterator it3;
3858 corre.push_back(ele);
3859 int nb=ele->get_nb_fem_noeud();
3860 for (
int j=0;j<nb;j++)
3862 solution->
ecrire(0.,i,0,0,j);
3863 solution->
ecrire(0.,i,1,0,j);
3864 solution->
ecrire(0.,i,2,0,j);
3865 solution->
ecrire(0.,i,3,0,j);
3866 solution->
ecrire(0.,i,4,0,j);
3867 solution->
ecrire(0.,i,5,0,j);
3882 char *
res=fgets(message,750,in);
3885 if ((message[3]==
'-')||(message[3]==
'*'))
3886 if ((message[4]==
'-')||(message[4]==
'*'))
3887 if ((message[5]==
'-')||(message[5]==
'*'))
3888 if ((message[6]==
'-')||(message[6]==
'*'))
3889 if ((message[7]==
'-')||(message[7]==
'*'))
3890 if ((message[8]==
'-')||(message[8]==
'*'))
3894 int numlu=sscanf(message,
"%s %s",mot1,mot2);
3895 if ((numlu==2) && (strcmp(mot2,
"SN")==0))
3897 char *p=strchr(mot1,
'M')+1;
3903 else nbnoeud=((
FEM_ELEMENT1*)corre[num-1])->get_nb_fem_noeud();
3904 for (
int i=0;i<nbnoeud;i++)
3906 char *
res=fgets(message,750,in);
3907 double val,val2,val3,val4,val5,val6;
3909 sscanf(message,
"%s %lf %lf %lf %lf %lf %lf",mot3,&val,&val2,&val3,&val4,&val5,&val6);
3910 solution->
ecrire(val,num-1,0,0,i);
3911 solution->
ecrire(val2,num-1,1,0,i);
3912 solution->
ecrire(val3,num-1,2,0,i);
3913 solution->
ecrire(val4,num-1,3,0,i);
3914 solution->
ecrire(val5,num-1,4,0,i);
3915 solution->
ecrire(val6,num-1,5,0,i);
3928 if (codeimport!=5)
return;
3930 strcpy(nom,nomfichier);
3931 strcat(nom,
"_effort.sol");
3946 std::vector<FEM_ELEMENT_MAILLAGE*> corre;
3950 LISTE_FEM_ELEMENT1::iterator it;
3953 corre.push_back(ele);
3954 int nb=ele->get_nb_fem_noeud();
3955 for (
int j=0;j<nb;j++)
3957 solution->
ecrire(0.,i,0,0,j);
3958 solution->
ecrire(0.,i,1,0,j);
3959 solution->
ecrire(0.,i,2,0,j);
3960 solution->
ecrire(0.,i,3,0,j);
3961 solution->
ecrire(0.,i,4,0,j);
3962 solution->
ecrire(0.,i,5,0,j);
3966 LISTE_FEM_ELEMENT2::iterator it2;
3969 corre.push_back(ele);
3970 int nb=ele->get_nb_fem_noeud();
3971 for (
int j=0;j<nb;j++)
3973 solution->
ecrire(0.,i,0,0,j);
3974 solution->
ecrire(0.,i,1,0,j);
3975 solution->
ecrire(0.,i,2,0,j);
3976 solution->
ecrire(0.,i,3,0,j);
3977 solution->
ecrire(0.,i,4,0,j);
3978 solution->
ecrire(0.,i,5,0,j);
3982 LISTE_FEM_ELEMENT3::iterator it3;
3985 corre.push_back(ele);
3986 int nb=ele->get_nb_fem_noeud();
3987 for (
int j=0;j<nb;j++)
3989 solution->
ecrire(0.,i,0,0,j);
3990 solution->
ecrire(0.,i,1,0,j);
3991 solution->
ecrire(0.,i,2,0,j);
3992 solution->
ecrire(0.,i,3,0,j);
3993 solution->
ecrire(0.,i,4,0,j);
3994 solution->
ecrire(0.,i,5,0,j);
4009 char *
res=fgets(message,750,in);
4012 if ((message[3]==
'-')||(message[3]==
'*'))
4013 if ((message[4]==
'-')||(message[4]==
'*'))
4014 if ((message[5]==
'-')||(message[5]==
'*'))
4015 if ((message[6]==
'-')||(message[6]==
'*'))
4016 if ((message[7]==
'-')||(message[7]==
'*'))
4017 if ((message[8]==
'-')||(message[8]==
'*'))
4021 int numlu=sscanf(message,
"%s %s",mot1,mot2);
4022 if ((numlu==2) && (strcmp(mot2,
"N")==0))
4024 char *p=strchr(mot1,
'M')+1;
4030 else nbnoeud=((
FEM_ELEMENT1*)corre[num-1])->get_nb_fem_noeud();
4031 for (
int i=0;i<nbnoeud;i++)
4033 char *
res=fgets(message,750,in);
4034 double val,val2,val3,val4,val5,val6;
4036 sscanf(message,
"%s %lf %lf %lf %lf %lf %lf",mot3,&val,&val2,&val3,&val4,&val5,&val6);
4037 solution->
ecrire(val,num-1,0,0,i);
4038 solution->
ecrire(val2,num-1,1,0,i);
4039 solution->
ecrire(val3,num-1,2,0,i);
4040 solution->
ecrire(val4,num-1,3,0,i);
4041 solution->
ecrire(val5,num-1,4,0,i);
4042 solution->
ecrire(val6,num-1,5,0,i);
4061 strcpy(nom,nomfichier);
4062 strcat(nom,
"_temp.sol");
4063 sprintf(nom,
"%s_temp_%d.sol",nomfichier,pas);
4069 sprintf(nomsol,
"T%%%d",pas);
4093 char *
res=fgets(message,750,in);
4098 int numlu=sscanf(message,
"%s %lf",mot,&x);
4101 char *p=strchr(mot,
'N')+1;
4104 solution->
ecrire(x,num-1,0);
4120 strcpy(nom,nomfichier);
4121 strcat(nom,
"_flux.sol");
4122 sprintf(nom,
"%s_flux_%d.sol",nomfichier,pas);
4128 sprintf(nomsol,
"F%%%d",pas);
4144 char *
res=fgets(message,750,in);
4147 int numlu=sscanf(message,
"%s %lf %lf %lf",mot,&flx,&fly,&flz);
4150 char *p=strchr(mot,
'N')+1;
4152 solution->
ecrire(flx,num-1,0);
4153 solution->
ecrire(fly,num-1,1);
4154 solution->
ecrire(flz,num-1,2);
4222 sprintf(nomsol,
"FLUX%%%d",pas);
4227 sprintf(nom,
"%sflux_moy_gauss_%d.sol",nomfichier,pas);
4231 sprintf(nom,
"%s_flux_inf_gauss_%d.sol",nomfichier,pas);
4235 sprintf(nom,
"%s_flux_sup_gauss_%d.sol",nomfichier,pas);
4237 if ((codeimport==3) || (codeimport==4))
4239 sprintf(nom,
"%s_flux_gauss_%d.sol",nomfichier,pas);
4244 if (codeimport==4) solution=gest->
get_fem_solution(mai,2,nom,(
char*)nomsol);
4283 if (codeimport==4) nbchamp=4;
4287 LISTE_FEM_ELEMENT2::iterator it;
4289 std::vector<std::string> tabligne;
4294 char *
res=fgets(message,750,in);
4300 int numlu=sscanf(message,
"%s %lf %lf %lf",mot,tenseur,tenseur+1,tenseur+2);
4303 char *p=strchr(mot,
'M');
4311 if (nbelement==1) {tabligne.clear();decalage=num;}
4315 int nbgauss=tabligne.size();
4317 for (
int i=0;i<nbgauss;i++)
4320 strcpy(ligne,tabligne[i].c_str());
4322 int numlu=sscanf(ligne,
"%d %lf %lf %lf",&numgauss,tenseur,tenseur+1,tenseur+2);
4326 double tenseurglo[6];
4327 if (codeimport==3) tenseurres=tenseur;
4331 tenseurres=tenseurglo;
4333 solution->
ecrire(tenseurres[0],num-decalage-1,0,0,numgauss-1);
4334 solution->
ecrire(tenseurres[1],num-decalage-1,1,0,numgauss-1);
4335 solution->
ecrire(tenseurres[2],num-decalage-1,2,0,numgauss-1);
4339 solution->
ecrire(tenseur[0],num-decalage-1,0,0,numgauss-1);
4340 solution->
ecrire(tenseur[1],num-decalage-1,1,0,numgauss-1);
4348 else if (numlu>1) tabligne.push_back(message);
4359 if ((fin==-1) && (numlu<1)) fin=1;
4362 int nbgauss=tabligne.size();
4364 for (
int i=0;i<nbgauss;i++)
4367 strcpy(ligne,tabligne[i].c_str());
4373 int numlu=sscanf(ligne,
"%d %lf %lf %lf",&numgauss,tenseur,tenseur+1,tenseur+2);
4377 double tenseurglo[6];
4378 if (codeimport==3) tenseurres=tenseur;
4382 tenseurres=tenseurglo;
4384 solution->
ecrire(tenseurres[0],nbelement-1,0,0,numgauss-1);
4385 solution->
ecrire(tenseurres[1],nbelement-1,1,0,numgauss-1);
4386 solution->
ecrire(tenseurres[2],nbelement-1,2,0,numgauss-1);
4390 solution->
ecrire(tenseur[0],nbelement-1,0,0,numgauss-1);
4391 solution->
ecrire(tenseur[1],nbelement-1,1,0,numgauss-1);
4411 if (fabs(fabs(normale*dirx)-1.)<0.0000000001)
4422 tenseur(0,0)=tenslocal[0];
4423 tenseur(1,1)=tenslocal[1];
4424 tenseur(2,2)=tenslocal[2];
4425 tenseur(0,1)=tenslocal[3];
4426 tenseur(1,0)=tenslocal[3];
4427 tenseur(0,2)=tenslocal[4];
4428 tenseur(2,0)=tenslocal[4];
4429 tenseur(1,2)=tenslocal[5];
4430 tenseur(2,1)=tenslocal[5];
4432 tensglobal[0]=tenseur2(0,0);
4433 tensglobal[1]=tenseur2(1,1);
4434 tensglobal[2]=tenseur2(2,2);
4435 tensglobal[3]=tenseur2(0,1);
4436 tensglobal[4]=tenseur2(0,2);
4437 tensglobal[5]=tenseur2(1,2);
4448 FILE* in=fopen(nomfichier,
"rt");
4453 std::vector<GMSH_ARETE> lstaretegmsh;
4454 std::vector<GMSH_FACE> lstfacegmsh;
4455 std::vector<GMSH_VOLUME> lstvolumegmsh;
4456 while (strcmp(mot,
"$Nodes")!=0)
4459 fgets(ligne,500,in);
4460 sscanf(ligne,
"%s",mot);
4462 while (strcmp(mot,
"$EndNodes")!=0)
4465 fgets(ligne,500,in);
4466 sscanf(ligne,
"%s",mot);
4469 int numarg=sscanf(ligne,
"%d %lf %lf %lf",&num,&x,&y,&z);
4477 while (strcmp(mot,
"$Elements")!=0)
4480 fgets(ligne,500,in);
4481 sscanf(ligne,
"%s",mot);
4483 while (strcmp(mot,
"$EndElements")!=0)
4486 fgets(ligne,500,in);
4487 sscanf(ligne,
"%s",mot);
4489 int numarg=sscanf(ligne,
"%d %d",&num,&code);
4495 numarg=sscanf(ligne,
"%d %d %d",&num,&code,&numtag);
4498 int n1,tag1,tag2,tag3,tag4,tag5,tag6;
4499 if (numtag==0) sscanf(ligne,
"%d %d %d %d",&num,&code,&numtag,&n1);
4500 if (numtag==1) sscanf(ligne,
"%d %d %d %d %d",&num,&code,&numtag,&tag1,&n1);
4501 if (numtag==2) sscanf(ligne,
"%d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&n1);
4502 if (numtag==3) sscanf(ligne,
"%d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&n1);
4503 if (numtag==4) sscanf(ligne,
"%d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&n1);
4504 if (numtag==5) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&tag5,&n1);
4505 if (numtag==6) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&tag5,&tag6,&n1);
4509 LISTE_MG_SOMMET::iterator it;
4514 som->get_point()->evaluer(xyzpoint);
4528 numarg=sscanf(ligne,
"%d %d %d",&num,&code,&numtag);
4531 int n1,n2,tag1,tag2,tag3,tag4,tag5,tag6;
4532 if (numtag==0) sscanf(ligne,
"%d %d %d %d %d",&num,&code,&numtag,&n1,&n2);
4533 if (numtag==1) sscanf(ligne,
"%d %d %d %d %d %d",&num,&code,&numtag,&tag1,&n1,&n2);
4534 if (numtag==2) sscanf(ligne,
"%d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&n1,&n2);
4535 if (numtag==3) sscanf(ligne,
"%d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&n1,&n2);
4536 if (numtag==4) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&n1,&n2);
4537 if (numtag==5) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&tag5,&n1,&n2);
4538 if (numtag==6) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&tag5,&tag6,&n1,&n2);
4545 while (lstaretegmsh.size()<tag2)
4548 lstaretegmsh.push_back(are);
4550 lstaretegmsh[tag2-1].
ajouter(seg);
4557 numarg=sscanf(ligne,
"%d %d %d",&num,&code,&numtag);
4560 int n1,n2,n3,tag1,tag2,tag3,tag4,tag5,tag6;
4561 if (numtag==0) sscanf(ligne,
"%d %d %d %d %d %d",&num,&code,&numtag,&n1,&n2,&n3);
4562 if (numtag==1) sscanf(ligne,
"%d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&n1,&n2,&n3);
4563 if (numtag==2) sscanf(ligne,
"%d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&n1,&n2,&n3);
4564 if (numtag==3) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&n1,&n2,&n3);
4565 if (numtag==4) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&n1,&n2,&n3);
4566 if (numtag==5) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&tag5,&n1,&n2,&n3);
4567 if (numtag==6) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&tag5,&tag6,&n1,&n2,&n3);
4574 while (lstfacegmsh.size()<tag2)
4577 lstfacegmsh.push_back(face);
4579 lstfacegmsh[tag2-1].
ajouter(tri);
4587 numarg=sscanf(ligne,
"%d %d %d",&num,&code,&numtag);
4590 int n1,n2,n3,n4,tag1,tag2,tag3,tag4,tag5,tag6;
4591 if (numtag==0) sscanf(ligne,
"%d %d %d %d %d %d %d",&num,&code,&numtag,&n1,&n2,&n3,&n4);
4592 if (numtag==1) sscanf(ligne,
"%d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&n1,&n2,&n3,&n4);
4593 if (numtag==2) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&n1,&n2,&n3,&n4);
4594 if (numtag==3) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&n1,&n2,&n3,&n4);
4595 if (numtag==4) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&n1,&n2,&n3,&n4);
4596 if (numtag==5) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&tag5,&n1,&n2,&n3,&n4);
4597 if (numtag==6) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&tag5,&tag6,&n1,&n2,&n3,&n4);
4605 while (lstfacegmsh.size()<tag2)
4608 lstfacegmsh.push_back(face);
4610 lstfacegmsh[tag2-1].
ajouter(qua);
4619 numarg=sscanf(ligne,
"%d %d %d",&num,&code,&numtag);
4622 int n1,n2,n3,n4,tag1,tag2,tag3,tag4,tag5,tag6;
4623 if (numtag==0) sscanf(ligne,
"%d %d %d %d %d %d %d",&num,&code,&numtag,&n1,&n2,&n3,&n4);
4624 if (numtag==1) sscanf(ligne,
"%d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&n1,&n2,&n3,&n4);
4625 if (numtag==2) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&n1,&n2,&n3,&n4);
4626 if (numtag==3) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&n1,&n2,&n3,&n4);
4627 if (numtag==4) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&n1,&n2,&n3,&n4);
4628 if (numtag==5) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&tag5,&n1,&n2,&n3,&n4);
4629 if (numtag==6) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&tag5,&tag6,&n1,&n2,&n3,&n4);
4637 while (lstvolumegmsh.size()<tag2)
4640 lstvolumegmsh.push_back(vol);
4642 lstvolumegmsh[tag2-1].
ajouter(tet);
4650 numarg=sscanf(ligne,
"%d %d %d",&num,&code,&numtag);
4653 int n1,n2,n3,n4,n5,n6,n7,n8,tag1,tag2,tag3,tag4,tag5,tag6;
4654 if (numtag==0) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&n1,&n2,&n3,&n4,&n5,&n6,&n7,&n8);
4655 if (numtag==1) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&n1,&n2,&n3,&n4,&n5,&n6,&n7,&n8);
4656 if (numtag==2) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&n1,&n2,&n3,&n4,&n5,&n6,&n7,&n8);
4657 if (numtag==3) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&n1,&n2,&n3,&n4,&n5,&n6,&n7,&n8);
4658 if (numtag==4) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&n1,&n2,&n3,&n4,&n5,&n6,&n7,&n8);
4659 if (numtag==5) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&tag5,&n1,&n2,&n3,&n4,&n5,&n6,&n7,&n8);
4660 if (numtag==6) sscanf(ligne,
"%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d",&num,&code,&numtag,&tag1,&tag2,&tag3,&tag4,&tag5,&tag6,&n1,&n2,&n3,&n4,&n5,&n6,&n7,&n8);
4672 while (lstvolumegmsh.size()<tag2)
4675 lstvolumegmsh.push_back(vol);
4677 lstvolumegmsh[tag2-1].
ajouter(hex);
4688 int nbaregmsh=lstaretegmsh.size();
4689 for (
int i=0;i<nbaregmsh;i++)
4691 MG_SOMMET* som1=lstaretegmsh[i].lstsom[0];
4692 MG_SOMMET* som2=lstaretegmsh[i].lstsom[1];
4694 LISTE_MG_ARETE::iterator it;
4697 if ( ((aretmp->get_cosommet1()->get_sommet()==som1) &&(aretmp->get_cosommet2()->get_sommet()==som2)) || ((aretmp->get_cosommet1()->get_sommet()==som2) &&(aretmp->get_cosommet2()->get_sommet()==som1)) )
4706 MG_NOEUD *notmp=lstaretegmsh[i].lstseg[j]->get_noeud1();
4708 notmp=lstaretegmsh[i].lstseg[j]->get_noeud2();
4714 aretmp->inverser(t,xyz);
4716 aretmp->evaluer(t,xyz2);
4720 if (aretmp->get_courbe()->est_periodique()==1)
4721 if (t<aretmp->get_tmin()) t=t+aretmp->get_courbe()->get_periode();
4722 if ((t>aretmp->get_tmin()) && (t<aretmp->get_tmax()))
4733 bool sensidentique=
true;
4741 if (ps <0) sensidentique=
false;
4742 int nbseg=lstaretegmsh[i].lstseg.size();
4743 for (
int j=0;j<nbseg;j++)
4754 int nbfacegmsh=lstfacegmsh.size();
4755 for (
int i=0;i<nbfacegmsh;i++)
4759 lstfacegmsh[i].update();
4760 for (
int j=0;j<lstfacegmsh[i].lstare.size();j++)
4761 lstaregmsh.
ajouter(lstfacegmsh[i].lstare[j]);
4762 LISTE_MG_FACE::iterator it;
4766 int nbbou=facetmp->get_nb_mg_boucle();
4767 for (
int b=0;b<nbbou;b++)
4769 MG_BOUCLE* bou=facetmp->get_mg_boucle(b);
4771 for (
int a=0;
a<nbare;
a++)
4778 bool identique=
true;
4782 if (are1!=are2) identique=
false;
4783 while ((identique==
true) && (are1!=NULL))
4787 if (are1!=are2) identique=
false;
4790 if (identique==
true) face=facetmp;
4794 bool sensidentiquetri=
true;
4795 if (lstfacegmsh[i].lsttri.size()>0)
4810 if ((nor*norgeo)<0.) sensidentiquetri=
false;
4812 bool sensidentiquequa=
true;
4813 if (lstfacegmsh[i].lstquad.size()>0)
4828 if ((nor*norgeo)<0.) sensidentiquequa=
false;
4830 int nbtri=lstfacegmsh[i].lsttri.size();
4831 for (
int j=0;j<nbtri;j++)
4840 int nbqua=lstfacegmsh[i].lstquad.size();
4841 for (
int j=0;j<nbqua;j++)
4853 int nbvolumegmsh=lstvolumegmsh.size();
4854 for (
int i=0;i<nbvolumegmsh;i++)
4858 lstvolumegmsh[i].update();
4859 for (
int j=0;j<lstvolumegmsh[i].lstface.size();j++)
4860 lstfacegmsh.
ajouter(lstvolumegmsh[i].lstface[j]);
4861 LISTE_MG_VOLUME::iterator it;
4865 int nbcoq=voltmp->get_nb_mg_coquille();
4866 for (
int c=0;c<nbcoq;c++)
4870 for (
int f=0;
f<nbface;
f++)
4877 bool identique=
true;
4881 if (face1!=face2) identique=
false;
4882 while ((identique==
true) && (face1!=NULL))
4886 if (face1!=face2) identique=
false;
4889 if (identique==
true) vol=voltmp;
4893 bool sensidentiquetet=
true;
4894 if (lstvolumegmsh[i].lsttet.size()>0)
4896 MG_TETRA* tet=lstvolumegmsh[i].lsttet[0];
4901 double psca=pvec*vec3;
4902 if (psca<0.) sensidentiquetet=
false;
4904 bool sensidentiquehex=
true;
4905 if (lstvolumegmsh[i].lsthex.size()>0)
4907 MG_HEXA* hex=lstvolumegmsh[i].lsthex[0];
4912 double psca=pvec*vec3;
4913 if (psca<0.) sensidentiquehex=
false;
4915 int nbtet=lstvolumegmsh[i].lsttet.size();
4916 for (
int j=0;j<nbtet;j++)
4918 MG_TETRA* tet=lstvolumegmsh[i].lsttet[j];
4926 int nbhex=lstvolumegmsh[i].lsthex.size();
4927 for (
int j=0;j<nbhex;j++)
4929 MG_HEXA* hex=lstvolumegmsh[i].lsthex[j];