Skip to content

Commit 8fd9ffd

Browse files
committed
Fixes for contexts.
1 parent c27f4b0 commit 8fd9ffd

File tree

2 files changed

+30
-20
lines changed

2 files changed

+30
-20
lines changed

src/fortran/uniaxial_extension.F90

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
PROGRAM UNIAXIAL_EXTENSION
1+
PROGRAM UniaxialExtension
22

33
#ifndef NOMPIMOD
44
USE MPI
@@ -16,14 +16,17 @@ PROGRAM UNIAXIAL_EXTENSION
1616
#include "mpif.h"
1717
#endif
1818

19+
TYPE(cmfe_ContextType) :: context
1920
TYPE(cmfe_RegionType) :: worldRegion
20-
TYPE(cmfe_CoordinateSystemType) :: worldCoordinateSystem
2121

2222
INTEGER(CMISSIntg) :: Err
2323

2424
! Intialise cmiss
25-
CALL cmfe_Initialise(worldCoordinateSystem,worldRegion,Err)
26-
CALL cmfe_ErrorHandlingModeSet(CMFE_ERRORS_TRAP_ERROR,Err)
25+
CALL cmfe_Context_Initialise(context,err)
26+
CALL cmfe_Initialise(context,err)
27+
CALL cmfe_ErrorHandlingModeSet(CMFE_ERRORS_TRAP_ERROR,err)
28+
CALL cmfe_Region_Initialise(worldRegion,err)
29+
CALL cmfe_Context_WorldRegionGet(context,worldRegion,err)
2730

2831
! Input arguments: compressible, useGeneratedMesh, zeroLoad, useSimplex, usePressureBasis
2932

@@ -34,7 +37,7 @@ PROGRAM UNIAXIAL_EXTENSION
3437
CALL SOLVE_MODEL(.FALSE., .FALSE., .FALSE., .TRUE., .FALSE.)
3538
CALL SOLVE_MODEL(.FALSE., .TRUE., .FALSE., .FALSE., .TRUE.)
3639

37-
CALL cmfe_Finalise(Err)
40+
CALL cmfe_Finalise(context,Err)
3841

3942
STOP
4043

@@ -83,6 +86,7 @@ SUBROUTINE SOLVE_MODEL(compressible, useGeneratedMesh, zeroLoad, useSimplex, use
8386
INTEGER(CMISSIntg) :: numberOfMeshComponents = 1
8487
INTEGER(CMISSIntg) :: meshComponentNumber = 1
8588

89+
INTEGER(CMISSIntg) :: contextUserNumber
8690
INTEGER(CMISSIntg) :: numberOfComputationalNodes,computationalNodeNumber
8791
INTEGER(CMISSIntg) :: componentIdx,Err,numberOfMaterialComponents
8892
INTEGER(CMISSIntg) :: numberOfXi,quadratureOrder
@@ -138,11 +142,12 @@ SUBROUTINE SOLVE_MODEL(compressible, useGeneratedMesh, zeroLoad, useSimplex, use
138142

139143
! Get the number of computational nodes and this computational node number
140144
CALL cmfe_ComputationEnvironment_Initialise(computationEnvironment,err)
145+
CALL cmfe_Context_ComputationEnvironmentGet(context,computationEnvironment,err)
141146
CALL cmfe_ComputationEnvironment_NumberOfWorldNodesGet(computationEnvironment,numberOfComputationalNodes,err)
142147
CALL cmfe_ComputationEnvironment_WorldNodeNumberGet(computationEnvironment,computationalNodeNumber,err)
143148

144149
CALL cmfe_CoordinateSystem_Initialise(coordinateSystem,Err)
145-
CALL cmfe_CoordinateSystem_CreateStart(coordinateSystemUserNumber,coordinateSystem,Err)
150+
CALL cmfe_CoordinateSystem_CreateStart(coordinateSystemUserNumber,context,coordinateSystem,Err)
146151
CALL cmfe_CoordinateSystem_DimensionSet(coordinateSystem,3,Err)
147152
CALL cmfe_CoordinateSystem_CreateFinish(coordinateSystem,Err)
148153

@@ -155,7 +160,7 @@ SUBROUTINE SOLVE_MODEL(compressible, useGeneratedMesh, zeroLoad, useSimplex, use
155160

156161
! Define basis
157162
CALL cmfe_Basis_Initialise(basis,Err)
158-
CALL cmfe_Basis_CreateStart(basisUserNumber,basis,Err)
163+
CALL cmfe_Basis_CreateStart(basisUserNumber,context,basis,Err)
159164
SELECT CASE (interpolationType)
160165
CASE(1,2,3,4)
161166
CALL cmfe_Basis_TypeSet(basis,CMFE_BASIS_LAGRANGE_HERMITE_TP_TYPE,Err)
@@ -199,7 +204,7 @@ SUBROUTINE SOLVE_MODEL(compressible, useGeneratedMesh, zeroLoad, useSimplex, use
199204
IF (usePressureBasis) THEN
200205
! Define pressure basis
201206
CALL cmfe_Basis_Initialise(pressureBasis,Err)
202-
CALL cmfe_Basis_CreateStart(pressureBasisUserNumber,pressureBasis,Err)
207+
CALL cmfe_Basis_CreateStart(pressureBasisUserNumber,context,pressureBasis,Err)
203208
SELECT CASE (interpolationType)
204209
CASE(1,2,3,4)
205210
CALL cmfe_Basis_TypeSet(pressureBasis,CMFE_BASIS_LAGRANGE_HERMITE_TP_TYPE,Err)
@@ -533,7 +538,7 @@ SUBROUTINE SOLVE_MODEL(compressible, useGeneratedMesh, zeroLoad, useSimplex, use
533538

534539
! Define the problem
535540
CALL cmfe_Problem_Initialise(problem,Err)
536-
CALL cmfe_Problem_CreateStart(problemUserNumber, &
541+
CALL cmfe_Problem_CreateStart(problemUserNumber,context, &
537542
& [CMFE_PROBLEM_ELASTICITY_CLASS, &
538543
& CMFE_PROBLEM_FINITE_ELASTICITY_TYPE, &
539544
& CMFE_PROBLEM_NO_SUBTYPE],problem,Err)
@@ -663,13 +668,14 @@ SUBROUTINE SOLVE_MODEL(compressible, useGeneratedMesh, zeroLoad, useSimplex, use
663668
CALL cmfe_Fields_ElementsExport(fields,trim(output_file)//trim(prefix),"FORTRAN",Err)
664669
CALL cmfe_Fields_Finalise(fields,Err)
665670

666-
CALL cmfe_Problem_Destroy(ProblemUserNumber,Err)
671+
CALL cmfe_Context_UserNumberGet(context,contextUserNumber,err)
672+
CALL cmfe_Problem_Destroy(contextUserNumber,ProblemUserNumber,Err)
667673
IF (useGeneratedMesh) THEN
668-
CALL cmfe_GeneratedMesh_Destroy(RegionUserNumber,GeneratedMeshUserNumber,Err)
674+
CALL cmfe_GeneratedMesh_Destroy(contextUserNumber,RegionUserNumber,GeneratedMeshUserNumber,Err)
669675
END IF
670-
CALL cmfe_Basis_Destroy(BasisUserNumber,Err)
671-
CALL cmfe_Region_Destroy(RegionUserNumber,Err)
672-
CALL cmfe_CoordinateSystem_Destroy(CoordinateSystemUserNumber,Err)
676+
CALL cmfe_Basis_Destroy(contextUserNumber,BasisUserNumber,Err)
677+
CALL cmfe_Region_Destroy(contextUserNumber,RegionUserNumber,Err)
678+
CALL cmfe_CoordinateSystem_Destroy(contextUserNumber,CoordinateSystemUserNumber,Err)
673679

674680
WRITE(*,'(A)') "Program successfully completed."
675681

@@ -682,4 +688,4 @@ SUBROUTINE HANDLE_ERROR(ERROR_STRING)
682688
STOP
683689
END SUBROUTINE HANDLE_ERROR
684690

685-
END PROGRAM UNIAXIAL_EXTENSION
691+
END PROGRAM UniaxialExtension

src/python/uniaxial_extension.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,27 +52,31 @@ def solveModel(compressible, useGeneratedMesh, zeroLoad, usePressureBasis):
5252
else:
5353
numberOfXi = 3
5454

55+
worldRegion = iron.Region()
56+
iron.Context.WorldRegionGet(worldRegion)
57+
5558
# Get the number of computational nodes and this computational node number
5659
computationEnvironment = iron.ComputationEnvironment()
60+
iron.Context.ComputationEnvironmentGet(computationEnvironment)
5761
numberOfComputationalNodes = computationEnvironment.NumberOfWorldNodesGet()
5862
computationalNodeNumber = computationEnvironment.WorldNodeNumberGet()
5963

6064
# Create a 3D rectangular cartesian coordinate system
6165
coordinateSystem = iron.CoordinateSystem()
62-
coordinateSystem.CreateStart(coordinateSystemUserNumber)
66+
coordinateSystem.CreateStart(coordinateSystemUserNumber,iron.Context)
6367
coordinateSystem.DimensionSet(3)
6468
coordinateSystem.CreateFinish()
6569

6670
# Create a region and assign the coordinate system to the region
6771
region = iron.Region()
68-
region.CreateStart(regionUserNumber,iron.WorldRegion)
72+
region.CreateStart(regionUserNumber,worldRegion)
6973
region.LabelSet("Region")
7074
region.coordinateSystem = coordinateSystem
7175
region.CreateFinish()
7276

7377
# Define basis
7478
basis = iron.Basis()
75-
basis.CreateStart(basisUserNumber)
79+
basis.CreateStart(basisUserNumber,iron.Context)
7680
if InterpolationType in (1,2,3,4):
7781
basis.type = iron.BasisTypes.LAGRANGE_HERMITE_TP
7882
elif InterpolationType in (7,8,9):
@@ -86,7 +90,7 @@ def solveModel(compressible, useGeneratedMesh, zeroLoad, usePressureBasis):
8690
if(usePressureBasis):
8791
# Define pressure basis
8892
pressureBasis = iron.Basis()
89-
pressureBasis.CreateStart(pressureBasisUserNumber)
93+
pressureBasis.CreateStart(pressureBasisUserNumber,iron.Context)
9094
if InterpolationType in (1,2,3,4):
9195
pressureBasis.type = iron.BasisTypes.LAGRANGE_HERMITE_TP
9296
elif InterpolationType in (7,8,9):
@@ -331,7 +335,7 @@ def solveModel(compressible, useGeneratedMesh, zeroLoad, usePressureBasis):
331335
problemSpecification = [iron.ProblemClasses.ELASTICITY,
332336
iron.ProblemTypes.FINITE_ELASTICITY,
333337
iron.ProblemSubtypes.NONE]
334-
problem.CreateStart(problemUserNumber, problemSpecification)
338+
problem.CreateStart(problemUserNumber,iron.Context,problemSpecification)
335339
problem.CreateFinish()
336340

337341
# Create control loops

0 commit comments

Comments
 (0)