2 ! Tests the fix for PR28590, in which pointer components of sequence
3 ! types would give the error that the component is itself not a
4 ! sequence type (4.4.1) if the component was not already defined.
6 ! Contributed by Chris Nelson <ccnelson@itacllc.com>
9 Integer, Parameter :: kindAry
= selected_int_kind(r
=8)
10 Integer, Parameter :: kindInt
= selected_int_kind(r
=8)
12 Integer, Parameter :: kindQ
= selected_real_kind(p
=6,r
=37)
13 Integer, Parameter :: kindXYZ
= selected_real_kind(p
=13,r
=200)
14 Integer, Parameter :: kindDouble
= selected_real_kind(p
=13,r
=200)
18 Integer(kindAry
) :: loadMode
19 Integer(kindAry
) :: normalDir
20 Real(kindQ
) :: refS
, refL
, refX
, refY
, refZ
21 Real(kindQ
) :: forcex
, forcey
, forcez
22 Real(kindQ
) :: forcexv
, forceyv
, forcezv
23 Real(kindQ
) :: momx
, momy
, momz
24 Real(kindQ
) :: momxv
, momyv
, momzv
25 Real(kindQ
) :: flmassx
, flmassy
, flmassz
26 Real(kindQ
) :: flmomtmx
, flmomtmy
, flmomtmz
27 Real(kindQ
) :: flheatN
28 end type GroupLoadInfo
32 Integer(kindInt
) :: motiontyp
33 Real(kindXYZ
), dimension(3) :: xref
34 Real(kindXYZ
), dimension(3) :: angCurrent
35 Real(kindXYZ
), dimension(3) :: xdot
36 Real(kindXYZ
), dimension(3) :: angNew
37 Real(kindXYZ
), dimension(3) :: angRate
38 Real(kindDouble
) :: curTim
39 Real(kindXYZ
) , pointer :: properties
40 Type(PrescribedMotionData
) , pointer :: PrescribeDat
41 end type GroupRigidMotion
43 type PrescribedMotionData
45 Integer(kindInt
) :: prescr_typ
46 Real(kindXYZ
), dimension(3) :: xvel
47 Real(kindXYZ
) :: amplitude
48 Real(kindXYZ
) :: frequency
49 Real(kindXYZ
) :: phase
50 Real(kindXYZ
), dimension(3) :: thetadot
51 Real(kindXYZ
), dimension(3) :: thetaddot
52 end type PrescribedMotionData
54 type GroupDeformingMotion
56 Integer(kindAry
) :: nmodes
57 end type GroupDeformingMotion
61 type(GroupLL
) , pointer :: next
62 type(GroupLL
) , pointer :: parent
64 type(GroupDefLL
) , pointer :: entities
65 type(GroupLoadInfo
) , pointer :: loadInfo
66 type(GroupRigidMotion
) , pointer :: RigidMotion
67 type(GroupDeformingMotion
), pointer :: DeformingMotion
72 type ( GroupDefLL
), pointer :: next
73 Integer(kindInt
) :: zone
74 Integer(kindInt
) :: surface
75 type ( GroupLL
), pointer :: subGrp
76 Integer(kindInt
) :: normalDir
77 Integer(kindInt
), dimension(:), pointer :: subset