42
48
49
50
51#include "implicit_f.inc"
52
53
54
55#include "tablen_c.inc"
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
71 INTEGER IOUT,NUVAR,IGTYP,IUNIT
73 INTEGER ID
74 TYPE(PROP_TAG_) , DIMENSION(0:MAXPROP) :: PROP_TAG
75 CHARACTER(LEN=NCHARTITLE) :: TITR
76 TYPE(),INTENT(IN)::LSUBMODEL(*)
77
78
79
80 INTEGER SENSOR,ZEROI,IERROR,JTYP
82 my_real xtyp,fac_m,fac_l,fac_t,fac_mm,fac_ff,fac_kt
85 my_real crxx,cryy,crzz,crrx,crry,crrz
86 my_real sdxmi,sdxma,sdymi,sdyma,sdzmi,sdzma
87 my_real saxmi,saxma,saymi,sayma,sazmi,sazma
88 my_real kfx,kfy,kfz,kfrx,kfry,kfrz
89 my_real fmx,fmy,fmz,fmrx,fmry,fmrz,xidsk1,xidsk2
90 my_real fcombx,fcomby,fcombz,fcombrx,fcombry,fcombrz,sumt,sumr,alpha_plus,alpha_moin
91 INTEGER IFUN_XX,IFUN_YY,IFUN_ZZ,IFUN_RX,IFUN_RY,IFUN_RZ
92 INTEGER IFUN_CXX,IFUN_CYY,IFUN_CZZ,IFUN_CRX,IFUN_CRY,IFUN_CRZ
93 INTEGER IFUN_FMX,IFUN_FMY,IFUN_FMZ,IFUN_FMRX,IFUN_FMRY,IFUN_FMRZ
94 INTEGER RED,IDSK1,IDSK2,COMB_ERROR
95 DATA zeroi/0/
96 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
97
98
99
100 INTEGER SET_U_PNU,SET_U_GEO,KFUNC
101 parameter(kfunc=29)
102
103
104 is_encrypted = .false.
105 is_available = .false.
106
107
108
109
111
112
113
114 CALL hm_get_intv(
'type',jtyp,is_available,lsubmodel)
115 CALL hm_get_intv(
'ISENSOR',sensor,is_available,lsubmodel)
116 CALL hm_get_intv(
'SKEW1',idsk1,is_available,lsubmodel)
117 CALL hm_get_intv(
'SKEW2',idsk2,is_available,lsubmodel)
118
119
120
122 CALL hm_get_floatv(
'SCALE',scf,is_available,lsubmodel,unitab)
124
125
126 IF(.NOT. is_encrypted)THEN
128 ELSE
130 ENDIF
131
132 nuvar = 39
133
134 skewr = 0
135 sensr = sensor
136 fac_m = unitab%FAC_M(iunit)
137 fac_l = unitab%FAC_L(iunit)
138 fac_t = unitab%FAC_T(iunit)
139
140 fac_ff = fac_m * fac_l / fac_t**2
141 fac_mm = fac_m * fac_l**2 / fac_t**2
142 fac_kt = fac_m / fac_t**2
143
144 xtyp = jtyp
145 xidsk1 = idsk1
146 xidsk2 = idsk2
147
148 IF (cr<zero.OR.cr>1.) THEN
150 . msgtype=msgerror,
151 . anmode=aninfo_blind_1,
153 . c1=titr)
154 ENDIF
155 IF (cr==zero) cr = fiveem2
156 IF (scf<zero) THEN
158 . msgtype=msgerror,
159 . anmode=aninfo_blind_1,
161 . c1=titr)
162 ENDIF
163 IF (scf==zero) THEN
164 IF (knn==0) THEN
165 scf = one
166 ELSE
167 scf = 10
168 ENDIF
169 ENDIF
170
171 knn = knn * fac_kt
172
173
174 kxx = zero
175 kyy = zero
176 kzz = zero
177 krx = zero
178 kry = zero
179 krz = zero
180 cxx = zero
181 cyy = zero
182 czz = zero
183 crx = zero
184 cry = zero
185 crz = zero
186 crxx = zero
187 cryy = zero
188 crzz = zero
189 crrx = zero
190 crry = zero
191 crrz = zero
192
193 sdxmi = zero
194 sdxma = zero
195 sdymi = zero
196 sdyma = zero
197 sdzmi = zero
198 sdzma = zero
199 saxmi = zero
200 saxma = zero
201 saymi = zero
202 sayma = zero
203 sazmi = zero
204 sazma = zero
205
206 fcombx = zero
207 fcomby = zero
208 fcombz = zero
209 fcombrx = zero
210 fcombry = zero
211 fcombrz = zero
212
213 kfx = zero
214 kfy = zero
215 kfz = zero
216 kfrx = zero
217 kfry = zero
218 kfrz = zero
219 fmx = zero
220 fmy = zero
221 fmz = zero
222 fmrx = zero
223 fmry = zero
224 fmrz = zero
225
226 ifun_xx = zeroi
227 ifun_yy = zeroi
228 ifun_zz = zeroi
229 ifun_cxx = zeroi
230 ifun_cyy = zeroi
231 ifun_czz = zeroi
232 ifun_rx = zeroi
233 ifun_ry = zeroi
234 ifun_rz = zeroi
235 ifun_crx = zeroi
236 ifun_cry = zeroi
237 ifun_crz = zeroi
238 ifun_fmx = zeroi
239 ifun_fmy = zeroi
240 ifun_fmz = zeroi
241 ifun_fmrx = zeroi
242 ifun_fmry = zeroi
243 ifun_fmrz = zeroi
244
245 IF (jtyp==1) THEN
246
247
248
249 IF(.NOT. is_encrypted)THEN
250 WRITE(iout,100)
251 IF ((idsk1==0).AND.(idsk2==0)) THEN
252 IF (knn==0) THEN
253 WRITE(iout,1100) scf,cr,sensor
254 ELSE
255 WRITE(iout,1000) knn,scf,cr,sensor
256 ENDIF
257 ELSE
258 IF (knn==0) THEN
259 WRITE(iout,1300) scf,cr,sensor,idsk1,idsk2
260 ELSE
261 WRITE(iout,1200) knn,scf,cr,sensor,idsk1,idsk2
262 ENDIF
263 ENDIF
264 ENDIF
265
266 red = 0
267 CALL lec_dof_jnt(iout,is_encrypted,unitab,krx,crx,saxmi,
268 . saxma,fcombrx,kfrx,fmrx,ifun_crx,ifun_rx,4,
269 . fac_mm,ifun_fmrx,red,
id,titr,
270 . lsubmodel)
271 CALL lec_dof_jnt(iout,is_encrypted,unitab,kry,cry,saymi,
272 . sayma,fcombry,kfry,fmry,ifun_cry,ifun_ry,5,
273 . fac_mm,ifun_fmry,red,
id,titr,
274 . lsubmodel)
275 CALL lec_dof_jnt(iout,is_encrypted,unitab,krz,crz,sazmi,
276 . sazma,fcombrz,kfrz,fmrz,ifun_crz,ifun_rz,6,
277 . fac_mm,ifun_fmrz,red,
id,titr,
278 . lsubmodel)
279
280 IF ((red/=0).AND.(red/=3)) THEN
282 . msgtype=msgerror,
283 . anmode=aninfo_blind_2,
285 . c1=titr,
286 . i2=red,
287 . i3=3)
288 ENDIF
289
290 kxx = knn
291 kyy = knn
292 kzz = knn
293
294 cxx = zero
295 cyy = zero
296 czz = zero
297
298 crxx = cr
299 cryy = cr
300 crzz = cr
301 crrx = zero
302 crry = zero
303 crrz = zero
304
305 sdxmi = zero
306 sdxma = zero
307 sdymi = zero
308 sdyma = zero
309 sdzmi = zero
310 sdzma = zero
311
312 kfx = zero
313 kfy = zero
314 kfz = zero
315
316 fmx = zero
317 fmy = zero
318 fmz = zero
319
320 ifun_xx = zeroi
321 ifun_yy = zeroi
322 ifun_zz = zeroi
323 ifun_cxx = zeroi
324 ifun_cyy = zeroi
325 ifun_czz = zeroi
326 ifun_fmx = zeroi
327 ifun_fmy = zeroi
328 ifun_fmz = zeroi
329
330 ELSEIF (jtyp==2) THEN
331
332
333
334 IF(.NOT. is_encrypted)THEN
335 WRITE(iout,200)
336 IF ((idsk1==0).AND.(idsk2==0)) THEN
337 IF (knn==0) THEN
338 WRITE(iout,1100) scf,cr,sensor
339 ELSE
340 WRITE(iout,1000) knn,scf,cr,sensor
341 ENDIF
342 ELSE
343 IF (knn==0) THEN
344 WRITE(iout,1300) scf,cr,sensor,idsk1,idsk2
345 ELSE
346 WRITE(iout,1200) knn,scf,cr,sensor,idsk1,idsk2
347 ENDIF
348 ENDIF
349 ENDIF
350
351 CALL lec_dof_jnt(iout,is_encrypted,unitab,krx,crx,saxmi,
352 . saxma,fcombrx
353 . fac_mm,ifun_fmrx,red,
id,titr,
354 . lsubmodel)
355
356 kxx = knn
357 kyy = knn
358 kzz = knn
359 kry = knn
360 krz = knn
361
362 cxx = zero
363 cyy = zero
364 czz = zero
365 cry = zero
366 crz = zero
367
368 crxx = cr
369 cryy = cr
370 crzz = cr
371 crrx = zero
372 crry = cr
373 crrz = cr
374
375 sdxmi = zero
376 sdxma = zero
377 sdymi = zero
378 sdyma = zero
379 sdzmi = zero
380 sdzma = zero
381
382 saymi = zero
383 sayma = zero
384 sazmi = zero
385 sazma = zero
386
387 kfx = zero
388 kfy = zero
389 kfz = zero
390 kfry = zero
391 kfrz = zero
392
393 fmx = zero
394 fmy = zero
395 fmz = zero
396 fmry = zero
397 fmrz = zero
398
399 ifun_xx = zeroi
400 ifun_yy = zeroi
401 ifun_zz = zeroi
402 ifun_cxx = zeroi
403 ifun_cyy = zeroi
404 ifun_czz = zeroi
405 ifun_ry = zeroi
406 ifun_rz = zeroi
407 ifun_cry = zeroi
408 ifun_crz = zeroi
409 ifun_fmx = zeroi
410 ifun_fmy = zeroi
411 ifun_fmz = zeroi
412 ifun_fmry = zeroi
413 ifun_fmrz = zeroi
414
415 ELSEIF (jtyp==3) THEN
416
417
418
419 IF(.NOT. is_encrypted)THEN
420 WRITE(iout,300)
421 IF ((idsk1==0).AND.(idsk2==0)) THEN
422 IF (knn==0) THEN
423 WRITE(iout,1100) scf,cr,sensor
424 ELSE
425 WRITE(iout,1000) knn,scf,cr,sensor
426 ENDIF
427 ELSE
428 IF (knn==0) THEN
429 WRITE(iout,1300) scf,cr,sensor,idsk1,idsk2
430 ELSE
431 WRITE(iout,1200) knn,scf,cr,sensor,idsk1,idsk2
432 ENDIF
433 ENDIF
434 ENDIF
435
436 red = 0
437 CALL lec_dof_jnt(iout,is_encrypted,unitab,kxx,cxx,sdxmi,
438 . sdxma,fcombx,kfx,fmx,ifun_cxx,ifun_xx,1,
439 . fac_ff,ifun_fmx,red,
id,titr,
440 . lsubmodel)
441 CALL lec_dof_jnt(iout,is_encrypted,unitab,krx,crx,saxmi,
442 . saxma,fcombrx,kfrx,fmrx,ifun_crx,ifun_rx,4,
443 . fac_mm,ifun_fmrx,red,
id,titr,
444 . lsubmodel)
445
446 IF ((red/=0).AND.(red/=2)) THEN
448 . msgtype=msgerror,
449 . anmode=aninfo_blind_2,
451 . c1=titr,
452 . i2=red,
453 . i3=2)
454 ENDIF
455
456 kyy = knn
457 kzz = knn
458 kry = knn
459 krz = knn
460
461 cyy = zero
462 czz = zero
463 cry = zero
464 crz = zero
465
466 crxx = zero
467 cryy = cr
468 crzz = cr
469 crrx = zero
470 crry = cr
471 crrz = cr
472
473 sdymi = zero
474 sdyma = zero
475 sdzmi = zero
476 sdzma = zero
477
478 saymi = zero
479 sayma = zero
480 sazmi = zero
481 sazma = zero
482
483 kfy = zero
484 kfz = zero
485 kfry = zero
486 kfrz = zero
487
488 fmy = zero
489 fmz = zero
490 fmry = zero
491 fmrz = zero
492
493 ifun_yy = zeroi
494 ifun_zz = zeroi
495 ifun_cyy = zeroi
496 ifun_czz = zeroi
497 ifun_ry = zeroi
498 ifun_rz = zeroi
499 ifun_cry = zeroi
500 ifun_crz = zeroi
501 ifun_fmy = zeroi
502 ifun_fmz = zeroi
503 ifun_fmry = zeroi
504 ifun_fmrz = zeroi
505
506 ELSEIF (jtyp==4) THEN
507
508
509
510 IF(.NOT. is_encrypted)THEN
511 WRITE(iout,400)
512 IF ((idsk1==0).AND.(idsk2==0)) THEN
513 IF (knn==0) THEN
514 WRITE(iout,1100) scf,cr,sensor
515 ELSE
516 WRITE(iout,1000) knn,scf,cr,sensor
517 ENDIF
518 ELSE
519 IF (knn==0) THEN
520 WRITE(iout,1300) scf,cr,sensor,idsk1,idsk2
521 ELSE
522 WRITE(iout,1200) knn,scf,cr,sensor,idsk1,idsk2
523 ENDIF
524 ENDIF
525 ENDIF
526
527 red = 0
528 CALL lec_dof_jnt(iout,is_encrypted,unitab,kyy,cyy,sdymi,
529 . sdyma,fcomby,kfy,fmy,ifun_cyy
530 . fac_ff,ifun_fmy,red,
id,titr,
531 . lsubmodel)
532 CALL lec_dof_jnt(iout,is_encrypted,unitab,kzz,czz,sdzmi,
533 . sdzma,fcombz,kfz,fmz,ifun_czz,ifun_zz,3,
534 . fac_ff,ifun_fmz,red,
id,titr,
535 . lsubmodel)
536 CALL lec_dof_jnt(iout,is_encrypted,unitab,krx,crx,saxmi,
537 . saxma,fcombrx,kfrx,fmrx,ifun_crx,ifun_rx,4,
538 . fac_mm,ifun_fmrx,red,
id,titr,
539 . lsubmodel)
540
541 IF ((red/=0).AND.(red/=3)) THEN
543 . msgtype=msgerror,
544 . anmode=aninfo_blind_2,
546 . c1=titr,
547 . i2=red,
548 . i3=3)
549 ENDIF
550
551 kxx = knn
552 kry = knn
553 krz = knn
554
555 cxx = zero
556 cry = zero
557 crz = zero
558
559 crxx = cr
560 cryy = zero
561 crzz = zero
562 crrx = zero
563 crry = cr
564 crrz = cr
565
566 sdxmi = zero
567 sdxma = zero
568
569 saymi = zero
570 sayma = zero
571 sazmi = zero
572 sazma = zero
573
574 kfx = zero
575 kfry = zero
576 kfrz = zero
577
578 fmx = zero
579 fmry = zero
580 fmrz = zero
581
582 ifun_xx = zeroi
583 ifun_cxx = zeroi
584 ifun_ry = zeroi
585 ifun_rz = zeroi
586 ifun_cry = zeroi
587 ifun_crz = zeroi
588 ifun_fmx = zeroi
589 ifun_fmry = zeroi
590 ifun_fmrz = zeroi
591
592 ELSEIF (jtyp==5) THEN
593
594
595
596 IF(.NOT. is_encrypted)THEN
597 WRITE(iout,500)
598 IF ((idsk1==0).AND.(idsk2==0)) THEN
599 IF (knn==0) THEN
600 WRITE(iout,1100) scf,cr,sensor
601 ELSE
602 WRITE(iout,1000) knn,scf,cr,sensor
603 ENDIF
604 ELSE
605 IF (knn==0) THEN
606 WRITE(iout,1300) scf,cr,sensor,idsk1,idsk2
607 ELSE
608 WRITE(iout,1200) knn,scf,cr,sensor,idsk1,idsk2
609 ENDIF
610 ENDIF
611 ENDIF
612
613 red = 0
614 CALL lec_dof_jnt(iout,is_encrypted,unitab,kry,cry,saymi,
615 . sayma,fcombry,kfry,fmry,ifun_cry,ifun_ry,5,
616 . fac_mm,ifun_fmry,red,
id,titr,
617 . lsubmodel)
618 CALL lec_dof_jnt(iout,is_encrypted,unitab,krz,crz,sazmi,
619 . sazma,fcombrz,kfrz,fmrz,ifun_crz,ifun_rz,6,
620 . fac_mm,ifun_fmrz,red,
id,titr,
621 . lsubmodel)
622
623 IF ((red/=0).AND.(red/=2)) THEN
625 . msgtype=msgerror,
626 . anmode=aninfo_blind_2,
628 . c1=titr,
629 . i2=red,
630 . i3=3)
631 ENDIF
632
633 kxx = knn
634 kyy = knn
635 kzz = knn
636 krx = knn
637
638 cxx = zero
639 cyy = zero
640 czz = zero
641 crx = zero
642
643 crxx = cr
644 cryy = cr
645 crzz = cr
646 crrx = cr
647 crry = zero
648 crrz = zero
649
650 sdxmi = zero
651 sdxma = zero
652 sdymi = zero
653 sdyma = zero
654 sdzmi = zero
655 sdzma = zero
656
657 saxmi = zero
658 saxma = zero
659
660 kfx = zero
661 kfy = zero
662 kfz = zero
663 kfrx = zero
664
665 fmx = zero
666 fmy = zero
667 fmz = zero
668 fmrx = zero
669
670 ifun_xx = zeroi
671 ifun_yy = zeroi
672 ifun_zz = zeroi
673 ifun_rx = zeroi
674 ifun_cxx = zeroi
675 ifun_cyy = zeroi
676 ifun_czz = zeroi
677 ifun_crx = zeroi
678 ifun_fmx = zeroi
679 ifun_fmy = zeroi
680 ifun_fmz = zeroi
681 ifun_fmrx = zeroi
682
683 ELSEIF (jtyp==6) THEN
684
685
686
687 IF(.NOT. is_encrypted)THEN
688 WRITE(iout,600)
689 IF ((idsk1==0).AND.(idsk2==0)) THEN
690 IF (knn==0) THEN
691 WRITE(iout,1100) scf,cr,sensor
692 ELSE
693 WRITE(iout,1000) knn,scf,cr,sensor
694 ENDIF
695 ELSE
696 IF (knn==0) THEN
697 WRITE(iout,1300) scf,cr,sensor,idsk1,idsk2
698 ELSE
699 WRITE(iout,1200) knn,scf,cr,sensor,idsk1,idsk2
700 ENDIF
701 ENDIF
702 ENDIF
703
704 CALL lec_dof_jnt(iout,is_encrypted,unitab,kxx,cxx,sdxmi,
705 . sdxma,fcombx,kfx,fmx,ifun_cxx,ifun_xx,1,
706 . fac_ff,ifun_fmx,red,
id,titr,
707 . lsubmodel)
708
709 kyy = knn
710 kzz = knn
711 krx = knn
712 kry = knn
713 krz = knn
714
715 cyy = zero
716 czz = zero
717 crx = zero
718 cry = zero
719 crz = zero
720
721 crxx = zero
722 cryy = cr
723 crzz = cr
724 crrx = cr
725 crry = cr
726 crrz = cr
727
728 sdymi = zero
729 sdyma = zero
730 sdzmi = zero
731 sdzma = zero
732
733 saxmi = zero
734 saxma = zero
735 saymi = zero
736 sayma = zero
737 sazmi = zero
738 sazma = zero
739
740 kfy = zero
741 kfz = zero
742 kfrx = zero
743 kfry = zero
744 kfrz = zero
745
746 fmy = zero
747 fmz = zero
748 fmrx = zero
749 fmry = zero
750 fmrz = zero
751
752 ifun_yy = zeroi
753 ifun_zz = zeroi
754 ifun_cyy = zeroi
755 ifun_czz = zeroi
756 ifun_rx = zeroi
757 ifun_ry = zeroi
758 ifun_rz = zeroi
759 ifun_crx = zeroi
760 ifun_cry = zeroi
761 ifun_crz = zeroi
762 ifun_fmy = zeroi
763 ifun_fmz = zeroi
764 ifun_fmrx = zeroi
765 ifun_fmry = zeroi
766 ifun_fmrz = zeroi
767
768 ELSEIF (jtyp==7) THEN
769
770
771
772 IF(.NOT. is_encrypted)THEN
773 WRITE(iout,700)
774 IF ((idsk1==0).AND.(idsk2==0)) THEN
775 IF (knn==0) THEN
776 WRITE(iout,1100) scf,cr,sensor
777 ELSE
778 WRITE(iout,1000) knn,scf,cr,sensor
779 ENDIF
780 ELSE
781 IF (knn==0) THEN
782 WRITE(iout,1300) scf,cr,sensor,idsk1,idsk2
783 ELSE
784 WRITE(iout,1200) knn,scf,cr,sensor,idsk1,idsk2
785 ENDIF
786 ENDIF
787 ENDIF
788
789 red = 0
790 CALL lec_dof_jnt(iout,is_encrypted,unitab,kyy,cyy,sdymi,
791 . sdyma,fcomby,kfy,fmy,ifun_cyy,ifun_yy,2,
792 . fac_ff,ifun_fmy,red,
id,titr,
793 . lsubmodel)
794 CALL lec_dof_jnt(iout,is_encrypted,unitab,kzz,czz,sdzmi,
795 . sdzma,fcombz,kfz,fmz,ifun_czz,ifun_zz,3,
796 . fac_ff,ifun_fmz,red,
id,titr,
797 . lsubmodel)
798
799 IF ((red/=0).AND.(red/=2)) THEN
801 . msgtype=msgerror,
802 . anmode=aninfo_blind_2,
804 . c1=titr,
805 . i2=red,
806 . i3=2)
807 ENDIF
808
809 kxx = knn
810 krx = knn
811 kry = knn
812 krz = knn
813
814 cxx = zero
815 crx = zero
816 cry = zero
817 crz = zero
818
819 crxx = cr
820 cryy = zero
821 crzz = zero
822 crrx = cr
823 crry = cr
824 crrz = cr
825
826 sdxmi = zero
827 sdxma = zero
828
829 saxmi = zero
830 saxma = zero
831 saymi = zero
832 sayma = zero
833 sazmi = zero
834 sazma = zero
835
836 kfx = zero
837 kfrx = zero
838 kfry = zero
839 kfrz = zero
840
841 fmx = zero
842 fmrx = zero
843 fmry = zero
844 fmrz = zero
845
846 ifun_xx = zeroi
847 ifun_cxx = zeroi
848 ifun_rx = zeroi
849 ifun_ry = zeroi
850 ifun_rz = zeroi
851 ifun_crx = zeroi
852 ifun_cry = zeroi
853 ifun_crz = zeroi
854 ifun_fmx = zeroi
855 ifun_fmrx = zeroi
856 ifun_fmry = zeroi
857 ifun_fmrz = zeroi
858
859 ELSEIF (jtyp==8) THEN
860
861
862
863 IF(.NOT. is_encrypted)THEN
864 WRITE(iout,800)
865 IF ((idsk1==0).AND.(idsk2==0)) THEN
866 IF (knn==0) THEN
867 WRITE(iout,1100) scf,cr,sensor
868 ELSE
869 WRITE(iout,1000) knn,scf,cr,sensor
870 ENDIF
871 ELSE
872 IF (knn==0) THEN
873 WRITE(iout,1300) scf,cr,sensor,idsk1,idsk2
874 ELSE
875 WRITE(iout,1200) knn,scf,cr,sensor,idsk1,idsk2
876 ENDIF
877 ENDIF
878 ENDIF
879
880 kxx = knn
881 kyy = knn
882 kzz = knn
883 krx = knn
884 kry = knn
885 krz = knn
886
887 cxx = zero
888 cyy = zero
889 czz = zero
890 crx = zero
891 cry = zero
892 crz = zero
893
894 crxx = cr
895 cryy = cr
896 crzz = cr
897 crrx = cr
898 crry = cr
899 crrz = cr
900
901 sdxmi = zero
902 sdxma = zero
903 sdymi = zero
904 sdyma = zero
905 sdzmi = zero
906 sdzma = zero
907
908 saxmi = zero
909 saxma = zero
910 saymi = zero
911 sayma = zero
912 sazmi = zero
913 sazma = zero
914
915 kfx = zero
916 kfy = zero
917 kfz = zero
918 kfrx = zero
919 kfry = zero
920 kfrz = zero
921
922 fmx = zero
923 fmy = zero
924 fmz = zero
925 fmrx = zero
926 fmry = zero
927 fmrz = zero
928
929 ifun_xx = zeroi
930 ifun_yy = zeroi
931 ifun_zz = zeroi
932 ifun_cxx = zeroi
933 ifun_cyy = zeroi
934 ifun_czz = zeroi
935 ifun_rx = zeroi
936 ifun_ry = zeroi
937 ifun_rz = zeroi
938 ifun_crx = zeroi
939 ifun_cry = zeroi
940 ifun_crz = zeroi
941 ifun_crz = zeroi
942 ifun_fmx = zeroi
943 ifun_fmy = zeroi
944 ifun_fmz = zeroi
945 ifun_fmrx = zeroi
946 ifun_fmry = zeroi
947 ifun_fmrz = zeroi
948
949 ELSEIF (jtyp==9) THEN
950
951
952
953 IF(.NOT. is_encrypted)THEN
954 WRITE(iout,900)
955 IF ((idsk1==0).AND.(idsk2==0)) THEN
956 IF (knn==0) THEN
957 WRITE(iout,1100) scf,cr,sensor
958 ELSE
959 WRITE(iout,1000) knn,scf,cr,sensor
960 ENDIF
961 ELSE
962 IF (knn==0) THEN
963 WRITE(iout,1300) scf,cr,sensor,idsk1,idsk2
964 ELSE
965 WRITE(iout,1200) knn,scf,cr,sensor,idsk1,idsk2
966 ENDIF
967 ENDIF
968 ENDIF
969
970 red = 0
971 CALL lec_dof_jnt(iout,is_encrypted,unitab,kxx,cxx,sdxmi,
972 . sdxma,fcombx,kfx,fmx,ifun_cxx,ifun_xx,1,
973 . fac_ff,ifun_fmx,red,
id,titr,
974 . lsubmodel)
975 CALL lec_dof_jnt(iout,is_encrypted,unitab,kyy,cyy,sdymi,
976 . sdyma,fcomby,kfy,fmy,ifun_cyy,ifun_yy,2,
977 . fac_ff,ifun_fmy,red,
id,titr,
978 . lsubmodel)
979 CALL lec_dof_jnt(iout,is_encrypted,unitab,kzz,czz,sdzmi,
980 . sdzma,fcombz,kfz,fmz,ifun_czz,ifun_zz,3,
981 . fac_ff,ifun_fmz,red,
id,titr,
982 . lsubmodel)
983 CALL lec_dof_jnt(iout,is_encrypted,unitab,krx,crx,saxmi,
984 . saxma,fcombrx,kfrx,fmrx,ifun_crx,ifun_rx,4,
985 . fac_mm,ifun_fmrx,red,
id,titr,
986 . lsubmodel)
987 CALL lec_dof_jnt(iout,is_encrypted,unitab,kry,cry,saymi,
988 . sayma,fcombry,kfry,fmry,ifun_cry,ifun_ry,5,
989 . fac_mm,ifun_fmry,red,
id,titr,
990 . lsubmodel)
991 CALL lec_dof_jnt(iout,is_encrypted,unitab,krz,crz,sazmi,
992 . sazma,fcombrz,kfrz,fmrz,ifun_crz,ifun_rz,6,
993 . fac_mm,ifun_fmrz,red,
id,titr,
994 . lsubmodel)
995
996 IF ((red/=0).AND.(red/=6)) THEN
998 . msgtype=msgerror,
999 . anmode=aninfo_blind_2,
1001 . c1=titr,
1002 . i2=red,
1003 . i3=6)
1004 ENDIF
1005
1006 ELSE
1007
1009 . msgtype=msgerror,
1010 . anmode=aninfo_blind_2,
1012 . c1=titr,
1013 . i2=jtyp)
1014 END IF
1015
1016
1017
1018
1019
1020 comb_error = 0
1021 sumt = fcombx+fcomby+fcombz
1022 sumr = fcombrx+fcombry+fcombrz
1023
1024
1025
1026 IF (sumt == one) THEN
1028 . msgtype=msgerror,
1029 . anmode=aninfo_blind_2,
1031 . c1=titr)
1032 ELSEIF (sumt > one) THEN
1033 alpha_plus = (fcombx*sdxma+fcomby*sdyma+fcombz*sdzma)/sumt
1034 alpha_moin = (fcombx*sdxmi+fcomby*sdymi+fcombz*sdzmi)/sumt
1035 IF ((fcombx>em20).AND.(abs(alpha_plus - sdxma)/
max(em20,abs(alpha_plus))>em10)) comb_error = 1
1036 IF ((fcomby>em20).AND.(abs(alpha_plus - sdyma)/
max(em20,abs(alpha_plus))>em10)) comb_error = 1
1037 IF ((fcombz>em20).AND.(abs(alpha_plus - sdzma)/
max(em20,abs(alpha_plus))>em10)) comb_error = 1
1038 IF ((fcombx>em20).AND.(abs(alpha_moin - sdxmi)/
max(em20,abs(alpha_moin))>em10)) comb_error = 1
1039 IF ((fcomby>em20).AND.(abs(alpha_moin - sdymi)/
max(em20,abs(alpha_moin))>em10)) comb_error = 1
1040 IF ((fcombz>em20).AND.(abs(alpha_moin - sdzmi)/
max(em20,abs(alpha_moin))>em10)) comb_error = 1
1041 ENDIF
1042
1043
1044
1045 IF (sumr == one) THEN
1047 . msgtype=msgerror,
1048 . anmode=aninfo_blind_2,
1050 . c1=titr)
1051 ELSEIF (sumr > one) THEN
1052 alpha_plus = (fcombrx*saxma+fcombry*sayma+fcombrz*sazma)/sumr
1053 alpha_moin = (fcombrx*saxmi+fcombry*saymi+fcombrz*sazmi)/sumr
1054 IF ((fcombrx>em20).AND.(abs(alpha_plus - saxma)/
max(em20,abs(alpha_plus))>em10)) comb_error = 1
1055 IF ((fcombry>em20).AND.(abs(alpha_plus - sayma)/
max(em20,abs(alpha_plus))>em10)) comb_error = 1
1056 IF ((fcombrz>em20).AND.(abs(alpha_plus - sazma)/
max(em20,abs(alpha_plus))>em10)) comb_error = 1
1057 IF ((fcombrx>em20).AND.(abs(alpha_moin - saxmi)/
max(em20,abs(alpha_moin))>em10)) comb_error = 1
1058 IF ((fcombry>em20).AND.(abs(alpha_moin - saymi)/
max(em20,abs(alpha_moin))>em10)) comb_error = 1
1059 IF ((fcombrz>em20).AND.(abs(alpha_moin - sazmi)/
max(em20,abs(alpha_moin))>em10)) comb_error = 1
1060 ENDIF
1061
1062 IF (comb_error==1) THEN
1064 . msgtype=msgerror,
1065 . anmode=aninfo_blind_2,
1067 . c1=titr)
1068 ENDIF
1069
1070
1071
1072
1073 pargeo(1) = 0
1074 pargeo(2) = 0
1075 pargeo(3) = 0
1076
1077
1089
1105
1106
1109
1122
1135
1138
1145
1164
1165
1166
1167
1168
1169 prop_tag(igtyp)%G_FOR = 3
1170 prop_tag(igtyp)%G_MOM = 3
1171 prop_tag(igtyp)%G_TOTDEPL = 3
1172 prop_tag(igtyp)%G_TOTROT = 3
1173 prop_tag(igtyp)%G_SKEW = 3
1174 prop_tag(igtyp)%G_MASS = 1
1175 prop_tag(igtyp)%G_NUVAR = nuvar
1176 prop_tag(igtyp)%G_LENGTH_ERR = 3
1177
1178 RETURN
1179 100 FORMAT(
1180 & 5x,'JOINT TYPE . . . . . . . . SPHERICAL JOINT'/)
1181 200 FORMAT(
1182 & 5x,'JOINT TYPE . . . . . . . . REVOLUTE JOINT'/)
1183 300 FORMAT(
1184 & 5x,'JOINT TYPE . . . . . . . . CYLINDRICAL JOINT'/)
1185 400 FORMAT(
1186 & 5x,'JOINT TYPE . . . . . . . . PLANAR JOINT'/)
1187 500 FORMAT(
1188 & 5x,'JOINT TYPE . . . . . . . . UNIVERSAL JOINT'/)
1189 600 FORMAT(
1190 & 5x,'JOINT TYPE . . . . . . . . TRANSLATIONAL JOINT'/)
1191 700 FORMAT(
1192 & 5x,'JOINT TYPE . . . . . . . . OLDHAM JOINT'/)
1193 800 FORMAT(
1194 & 5x,'JOINT TYPE . . . . . . . . RIGID JOINT'/)
1195 900 FORMAT(
1196 & 5x,'JOINT TYPE . . . . . . . . FREE JOINT'/)
1197
1198 1000 FORMAT(
1199 & 5x,'BLOCKING STIFFNESS KNN . . . . . . . . . . =',1pg20.13/,
1200 & 5x,'SCAL. FACTOR FOR ROT. BLOCKING STIFFNESS . .=',1pg20.13/,
1201 & 5x,'CRITICAL DAMPING COEFFICIENT . . . . . . . =',1pg20.13/,
1202 & 5x,'SENSOR ID . . . . . . . . . . . . . . . . . =',i10/)
1203
1204 1100 FORMAT(
1205 & 5x,'BLOCKING STIFFNESS KNN . . . . . . . . . . =',' AUTO'/,
1206 & 5x,'SCALING FACTOR FOR AUTOMATIC STIFFNESS . =',1pg20.13/,
1207 & 5x,'CRITICAL DAMPING COEFFICIENT . . . . . . . =',1pg20.13/,
1208 & 5x,'SENSOR ID . . . . . . . . . . . . . . . . =',i10/)
1209
1210 1200 FORMAT(
1211 & 5x,'BLOCKING STIFFNESS KNN . . . . . . . . . . =',1pg20.13/,
1212 & 5x,'SCALING FACTOR FOR AUTOMATIC STIFFNESS . =',1pg20.13/,
1213 & 5x,'CRITICAL DAMPING COEFFICIENT . . . . . . . =',1pg20.13/,
1214 & 5x,'SENSOR ID . . . . . . . . . . . . . . . . =',i10/,
1215 & 5x,'SKEW ID 1 . . . . . . . . . . . . . . . . =',i10/,
1216 & 5x,'SKEW ID 2 . . . . . . . . . . . . . . . . =',i10/)
1217
1218 1300 FORMAT(
1219 & 5x,'BLOCKING STIFFNESS KNN . . . . . . . . . . =',' AUTO'/,
1220 & 5x,'SCALING FACTOR FOR AUTOMATIC STIFFNESS . =',1pg20.13/,
1221 & 5x,'CRITICAL DAMPING COEFFICIENT . . . . . . . =',1pg20.13/,
1222 & 5x,'SENSOR ID . . . . . . . . . . . . . . . . =',i10/,
1223 & 5x,'SKEW ID 1 . . . . . . . . . . . . . . . . =',i10/,
1224 & 5x,'SKEW ID 2 . . . . . . . . . . . . . . . . =',i10/)
1225
1226 1400 FORMAT(
1227 & 5x,'USER PROPERTY SET'/,
1228 & 5x,'PROPERTY SET NUMBER . . . . . . . . . .=',i10)
1229
1230 1500 FORMAT(
1231 & 5x,'USER PROPERTY SET'/,
1232 & 5x,'PROPERTY SET NUMBER . . . . . . . . . .=',i10,
1233 & 5x,'CONFIDENTIAL DATA'//)
1234
1235 RETURN
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
subroutine lec_dof_jnt(iout, is_encrypted, unitab, krx, crx, sami, sama, fcomb, kfr, fm, ifun_crx, ifun_rx, idof, fac3, ifun_fm, red, id, titr, lsubmodel)
integer, parameter nchartitle
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
integer function set_u_pnu(ivar, ip, k)
integer function set_u_geo(ivar, a)