From ec620bfc22cb574f27ac6e5a33d589fe02c22430 Mon Sep 17 00:00:00 2001 From: Chris Bradley Date: Tue, 10 Apr 2018 14:43:24 +1200 Subject: [PATCH 1/2] Update for new computation environment routines. --- src/fortran/cellml_split_reaction_diffusion_equation.F90 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/fortran/cellml_split_reaction_diffusion_equation.F90 b/src/fortran/cellml_split_reaction_diffusion_equation.F90 index 5999e6e..c746058 100644 --- a/src/fortran/cellml_split_reaction_diffusion_equation.F90 +++ b/src/fortran/cellml_split_reaction_diffusion_equation.F90 @@ -58,6 +58,7 @@ PROGRAM CELLML_SPLIT_REACTION_DIFFUSION_EQUATION !CMISS variables TYPE(cmfe_BasisType) :: Basis + TYPE(cmfe_ComputationEnvironmentType) :: computationEnvironment TYPE(cmfe_CoordinateSystemType) :: CoordinateSystem,WorldCoordinateSystem TYPE(cmfe_DecompositionType) :: Decomposition TYPE(cmfe_EquationsType) :: Equations @@ -110,8 +111,9 @@ PROGRAM CELLML_SPLIT_REACTION_DIFFUSION_EQUATION CALL cmfe_Initialise(WorldCoordinateSystem,WorldRegion,Err) CALL cmfe_ErrorHandlingModeSet(CMFE_ERRORS_TRAP_ERROR,Err) !Get the computational nodes information - CALL cmfe_ComputationalNumberOfNodesGet(NumberOfComputationalNodes,Err) - CALL cmfe_ComputationalNodeNumberGet(ComputationalNodeNumber,Err) + CALL cmfe_ComputationEnvironment_Initialise(computationEnvironment,err) + CALL cmfe_ComputationEnvironment_NumberOfWorldNodesGet(computationEnvironment,numberOfComputationalNodes,err) + CALL cmfe_ComputationEnvironment_WorldNodeNumberGet(computationEnvironment,computationalNodeNumber,err) NUMBER_GLOBAL_X_ELEMENTS=10 NUMBER_OF_DOMAINS=NumberOfComputationalNodes From 0b72fdd150ab6c9b5ba2d85f79df8c02ccd14289 Mon Sep 17 00:00:00 2001 From: Chris Bradley Date: Fri, 27 Apr 2018 20:05:29 +1200 Subject: [PATCH 2/2] Fixes for contexts. --- ...llml_split_reaction_diffusion_equation.F90 | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/fortran/cellml_split_reaction_diffusion_equation.F90 b/src/fortran/cellml_split_reaction_diffusion_equation.F90 index c746058..b39f581 100644 --- a/src/fortran/cellml_split_reaction_diffusion_equation.F90 +++ b/src/fortran/cellml_split_reaction_diffusion_equation.F90 @@ -1,4 +1,4 @@ -PROGRAM CELLML_SPLIT_REACTION_DIFFUSION_EQUATION +PROGRAM CellMLSplitReactionDiffusionEquation USE OpenCMISS USE OpenCMISS_Iron @@ -59,7 +59,8 @@ PROGRAM CELLML_SPLIT_REACTION_DIFFUSION_EQUATION TYPE(cmfe_BasisType) :: Basis TYPE(cmfe_ComputationEnvironmentType) :: computationEnvironment - TYPE(cmfe_CoordinateSystemType) :: CoordinateSystem,WorldCoordinateSystem + TYPE(cmfe_ContextType) :: context + TYPE(cmfe_CoordinateSystemType) :: CoordinateSystem TYPE(cmfe_DecompositionType) :: Decomposition TYPE(cmfe_EquationsType) :: Equations TYPE(cmfe_EquationsSetType) :: EquationsSet @@ -108,10 +109,14 @@ PROGRAM CELLML_SPLIT_REACTION_DIFFUSION_EQUATION !----------------------------------------------------------------------------------------------------------- !Intialise OpenCMISS - CALL cmfe_Initialise(WorldCoordinateSystem,WorldRegion,Err) - CALL cmfe_ErrorHandlingModeSet(CMFE_ERRORS_TRAP_ERROR,Err) + CALL cmfe_Context_Initialise(context,err) + CALL cmfe_Initialise(context,err) + CALL cmfe_ErrorHandlingModeSet(CMFE_ERRORS_TRAP_ERROR,err) + CALL cmfe_Region_Initialise(worldRegion,err) + CALL cmfe_Context_WorldRegionGet(context,worldRegion,err) !Get the computational nodes information CALL cmfe_ComputationEnvironment_Initialise(computationEnvironment,err) + CALL cmfe_Context_ComputationEnvironmentGet(context,computationEnvironment,err) CALL cmfe_ComputationEnvironment_NumberOfWorldNodesGet(computationEnvironment,numberOfComputationalNodes,err) CALL cmfe_ComputationEnvironment_WorldNodeNumberGet(computationEnvironment,computationalNodeNumber,err) @@ -129,7 +134,7 @@ PROGRAM CELLML_SPLIT_REACTION_DIFFUSION_EQUATION !Start the creation of a new RC coordinate system CALL cmfe_CoordinateSystem_Initialise(CoordinateSystem,Err) - CALL cmfe_CoordinateSystem_CreateStart(CoordinateSystemUserNumber,CoordinateSystem,Err) + CALL cmfe_CoordinateSystem_CreateStart(CoordinateSystemUserNumber,context,CoordinateSystem,Err) !Set the coordinate system to be 1D CALL cmfe_CoordinateSystem_DimensionSet(CoordinateSystem,1,Err) !Finish the creation of the coordinate system @@ -154,7 +159,7 @@ PROGRAM CELLML_SPLIT_REACTION_DIFFUSION_EQUATION !Start the creation of a basis (default is linear lagrange) CALL cmfe_Basis_Initialise(Basis,Err) - CALL cmfe_Basis_CreateStart(BasisUserNumber,Basis,Err) + CALL cmfe_Basis_CreateStart(BasisUserNumber,context,Basis,Err) !Set the basis to be a linear Lagrange basis CALL cmfe_Basis_NumberOfXiSet(Basis,1,Err) !Finish the creation of the basis @@ -389,7 +394,7 @@ PROGRAM CELLML_SPLIT_REACTION_DIFFUSION_EQUATION !Create the problem CALL cmfe_Problem_Initialise(Problem,Err) - CALL cmfe_Problem_CreateStart(ProblemUserNumber,[CMFE_PROBLEM_CLASSICAL_FIELD_CLASS, & + CALL cmfe_Problem_CreateStart(ProblemUserNumber,context,[CMFE_PROBLEM_CLASSICAL_FIELD_CLASS, & & CMFE_PROBLEM_REACTION_DIFFUSION_EQUATION_TYPE,CMFE_PROBLEM_CELLML_REAC_INTEG_REAC_DIFF_STRANG_SPLIT_SUBTYPE],Problem,Err) !Finish the creation of a problem. CALL cmfe_Problem_CreateFinish(Problem,Err) @@ -536,10 +541,10 @@ PROGRAM CELLML_SPLIT_REACTION_DIFFUSION_EQUATION CALL cmfe_Fields_Finalise(Fields,Err) ENDIF - CALL cmfe_Finalise(Err) + CALL cmfe_Finalise(context,Err) WRITE(*,'(A)') "Program successfully completed." STOP -END PROGRAM CELLML_SPLIT_REACTION_DIFFUSION_EQUATION +END PROGRAM CellMLSplitReactionDiffusionEquation