PROGRAM MAPS USE POLYMORPHIC_COMPLEXTAYLOR TYPE(DAMAP) ROT,SEXT,TOTAL_MAP TYPE(GMAP) ROTg,SEXTg,TOTAL_MAPg REAL(DP) ANGLE,KICK_STRENGTH type(taylor) t TYPE(REAL_8) Y,X1,X2 CALL INIT(NO1=2,ND1=1,NP1=0,NDPT1 =0) ! <------------------ init for maps in ND1 degrees of freedom CALL ALLOC(ROT,SEXT,TOTAL_MAP) call alloc(ROTg,SEXTg,TOTAL_MAPg) CALL ALLOC(Y,X1,X2) call alloc(t) ANGLE=30.0_DP * PI/180.0_DP 1 WRITE(6,*) " ANGLE " READ(5,*) ANGLE Y=ANGLE+(1.D0.MONO.'1') ROT%V(1)= (COS(ANGLE).MONO.'10') + (SIN(ANGLE).MONO.'01') -1.d0 ROT%V(2)= (COS(ANGLE).MONO.'01') - (SIN(ANGLE).MONO.'10') -1.d0 ROTg%V(1)= ROT%V(1) ROTg%V(2)= ROT%V(1) KICK_STRENGTH=3.0_DP SEXT%V(1)= (1.0_DP.MONO.'10') +.01d0 SEXT%V(2)= (1.0_DP.MONO.'01') + (KICK_STRENGTH.MONO.'20') +.01d0 SEXTg%V(1)= SEXT%V(1) SEXTg%V(2)= SEXT%V(2) CALL PRINT(ROT,6) CALL PRINT(SEXT,6) TOTAL_MAP=SEXT*ROT ! <---- * PERFORMS A DA-CONCATENATION OF TWO DAMAPS TOTAL_MAPg=SEXTg*ROTg ! <---- * PERFORMS A DA-CONCATENATION OF TWO GMAPS CALL PRINT(TOTAL_MAP,6) CALL PRINT(TOTAL_MAPg,6) pause t=4.d0+(1d0.mono.'11') t=t.o.total_map CALL PRINT(t,6) t=4.d0+(1d0.mono.'11') t=t.o.total_mapg CALL PRINT(t,6) pause 1 t=4.d0+(1d0.mono.'11') t=t*total_map CALL PRINT(t,6) t=4.d0+(1d0.mono.'11') t=t*total_mapg CALL PRINT(t,6) pause 2 SEXT=total_map**(-1) CALL KILL(ROT,SEXT,TOTAL_MAP) END PROGRAM MAPS