/FiniteElasticity/TriCubicAxialExtension/src/TriCubicAxialExtensionExample.f90
FORTRAN Modern | 1037 lines | 806 code | 80 blank | 151 comment | 0 complexity | e5bd7eb4a3ca8c56c881e5508a18f956 MD5 | raw file
1!> \file
2!> \author Kumar Mithraratne
3!> \brief This is an example program to solve a finite elasticity equation using openCMISS calls.
4!>
5!> \section LICENSE
6!>
7!> Version: MPL 1.1/GPL 2.0/LGPL 2.1
8!>
9!> The contents of this file are subject to the Mozilla Public License
10!> Version 1.1 (the "License"); you may not use this file except in
11!> compliance with the License. You may obtain a copy of the License at
12!> http://www.mozilla.org/MPL/
13!>
14!> Software distributed under the License is distributed on an "AS IS"
15!> basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
16!> License for the specific language governing rights and limitations
17!> under the License.
18!>
19!> The Original Code is openCMISS
20!>
21!> The Initial Developer of the Original Code is University of Auckland,
22!> Auckland, New Zealand and University of Oxford, Oxford, United
23!> Kingdom. Portions created by the University of Auckland and University
24!> of Oxford are Copyright (C) 2007 by the University of Auckland and
25!> the University of Oxford. All Rights Reserved.
26!>
27!> Contributor(s):
28!>
29!> Alternatively, the contents of this file may be used under the terms of
30!> either the GNU General Public License Version 2 or later (the "GPL"), or
31!> the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
32!> in which case the provisions of the GPL or the LGPL are applicable instead
33!> of those above. If you wish to allow use of your version of this file only
34!> under the terms of either the GPL or the LGPL, and not to allow others to
35!> use your version of this file under the terms of the MPL, indicate your
36!> decision by deleting the provisions above and replace them with the notice
37!> and other provisions required by the GPL or the LGPL. If you do not delete
38!> the provisions above, a recipient may use your version of this file under
39!> the terms of any one of the MPL, the GPL or the LGPL.
40!>
41
42!> \example FiniteElasticity/TriCubicAxialExtension/src/TriCubicAxialExtensionExample.f90
43!! Example program to solve a finite elasticity equation using openCMISS calls.
44!! \par Latest Builds:
45!! \li <a href='http://autotest.bioeng.auckland.ac.nz/opencmiss-build/logs_x86_64-linux/FiniteElasticity/TriCubicAxialExtension/build-intel'>Linux Intel Build</a>
46!! \li <a href='http://autotest.bioeng.auckland.ac.nz/opencmiss-build/logs_x86_64-linux/FiniteElasticity/TriCubicAxialExtension/build-gnu'>Linux GNU Build</a>
47!<
48
49!> Main program
50PROGRAM TRICUBICAXIALEXTENSIONEXAMPLE
51
52 USE OPENCMISS
53 USE MPI
54
55#ifdef WIN32
56 USE IFQWIN
57#endif
58
59 IMPLICIT NONE
60
61 !Test program parameters
62
63 INTEGER(CMISSIntg), PARAMETER :: CoordinateSystemUserNumber=1
64 INTEGER(CMISSIntg), PARAMETER :: RegionUserNumber=1
65 INTEGER(CMISSIntg), PARAMETER :: CubicBasisUserNumber=1
66 INTEGER(CMISSIntg), PARAMETER :: LinearBasisUserNumber=2
67 INTEGER(CMISSIntg), PARAMETER :: MeshUserNumber=1
68 INTEGER(CMISSIntg), PARAMETER :: CubicMeshComponentNumber=1
69 INTEGER(CMISSIntg), PARAMETER :: LinearMeshComponentNumber=2
70 INTEGER(CMISSIntg), PARAMETER :: DecompositionUserNumber=1
71 INTEGER(CMISSIntg), PARAMETER :: FieldGeometryUserNumber=1
72 INTEGER(CMISSIntg), PARAMETER :: FieldFibreUserNumber=2
73 INTEGER(CMISSIntg), PARAMETER :: FieldMaterialUserNumber=3
74 INTEGER(CMISSIntg), PARAMETER :: FieldDependentUserNumber=4
75 INTEGER(CMISSIntg), PARAMETER :: EquationSetUserNumber=1
76 INTEGER(CMISSIntg), PARAMETER :: EquationsSetFieldUserNumber=13
77 INTEGER(CMISSIntg), PARAMETER :: ProblemUserNumber=1
78
79 !Program types
80
81 !Program variables
82
83 INTEGER(CMISSIntg) :: NumberGlobalXElements,NumberGlobalYElements,NumberGlobalZElements
84 INTEGER(CMISSIntg) :: TotalNumberElements,TotalNumberNodes,NumberOfMeshDimensions
85 INTEGER(CMISSIntg) :: MPI_IERROR
86 INTEGER(CMISSIntg) :: EquationsSetIndex
87 INTEGER(CMISSIntg) :: NumberOfComputationalNodes,NumberOfDomains,ComputationalNodeNumber
88
89 !CMISS variables
90 TYPE(CMISSBasisType) :: CubicBasis, LinearBasis
91 TYPE(CMISSBoundaryConditionsType) :: BoundaryConditions
92 TYPE(CMISSCoordinateSystemType) :: CoordinateSystem, WorldCoordinateSystem
93 TYPE(CMISSMeshType) :: Mesh
94 TYPE(CMISSDecompositionType) :: Decomposition
95 TYPE(CMISSEquationsType) :: Equations
96 TYPE(CMISSEquationsSetType) :: EquationsSet
97 TYPE(CMISSFieldType) :: GeometricField,FibreField,MaterialField,DependentField,EquationsSetField
98 TYPE(CMISSFieldsType) :: Fields
99 TYPE(CMISSProblemType) :: Problem
100 TYPE(CMISSRegionType) :: Region,WorldRegion
101 TYPE(CMISSSolverType) :: Solver,LinearSolver
102 TYPE(CMISSSolverEquationsType) :: SolverEquations
103 TYPE(CMISSNodesType) :: Nodes
104 TYPE(CMISSMeshElementsType) :: CubicElements,LinearElements
105 TYPE(CMISSControlLoopType) :: ControlLoop
106
107#ifdef WIN32
108 !Quickwin type
109 LOGICAL :: QUICKWIN_STATUS=.FALSE.
110 TYPE(WINDOWCONFIG) :: QUICKWIN_WINDOW_CONFIG
111#endif
112
113 !Generic CMISS variables
114 INTEGER(CMISSIntg) :: Err
115
116#ifdef WIN32
117 !Initialise QuickWin
118 QUICKWIN_WINDOW_CONFIG%TITLE="General Output" !Window title
119 QUICKWIN_WINDOW_CONFIG%NUMTEXTROWS=-1 !Max possible number of rows
120 QUICKWIN_WINDOW_CONFIG%MODE=QWIN$SCROLLDOWN
121 !Set the window parameters
122 QUICKWIN_STATUS=SETWINDOWCONFIG(QUICKWIN_WINDOW_CONFIG)
123 !If attempt fails set with system estimated values
124 IF(.NOT.QUICKWIN_STATUS) QUICKWIN_STATUS=SETWINDOWCONFIG(QUICKWIN_WINDOW_CONFIG)
125#endif
126
127 !Intialise cmiss
128 CALL CMISSInitialise(WorldCoordinateSystem,WorldRegion,Err)
129
130 CALL CMISSErrorHandlingModeSet(CMISS_ERRORS_TRAP_ERROR,Err)
131
132 !Set all diganostic levels on for testing
133 !CALL CMISSDiagnosticsSetOn(CMISS_FROM_DIAG_TYPE,[1,2,3,4,5],"Diagnostics",["PROBLEM_RESIDUAL_EVALUATE"],Err)
134
135 !Get the number of computational nodes and this computational node number
136 CALL CMISSComputationalNumberOfNodesGet(NumberOfComputationalNodes,Err)
137 CALL CMISSComputationalNodeNumberGet(ComputationalNodeNumber,Err)
138
139 NumberGlobalXElements=1
140 NumberGlobalYElements=1
141 NumberGlobalZElements=1
142 NumberOfDomains=1
143
144 !Broadcast the number of elements in the X,Y and Z directions and the number of partitions to the other computational nodes
145 CALL MPI_BCAST(NumberGlobalXElements,1,MPI_INTEGER,0,MPI_COMM_WORLD,MPI_IERROR)
146 CALL MPI_BCAST(NumberGlobalYElements,1,MPI_INTEGER,0,MPI_COMM_WORLD,MPI_IERROR)
147 CALL MPI_BCAST(NumberGlobalZElements,1,MPI_INTEGER,0,MPI_COMM_WORLD,MPI_IERROR)
148 CALL MPI_BCAST(NumberOfDomains,1,MPI_INTEGER,0,MPI_COMM_WORLD,MPI_IERROR)
149
150 !Create a 3D rectangular cartesian coordinate system
151 CALL CMISSCoordinateSystem_Initialise(CoordinateSystem,Err)
152 CALL CMISSCoordinateSystem_CreateStart(CoordinateSystemUserNumber,CoordinateSystem,Err)
153 CALL CMISSCoordinateSystem_CreateFinish(CoordinateSystem,Err)
154
155 !Create a region and assign the coordinate system to the region
156 CALL CMISSRegion_Initialise(Region,Err)
157 CALL CMISSRegion_CreateStart(RegionUserNumber,WorldRegion,Region,Err)
158 CALL CMISSRegion_CoordinateSystemSet(Region,CoordinateSystem,Err)
159 CALL CMISSRegion_CreateFinish(Region,Err)
160
161 !Define basis functions - tri-linear Lagrange and tri-cubic Lagrange
162 CALL CMISSBasis_Initialise(LinearBasis,Err)
163 CALL CMISSBasis_CreateStart(LinearBasisUserNumber,LinearBasis,Err)
164 CALL CMISSBasis_QuadratureNumberOfGaussXiSet(LinearBasis, &
165 & [CMISS_BASIS_MID_QUADRATURE_SCHEME,CMISS_BASIS_MID_QUADRATURE_SCHEME,CMISS_BASIS_MID_QUADRATURE_SCHEME],Err)
166 CALL CMISSBasis_CreateFinish(LinearBasis,Err)
167
168 CALL CMISSBasis_Initialise(CubicBasis,Err)
169 CALL CMISSBasis_CreateStart(CubicBasisUserNumber,CubicBasis,Err)
170 CALL CMISSBasis_InterpolationXiSet(CubicBasis,[CMISS_BASIS_CUBIC_HERMITE_INTERPOLATION, &
171 & CMISS_BASIS_CUBIC_HERMITE_INTERPOLATION,CMISS_BASIS_CUBIC_HERMITE_INTERPOLATION],Err)
172 CALL CMISSBasis_QuadratureNumberOfGaussXiSet(CubicBasis, &
173 & [CMISS_BASIS_MID_QUADRATURE_SCHEME,CMISS_BASIS_MID_QUADRATURE_SCHEME,CMISS_BASIS_MID_QUADRATURE_SCHEME],Err)
174 CALL CMISSBasis_QuadratureLocalFaceGaussEvaluateSet(CubicBasis,.TRUE.,Err)
175 CALL CMISSBasis_CreateFinish(CubicBasis,Err)
176
177 !Create a mesh with two components, cubic hermite for geometry and linear lagrange
178 !for hydrostatic pressure, fibre angles and material properties
179 TotalNumberElements=1
180 NumberOfMeshDimensions=3
181 CALL CMISSMesh_Initialise(Mesh,Err)
182 CALL CMISSMesh_CreateStart(MeshUserNumber,Region,NumberOfMeshDimensions,Mesh,Err)
183 CALL CMISSMesh_NumberOfComponentsSet(Mesh,2,Err)
184 CALL CMISSMesh_NumberOfElementsSet(Mesh,TotalNumberElements,Err)
185 !define nodes for the mesh
186 TotalNumberNodes=8
187 CALL CMISSNodes_Initialise(Nodes,Err)
188 CALL CMISSNodes_CreateStart(Region,TotalNumberNodes,Nodes,Err)
189 CALL CMISSNodes_CreateFinish(Nodes,Err)
190 !cubic Hermite component
191 CALL CMISSMeshElements_Initialise(CubicElements,Err)
192 CALL CMISSMeshElements_CreateStart(Mesh,CubicMeshComponentNumber,CubicBasis,CubicElements,Err)
193 CALL CMISSMeshElements_NodesSet(CubicElements,1,[1,2,3,4,5,6,7,8],Err)
194 CALL CMISSMeshElements_CreateFinish(CubicElements,Err)
195 !linear Lagrange component
196 CALL CMISSMeshElements_Initialise(LinearElements,Err)
197 CALL CMISSMeshElements_CreateStart(Mesh,LinearMeshComponentNumber,LinearBasis,LinearElements,Err)
198 CALL CMISSMeshElements_NodesSet(LinearElements,1,[1,2,3,4,5,6,7,8],Err)
199 CALL CMISSMeshElements_CreateFinish(LinearElements,Err)
200 !finish mesh creation
201 CALL CMISSMesh_CreateFinish(Mesh,Err)
202
203 !Create a decomposition
204 CALL CMISSDecomposition_Initialise(Decomposition,Err)
205 CALL CMISSDecomposition_CreateStart(DecompositionUserNumber,Mesh,Decomposition,Err)
206 CALL CMISSDecomposition_TypeSet(Decomposition,CMISS_DECOMPOSITION_CALCULATED_TYPE,Err)
207 CALL CMISSDecomposition_NumberOfDomainsSet(Decomposition,NumberOfDomains,Err)
208 CALL CMISSDecomposition_CreateFinish(Decomposition,Err)
209
210 !Create a field to put the geometry (defualt is geometry)
211 CALL CMISSField_Initialise(GeometricField,Err)
212 CALL CMISSField_CreateStart(FieldGeometryUserNumber,Region,GeometricField,Err)
213 CALL CMISSField_MeshDecompositionSet(GeometricField,Decomposition,Err)
214 CALL CMISSField_VariableLabelSet(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,"Geometry",Err)
215 CALL CMISSField_ComponentMeshComponentSet(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,1,CubicMeshComponentNumber,Err)
216 CALL CMISSField_ComponentMeshComponentSet(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,2,CubicMeshComponentNumber,Err)
217 CALL CMISSField_ComponentMeshComponentSet(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,3,CubicMeshComponentNumber,Err)
218 CALL CMISSField_ScalingTypeSet(GeometricField,CMISS_FIELD_UNIT_SCALING,Err)
219 CALL CMISSField_CreateFinish(GeometricField,Err)
220
221 !Set node parameters
222 !node 1
223 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,1,1, &
224 & 0.0_CMISSDP,Err)
225 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,2,1,1, &
226 & 1.0_CMISSDP,Err)
227
228 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,1,2, &
229 & 0.0_CMISSDP,Err)
230 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,3,1,2, &
231 & 1.0_CMISSDP,Err)
232
233 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,1,3, &
234 & 0.0_CMISSDP,Err)
235 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,5,1,3, &
236 & 1.0_CMISSDP,Err)
237
238 !node 2
239 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,2,1, &
240 & 1.0_CMISSDP,Err)
241 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,2,2,1, &
242 & 1.0_CMISSDP,Err)
243
244 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,2,2, &
245 & 0.0_CMISSDP,Err)
246 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,3,2,2, &
247 & 1.0_CMISSDP,Err)
248
249 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,2,3, &
250 & 0.0_CMISSDP,Err)
251 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,5,2,3, &
252 & 1.0_CMISSDP,Err)
253
254 !node 3
255 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,3,1, &
256 & 0.0_CMISSDP,Err)
257 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,2,3,1, &
258 & 1.0_CMISSDP,Err)
259
260 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,3,2, &
261 & 1.0_CMISSDP,Err)
262 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,3,3,2, &
263 & 1.0_CMISSDP,Err)
264
265 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,3,3, &
266 & 0.0_CMISSDP,Err)
267 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,5,3,3, &
268 & 1.0_CMISSDP,Err)
269
270 !node 4
271 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,4,1, &
272 & 1.0_CMISSDP,Err)
273 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,2,4,1, &
274 & 1.0_CMISSDP,Err)
275
276 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,4,2, &
277 & 1.0_CMISSDP,Err)
278 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,3,4,2, &
279 & 1.0_CMISSDP,Err)
280
281 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,4,3, &
282 & 0.0_CMISSDP,Err)
283 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,5,4,3, &
284 & 1.0_CMISSDP,Err)
285
286 !node 5
287 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,5,1, &
288 & 0.0_CMISSDP,Err)
289 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,2,5,1, &
290 & 1.0_CMISSDP,Err)
291
292 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,5,2, &
293 & 0.0_CMISSDP,Err)
294 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,3,5,2, &
295 & 1.0_CMISSDP,Err)
296
297 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,5,3, &
298 & 1.0_CMISSDP,Err)
299 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,5,5,3, &
300 & 1.0_CMISSDP,Err)
301
302 !node 6
303 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,6,1, &
304 & 1.0_CMISSDP,Err)
305 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,2,6,1, &
306 & 1.0_CMISSDP,Err)
307
308 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,6,2, &
309 & 0.0_CMISSDP,Err)
310 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,3,6,2, &
311 & 1.0_CMISSDP,Err)
312
313 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,6,3, &
314 & 1.0_CMISSDP,Err)
315 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,5,6,3, &
316 & 1.0_CMISSDP,Err)
317
318 !node 7
319 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,7,1, &
320 & 0.0_CMISSDP,Err)
321 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,2,7,1, &
322 & 1.0_CMISSDP,Err)
323
324 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,7,2, &
325 & 1.0_CMISSDP,Err)
326 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,3,7,2, &
327 & 1.0_CMISSDP,Err)
328
329 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,7,3, &
330 & 1.0_CMISSDP,Err)
331 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,5,7,3, &
332 & 1.0_CMISSDP,Err)
333
334 !node 8
335 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,8,1, &
336 & 1.0_CMISSDP,Err)
337 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,2,8,1, &
338 & 1.0_CMISSDP,Err)
339
340 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,8,2, &
341 & 1.0_CMISSDP,Err)
342 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,3,8,2, &
343 & 1.0_CMISSDP,Err)
344
345 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,1,8,3, &
346 & 1.0_CMISSDP,Err)
347 CALL CMISSField_ParameterSetUpdateNode(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,5,8,3, &
348 & 1.0_CMISSDP,Err)
349
350 !Create a fibre field and attach it to the geometric field
351 CALL CMISSField_Initialise(FibreField,Err)
352 CALL CMISSField_CreateStart(FieldFibreUserNumber,Region,FibreField,Err)
353 CALL CMISSField_TypeSet(FibreField,CMISS_FIELD_FIBRE_TYPE,Err)
354 CALL CMISSField_MeshDecompositionSet(FibreField,Decomposition,Err)
355 CALL CMISSField_GeometricFieldSet(FibreField,GeometricField,Err)
356 CALL CMISSField_VariableLabelSet(FibreField,CMISS_FIELD_U_VARIABLE_TYPE,"Fibre",Err)
357 CALL CMISSField_ComponentMeshComponentSet(FibreField,CMISS_FIELD_U_VARIABLE_TYPE,1,LinearMeshComponentNumber,Err)
358 CALL CMISSField_ComponentMeshComponentSet(FibreField,CMISS_FIELD_U_VARIABLE_TYPE,2,LinearMeshComponentNumber,Err)
359 CALL CMISSField_ComponentMeshComponentSet(FibreField,CMISS_FIELD_U_VARIABLE_TYPE,3,LinearMeshComponentNumber,Err)
360 CALL CMISSField_ScalingTypeSet(FibreField,CMISS_FIELD_UNIT_SCALING,Err)
361 CALL CMISSField_CreateFinish(FibreField,Err)
362
363 !Create the equations_set
364 CALL CMISSField_Initialise(EquationsSetField,Err)
365 CALL CMISSEquationsSet_Initialise(EquationsSet,Err)
366 CALL CMISSEquationsSet_CreateStart(EquationSetUserNumber,Region,FibreField,CMISS_EQUATIONS_SET_ELASTICITY_CLASS, &
367 & CMISS_EQUATIONS_SET_FINITE_ELASTICITY_TYPE,CMISS_EQUATIONS_SET_MOONEY_RIVLIN_SUBTYPE,EquationsSetFieldUserNumber, &
368 & EquationsSetField,&
369 & EquationsSet,Err)
370 CALL CMISSEquationsSet_CreateFinish(EquationsSet,Err)
371
372 !Create the dependent field with 2 variables and 4 components (3 displacement, 1 pressure)
373 CALL CMISSField_Initialise(DependentField,Err)
374 CALL CMISSField_CreateStart(FieldDependentUserNumber,Region,DependentField,Err)
375 CALL CMISSField_TypeSet(DependentField,CMISS_FIELD_GENERAL_TYPE,Err)
376 CALL CMISSField_MeshDecompositionSet(DependentField,Decomposition,Err)
377 CALL CMISSField_GeometricFieldSet(DependentField,GeometricField,Err)
378 CALL CMISSField_DependentTypeSet(DependentField,CMISS_FIELD_DEPENDENT_TYPE,Err)
379 CALL CMISSField_NumberOfVariablesSet(DependentField,2,Err)
380 CALL CMISSField_VariableLabelSet(DependentField,CMISS_FIELD_U_VARIABLE_TYPE,"Dependent",Err)
381 CALL CMISSField_NumberOfComponentsSet(DependentField,CMISS_FIELD_U_VARIABLE_TYPE,4,Err)
382 CALL CMISSField_NumberOfComponentsSet(DependentField,CMISS_FIELD_DELUDELN_VARIABLE_TYPE,4,Err)
383 CALL CMISSField_ComponentMeshComponentSet(DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,CubicMeshComponentNumber,Err)
384 CALL CMISSField_ComponentMeshComponentSet(DependentField,CMISS_FIELD_U_VARIABLE_TYPE,2,CubicMeshComponentNumber,Err)
385 CALL CMISSField_ComponentMeshComponentSet(DependentField,CMISS_FIELD_U_VARIABLE_TYPE,3,CubicMeshComponentNumber,Err)
386 CALL CMISSField_ComponentMeshComponentSet(DependentField,CMISS_FIELD_U_VARIABLE_TYPE,4,LinearMeshComponentNumber,Err)
387 CALL CMISSField_ComponentMeshComponentSet(DependentField,CMISS_FIELD_DELUDELN_VARIABLE_TYPE,1,CubicMeshComponentNumber,Err)
388 CALL CMISSField_ComponentMeshComponentSet(DependentField,CMISS_FIELD_DELUDELN_VARIABLE_TYPE,2,CubicMeshComponentNumber,Err)
389 CALL CMISSField_ComponentMeshComponentSet(DependentField,CMISS_FIELD_DELUDELN_VARIABLE_TYPE,3,CubicMeshComponentNumber,Err)
390 CALL CMISSField_ComponentMeshComponentSet(DependentField,CMISS_FIELD_DELUDELN_VARIABLE_TYPE,4,LinearMeshComponentNumber,Err)
391 CALL CMISSField_ScalingTypeSet(DependentField,CMISS_FIELD_UNIT_SCALING,Err)
392 CALL CMISSField_CreateFinish(DependentField,Err)
393
394 CALL CMISSEquationsSet_DependentCreateStart(EquationsSet,FieldDependentUserNumber,DependentField,Err)
395 CALL CMISSEquationsSet_DependentCreateFinish(EquationsSet,Err)
396
397 !Create the material field
398 CALL CMISSField_Initialise(MaterialField,Err)
399 CALL CMISSEquationsSet_MaterialsCreateStart(EquationsSet,FieldMaterialUserNumber,MaterialField,Err)
400 CALL CMISSEquationsSet_MaterialsCreateFinish(EquationsSet,Err)
401
402 !Set Mooney-Rivlin constants c10 and c01 to 2.0 and 4.0 respectively.
403 CALL CMISSField_ComponentValuesInitialise(MaterialField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,2.0_CMISSDP,Err)
404 CALL CMISSField_ComponentValuesInitialise(MaterialField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,2,4.0_CMISSDP,Err)
405
406 !Create the equations set equations
407 CALL CMISSEquations_Initialise(Equations,Err)
408 CALL CMISSEquationsSet_EquationsCreateStart(EquationsSet,Equations,Err)
409 CALL CMISSEquations_SparsityTypeSet(Equations,CMISS_EQUATIONS_SPARSE_MATRICES,Err)
410 CALL CMISSEquations_OutputTypeSet(Equations,CMISS_EQUATIONS_NO_OUTPUT,Err)
411 CALL CMISSEquationsSet_EquationsCreateFinish(EquationsSet,Err)
412
413 !Initialise dependent field from undeformed geometry and displacement bcs and set hydrostatic pressure
414 CALL CMISSField_ParametersToFieldParametersComponentCopy(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE, &
415 & 1,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,1,Err)
416 CALL CMISSField_ParametersToFieldParametersComponentCopy(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE, &
417 & 2,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,2,Err)
418 CALL CMISSField_ParametersToFieldParametersComponentCopy(GeometricField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE, &
419 & 3,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,3,Err)
420 CALL CMISSField_ComponentValuesInitialise(DependentField,CMISS_FIELD_U_VARIABLE_TYPE,CMISS_FIELD_VALUES_SET_TYPE,4,-8.0_CMISSDP, &
421 & Err)
422
423 !Define the problem
424 CALL CMISSProblem_Initialise(Problem,Err)
425 CALL CMISSProblem_CreateStart(ProblemUserNumber,Problem,Err)
426 CALL CMISSProblem_SpecificationSet(Problem,CMISS_PROBLEM_ELASTICITY_CLASS,CMISS_PROBLEM_FINITE_ELASTICITY_TYPE, &
427 & CMISS_PROBLEM_NO_SUBTYPE,Err)
428 CALL CMISSProblem_CreateFinish(Problem,Err)
429
430 !Create the problem control loop
431 CALL CMISSProblem_ControlLoopCreateStart(Problem,Err)
432 CALL CMISSControlLoop_Initialise(ControlLoop,Err)
433 CALL CMISSProblem_ControlLoopGet(Problem,CMISS_CONTROL_LOOP_NODE,ControlLoop,Err)
434 CALL CMISSControlLoop_MaximumIterationsSet(ControlLoop,2,Err)
435 CALL CMISSProblem_ControlLoopCreateFinish(Problem,Err)
436
437 !Create the problem solvers
438 CALL CMISSSolver_Initialise(Solver,Err)
439 CALL CMISSSolver_Initialise(LinearSolver,Err)
440 CALL CMISSProblem_SolversCreateStart(Problem,Err)
441 CALL CMISSProblem_SolverGet(Problem,CMISS_CONTROL_LOOP_NODE,1,Solver,Err)
442 CALL CMISSSolver_OutputTypeSet(Solver,CMISS_SOLVER_PROGRESS_OUTPUT,Err)
443 CALL CMISSSolver_NewtonJacobianCalculationTypeSet(Solver,CMISS_SOLVER_NEWTON_JACOBIAN_FD_CALCULATED,Err)
444 CALL CMISSSolver_NewtonRelativeToleranceSet(Solver,1.0E-10_CMISSDP,Err)
445 CALL CMISSSolver_NewtonLinearSolverGet(Solver,LinearSolver,Err)
446 CALL CMISSSolver_LinearTypeSet(LinearSolver,CMISS_SOLVER_LINEAR_DIRECT_SOLVE_TYPE,Err)
447 CALL CMISSProblem_SolversCreateFinish(Problem,Err)
448
449 !Create the problem solver equations
450 CALL CMISSSolver_Initialise(Solver,Err)
451 CALL CMISSSolverEquations_Initialise(SolverEquations,Err)
452 CALL CMISSProblem_SolverEquationsCreateStart(Problem,Err)
453 CALL CMISSProblem_SolverGet(Problem,CMISS_CONTROL_LOOP_NODE,1,Solver,Err)
454 CALL CMISSSolver_SolverEquationsGet(Solver,SolverEquations,Err)
455 CALL CMISSSolverEquations_EquationsSetAdd(SolverEquations,EquationsSet,EquationsSetIndex,Err)
456 CALL CMISSProblem_SolverEquationsCreateFinish(Problem,Err)
457
458 !Prescribe boundary conditions (absolute nodal parameters)
459 CALL CMISSBoundaryConditions_Initialise(BoundaryConditions,Err)
460 CALL CMISSSolverEquations_BoundaryConditionsCreateStart(SolverEquations,BoundaryConditions,Err)
461
462 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,1,1, &
463 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
464 & 0.0_CMISSDP,Err)
465 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,1,1,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
466 ! & 1.0_CMISSDP,Err)
467 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,1,1, &
468 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
469 & 0.0_CMISSDP,Err)
470 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,1,1, &
471 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
472 & 0.0_CMISSDP,Err)
473 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,1,1, &
474 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
475 & 0.0_CMISSDP,Err)
476 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,1,1, &
477 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
478 & 0.0_CMISSDP,Err)
479 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,1,1, &
480 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
481 & 0.0_CMISSDP,Err)
482 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,1,1, &
483 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
484 & 0.0_CMISSDP,Err)
485 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,1,2, &
486 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
487 & 0.0_CMISSDP,Err)
488 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,1,2,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
489 ! & 0.0_CMISSDP,Err)
490 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,1,2, &
491 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
492 & 1.0_CMISSDP,Err)
493 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,1,2, &
494 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
495 & 0.0_CMISSDP,Err)
496 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,1,2, &
497 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
498 & 0.0_CMISSDP,Err)
499 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,1,2, &
500 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
501 & 0.0_CMISSDP,Err)
502 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,1,2, &
503 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
504 & 0.0_CMISSDP,Err)
505 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,1,2, &
506 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
507 & 0.0_CMISSDP,Err)
508 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,1,3, &
509 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
510 & 0.0_CMISSDP,Err)
511 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,1,3,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
512 ! & 0.0_CMISSDP,Err)
513 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,1,3, &
514 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
515 & 0.0_CMISSDP,Err)
516 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,1,3, &
517 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
518 & 0.0_CMISSDP,Err)
519 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,1,3, &
520 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
521 & 1.0_CMISSDP,Err)
522 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,1,3, &
523 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
524 & 0.0_CMISSDP,Err)
525 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,1,3, &
526 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
527 & 0.0_CMISSDP,Err)
528 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,1,3, &
529 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
530 & 0.0_CMISSDP,Err)
531
532 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,2,1, &
533 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
534 & 1.1_CMISSDP,Err)
535 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,2,1,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
536 ! & 1.0_CMISSDP,Err)
537 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,2,1, &
538 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
539 & 0.0_CMISSDP,Err)
540 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,2,1, &
541 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
542 & 0.0_CMISSDP,Err)
543 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,2,1, &
544 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
545 & 0.0_CMISSDP,Err)
546 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,2,1, &
547 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
548 & 0.0_CMISSDP,Err)
549 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,2,1, &
550 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
551 & 0.0_CMISSDP,Err)
552 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,2,1, &
553 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
554 & 0.0_CMISSDP,Err)
555 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,2,2, &
556 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
557 & 0.0_CMISSDP,Err)
558 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,2,2,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
559 ! & 0.0_CMISSDP,Err)
560 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,2,2, &
561 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
562 & 1.0_CMISSDP,Err)
563 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,2,2, &
564 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
565 & 0.0_CMISSDP,Err)
566 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,2,2, &
567 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
568 & 0.0_CMISSDP,Err)
569 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,2,2, &
570 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
571 & 0.0_CMISSDP,Err)
572 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,2,2, &
573 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
574 & 0.0_CMISSDP,Err)
575 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,2,2, &
576 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
577 & 0.0_CMISSDP,Err)
578 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,2,3,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
579 ! & 0.0_CMISSDP,Err)
580 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,2,3,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
581 ! & 0.0_CMISSDP,Err)
582 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,2,3, &
583 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
584 & 0.0_CMISSDP,Err)
585 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,2,3, &
586 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
587 & 0.0_CMISSDP,Err)
588 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,2,3, &
589 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
590 & 1.0_CMISSDP,Err)
591 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,2,3, &
592 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
593 & 0.0_CMISSDP,Err)
594 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,2,3, &
595 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
596 & 0.0_CMISSDP,Err)
597 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,2,3, &
598 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
599 & 0.0_CMISSDP,Err)
600
601 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,3,1, &
602 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
603 & 0.0_CMISSDP,Err)
604 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,3,1,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
605 ! & 1.0_CMISSDP,Err)
606 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,3,1, &
607 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
608 & 0.0_CMISSDP,Err)
609 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,3,1, &
610 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
611 & 0.0_CMISSDP,Err)
612 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,3,1, &
613 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
614 & 0.0_CMISSDP,Err)
615 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,3,1, &
616 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
617 & 0.0_CMISSDP,Err)
618 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,3,1, &
619 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
620 & 0.0_CMISSDP,Err)
621 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,3,1, &
622 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
623 & 0.0_CMISSDP,Err)
624 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,3,2, &
625 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
626 & 1.0_CMISSDP,Err)
627 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,3,2,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
628 ! & 0.0_CMISSDP,Err)
629 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,3,2, &
630 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
631 & 1.0_CMISSDP,Err)
632 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,3,2, &
633 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
634 & 0.0_CMISSDP,Err)
635 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,3,2, &
636 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
637 & 0.0_CMISSDP,Err)
638 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,3,2, &
639 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
640 & 0.0_CMISSDP,Err)
641 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,3,2, &
642 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
643 & 0.0_CMISSDP,Err)
644 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,3,2, &
645 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
646 & 0.0_CMISSDP,Err)
647 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,3,3, &
648 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
649 & 0.0_CMISSDP,Err)
650 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,3,3,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
651 ! & 0.0_CMISSDP,Err)
652 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,3,3, &
653 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
654 & 0.0_CMISSDP,Err)
655 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,3,3, &
656 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
657 & 0.0_CMISSDP,Err)
658 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,3,3, &
659 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
660 & 1.0_CMISSDP,Err)
661 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,3,3, &
662 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
663 & 0.0_CMISSDP,Err)
664 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,3,3, &
665 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
666 & 0.0_CMISSDP,Err)
667 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,3,3, &
668 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
669 & 0.0_CMISSDP,Err)
670
671 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,4,1, &
672 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
673 & 1.1_CMISSDP,Err)
674 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,4,1,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
675 ! & 1.0_CMISSDP,Err)
676 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,4,1, &
677 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
678 & 0.0_CMISSDP,Err)
679 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,4,1, &
680 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
681 & 0.0_CMISSDP,Err)
682 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,4,1, &
683 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
684 & 0.0_CMISSDP,Err)
685 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,4,1, &
686 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
687 & 0.0_CMISSDP,Err)
688 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,4,1, &
689 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
690 & 0.0_CMISSDP,Err)
691 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,4,1, &
692 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
693 & 0.0_CMISSDP,Err)
694 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,4,2, &
695 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
696 & 1.0_CMISSDP,Err)
697 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,4,2,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
698 ! & 1.0_CMISSDP,Err)
699 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,4,2, &
700 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
701 & 1.0_CMISSDP,Err)
702 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,4,2, &
703 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
704 & 0.0_CMISSDP,Err)
705 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,4,2, &
706 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
707 & 0.0_CMISSDP,Err)
708 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,4,2, &
709 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
710 & 0.0_CMISSDP,Err)
711 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,4,2, &
712 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
713 & 0.0_CMISSDP,Err)
714 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,4,2, &
715 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
716 & 0.0_CMISSDP,Err)
717 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,4,3,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
718 ! & 0.0_CMISSDP,Err)
719 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,4,3,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
720 ! & 0.0_CMISSDP,Err)
721 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,4,3, &
722 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
723 & 0.0_CMISSDP,Err)
724 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,4,3, &
725 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
726 & 0.0_CMISSDP,Err)
727 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,4,3, &
728 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
729 & 1.0_CMISSDP,Err)
730 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,4,3, &
731 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
732 & 0.0_CMISSDP,Err)
733 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,4,3, &
734 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
735 & 0.0_CMISSDP,Err)
736 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,4,3, &
737 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
738 & 0.0_CMISSDP,Err)
739
740 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,5,1, &
741 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
742 & 0.0_CMISSDP,Err)
743 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,5,1,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
744 ! & 1.0_CMISSDP,Err)
745 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,5,1, &
746 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
747 & 0.0_CMISSDP,Err)
748 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,5,1, &
749 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
750 & 0.0_CMISSDP,Err)
751 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,5,1, &
752 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
753 & 0.0_CMISSDP,Err)
754 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,5,1, &
755 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
756 & 0.0_CMISSDP,Err)
757 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,5,1, &
758 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
759 & 0.0_CMISSDP,Err)
760 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,5,1, &
761 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
762 & 0.0_CMISSDP,Err)
763 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,5,2, &
764 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
765 & 0.0_CMISSDP,Err)
766 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,5,2,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
767 ! & 0.0_CMISSDP,Err)
768 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,5,2, &
769 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
770 & 1.0_CMISSDP,Err)
771 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,5,2, &
772 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
773 & 0.0_CMISSDP,Err)
774 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,5,2, &
775 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
776 & 0.0_CMISSDP,Err)
777 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,5,2, &
778 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
779 & 0.0_CMISSDP,Err)
780 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,5,2, &
781 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
782 & 0.0_CMISSDP,Err)
783 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,5,2, &
784 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
785 & 0.0_CMISSDP,Err)
786 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,5,3, &
787 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
788 & 1.0_CMISSDP,Err)
789 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,5,3,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
790 ! & 0.0_CMISSDP,Err)
791 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,5,3, &
792 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
793 & 0.0_CMISSDP,Err)
794 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,5,3, &
795 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
796 & 0.0_CMISSDP,Err)
797 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,5,3, &
798 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
799 & 1.0_CMISSDP,Err)
800 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,5,3, &
801 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
802 & 0.0_CMISSDP,Err)
803 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,5,3, &
804 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
805 & 0.0_CMISSDP,Err)
806 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,5,3, &
807 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
808 & 0.0_CMISSDP,Err)
809
810 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,6,1, &
811 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
812 & 1.1_CMISSDP,Err)
813 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,6,1,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
814 ! & 1.0_CMISSDP,Err)
815 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,6,1, &
816 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
817 & 0.0_CMISSDP,Err)
818 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,6,1, &
819 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
820 & 0.0_CMISSDP,Err)
821 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,6,1, &
822 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
823 & 0.0_CMISSDP,Err)
824 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,6,1, &
825 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
826 & 0.0_CMISSDP,Err)
827 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,6,1, &
828 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
829 & 0.0_CMISSDP,Err)
830 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,6,1, &
831 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
832 & 0.0_CMISSDP,Err)
833 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,6,2, &
834 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
835 & 0.0_CMISSDP,Err)
836 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,6,2,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
837 ! & 1.0_CMISSDP,Err)
838 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,6,2, &
839 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
840 & 1.0_CMISSDP,Err)
841 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,6,2, &
842 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
843 & 0.0_CMISSDP,Err)
844 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,6,2, &
845 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
846 & 0.0_CMISSDP,Err)
847 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,6,2, &
848 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
849 & 0.0_CMISSDP,Err)
850 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,6,2, &
851 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
852 & 0.0_CMISSDP,Err)
853 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,6,2, &
854 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
855 & 0.0_CMISSDP,Err)
856 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,6,3,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
857 ! & 1.0_CMISSDP,Err)
858 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,6,3,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
859 ! & 0.0_CMISSDP,Err)
860 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,6,3, &
861 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
862 & 0.0_CMISSDP,Err)
863 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,6,3, &
864 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
865 & 0.0_CMISSDP,Err)
866 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,6,3, &
867 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
868 & 1.0_CMISSDP,Err)
869 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,6,3, &
870 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
871 & 0.0_CMISSDP,Err)
872 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,6,3, &
873 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
874 & 0.0_CMISSDP,Err)
875 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,6,3, &
876 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
877 & 0.0_CMISSDP,Err)
878
879 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,7,1, &
880 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
881 & 0.0_CMISSDP,Err)
882 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,7,1,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
883 ! & 1.0_CMISSDP,Err)
884 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,7,1, &
885 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
886 & 0.0_CMISSDP,Err)
887 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,7,1, &
888 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
889 & 0.0_CMISSDP,Err)
890 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,7,1, &
891 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
892 & 0.0_CMISSDP,Err)
893 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,7,1, &
894 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
895 & 0.0_CMISSDP,Err)
896 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,7,1, &
897 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
898 & 0.0_CMISSDP,Err)
899 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,7,1, &
900 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
901 & 0.0_CMISSDP,Err)
902 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,7,2, &
903 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
904 & 1.0_CMISSDP,Err)
905 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,7,2,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
906 ! & 0.0_CMISSDP,Err)
907 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,7,2, &
908 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
909 & 1.0_CMISSDP,Err)
910 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,7,2, &
911 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
912 & 0.0_CMISSDP,Err)
913 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,7,2, &
914 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
915 & 0.0_CMISSDP,Err)
916 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,7,2, &
917 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
918 & 0.0_CMISSDP,Err)
919 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,7,2, &
920 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
921 & 0.0_CMISSDP,Err)
922 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,7,2, &
923 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
924 & 0.0_CMISSDP,Err)
925 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,7,3, &
926 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
927 & 1.0_CMISSDP,Err)
928 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,7,3,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
929 ! & 0.0_CMISSDP,Err)
930 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,7,3, &
931 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
932 & 0.0_CMISSDP,Err)
933 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,7,3, &
934 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
935 & 0.0_CMISSDP,Err)
936 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,7,3, &
937 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
938 & 1.0_CMISSDP,Err)
939 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,7,3, &
940 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
941 & 0.0_CMISSDP,Err)
942 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,7,3, &
943 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
944 & 0.0_CMISSDP,Err)
945 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,7,3, &
946 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
947 & 0.0_CMISSDP,Err)
948
949 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,8,1, &
950 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
951 & 1.1_CMISSDP,Err)
952 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,8,1,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
953 ! &1.0_CMISSDP,Err)
954 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,8,1, &
955 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
956 & 0.0_CMISSDP,Err)
957 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,8,1, &
958 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
959 & 0.0_CMISSDP,Err)
960 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,8,1, &
961 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
962 & 0.0_CMISSDP,Err)
963 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,8,1, &
964 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
965 & 0.0_CMISSDP,Err)
966 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,8,1, &
967 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
968 & 0.0_CMISSDP,Err)
969 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,8,1, &
970 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
971 & 0.0_CMISSDP,Err)
972 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,8,2, &
973 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
974 & 1.0_CMISSDP,Err)
975 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,8,2,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
976 ! & 0.0_CMISSDP,Err)
977 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,8,2, &
978 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
979 & 1.0_CMISSDP,Err)
980 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,8,2, &
981 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
982 & 0.0_CMISSDP,Err)
983 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,8,2, &
984 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
985 & 0.0_CMISSDP,Err)
986 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,8,2, &
987 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
988 & 0.0_CMISSDP,Err)
989 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,8,2, &
990 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
991 & 0.0_CMISSDP,Err)
992 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,8,2, &
993 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
994 & 0.0_CMISSDP,Err)
995 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,1,8,3,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
996 ! & 1.0_CMISSDP,Err)
997 !CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,2,8,3,CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
998 ! & 0.0_CMISSDP,Err)
999 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,3,8,3, &
1000 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
1001 & 0.0_CMISSDP,Err)
1002 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,4,8,3, &
1003 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
1004 & 0.0_CMISSDP,Err)
1005 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,5,8,3, &
1006 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
1007 & 1.0_CMISSDP,Err)
1008 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,6,8,3, &
1009 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
1010 & 0.0_CMISSDP,Err)
1011 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,7,8,3, &
1012 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
1013 & 0.0_CMISSDP,Err)
1014 CALL CMISSBoundaryConditions_SetNode(BoundaryConditions,DependentField,CMISS_FIELD_U_VARIABLE_TYPE,1,8,8,3, &
1015 & CMISS_BOUNDARY_CONDITION_FIXED_INCREMENTED, &
1016 & 0.0_CMISSDP,Err)
1017
1018 CALL CMISSSolverEquations_BoundaryConditionsCreateFinish(SolverEquations,Err)
1019
1020 !Solve problem
1021 CALL CMISSProblem_Solve(Problem,Err)
1022
1023 !Output solution
1024 CALL CMISSFields_Initialise(Fields,Err)
1025 CALL CMISSFields_Create(Region,Fields,Err)
1026 CALL CMISSFields_NodesExport(Fields,"TriCubicAxialExtension","FORTRAN",Err)
1027 CALL CMISSFields_ElementsExport(Fields,"TriCubicAxialExtension","FORTRAN",Err)
1028 CALL CMISSFields_Finalise(Fields,Err)
1029
1030 CALL CMISSFinalise(Err)
1031
1032 WRITE(*,'(A)') "Program completed."
1033
1034 STOP
1035
1036END PROGRAM TRICUBICAXIALEXTENSIONEXAMPLE
1037