PageRenderTime 63ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 1ms

/FiniteElasticity/TriCubicAxialExtension/src/TriCubicAxialExtensionExample.f90

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