25
25
!- ---------------------------------------------------------------------------
26
26
27
27
MODULE PROCEDURE stsField_applyDirichletBC1
28
- CHARACTER ( LEN = * ), PARAMETER :: myName = " stsField_applyDirichletBC1"
29
- REAL ( DFP ), ALLOCATABLE :: nodalvalue(:,:)
30
- INTEGER ( I4B ), ALLOCATABLE :: nodenum( : )
31
- INTEGER ( I4B ) :: idof
32
- ! !
33
- ! ! main
34
- ! !
35
- CALL dbc% get( nodalvalue= nodalvalue, nodenum= nodenum )
36
- ! !
37
- IF ( size ( nodalvalue, 2 ) .EQ. 1 ) THEN
38
- ! !
39
- DO idof = 1 , obj% timecompo
40
- CALL obj% Set( &
41
- & globalNode= nodenum, &
42
- & value= nodalvalue(:,1 ), &
43
- & timecompo= idof )
44
- END DO
45
- ! !
46
- ELSE
47
- ! !
48
- ! ! check
49
- ! !
50
- IF ( SIZE ( nodalvalue, 2 ) .NE. obj% timeCompo ) &
51
- & CALL e% raiseError(modName// ' ::' // myName// " - " // &
52
- & ' SIZE( nodalvalue, 2 ) .NE. obj%timeCompo' )
53
- ! !
54
- CALL obj% Set( &
55
- & globalNode= nodenum, &
56
- & value= nodalvalue )
57
- ! !
28
+ CHARACTER (* ), PARAMETER :: myName = " stsField_applyDirichletBC1()"
29
+ REAL (DFP), ALLOCATABLE :: nodalvalue(:, :)
30
+ INTEGER (I4B), ALLOCATABLE :: nodenum(:)
31
+ INTEGER (I4B) :: idof, aint
32
+
33
+ CALL dbc% get(nodalvalue= nodalvalue, nodenum= nodenum, times= times)
34
+
35
+ IF (SIZE (nodalvalue, 2 ) .EQ. 1 ) THEN
36
+ DO idof = 1 , obj% timecompo
37
+ CALL obj% Set(globalNode= nodenum, VALUE= nodalvalue(:, 1 ), &
38
+ & timecompo= idof)
39
+ END DO
40
+
41
+ ELSE
42
+ aint = SIZE (nodalvalue, 2 )
43
+ IF (SIZE (nodalvalue, 2 ) .NE. obj% timeCompo) THEN
44
+ CALL e% raiseError(modName// ' ::' // myName// " - " // &
45
+ & ' [INERNAL ERROR] :: SIZE( nodalvalue, 2 ) is ' // &
46
+ & tostring(aint)// ' which is not equal to obj%timeCompo ' // &
47
+ & ' which is ' // tostring(obj% timeCompo))
58
48
END IF
59
- ! !
60
- ! !
61
- IF ( ALLOCATED ( nodalvalue ) ) DEALLOCATE ( nodalvalue )
62
- IF ( ALLOCATED ( nodenum ) ) DEALLOCATE ( nodenum )
63
- ! !
49
+ CALL obj% Set(globalNode= nodenum, VALUE= nodalvalue)
50
+
51
+ END IF
52
+
53
+ IF (ALLOCATED (nodalvalue)) DEALLOCATE (nodalvalue)
54
+ IF (ALLOCATED (nodenum)) DEALLOCATE (nodenum)
64
55
END PROCEDURE stsField_applyDirichletBC1
65
56
66
57
!- ---------------------------------------------------------------------------
67
58
!
68
59
!- ---------------------------------------------------------------------------
69
60
70
61
MODULE PROCEDURE stsField_applyDirichletBC2
71
- CHARACTER ( LEN = * ), PARAMETER :: myName = " stsField_applyDirichletBC2"
72
- REAL ( DFP ), ALLOCATABLE :: nodalvalue(:,:)
73
- INTEGER ( I4B ), ALLOCATABLE :: nodenum( : )
74
- INTEGER ( I4B ) :: idof, ii
75
- ! !
76
- ! ! main
77
- ! !
78
- DO ii = 1 , SIZE ( dbc )
79
- ! !
80
- CALL dbc(ii)% ptr% get( nodalvalue= nodalvalue, nodenum= nodenum )
81
- ! !
82
- IF ( SIZE ( nodalvalue, 2 ) .EQ. 1 ) THEN
83
- ! !
84
- DO idof = 1 , obj% timecompo
85
- CALL obj% Set( &
86
- & globalNode= nodenum, &
87
- & value= nodalvalue(:,1 ), &
88
- & timecompo= idof )
89
- END DO
90
- ! !
91
- ELSE
92
- ! !
93
- ! ! check
94
- ! !
95
- IF ( SIZE ( nodalvalue, 2 ) .NE. obj% timeCompo ) &
96
- & CALL e% raiseError(modName// ' ::' // myName// " - " // &
97
- & ' SIZE( nodalvalue, 2 ) .NE. obj%timeCompo' )
98
- ! !
99
- CALL obj% Set( &
100
- & globalNode= nodenum, &
101
- & value= nodalvalue )
102
- ! !
62
+ CHARACTER (* ), PARAMETER :: myName = " stsField_applyDirichletBC2"
63
+ REAL (DFP), ALLOCATABLE :: nodalvalue(:, :)
64
+ INTEGER (I4B), ALLOCATABLE :: nodenum(:)
65
+ INTEGER (I4B) :: idof, ii, aint
66
+
67
+ DO ii = 1 , SIZE (dbc)
68
+ CALL dbc(ii)% ptr% get(nodalvalue= nodalvalue, nodenum= nodenum, &
69
+ & times= times)
70
+
71
+ IF (SIZE (nodalvalue, 2 ) .EQ. 1 ) THEN
72
+ DO idof = 1 , obj% timecompo
73
+ CALL obj% Set(globalNode= nodenum, VALUE= nodalvalue(:, 1 ), &
74
+ & timecompo= idof)
75
+ END DO
76
+
77
+ ELSE
78
+
79
+ aint = SIZE (nodalvalue, 2 )
80
+
81
+ IF (SIZE (nodalvalue, 2 ) .NE. obj% timeCompo) THEN
82
+ CALL e% raiseError(modName// ' ::' // myName// " - " // &
83
+ & ' [INERNAL ERROR] :: SIZE( nodalvalue, 2 ) is ' // &
84
+ & tostring(aint)// ' which is not equal to obj%timeCompo ' // &
85
+ & ' which is ' // tostring(obj% timeCompo))
103
86
END IF
104
- ! !
105
- END DO
106
- ! !
107
- IF ( ALLOCATED ( nodalvalue ) ) DEALLOCATE ( nodalvalue )
108
- IF ( ALLOCATED ( nodenum ) ) DEALLOCATE ( nodenum )
109
- ! !
87
+
88
+ CALL obj% Set(globalNode= nodenum, VALUE= nodalvalue)
89
+ END IF
90
+ END DO
91
+
92
+ IF (ALLOCATED (nodalvalue)) DEALLOCATE (nodalvalue)
93
+ IF (ALLOCATED (nodenum)) DEALLOCATE (nodenum)
110
94
END PROCEDURE stsField_applyDirichletBC2
111
95
112
96
!- ---------------------------------------------------------------------------
113
97
!
114
98
!- ---------------------------------------------------------------------------
115
99
116
- END SUBMODULE DBCMethods
100
+ END SUBMODULE DBCMethods
0 commit comments