OpenCMISS-Iron FORTRAN API Documentation
opencmiss_iron.f90
Go to the documentation of this file.
1 
51 
52 ! Eclipse regular expressions to add the DLLEXPORT macro:
53 ! Find: ^( *)(SUBROUTINE *)([^\(]*)(\([^\)]*\))
54 ! Replace: $1$2$3$4\R$1 !DLLEXPORT($3)
55 
57 
58  USE analytic_analysis_routines
59  USE base_routines
60  USE basis_routines
61  USE bioelectric_finite_elasticity_routines
62  USE boundary_conditions_routines
63  USE cmiss
64  USE cmiss_cellml
65  USE comp_environment
66  USE constants
67  USE control_loop_routines
68  USE coordinate_routines
69  USE data_point_routines
70  USE data_projection_routines
71  USE distributed_matrix_vector
72  USE equations_routines
73  USE equations_set_constants
74  USE equations_set_routines
75  USE field_routines
76 #ifdef WITH_FIELDML
77  USE fieldml_types
78  USE fieldml_input_routines
79  USE fieldml_output_routines
80  USE fieldml_util_routines
81 #endif
82  USE field_io_routines
83  USE finite_elasticity_routines
84  USE generated_mesh_routines
85  USE hamilton_jacobi_equations_routines
86  USE history_routines
87  USE input_output
88  USE interface_routines
89  USE interface_conditions_constants
90  USE interface_conditions_routines
91  USE interface_equations_routines
92  USE interface_matrices_constants
93  USE interface_matrices_routines
94  USE iso_c_binding
95  USE iso_varying_string
96  USE kinds
97  USE mesh_routines
98  USE node_routines
99  USE problem_constants
100  USE problem_routines
101  USE region_routines
102  USE solver_routines
103  USE strings
104  USE types
105 
106 #include "macros.h"
107 #include "dllexport.h"
108 
109  IMPLICIT NONE
110 
111  PRIVATE
112 
113  !Module parameters
114 
115  !Module types
116 
119  PRIVATE
120  TYPE(basis_type), POINTER :: basis
121  END TYPE cmfe_basistype
122 
125  PRIVATE
126  TYPE(boundary_conditions_type), POINTER :: boundaryconditions
128 
131  PRIVATE
132  TYPE(cellml_type), POINTER :: cellml
133  END TYPE cmfe_cellmltype
134 
137  PRIVATE
138  TYPE(cellml_equations_type), POINTER :: cellmlequations
139  END TYPE cmfe_cellmlequationstype
140 
143  PRIVATE
144  TYPE(control_loop_type), POINTER :: controlloop
145  END TYPE cmfe_controllooptype
146 
149  PRIVATE
150  TYPE(coordinate_system_type), POINTER :: coordinatesystem
152 
155  PRIVATE
156  TYPE(data_points_type), POINTER :: datapoints
157  END TYPE cmfe_datapointstype
158 
161  PRIVATE
162  TYPE(data_projection_type), POINTER :: dataprojection
163  END TYPE cmfe_dataprojectiontype
164 
167  PRIVATE
168  TYPE(decomposition_type), POINTER :: decomposition
169  END TYPE cmfe_decompositiontype
170 
173  PRIVATE
174  TYPE(equations_type), POINTER :: equations
175  END TYPE cmfe_equationstype
176 
179  PRIVATE
180  TYPE(equations_set_type), POINTER :: equationsset
181  END TYPE cmfe_equationssettype
182 
185  PRIVATE
186  TYPE(field_type), POINTER :: field
187  END TYPE cmfe_fieldtype
188 
191  !PRIVATE
192  TYPE(fields_type), POINTER :: fields
193  END TYPE cmfe_fieldstype
194 
197  PRIVATE
198  TYPE(generated_mesh_type), POINTER :: generatedmesh
199  END TYPE cmfe_generatedmeshtype
200 
203  PRIVATE
204  TYPE(history_type), POINTER :: history
205  END TYPE cmfe_historytype
206 
209  PRIVATE
210  TYPE(interface_type), POINTER :: interface
211  END TYPE cmfe_interfacetype
212 
215  PRIVATE
216  TYPE(interface_condition_type), POINTER :: interfacecondition
218 
221  PRIVATE
222  TYPE(interface_equations_type), POINTER :: interfaceequations
224 
227  PRIVATE
228  TYPE(interface_mesh_connectivity_type), POINTER :: meshconnectivity
230 
233  PRIVATE
234  TYPE(interfacepointsconnectivitytype), POINTER :: pointsconnectivity
236 
240  PRIVATE
241  TYPE(distributed_matrix_type), POINTER :: distributedmatrix
243 
246  PRIVATE
247  TYPE(distributed_vector_type), POINTER :: distributedvector
249 
252  PRIVATE
253  TYPE(mesh_type), POINTER :: mesh
254  END TYPE cmfe_meshtype
255 
258  PRIVATE
259  TYPE(meshelementstype), POINTER :: meshelements
260  END TYPE cmfe_meshelementstype
261 
264  PRIVATE
265  TYPE(mesh_embedding_type), POINTER :: meshembedding
266  END TYPE cmfe_meshembeddingtype
267 
270  PRIVATE
271  TYPE(meshnodestype), POINTER :: meshnodes
272  END TYPE cmfe_meshnodestype
273 
276  PRIVATE
277  TYPE(nodes_type), POINTER :: nodes
278  END TYPE cmfe_nodestype
279 
282  PRIVATE
283  TYPE(problem_type), POINTER :: problem
284  END TYPE cmfe_problemtype
285 
288  PRIVATE
289  TYPE(quadrature_type), POINTER :: quadrature
290  END TYPE cmfe_quadraturetype
291 
294  PRIVATE
295  TYPE(region_type), POINTER :: region
296  END TYPE cmfe_regiontype
297 
300  PRIVATE
301  TYPE(solver_type), POINTER :: solver
302  END TYPE cmfe_solvertype
303 
306  PRIVATE
307  TYPE(solver_equations_type), POINTER :: solverequations
308  END TYPE cmfe_solverequationstype
309 
312  PRIVATE
313  TYPE(computational_work_group_type), POINTER :: computationalworkgroup
315 
316  !Module variables
317 
318  TYPE(varying_string) :: error
319 
320  !INTERFACE cmfe_Finalise_
321  ! MODULE PROCEDURE cmfe_Finalise
322  !END INTERFACE cmfe_Finalise_
323 
324  INTERFACE cmfe_initialise
325  MODULE PROCEDURE cmfe_initialisenumber
326  MODULE PROCEDURE cmfe_initialiseobj
327  END INTERFACE cmfe_initialise
328 
330  MODULE PROCEDURE cmfe_fields_createinterface
331  MODULE PROCEDURE cmfe_fields_createregion
332  END INTERFACE cmfe_fields_create
333 
334  !PUBLIC cmfe_Finalise,cmfe_Initialise
336 
338 
340 
342 
344 
346 
348 
350 
352 
354 
356 
358 
360 
362 
364 
366 
368 
370 
372 
374 
376 
378 
381 
384 
386 
388 
390 
392 
394 
396 
398 
400 
402 
404 
406 
407 !!==================================================================================================================================
408 !!
409 !! ANALYTIC_ANALYSIS_ROUTINES
410 !!
411 !!==================================================================================================================================
412 
413  !Module parameters
414 
415  !Module types
416 
417  !Module variables
418 
419  !Interfaces
420 
423  MODULE PROCEDURE cmfe_analyticanalysis_outputnumber
424  MODULE PROCEDURE cmfe_analyticanalysis_outputobj
425  END INTERFACE
426 
432 
438 
444 
450 
456 
462 
468 
474 
480 
486 
492 
498 
504 
510 
516 
522 
528 
534 
536 
539 
542 
545 
547 
552 
553 !!==================================================================================================================================
554 !!
555 !! BASE_ROUTINES
556 !!
557 !!==================================================================================================================================
558 
559  !Module parameters
560 
568  INTEGER(INTG), PARAMETER :: cmfe_all_diag_type = all_diag_type
569  INTEGER(INTG), PARAMETER :: cmfe_in_diag_type = in_diag_type
570  INTEGER(INTG), PARAMETER :: cmfe_from_diag_type = from_diag_type
576  INTEGER(INTG), PARAMETER :: cmfe_all_timing_type = all_timing_type
577  INTEGER(INTG), PARAMETER :: cmfe_in_timing_type = in_timing_type
578  INTEGER(INTG), PARAMETER :: cmfe_from_timing_type = from_timing_type
581 
582  !Module types
583 
584  !Module variables
585 
586  !Interfaces
587 
589 
591 
593 
595 
597 
598 !!==================================================================================================================================
599 !!
600 !! BASIS_ROUTINES
601 !!
602 !!==================================================================================================================================
603 
604  !Module parameters
605 
613  INTEGER(INTG), PARAMETER :: cmfe_basis_lagrange_hermite_tp_type = basis_lagrange_hermite_tp_type
614  INTEGER(INTG), PARAMETER :: cmfe_basis_simplex_type = basis_simplex_type
615  INTEGER(INTG), PARAMETER :: cmfe_basis_serendipity_type = basis_serendipity_type
616  INTEGER(INTG), PARAMETER :: cmfe_basis_auxilliary_type = basis_auxilliary_type
617  INTEGER(INTG), PARAMETER :: cmfe_basis_b_spline_tp_type = basis_b_spline_tp_type
618  INTEGER(INTG), PARAMETER :: cmfe_basis_fourier_lagrange_hermite_tp_type = basis_fourier_lagrange_hermite_tp_type
619  INTEGER(INTG), PARAMETER :: cmfe_basis_extended_lagrange_tp_type = basis_extended_lagrange_tp_type
625  INTEGER(INTG), PARAMETER :: cmfe_basis_linear_lagrange_interpolation = basis_linear_lagrange_interpolation
626  INTEGER(INTG), PARAMETER :: cmfe_basis_quadratic_lagrange_interpolation = basis_quadratic_lagrange_interpolation
627  INTEGER(INTG), PARAMETER :: cmfe_basis_cubic_lagrange_interpolation = basis_cubic_lagrange_interpolation
628  INTEGER(INTG), PARAMETER :: cmfe_basis_cubic_hermite_interpolation = basis_cubic_hermite_interpolation
629  INTEGER(INTG), PARAMETER :: cmfe_basis_quadratic1_hermite_interpolation = basis_quadratic1_hermite_interpolation
630  INTEGER(INTG), PARAMETER :: cmfe_basis_quadratic2_hermite_interpolation = basis_quadratic2_hermite_interpolation
631  INTEGER(INTG), PARAMETER :: cmfe_basis_linear_simplex_interpolation = basis_linear_simplex_interpolation
632  INTEGER(INTG), PARAMETER :: cmfe_basis_quadratic_simplex_interpolation = basis_quadratic_simplex_interpolation
633  INTEGER(INTG), PARAMETER :: cmfe_basis_cubic_simplex_interpolation = basis_cubic_simplex_interpolation
639  INTEGER(INTG), PARAMETER :: cmfe_basis_default_quadrature_scheme = basis_default_quadrature_scheme
640  INTEGER(INTG), PARAMETER :: cmfe_basis_low_quadrature_scheme = basis_low_quadrature_scheme
641  INTEGER(INTG), PARAMETER :: cmfe_basis_mid_quadrature_scheme = basis_mid_quadrature_scheme
642  INTEGER(INTG), PARAMETER :: cmfe_basis_high_quadrature_scheme = basis_high_quadrature_scheme
648  INTEGER(INTG), PARAMETER :: cmfe_basis_gauss_legendre_quadrature = basis_gauss_legendre_quadrature
649  INTEGER(INTG), PARAMETER :: cmfe_basis_gauss_laguerre_quadrature = basis_gauss_laguerre_quadrature
650  INTEGER(INTG), PARAMETER :: cmfe_basis_guass_hermite_quadrature = basis_guass_hermite_quadrature
651  INTEGER(INTG), PARAMETER :: cmfe_basis_adaptive_gauss_legendre_quadrature = basis_adaptive_gauss_legendre_quadrature
652  INTEGER(INTG), PARAMETER :: cmfe_basis_gauss_simplex_quadrature = basis_gauss_simplex_quadrature
658  INTEGER(INTG), PARAMETER :: cmfe_basis_xi_collapsed = basis_xi_collapsed
659  INTEGER(INTG), PARAMETER :: cmfe_basis_collapsed_at_xi0 = basis_collapsed_at_xi0
660  INTEGER(INTG), PARAMETER :: cmfe_basis_collapsed_at_xi1 = basis_collapsed_at_xi1
661  INTEGER(INTG), PARAMETER :: cmfe_basis_not_collapsed = basis_not_collapsed
664 
665  !Module types
666 
667  !Module variables
668 
669  !Interfaces
670 
673  MODULE PROCEDURE cmfe_basis_collapsedxigetnumber
674  MODULE PROCEDURE cmfe_basis_collapsedxigetobj
675  END INTERFACE cmfe_basis_collapsedxiget
676 
679  MODULE PROCEDURE cmfe_basis_collapsedxisetnumber
680  MODULE PROCEDURE cmfe_basis_collapsedxisetobj
681  END INTERFACE cmfe_basis_collapsedxiset
682 
685  MODULE PROCEDURE cmfe_basis_createfinishnumber
686  MODULE PROCEDURE cmfe_basis_createfinishobj
687  END INTERFACE cmfe_basis_createfinish
688 
691  MODULE PROCEDURE cmfe_basis_createstartnumber
692  MODULE PROCEDURE cmfe_basis_createstartobj
693  END INTERFACE cmfe_basis_createstart
694 
697  MODULE PROCEDURE cmfe_basis_destroynumber
698  MODULE PROCEDURE cmfe_basis_destroyobj
699  END INTERFACE cmfe_basis_destroy
700 
703  MODULE PROCEDURE cmfe_basis_interpolationxigetnumber
704  MODULE PROCEDURE cmfe_basis_interpolationxigetobj
705  END INTERFACE cmfe_basis_interpolationxiget
706 
709  MODULE PROCEDURE cmfe_basis_interpolationxisetnumber
710  MODULE PROCEDURE cmfe_basis_interpolationxisetobj
711  END INTERFACE cmfe_basis_interpolationxiset
712 
716  MODULE PROCEDURE cmfe_basis_numberoflocalnodesgetobj
718 
721  MODULE PROCEDURE cmfe_basis_numberofxigetnumber
722  MODULE PROCEDURE cmfe_basis_numberofxigetobj
723  END INTERFACE cmfe_basis_numberofxiget
724 
727  MODULE PROCEDURE cmfe_basis_numberofxisetnumber
728  MODULE PROCEDURE cmfe_basis_numberofxisetobj
729  END INTERFACE cmfe_basis_numberofxiset
730 
736 
742 
749  END INTERFACE cmfe_basis_quadraturegaussxiget
750 
753  MODULE PROCEDURE cmfe_basis_quadratureordergetnumber
754  MODULE PROCEDURE cmfe_basis_quadratureordergetobj
755  END INTERFACE cmfe_basis_quadratureorderget
756 
759  MODULE PROCEDURE cmfe_basis_quadratureordersetnumber
760  MODULE PROCEDURE cmfe_basis_quadratureordersetobj
761  END INTERFACE cmfe_basis_quadratureorderset
762 
765  MODULE PROCEDURE cmfe_basis_quadraturetypegetnumber
766  MODULE PROCEDURE cmfe_basis_quadraturetypegetobj
767  END INTERFACE cmfe_basis_quadraturetypeget
768 
771  MODULE PROCEDURE cmfe_basis_quadraturetypesetnumber
772  MODULE PROCEDURE cmfe_basis_quadraturetypesetobj
773  END INTERFACE cmfe_basis_quadraturetypeset
774 
780 
783  MODULE PROCEDURE cmfe_basis_typegetnumber
784  MODULE PROCEDURE cmfe_basis_typegetobj
785  END INTERFACE cmfe_basis_typeget
786 
789  MODULE PROCEDURE cmfe_basis_typesetnumber
790  MODULE PROCEDURE cmfe_basis_typesetobj
791  END INTERFACE cmfe_basis_typeset
792 
795 
801 
804 
807 
809 
811 
813 
815 
817 
819 
821 
823 
825 
827 
829 
830 !!==================================================================================================================================
831 !!
832 !! BOUNDARY_CONDITIONS_ROUTINES
833 !!
834 !!==================================================================================================================================
835 
836  !Module parameters
837 
838 
846  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_free = boundary_condition_free
847  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_fixed = boundary_condition_fixed
848  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_fixed_wall = boundary_condition_fixed_wall
849  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_fixed_inlet = boundary_condition_fixed_inlet
850  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_fixed_outlet = boundary_condition_fixed_outlet
851  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_moved_wall = boundary_condition_moved_wall
852  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_moved_wall_incremented = boundary_condition_moved_wall_incremented
853  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_free_wall = boundary_condition_free_wall
854 
855  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_neumann_point = boundary_condition_neumann_point
856  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_neumann_point_incremented = boundary_condition_neumann_point_incremented
857  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_neumann_integrated = boundary_condition_neumann_integrated
858  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_dirichlet = boundary_condition_dirichlet
859  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_cauchy = boundary_condition_cauchy
860  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_robin = boundary_condition_robin
861 
862  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_fixed_incremented = boundary_condition_fixed_incremented
863  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_pressure = boundary_condition_pressure
864  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_pressure_incremented = boundary_condition_pressure_incremented
865 
866  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_correction_mass_increase = boundary_condition_correction_mass_increase
867  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_impermeable_wall = boundary_condition_impermeable_wall
868  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_neumann_integrated_only = boundary_condition_neumann_integrated_only
869 
870  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_fixed_fitted = boundary_condition_fixed_fitted
871  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_fixed_nonreflecting = boundary_condition_fixed_nonreflecting
872  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_fixed_cellml = boundary_condition_fixed_cellml
878  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_sparse_matrices = boundary_condition_sparse_matrices
879  INTEGER(INTG), PARAMETER :: cmfe_boundary_condition_full_matrices = boundary_condition_full_matrices
882 
883  !Module types
884 
885  !Module variables
886 
887  !Interfaces
888 
893  MODULE PROCEDURE cmfe_boundaryconditions_destroyobj
894  END INTERFACE cmfe_boundaryconditions_destroy
895 
901 
907 
913 
919 
923  MODULE PROCEDURE cmfe_boundaryconditions_addnodeobj
924  END INTERFACE cmfe_boundaryconditions_addnode
925 
930  MODULE PROCEDURE cmfe_boundaryconditions_setnodeobj
931  END INTERFACE cmfe_boundaryconditions_setnode
932 
939 
945 
952 
957 
959 
961 
963 
965 
967 
969 
971 
972 !!==================================================================================================================================
973 !!
974 !! CMISS
975 !!
976 !!==================================================================================================================================
977 
978  !Module parameters
986  INTEGER(INTG), PARAMETER :: cmfe_errors_return_error_code = cmfe_return_error_code
987  INTEGER(INTG), PARAMETER :: cmfe_errors_output_error = cmfe_output_error
988  INTEGER(INTG), PARAMETER :: cmfe_errors_trap_error = cmfe_trap_error
991 
992  !Module types
993 
994  !Module variables
995 
996  !Interfaces
997 
1000  MODULE PROCEDURE cmfe_extracterrormessagec
1001  MODULE PROCEDURE cmfe_extracterrormessagevs
1002  END INTERFACE cmfe_extracterrormessage
1003 
1006  MODULE PROCEDURE cmfe_randomseedsget0
1007  MODULE PROCEDURE cmfe_randomseedsget1
1008  END INTERFACE cmfe_randomseedsget
1009 
1012  MODULE PROCEDURE cmfe_randomseedsset0
1013  MODULE PROCEDURE cmfe_randomseedsset1
1014  END INTERFACE cmfe_randomseedsset
1015 
1017 
1019 
1021 
1023 
1024 !!==================================================================================================================================
1025 !!
1026 !! CMISS_CELLML
1027 !!
1028 !!==================================================================================================================================
1029 
1030  !Module parameters
1031 
1039  INTEGER(INTG), PARAMETER :: cmfe_cellml_models_field = cellml_models_field
1040  INTEGER(INTG), PARAMETER :: cmfe_cellml_state_field = cellml_state_field
1041  INTEGER(INTG), PARAMETER :: cmfe_cellml_intermediate_field = cellml_intermediate_field
1042  INTEGER(INTG), PARAMETER :: cmfe_cellml_parameters_field = cellml_parameters_field
1045 
1046  !Module types
1047 
1048  !Module variables
1049 
1050  !Interfaces
1051 
1054  MODULE PROCEDURE cmfe_cellml_variablesetasknownnumberc
1055  MODULE PROCEDURE cmfe_cellml_variablesetasknownobjc
1057  MODULE PROCEDURE cmfe_cellml_variablesetasknownobjvs
1058  END INTERFACE cmfe_cellml_variablesetasknown
1059 
1063  MODULE PROCEDURE cmfe_cellml_variablesetaswantedobjc
1065  MODULE PROCEDURE cmfe_cellml_variablesetaswantedobjvs
1066  END INTERFACE cmfe_cellml_variablesetaswanted
1067 
1075 
1083 
1086  MODULE PROCEDURE cmfe_cellml_createfinishnumber
1087  MODULE PROCEDURE cmfe_cellml_createfinishobj
1088  END INTERFACE cmfe_cellml_createfinish
1089 
1092  MODULE PROCEDURE cmfe_cellml_createstartnumber
1093  MODULE PROCEDURE cmfe_cellml_createstartobj
1094  END INTERFACE cmfe_cellml_createstart
1095 
1098  MODULE PROCEDURE cmfe_cellml_destroynumber
1099  MODULE PROCEDURE cmfe_cellml_destroyobj
1100  END INTERFACE cmfe_cellml_destroy
1101 
1105  MODULE PROCEDURE cmfe_cellml_fieldmapscreatefinishobj
1106  END INTERFACE cmfe_cellml_fieldmapscreatefinish
1107 
1111  MODULE PROCEDURE cmfe_cellml_fieldmapscreatestartobj
1112  END INTERFACE cmfe_cellml_fieldmapscreatestart
1113 
1116  MODULE PROCEDURE cmfe_cellml_modelimportnumberc
1117  MODULE PROCEDURE cmfe_cellml_modelimportobjc
1118  MODULE PROCEDURE cmfe_cellml_modelimportnumbervs
1119  MODULE PROCEDURE cmfe_cellml_modelimportobjvs
1120  END INTERFACE cmfe_cellml_modelimport
1121 
1127 
1131  MODULE PROCEDURE cmfe_cellml_modelsfieldcreatestartobj
1133 
1136  MODULE PROCEDURE cmfe_cellml_modelsfieldgetnumber
1137  MODULE PROCEDURE cmfe_cellml_modelsfieldgetobj
1138  END INTERFACE cmfe_cellml_modelsfieldget
1139 
1143  MODULE PROCEDURE cmfe_cellml_statefieldcreatefinishobj
1145 
1149  MODULE PROCEDURE cmfe_cellml_statefieldcreatestartobj
1150  END INTERFACE cmfe_cellml_statefieldcreatestart
1151 
1154  MODULE PROCEDURE cmfe_cellml_statefieldgetnumber
1155  MODULE PROCEDURE cmfe_cellml_statefieldgetobj
1156  END INTERFACE cmfe_cellml_statefieldget
1157 
1160  MODULE PROCEDURE cmfe_cellml_fieldcomponentgetnumberc
1161  MODULE PROCEDURE cmfe_cellml_fieldcomponentgetobjc
1162  MODULE PROCEDURE cmfe_cellml_fieldcomponentgetnumbervs
1163  MODULE PROCEDURE cmfe_cellml_fieldcomponentgetobjvs
1164  END INTERFACE cmfe_cellml_fieldcomponentget
1165 
1171 
1177 
1181  MODULE PROCEDURE cmfe_cellml_intermediatefieldgetobj
1182  END INTERFACE cmfe_cellml_intermediatefieldget
1183 
1189 
1195 
1198  MODULE PROCEDURE cmfe_cellml_parametersfieldgetnumber
1199  MODULE PROCEDURE cmfe_cellml_parametersfieldgetobj
1200  END INTERFACE cmfe_cellml_parametersfieldget
1201 
1204  MODULE PROCEDURE cmfe_cellml_generatenumber
1205  MODULE PROCEDURE cmfe_cellml_generateobj
1206  END INTERFACE cmfe_cellml_generate
1207 
1209 
1211 
1213 
1215 
1216  PUBLIC cmfe_cellml_destroy
1217 
1219 
1221 
1223 
1225 
1227 
1229 
1231 
1233 
1234  PUBLIC cmfe_cellml_generate
1235 
1236 !!==================================================================================================================================
1237 !!
1238 !! COMP_ENVIRONMENT
1239 !!
1240 !!==================================================================================================================================
1241 
1242  !Module parameters
1243 
1244  !Module types
1245 
1246  !Module variables
1247 
1248  !Interfaces
1249 
1251 
1253 
1255 
1257 
1259 
1261 !!==================================================================================================================================
1262 !!
1263 !! CONSTANTS
1264 !!
1265 !!==================================================================================================================================
1266 
1267  !Module parameters
1268 
1276  INTEGER(INTG), PARAMETER :: cmfe_integer_type = integer_type
1277  INTEGER(INTG), PARAMETER :: cmfe_short_integer_type = short_integer_type
1278  INTEGER(INTG), PARAMETER :: cmfe_long_integer_type = long_integer_type
1279  INTEGER(INTG), PARAMETER :: cmfe_single_real_type = single_real_type
1280  INTEGER(INTG), PARAMETER :: cmfe_double_real_type = double_real_type
1281  INTEGER(INTG), PARAMETER :: cmfe_quadrauple_real_type = quadruple_real_type
1282  INTEGER(INTG), PARAMETER :: cmfe_character_type = character_type
1283  INTEGER(INTG), PARAMETER :: cmfe_logical_type = logical_type
1284  INTEGER(INTG), PARAMETER :: cmfe_single_complex_type = single_complex_type
1285  INTEGER(INTG), PARAMETER :: cmfe_double_complex_type = double_complex_type
1286  INTEGER(INTG), PARAMETER :: cmfe_quadruple_complex_type = quadruple_complex_type
1292  INTEGER(INTG), PARAMETER :: cmfe_no_global_deriv = no_global_deriv
1293  INTEGER(INTG), PARAMETER :: cmfe_global_deriv_s1 = global_deriv_s1
1294  INTEGER(INTG), PARAMETER :: cmfe_global_deriv_s2 = global_deriv_s2
1295  INTEGER(INTG), PARAMETER :: cmfe_global_deriv_s1_s2 = global_deriv_s1_s2
1296  INTEGER(INTG), PARAMETER :: cmfe_global_deriv_s3 = global_deriv_s3
1297  INTEGER(INTG), PARAMETER :: cmfe_global_deriv_s1_s3 = global_deriv_s1_s3
1298  INTEGER(INTG), PARAMETER :: cmfe_global_deriv_s2_s3 = global_deriv_s2_s3
1299  INTEGER(INTG), PARAMETER :: cmfe_global_deriv_s1_s2_s3 = global_deriv_s1_s2_s3
1302 
1303  !Module types
1304 
1305  !Module variables
1306 
1307  !Interfaces
1308 
1312 
1315 
1316 !!==================================================================================================================================
1317 !!
1318 !! CONTROL_LOOP_ROUTINES
1319 !!
1320 !!==================================================================================================================================
1321 
1322  !Module parameters
1323 
1331  INTEGER(INTG), PARAMETER :: cmfe_control_loop_node = control_loop_node
1337  INTEGER(INTG), PARAMETER :: cmfe_control_loop_no_output = control_loop_no_output
1338  INTEGER(INTG), PARAMETER :: cmfe_control_loop_progress_output = control_loop_progress_output
1339  INTEGER(INTG), PARAMETER :: cmfe_control_loop_timing_output = control_loop_timing_output
1342 
1343  !Module types
1344 
1345  !Module variables
1346 
1347  !Interfaces
1348 
1353  MODULE PROCEDURE cmfe_controlloop_currenttimesgetobj
1354  END INTERFACE cmfe_controlloop_currenttimesget
1355 
1358  MODULE PROCEDURE cmfe_controlloop_destroynumber0
1359  MODULE PROCEDURE cmfe_controlloop_destroynumber1
1360  MODULE PROCEDURE cmfe_controlloop_destroyobj
1361  END INTERFACE cmfe_controlloop_destroy
1362 
1369  MODULE PROCEDURE cmfe_controlloop_controlloopgetobj0
1370  MODULE PROCEDURE cmfe_controlloop_controlloopgetobj1
1371  END INTERFACE cmfe_controlloop_controlloopget
1372 
1375  MODULE PROCEDURE cmfe_controlloop_iterationssetnumber0
1376  MODULE PROCEDURE cmfe_controlloop_iterationssetnumber1
1377  MODULE PROCEDURE cmfe_controlloop_iterationssetobj
1378  END INTERFACE cmfe_controlloop_iterationsset
1379 
1382  MODULE PROCEDURE cmfe_controlloop_labelgetcnumber0
1383  MODULE PROCEDURE cmfe_controlloop_labelgetcnumber1
1384  MODULE PROCEDURE cmfe_controlloop_labelgetcobj
1385  MODULE PROCEDURE cmfe_controlloop_labelgetvsnumber0
1386  MODULE PROCEDURE cmfe_controlloop_labelgetvsnumber1
1387  MODULE PROCEDURE cmfe_controlloop_labelgetvsobj
1388  END INTERFACE cmfe_controlloop_labelget
1389 
1392  MODULE PROCEDURE cmfe_controlloop_labelsetcnumber0
1393  MODULE PROCEDURE cmfe_controlloop_labelsetcnumber1
1394  MODULE PROCEDURE cmfe_controlloop_labelsetcobj
1395  MODULE PROCEDURE cmfe_controlloop_labelsetvsnumber0
1396  MODULE PROCEDURE cmfe_controlloop_labelsetvsnumber1
1397  MODULE PROCEDURE cmfe_controlloop_labelsetvsobj
1398  END INTERFACE cmfe_controlloop_labelset
1399 
1406 
1413 
1420 
1427 
1434 
1441 
1444  MODULE PROCEDURE cmfe_controlloop_timeoutputsetnumber0
1445  MODULE PROCEDURE cmfe_controlloop_timeoutputsetnumber1
1446  MODULE PROCEDURE cmfe_controlloop_timeoutputsetobj
1447  END INTERFACE cmfe_controlloop_timeoutputset
1448 
1451  MODULE PROCEDURE cmfe_controlloop_outputtypegetnumber0
1452  MODULE PROCEDURE cmfe_controlloop_outputtypegetnumber1
1453  MODULE PROCEDURE cmfe_controlloop_outputtypegetobj
1454  END INTERFACE cmfe_controlloop_outputtypeget
1455 
1458  MODULE PROCEDURE cmfe_controlloop_outputtypesetnumber0
1459  MODULE PROCEDURE cmfe_controlloop_outputtypesetnumber1
1460  MODULE PROCEDURE cmfe_controlloop_outputtypesetobj
1461  END INTERFACE cmfe_controlloop_outputtypeset
1462 
1465  MODULE PROCEDURE cmfe_controlloop_timeinputsetnumber0
1466  MODULE PROCEDURE cmfe_controlloop_timeinputsetnumber1
1467  MODULE PROCEDURE cmfe_controlloop_timeinputsetobj
1468  END INTERFACE cmfe_controlloop_timeinputset
1469 
1472  MODULE PROCEDURE cmfe_controlloop_timesgetnumber0
1473  MODULE PROCEDURE cmfe_controlloop_timesgetnumber1
1474  MODULE PROCEDURE cmfe_controlloop_timesgetobj
1475  END INTERFACE cmfe_controlloop_timesget
1476 
1479  MODULE PROCEDURE cmfe_controlloop_timessetnumber0
1480  MODULE PROCEDURE cmfe_controlloop_timessetnumber1
1481  MODULE PROCEDURE cmfe_controlloop_timessetobj
1482  END INTERFACE cmfe_controlloop_timesset
1483 
1486  MODULE PROCEDURE cmfe_controlloop_typesetnumber0
1487  MODULE PROCEDURE cmfe_controlloop_typesetnumber1
1488  MODULE PROCEDURE cmfe_controlloop_typesetobj
1489  END INTERFACE cmfe_controlloop_typeset
1490 
1491  PUBLIC cmfe_control_loop_node
1492 
1494 
1496 
1498 
1500 
1502 
1504 
1506 
1508 
1510 
1512 
1514 
1516 
1518 
1520 
1521 
1522 !!==================================================================================================================================
1523 !!
1524 !! COORDINATE_ROUTINES
1525 !!
1526 !!==================================================================================================================================
1527 
1528  !Module parameters
1529 
1537  INTEGER(INTG), PARAMETER :: cmfe_coordinate_rectangular_cartesian_type = coordinate_rectangular_cartesian_type
1538  INTEGER(INTG), PARAMETER :: cmfe_coordinate_cylindrical_polar_type = coordinate_cylindrical_polar_type
1539  INTEGER(INTG), PARAMETER :: cmfe_coordinate_spherical_polar_type = coordinate_spherical_polar_type
1540  INTEGER(INTG), PARAMETER :: cmfe_coordinate_prolate_spheroidal_type = coordinate_prolate_spheroidal_type
1541  INTEGER(INTG), PARAMETER :: cmfe_coordinate_oblate_spheroidal_type = coordinate_oblate_spheroidal_type
1547  INTEGER(INTG), PARAMETER :: cmfe_coordinate_no_radial_interpolation_type = coordinate_no_radial_interpolation_type
1548  INTEGER(INTG), PARAMETER :: cmfe_coordinate_radial_interpolation_type = coordinate_radial_interpolation_type
1549  INTEGER(INTG), PARAMETER :: cmfe_coordinate_radial_squared_interpolation_type = coordinate_radial_squared_interpolation_type
1550  INTEGER(INTG), PARAMETER :: cmfe_coordinate_radial_cubed_interpolation_type = coordinate_radial_cubed_interpolation_type
1553 
1554  !Module types
1555 
1556  !Module variables
1557 
1558  !Interfaces
1559 
1563  MODULE PROCEDURE cmfe_coordinatesystem_createfinishobj
1565 
1569  MODULE PROCEDURE cmfe_coordinatesystem_createstartobj
1570  END INTERFACE cmfe_coordinatesystem_createstart
1571 
1574  MODULE PROCEDURE cmfe_coordinatesystem_destroynumber
1575  MODULE PROCEDURE cmfe_coordinatesystem_destroyobj
1576  END INTERFACE cmfe_coordinatesystem_destroy
1577 
1581  MODULE PROCEDURE cmfe_coordinatesystem_dimensiongetobj
1583 
1587  MODULE PROCEDURE cmfe_coordinatesystem_dimensionsetobj
1589 
1592  MODULE PROCEDURE cmfe_coordinatesystem_focusgetnumber
1593  MODULE PROCEDURE cmfe_coordinatesystem_focusgetobj
1594  END INTERFACE cmfe_coordinatesystem_focusget
1595 
1598  MODULE PROCEDURE cmfe_coordinatesystem_focussetnumber
1599  MODULE PROCEDURE cmfe_coordinatesystem_focussetobj
1600  END INTERFACE cmfe_coordinatesystem_focusset
1601 
1607 
1613 
1616  MODULE PROCEDURE cmfe_coordinatesystem_typegetnumber
1617  MODULE PROCEDURE cmfe_coordinatesystem_typegetobj
1618  END INTERFACE cmfe_coordinatesystem_typeget
1619 
1622  MODULE PROCEDURE cmfe_coordinatesystem_typesetnumber
1623  MODULE PROCEDURE cmfe_coordinatesystem_typesetobj
1624  END INTERFACE cmfe_coordinatesystem_typeset
1625 
1628  MODULE PROCEDURE cmfe_coordinatesystem_origingetnumber
1629  MODULE PROCEDURE cmfe_coordinatesystem_origingetobj
1630  END INTERFACE cmfe_coordinatesystem_originget
1631 
1634  MODULE PROCEDURE cmfe_coordinatesystem_originsetnumber
1635  MODULE PROCEDURE cmfe_coordinatesystem_originsetobj
1636  END INTERFACE cmfe_coordinatesystem_originset
1637 
1643 
1649 
1653 
1656 
1658 
1660 
1662 
1664 
1666 
1668 
1670 
1672 
1673 !!==================================================================================================================================
1674 !!
1675 !! DATA_POINT_ROUTINES
1676 !!
1677 !!==================================================================================================================================
1678 
1679  !Module parameters
1680 
1681  !Module types
1682 
1683  !Module variables
1684 
1685  !Interfaces
1686 
1689  MODULE PROCEDURE cmfe_datapoints_createfinishnumber
1690  MODULE PROCEDURE cmfe_datapoints_createfinishobj
1691  END INTERFACE cmfe_datapoints_createfinish
1692 
1695  MODULE PROCEDURE cmfe_datapoints_createstartnumber
1696  MODULE PROCEDURE cmfe_datapoints_createstartobj
1698  END INTERFACE cmfe_datapoints_createstart
1699 
1702  MODULE PROCEDURE cmfe_datapoints_destroynumber
1703  MODULE PROCEDURE cmfe_datapoints_destroyobj
1704  END INTERFACE cmfe_datapoints_destroy
1705 
1711 
1714  MODULE PROCEDURE cmfe_datapoints_labelgetcnumber
1715  MODULE PROCEDURE cmfe_datapoints_labelgetcobj
1716  MODULE PROCEDURE cmfe_datapoints_labelgetvsnumber
1717  MODULE PROCEDURE cmfe_datapoints_labelgetvsobj
1718  END INTERFACE cmfe_datapoints_labelget
1719 
1722  MODULE PROCEDURE cmfe_datapoints_labelsetcnumber
1723  MODULE PROCEDURE cmfe_datapoints_labelsetcobj
1724  MODULE PROCEDURE cmfe_datapoints_labelsetvsnumber
1725  MODULE PROCEDURE cmfe_datapoints_labelsetvsobj
1726  END INTERFACE cmfe_datapoints_labelset
1727 
1730  MODULE PROCEDURE cmfe_datapoints_usernumbergetnumber
1731  MODULE PROCEDURE cmfe_datapoints_usernumbergetobj
1732  END INTERFACE cmfe_datapoints_usernumberget
1733 
1736  MODULE PROCEDURE cmfe_datapoints_usernumbersetnumber
1737  MODULE PROCEDURE cmfe_datapoints_usernumbersetobj
1738  END INTERFACE cmfe_datapoints_usernumberset
1739 
1742  MODULE PROCEDURE cmfe_datapoints_valuesgetnumber
1743  MODULE PROCEDURE cmfe_datapoints_valuesgetobj
1744  END INTERFACE cmfe_datapoints_valuesget
1745 
1748  MODULE PROCEDURE cmfe_datapoints_valuessetnumber
1749  MODULE PROCEDURE cmfe_datapoints_valuessetobj
1750  END INTERFACE cmfe_datapoints_valuesset
1751 
1754  MODULE PROCEDURE cmfe_datapoints_weightsgetnumber
1755  MODULE PROCEDURE cmfe_datapoints_weightsgetobj
1756  END INTERFACE cmfe_datapoints_weightsget
1757 
1760  MODULE PROCEDURE cmfe_datapoints_weightssetnumber
1761  MODULE PROCEDURE cmfe_datapoints_weightssetobj
1762  END INTERFACE cmfe_datapoints_weightsset
1763 
1765 
1767 
1769 
1771 
1773 
1775 
1777 
1778 !!==================================================================================================================================
1779 !!
1780 !! DATA_PROJECTION_ROUTINES
1781 !!
1782 !!==================================================================================================================================
1783 
1784  !Module parameters
1785 
1793  INTEGER(INTG), PARAMETER :: cmfe_data_projection_boundary_lines_projection_type = data_projection_boundary_lines_projection_type
1794  INTEGER(INTG), PARAMETER :: cmfe_data_projection_boundary_faces_projection_type = data_projection_boundary_faces_projection_type
1795  INTEGER(INTG), PARAMETER :: cmfe_data_projection_all_elements_projection_type = data_projection_all_elements_projection_type
1798 
1799  !Module types
1800 
1801  !Module variables
1802 
1803  !Interfaces
1804 
1810 
1816 
1820  MODULE PROCEDURE cmfe_dataprojection_createfinishobj
1821  END INTERFACE cmfe_dataprojection_createfinish
1822 
1825  MODULE PROCEDURE cmfe_dataprojection_createstartnumber
1826  MODULE PROCEDURE cmfe_dataprojection_createstartobj
1827  END INTERFACE cmfe_dataprojection_createstart
1828 
1831  MODULE PROCEDURE cmfe_dataprojection_destroynumber
1832  MODULE PROCEDURE cmfe_dataprojection_destroyobj
1833  END INTERFACE cmfe_dataprojection_destroy
1834 
1841 
1847 
1853 
1859 
1865 
1871 
1877 
1883 
1890 
1896 
1902 
1908 
1914 
1918  MODULE PROCEDURE cmfe_dataprojection_startingxigetobj
1919  END INTERFACE cmfe_dataprojection_startingxiget
1920 
1924  MODULE PROCEDURE cmfe_dataprojection_startingxisetobj
1925  END INTERFACE cmfe_dataprojection_startingxiset
1926 
1931  MODULE PROCEDURE cmfe_dataprojection_elementsetobj
1932  END INTERFACE cmfe_dataprojection_elementset
1933 
1938  MODULE PROCEDURE cmfe_dataprojection_labelgetcobj
1941  MODULE PROCEDURE cmfe_dataprojection_labelgetvsobj
1942  END INTERFACE cmfe_dataprojection_labelget
1943 
1948  MODULE PROCEDURE cmfe_dataprojection_labelsetcobj
1951  MODULE PROCEDURE cmfe_dataprojection_labelsetvsobj
1952  END INTERFACE cmfe_dataprojection_labelset
1953 
1959 
1965 
1971 
1977 
1983 
1986  MODULE PROCEDURE cmfe_dataprojection_resultxigetnumber
1987  MODULE PROCEDURE cmfe_dataprojection_resultxigetobj
1988  END INTERFACE cmfe_dataprojection_resultxiget
1989 
1992  MODULE PROCEDURE cmfe_dataprojection_resultxisetnumber
1993  MODULE PROCEDURE cmfe_dataprojection_resultxisetobj
1994  END INTERFACE cmfe_dataprojection_resultxiset
1995 
2001 
2003 
2005 
2007 
2009 
2011 
2013 
2015 
2017 
2019 
2021 
2023 
2025 
2027 
2029 
2031 
2033 
2035 
2037 
2039 
2041 
2043 
2044 !!==================================================================================================================================
2045 !!
2046 !! EQUATIONS_ROUTINES
2047 !!
2048 !!==================================================================================================================================
2049 
2050  !Module parameters
2051 
2059  INTEGER(INTG), PARAMETER :: cmfe_equations_no_output = equations_no_output
2060  INTEGER(INTG), PARAMETER :: cmfe_equations_timing_output = equations_timing_output
2061  INTEGER(INTG), PARAMETER :: cmfe_equations_matrix_output = equations_matrix_output
2062  INTEGER(INTG), PARAMETER :: cmfe_equations_element_matrix_output = equations_element_matrix_output
2063  INTEGER(INTG), PARAMETER :: cmfe_equations_nodal_matrix_output = equations_nodal_matrix_output
2069  INTEGER(INTG), PARAMETER :: cmfe_equations_sparse_matrices = equations_sparse_matrices
2070  INTEGER(INTG), PARAMETER :: cmfe_equations_full_matrices = equations_full_matrices
2076  INTEGER(INTG), PARAMETER :: cmfe_equations_unlumped_matrices = equations_unlumped_matrices
2077  INTEGER(INTG), PARAMETER :: cmfe_equations_lumped_matrices = equations_lumped_matrices
2083  INTEGER(INTG), PARAMETER :: cmfe_equations_linear = equations_linear
2084  INTEGER(INTG), PARAMETER :: cmfe_equations_nonlinear = equations_nonlinear
2085  INTEGER(INTG), PARAMETER :: cmfe_equations_nonlinear_bcs = equations_nonlinear_bcs
2091  INTEGER(INTG), PARAMETER :: cmfe_equations_static = equations_static
2092  INTEGER(INTG), PARAMETER :: cmfe_equations_quasistatic = equations_quasistatic
2093  INTEGER(INTG), PARAMETER :: cmfe_equations_first_order_dynamic = equations_first_order_dynamic
2094  INTEGER(INTG), PARAMETER :: cmfe_equations_second_order_dynamic = equations_second_order_dynamic
2095  INTEGER(INTG), PARAMETER :: cmfe_equations_time_stepping = equations_time_stepping
2101  INTEGER(INTG), PARAMETER :: cmfe_equations_jacobian_finite_difference_calculated = equations_jacobian_finite_difference_calculated
2102  INTEGER(INTG), PARAMETER :: cmfe_equations_jacobian_analytic_calculated = equations_jacobian_analytic_calculated
2105 
2106  !Module types
2107 
2108  !Module variables
2109 
2110  !Interfaces
2111 
2114  MODULE PROCEDURE cmfe_equations_destroynumber
2115  MODULE PROCEDURE cmfe_equations_destroyobj
2116  END INTERFACE cmfe_equations_destroy
2117 
2120  MODULE PROCEDURE cmfe_equations_linearitytypegetnumber
2121  MODULE PROCEDURE cmfe_equations_linearitytypegetobj
2122  END INTERFACE cmfe_equations_linearitytypeget
2123 
2126  MODULE PROCEDURE cmfe_equations_lumpingtypegetnumber
2127  MODULE PROCEDURE cmfe_equations_lumpingtypegetobj
2128  END INTERFACE cmfe_equations_lumpingtypeget
2129 
2132  MODULE PROCEDURE cmfe_equations_lumpingtypesetnumber
2133  MODULE PROCEDURE cmfe_equations_lumpingtypesetobj
2134  END INTERFACE cmfe_equations_lumpingtypeset
2135 
2138  MODULE PROCEDURE cmfe_equations_outputtypegetnumber
2139  MODULE PROCEDURE cmfe_equations_outputtypegetobj
2140  END INTERFACE cmfe_equations_outputtypeget
2141 
2144  MODULE PROCEDURE cmfe_equations_outputtypesetnumber
2145  MODULE PROCEDURE cmfe_equations_outputtypesetobj
2146  END INTERFACE cmfe_equations_outputtypeset
2147 
2150  MODULE PROCEDURE cmfe_equations_sparsitytypegetnumber
2151  MODULE PROCEDURE cmfe_equations_sparsitytypegetobj
2152  END INTERFACE cmfe_equations_sparsitytypeget
2153 
2156  MODULE PROCEDURE cmfe_equations_sparsitytypesetnumber
2157  MODULE PROCEDURE cmfe_equations_sparsitytypesetobj
2158  END INTERFACE cmfe_equations_sparsitytypeset
2159 
2165 
2167 
2169 
2171 
2173 
2175 
2177 
2181 
2182  PUBLIC cmfe_equations_destroy
2183 
2185 
2187 
2189 
2191 
2193 
2195 
2197 
2199 
2201 
2203 
2205 
2207 
2209 
2211 
2213 
2215 
2217 
2219 
2221 
2222 !!==================================================================================================================================
2223 !!
2224 !! EQUATIONS_SET_CONSTANTS
2225 !!
2226 !!==================================================================================================================================
2227 
2228  !Module parameters
2229 
2237  INTEGER(INTG), PARAMETER :: cmfe_equations_set_no_class = equations_set_no_class
2238  INTEGER(INTG), PARAMETER :: cmfe_equations_set_elasticity_class = equations_set_elasticity_class
2239  INTEGER(INTG), PARAMETER :: cmfe_equations_set_fluid_mechanics_class = equations_set_fluid_mechanics_class
2240  INTEGER(INTG), PARAMETER :: cmfe_equations_set_electromagnetics_class = equations_set_electromagnetics_class
2241  INTEGER(INTG), PARAMETER :: cmfe_equations_set_classical_field_class = equations_set_classical_field_class
2242  INTEGER(INTG), PARAMETER :: cmfe_equations_set_bioelectrics_class = equations_set_bioelectrics_class
2243  INTEGER(INTG), PARAMETER :: cmfe_equations_set_modal_class = equations_set_modal_class
2244  INTEGER(INTG), PARAMETER :: cmfe_equations_set_fitting_class = equations_set_fitting_class
2245  INTEGER(INTG), PARAMETER :: cmfe_equations_set_optimisation_class = equations_set_optimisation_class
2246  INTEGER(INTG), PARAMETER :: cmfe_equations_set_multi_physics_class = equations_set_multi_physics_class
2252  INTEGER(INTG), PARAMETER :: cmfe_equations_set_no_type = equations_set_no_type
2253  INTEGER(INTG), PARAMETER :: cmfe_equations_set_linear_elasticity_type = equations_set_linear_elasticity_type
2254  INTEGER(INTG), PARAMETER :: cmfe_equations_set_finite_elasticity_type = equations_set_finite_elasticity_type
2255  INTEGER(INTG), PARAMETER :: cmfe_equations_set_stokes_equation_type = equations_set_stokes_equation_type
2256  INTEGER(INTG), PARAMETER :: cmfe_equations_set_navier_stokes_equation_type = equations_set_navier_stokes_equation_type
2257  INTEGER(INTG), PARAMETER :: cmfe_equations_set_darcy_equation_type = equations_set_darcy_equation_type
2258  INTEGER(INTG), PARAMETER :: cmfe_equations_set_darcy_pressure_equation_type = equations_set_darcy_pressure_equation_type
2259  INTEGER(INTG), PARAMETER :: cmfe_equations_set_poiseuille_equation_type = equations_set_poiseuille_equation_type
2260  INTEGER(INTG), PARAMETER :: cmfe_equations_set_burgers_equation_type = equations_set_burgers_equation_type
2261  INTEGER(INTG), PARAMETER :: cmfe_equations_set_characteristic_equation_type = equations_set_characteristic_equation_type
2262  INTEGER(INTG), PARAMETER :: cmfe_equations_set_electrostatic_type = equations_set_electrostatic_type
2263  INTEGER(INTG), PARAMETER :: cmfe_equations_set_magnetostatic_type = equations_set_magnetostatic_type
2264  INTEGER(INTG), PARAMETER :: cmfe_equations_set_maxwells_equations_type = equations_set_maxwells_equations_type
2265  INTEGER(INTG), PARAMETER :: cmfe_equations_set_laplace_equation_type = equations_set_laplace_equation_type
2266  INTEGER(INTG), PARAMETER :: cmfe_equations_set_poisson_equation_type = equations_set_poisson_equation_type
2267  INTEGER(INTG), PARAMETER :: cmfe_equations_set_helmholtz_equation_type = equations_set_helmholtz_equation_type
2268  INTEGER(INTG), PARAMETER :: cmfe_equations_set_wave_equation_type = equations_set_wave_equation_type
2269  INTEGER(INTG), PARAMETER :: cmfe_equations_set_diffusion_equation_type = equations_set_diffusion_equation_type
2270  INTEGER(INTG), PARAMETER :: cmfe_equations_set_advection_equation_type = equations_set_advection_equation_type
2272  & EQUATIONS_SET_ADVECTION_DIFFUSION_EQUATION_TYPE !<Advection-Diffusion equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS
2273  integer(intg), PARAMETER :: cmfe_equations_set_reaction_diffusion_equation_type = equations_set_reaction_diffusion_equation_type
2274  INTEGER(INTG), PARAMETER :: cmfe_equations_set_biharmonic_equation_type = equations_set_biharmonic_equation_type
2275  INTEGER(INTG), PARAMETER :: cmfe_equations_set_monodomain_equation_type = equations_set_monodomain_equation_type
2276  INTEGER(INTG), PARAMETER :: cmfe_equations_set_bidomain_equation_type = equations_set_bidomain_equation_type
2277  INTEGER(INTG), PARAMETER :: cmfe_equations_set_linear_elastic_modal_type = equations_set_linear_elastic_modal_type
2278  INTEGER(INTG), PARAMETER :: cmfe_equations_set_data_fitting_equation_type = equations_set_data_fitting_equation_type
2279  INTEGER(INTG), PARAMETER :: cmfe_equations_set_finite_elasticity_darcy_type = equations_set_finite_elasticity_darcy_type
2280  INTEGER(INTG), PARAMETER :: cmfe_equations_set_finite_elasticity_stokes_type = equations_set_finite_elasticity_stokes_type
2282  & EQUATIONS_SET_FINITE_ELASTICITY_NAVIER_STOKES_TYPE !<Finite Elasticity Navier Stokes equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS
2283  integer(intg), PARAMETER :: cmfe_equations_set_diffusion_diffusion_type = equations_set_diffusion_diffusion_type
2285  & EQUATIONS_SET_DIFFUSION_ADVECTION_DIFFUSION_TYPE !<Diffusion Advection Diffusion equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS
2287  & equations_set_monodomain_strang_splitting_equation_type
2288 
2294  INTEGER(INTG), PARAMETER :: cmfe_equations_set_no_subtype = equations_set_no_subtype
2295  INTEGER(INTG), PARAMETER :: cmfe_equations_set_three_dimensional_subtype = equations_set_three_dimensional_subtype
2297  & EQUATIONS_SET_TWO_DIMENSIONAL_PLANE_STRESS_SUBTYPE !<Plane stress linear elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2299  & equations_set_two_dimensional_plane_strain_subtype
2300  INTEGER(INTG), PARAMETER :: cmfe_equations_set_one_dimensional_subtype = equations_set_one_dimensional_subtype
2301  INTEGER(INTG), PARAMETER :: cmfe_equations_set_plate_subtype = equations_set_plate_subtype
2302  INTEGER(INTG), PARAMETER :: cmfe_equations_set_shell_subtype = equations_set_shell_subtype
2303  INTEGER(INTG), PARAMETER :: cmfe_equations_set_mooney_rivlin_subtype = equations_set_mooney_rivlin_subtype
2305  & EQUATIONS_SET_INCOMPRESSIBLE_MOONEY_RIVLIN_SUBTYPE !< Incompressible Mooney-Rivlin constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2307  & equations_set_nearly_incompressible_mooney_rivlin_subtype
2309  & EQUATIONS_SET_MOONEY_RIVLIN_ACTIVECONTRACTION_SUBTYPE !< Mooney-Rivlin constitutive law with steady-state active contraction for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2311  & equations_set_stvenant_kirchoff_activecontraction_subtype
2312  INTEGER(INTG), PARAMETER :: cmfe_equations_set_activecontraction_subtype =&
2313  & EQUATIONS_SET_ACTIVECONTRACTION_SUBTYPE !< Active contraction/costa-based law with quasistatic time loop for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2314  integer(intg), PARAMETER :: cmfe_equations_set_isotropic_exponential_subtype = equations_set_isotropic_exponential_subtype
2316  & EQUATIONS_SET_TRANSVERSE_ISOTROPIC_EXPONENTIAL_SUBTYPE !< Transverse isotropic exponential constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2318  & equations_set_transverse_isotropic_active_subtype
2320  & EQUATIONS_SET_TRANS_ISOTROPIC_ACTIVE_TRANSITION_SUBTYPE !< Transverse isotropic, active-contraction material-transition constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2322  & equations_set_orthotropic_material_costa_subtype
2324  & EQUATIONS_SET_COMPRESSIBLE_FINITE_ELASTICITY_SUBTYPE !<Compressible version for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2326  & equations_set_compressible_activecontraction_subtype
2328  & EQUATIONS_SET_TRANSVERSE_ISOTROPIC_GUCCIONE_SUBTYPE !< Transverse isotropic Guccione constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2329  integer(intg), PARAMETER :: cmfe_equations_set_active_strain_subtype = &
2330  & equations_set_active_strain_subtype
2332  & EQUATIONS_SET_MULTISCALE_ACTIVE_STRAIN_SUBTYPE !< Isotropic active strain constitutive law based on multiplicative decomposition of the deformation gradient and the cellular model of Razumova et al. (2000) subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2334  & equations_set_reference_state_mooney_rivlin_subtype
2336  & EQUATIONS_SET_GUCCIONE_ACTIVECONTRACTION_SUBTYPE !< Transverse isotropic Guccione constitutive law with active contraction subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2338  & equations_set_incompressible_finite_elasticity_darcy_subtype
2340  & EQUATIONS_SET_ELASTICITY_DARCY_INRIA_MODEL_SUBTYPE !<INRIA Model for finite elasticity coupled with Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2342  & equations_set_elasticity_multi_compartment_darcy_inria_subtype
2344  & EQUATIONS_SET_INCOMPRESSIBLE_ELASTICITY_DRIVEN_DARCY_SUBTYPE !< Incompressible finite elasticity with Darcy flow driven by solid hydrostatic pressure \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2346  & equations_set_incompressible_elasticity_driven_mr_subtype
2348  & EQUATIONS_SET_INCOMPRESSIBLE_ELAST_MULTI_COMP_DARCY_SUBTYPE
2349  integer(intg), PARAMETER :: cmfe_equations_set_membrane_subtype = equations_set_membrane_subtype
2351  & EQUATIONS_SET_ORTHOTROPIC_MATERIAL_HOLZAPFEL_OGDEN_SUBTYPE !< Orthotropic Holzapfel-Ogden constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2353  & equations_set_holzapfel_ogden_activecontraction_subtype &
2354  &
2356  & EQUATIONS_SET_ELASTICITY_FLUID_PRESSURE_STATIC_INRIA_SUBTYPE !< Static finite elasticity coupled with fluid pressure set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2358  & equations_set_elasticity_fluid_pressure_holmes_mow_subtype
2360  & EQUATIONS_SET_ELASTICITY_FLUID_PRES_HOLMES_MOW_ACTIVE_SUBTYPE !<Holmes and Mow's poroelastic constitutive relation subtype with active contraction \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2361  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_TRANSVERSE_ISOTROPIC_POLYNOMIAL_SUBTYPE = &
2362  & EQUATIONS_SET_TRANSVERSE_ISOTROPIC_POLYNOMIAL_SUBTYPE !<Transverse isotropic constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2363  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_ANISOTROPIC_POLYNOMIAL_SUBTYPE = &
2364  & EQUATIONS_SET_ANISOTROPIC_POLYNOMIAL_SUBTYPE !<Anisotropic polynomial constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2365  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_ANISOTROPIC_POLYNOMIAL_ACTIVE_SUBTYPE = &
2366  & EQUATIONS_SET_ANISOTROPIC_POLYNOMIAL_ACTIVE_SUBTYPE !<Anisotropic polynomial active constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2367  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_TRANSVERSE_ISOTROPIC_HUMPHREY_YIN_SUBTYPE= &
2368  & EQUATIONS_SET_TRANSVERSE_ISOTROPIC_HUMPHREY_YIN_SUBTYPE !<Humphrey and Yin transversely isotropic constitutive relation subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2369  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STATIC_STOKES_SUBTYPE = EQUATIONS_SET_STATIC_STOKES_SUBTYPE !<Static Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2370  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LAPLACE_STOKES_SUBTYPE = EQUATIONS_SET_LAPLACE_STOKES_SUBTYPE !<Laplace type Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2371  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_TRANSIENT_STOKES_SUBTYPE = EQUATIONS_SET_TRANSIENT_STOKES_SUBTYPE !<Transient Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2372  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_ALE_STOKES_SUBTYPE = EQUATIONS_SET_ALE_STOKES_SUBTYPE !<ALE Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2373  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_PGM_STOKES_SUBTYPE = EQUATIONS_SET_PGM_STOKES_SUBTYPE !<PGM Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2374  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_OPTIMISED_STOKES_SUBTYPE = EQUATIONS_SET_OPTIMISED_STOKES_SUBTYPE !<Optimised Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2375  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STATIC_NAVIER_STOKES_SUBTYPE = EQUATIONS_SET_STATIC_NAVIER_STOKES_SUBTYPE !<Static Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2376  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LAPLACE_NAVIER_STOKES_SUBTYPE = EQUATIONS_SET_LAPLACE_NAVIER_STOKES_SUBTYPE !<Laplace type Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2377  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_TRANSIENT_NAVIER_STOKES_SUBTYPE = EQUATIONS_SET_TRANSIENT_NAVIER_STOKES_SUBTYPE !<Transient Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2378  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_TRANSIENT_RBS_NAVIER_STOKES_SUBTYPE = &
2379  & EQUATIONS_SET_TRANSIENT_RBS_NAVIER_STOKES_SUBTYPE !<Transient residual-based stabilisation Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2380  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STATIC_RBS_NAVIER_STOKES_SUBTYPE = &
2381  & EQUATIONS_SET_STATIC_RBS_NAVIER_STOKES_SUBTYPE !<Transient residual-based stabilisation Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2382  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MULTISCALE3D_NAVIER_STOKES_SUBTYPE = &
2383  & EQUATIONS_SET_MULTISCALE3D_NAVIER_STOKES_SUBTYPE !<Transient stabilised 3D Navier-Stokes equations set with coupled multiscale boundaries subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2384  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CONSTITUTIVE_MU_NAVIER_STOKES_SUBTYPE = &
2385  & EQUATIONS_SET_CONSTITUTIVE_MU_NAVIER_STOKES_SUBTYPE !<Transient stabilised 3D Navier-Stokes equations set with coupled constitutive model for non-Newtonian viscosity \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2386  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_TRANSIENT1D_NAVIER_STOKES_SUBTYPE = &
2387  & EQUATIONS_SET_TRANSIENT1D_NAVIER_STOKES_SUBTYPE !<TRANSIENT1D Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2388  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_TRANSIENT1D_ADV_NAVIER_STOKES_SUBTYPE = &
2389  & EQUATIONS_SET_TRANSIENT1D_ADV_NAVIER_STOKES_SUBTYPE !<TRANSIENT1D Navier-Stokes equations set subtype with coupled Advection \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2390  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CHARACTERISTIC_SUBTYPE = &
2391  & EQUATIONS_SET_CHARACTERISTIC_SUBTYPE !<Static Characteristics equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2392  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_COUPLED1D0D_NAVIER_STOKES_SUBTYPE = &
2393  & EQUATIONS_SET_COUPLED1D0D_NAVIER_STOKES_SUBTYPE !<Coupled 1D-0D Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2394  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_COUPLED1D0D_ADV_NAVIER_STOKES_SUBTYPE = &
2395  & EQUATIONS_SET_COUPLED1D0D_ADV_NAVIER_STOKES_SUBTYPE !<Coupled 1D-0D Navier-Stokes equations set subtype with coupled Advection \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2396  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STREE1D0D_SUBTYPE = &
2397  & EQUATIONS_SET_STREE1D0D_SUBTYPE !<Coupled 1D-0D Navier-Stokes equations set subtype with coupled Advection \see
2398  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STREE1D0D_ADV_SUBTYPE = &
2399  & EQUATIONS_SET_STREE1D0D_ADV_SUBTYPE !<Coupled 1D-0D Navier-Stokes equations set subtype with coupled Advection \see
2400  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_ALE_NAVIER_STOKES_SUBTYPE = EQUATIONS_SET_ALE_NAVIER_STOKES_SUBTYPE !<ALE Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2401  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_PGM_NAVIER_STOKES_SUBTYPE = EQUATIONS_SET_PGM_NAVIER_STOKES_SUBTYPE !<PGM Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2402  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_OPTIMISED_NAVIER_STOKES_SUBTYPE = EQUATIONS_SET_OPTIMISED_NAVIER_STOKES_SUBTYPE !<Optimised Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2403  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STANDARD_DARCY_SUBTYPE = EQUATIONS_SET_STANDARD_DARCY_SUBTYPE !<Standard Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2404  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_QUASISTATIC_DARCY_SUBTYPE = EQUATIONS_SET_QUASISTATIC_DARCY_SUBTYPE !<Quasistatic Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2405  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_ALE_DARCY_SUBTYPE = EQUATIONS_SET_ALE_DARCY_SUBTYPE !<ALE Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2406  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_TRANSIENT_DARCY_SUBTYPE = EQUATIONS_SET_TRANSIENT_DARCY_SUBTYPE !<Transient Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2407  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_TRANSIENT_ALE_DARCY_SUBTYPE = EQUATIONS_SET_TRANSIENT_ALE_DARCY_SUBTYPE !<Transient ALE Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2408  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MULTI_COMPARTMENT_DARCY_SUBTYPE = EQUATIONS_SET_MULTI_COMPARTMENT_DARCY_SUBTYPE !<Multi Compartment Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2409  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_BURGERS_SUBTYPE = EQUATIONS_SET_BURGERS_SUBTYPE !<Burgers equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2410  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_GENERALISED_BURGERS_SUBTYPE = EQUATIONS_SET_GENERALISED_BURGERS_SUBTYPE !<Generalised Burgers equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2411  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STATIC_BURGERS_SUBTYPE = EQUATIONS_SET_STATIC_BURGERS_SUBTYPE !<Static Burgers equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2412  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_INVISCID_BURGERS_SUBTYPE = EQUATIONS_SET_INVISCID_BURGERS_SUBTYPE !<Inviscid Burgers equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2413 
2414  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STANDARD_LAPLACE_SUBTYPE = EQUATIONS_SET_STANDARD_LAPLACE_SUBTYPE !<Standard Laplace equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2415  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_GENERALISED_LAPLACE_SUBTYPE = EQUATIONS_SET_GENERALISED_LAPLACE_SUBTYPE !<Generalised Laplace equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2416  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MOVING_MESH_LAPLACE_SUBTYPE = EQUATIONS_SET_MOVING_MESH_LAPLACE_SUBTYPE !<Moving mesh Laplace equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2417  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STATIC_POISEUILLE_SUBTYPE = EQUATIONS_SET_STATIC_POISEUILLE_SUBTYPE !<Static Poiseuille equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2418  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DYNAMIC_POISEUILLE_SUBTYPE = EQUATIONS_SET_DYNAMIC_POISEUILLE_SUBTYPE !<Dynamic Poiseuille equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2419  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LINEAR_PRESSURE_POISSON_SUBTYPE = EQUATIONS_SET_LINEAR_PRESSURE_POISSON_SUBTYPE !<Vector source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2420  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NONLINEAR_PRESSURE_POISSON_SUBTYPE = &
2421  & EQUATIONS_SET_NONLINEAR_PRESSURE_POISSON_SUBTYPE !<Vector source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2422  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_ALE_PRESSURE_POISSON_SUBTYPE = EQUATIONS_SET_ALE_PRESSURE_POISSON_SUBTYPE !<Vector source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2423  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_FITTED_PRESSURE_POISSON_SUBTYPE = EQUATIONS_SET_FITTED_PRESSURE_POISSON_SUBTYPE !<Vector source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2424  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CONSTANT_SOURCE_POISSON_SUBTYPE = EQUATIONS_SET_CONSTANT_SOURCE_POISSON_SUBTYPE !<Constant source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2425  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_EXTRACELLULAR_BIDOMAIN_POISSON_SUBTYPE = &
2426  & EQUATIONS_SET_EXTRACELLULAR_BIDOMAIN_POISSON_SUBTYPE !<Poisson equations set subtype, that is the extracellular bidomain equation \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2427  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LINEAR_SOURCE_POISSON_SUBTYPE = EQUATIONS_SET_LINEAR_SOURCE_POISSON_SUBTYPE !<Linear source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2428  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_POISSON_SUBTYPE = EQUATIONS_SET_QUADRATIC_SOURCE_POISSON_SUBTYPE !<Quadratic source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2429  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_EXPONENTIAL_SOURCE_POISSON_SUBTYPE = &
2430  & EQUATIONS_SET_EXPONENTIAL_SOURCE_POISSON_SUBTYPE !<Exponential source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2431  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STANDARD_HELMHOLTZ_SUBTYPE = EQUATIONS_SET_STANDARD_HELMHOLTZ_SUBTYPE !<No source Helmholtz equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2432  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_GENERALISED_HELMHOLTZ_SUBTYPE = EQUATIONS_SET_GENERALISED_HELMHOLTZ_SUBTYPE !<No source Helmholtz equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2433  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NO_SOURCE_DIFFUSION_SUBTYPE = EQUATIONS_SET_NO_SOURCE_DIFFUSION_SUBTYPE !<No source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2434  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CONSTANT_SOURCE_DIFFUSION_SUBTYPE = &
2435  & EQUATIONS_SET_CONSTANT_SOURCE_DIFFUSION_SUBTYPE !<Constant source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2436  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LINEAR_SOURCE_DIFFUSION_SUBTYPE = EQUATIONS_SET_LINEAR_SOURCE_DIFFUSION_SUBTYPE !<Linear source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2437  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_DIFFUSION_SUBTYPE = &
2438  & EQUATIONS_SET_QUADRATIC_SOURCE_DIFFUSION_SUBTYPE !<Quadratic source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2439  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_EXPONENTIAL_SOURCE_DIFFUSION_SUBTYPE = &
2440  & EQUATIONS_SET_EXPONENTIAL_SOURCE_DIFFUSION_SUBTYPE !<Exponential source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2441  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NO_SOURCE_ALE_DIFFUSION_SUBTYPE = EQUATIONS_SET_NO_SOURCE_ALE_DIFFUSION_SUBTYPE !<No source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2442  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CONSTANT_SOURCE_ALE_DIFFUSION_SUBTYPE = &
2443  & EQUATIONS_SET_CONSTANT_SOURCE_ALE_DIFFUSION_SUBTYPE !<Constant source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2444  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LINEAR_SOURCE_ALE_DIFFUSION_SUBTYPE = &
2445  & EQUATIONS_SET_LINEAR_SOURCE_ALE_DIFFUSION_SUBTYPE !<Linear source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2446  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_ALE_DIFFUSION_SUBTYPE = &
2447  & EQUATIONS_SET_QUADRATIC_SOURCE_ALE_DIFFUSION_SUBTYPE !<Quadratic source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2448  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_EXPONENTIAL_SOURCE_ALE_DIFFUSION_SUBTYPE = &
2449  & EQUATIONS_SET_EXPONENTIAL_SOURCE_ALE_DIFFUSION_SUBTYPE !<Exponential source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2450  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MULTI_COMP_TRANSPORT_DIFFUSION_SUBTYPE = &
2451  & EQUATIONS_SET_MULTI_COMP_TRANSPORT_DIFFUSION_SUBTYPE !<Multi-compartment transport diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2452 
2453  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_ADVECTION_SUBTYPE = &
2454  & EQUATIONS_SET_ADVECTION_SUBTYPE !<advection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2455  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NO_SOURCE_ADVECTION_DIFFUSION_SUBTYPE = &
2456  & EQUATIONS_SET_NO_SOURCE_ADVECTION_DIFFUSION_SUBTYPE !<No source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2457  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CONSTANT_SOURCE_ADVECTION_DIFFUSION_SUBTYPE = &
2458  & EQUATIONS_SET_CONSTANT_SOURCE_ADVECTION_DIFFUSION_SUBTYPE !<Constant source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2459  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LINEAR_SOURCE_ADVECTION_DIFFUSION_SUBTYPE = &
2460  & EQUATIONS_SET_LINEAR_SOURCE_ADVECTION_DIFFUSION_SUBTYPE !<Linear source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2461  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_ADVEC_DIFF_SUBTYPE = &
2462  & EQUATIONS_SET_QUADRATIC_SOURCE_ADVECTION_DIFFUSION_SUBTYPE !<Quadratic source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2463  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_EXPONENTIAL_SOURCE_ADVEC_DIFF_SUBTYPE = &
2464  & EQUATIONS_SET_EXPONENTIAL_SOURCE_ADVECTION_DIFFUSION_SUBTYPE !<Exponential source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2465  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CONSTITUTIVE_LAW_IN_CELLML_EVALUATE_SUBTYPE = &
2466  & EQUATIONS_SET_CONSTITUTIVE_LAW_IN_CELLML_EVALUATE_SUBTYPE !<In CellML evaluated incompressible material law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2467  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CONSTIT_AND_GROWTH_LAW_IN_CELLML_SUBTYPE = &
2468  & EQUATIONS_SET_CONSTITUTIVE_AND_GROWTH_LAW_IN_CELLML_SUBTYPE !<CellML evaluated growth and constituative material law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2469  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NO_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE = &
2470  & EQUATIONS_SET_NO_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE !<No source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2471  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CONSTANT_SOURCE_ALE_ADVEC_DIFF_SUBTYPE = &
2472  & EQUATIONS_SET_CONSTANT_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE !<Constant source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2473  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LINEAR_SOURCE_ALE_ADVEC_DIFF_SUBTYPE = &
2474  & EQUATIONS_SET_LINEAR_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE !<Linear source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2475  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_ALE_ADVEC_DIFF_SUBTYPE = &
2476  & EQUATIONS_SET_QUADRATIC_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE !<Quadratic source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2477  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_EXP_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE = &
2478  & EQUATIONS_SET_EXP_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE !<Exponential source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2479 
2480  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NO_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE = &
2481  & EQUATIONS_SET_NO_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE !<No source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2482  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CONSTANT_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE = &
2483  & EQUATIONS_SET_CONSTANT_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE !<Constant source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2484  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LINEAR_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE = &
2485  & EQUATIONS_SET_LINEAR_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE !<Linear source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2486 
2487  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NO_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE = &
2488  & EQUATIONS_SET_NO_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE !<No source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2489  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CONSTANT_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE = &
2490  & EQUATIONS_SET_CONSTANT_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE !<Constant source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2491  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LINEAR_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE = &
2492  & EQUATIONS_SET_LINEAR_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE !<Linear source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2493  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_QUAD_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE = &
2494  & EQUATIONS_SET_QUAD_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE !<Quadratic source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2495  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_EXP_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE = &
2496  & EQUATIONS_SET_EXP_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE !<Exponential source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2497 
2498  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NO_SOURCE_ALE_ADVECTION_DIFF_SUPG_SUBTYPE = &
2499  & EQUATIONS_SET_NO_SOURCE_ALE_ADVECTION_DIFF_SUPG_SUBTYPE !<No source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2500  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CONSTANT_SOURCE_ALE_ADVEC_DIFF_SUPG_SUBTYPE = &
2501  & EQUATIONS_SET_CONSTANT_SOURCE_ALE_ADVECTION_DIFF_SUPG_SUBTYPE !<Constant source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2502  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LINEAR_SOURCE_ALE_ADVEC_DIFF_SUPG_SUBTYPE = &
2503  & EQUATIONS_SET_LINEAR_SOURCE_ALE_ADVECTION_DIFF_SUPG_SUBTYPE !<Linear source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2504  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_QUAD_SOURCE_ALE_ADVECTION_DIFF_SUPG_SUBTYPE = &
2505  & EQUATIONS_SET_QUAD_SOURCE_ALE_ADVECTION_DIFF_SUPG_SUBTYPE !<Quadratic source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2506  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_EXP_SOURCE_ALE_ADVECTION_DIFF_SUPG_SUBTYPE = &
2507  & EQUATIONS_SET_EXP_SOURCE_ALE_ADVECTION_DIFF_SUPG_SUBTYPE !<Exponential source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2508 
2509  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NO_SOURCE_STATIC_ADVEC_DIFF_SUPG_SUBTYPE = &
2510  & EQUATIONS_SET_NO_SOURCE_STATIC_ADVEC_DIFF_SUPG_SUBTYPE !<No source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2511  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CONST_SOURCE_STATIC_ADVEC_DIFF_SUPG_SUBTYPE = &
2512  & EQUATIONS_SET_CONSTANT_SOURCE_STATIC_ADVEC_DIFF_SUPG_SUBTYPE !<Constant source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2513  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LIN_SOURCE_STATIC_ADVEC_DIFF_SUPG_SUBTYPE = &
2514  & EQUATIONS_SET_LINEAR_SOURCE_STATIC_ADVEC_DIFF_SUPG_SUBTYPE !<Linear source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2515  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_COUPLED_SOURCE_DIFFUSION_ADVEC_DIFF_SUBTYPE = &
2516  & EQUATIONS_SET_COUPLED_SOURCE_DIFFUSION_ADVEC_DIFFUSION_SUBTYPE !<Coupled source diffusion & advection-diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2517  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MULTI_COMP_TRANSPORT_ADVEC_DIFF_SUBTYPE = &
2518  & EQUATIONS_SET_MULTI_COMP_TRANSPORT_ADVEC_DIFF_SUBTYPE !<Multi-component transport advection-diffusion equations set \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2519  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MULT_COMP_TRANSPORT_ADVEC_DIFF_SUPG_SUBTYPE = &
2520  & EQUATIONS_SET_MULTI_COMP_TRANSPORT_ADVEC_DIFF_SUPG_SUBTYPE !<Multi-component transport advection-diffusion equations set using SUPG scheme \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2521 
2522  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CELLML_REAC_SPLIT_REAC_DIFF_SUBTYPE = &
2523  & EQUATIONS_SET_CELLML_REAC_SPLIT_REAC_DIFF_SUBTYPE !CellML Reaction Diffusion with order splitting \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2524  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CELLML_REAC_NO_SPLIT_REAC_DIFF_SUBTYPE = &
2525  & EQUATIONS_SET_CELLML_REAC_NO_SPLIT_REAC_DIFF_SUBTYPE !CellML Reaction Diffusion without order splitting \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2526 
2527  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_CONSTANT_REAC_DIFF_SUBTYPE = &
2528  & EQUATIONS_SET_CONSTANT_REAC_DIFF_SUBTYPE !Standard Reaction Diffusion without order splitting, and constant source \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2529 
2530 
2531  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MONODOMAIN_BUENOOROVIO_SUBTYPE= EQUATIONS_SET_MONODOMAIN_BUENOOROVIO_SUBTYPE !<First monodomain equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2532  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MONODOMAIN_TENTUSSCHER06_SUBTYPE= EQUATIONS_SET_MONODOMAIN_TENTUSSCHER06_SUBTYPE !<First monodomain equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2533 
2534  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_FIRST_BIDOMAIN_SUBTYPE = EQUATIONS_SET_FIRST_BIDOMAIN_SUBTYPE !<First bidomain equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2535  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_SECOND_BIDOMAIN_SUBTYPE = EQUATIONS_SET_SECOND_BIDOMAIN_SUBTYPE !<Second bidomain equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2536  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STANDARD_DATA_FITTING_SUBTYPE = &
2537  & EQUATIONS_SET_STANDARD_DATA_FITTING_SUBTYPE !<Standard Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2538  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_GENERALISED_DATA_FITTING_SUBTYPE = &
2539  & EQUATIONS_SET_GENERALISED_DATA_FITTING_SUBTYPE !<Generalised Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2540  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MAT_PROPERTIES_DATA_FITTING_SUBTYPE = &
2541  & EQUATIONS_SET_MAT_PROPERTIES_DATA_FITTING_SUBTYPE !<Material Properties Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2542  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MAT_PROP_INRIA_MODEL_DATA_FITTING_SUBTYPE = &
2543  & EQUATIONS_SET_MAT_PROPERTIES_INRIA_MODEL_DATA_FITTING_SUBTYPE !<Material Properties INRIA Model Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2544  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_VECTOR_DATA_FITTING_SUBTYPE = &
2545  & EQUATIONS_SET_VECTOR_DATA_FITTING_SUBTYPE !<Standard Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2546  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DIVFREE_VECTOR_DATA_FITTING_SUBTYPE = &
2547  & EQUATIONS_SET_DIVFREE_VECTOR_DATA_FITTING_SUBTYPE !<Standard Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2548  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DATA_POINT_VECTOR_STATIC_FITTING_SUBTYPE = &
2549  & EquationsSet_DataPointVectorStaticFittingSubtype !<Standard static Galerkin Projection using data points subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2550  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DATA_PT_VECTOR_QUASISTATIC_FITTING_SUBTYPE = &
2551  & EquationsSet_DataPointVectorQuasistaticFittingSubtype !<Standard quasistatic Galerkin Projection using data points subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2552  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_VECTOR_DATA_PRE_FITTING_SUBTYPE = &
2553  & EQUATIONS_SET_VECTOR_DATA_PRE_FITTING_SUBTYPE !<Standard Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2554  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DIVFREE_VECTOR_DATA_PRE_FITTING_SUBTYPE = &
2555  & EQUATIONS_SET_DIVFREE_VECTOR_DATA_PRE_FITTING_SUBTYPE !<Standard Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2556 
2557 
2558  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STANDARD_ELASTICITY_DARCY_SUBTYPE = &
2559  & EQUATIONS_SET_STANDARD_ELASTICITY_DARCY_SUBTYPE !<Standard Elasticity Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2560  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_COUPLED_SOURCE_DIFFUSION_DIFFUSION_SUBTYPE = &
2561  & EQUATIONS_SET_COUPLED_SOURCE_DIFFUSION_DIFFUSION_SUBTYPE !<Coupled source diffusion-diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2562  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STANDARD_MONODOMAIN_ELASTICITY_SUBTYPE = &
2563  & EQUATIONS_SET_STANDARD_MONODOMAIN_ELASTICITY_SUBTYPE !<Standard Monodomain Elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2564  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_1D3D_MONODOMAIN_ELASTICITY_SUBTYPE = &
2565  & EQUATIONS_SET_1D3D_MONODOMAIN_ELASTICITY_SUBTYPE !<Coupled 1D Monodomain 3D Elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2566  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MONODOMAIN_ELASTICITY_W_TITIN_SUBTYPE = &
2567  & EQUATIONS_SET_MONODOMAIN_ELASTICITY_W_TITIN_SUBTYPE !<Coupled 1D Monodomain 3D Elasticity equations set subtype with titin \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2568  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MONODOMAIN_ELASTICITY_VELOCITY_SUBTYPE = &
2569  & EQUATIONS_SET_MONODOMAIN_ELASTICITY_VELOCITY_SUBTYPE !<Coupled 1D Monodomain 3D Elasticity equations set subtype with force-velocity relation \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2570  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_1D3D_MONODOMAIN_ACTIVE_STRAIN_SUBTYPE = &
2571  & EQUATIONS_SET_1D3D_MONODOMAIN_ACTIVE_STRAIN_SUBTYPE !<Coupled 1D Monodomain 3D Elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS
2572  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_FINITE_ELASTICITY_NAVIER_STOKES_ALE_SUBTYPE = &
2573  & EQUATIONS_SET_FINITE_ELASTICITY_NAVIER_STOKES_ALE_SUBTYPE !<Finite Elasticity Navier Stokes ALE equations set subtype \see OPENCMISS_EquationsSetSubtype,OPENCMISS
2574 
2575  !>@}
2576  !> \addtogroup OPENCMISS_EquationsSetSolutionMethods OPENCMISS::EquationsSet::SolutionMethods
2577  !> \brief The solution method parameters
2578  !> \see OPENCMISS::EquationsSet,OPENCMISS
2579  !>@{
2580  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_FEM_SOLUTION_METHOD = EQUATIONS_SET_FEM_SOLUTION_METHOD !<Finite Element Method solution method. \see OPENCMISS_EquationsSetSolutionMethods,OPENCMISS
2581  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_BEM_SOLUTION_METHOD = EQUATIONS_SET_BEM_SOLUTION_METHOD !<Boundary Element Method solution method. \see OPENCMISS_EquationsSetSolutionMethods,OPENCMISS
2582  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_FD_SOLUTION_METHOD = EQUATIONS_SET_FD_SOLUTION_METHOD !<Finite Difference solution method. \see OPENCMISS_EquationsSetSolutionMethods,OPENCMISS
2583  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_FV_SOLUTION_METHOD = EQUATIONS_SET_FV_SOLUTION_METHOD !<Finite Volume solution method. \see OPENCMISS_EquationsSetSolutionMethods,OPENCMISS
2584  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_GFEM_SOLUTION_METHOD = EQUATIONS_SET_GFEM_SOLUTION_METHOD !<Grid-based Finite Element Method solution method. \see OPENCMISS_EquationsSetSolutionMethods,OPENCMISS
2585  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_GFD_SOLUTION_METHOD = EQUATIONS_SET_GFD_SOLUTION_METHOD !<Grid-based Finite Difference solution method. \see OPENCMISS_EquationsSetSolutionMethods,OPENCMISS
2586  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_GFV_SOLUTION_METHOD = EQUATIONS_SET_GFV_SOLUTION_METHOD !<Grid-based Finite Volume solution method. \see OPENCMISS_EquationsSetSolutionMethods,OPENCMISS
2587  !>@}
2588 
2589  !> \addtogroup OPENCMISS_EquationsSetDerivedTypes OPENCMISS::EquationsSet::DerivedTypes
2590  !> \brief EquationsSet derived type parameters
2591  !> \see OPENCMISS::EquationsSet,OPENCMISS
2592  !>@{
2593  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DERIVED_STRAIN = EQUATIONS_SET_DERIVED_STRAIN !<Strain tensor field output. \see OPENCMISS_EquationsSetDerivedTypes,OPENCMISS
2594  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DERIVED_STRESS = EQUATIONS_SET_DERIVED_STRESS !<Stress tensor field output. \see OPENCMISS_EquationsSetDerivedTypes,OPENCMISS
2595  !>@}
2596 
2597  !> \addtogroup OPENCMISS_EquationsSetTensorEvaluateTypes OPENCMISS::EquationsSet::TensorEvaluateTypes
2598  !> \brief Type of tensor to evaluate from an EquationsSet
2599  !> \see OPENCMISS::EquationsSet,OPENCMISS
2600  !>@{
2601  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_EVALUATE_DEFORMATION_GRADIENT_TENSOR = &
2602  & EQUATIONS_SET_EVALUATE_DEFORMATION_GRADIENT_TENSOR !<Deformation gradient tensor \see OPENCMISS_EquationsSetTensorEvaluateTypes,OPENCMISS
2603  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_EVALUATE_R_CAUCHY_GREEN_DEFORMATION_TENSOR = &
2604  & EQUATIONS_SET_EVALUATE_R_CAUCHY_GREEN_DEFORMATION_TENSOR !<Right Cauchy-Green deformation field \see OPENCMISS_EquationsSetTensorEvaluateTypes,OPENCMISS
2605  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_EVALUATE_GREEN_LAGRANGE_STRAIN_TENSOR = &
2606  & EQUATIONS_SET_EVALUATE_GREEN_LAGRANGE_STRAIN_TENSOR !<Green-Lagrange strain tensor \see OPENCMISS_EquationsSetTensorEvaluateTypes,OPENCMISS
2607  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_EVALUATE_CAUCHY_STRESS_TENSOR = &
2608  & EQUATIONS_SET_EVALUATE_CAUCHY_STRESS_TENSOR !<Cauchy-stress tensor \see OPENCMISS_EquationsSetTensorEvaluateTypes,OPENCMISS
2609  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_EVALUATE_SECOND_PK_STRESS_TENSOR = &
2610  & EQUATIONS_SET_EVALUATE_SECOND_PK_STRESS_TENSOR !<Second Piola Kirchhoff-stress tensor \see OPENCMISS_EquationsSetTensorEvaluateTypes,OPENCMISS
2611  !>@}
2612 
2613  !> \addtogroup OPENCMISS_EquationsSetDynamicMatrixTypes OPENCMISS::EquationsSet::DynamicMatrixTypes
2614  !> \brief Type of matrix in a dynamic equations set
2615  !>@{
2616  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_MATRIX_STIFFNESS=EQUATIONS_MATRIX_STIFFNESS !<A stiffness matrix (multiplies displacement values)
2617  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_MATRIX_DAMPING=EQUATIONS_MATRIX_DAMPING !<A damping matrix (multiplies velocity values)
2618  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_MATRIX_MASS=EQUATIONS_MATRIX_MASS !<A mass matrix (multiplies acceleration values)
2619  !>@}
2620 
2621  !> \addtogroup OPENCMISS_EquationsSetAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes
2622  !> \brief The analytic function types.
2623  !> \see OPENCMISS::EquationsSet,OPENCMISS
2624  !>@{
2625  !> \addtogroup OPENCMISS_EquationsSetLaplaceAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Laplace
2626  !> \brief The analytic function types for a Laplace equation
2627  !> \see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS
2628  !>@{
2629  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LAPLACE_EQUATION_TWO_DIM_1 = EQUATIONS_SET_LAPLACE_EQUATION_TWO_DIM_1 !<u=x**2+2*x*y-y**2 \see OPENCMISS_EquationsSetLaplaceAnalyticFunctionTypes,OPENCMISS
2630  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LAPLACE_EQUATION_TWO_DIM_2 = EQUATIONS_SET_LAPLACE_EQUATION_TWO_DIM_2 !<u=cos(x)cosh(y) \see OPENCMISS_EquationsSetLaplaceAnalyticFunctionTypes,OPENCMISS
2631  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LAPLACE_EQUATION_THREE_DIM_1 = EQUATIONS_SET_LAPLACE_EQUATION_THREE_DIM_1 !<u=x**2-2*y**2+z**2 \see OPENCMISS_EquationsSetLaplaceAnalyticFunctionTypes,OPENCMISS
2632  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LAPLACE_EQUATION_THREE_DIM_2 = EQUATIONS_SET_LAPLACE_EQUATION_THREE_DIM_2 !<u=cos(x)*cosh(y)*z \see OPENCMISS_EquationsSetLaplaceAnalyticFunctionTypes,OPENCMISS
2633  !>@}
2634  !> \addtogroup OPENCMISS_EquationsSetHelmholtzAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Helmholtz
2635  !> \brief The analytic function types for a Helmholtz equation
2636  !> \see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS
2637  !>@{
2638  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_HELMHOLTZ_EQUATION_TWO_DIM_1 = EQUATIONS_SET_HELMHOLTZ_EQUATION_TWO_DIM_1 !<u=cos(sqrt(2)*k*x)*sin(sqrt(2)*k*y) \see OPENCMISS_EquationsSetHelmholtzAnalyticFunctionTypes,OPENCMISS
2639  !>@}
2640  !> \addtogroup OPENCMISS_PoiseuilleAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Poiseuille
2641  !> \brief The analytic function types for a Poiseuille equation.
2642  !> \see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS
2643  !>@{
2644  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_POISEUILLE_EQUATION_TWO_DIM_1 = EQUATIONS_SET_POISEUILLE_EQUATION_TWO_DIM_1 !<u=ln(4/(x+y+1^2)) \see OPENCMISS_EquationsSetPoiseuilleAnalyticFunctionTypes,OPENCMISS
2645  !>@}
2646  !> \addtogroup OPENCMISS_PoissonAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Poisson
2647  !> \brief The analytic function types for a Poisson equation.
2648  !> \see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS
2649  !>@{
2650  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_POISSON_EQUATION_TWO_DIM_1 = EQUATIONS_SET_POISSON_EQUATION_TWO_DIM_1 !<u=ln(4/(x+y+1^2)) \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS
2651  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_POISSON_EQUATION_TWO_DIM_2 = EQUATIONS_SET_POISSON_EQUATION_TWO_DIM_2 !<u=tbd \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS
2652  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_POISSON_EQUATION_TWO_DIM_3 = EQUATIONS_SET_POISSON_EQUATION_TWO_DIM_3 !<u=tbd \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS
2653  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_POISSON_EQUATION_THREE_DIM_1 = EQUATIONS_SET_POISSON_EQUATION_THREE_DIM_1 !<u=ln(6/(x+y+z+1^2)) \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS
2654  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_POISSON_EQUATION_THREE_DIM_2 = EQUATIONS_SET_POISSON_EQUATION_THREE_DIM_2 !<u=tbd \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS
2655  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_POISSON_EQUATION_THREE_DIM_3 = EQUATIONS_SET_POISSON_EQUATION_THREE_DIM_3 !<u=tbd \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS
2656  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_PRESSURE_POISSON_THREE_DIM_1 = EQUATIONS_SET_PRESSURE_POISSON_THREE_DIM_1 !<u=tbd \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS
2657  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_PRESSURE_POISSON_THREE_DIM_2 = EQUATIONS_SET_PRESSURE_POISSON_THREE_DIM_2 !<u=tbd \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS
2658  !>@}
2659  !> \addtogroup OPENCMISS_DiffusionAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Diffusion
2660  !> \brief The analytic function types for a diffusion equation.
2661  !> \see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS
2662  !>@{
2663  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DIFFUSION_EQUATION_ONE_DIM_1 = EQUATIONS_SET_DIFFUSION_EQUATION_ONE_DIM_1
2664  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DIFFUSION_EQUATION_TWO_DIM_1 = EQUATIONS_SET_DIFFUSION_EQUATION_TWO_DIM_1 !<u=exp(-kt)*sin(sqrt(k)*(x*cos(phi)+y*sin(phi))) \see OPENCMISS_EquationsSetDiffusionAnalyticFunctionTypes,OPENCMISS
2665  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DIFFUSION_EQUATION_THREE_DIM_1 = EQUATIONS_SET_DIFFUSION_EQUATION_THREE_DIM_1 !<
2666  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LINEAR_SOURCE_DIFFUSION_THREE_DIM_1 = &
2667  & EQUATIONS_SET_LINEAR_SOURCE_DIFFUSION_EQUATION_THREE_DIM_1
2668  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_DIFFUSION_ONE_DIM_1 = &
2669  & EQUATIONS_SET_QUADRATIC_SOURCE_DIFFUSION_EQUATION_ONE_DIM_1
2670  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_EXPONENTIAL_SOURCE_DIFFUSION_ONE_DIM_1 = &
2671  & EQUATIONS_SET_EXPONENTIAL_SOURCE_DIFFUSION_EQUATION_ONE_DIM_1
2672 
2673  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MULTI_COMP_DIFFUSION_TWO_COMP_TWO_DIM = &
2674  & EQUATIONS_SET_MULTI_COMP_DIFFUSION_TWO_COMP_TWO_DIM !<Prescribed solution, using a source term to correct for error - 2D with 2 compartments
2675  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MULTI_COMP_DIFFUSION_TWO_COMP_THREE_DIM = &
2676  & EQUATIONS_SET_MULTI_COMP_DIFFUSION_TWO_COMP_THREE_DIM !<Prescribed solution, using a source term to correct for error - 3D with 2 compartments
2677  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MULTI_COMP_DIFFUSION_THREE_COMP_THREE_DIM = &
2678  & EQUATIONS_SET_MULTI_COMP_DIFFUSION_THREE_COMP_THREE_DIM !<Prescribed solution, using a source term to correct for error - 3D with 3 compartments
2679  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MULTI_COMP_DIFFUSION_FOUR_COMP_THREE_DIM = &
2680  & EQUATIONS_SET_MULTI_COMP_DIFFUSION_FOUR_COMP_THREE_DIM !<Prescribed solution, using a source term to correct for error - 3D with 3 compartments
2681  !>@}
2682  !> \addtogroup OPENCMISS_AdvectionDiffusionAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::AdvectionDiffusion
2683  !> \brief The analytic function types for an advection-diffusion equation.
2684  !> \see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS
2685  !>@{
2686  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_ADVECTION_DIFFUSION_EQUATION_TWO_DIM_1 = &
2687  & EQUATIONS_SET_ADVECTION_DIFFUSION_EQUATION_TWO_DIM_1 !<u=exp(-kt)*sin(sqrt(k)*(x*cos(phi)+y*sin(phi))) \see OPENCMISS_EquationsSetDiffusionAnalyticFunctionTypes,OPENCMISS
2688  !> \addtogroup OPENCMISS_StokesAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Stokes
2689  !> \brief The analytic function types for a Stokes equation.
2690  !> \see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS
2691  !>@{
2692  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_1 = EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_1 !<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS
2693  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_2 = EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_2 !<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS
2694  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_3 = EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_3 !<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS
2695  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_4 = EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_4 !<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS
2696  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_5 = EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_5 !<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS
2697  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_1 = EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_1 !<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS
2698  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_2 = EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_2 !<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS
2699  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_3 = EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_3 !<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS
2700  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_4 = EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_4 !<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS
2701  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_5 = EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_5 !<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS
2702  !>@}
2703  !> \addtogroup OPENCMISS_NavierStokesAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::NavierStokes
2704  !> \brief The analytic function types for a Navier-Stokes equation.
2705  !> \see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS
2706  !>@{
2707  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_POISEUILLE= &
2708  & EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_POISEUILLE !< fully developed 2D channel flow (parabolic) \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS
2709  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_TAYLOR_GREEN= &
2710  & EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_TAYLOR_GREEN !< 2D dynamic nonlinear Taylor-Green vortex decay \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS
2711  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_FLOWRATE_AORTA= &
2712  & EQUATIONS_SET_NAVIER_STOKES_EQUATION_FLOWRATE_AORTA !< A fourier decomposed flow waveform for boundary conditions
2713  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_SINUSOID= &
2714  & EQUATIONS_SET_NAVIER_STOKES_EQUATION_SINUSOID !< A sinusoidal flow waveform
2715  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_SPLINT_FROM_FILE= &
2716  & EQUATIONS_SET_NAVIER_STOKES_EQUATION_SPLINT_FROM_FILE !< Spline integration of dependent values specified in a file
2717  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_1 = EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_1 !<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS
2718  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_2 = EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_2 !<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS
2719  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_3 = EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_3 !<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS
2720  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_4 = EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_4 !<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS
2721  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_5 = EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_5 !<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS
2722  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_1 = &
2723  & EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_1 !<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS
2724  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_2 = &
2725  & EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_2 !<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS
2726  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_3 = &
2727  & EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_3 !<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS
2728  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_4 = &
2729  & EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_4 !<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS
2730  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_5 = &
2731  & EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_5 !<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS
2732  !>@}
2733  !> \addtogroup OPENCMISS_DarcyAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Darcy
2734  !> \brief The analytic function types for a Darcy equation.
2735  !> \see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS
2736  !>@{
2737  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DARCY_EQUATION_TWO_DIM_1 = EQUATIONS_SET_DARCY_EQUATION_TWO_DIM_1 !<u=tbd \see OPENCMISS_EquationsSetDarcyAnalyticFunctionTypes,OPENCMISS
2738  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DARCY_EQUATION_TWO_DIM_2 = EQUATIONS_SET_DARCY_EQUATION_TWO_DIM_2 !<u=tbd \see OPENCMISS_EquationsSetDarcyAnalyticFunctionTypes,OPENCMISS
2739  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DARCY_EQUATION_TWO_DIM_3 = EQUATIONS_SET_DARCY_EQUATION_TWO_DIM_3 !<u=tbd \see OPENCMISS_EquationsSetDarcyAnalyticFunctionTypes,OPENCMISS
2740  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DARCY_EQUATION_THREE_DIM_1 = EQUATIONS_SET_DARCY_EQUATION_THREE_DIM_1 !<u=tbd \see OPENCMISS_EquationsSetDarcyAnalyticFunctionTypes,OPENCMISS
2741  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DARCY_EQUATION_THREE_DIM_2 = EQUATIONS_SET_DARCY_EQUATION_THREE_DIM_2 !<u=tbd \see OPENCMISS_EquationsSetDarcyAnalyticFunctionTypes,OPENCMISS
2742  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DARCY_EQUATION_THREE_DIM_3 = EQUATIONS_SET_DARCY_EQUATION_THREE_DIM_3 !<u=tbd \see OPENCMISS_EquationsSetDarcyAnalyticFunctionTypes,OPENCMISS
2743  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_INCOMP_ELAST_DARCY_ANALYTIC_DARCY = &
2744  & EQUATIONS_SET_INCOMP_ELAST_DARCY_ANALYTIC_DARCY !<this is a solution where the finite elasticity solve is skipped to allow easy analytic testing of the mass increase & velocity solve step of incompressible poromechanical model
2745  !>@}
2746  !> \addtogroup OPENCMISS_BurgersAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Burgers
2747  !> \brief The analytic function types for a Burgers equation.
2748  !> \see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS
2749  !>@{
2750  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_BURGERS_EQUATION_ONE_DIM_1 = EQUATIONS_SET_BURGERS_EQUATION_ONE_DIM_1
2751  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_GENERALISED_BURGERS_EQUATION_ONE_DIM_1 = &
2752  & EQUATIONS_SET_GENERALISED_BURGERS_EQUATION_ONE_DIM_1
2753  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_GENERALISED_BURGERS_EQUATION_ONE_DIM_2 = &
2754  & EQUATIONS_SET_GENERALISED_BURGERS_EQUATION_ONE_DIM_2
2755  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_STATIC_BURGERS_EQUATION_ONE_DIM_1 = &
2756  & EQUATIONS_SET_STATIC_BURGERS_EQUATION_ONE_DIM_1
2757  !>@}
2758 
2759  !> \addtogroup OPENCMISS_EquationsSetLinearElasticityAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::LinearElasticity
2760  !> \brief The analytic function types for a LinearElasticity equation
2761  !> \see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS
2762  !>@{
2763  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_ONE_DIM_1 = EQUATIONS_SET_LINEAR_ELASTICITY_ONE_DIM_1 !<u=tbd \see OPENCMISS_EquationsSetLinearElasticityAnalyticFunctionTypes,OPENCMISS
2764  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_TWO_DIM_1 = EQUATIONS_SET_LINEAR_ELASTICITY_TWO_DIM_1 !<u=tbd \see OPENCMISS_EquationsSetLinearElasticityAnalyticFunctionTypes,OPENCMISS
2765  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_TWO_DIM_2 = EQUATIONS_SET_LINEAR_ELASTICITY_TWO_DIM_2 !<u=tbd \see OPENCMISS_EquationsSetLinearElasticityAnalyticFunctionTypes,OPENCMISS
2766  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_THREE_DIM_1 = EQUATIONS_SET_LINEAR_ELASTICITY_THREE_DIM_1 !<u=tbd \see OPENCMISS_EquationsSetLinearElasticityAnalyticFunctionTypes,OPENCMISS
2767  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_THREE_DIM_2 = EQUATIONS_SET_LINEAR_ELASTICITY_THREE_DIM_2 !<u=tbd \see OPENCMISS_EquationsSetLinearElasticityAnalyticFunctionTypes,OPENCMISS
2768  !>@}
2769  !> \addtogroup OPENCMISS_EquationsSetFiniteElasticityAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::FiniteElasticity
2770  !> \brief The analytic function types for a FiniteElasticity equation
2771  !> \see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS
2772  !>@{
2773  INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_FINITE_ELASTICITY_CYLINDER = EQUATIONS_SET_FINITE_ELASTICITY_CYLINDER !<u=tbd \see OPENCMISS_EquationsSetLinearElasticityAnalyticFunctionTypes,OPENCMISS
2774  !>@}
2775  !>@}
2776  !>@}
2777 
2778  !> \addtogroup OPENCMISS_AnalyticParamIndices OPENCMISS::FiniteElasticity::AnalyticParamIndices
2779  !> \brief Indices for EQUATIONS_SET_ANALYTIC_TYPE%ANALYTIC_USER_PARAMS
2780  !> \see OPENCMISS::FiniteElasticity::AnalyticParamIndices,OPENCMISS
2781  !>@{
2782  INTEGER(INTG), PARAMETER :: CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_PIN_IDX = &
2783  & FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_PIN_IDX !<Inner pressure parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS
2784  INTEGER(INTG), PARAMETER :: CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_POUT_IDX = &
2785  & FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_POUT_IDX !<Outer pressure parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS
2786  INTEGER(INTG), PARAMETER :: CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_LAMBDA_IDX = &
2787  & FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_LAMBDA_IDX !<Lambda parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS
2788  INTEGER(INTG), PARAMETER :: CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_TSI_IDX = &
2789  & FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_TSI_IDX !<Tsi parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS
2790  INTEGER(INTG), PARAMETER :: CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_RIN_IDX = &
2791  & FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_RIN_IDX !<Inner radius parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS
2792  INTEGER(INTG), PARAMETER :: CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_ROUT_IDX = &
2793  & FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_ROUT_IDX !<Outer radius parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS
2794  INTEGER(INTG), PARAMETER :: CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_C1_IDX = &
2795  & FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_C1_IDX !<c1 parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS
2796  INTEGER(INTG), PARAMETER :: CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_C2_IDX = &
2797  & FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_C2_IDX !<c2 parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS
2798  !>@}
2799 
2800  !Module types
2801 
2802  !Module variables
2803 
2804  !Interfaces
2805 
2806  PUBLIC CMFE_EQUATIONS_SET_NO_CLASS,CMFE_EQUATIONS_SET_ELASTICITY_CLASS,CMFE_EQUATIONS_SET_FLUID_MECHANICS_CLASS, &
2807  & CMFE_EQUATIONS_SET_ELECTROMAGNETICS_CLASS,CMFE_EQUATIONS_SET_CLASSICAL_FIELD_CLASS,CMFE_EQUATIONS_SET_BIOELECTRICS_CLASS, &
2808  & CMFE_EQUATIONS_SET_MODAL_CLASS,CMFE_EQUATIONS_SET_FITTING_CLASS,CMFE_EQUATIONS_SET_OPTIMISATION_CLASS, &
2809  & CMFE_EQUATIONS_SET_MULTI_PHYSICS_CLASS
2810 
2811  PUBLIC CMFE_EQUATIONS_SET_NO_TYPE,CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_TYPE,CMFE_EQUATIONS_SET_FINITE_ELASTICITY_TYPE, &
2812  & CMFE_EQUATIONS_SET_STOKES_EQUATION_TYPE,CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TYPE, &
2813  & CMFE_EQUATIONS_SET_DARCY_EQUATION_TYPE, &
2814  & CMFE_EQUATIONS_SET_DARCY_PRESSURE_EQUATION_TYPE,CMFE_EQUATIONS_SET_BURGERS_EQUATION_TYPE, &
2815  & CMFE_EQUATIONS_SET_STATIC_POISEUILLE_SUBTYPE, &
2816  & CMFE_EQUATIONS_SET_DYNAMIC_POISEUILLE_SUBTYPE, &
2817  & CMFE_EQUATIONS_SET_CHARACTERISTIC_EQUATION_TYPE, &
2818  & CMFE_EQUATIONS_SET_ELECTROSTATIC_TYPE,CMFE_EQUATIONS_SET_MAGNETOSTATIC_TYPE,CMFE_EQUATIONS_SET_MAXWELLS_EQUATIONS_TYPE, &
2819  & CMFE_EQUATIONS_SET_LAPLACE_EQUATION_TYPE,CMFE_EQUATIONS_SET_POISEUILLE_EQUATION_TYPE, &
2820  & CMFE_EQUATIONS_SET_POISSON_EQUATION_TYPE, &
2821  & CMFE_EQUATIONS_SET_HELMHOLTZ_EQUATION_TYPE,CMFE_EQUATIONS_SET_WAVE_EQUATION_TYPE, &
2822  & CMFE_EQUATIONS_SET_DIFFUSION_EQUATION_TYPE,CMFE_EQUATIONS_SET_ADVECTION_EQUATION_TYPE, &
2823  & CMFE_EQUATIONS_SET_ADVECTION_DIFFUSION_EQUATION_TYPE,CMFE_EQUATIONS_SET_REACTION_DIFFUSION_EQUATION_TYPE, &
2824  & CMFE_EQUATIONS_SET_BIHARMONIC_EQUATION_TYPE,CMFE_EQUATIONS_SET_MONODOMAIN_EQUATION_TYPE, &
2825  & CMFE_EQUATIONS_SET_BIDOMAIN_EQUATION_TYPE, &
2826  & CMFE_EQUATIONS_SET_LINEAR_ELASTIC_MODAL_TYPE,CMFE_EQUATIONS_SET_DATA_FITTING_EQUATION_TYPE, &
2827  & CMFE_EQUATIONS_SET_MONODOMAIN_STRANG_SPLITTING_EQUATION_TYPE
2828 
2829  PUBLIC CMFE_EQUATIONS_SET_FINITE_ELASTICITY_DARCY_TYPE, &
2830  & CMFE_EQUATIONS_SET_FINITE_ELASTICITY_STOKES_TYPE, CMFE_EQUATIONS_SET_FINITE_ELASTICITY_NAVIER_STOKES_TYPE, &
2831  & CMFE_EQUATIONS_SET_DIFFUSION_DIFFUSION_TYPE, CMFE_EQUATIONS_SET_DIFFUSION_ADVECTION_DIFFUSION_TYPE
2832 
2833  PUBLIC CMFE_EQUATIONS_SET_NO_SUBTYPE,CMFE_EQUATIONS_SET_THREE_DIMENSIONAL_SUBTYPE, &
2834  & CMFE_EQUATIONS_SET_TWO_DIMENSIONAL_PLANE_STRESS_SUBTYPE, &
2835  & CMFE_EQUATIONS_SET_TWO_DIMENSIONAL_PLANE_STRAIN_SUBTYPE,CMFE_EQUATIONS_SET_ONE_DIMENSIONAL_SUBTYPE, &
2836  & CMFE_EQUATIONS_SET_PLATE_SUBTYPE, &
2837  & CMFE_EQUATIONS_SET_SHELL_SUBTYPE, &
2838  & CMFE_EQUATIONS_SET_INCOMPRESSIBLE_MOONEY_RIVLIN_SUBTYPE,CMFE_EQUATIONS_SET_NEARLY_INCOMPRESSIBLE_MOONEY_RIVLIN_SUBTYPE, &
2839  & CMFE_EQUATIONS_SET_MOONEY_RIVLIN_SUBTYPE, &
2840  & CMFE_EQUATIONS_SET_REFERENCE_STATE_MOONEY_RIVLIN_SUBTYPE, CMFE_EQUATIONS_SET_ISOTROPIC_EXPONENTIAL_SUBTYPE, &
2841  & CMFE_EQUATIONS_SET_ACTIVECONTRACTION_SUBTYPE,CMFE_EQUATIONS_SET_MOONEY_RIVLIN_ACTIVECONTRACTION_SUBTYPE, &
2842  & CMFE_EQUATIONS_SET_COMPRESSIBLE_ACTIVECONTRACTION_SUBTYPE,CMFE_EQUATIONS_SET_TRANSVERSE_ISOTROPIC_ACTIVE_SUBTYPE, &
2843  & CMFE_EQUATIONS_SET_TRANS_ISOTROPIC_ACTIVE_TRANSITION_SUBTYPE, &
2844  & CMFE_EQUATIONS_SET_TRANSVERSE_ISOTROPIC_POLYNOMIAL_SUBTYPE,CMFE_EQUATIONS_SET_STVENANT_KIRCHOFF_ACTIVECONTRACTION_SUBTYPE, &
2845  & CMFE_EQUATIONS_SET_ANISOTROPIC_POLYNOMIAL_SUBTYPE,CMFE_EQUATIONS_SET_ANISOTROPIC_POLYNOMIAL_ACTIVE_SUBTYPE, &
2846  & CMFE_EQUATIONS_SET_TRANSVERSE_ISOTROPIC_EXPONENTIAL_SUBTYPE,CMFE_EQUATIONS_SET_ORTHOTROPIC_MATERIAL_COSTA_SUBTYPE, &
2847  & CMFE_EQUATIONS_SET_COMPRESSIBLE_FINITE_ELASTICITY_SUBTYPE,CMFE_EQUATIONS_SET_INCOMPRESS_FINITE_ELASTICITY_DARCY_SUBTYPE, &
2848  & CMFE_EQUATIONS_SET_ELASTICITY_DARCY_INRIA_MODEL_SUBTYPE,CMFE_EQUATIONS_SET_ELASTICITY_MULTI_COMP_DARCY_INRIA_SUBTYPE, &
2849  & CMFE_EQUATIONS_SET_INCOMPRESS_ELASTICITY_DRIVEN_DARCY_SUBTYPE, &
2850  & CMFE_EQUATIONS_SET_INCOMPRESSIBLE_ELASTICITY_DRIVEN_MR_SUBTYPE, &
2851  & CMFE_EQUATIONS_SET_INCOMPRESS_ELAST_MULTI_COMP_DARCY_SUBTYPE,CMFE_EQUATIONS_SET_TRANSVERSE_ISOTROPIC_GUCCIONE_SUBTYPE, &
2852  & CMFE_EQUATIONS_SET_GUCCIONE_ACTIVECONTRACTION_SUBTYPE, &
2853  & CMFE_EQUATIONS_SET_ACTIVE_STRAIN_SUBTYPE, &
2854  & CMFE_EQUATIONS_SET_MULTISCALE_ACTIVE_STRAIN_SUBTYPE, &
2855  & CMFE_EQUATIONS_SET_MEMBRANE_SUBTYPE, CMFE_EQUATIONS_SET_ORTHOTROPIC_HOLZAPFEL_OGDEN_SUBTYPE, &
2856  & CMFE_EQUATIONS_SET_HOLZAPFEL_OGDEN_ACTIVECONTRACTION_SUBTYPE, &
2857  & CMFE_EQUATIONS_SET_ELASTICITY_FLUID_PRES_STATIC_INRIA_SUBTYPE, &
2858  & CMFE_EQUATIONS_SET_ELASTICITY_FLUID_PRES_HOLMES_MOW_SUBTYPE, &
2859  & CMFE_EQUATIONS_SET_ELASTI_FLUID_PRES_HOLMES_MOW_ACTIVE_SUBTYPE, &
2860  & CMFE_EQUATIONS_SET_TRANSVERSE_ISOTROPIC_HUMPHREY_YIN_SUBTYPE, &
2861  & CMFE_EQUATIONS_SET_STATIC_STOKES_SUBTYPE, CMFE_EQUATIONS_SET_LAPLACE_STOKES_SUBTYPE, &
2862  & CMFE_EQUATIONS_SET_TRANSIENT_STOKES_SUBTYPE,CMFE_EQUATIONS_SET_ALE_STOKES_SUBTYPE, &
2863  & CMFE_EQUATIONS_SET_ALE_NAVIER_STOKES_SUBTYPE, &
2864  & CMFE_EQUATIONS_SET_OPTIMISED_STOKES_SUBTYPE,CMFE_EQUATIONS_SET_STATIC_NAVIER_STOKES_SUBTYPE, &
2865  & CMFE_EQUATIONS_SET_LAPLACE_NAVIER_STOKES_SUBTYPE,CMFE_EQUATIONS_SET_TRANSIENT_NAVIER_STOKES_SUBTYPE, &
2866  & CMFE_EQUATIONS_SET_TRANSIENT1D_NAVIER_STOKES_SUBTYPE, CMFE_EQUATIONS_SET_TRANSIENT_RBS_NAVIER_STOKES_SUBTYPE, &
2867  & CMFE_EQUATIONS_SET_STATIC_RBS_NAVIER_STOKES_SUBTYPE, &
2868  & CMFE_EQUATIONS_SET_CHARACTERISTIC_SUBTYPE, &
2869  & CMFE_EQUATIONS_SET_TRANSIENT1D_ADV_NAVIER_STOKES_SUBTYPE, CMFE_EQUATIONS_SET_COUPLED1D0D_ADV_NAVIER_STOKES_SUBTYPE, &
2870  & CMFE_EQUATIONS_SET_STREE1D0D_SUBTYPE, CMFE_EQUATIONS_SET_STREE1D0D_ADV_SUBTYPE, &
2871  & CMFE_EQUATIONS_SET_MULTISCALE3D_NAVIER_STOKES_SUBTYPE, &
2872  & CMFE_EQUATIONS_SET_CONSTITUTIVE_MU_NAVIER_STOKES_SUBTYPE, &
2873  & CMFE_EQUATIONS_SET_COUPLED1D0D_NAVIER_STOKES_SUBTYPE, &
2874  & CMFE_EQUATIONS_SET_OPTIMISED_NAVIER_STOKES_SUBTYPE,CMFE_EQUATIONS_SET_STANDARD_DARCY_SUBTYPE, &
2875  & CMFE_EQUATIONS_SET_QUASISTATIC_DARCY_SUBTYPE,CMFE_EQUATIONS_SET_ALE_DARCY_SUBTYPE, &
2876  & CMFE_EQUATIONS_SET_TRANSIENT_DARCY_SUBTYPE, &
2877  & CMFE_EQUATIONS_SET_TRANSIENT_ALE_DARCY_SUBTYPE,CMFE_EQUATIONS_SET_MULTI_COMPARTMENT_DARCY_SUBTYPE, &
2878  & CMFE_EQUATIONS_SET_STANDARD_LAPLACE_SUBTYPE,CMFE_EQUATIONS_SET_MOVING_MESH_LAPLACE_SUBTYPE, &
2879  & CMFE_EQUATIONS_SET_GENERALISED_LAPLACE_SUBTYPE,CMFE_EQUATIONS_SET_CONSTANT_SOURCE_POISSON_SUBTYPE, &
2880  & CMFE_EQUATIONS_SET_EXTRACELLULAR_BIDOMAIN_POISSON_SUBTYPE, &
2881  & CMFE_EQUATIONS_SET_LINEAR_PRESSURE_POISSON_SUBTYPE, CMFE_EQUATIONS_SET_NONLINEAR_PRESSURE_POISSON_SUBTYPE, &
2882  & CMFE_EQUATIONS_SET_ALE_PRESSURE_POISSON_SUBTYPE, CMFE_EQUATIONS_SET_FITTED_PRESSURE_POISSON_SUBTYPE,&
2883  & CMFE_EQUATIONS_SET_LINEAR_SOURCE_POISSON_SUBTYPE,CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_POISSON_SUBTYPE, &
2884  & CMFE_EQUATIONS_SET_EXPONENTIAL_SOURCE_POISSON_SUBTYPE,CMFE_EQUATIONS_SET_STANDARD_HELMHOLTZ_SUBTYPE, &
2885  & CMFE_EQUATIONS_SET_GENERALISED_HELMHOLTZ_SUBTYPE, &
2886  & CMFE_EQUATIONS_SET_NO_SOURCE_DIFFUSION_SUBTYPE,CMFE_EQUATIONS_SET_CONSTANT_SOURCE_DIFFUSION_SUBTYPE, &
2887  & CMFE_EQUATIONS_SET_LINEAR_SOURCE_DIFFUSION_SUBTYPE,CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_DIFFUSION_SUBTYPE, &
2888  & CMFE_EQUATIONS_SET_EXPONENTIAL_SOURCE_DIFFUSION_SUBTYPE,CMFE_EQUATIONS_SET_MULTI_COMP_TRANSPORT_DIFFUSION_SUBTYPE, &
2889  & CMFE_EQUATIONS_SET_NO_SOURCE_ALE_DIFFUSION_SUBTYPE,CMFE_EQUATIONS_SET_CONSTANT_SOURCE_ALE_DIFFUSION_SUBTYPE, &
2890  & CMFE_EQUATIONS_SET_LINEAR_SOURCE_ALE_DIFFUSION_SUBTYPE,CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_ALE_DIFFUSION_SUBTYPE, &
2891  & CMFE_EQUATIONS_SET_EXPONENTIAL_SOURCE_ALE_DIFFUSION_SUBTYPE, &
2892  & CMFE_EQUATIONS_SET_ADVECTION_SUBTYPE, &
2893  & CMFE_EQUATIONS_SET_NO_SOURCE_ADVECTION_DIFFUSION_SUBTYPE, &
2894  & CMFE_EQUATIONS_SET_CONSTANT_SOURCE_ADVECTION_DIFFUSION_SUBTYPE, &
2895  & CMFE_EQUATIONS_SET_LINEAR_SOURCE_ADVECTION_DIFFUSION_SUBTYPE, &
2896  & CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_ADVEC_DIFF_SUBTYPE,CMFE_EQUATIONS_SET_EXPONENTIAL_SOURCE_ADVEC_DIFF_SUBTYPE, &
2897  & CMFE_EQUATIONS_SET_NO_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE, &
2898  & CMFE_EQUATIONS_SET_CONSTANT_SOURCE_ALE_ADVEC_DIFF_SUBTYPE,CMFE_EQUATIONS_SET_LINEAR_SOURCE_ALE_ADVEC_DIFF_SUBTYPE, &
2899  & CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_ALE_ADVEC_DIFF_SUBTYPE,CMFE_EQUATIONS_SET_EXP_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE, &
2900  & CMFE_EQUATIONS_SET_NO_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE, CMFE_EQUATIONS_SET_CONSTANT_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE, &
2901  & CMFE_EQUATIONS_SET_LINEAR_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE, &
2902  & CMFE_EQUATIONS_SET_NO_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE, CMFE_EQUATIONS_SET_CONSTANT_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE, &
2903  & CMFE_EQUATIONS_SET_LINEAR_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE, CMFE_EQUATIONS_SET_QUAD_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE, &
2904  & CMFE_EQUATIONS_SET_EXP_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE, &
2905  & CMFE_EQUATIONS_SET_NO_SOURCE_ALE_ADVECTION_DIFF_SUPG_SUBTYPE, &
2906  & CMFE_EQUATIONS_SET_CONSTANT_SOURCE_ALE_ADVEC_DIFF_SUPG_SUBTYPE, &
2907  & CMFE_EQUATIONS_SET_LINEAR_SOURCE_ALE_ADVEC_DIFF_SUPG_SUBTYPE, &
2908  & CMFE_EQUATIONS_SET_QUAD_SOURCE_ALE_ADVECTION_DIFF_SUPG_SUBTYPE, &
2909  & CMFE_EQUATIONS_SET_EXP_SOURCE_ALE_ADVECTION_DIFF_SUPG_SUBTYPE, &
2910  & CMFE_EQUATIONS_SET_NO_SOURCE_STATIC_ADVEC_DIFF_SUPG_SUBTYPE, &
2911  & CMFE_EQUATIONS_SET_CONST_SOURCE_STATIC_ADVEC_DIFF_SUPG_SUBTYPE, &
2912  & CMFE_EQUATIONS_SET_LIN_SOURCE_STATIC_ADVEC_DIFF_SUPG_SUBTYPE, &
2913  & CMFE_EQUATIONS_SET_MULTI_COMP_TRANSPORT_ADVEC_DIFF_SUBTYPE,CMFE_EQUATIONS_SET_MULT_COMP_TRANSPORT_ADVEC_DIFF_SUPG_SUBTYPE, &
2914  & CMFE_EQUATIONS_SET_PGM_STOKES_SUBTYPE, &
2915  & CMFE_EQUATIONS_SET_FIRST_BIDOMAIN_SUBTYPE,CMFE_EQUATIONS_SET_SECOND_BIDOMAIN_SUBTYPE, &
2916  & CMFE_EQUATIONS_SET_MONODOMAIN_BUENOOROVIO_SUBTYPE,&
2917  & CMFE_EQUATIONS_SET_MONODOMAIN_TENTUSSCHER06_SUBTYPE ,&
2918  & CMFE_EQUATIONS_SET_STANDARD_DATA_FITTING_SUBTYPE,CMFE_EQUATIONS_SET_GENERALISED_DATA_FITTING_SUBTYPE, &
2919  & CMFE_EQUATIONS_SET_VECTOR_DATA_FITTING_SUBTYPE,CMFE_EQUATIONS_SET_DIVFREE_VECTOR_DATA_FITTING_SUBTYPE, &
2920  & CMFE_EQUATIONS_SET_VECTOR_DATA_PRE_FITTING_SUBTYPE,CMFE_EQUATIONS_SET_DIVFREE_VECTOR_DATA_PRE_FITTING_SUBTYPE, &
2921  & CMFE_EQUATIONS_SET_MAT_PROPERTIES_DATA_FITTING_SUBTYPE,CMFE_EQUATIONS_SET_MAT_PROP_INRIA_MODEL_DATA_FITTING_SUBTYPE, &
2922  & CMFE_EQUATIONS_SET_DATA_POINT_VECTOR_STATIC_FITTING_SUBTYPE, &
2923  & CMFE_EQUATIONS_SET_DATA_PT_VECTOR_QUASISTATIC_FITTING_SUBTYPE, &
2924  & CMFE_EQUATIONS_SET_PGM_NAVIER_STOKES_SUBTYPE, &
2925  & CMFE_EQUATIONS_SET_CONSTITUTIVE_LAW_IN_CELLML_EVALUATE_SUBTYPE, &
2926  & CMFE_EQUATIONS_SET_COUPLED_SOURCE_DIFFUSION_DIFFUSION_SUBTYPE, &
2927  & CMFE_EQUATIONS_SET_COUPLED_SOURCE_DIFFUSION_ADVEC_DIFF_SUBTYPE, &
2928  & CMFE_EQUATIONS_SET_BURGERS_SUBTYPE,CMFE_EQUATIONS_SET_GENERALISED_BURGERS_SUBTYPE, &
2929  & CMFE_EQUATIONS_SET_STATIC_BURGERS_SUBTYPE, &
2930  & CMFE_EQUATIONS_SET_INVISCID_BURGERS_SUBTYPE,CMFE_EQUATIONS_SET_STANDARD_MONODOMAIN_ELASTICITY_SUBTYPE, &
2931  & CMFE_EQUATIONS_SET_1D3D_MONODOMAIN_ELASTICITY_SUBTYPE,CMFE_EQUATIONS_SET_MONODOMAIN_ELASTICITY_W_TITIN_SUBTYPE, &
2932  & CMFE_EQUATIONS_SET_1D3D_MONODOMAIN_ACTIVE_STRAIN_SUBTYPE, &
2933  & CMFE_EQUATIONS_SET_CONSTIT_AND_GROWTH_LAW_IN_CELLML_SUBTYPE, &
2934  & CMFE_EQUATIONS_SET_MONODOMAIN_ELASTICITY_VELOCITY_SUBTYPE, &
2935  & CMFE_EQUATIONS_SET_FINITE_ELASTICITY_NAVIER_STOKES_ALE_SUBTYPE
2936 
2937  PUBLIC CMFE_EQUATIONS_SET_CELLML_REAC_SPLIT_REAC_DIFF_SUBTYPE, CMFE_EQUATIONS_SET_CELLML_REAC_NO_SPLIT_REAC_DIFF_SUBTYPE, &
2938  & CMFE_EQUATIONS_SET_CONSTANT_REAC_DIFF_SUBTYPE
2939 
2940  PUBLIC CMFE_EQUATIONS_SET_FEM_SOLUTION_METHOD,CMFE_EQUATIONS_SET_BEM_SOLUTION_METHOD,CMFE_EQUATIONS_SET_FD_SOLUTION_METHOD, &
2941  & CMFE_EQUATIONS_SET_FV_SOLUTION_METHOD,CMFE_EQUATIONS_SET_GFEM_SOLUTION_METHOD,CMFE_EQUATIONS_SET_GFD_SOLUTION_METHOD, &
2942  & CMFE_EQUATIONS_SET_GFV_SOLUTION_METHOD
2943 
2944  PUBLIC CMFE_EQUATIONS_SET_DERIVED_STRAIN,CMFE_EQUATIONS_SET_DERIVED_STRESS
2945 
2946  PUBLIC CMFE_EQUATIONS_SET_EVALUATE_DEFORMATION_GRADIENT_TENSOR, &
2947  & CMFE_EQUATIONS_SET_EVALUATE_R_CAUCHY_GREEN_DEFORMATION_TENSOR, &
2948  & CMFE_EQUATIONS_SET_EVALUATE_GREEN_LAGRANGE_STRAIN_TENSOR, &
2949  & CMFE_EQUATIONS_SET_EVALUATE_CAUCHY_STRESS_TENSOR, &
2950  & CMFE_EQUATIONS_SET_EVALUATE_SECOND_PK_STRESS_TENSOR
2951 
2952  PUBLIC CMFE_EQUATIONS_MATRIX_STIFFNESS,CMFE_EQUATIONS_MATRIX_DAMPING,CMFE_EQUATIONS_MATRIX_MASS
2953 
2954  PUBLIC CMFE_EQUATIONS_SET_LAPLACE_EQUATION_TWO_DIM_1,CMFE_EQUATIONS_SET_LAPLACE_EQUATION_TWO_DIM_2, &
2955  & CMFE_EQUATIONS_SET_LAPLACE_EQUATION_THREE_DIM_1,CMFE_EQUATIONS_SET_LAPLACE_EQUATION_THREE_DIM_2
2956 
2957  PUBLIC CMFE_EQUATIONS_SET_HELMHOLTZ_EQUATION_TWO_DIM_1
2958 
2959  PUBLIC CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_ONE_DIM_1,CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_TWO_DIM_1, &
2960  & CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_TWO_DIM_2,CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_THREE_DIM_1, &
2961  & CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_THREE_DIM_2
2962 
2963  PUBLIC CMFE_EQUATIONS_SET_DIFFUSION_EQUATION_ONE_DIM_1,CMFE_EQUATIONS_SET_DIFFUSION_EQUATION_TWO_DIM_1, &
2964  & CMFE_EQUATIONS_SET_DIFFUSION_EQUATION_THREE_DIM_1, &
2965  & CMFE_EQUATIONS_SET_LINEAR_SOURCE_DIFFUSION_THREE_DIM_1,CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_DIFFUSION_ONE_DIM_1, &
2966  & CMFE_EQUATIONS_SET_EXPONENTIAL_SOURCE_DIFFUSION_ONE_DIM_1,CMFE_EQUATIONS_SET_MULTI_COMP_DIFFUSION_TWO_COMP_TWO_DIM, &
2967  & CMFE_EQUATIONS_SET_MULTI_COMP_DIFFUSION_TWO_COMP_THREE_DIM,CMFE_EQUATIONS_SET_MULTI_COMP_DIFFUSION_THREE_COMP_THREE_DIM, &
2968  & CMFE_EQUATIONS_SET_MULTI_COMP_DIFFUSION_FOUR_COMP_THREE_DIM
2969 
2970 
2971  PUBLIC CMFE_EQUATIONS_SET_ADVECTION_DIFFUSION_EQUATION_TWO_DIM_1
2972 
2973  PUBLIC CMFE_EQUATIONS_SET_POISEUILLE_EQUATION_TWO_DIM_1
2974 
2975  PUBLIC CMFE_EQUATIONS_SET_BURGERS_EQUATION_ONE_DIM_1,CMFE_EQUATIONS_SET_GENERALISED_BURGERS_EQUATION_ONE_DIM_1, &
2976  & CMFE_EQUATIONS_SET_GENERALISED_BURGERS_EQUATION_ONE_DIM_2, &
2977  & CMFE_EQUATIONS_SET_STATIC_BURGERS_EQUATION_ONE_DIM_1
2978 
2979  PUBLIC CMFE_EQUATIONS_SET_POISSON_EQUATION_TWO_DIM_1,CMFE_EQUATIONS_SET_POISSON_EQUATION_TWO_DIM_2, &
2980  & CMFE_EQUATIONS_SET_POISSON_EQUATION_TWO_DIM_3
2981  PUBLIC CMFE_EQUATIONS_SET_POISSON_EQUATION_THREE_DIM_1,CMFE_EQUATIONS_SET_POISSON_EQUATION_THREE_DIM_2, &
2982  & CMFE_EQUATIONS_SET_POISSON_EQUATION_THREE_DIM_3
2983  PUBLIC CMFE_EQUATIONS_SET_PRESSURE_POISSON_THREE_DIM_1, &
2984  & CMFE_EQUATIONS_SET_PRESSURE_POISSON_THREE_DIM_2
2985 
2986  PUBLIC CMFE_EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_1,CMFE_EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_2, &
2987  & CMFE_EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_3
2988  PUBLIC CMFE_EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_4,CMFE_EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_5
2989  PUBLIC CMFE_EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_1,CMFE_EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_2, &
2990  & CMFE_EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_3
2991  PUBLIC CMFE_EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_4,CMFE_EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_5
2992 
2993  PUBLIC CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_POISEUILLE, &
2994  & CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_TAYLOR_GREEN
2995  PUBLIC CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_FLOWRATE_AORTA, &
2996  & CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_SINUSOID, &
2997  & CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_SPLINT_FROM_FILE
2998  PUBLIC CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_1,CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_2, &
2999  & CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_3
3000  PUBLIC CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_4,CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_5
3001  PUBLIC CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_1,CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_2, &
3002  & CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_3
3003  PUBLIC CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_4,CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_5
3004 
3005  PUBLIC CMFE_EQUATIONS_SET_DARCY_EQUATION_TWO_DIM_1,CMFE_EQUATIONS_SET_DARCY_EQUATION_TWO_DIM_2, &
3006  & CMFE_EQUATIONS_SET_DARCY_EQUATION_TWO_DIM_3
3007  PUBLIC CMFE_EQUATIONS_SET_DARCY_EQUATION_THREE_DIM_1,CMFE_EQUATIONS_SET_DARCY_EQUATION_THREE_DIM_2, &
3008  & CMFE_EQUATIONS_SET_DARCY_EQUATION_THREE_DIM_3
3009  PUBLIC CMFE_EQUATIONS_SET_INCOMP_ELAST_DARCY_ANALYTIC_DARCY
3010 
3011  PUBLIC CMFE_EQUATIONS_SET_FINITE_ELASTICITY_CYLINDER
3012  PUBLIC CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_PIN_IDX,CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_POUT_IDX
3013  PUBLIC CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_LAMBDA_IDX,CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_TSI_IDX
3014  PUBLIC CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_RIN_IDX,CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_ROUT_IDX
3015  PUBLIC CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_C1_IDX,CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_C2_IDX
3016 
3017 !!==================================================================================================================================
3018 !!
3019 !! EQUATIONS_SET_ROUTINES
3020 !!
3021 !!==================================================================================================================================
3022 
3023  !Module parameters
3024 
3025  !Module types
3026 
3027  !Module variables
3028 
3029  !Interfaces
3030 
3031  !>Finish the creation of a analytic solution for an equations set. \see OpenCMISS::Iron::cmfe_EquationsSet_AnalyticCreateStart
3032  INTERFACE cmfe_EquationsSet_AnalyticCreateFinish
3033  MODULE PROCEDURE cmfe_EquationsSet_AnalyticCreateFinishNumber
3034  MODULE PROCEDURE cmfe_EquationsSet_AnalyticCreateFinishObj
3035  END INTERFACE cmfe_EquationsSet_AnalyticCreateFinish
3036 
3037  !>Start the creation of a analytic solution for an equations set. \see OpenCMISS::Iron::cmfe_EquationsSet_AnalyticCreateFinish
3038  INTERFACE cmfe_EquationsSet_AnalyticCreateStart
3039  MODULE PROCEDURE cmfe_EquationsSet_AnalyticCreateStartNumber
3040  MODULE PROCEDURE cmfe_EquationsSet_AnalyticCreateStartObj
3041  END INTERFACE cmfe_EquationsSet_AnalyticCreateStart
3042 
3043  !>Destroy the analytic solution for an equations set.
3044  INTERFACE cmfe_EquationsSet_AnalyticDestroy
3045  MODULE PROCEDURE cmfe_EquationsSet_AnalyticDestroyNumber
3046  MODULE PROCEDURE cmfe_EquationsSet_AnalyticDestroyObj
3047  END INTERFACE cmfe_EquationsSet_AnalyticDestroy
3048 
3049  !>Evaluates the current analytic solution for an equations set.
3050  INTERFACE cmfe_EquationsSet_AnalyticEvaluate
3051  MODULE PROCEDURE cmfe_EquationsSet_AnalyticEvaluateNumber
3052  MODULE PROCEDURE cmfe_EquationsSet_AnalyticEvaluateObj
3053  END INTERFACE cmfe_EquationsSet_AnalyticEvaluate
3054 
3055  !>Returns the analytic time for an equations set.
3056  INTERFACE cmfe_EquationsSet_AnalyticTimeGet
3057  MODULE PROCEDURE cmfe_EquationsSet_AnalyticTimeGetNumber
3058  MODULE PROCEDURE cmfe_EquationsSet_AnalyticTimeGetObj
3059  END INTERFACE cmfe_EquationsSet_AnalyticTimeGet
3060 
3061  !>Sets/changes the analytic time for an equations set.
3062  INTERFACE cmfe_EquationsSet_AnalyticTimeSet
3063  MODULE PROCEDURE cmfe_EquationsSet_AnalyticTimeSetNumber
3064  MODULE PROCEDURE cmfe_EquationsSet_AnalyticTimeSetObj
3065  END INTERFACE cmfe_EquationsSet_AnalyticTimeSet
3066 
3067  !>Finish the creation of an equations set. \see OpenCMISS::Iron::cmfe_EquationsSet_CreateStart
3068  INTERFACE cmfe_EquationsSet_CreateFinish
3069  MODULE PROCEDURE cmfe_EquationsSet_CreateFinishNumber
3070  MODULE PROCEDURE cmfe_EquationsSet_CreateFinishObj
3071  END INTERFACE cmfe_EquationsSet_CreateFinish
3072 
3073  !>Start the creation of an equations set on a region. \see OpenCMISS::Iron::cmfe_EquationsSet_CreateFinish
3074  INTERFACE cmfe_EquationsSet_CreateStart
3075  MODULE PROCEDURE cmfe_EquationsSet_CreateStartNumber
3076  MODULE PROCEDURE cmfe_EquationsSet_CreateStartObj
3077  END INTERFACE cmfe_EquationsSet_CreateStart
3078 
3079  !>Destroy an equations set.
3080  INTERFACE cmfe_EquationsSet_Destroy
3081  MODULE PROCEDURE cmfe_EquationsSet_DestroyNumber
3082  MODULE PROCEDURE cmfe_EquationsSet_DestroyObj
3083  END INTERFACE cmfe_EquationsSet_Destroy
3084 
3085  !>Finish the creation of dependent variables for an equations set. \see OpenCMISS::Iron::cmfe_EquationsSet_DependentCreateStart
3086  INTERFACE cmfe_EquationsSet_DependentCreateFinish
3087  MODULE PROCEDURE cmfe_EquationsSet_DependentCreateFinishNumber
3088  MODULE PROCEDURE cmfe_EquationsSet_DependentCreateFinishObj
3089  END INTERFACE cmfe_EquationsSet_DependentCreateFinish
3090 
3091  !>Start the creation of dependent variables for an equations set. \see OpenCMISS::Iron::cmfe_EquationsSet_DependentCreateFinish
3092  INTERFACE cmfe_EquationsSet_DependentCreateStart
3093  MODULE PROCEDURE cmfe_EquationsSet_DependentCreateStartNumber
3094  MODULE PROCEDURE cmfe_EquationsSet_DependentCreateStartObj
3095  END INTERFACE cmfe_EquationsSet_DependentCreateStart
3096 
3097  !>Destroy the dependent variables for an equations set.
3098  INTERFACE cmfe_EquationsSet_DependentDestroy
3099  MODULE PROCEDURE cmfe_EquationsSet_DependentDestroyNumber
3100  MODULE PROCEDURE cmfe_EquationsSet_DependentDestroyObj
3101  END INTERFACE cmfe_EquationsSet_DependentDestroy
3102 
3103  !>Finish the creation of derived variables for an equations set. \see OpenCMISS::Iron::cmfe_EquationsSet_DerivedCreateStart
3104  INTERFACE cmfe_EquationsSet_DerivedCreateFinish
3105  MODULE PROCEDURE cmfe_EquationsSet_DerivedCreateFinishNumber
3106  MODULE PROCEDURE cmfe_EquationsSet_DerivedCreateFinishObj
3107  END INTERFACE cmfe_EquationsSet_DerivedCreateFinish
3108 
3109  !>Start the creation of derived variables for an equations set. These are used to store any intermediate
3110  !>calculated values, for example stress and strain fields in an elasticity problem. \see OpenCMISS::Iron::cmfe_EquationsSet_DerivedCreateFinish
3111  INTERFACE cmfe_EquationsSet_DerivedCreateStart
3112  MODULE PROCEDURE cmfe_EquationsSet_DerivedCreateStartNumber
3113  MODULE PROCEDURE cmfe_EquationsSet_DerivedCreateStartObj
3114  END INTERFACE cmfe_EquationsSet_DerivedCreateStart
3115 
3116  !>Destroy the derived variables for an equations set.
3117  INTERFACE cmfe_EquationsSet_DerivedDestroy
3118  MODULE PROCEDURE cmfe_EquationsSet_DerivedDestroyNumber
3119  MODULE PROCEDURE cmfe_EquationsSet_DerivedDestroyObj
3120  END INTERFACE cmfe_EquationsSet_DerivedDestroy
3121 
3122  !>Finish the creation of equations for an equations set. \see OpenCMISS::Iron::cmfe_EquationsSet_EquationsCreateStart
3123  INTERFACE cmfe_EquationsSet_EquationsCreateFinish
3124  MODULE PROCEDURE cmfe_EquationsSet_EquationsCreateFinishNumber
3125  MODULE PROCEDURE cmfe_EquationsSet_EquationsCreateFinishObj
3126  END INTERFACE cmfe_EquationsSet_EquationsCreateFinish
3127 
3128  !>Start the creation of equations for an equations set. \see OpenCMISS::Iron::cmfe_EquationsSet_EquationsCreateFinish
3129  INTERFACE cmfe_EquationsSet_EquationsCreateStart
3130  MODULE PROCEDURE cmfe_EquationsSet_EquationsCreateStartNumber
3131  MODULE PROCEDURE cmfe_EquationsSet_EquationsCreateStartObj
3132  END INTERFACE cmfe_EquationsSet_EquationsCreateStart
3133 
3134  !>Destroy the equations for an equations set.
3135  INTERFACE cmfe_EquationsSet_EquationsDestroy
3136  MODULE PROCEDURE cmfe_EquationsSet_EquationsDestroyNumber
3137  MODULE PROCEDURE cmfe_EquationsSet_EquationsDestroyObj
3138  END INTERFACE cmfe_EquationsSet_EquationsDestroy
3139 
3140  !>Finish the creation of independent fields for an equations set. \see OpenCMISS::Iron::cmfe_EquationsSet_IndependentCreateStart
3141  INTERFACE cmfe_EquationsSet_IndependentCreateFinish
3142  MODULE PROCEDURE cmfe_EquationsSet_IndependentCreateFinishNumber
3143  MODULE PROCEDURE cmfe_EquationsSet_IndependentCreateFinishObj
3144  END INTERFACE cmfe_EquationsSet_IndependentCreateFinish
3145 
3146  !>Start the creation of independent fields for an equations set. \see OpenCMISS::Iron::cmfe_EquationsSet_MaterialsCreateFinish
3147  INTERFACE cmfe_EquationsSet_IndependentCreateStart
3148  MODULE PROCEDURE cmfe_EquationsSet_IndependentCreateStartNumber
3149  MODULE PROCEDURE cmfe_EquationsSet_IndependentCreateStartObj
3150  END INTERFACE cmfe_EquationsSet_IndependentCreateStart
3151 
3152  !>Destroy the independent fields for an equations set.
3153  INTERFACE cmfe_EquationsSet_IndependentDestroy
3154  MODULE PROCEDURE cmfe_EquationsSet_IndependentDestroyNumber
3155  MODULE PROCEDURE cmfe_EquationsSet_IndependentDestroyObj
3156  END INTERFACE cmfe_EquationsSet_IndependentDestroy
3157 
3158  !>Finish the creation of materials for an equations set. \see OpenCMISS::Iron::cmfe_EquationsSet_MaterialsCreateStart
3159  INTERFACE cmfe_EquationsSet_MaterialsCreateFinish
3160  MODULE PROCEDURE cmfe_EquationsSet_MaterialsCreateFinishNumber
3161  MODULE PROCEDURE cmfe_EquationsSet_MaterialsCreateFinishObj
3162  END INTERFACE cmfe_EquationsSet_MaterialsCreateFinish
3163 
3164  !>Start the creation of materials for an equations set. \see OpenCMISS::Iron::cmfe_EquationsSet_MaterialsCreateFinish
3165  INTERFACE cmfe_EquationsSet_MaterialsCreateStart
3166  MODULE PROCEDURE cmfe_EquationsSet_MaterialsCreateStartNumber
3167  MODULE PROCEDURE cmfe_EquationsSet_MaterialsCreateStartObj
3168  END INTERFACE cmfe_EquationsSet_MaterialsCreateStart
3169 
3170  !>Destroy the materials for an equations set.
3171  INTERFACE cmfe_EquationsSet_MaterialsDestroy
3172  MODULE PROCEDURE cmfe_EquationsSet_MaterialsDestroyNumber
3173  MODULE PROCEDURE cmfe_EquationsSet_MaterialsDestroyObj
3174  END INTERFACE cmfe_EquationsSet_MaterialsDestroy
3175 
3176  !>Returns the solution method for an equations set.
3177  INTERFACE cmfe_EquationsSet_SolutionMethodGet
3178  MODULE PROCEDURE cmfe_EquationsSet_SolutionMethodGetNumber
3179  MODULE PROCEDURE cmfe_EquationsSet_SolutionMethodGetObj
3180  END INTERFACE cmfe_EquationsSet_SolutionMethodGet
3181 
3182  !>Sets/changes the solution method for an equations set.
3183  INTERFACE cmfe_EquationsSet_SolutionMethodSet
3184  MODULE PROCEDURE cmfe_EquationsSet_SolutionMethodSetNumber
3185  MODULE PROCEDURE cmfe_EquationsSet_SolutionMethodSetObj
3186  END INTERFACE cmfe_EquationsSet_SolutionMethodSet
3187 
3188  !>Finish the creation of a source for an equations set. \see OpenCMISS::Iron::cmfe_EquationsSet_SourceCreateStart
3189  INTERFACE cmfe_EquationsSet_SourceCreateFinish
3190  MODULE PROCEDURE cmfe_EquationsSet_SourceCreateFinishNumber
3191  MODULE PROCEDURE cmfe_EquationsSet_SourceCreateFinishObj
3192  END INTERFACE cmfe_EquationsSet_SourceCreateFinish
3193 
3194  !>Start the creation of a source for an equations set. \see OpenCMISS::Iron::cmfe_EquationsSet_SourceCreateFinish
3195  INTERFACE cmfe_EquationsSet_SourceCreateStart
3196  MODULE PROCEDURE cmfe_EquationsSet_SourceCreateStartNumber
3197  MODULE PROCEDURE cmfe_EquationsSet_SourceCreateStartObj
3198  END INTERFACE cmfe_EquationsSet_SourceCreateStart
3199 
3200  !>Destroy the source for an equations set.
3201  INTERFACE cmfe_EquationsSet_SourceDestroy
3202  MODULE PROCEDURE cmfe_EquationsSet_SourceDestroyNumber
3203  MODULE PROCEDURE cmfe_EquationsSet_SourceDestroyObj
3204  END INTERFACE cmfe_EquationsSet_SourceDestroy
3205 
3206  !>Returns the equations set specification array
3207  INTERFACE cmfe_EquationsSet_SpecificationGet
3208  MODULE PROCEDURE cmfe_EquationsSet_SpecificationGetNumber
3209  MODULE PROCEDURE cmfe_EquationsSet_SpecificationGetObj
3210  END INTERFACE cmfe_EquationsSet_SpecificationGet
3211 
3212  !>Returns the size of the equations set specification array.
3213  INTERFACE cmfe_EquationsSet_SpecificationSizeGet
3214  MODULE PROCEDURE cmfe_EquationsSet_SpecificationSizeGetNumber
3215  MODULE PROCEDURE cmfe_EquationsSet_SpecificationSizeGetObj
3216  END INTERFACE cmfe_EquationsSet_SpecificationSizeGet
3217 
3218  !>Calculates an output field for the equations set.
3219  INTERFACE cmfe_EquationsSet_DerivedVariableCalculate
3220  MODULE PROCEDURE cmfe_EquationsSet_DerivedVariableCalculateNumber
3221  MODULE PROCEDURE cmfe_EquationsSet_DerivedVariableCalculateObj
3222  END INTERFACE cmfe_EquationsSet_DerivedVariableCalculate
3223 
3224  !>Set the derived field variable type to be used by a derived variable
3225  INTERFACE cmfe_EquationsSet_DerivedVariableSet
3226  MODULE PROCEDURE cmfe_EquationsSet_DerivedVariableSetNumber
3227  MODULE PROCEDURE cmfe_EquationsSet_DerivedVariableSetObj
3228  END INTERFACE cmfe_EquationsSet_DerivedVariableSet
3229 
3230  !>Evaluate a tensor at a given element xi location.
3231  INTERFACE cmfe_EquationsSet_TensorInterpolateXi
3232  MODULE PROCEDURE cmfe_EquationsSet_TensorInterpolateXiNumber
3233  MODULE PROCEDURE cmfe_EquationsSet_TensorInterpolateXiObj
3234  END INTERFACE cmfe_EquationsSet_TensorInterpolateXi
3235 
3236  !>Gets the equations set analytic user parameter
3237  INTERFACE cmfe_EquationsSet_AnalyticUserParamGet
3238  MODULE PROCEDURE cmfe_EquationsSet_AnalyticUserParamGetNumber
3239  MODULE PROCEDURE cmfe_EquationsSet_AnalyticUserParamGetObj
3240  END INTERFACE cmfe_EquationsSet_AnalyticUserParamGet
3241 
3242  !>Sets/changes the equations set analytic user parameter
3243  INTERFACE cmfe_EquationsSet_AnalyticUserParamSet
3244  MODULE PROCEDURE cmfe_EquationsSet_AnalyticUserParamSetNumber
3245  MODULE PROCEDURE cmfe_EquationsSet_AnalyticUserParamSetObj
3246  END INTERFACE cmfe_EquationsSet_AnalyticUserParamSet
3247 
3248  PUBLIC cmfe_EquationsSet_AnalyticCreateFinish,cmfe_EquationsSet_AnalyticCreateStart
3249 
3250  PUBLIC cmfe_EquationsSet_AnalyticDestroy
3251 
3252  PUBLIC cmfe_EquationsSet_AnalyticEvaluate
3253 
3254  PUBLIC cmfe_EquationsSet_AnalyticTimeGet,cmfe_EquationsSet_AnalyticTimeSet
3255 
3256  PUBLIC cmfe_EquationsSet_CreateFinish,cmfe_EquationsSet_CreateStart
3257 
3258  PUBLIC cmfe_EquationsSet_Destroy
3259 
3260  PUBLIC cmfe_EquationsSet_DependentCreateFinish,cmfe_EquationsSet_DependentCreateStart
3261 
3262  PUBLIC cmfe_EquationsSet_DependentDestroy
3263 
3264  PUBLIC cmfe_EquationsSet_DerivedCreateFinish,cmfe_EquationsSet_DerivedCreateStart
3265 
3266  PUBLIC cmfe_EquationsSet_DerivedDestroy
3267 
3268  PUBLIC cmfe_EquationsSet_DerivedVariableCalculate,cmfe_EquationsSet_DerivedVariableSet
3269 
3270  PUBLIC cmfe_EquationsSet_EquationsCreateFinish,cmfe_EquationsSet_EquationsCreateStart
3271 
3272  PUBLIC cmfe_EquationsSet_EquationsDestroy
3273 
3274  PUBLIC cmfe_EquationsSet_IndependentCreateFinish,cmfe_EquationsSet_IndependentCreateStart
3275 
3276  PUBLIC cmfe_EquationsSet_IndependentDestroy
3277 
3278  PUBLIC cmfe_EquationsSet_MaterialsCreateFinish,cmfe_EquationsSet_MaterialsCreateStart
3279 
3280  PUBLIC cmfe_EquationsSet_MaterialsDestroy
3281 
3282  PUBLIC cmfe_EquationsSet_SolutionMethodGet,cmfe_EquationsSet_SolutionMethodSet
3283 
3284  PUBLIC cmfe_EquationsSet_SourceCreateFinish,cmfe_EquationsSet_SourceCreateStart
3285 
3286  PUBLIC cmfe_EquationsSet_SourceDestroy
3287 
3288  PUBLIC cmfe_EquationsSet_SpecificationGet,cmfe_EquationsSet_SpecificationSizeGet
3289 
3290  PUBLIC cmfe_EquationsSet_TensorInterpolateXi
3291 
3292  PUBLIC cmfe_EquationsSet_AnalyticUserParamSet,cmfe_EquationsSet_AnalyticUserParamGet
3293 
3294 !!==================================================================================================================================
3295 !!
3296 !! FIELD_ROUTINES
3297 !!
3298 !!==================================================================================================================================
3299 
3300  !Module parameters
3301 
3302  !> \addtogroup OPENCMISS_FieldConstants OPENCMISS::Field::Constants
3303  !> \brief Field constants.
3304  !>@{
3305  !> \addtogroup OPENCMISS_FieldDependentTypes OPENCMISS::Field::DependentTypes
3306  !> \brief Depedent field parameter types.
3307  !> \see OPENCMISS::Field,OPENCMISS
3308  !>@{
3309  INTEGER(INTG), PARAMETER :: CMFE_FIELD_INDEPENDENT_TYPE = FIELD_INDEPENDENT_TYPE !<Independent field type \see OPENCMISS_FieldDependentTypes,OPENCMISS
3310  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DEPENDENT_TYPE = FIELD_DEPENDENT_TYPE !<Dependent field type \see OPENCMISS_FieldDependentTypes,OPENCMISS
3311  !>@}
3312  !> \addtogroup OPENCMISS_FieldDimensionTypes OPENCMISS::Field::DimensionTypes
3313  !> \brief Field dimension parameter types.
3314  !> \see OPENCMISS::Field,OPENCMISS
3315  !>@{
3316  INTEGER(INTG), PARAMETER :: CMFE_FIELD_SCALAR_DIMENSION_TYPE = FIELD_SCALAR_DIMENSION_TYPE !<Scalar field \see OPENCMISS_FieldDimensionTypes,OPENCMISS
3317  INTEGER(INTG), PARAMETER :: CMFE_FIELD_VECTOR_DIMENSION_TYPE = FIELD_VECTOR_DIMENSION_TYPE !<Vector field \see OPENCMISS_FieldDimensionTypes,OPENCMISS
3318  INTEGER(INTG), PARAMETER :: CMFE_FIELD_TENSOR_DIMENSION_TYPE = FIELD_TENSOR_DIMENSION_TYPE !<Tensor field \see OPENCMISS_FieldDimensionTypes,OPENCMISS
3319  !>@}
3320  !> \addtogroup OPENCMISS_FieldTypes OPENCMISS::Field::Types
3321  !> \brief Field type parameters.
3322  !> \see OPENCMISS::Field,OPENCMISS
3323  !>@{
3324  INTEGER(INTG), PARAMETER :: CMFE_FIELD_GEOMETRIC_TYPE = FIELD_GEOMETRIC_TYPE !<Geometric field \see OPENCMISS_FieldTypes,OPENCMISS
3325  INTEGER(INTG), PARAMETER :: CMFE_FIELD_FIBRE_TYPE = FIELD_FIBRE_TYPE !<Fibre field \see OPENCMISS_FieldTypes,OPENCMISS
3326  INTEGER(INTG), PARAMETER :: CMFE_FIELD_GENERAL_TYPE = FIELD_GENERAL_TYPE !<General field \see OPENCMISS_FieldTypes,OPENCMISS
3327  INTEGER(INTG), PARAMETER :: CMFE_FIELD_MATERIAL_TYPE = FIELD_MATERIAL_TYPE !<Material field \see OPENCMISS_FieldTypes,OPENCMISS
3328  INTEGER(INTG), PARAMETER :: CMFE_FIELD_GEOMETRIC_GENERAL_TYPE = FIELD_GEOMETRIC_GENERAL_TYPE !<Geometric general field \see OPENCMISS_FieldTypes,OPENCMISS
3329  !>@}
3330  !> \addtogroup OPENCMISS_FieldInterpolationTypes OPENCMISS::Field::InterpolationTypes
3331  !> \brief Field interpolation parameters.
3332  !> \see OPENCMISS::Field,OPENCMISS
3333  !>@{
3334  INTEGER(INTG), PARAMETER :: CMFE_FIELD_CONSTANT_INTERPOLATION = FIELD_CONSTANT_INTERPOLATION !<Constant interpolation. One parameter for the field \see OPENCMISS_FieldInterpolationTypes,OPENCMISS
3335  INTEGER(INTG), PARAMETER :: CMFE_FIELD_ELEMENT_BASED_INTERPOLATION = FIELD_ELEMENT_BASED_INTERPOLATION !<Element based interpolation. Parameters are different in each element \see OPENCMISS_FieldInterpolationTypes,OPENCMISS
3336  INTEGER(INTG), PARAMETER :: CMFE_FIELD_NODE_BASED_INTERPOLATION = FIELD_NODE_BASED_INTERPOLATION !<Node based interpolation. Parameters are nodal based and a basis function is used \see OPENCMISS_FieldInterpolationTypes,OPENCMISS
3337  INTEGER(INTG), PARAMETER :: CMFE_FIELD_GRID_POINT_BASED_INTERPOLATION = FIELD_GRID_POINT_BASED_INTERPOLATION !<Grid point based interpolation. Parameters are different at each grid point \see OPENCMISS_FieldInterpolationTypes,OPENCMISS
3338  INTEGER(INTG), PARAMETER :: CMFE_FIELD_GAUSS_POINT_BASED_INTERPOLATION = FIELD_GAUSS_POINT_BASED_INTERPOLATION !<Gauss point based interpolation. Parameters are different at each Gauss point \see OPENCMISS_FieldInterpolationTypes,OPENCMISS
3339  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DATA_POINT_BASED_INTERPOLATION = FIELD_DATA_POINT_BASED_INTERPOLATION !<Data point based interpolation. Parameters are different at each data point \see OPENCMISS_FieldInterpolationTypes,OPENCMISS
3340  !>@}
3341  !> \addtogroup OPENCMISS_FieldVariableTypes OPENCMISS::Field::VariableTypes
3342  !> \brief Field variable type parameters.
3343  !> \see OPENCMISS::Field,OPENCMISS
3344  !>@{
3345  INTEGER(INTG), PARAMETER :: CMFE_FIELD_NUMBER_OF_VARIABLE_SUBTYPES = FIELD_NUMBER_OF_VARIABLE_SUBTYPES !<The number of subtypes of a variable - i.e., u, du/dn, du/dt, d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS
3346  INTEGER(INTG), PARAMETER :: CMFE_FIELD_U_VARIABLE_TYPE = FIELD_U_VARIABLE_TYPE !<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS
3347  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELUDELN_VARIABLE_TYPE = FIELD_DELUDELN_VARIABLE_TYPE !<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS
3348  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELUDELT_VARIABLE_TYPE = FIELD_DELUDELT_VARIABLE_TYPE !<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS
3349  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DEL2UDELT2_VARIABLE_TYPE = FIELD_DEL2UDELT2_VARIABLE_TYPE !<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS
3350  INTEGER(INTG), PARAMETER :: CMFE_FIELD_V_VARIABLE_TYPE = FIELD_V_VARIABLE_TYPE !<Second standard variable type i.e., v \see OPENCMISS_FieldVariableTypes,OPENCMISS
3351  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELVDELN_VARIABLE_TYPE = FIELD_DELVDELN_VARIABLE_TYPE !<Second normal derivative variable type i.e., dv/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS
3352  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELVDELT_VARIABLE_TYPE = FIELD_DELVDELT_VARIABLE_TYPE !<Second first time derivative variable type i.e., dv/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS
3353  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DEL2VDELT2_VARIABLE_TYPE = FIELD_DEL2VDELT2_VARIABLE_TYPE !<Second second time derivative variable type i.e., d^2v/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS
3354  INTEGER(INTG), PARAMETER :: CMFE_FIELD_U1_VARIABLE_TYPE = FIELD_U1_VARIABLE_TYPE !<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS
3355  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU1DELN_VARIABLE_TYPE = FIELD_DELU1DELN_VARIABLE_TYPE !<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS
3356  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU1DELT_VARIABLE_TYPE = FIELD_DELU1DELT_VARIABLE_TYPE !<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS
3357  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DEL2U1DELT2_VARIABLE_TYPE = FIELD_DEL2U1DELT2_VARIABLE_TYPE !<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS
3358  INTEGER(INTG), PARAMETER :: CMFE_FIELD_U2_VARIABLE_TYPE = FIELD_U2_VARIABLE_TYPE !<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS
3359  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU2DELN_VARIABLE_TYPE = FIELD_DELU2DELN_VARIABLE_TYPE !<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS
3360  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU2DELT_VARIABLE_TYPE = FIELD_DELU2DELT_VARIABLE_TYPE !<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS
3361  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DEL2U2DELT2_VARIABLE_TYPE = FIELD_DEL2U2DELT2_VARIABLE_TYPE !<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS
3362  INTEGER(INTG), PARAMETER :: CMFE_FIELD_U3_VARIABLE_TYPE = FIELD_U3_VARIABLE_TYPE !<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS
3363  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU3DELN_VARIABLE_TYPE = FIELD_DELU3DELN_VARIABLE_TYPE !<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS
3364  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU3DELT_VARIABLE_TYPE = FIELD_DELU3DELT_VARIABLE_TYPE !<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS
3365  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DEL2U3DELT2_VARIABLE_TYPE = FIELD_DEL2U3DELT2_VARIABLE_TYPE !<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS
3366  INTEGER(INTG), PARAMETER :: CMFE_FIELD_U4_VARIABLE_TYPE = FIELD_U4_VARIABLE_TYPE !<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS
3367  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU4DELN_VARIABLE_TYPE = FIELD_DELU4DELN_VARIABLE_TYPE !<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS
3368  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU4DELT_VARIABLE_TYPE = FIELD_DELU4DELT_VARIABLE_TYPE !<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS
3369  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DEL2U4DELT2_VARIABLE_TYPE = FIELD_DEL2U4DELT2_VARIABLE_TYPE !<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS
3370  INTEGER(INTG), PARAMETER :: CMFE_FIELD_U5_VARIABLE_TYPE = FIELD_U5_VARIABLE_TYPE !<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS
3371  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU5DELN_VARIABLE_TYPE = FIELD_DELU5DELN_VARIABLE_TYPE !<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS
3372  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU5DELT_VARIABLE_TYPE = FIELD_DELU5DELT_VARIABLE_TYPE !<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS
3373  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DEL2U5DELT2_VARIABLE_TYPE = FIELD_DEL2U5DELT2_VARIABLE_TYPE !<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS
3374  INTEGER(INTG), PARAMETER :: CMFE_FIELD_U6_VARIABLE_TYPE = FIELD_U6_VARIABLE_TYPE !<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS
3375  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU6DELN_VARIABLE_TYPE = FIELD_DELU6DELN_VARIABLE_TYPE !<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS
3376  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU6DELT_VARIABLE_TYPE = FIELD_DELU6DELT_VARIABLE_TYPE !<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS
3377  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DEL2U6DELT2_VARIABLE_TYPE = FIELD_DEL2U6DELT2_VARIABLE_TYPE !<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS
3378  INTEGER(INTG), PARAMETER :: CMFE_FIELD_U7_VARIABLE_TYPE = FIELD_U7_VARIABLE_TYPE !<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS
3379  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU7DELN_VARIABLE_TYPE = FIELD_DELU7DELN_VARIABLE_TYPE !<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS
3380  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU7DELT_VARIABLE_TYPE = FIELD_DELU7DELT_VARIABLE_TYPE !<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS
3381  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DEL2U7DELT2_VARIABLE_TYPE = FIELD_DEL2U7DELT2_VARIABLE_TYPE !<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS
3382  INTEGER(INTG), PARAMETER :: CMFE_FIELD_U8_VARIABLE_TYPE = FIELD_U8_VARIABLE_TYPE !<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS
3383  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU8DELN_VARIABLE_TYPE = FIELD_DELU8DELN_VARIABLE_TYPE !<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS
3384  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU8DELT_VARIABLE_TYPE = FIELD_DELU8DELT_VARIABLE_TYPE !<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS
3385  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DEL2U8DELT2_VARIABLE_TYPE = FIELD_DEL2U8DELT2_VARIABLE_TYPE !<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS
3386  INTEGER(INTG), PARAMETER :: CMFE_FIELD_U9_VARIABLE_TYPE = FIELD_U9_VARIABLE_TYPE !<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS
3387  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU9DELN_VARIABLE_TYPE = FIELD_DELU9DELN_VARIABLE_TYPE !<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS
3388  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU9DELT_VARIABLE_TYPE = FIELD_DELU9DELT_VARIABLE_TYPE !<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS
3389  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DEL2U9DELT2_VARIABLE_TYPE = FIELD_DEL2U9DELT2_VARIABLE_TYPE !<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS
3390  INTEGER(INTG), PARAMETER :: CMFE_FIELD_U10_VARIABLE_TYPE = FIELD_U10_VARIABLE_TYPE !<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS
3391  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU10DELN_VARIABLE_TYPE = FIELD_DELU10DELN_VARIABLE_TYPE !<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS
3392  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DELU10DELT_VARIABLE_TYPE = FIELD_DELU10DELT_VARIABLE_TYPE !<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS
3393  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DEL2U10DELT2_VARIABLE_TYPE = FIELD_DEL2U10DELT2_VARIABLE_TYPE !<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS
3394  !>@}
3395  !> \addtogroup OPENCMISS_FieldDataTypes OPENCMISS::Field::DataTypes
3396  !> \brief Field data types
3397  !> \see OPENCMISS::Field,OPENCMISS
3398  !>@{
3399  INTEGER(INTG), PARAMETER :: CMFE_FIELD_INTG_TYPE = FIELD_INTG_TYPE !<Integer field data type \see OPENCMISS_FieldDataTypes,OPENCMISS
3400  INTEGER(INTG), PARAMETER :: CMFE_FIELD_SP_TYPE = FIELD_SP_TYPE !<Single precision real field data type \see OPENCMISS_FieldDataTypes,OPENCMISS
3401  INTEGER(INTG), PARAMETER :: CMFE_FIELD_DP_TYPE = FIELD_DP_TYPE !<Double precision real field data type \see OPENCMISS_FieldDataTypes,OPENCMISS
3402  INTEGER(INTG), PARAMETER :: CMFE_FIELD_L_TYPE = FIELD_L_TYPE !<Logical field data type \see OPENCMISS_FieldDataTypes,OPENCMISS
3403  !>@}
3404  !> \addtogroup OPENCMISS_FieldDOFOrderTypes OPENCMISS::Field::DOFOrderTypes
3405  !> \brief Field DOF order types
3406  !> \see OPENCMISS::Field,OPENCMISS
3407  !>@{
3408  INTEGER(INTG), PARAMETER :: CMFE_FIELD_SEPARATED_COMPONENT_DOF_ORDER = FIELD_SEPARATED_COMPONENT_DOF_ORDER !<Field variable component dofs are not contiguous \see OPENCMISS_FieldDOFOrderTypes,OPENCMISS
3409  INTEGER(INTG), PARAMETER :: CMFE_FIELD_CONTIGUOUS_COMPONENT_DOF_ORDER = FIELD_CONTIGUOUS_COMPONENT_DOF_ORDER !<Field variable component dofs are contiguous \see OPENCMISS_FieldDOFOrderTypes,OPENCMISS
3410  !>@}
3411  !> \addtogroup OPENCMISS_FieldParameterSetTypes OPENCMISS::Field::ParameterSetTypes
3412  !> \brief Field parameter set type parameters
3413  !> \see OPENCMISS::Field,OPENCMISS
3414  !>@{
3415  INTEGER(INTG), PARAMETER :: CMFE_FIELD_VALUES_SET_TYPE = FIELD_VALUES_SET_TYPE !<The parameter set corresponding to the field values (at time T+DT for dynamic problems) \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3416  INTEGER(INTG), PARAMETER :: CMFE_FIELD_BOUNDARY_CONDITIONS_SET_TYPE = FIELD_BOUNDARY_CONDITIONS_SET_TYPE !<The parameter set corresponding to the field boundary condition values \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3417  INTEGER(INTG), PARAMETER :: CMFE_FIELD_INITIAL_VALUES_SET_TYPE = FIELD_INITIAL_VALUES_SET_TYPE !<The parameter set corresponding to the field initial values \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3418  INTEGER(INTG), PARAMETER :: CMFE_FIELD_INCREMENTAL_VALUES_SET_TYPE = FIELD_INCREMENTAL_VALUES_SET_TYPE !<The parameter set corresponding to the field incremental values \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3419  INTEGER(INTG), PARAMETER :: CMFE_FIELD_ANALYTIC_VALUES_SET_TYPE = FIELD_ANALYTIC_VALUES_SET_TYPE !<The parameter set corresponding to the analytic field values \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3420  INTEGER(INTG), PARAMETER :: CMFE_FIELD_PREVIOUS_VALUES_SET_TYPE = FIELD_PREVIOUS_VALUES_SET_TYPE !<The parameter set corresponding to the previous field values (at time T) \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3421  INTEGER(INTG), PARAMETER :: CMFE_FIELD_MEAN_PREDICTED_DISPLACEMENT_SET_TYPE = FIELD_MEAN_PREDICTED_DISPLACEMENT_SET_TYPE !<The parameter set corresponding to the mean predicited avalues (at time T+DT) \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3422  INTEGER(INTG), PARAMETER :: CMFE_FIELD_VELOCITY_VALUES_SET_TYPE = FIELD_VELOCITY_VALUES_SET_TYPE !<The parameter set corresponding to the velocity values (at time T+DT) \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3423  INTEGER(INTG), PARAMETER :: CMFE_FIELD_INITIAL_VELOCITY_SET_TYPE = FIELD_INITIAL_VELOCITY_SET_TYPE !<The parameter set corresponding to the initial velocity values for dynamic problems. This is also the previous velocity values \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3424  INTEGER(INTG), PARAMETER :: CMFE_FIELD_PREVIOUS_VELOCITY_SET_TYPE = FIELD_PREVIOUS_VELOCITY_SET_TYPE !<The parameter set corresponding to the previous velocity values (at time T). This is also the initial velocity values for dynamic problems. \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3425  INTEGER(INTG), PARAMETER :: CMFE_FIELD_MEAN_PREDICTED_VELOCITY_SET_TYPE = FIELD_MEAN_PREDICTED_VELOCITY_SET_TYPE !<The parameter set corresponding to the mean predicited velocity values (at time T+DT) \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3426  INTEGER(INTG), PARAMETER :: CMFE_FIELD_ACCELERATION_VALUES_SET_TYPE = FIELD_ACCELERATION_VALUES_SET_TYPE !<The parameter set corresponding to the acceleration values (at time T+DT) \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3427  INTEGER(INTG), PARAMETER :: CMFE_FIELD_INITIAL_ACCELERATION_SET_TYPE = FIELD_INITIAL_ACCELERATION_SET_TYPE !<The parameter set corresponding to the initial acceleration values for dynamic problems. This is also the previous accelearation values \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3428  INTEGER(INTG), PARAMETER :: CMFE_FIELD_PREVIOUS_ACCELERATION_SET_TYPE = FIELD_PREVIOUS_ACCELERATION_SET_TYPE !<The parameter set corresponding to the previous acceleration values (at time T).This is also the initial acceleration values for dynamic problems. \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3429  INTEGER(INTG), PARAMETER :: CMFE_FIELD_MEAN_PREDICTED_ACCELERATION_SET_TYPE = FIELD_MEAN_PREDICTED_ACCELERATION_SET_TYPE !<The parameter set corresponding to the mean predicited acceleration values (at time T+DT) \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3430  INTEGER(INTG), PARAMETER :: CMFE_FIELD_PRESSURE_VALUES_SET_TYPE = FIELD_PRESSURE_VALUES_SET_TYPE !<The parameter set corresponding to the surface pressure values. \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3431  INTEGER(INTG), PARAMETER :: CMFE_FIELD_PREVIOUS_PRESSURE_SET_TYPE = FIELD_PREVIOUS_PRESSURE_SET_TYPE !<The parameter set corresponding to the previous surface pressure values (at time T). \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3432  INTEGER(INTG), PARAMETER :: CMFE_FIELD_IMPERMEABLE_FLAG_VALUES_SET_TYPE = FIELD_IMPERMEABLE_FLAG_VALUES_SET_TYPE !<The parameter set corresponding to the impermeable flag values. \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3433  INTEGER(INTG), PARAMETER :: CMFE_FIELD_INTEGRATED_NEUMANN_SET_TYPE = FIELD_INTEGRATED_NEUMANN_SET_TYPE !<Stores integrated Neumann values calculated from Neumann point values. \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3434  INTEGER(INTG), PARAMETER :: CMFE_FIELD_MESH_DISPLACEMENT_SET_TYPE=FIELD_MESH_DISPLACEMENT_SET_TYPE !<The parameter set corresponding to the mesh displacement values for ALE \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3435  INTEGER(INTG), PARAMETER :: CMFE_FIELD_MESH_VELOCITY_SET_TYPE=FIELD_MESH_VELOCITY_SET_TYPE !<The parameter set corresponding to the mesh velocity values for ALE \see OPENCMISS_FieldParameterSetTypes,OPENCMISS
3436  !>@}
3437  !> \addtogroup OPENCMISS_FieldScalingTypes OPENCMISS::Field::ScalingTypes
3438  !> \brief Field scaling type parameters
3439  !> \see OPENCMISS::Field,OPENCMISS
3440  !>@{
3441  INTEGER(INTG), PARAMETER :: CMFE_FIELD_NO_SCALING = FIELD_NO_SCALING !<The field is not scaled \see OPENCMISS_FieldScalingTypes,OPENCMISS
3442  INTEGER(INTG), PARAMETER :: CMFE_FIELD_UNIT_SCALING = FIELD_UNIT_SCALING !<The field has unit scaling \see OPENCMISS_FieldScalingTypes,OPENCMISS
3443  INTEGER(INTG), PARAMETER :: CMFE_FIELD_ARC_LENGTH_SCALING = FIELD_ARC_LENGTH_SCALING !<The field has arc length scaling \see OPENCMISS_FieldScalingTypes,OPENCMISS
3444  INTEGER(INTG), PARAMETER :: CMFE_FIELD_ARITHMETIC_MEAN_SCALING = FIELD_ARITHMETIC_MEAN_SCALING !<The field has arithmetic mean of the arc length scaling \see OPENCMISS_FieldScalingTypes,OPENCMISS
3445  INTEGER(INTG), PARAMETER :: CMFE_FIELD_GEOMETRIC_MEAN_SCALING = FIELD_GEOMETRIC_MEAN_SCALING !<The field has geometric mean of the arc length scaling \see OPENCMISS_FieldScalingTypes,OPENCMISS
3446  INTEGER(INTG), PARAMETER :: CMFE_FIELD_HARMONIC_MEAN_SCALING = FIELD_HARMONIC_MEAN_SCALING !<The field has geometric mean of the arc length scaling \see OPENCMISS_FieldScalingTypes,OPENCMISS
3447  !>@}
3448  !>@}
3449 
3450  !Module types
3451 
3452  !Module variables
3453 
3454  !Interfaces
3455 
3456  !>Returns the interpolation type for a field variable component.
3457  INTERFACE cmfe_Field_ComponentInterpolationGet
3458  MODULE PROCEDURE cmfe_Field_ComponentInterpolationGetNumber
3459  MODULE PROCEDURE cmfe_Field_ComponentInterpolationGetObj
3460  END INTERFACE cmfe_Field_ComponentInterpolationGet
3461 
3462  !>Sets/changes the interpolation type for a field variable component.
3463  INTERFACE cmfe_Field_ComponentInterpolationSet
3464  MODULE PROCEDURE cmfe_Field_ComponentInterpolationSetNumber
3465  MODULE PROCEDURE cmfe_Field_ComponentInterpolationSetObj
3466  END INTERFACE cmfe_Field_ComponentInterpolationSet
3467 
3468  !>Returns the label for a field variable component.
3469  INTERFACE cmfe_Field_ComponentLabelGet
3470  MODULE PROCEDURE cmfe_Field_ComponentLabelGetCNumber
3471  MODULE PROCEDURE cmfe_Field_ComponentLabelGetCObj
3472  MODULE PROCEDURE cmfe_Field_ComponentLabelGetVSNumber
3473  MODULE PROCEDURE cmfe_Field_ComponentLabelGetVSObj
3474  END INTERFACE cmfe_Field_ComponentLabelGet
3475 
3476  !>Sets/changes the label for a field variable component.
3477  INTERFACE cmfe_Field_ComponentLabelSet
3478  MODULE PROCEDURE cmfe_Field_ComponentLabelSetCNumber
3479  MODULE PROCEDURE cmfe_Field_ComponentLabelSetCObj
3480  MODULE PROCEDURE cmfe_Field_ComponentLabelSetVSNumber
3481  MODULE PROCEDURE cmfe_Field_ComponentLabelSetVSObj
3482  END INTERFACE cmfe_Field_ComponentLabelSet
3483 
3484  !>Returns the mesh component number for a field variable component.
3485  INTERFACE cmfe_Field_ComponentMeshComponentGet
3486  MODULE PROCEDURE cmfe_Field_ComponentMeshComponentGetNumber
3487  MODULE PROCEDURE cmfe_Field_ComponentMeshComponentGetObj
3488  END INTERFACE cmfe_Field_ComponentMeshComponentGet
3489 
3490  !>Sets/changes the mesh component number for a field variable component.
3491  INTERFACE cmfe_Field_ComponentMeshComponentSet
3492  MODULE PROCEDURE cmfe_Field_ComponentMeshComponentSetNumber
3493  MODULE PROCEDURE cmfe_Field_ComponentMeshComponentSetObj
3494  END INTERFACE cmfe_Field_ComponentMeshComponentSet
3495 
3496  !>Initialises the values of a parameter set of a field variable component to a constant value.
3497  INTERFACE cmfe_Field_ComponentValuesInitialise
3498  MODULE PROCEDURE cmfe_Field_ComponentValuesInitialiseIntgNumber
3499  MODULE PROCEDURE cmfe_Field_ComponentValuesInitialiseIntgObj
3500  MODULE PROCEDURE cmfe_Field_ComponentValuesInitialiseSPNumber
3501  MODULE PROCEDURE cmfe_Field_ComponentValuesInitialiseSPObj
3502  MODULE PROCEDURE cmfe_Field_ComponentValuesInitialiseDPNumber
3503  MODULE PROCEDURE cmfe_Field_ComponentValuesInitialiseDPObj
3504  MODULE PROCEDURE cmfe_Field_ComponentValuesInitialiseLNumber
3505  MODULE PROCEDURE cmfe_Field_ComponentValuesInitialiseLObj
3506  END INTERFACE cmfe_Field_ComponentValuesInitialise
3507 
3508  !>Returns the data type for a field variable.
3509  INTERFACE cmfe_Field_DataTypeGet
3510  MODULE PROCEDURE cmfe_Field_DataTypeGetNumber
3511  MODULE PROCEDURE cmfe_Field_DataTypeGetObj
3512  END INTERFACE cmfe_Field_DataTypeGet
3513 
3514  !>Sets/changes the data type for a field variable.
3515  INTERFACE cmfe_Field_DataTypeSet
3516  MODULE PROCEDURE cmfe_Field_DataTypeSetNumber
3517  MODULE PROCEDURE cmfe_Field_DataTypeSetObj
3518  END INTERFACE cmfe_Field_DataTypeSet
3519 
3520  !>Returns the DOF order type for a field variable.
3521  INTERFACE cmfe_Field_DOFOrderTypeGet
3522  MODULE PROCEDURE cmfe_Field_DOFOrderTypeGetNumber
3523  MODULE PROCEDURE cmfe_Field_DOFOrderTypeGetObj
3524  END INTERFACE cmfe_Field_DOFOrderTypeGet
3525 
3526  !>Sets/changes the DOF order type for a field variable. Note: for contiguous coponent DOF ordering all the components of the field variable must have the same interpolation type.
3527  INTERFACE cmfe_Field_DOFOrderTypeSet
3528  MODULE PROCEDURE cmfe_Field_DOFOrderTypeSetNumber
3529  MODULE PROCEDURE cmfe_Field_DOFOrderTypeSetObj
3530  END INTERFACE cmfe_Field_DOFOrderTypeSet
3531 
3532  !>Finishes the creation of a field. \see OpenCMISS::Iron::cmfe_Field_CreateStart
3533  INTERFACE cmfe_Field_CreateFinish
3534  MODULE PROCEDURE cmfe_Field_CreateFinishNumber
3535  MODULE PROCEDURE cmfe_Field_CreateFinishObj
3536  END INTERFACE cmfe_Field_CreateFinish
3537 
3538  !>Starts the creation of a field. \see OpenCMISS::Iron::cmfe_Field_CreateFinish
3539  INTERFACE cmfe_Field_CreateStart
3540  MODULE PROCEDURE cmfe_Field_CreateStartNumber
3541  MODULE PROCEDURE cmfe_Field_CreateStartInterfaceObj
3542  MODULE PROCEDURE cmfe_Field_CreateStartRegionObj
3543  END INTERFACE cmfe_Field_CreateStart
3544 
3545  !>Returns the dependent type for a field.
3546  INTERFACE cmfe_Field_DependentTypeGet
3547  MODULE PROCEDURE cmfe_Field_DependentTypeGetNumber
3548  MODULE PROCEDURE cmfe_Field_DependentTypeGetObj
3549  END INTERFACE cmfe_Field_DependentTypeGet
3550 
3551  !>Sets/changes the dependent type for a field.
3552  INTERFACE cmfe_Field_DependentTypeSet
3553  MODULE PROCEDURE cmfe_Field_DependentTypeSetNumber
3554  MODULE PROCEDURE cmfe_Field_DependentTypeSetObj
3555  END INTERFACE cmfe_Field_DependentTypeSet
3556 
3557  !>Destroys a field.
3558  INTERFACE cmfe_Field_Destroy
3559  MODULE PROCEDURE cmfe_Field_DestroyNumber
3560  MODULE PROCEDURE cmfe_Field_DestroyObj
3561  END INTERFACE cmfe_Field_Destroy
3562 
3563  !>Returns the field dimension for a field variable.
3564  INTERFACE cmfe_Field_DimensionGet
3565  MODULE PROCEDURE cmfe_Field_DimensionGetNumber
3566  MODULE PROCEDURE cmfe_Field_DimensionGetObj
3567  END INTERFACE cmfe_Field_DimensionGet
3568 
3569  !>Sets/changes the field dimension for a field variable.
3570  INTERFACE cmfe_Field_DimensionSet
3571  MODULE PROCEDURE cmfe_Field_DimensionSetNumber
3572  MODULE PROCEDURE cmfe_Field_DimensionSetObj
3573  END INTERFACE cmfe_Field_DimensionSet
3574 
3575  !>Returns the geometric field for a field.
3576  INTERFACE cmfe_Field_GeometricFieldGet
3577  MODULE PROCEDURE cmfe_Field_GeometricFieldGetNumber
3578  MODULE PROCEDURE cmfe_Field_GeometricFieldGetObj
3579  END INTERFACE cmfe_Field_GeometricFieldGet
3580 
3581  !>Sets/changes the geometric field for a field.
3582  INTERFACE cmfe_Field_GeometricFieldSet
3583  MODULE PROCEDURE cmfe_Field_GeometricFieldSetNumber
3584  MODULE PROCEDURE cmfe_Field_GeometricFieldSetObj
3585  END INTERFACE cmfe_Field_GeometricFieldSet
3586 
3587  !>Gets line lengths from a geometric field given an element number and element basis line number.
3588  INTERFACE cmfe_Field_GeometricParametersElementLineLengthGet
3589  MODULE PROCEDURE cmfe_Field_GeometricParametersElementLineLengthGetNumber
3590  MODULE PROCEDURE cmfe_Field_GeometricParametersElementLineLengthGetObj
3591  END INTERFACE cmfe_Field_GeometricParametersElementLineLengthGet
3592 
3593  !>Gets volumes from a geometric field given an element number.
3594  INTERFACE cmfe_Field_GeometricParametersElementVolumeGet
3595  MODULE PROCEDURE cmfe_Field_GeometricParametersElementVolumeGetNumber
3596  MODULE PROCEDURE cmfe_Field_GeometricParametersElementVolumeGetObj
3597  END INTERFACE cmfe_Field_GeometricParametersElementVolumeGet
3598 
3599  !>Returns the label for a field.
3600  INTERFACE cmfe_Field_LabelGet
3601  MODULE PROCEDURE cmfe_Field_LabelGetCNumber
3602  MODULE PROCEDURE cmfe_Field_LabelGetCObj
3603  MODULE PROCEDURE cmfe_Field_LabelGetVSNumber
3604  MODULE PROCEDURE cmfe_Field_LabelGetVSObj
3605  END INTERFACE cmfe_Field_LabelGet
3606 
3607  !>Sets/changes the label for a field.
3608  INTERFACE cmfe_Field_LabelSet
3609  MODULE PROCEDURE cmfe_Field_LabelSetCNumber
3610  MODULE PROCEDURE cmfe_Field_LabelSetCObj
3611  MODULE PROCEDURE cmfe_Field_LabelSetVSNumber
3612  MODULE PROCEDURE cmfe_Field_LabelSetVSObj
3613  END INTERFACE cmfe_Field_LabelSet
3614 
3615  INTERFACE cmfe_Field_PositionNormalTangentCalculateNode
3616  MODULE PROCEDURE cmfe_Field_PositionNormalTangentCalculateNodeNumber
3617  MODULE PROCEDURE cmfe_Field_PositionNormalTangentCalculateNodeObj
3618  END INTERFACE
3619 
3620  !>Returns the mesh decomposition for a field.
3621  INTERFACE cmfe_Field_MeshDecompositionGet
3622  MODULE PROCEDURE cmfe_Field_MeshDecompositionGetNumber
3623  MODULE PROCEDURE cmfe_Field_MeshDecompositionGetObj
3624  END INTERFACE cmfe_Field_MeshDecompositionGet
3625 
3626  !>Sets/changes the mesh decomposition for a field. \todo remove when fields take decomposition argument on creation???
3627  INTERFACE cmfe_Field_MeshDecompositionSet
3628  MODULE PROCEDURE cmfe_Field_MeshDecompositionSetNumber
3629  MODULE PROCEDURE cmfe_Field_MeshDecompositionSetObj
3630  END INTERFACE cmfe_Field_MeshDecompositionSet
3631 
3632  !>Sets/changes the data projection for a field.
3633  INTERFACE cmfe_Field_DataProjectionSet
3634  MODULE PROCEDURE cmfe_Field_DataProjectionSetNumber
3635  MODULE PROCEDURE cmfe_Field_DataProjectionSetObj
3636  END INTERFACE cmfe_Field_DataProjectionSet
3637 
3638  !>Returns the number of field components for a field variable.
3639  INTERFACE cmfe_Field_NumberOfComponentsGet
3640  MODULE PROCEDURE cmfe_Field_NumberOfComponentsGetNumber
3641  MODULE PROCEDURE cmfe_Field_NumberOfComponentsGetObj
3642  END INTERFACE cmfe_Field_NumberOfComponentsGet
3643 
3644  !>Sets/changes the number of field components for a field variable.
3645  INTERFACE cmfe_Field_NumberOfComponentsSet
3646  MODULE PROCEDURE cmfe_Field_NumberOfComponentsSetNumber
3647  MODULE PROCEDURE cmfe_Field_NumberOfComponentsSetObj
3648  END INTERFACE cmfe_Field_NumberOfComponentsSet
3649 
3650  !>Returns the number of field variables for a field.
3651  INTERFACE cmfe_Field_NumberOfVariablesGet
3652  MODULE PROCEDURE cmfe_Field_NumberOfVariablesGetNumber
3653  MODULE PROCEDURE cmfe_Field_NumberOfVariablesGetObj
3654  END INTERFACE cmfe_Field_NumberOfVariablesGet
3655 
3656  !>Sets/changes the number of field variables for a field.
3657  INTERFACE cmfe_Field_NumberOfVariablesSet
3658  MODULE PROCEDURE cmfe_Field_NumberOfVariablesSetNumber
3659  MODULE PROCEDURE cmfe_Field_NumberOfVariablesSetObj
3660  END INTERFACE cmfe_Field_NumberOfVariablesSet
3661 
3662  !>Adds the given value to the given parameter set for the constant of the field variable component.
3663  INTERFACE cmfe_Field_ParameterSetAddConstant
3664  MODULE PROCEDURE cmfe_Field_ParameterSetAddConstantIntgNumber
3665  MODULE PROCEDURE cmfe_Field_ParameterSetAddConstantIntgObj
3666  MODULE PROCEDURE cmfe_Field_ParameterSetAddConstantSPNumber
3667  MODULE PROCEDURE cmfe_Field_ParameterSetAddConstantSPObj
3668  MODULE PROCEDURE cmfe_Field_ParameterSetAddConstantDPNumber
3669  MODULE PROCEDURE cmfe_Field_ParameterSetAddConstantDPObj
3670  MODULE PROCEDURE cmfe_Field_ParameterSetAddConstantLNumber
3671  MODULE PROCEDURE cmfe_Field_ParameterSetAddConstantLObj
3672  END INTERFACE cmfe_Field_ParameterSetAddConstant
3673 
3674  !>Adds the given value to the given parameter set for a particular user element of the field variable component.
3675  INTERFACE cmfe_Field_ParameterSetAddElement
3676  MODULE PROCEDURE cmfe_Field_ParameterSetAddElementIntgNumber
3677  MODULE PROCEDURE cmfe_Field_ParameterSetAddElementIntgObj
3678  MODULE PROCEDURE cmfe_Field_ParameterSetAddElementSPNumber
3679  MODULE PROCEDURE cmfe_Field_ParameterSetAddElementSPObj
3680  MODULE PROCEDURE cmfe_Field_ParameterSetAddElementDPNumber
3681  MODULE PROCEDURE cmfe_Field_ParameterSetAddElementDPObj
3682  MODULE PROCEDURE cmfe_Field_ParameterSetAddElementLNumber
3683  MODULE PROCEDURE cmfe_Field_ParameterSetAddElementLObj
3684  END INTERFACE cmfe_Field_ParameterSetAddElement
3685 
3686  !>Adds the given value to the given parameter set for a particular user node of the field variable component.
3687  INTERFACE cmfe_Field_ParameterSetAddNode
3688  MODULE PROCEDURE cmfe_Field_ParameterSetAddNodeIntgNumber
3689  MODULE PROCEDURE cmfe_Field_ParameterSetAddNodeIntgObj
3690  MODULE PROCEDURE cmfe_Field_ParameterSetAddNodeSPNumber
3691  MODULE PROCEDURE cmfe_Field_ParameterSetAddNodeSPObj
3692  MODULE PROCEDURE cmfe_Field_ParameterSetAddNodeDPNumber
3693  MODULE PROCEDURE cmfe_Field_ParameterSetAddNodeDPObj
3694  MODULE PROCEDURE cmfe_Field_ParameterSetAddNodeLNumber
3695  MODULE PROCEDURE cmfe_Field_ParameterSetAddNodeLObj
3696  END INTERFACE cmfe_Field_ParameterSetAddNode
3697 
3698  !>Creates a new parameter set of type set type for a field variable.
3699  INTERFACE cmfe_Field_ParameterSetCreate
3700  MODULE PROCEDURE cmfe_Field_ParameterSetCreateNumber
3701  MODULE PROCEDURE cmfe_Field_ParameterSetCreateObj
3702  END INTERFACE cmfe_Field_ParameterSetCreate
3703 
3704  !>Destroy a parameter set of type set type for a field variable.
3705  INTERFACE cmfe_Field_ParameterSetDestroy
3706  MODULE PROCEDURE cmfe_Field_ParameterSetDestroyNumber
3707  MODULE PROCEDURE cmfe_Field_ParameterSetDestroyObj
3708  END INTERFACE cmfe_Field_ParameterSetDestroy
3709 
3710  !>Returns a pointer to the specified field parameter set local data array. The pointer must be restored with a call to OpenCMISS::Iron::cmfe_Field_ParameterSetDataRestore call. Note: the values can be used for read operations but a field parameter set update or add calls must be used to change any values.
3711  INTERFACE cmfe_Field_ParameterSetDataGet
3712  MODULE PROCEDURE cmfe_Field_ParameterSetDataGetIntgNumber
3713  MODULE PROCEDURE cmfe_Field_ParameterSetDataGetIntgObj
3714  MODULE PROCEDURE cmfe_Field_ParameterSetDataGetSPNumber
3715  MODULE PROCEDURE cmfe_Field_ParameterSetDataGetSPObj
3716  MODULE PROCEDURE cmfe_Field_ParameterSetDataGetDPNumber
3717  MODULE PROCEDURE cmfe_Field_ParameterSetDataGetDPObj
3718  MODULE PROCEDURE cmfe_Field_ParameterSetDataGetLNumber
3719  MODULE PROCEDURE cmfe_Field_ParameterSetDataGetLObj
3720  END INTERFACE cmfe_Field_ParameterSetDataGet
3721 
3722  !>Restores the specified field variable parameter set local array that was obtained with an OpenCMISS::Iron::cmfe_Field_ParameterSetDataGet call.
3723  INTERFACE cmfe_Field_ParameterSetDataRestore
3724  MODULE PROCEDURE cmfe_Field_ParameterSetDataRestoreIntgNumber
3725  MODULE PROCEDURE cmfe_Field_ParameterSetDataRestoreIntgObj
3726  MODULE PROCEDURE cmfe_Field_ParameterSetDataRestoreSPNumber
3727  MODULE PROCEDURE cmfe_Field_ParameterSetDataRestoreSPObj
3728  MODULE PROCEDURE cmfe_Field_ParameterSetDataRestoreDPNumber
3729  MODULE PROCEDURE cmfe_Field_ParameterSetDataRestoreDPObj
3730  MODULE PROCEDURE cmfe_Field_ParameterSetDataRestoreLNumber
3731  MODULE PROCEDURE cmfe_Field_ParameterSetDataRestoreLObj
3732  END INTERFACE cmfe_Field_ParameterSetDataRestore
3733 
3734  !>Returns from the given parameter set a value for the specified constant of a field variable component.
3735  INTERFACE cmfe_Field_ParameterSetGetConstant
3736  MODULE PROCEDURE cmfe_Field_ParameterSetGetConstantIntgNumber
3737  MODULE PROCEDURE cmfe_Field_ParameterSetGetConstantIntgObj
3738  MODULE PROCEDURE cmfe_Field_ParameterSetGetConstantSPNumber
3739  MODULE PROCEDURE cmfe_Field_ParameterSetGetConstantSPObj
3740  MODULE PROCEDURE cmfe_Field_ParameterSetGetConstantDPNumber
3741  MODULE PROCEDURE cmfe_Field_ParameterSetGetConstantDPObj
3742  MODULE PROCEDURE cmfe_Field_ParameterSetGetConstantLNumber
3743  MODULE PROCEDURE cmfe_Field_ParameterSetGetConstantLObj
3744  END INTERFACE cmfe_Field_ParameterSetGetConstant
3745 
3746  !>Returns from the given parameter set a value for the specified data pont of a field variable component.
3747  INTERFACE cmfe_Field_ParameterSetGetDataPoint
3748  MODULE PROCEDURE cmfe_Field_ParameterSetGetDataPointIntgNumberI !Interface
3749  MODULE PROCEDURE cmfe_Field_ParameterSetGetDataPointIntgNumberR !Region
3750  MODULE PROCEDURE cmfe_Field_ParameterSetGetDataPointIntgObj
3751  MODULE PROCEDURE cmfe_Field_ParameterSetGetDataPointSPNumberI !Interface
3752  MODULE PROCEDURE cmfe_Field_ParameterSetGetDataPointSPNumberR !Region
3753  MODULE PROCEDURE cmfe_Field_ParameterSetGetDataPointSPObj
3754  MODULE PROCEDURE cmfe_Field_ParameterSetGetDataPointDPNumberI !Interface
3755  MODULE PROCEDURE cmfe_Field_ParameterSetGetDataPointDPNumberR !Region
3756  MODULE PROCEDURE cmfe_Field_ParameterSetGetDataPointDPObj
3757  MODULE PROCEDURE cmfe_Field_ParameterSetGetDataPointLNumberI !Interface
3758  MODULE PROCEDURE cmfe_Field_ParameterSetGetDataPointLNumberR !Region
3759  MODULE PROCEDURE cmfe_Field_ParameterSetGetDataPointLObj
3760  END INTERFACE cmfe_Field_ParameterSetGetDataPoint
3761 
3762  !>Returns from the given parameter set a value for the specified element of a field variable component.
3763  INTERFACE cmfe_Field_ParameterSetGetElement
3764  MODULE PROCEDURE cmfe_Field_ParameterSetGetElementIntgNumber
3765  MODULE PROCEDURE cmfe_Field_ParameterSetGetElementIntgObj
3766  MODULE PROCEDURE cmfe_Field_ParameterSetGetElementSPNumber
3767  MODULE PROCEDURE cmfe_Field_ParameterSetGetElementSPObj
3768  MODULE PROCEDURE cmfe_Field_ParameterSetGetElementDPNumber
3769  MODULE PROCEDURE cmfe_Field_ParameterSetGetElementDPObj
3770  MODULE PROCEDURE cmfe_Field_ParameterSetGetElementLNumber
3771  MODULE PROCEDURE cmfe_Field_ParameterSetGetElementLObj
3772  END INTERFACE cmfe_Field_ParameterSetGetElement
3773 
3774  !>Returns from the given parameter set a value for the specified node and derivative of a field variable component.
3775  INTERFACE cmfe_Field_ParameterSetGetNode
3776  MODULE PROCEDURE cmfe_Field_ParameterSetGetNodeIntgNumber
3777  MODULE PROCEDURE cmfe_Field_ParameterSetGetNodeIntgObj
3778  MODULE PROCEDURE cmfe_Field_ParameterSetGetNodeSPNumber
3779  MODULE PROCEDURE cmfe_Field_ParameterSetGetNodeSPObj
3780  MODULE PROCEDURE cmfe_Field_ParameterSetGetNodeDPNumber
3781  MODULE PROCEDURE cmfe_Field_ParameterSetGetNodeDPObj
3782  MODULE PROCEDURE cmfe_Field_ParameterSetGetNodeLNumber
3783  MODULE PROCEDURE cmfe_Field_ParameterSetGetNodeLObj
3784  END INTERFACE cmfe_Field_ParameterSetGetNode
3785 
3786  !>Returns from the given parameter set a value for the specified element and Gauss point of a field variable component.
3787  INTERFACE cmfe_Field_ParameterSetGetGaussPoint ! TODO: other versions
3788  MODULE PROCEDURE cmfe_Field_ParameterSetGetGaussPointDPObj
3789  END INTERFACE cmfe_Field_ParameterSetGetGaussPoint
3790 
3791  !>Updates the given parameter set with the given value for the constant of a field variable component.
3792  INTERFACE cmfe_Field_ParameterSetUpdateConstant
3793  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateConstantIntgNumber
3794  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateConstantIntgObj
3795  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateConstantSPNumber
3796  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateConstantSPObj
3797  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateConstantDPNumber
3798  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateConstantDPObj
3799  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateConstantLNumber
3800  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateConstantLObj
3801  END INTERFACE cmfe_Field_ParameterSetUpdateConstant
3802 
3803  !>Update the given parameter set a value for the specified data pont of a field variable component.
3804  INTERFACE cmfe_Field_ParameterSetUpdateDataPoint
3805  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateDataPointIntgNumberI !Interface
3806  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateDataPointIntgNumberR !Region
3807  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateDataPointIntgObj
3808  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateDataPointSPNumberI !Interface
3809  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateDataPointSPNumberR !Region
3810  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateDataPointSPObj
3811  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateDataPointDPNumberI !Interface
3812  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateDataPointDPNumberR !Region
3813  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateDataPointDPObj
3814  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateDataPointLNumberI !Interface
3815  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateDataPointLNumberR !Region
3816  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateDataPointLObj
3817  END INTERFACE cmfe_Field_ParameterSetUpdateDataPoint
3818 
3819  !>Updates the given parameter set with the given value for a particular user element of a field variable component.
3820  INTERFACE cmfe_Field_ParameterSetUpdateElement
3821  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateElementIntgNumber
3822  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateElementIntgObj
3823  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateElementSPNumber
3824  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateElementSPObj
3825  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateElementDPNumber
3826  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateElementDPObj
3827  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateElementLNumber
3828  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateElementLObj
3829  END INTERFACE cmfe_Field_ParameterSetUpdateElement
3830 
3831  !>Finishes the parameter set update for a field variable. \see OpenCMISS::Iron::cmfe_Field_ParameterSetUpdateStart
3832  INTERFACE cmfe_Field_ParameterSetUpdateFinish
3833  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateFinishNumber
3834  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateFinishObj
3835  END INTERFACE cmfe_Field_ParameterSetUpdateFinish
3836 
3837  !>Updates the given parameter set with the given value for a particular user node of a field variable component.
3838  INTERFACE cmfe_Field_ParameterSetUpdateNode
3839  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateNodeIntgNumber
3840  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateNodeIntgObj
3841  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateNodeSPNumber
3842  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateNodeSPObj
3843  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateNodeDPNumber
3844  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateNodeDPObj
3845  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateNodeLNumber
3846  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateNodeLObj
3847  END INTERFACE cmfe_Field_ParameterSetUpdateNode
3848 
3849  !\todo: merge the two types of routines for getting scalefactors under the same interface declaration?
3850  !>Gets a scale factor for a particular node.
3851  INTERFACE cmfe_Field_ParameterSetNodeScaleFactorGet
3852  MODULE PROCEDURE cmfe_Field_ParameterSetNodeScaleFactorGetNumber
3853  MODULE PROCEDURE cmfe_Field_ParameterSetNodeScaleFactorGetObj
3854  END INTERFACE cmfe_Field_ParameterSetNodeScaleFactorGet
3855 
3856  !>Gets the scale factors for all nodes
3857  INTERFACE cmfe_Field_ParameterSetNodeScaleFactorsGet
3858  MODULE PROCEDURE cmfe_Field_ParameterSetNodeScaleFactorsGetNumber
3859  MODULE PROCEDURE cmfe_Field_ParameterSetNodeScaleFactorsGetObj
3860  END INTERFACE cmfe_Field_ParameterSetNodeScaleFactorsGet
3861 
3862  !>Sets a scale factor for a particular node.
3863  INTERFACE cmfe_Field_ParameterSetNodeScaleFactorSet
3864  MODULE PROCEDURE cmfe_Field_ParameterSetNodeScaleFactorSetNumber
3865  MODULE PROCEDURE cmfe_Field_ParameterSetNodeScaleFactorSetObj
3866  END INTERFACE cmfe_Field_ParameterSetNodeScaleFactorSet
3867 
3868  !>Sets the scale factors for all nodes
3869  INTERFACE cmfe_Field_ParameterSetNodeScaleFactorsSet
3870  MODULE PROCEDURE cmfe_Field_ParameterSetNodeScaleFactorsSetNumber
3871  MODULE PROCEDURE cmfe_Field_ParameterSetNodeScaleFactorsSetObj
3872  END INTERFACE cmfe_Field_ParameterSetNodeScaleFactorsSet
3873 
3874  !>Gets the number of scalefactor dofs
3875  INTERFACE cmfe_Field_ParameterSetNodeNumberOfScaleFactorDofsGet
3876  MODULE PROCEDURE cmfe_Field_ParameterSetNodeNumberOfScaleFactorDofsGetNumber
3877  MODULE PROCEDURE cmfe_Field_ParameterSetNodeNumberOfScaleFactorDofsGetObj
3878  END INTERFACE cmfe_Field_ParameterSetNodeNumberOfScaleFactorDofsGet
3879 
3880  !>Updates the given parameter set with the given values for all local dofs of the field variable.
3881  INTERFACE cmfe_Field_ParameterSetUpdateLocalDofs
3882  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateLocalDofsDPObj
3883  !\todo: add Intg/SP/L routines, both indexed by Number and Obj
3884  END INTERFACE cmfe_Field_ParameterSetUpdateLocalDofs
3885 
3886  !>Updates the given parameter set with the given value for a particular Gauss point of a field variable component.
3887  INTERFACE cmfe_Field_ParameterSetUpdateGaussPoint
3888  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateGaussPointIntgNumber
3889  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateGaussPointIntgObj
3890  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateGaussPointSPNumber
3891  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateGaussPointSPObj
3892  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateGaussPointDPNumber
3893  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateGaussPointDPObj
3894  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateGaussPointLNumber
3895  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateGaussPointLObj
3896  END INTERFACE cmfe_Field_ParameterSetUpdateGaussPoint
3897 
3898  !>Interpolates the given parameter set at a specified xi/set of xi locations for specified element and derviative.
3899  INTERFACE cmfe_Field_ParameterSetInterpolateXi
3900  MODULE PROCEDURE cmfe_Field_ParameterSetInterpolateSingleXiDPNumber
3901  MODULE PROCEDURE cmfe_Field_ParameterSetInterpolateSingleXiDPObj
3902  MODULE PROCEDURE cmfe_Field_ParameterSetInterpolateMultipleXiDPNumber
3903  MODULE PROCEDURE cmfe_Field_ParameterSetInterpolateMultipleXiDPObj
3904  END INTERFACE cmfe_Field_ParameterSetInterpolateXi
3905 
3906  !>Interpolates the given parameter set at a specified set of Gauss points for specified element and derviative. When interpolating at multiple Gauss points, if no Gauss points are specified then all Gauss points are interpolated.
3907  INTERFACE cmfe_Field_ParameterSetInterpolateGauss
3908  MODULE PROCEDURE cmfe_Field_ParameterSetInterpolateSingleGaussDPNumber
3909  MODULE PROCEDURE cmfe_Field_ParameterSetInterpolateSingleGaussDPObj
3910  MODULE PROCEDURE cmfe_Field_ParameterSetInterpolateMultipleGaussDPNumber
3911  MODULE PROCEDURE cmfe_Field_ParameterSetInterpolateMultipleGaussDPObj
3912  END INTERFACE CMFE_FIELD_PARAMETERSETINTERPOLATEGAUSS
3913 
3914  !>Updates the given parameter set with the given value for a particular data point of a field variable component.
3915  INTERFACE cmfe_Field_ParameterSetUpdateElementDataPoint
3916  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateElementDataPointDPObj
3917  END INTERFACE cmfe_Field_ParameterSetUpdateElementDataPoint
3918 
3919  !>Starts the parameter set update for a field variable. \see OpenCMISS::Iron::cmfe_Field_ParameterSetUpdateFinish
3920  INTERFACE cmfe_Field_ParameterSetUpdateStart
3921  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateStartNumber
3922  MODULE PROCEDURE cmfe_Field_ParameterSetUpdateStartObj
3923  END INTERFACE cmfe_Field_ParameterSetUpdateStart
3924 
3925  !>Copy the parameters from the parameter set of a component of a field variable to the paramters of a parameter set of
3926  !>a component of another field variable.
3927  INTERFACE cmfe_Field_ParametersToFieldParametersComponentCopy
3928  MODULE PROCEDURE cmfe_Field_ParametersToFieldParametersComponentCopyNumber
3929  MODULE PROCEDURE cmfe_Field_ParametersToFieldParametersComponentCopyObj
3930  END INTERFACE cmfe_Field_ParametersToFieldParametersComponentCopy
3931 
3932  !>Returns the scaling type for a field.
3933  INTERFACE cmfe_Field_ScalingTypeGet
3934  MODULE PROCEDURE cmfe_Field_ScalingTypeGetNumber
3935  MODULE PROCEDURE cmfe_Field_ScalingTypeGetObj
3936  END INTERFACE cmfe_Field_ScalingTypeGet
3937 
3938  !>Sets/changes the scaling type for a field.
3939  INTERFACE cmfe_Field_ScalingTypeSet
3940  MODULE PROCEDURE cmfe_Field_ScalingTypeSetNumber
3941  MODULE PROCEDURE cmfe_Field_ScalingTypeSetObj
3942  END INTERFACE cmfe_Field_ScalingTypeSet
3943 
3944  !>Returns the type for a field.
3945  INTERFACE cmfe_Field_TypeGet
3946  MODULE PROCEDURE cmfe_Field_TypeGetNumber
3947  MODULE PROCEDURE cmfe_Field_TypeGetObj
3948  END INTERFACE cmfe_Field_TypeGet
3949 
3950  !>Sets/changes the type for a field.
3951  INTERFACE cmfe_Field_TypeSet
3952  MODULE PROCEDURE cmfe_Field_TypeSetNumber
3953  MODULE PROCEDURE cmfe_Field_TypeSetObj
3954  END INTERFACE cmfe_Field_TypeSet
3955 
3956  !>Returns the label for a field variable.
3957  INTERFACE cmfe_Field_VariableLabelGet
3958  MODULE PROCEDURE cmfe_Field_VariableLabelGetCNumber
3959  MODULE PROCEDURE cmfe_Field_VariableLabelGetCObj
3960  MODULE PROCEDURE cmfe_Field_VariableLabelGetVSNumber
3961  MODULE PROCEDURE cmfe_Field_VariableLabelGetVSObj
3962  END INTERFACE cmfe_Field_VariableLabelGet
3963 
3964  !>Sets/changes the label for a field variable.
3965  INTERFACE cmfe_Field_VariableLabelSet
3966  MODULE PROCEDURE cmfe_Field_VariableLabelSetCNumber
3967  MODULE PROCEDURE cmfe_Field_VariableLabelSetCObj
3968  MODULE PROCEDURE cmfe_Field_VariableLabelSetVSNumber
3969  MODULE PROCEDURE cmfe_Field_VariableLabelSetVSObj
3970  END INTERFACE cmfe_Field_VariableLabelSet
3971 
3972  !>Returns the field variable types for a field.
3973  INTERFACE cmfe_Field_VariableTypesGet
3974  MODULE PROCEDURE cmfe_Field_VariableTypesGetNumber
3975  MODULE PROCEDURE cmfe_Field_VariableTypesGetObj
3976  END INTERFACE cmfe_Field_VariableTypesGet
3977 
3978  !>Sets/changes the field variable types for a field.
3979  INTERFACE cmfe_Field_VariableTypesSet
3980  MODULE PROCEDURE cmfe_Field_VariableTypesSetNumber
3981  MODULE PROCEDURE cmfe_Field_VariableTypesSetObj
3982  END INTERFACE cmfe_Field_VariableTypesSet
3983 
3984 
3985  PUBLIC CMFE_FIELD_DEPENDENT_TYPE,CMFE_FIELD_INDEPENDENT_TYPE
3986 
3987  PUBLIC CMFE_FIELD_SCALAR_DIMENSION_TYPE,CMFE_FIELD_VECTOR_DIMENSION_TYPE,CMFE_FIELD_TENSOR_DIMENSION_TYPE
3988 
3989  PUBLIC CMFE_FIELD_GEOMETRIC_TYPE,CMFE_FIELD_FIBRE_TYPE,CMFE_FIELD_GENERAL_TYPE,CMFE_FIELD_MATERIAL_TYPE, &
3990  & CMFE_FIELD_GEOMETRIC_GENERAL_TYPE
3991 
3992  PUBLIC CMFE_FIELD_CONSTANT_INTERPOLATION,CMFE_FIELD_ELEMENT_BASED_INTERPOLATION,CMFE_FIELD_NODE_BASED_INTERPOLATION, &
3993  & CMFE_FIELD_GRID_POINT_BASED_INTERPOLATION,CMFE_FIELD_GAUSS_POINT_BASED_INTERPOLATION, &
3994  & CMFE_FIELD_DATA_POINT_BASED_INTERPOLATION
3995 
3996  PUBLIC CMFE_FIELD_NUMBER_OF_VARIABLE_SUBTYPES
3997 
3998  PUBLIC CMFE_FIELD_U_VARIABLE_TYPE,CMFE_FIELD_DELUDELN_VARIABLE_TYPE,CMFE_FIELD_DELUDELT_VARIABLE_TYPE, &
3999  & CMFE_FIELD_DEL2UDELT2_VARIABLE_TYPE, &
4000  & CMFE_FIELD_V_VARIABLE_TYPE,CMFE_FIELD_DELVDELN_VARIABLE_TYPE,CMFE_FIELD_DELVDELT_VARIABLE_TYPE, &
4001  & CMFE_FIELD_DEL2VDELT2_VARIABLE_TYPE, &
4002  & CMFE_FIELD_U1_VARIABLE_TYPE,CMFE_FIELD_DELU1DELN_VARIABLE_TYPE,CMFE_FIELD_DELU1DELT_VARIABLE_TYPE, &
4003  & CMFE_FIELD_DEL2U1DELT2_VARIABLE_TYPE, &
4004  & CMFE_FIELD_U2_VARIABLE_TYPE,CMFE_FIELD_DELU2DELN_VARIABLE_TYPE,CMFE_FIELD_DELU2DELT_VARIABLE_TYPE, &
4005  & CMFE_FIELD_DEL2U2DELT2_VARIABLE_TYPE, &
4006  & CMFE_FIELD_U3_VARIABLE_TYPE,CMFE_FIELD_DELU3DELN_VARIABLE_TYPE,CMFE_FIELD_DELU3DELT_VARIABLE_TYPE, &
4007  & CMFE_FIELD_DEL2U3DELT2_VARIABLE_TYPE, &
4008  & CMFE_FIELD_U4_VARIABLE_TYPE,CMFE_FIELD_DELU4DELN_VARIABLE_TYPE,CMFE_FIELD_DELU4DELT_VARIABLE_TYPE, &
4009  & CMFE_FIELD_DEL2U4DELT2_VARIABLE_TYPE, &
4010  & CMFE_FIELD_U5_VARIABLE_TYPE,CMFE_FIELD_DELU5DELN_VARIABLE_TYPE,CMFE_FIELD_DELU5DELT_VARIABLE_TYPE, &
4011  & CMFE_FIELD_DEL2U5DELT2_VARIABLE_TYPE, &
4012  & CMFE_FIELD_U6_VARIABLE_TYPE,CMFE_FIELD_DELU6DELN_VARIABLE_TYPE,CMFE_FIELD_DELU6DELT_VARIABLE_TYPE, &
4013  & CMFE_FIELD_DEL2U6DELT2_VARIABLE_TYPE, &
4014  & CMFE_FIELD_U7_VARIABLE_TYPE,CMFE_FIELD_DELU7DELN_VARIABLE_TYPE,CMFE_FIELD_DELU7DELT_VARIABLE_TYPE, &
4015  & CMFE_FIELD_DEL2U7DELT2_VARIABLE_TYPE, &
4016  & CMFE_FIELD_U8_VARIABLE_TYPE,CMFE_FIELD_DELU8DELN_VARIABLE_TYPE,CMFE_FIELD_DELU8DELT_VARIABLE_TYPE, &
4017  & CMFE_FIELD_DEL2U8DELT2_VARIABLE_TYPE, &
4018  & CMFE_FIELD_U9_VARIABLE_TYPE,CMFE_FIELD_DELU9DELN_VARIABLE_TYPE,CMFE_FIELD_DELU9DELT_VARIABLE_TYPE, &
4019  & CMFE_FIELD_DEL2U9DELT2_VARIABLE_TYPE, &
4020  & CMFE_FIELD_U10_VARIABLE_TYPE,CMFE_FIELD_DELU10DELN_VARIABLE_TYPE,CMFE_FIELD_DELU10DELT_VARIABLE_TYPE, &
4021  & CMFE_FIELD_DEL2U10DELT2_VARIABLE_TYPE
4022 
4023  PUBLIC CMFE_FIELD_INTG_TYPE,CMFE_FIELD_SP_TYPE,CMFE_FIELD_DP_TYPE,CMFE_FIELD_L_TYPE
4024 
4025  PUBLIC CMFE_FIELD_SEPARATED_COMPONENT_DOF_ORDER,CMFE_FIELD_CONTIGUOUS_COMPONENT_DOF_ORDER
4026 
4027  PUBLIC CMFE_FIELD_VALUES_SET_TYPE,CMFE_FIELD_INITIAL_VALUES_SET_TYPE,CMFE_FIELD_INCREMENTAL_VALUES_SET_TYPE, &
4028  & CMFE_FIELD_BOUNDARY_CONDITIONS_SET_TYPE, &
4029  & CMFE_FIELD_ANALYTIC_VALUES_SET_TYPE, &
4030  & CMFE_FIELD_PREVIOUS_VALUES_SET_TYPE,CMFE_FIELD_MEAN_PREDICTED_DISPLACEMENT_SET_TYPE,CMFE_FIELD_VELOCITY_VALUES_SET_TYPE, &
4031  & CMFE_FIELD_INITIAL_VELOCITY_SET_TYPE,CMFE_FIELD_PREVIOUS_VELOCITY_SET_TYPE,CMFE_FIELD_MEAN_PREDICTED_VELOCITY_SET_TYPE, &
4032  & CMFE_FIELD_ACCELERATION_VALUES_SET_TYPE,CMFE_FIELD_INITIAL_ACCELERATION_SET_TYPE, &
4033  & CMFE_FIELD_PREVIOUS_ACCELERATION_SET_TYPE, &
4034  & CMFE_FIELD_MEAN_PREDICTED_ACCELERATION_SET_TYPE, CMFE_FIELD_PRESSURE_VALUES_SET_TYPE, &
4035  & CMFE_FIELD_PREVIOUS_PRESSURE_SET_TYPE, &
4036  & CMFE_FIELD_IMPERMEABLE_FLAG_VALUES_SET_TYPE,CMFE_FIELD_INTEGRATED_NEUMANN_SET_TYPE, &
4037  & CMFE_FIELD_MESH_DISPLACEMENT_SET_TYPE,CMFE_FIELD_MESH_VELOCITY_SET_TYPE
4038 
4039  PUBLIC CMFE_FIELD_NO_SCALING,CMFE_FIELD_UNIT_SCALING,CMFE_FIELD_ARC_LENGTH_SCALING,CMFE_FIELD_ARITHMETIC_MEAN_SCALING, &
4040  & CMFE_FIELD_GEOMETRIC_MEAN_SCALING,CMFE_FIELD_HARMONIC_MEAN_SCALING
4041 
4042  PUBLIC cmfe_Field_ComponentInterpolationGet,cmfe_Field_ComponentInterpolationSet
4043 
4044  PUBLIC cmfe_Field_ComponentLabelGet,cmfe_Field_ComponentLabelSet
4045 
4046  PUBLIC cmfe_Field_ComponentMeshComponentGet,cmfe_Field_ComponentMeshComponentSet
4047 
4048  PUBLIC cmfe_Field_ComponentValuesInitialise
4049 
4050  PUBLIC cmfe_Field_DataTypeGet,cmfe_Field_DataTypeSet
4051 
4052  PUBLIC cmfe_Field_DOFOrderTypeGet,cmfe_Field_DOFOrderTypeSet
4053 
4054  PUBLIC cmfe_Field_CreateFinish,cmfe_Field_CreateStart
4055 
4056  PUBLIC cmfe_Field_DependentTypeGet,cmfe_Field_DependentTypeSet
4057 
4058  PUBLIC cmfe_Field_Destroy
4059 
4060  PUBLIC cmfe_Field_DimensionGet,cmfe_Field_DimensionSet
4061 
4062  PUBLIC cmfe_Field_GeometricFieldGet,cmfe_Field_GeometricFieldSet
4063 
4064  PUBLIC cmfe_Field_GeometricParametersElementLineLengthGet, cmfe_Field_GeometricParametersElementVolumeGet
4065 
4066  PUBLIC cmfe_Field_LabelGet,cmfe_Field_LabelSet
4067 
4068  PUBLIC cmfe_Field_MeshDecompositionGet,cmfe_Field_MeshDecompositionSet
4069 
4070  PUBLIC cmfe_Field_DataProjectionSet
4071 
4072  PUBLIC cmfe_Field_PositionNormalTangentCalculateNode
4073 
4074  PUBLIC cmfe_Field_NumberOfComponentsGet,cmfe_Field_NumberOfComponentsSet
4075 
4076  PUBLIC cmfe_Field_NumberOfVariablesGet,cmfe_Field_NumberOfVariablesSet
4077 
4078  PUBLIC cmfe_Field_ParameterSetAddConstant,cmfe_Field_ParameterSetAddElement,cmfe_Field_ParameterSetAddNode
4079 
4080  PUBLIC cmfe_Field_ParameterSetCreate
4081 
4082  PUBLIC cmfe_Field_ParameterSetDestroy
4083 
4084  PUBLIC cmfe_Field_ParameterSetDataGet,cmfe_Field_ParameterSetDataRestore
4085 
4086  PUBLIC cmfe_Field_ParameterSetGetConstant,cmfe_Field_ParameterSetGetElement,cmfe_Field_ParameterSetGetNode
4087 
4088  PUBLIC cmfe_Field_ParameterSetGetDataPoint,cmfe_Field_ParameterSetUpdateDataPoint
4089 
4090  PUBLIC cmfe_Field_ParameterSetUpdateConstant,cmfe_Field_ParameterSetUpdateElement,cmfe_Field_ParameterSetUpdateNode
4091 
4092  PUBLIC cmfe_Field_ParameterSetNodeScaleFactorGet,cmfe_Field_ParameterSetNodeScaleFactorSet
4093 
4094  PUBLIC cmfe_Field_ParameterSetNodeScaleFactorsGet,cmfe_Field_ParameterSetNodeScaleFactorsSet
4095 
4096  PUBLIC cmfe_Field_ParameterSetNodeNumberOfScaleFactorDofsGet
4097 
4098  PUBLIC cmfe_Field_ParameterSetUpdateLocalDofs
4099 
4100  PUBLIC cmfe_Field_ParameterSetUpdateGaussPoint,cmfe_Field_ParameterSetGetGaussPoint
4101 
4102  PUBLIC cmfe_Field_ParameterSetInterpolateXi
4103 
4104  PUBLIC cmfe_Field_ParameterSetInterpolateGauss
4105 
4106  PUBLIC cmfe_Field_ParameterSetUpdateElementDataPoint
4107 
4108  PUBLIC cmfe_Field_ParameterSetUpdateFinish,cmfe_Field_ParameterSetUpdateStart
4109 
4110  PUBLIC cmfe_Field_ParametersToFieldParametersComponentCopy
4111 
4112  PUBLIC cmfe_Field_ScalingTypeGet,cmfe_Field_ScalingTypeSet
4113 
4114  PUBLIC cmfe_Field_TypeGet,cmfe_Field_TypeSet
4115 
4116  PUBLIC cmfe_Field_VariableLabelGet,cmfe_Field_VariableLabelSet
4117 
4118  PUBLIC cmfe_Field_VariableTypesGet,cmfe_Field_VariableTypesSet
4119 
4120 !!==================================================================================================================================
4121 !!
4122 !! FIELD_IO_ROUTINES
4123 !!
4124 !!==================================================================================================================================
4125 
4126  !Module parameters
4127 
4128  !Module types
4129 
4130  !Module variables
4131 
4132  !Interfaces
4133 
4134  INTERFACE cmfe_Fields_ElementsExport
4135  MODULE PROCEDURE cmfe_Fields_ElementsExportCCObj
4136  MODULE PROCEDURE cmfe_Fields_ElementsExportVSCObj
4137  MODULE PROCEDURE cmfe_Fields_ElementsExportCVSObj
4138  MODULE PROCEDURE cmfe_Fields_ElementsExportVSVSObj
4139  END INTERFACE cmfe_Fields_ElementsExport
4140 
4141  INTERFACE cmfe_Fields_NodesExport
4142  MODULE PROCEDURE cmfe_Fields_NodesExportCCObj
4143  MODULE PROCEDURE cmfe_Fields_NodesExportVSCObj
4144  MODULE PROCEDURE cmfe_Fields_NodesExportCVSObj
4145  MODULE PROCEDURE cmfe_Fields_NodesExportVSVSObj
4146  END INTERFACE cmfe_Fields_NodesExport
4147 
4148  PUBLIC cmfe_Fields_ElementsExport,cmfe_Fields_NodesExport
4149 
4150 !!==================================================================================================================================
4151 !!
4152 !! GENERATED_MESH_ROUTINES
4153 !!
4154 !!==================================================================================================================================
4155 
4156  !Module parameters
4157 
4158  !> \addtogroup OPENCMISS_GeneratedMeshConstants OPENCMISS::GeneratedMesh::Constants
4159  !> \brief Generated mesh constants.
4160  !>@{
4161  !> \addtogroup OPENCMISS_GeneratedMeshTypes OPENCMISS::GeneratedMesh::Types
4162  !> \brief Generated mesh types.
4163  !> \see OPENCMISS::GeneratedMesh,OPENCMISS
4164  !>@{
4165  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_REGULAR_MESH_TYPE = GENERATED_MESH_REGULAR_MESH_TYPE !<A regular generated mesh. \see OPENCMISS_GeneratedMeshTypes,OPENCMISS
4166  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_POLAR_MESH_TYPE = GENERATED_MESH_POLAR_MESH_TYPE !<A polar generated mesh. \see OPENCMISS_GeneratedMeshTypes,OPENCMISS
4167  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_FRACTAL_TREE_MESH_TYPE = GENERATED_MESH_FRACTAL_TREE_MESH_TYPE !<A fractal tree generated mesh. \see OPENCMISS_GeneratedMeshTypes,OPENCMISS
4168  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_CYLINDER_MESH_TYPE = GENERATED_MESH_CYLINDER_MESH_TYPE !<A cylinder generated mesh. \see OPENCMISS_GeneratedMeshTypes,OPENCMISS
4169  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_ELLIPSOID_MESH_TYPE = GENERATED_MESH_ELLIPSOID_MESH_TYPE !<An ellipsoid generated mesh. \see OPENCMISS_GeneratedMeshTypes,OPENCMISS
4170  !>@}
4171  !>@}
4172 
4173  !> \addtogroup OPENCMISS_GeneratedMeshConstants OPENCMISS::GeneratedMesh::Constants
4174  !> \brief Generated mesh constants.
4175  !>@{
4176  !> \addtogroup OPENCMISS_GeneratedMeshSurfaceTypes OPENCMISS::GeneratedMesh::SurfaceTypes
4177  !> \brief Generated mesh surface types.
4178  !> \see OPENCMISS::GeneratedMesh,OPENCMISS
4179  !>@{
4180  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_CYLINDER_INNER_SURFACE = GENERATED_MESH_CYLINDER_INNER_SURFACE !<Cylinder inner surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS
4181  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_CYLINDER_OUTER_SURFACE = GENERATED_MESH_CYLINDER_OUTER_SURFACE !<Cylinder outer surface. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS
4182  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_CYLINDER_TOP_SURFACE = GENERATED_MESH_CYLINDER_TOP_SURFACE !<Cylinder top surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS
4183  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_CYLINDER_BOTTOM_SURFACE = GENERATED_MESH_CYLINDER_BOTTOM_SURFACE !<Cylinder bottom surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS
4184  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_ELLIPSOID_INNER_SURFACE = GENERATED_MESH_ELLIPSOID_INNER_SURFACE !<Ellipsoid inner surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS
4185  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_ELLIPSOID_OUTER_SURFACE = GENERATED_MESH_ELLIPSOID_OUTER_SURFACE !<Ellipsoid outer surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS
4186  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_ELLIPSOID_TOP_SURFACE = GENERATED_MESH_ELLIPSOID_TOP_SURFACE !<Ellipsoid top surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS
4187  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_REGULAR_LEFT_SURFACE = GENERATED_MESH_REGULAR_LEFT_SURFACE !<Regular left surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS
4188  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_REGULAR_RIGHT_SURFACE = GENERATED_MESH_REGULAR_RIGHT_SURFACE !<Regular right surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS
4189  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_REGULAR_TOP_SURFACE = GENERATED_MESH_REGULAR_TOP_SURFACE !<Regular top surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS
4190  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_REGULAR_BOTTOM_SURFACE = GENERATED_MESH_REGULAR_BOTTOM_SURFACE !<Regular bottom surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS
4191  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_REGULAR_FRONT_SURFACE = GENERATED_MESH_REGULAR_FRONT_SURFACE !<Regular front surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS
4192  INTEGER(INTG), PARAMETER :: CMFE_GENERATED_MESH_REGULAR_BACK_SURFACE = GENERATED_MESH_REGULAR_BACK_SURFACE !<Regular back surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS
4193  !>@}
4194  !>@}
4195 
4196  !Module types
4197 
4198  !Module variables
4199 
4200  !Interfaces
4201 
4202  !>Returns the basis for a generated mesh.
4203  INTERFACE cmfe_GeneratedMesh_BasisGet
4204  MODULE PROCEDURE cmfe_GeneratedMesh_BasisGetNumber
4205  MODULE PROCEDURE cmfe_GeneratedMesh_BasisGetObj
4206  END INTERFACE cmfe_GeneratedMesh_BasisGet
4207 
4208  !>Sets/changes the basis for a generated mesh.
4209  INTERFACE cmfe_GeneratedMesh_BasisSet
4210  MODULE PROCEDURE cmfe_GeneratedMesh_BasisSetNumber0
4211  MODULE PROCEDURE cmfe_GeneratedMesh_BasisSetNumber1
4212  MODULE PROCEDURE cmfe_GeneratedMesh_BasisSetObj0
4213  MODULE PROCEDURE cmfe_GeneratedMesh_BasisSetObj1
4214  END INTERFACE cmfe_GeneratedMesh_BasisSet
4215 
4216  !>Sets/changes the base vectors for a generated mesh.
4217  INTERFACE cmfe_GeneratedMesh_BaseVectorsSet
4218  MODULE PROCEDURE cmfe_GeneratedMesh_BaseVectorsSetNumber
4219  MODULE PROCEDURE cmfe_GeneratedMesh_BaseVectorsSetObj
4220  END INTERFACE cmfe_GeneratedMesh_BaseVectorsSet
4221 
4222  !>Finishes the creation of a generated mesh. \see OpenCMISS::Iron::cmfe_GeneratedMesh_CreateStart
4223  INTERFACE cmfe_GeneratedMesh_CreateFinish
4224  MODULE PROCEDURE cmfe_GeneratedMesh_CreateFinishNumber
4225  MODULE PROCEDURE cmfe_GeneratedMesh_CreateFinishObj
4226  END INTERFACE cmfe_GeneratedMesh_CreateFinish
4227 
4228  !>Starts the creation of a generated mesh. \see OpenCMISS::Iron::cmfe_GeneratedMesh_CreateFinish
4229  INTERFACE cmfe_GeneratedMesh_CreateStart
4230  MODULE PROCEDURE cmfe_GeneratedMesh_CreateStartNumber
4231  MODULE PROCEDURE cmfe_GeneratedMesh_CreateStartInterfaceObj
4232  MODULE PROCEDURE cmfe_GeneratedMesh_CreateStartRegionObj
4233  END INTERFACE cmfe_GeneratedMesh_CreateStart
4234 
4235  !>Destroys a generated mesh.
4236  INTERFACE cmfe_GeneratedMesh_Destroy
4237  MODULE PROCEDURE cmfe_GeneratedMesh_DestroyNumber
4238  MODULE PROCEDURE cmfe_GeneratedMesh_DestroyObj
4239  END INTERFACE cmfe_GeneratedMesh_Destroy
4240 
4241  !>Returns the extent of a generated mesh.
4242  INTERFACE cmfe_GeneratedMesh_ExtentGet
4243  MODULE PROCEDURE cmfe_GeneratedMesh_ExtentGetNumber
4244  MODULE PROCEDURE cmfe_GeneratedMesh_ExtentGetObj
4245  END INTERFACE cmfe_GeneratedMesh_ExtentGet
4246 
4247  !>Sets/changes the extent of a generated mesh.
4248  INTERFACE cmfe_GeneratedMesh_ExtentSet
4249  MODULE PROCEDURE cmfe_GeneratedMesh_ExtentSetNumber
4250  MODULE PROCEDURE cmfe_GeneratedMesh_ExtentSetObj
4251  END INTERFACE cmfe_GeneratedMesh_ExtentSet
4252 
4253  !>Returns the number of elements in a generated mesh.
4254  INTERFACE cmfe_GeneratedMesh_NumberOfElementsGet
4255  MODULE PROCEDURE cmfe_GeneratedMesh_NumberOfElementsGetNumber
4256  MODULE PROCEDURE cmfe_GeneratedMesh_NumberOfElementsGetObj
4257  END INTERFACE cmfe_GeneratedMesh_NumberOfElementsGet
4258 
4259  !>Sets/changes the number of elements in a generated mesh.
4260  INTERFACE cmfe_GeneratedMesh_NumberOfElementsSet
4261  MODULE PROCEDURE cmfe_GeneratedMesh_NumberOfElementsSetNumber
4262  MODULE PROCEDURE cmfe_GeneratedMesh_NumberOfElementsSetObj
4263  END INTERFACE cmfe_GeneratedMesh_NumberOfElementsSet
4264 
4265  !>Returns the origin of a generated mesh.
4266  INTERFACE cmfe_GeneratedMesh_OriginGet
4267  MODULE PROCEDURE cmfe_GeneratedMesh_OriginGetNumber
4268  MODULE PROCEDURE cmfe_GeneratedMesh_OriginGetObj
4269  END INTERFACE cmfe_GeneratedMesh_OriginGet
4270 
4271  !>Sets/changes the origin of a generated mesh.
4272  INTERFACE cmfe_GeneratedMesh_OriginSet
4273  MODULE PROCEDURE cmfe_GeneratedMesh_OriginSetNumber
4274  MODULE PROCEDURE cmfe_GeneratedMesh_OriginSetObj
4275  END INTERFACE cmfe_GeneratedMesh_OriginSet
4276 
4277  !>Returns the type of a generated mesh.
4278  INTERFACE cmfe_GeneratedMesh_TypeGet
4279  MODULE PROCEDURE cmfe_GeneratedMesh_TypeGetNumber
4280  MODULE PROCEDURE cmfe_GeneratedMesh_TypeGetObj
4281  END INTERFACE cmfe_GeneratedMesh_TypeGet
4282 
4283  !>Sets/changes the type of a generated mesh.
4284  INTERFACE cmfe_GeneratedMesh_TypeSet
4285  MODULE PROCEDURE cmfe_GeneratedMesh_TypeSetNumber
4286  MODULE PROCEDURE cmfe_GeneratedMesh_TypeSetObj
4287  END INTERFACE cmfe_GeneratedMesh_TypeSet
4288 
4289  !>Calculates and sets the geometric field parameters for a generated mesh
4290  INTERFACE cmfe_GeneratedMesh_GeometricParametersCalculate
4291  MODULE PROCEDURE cmfe_GeneratedMesh_GeometricParametersCalculateNumber
4292  MODULE PROCEDURE cmfe_GeneratedMesh_GeometricParametersCalculateObj
4293  END INTERFACE cmfe_GeneratedMesh_GeometricParametersCalculate
4294 
4295  !>Returns a list of nodes belonging to a surface of given type
4296  INTERFACE cmfe_GeneratedMesh_SurfaceGet
4297  MODULE PROCEDURE cmfe_GeneratedMesh_SurfaceGetNumber0
4298  MODULE PROCEDURE cmfe_GeneratedMesh_SurfaceGetNumber1
4299  MODULE PROCEDURE cmfe_GeneratedMesh_SurfaceGetObj0
4300  MODULE PROCEDURE cmfe_GeneratedMesh_SurfaceGetObj1
4301  END INTERFACE
4302 
4303 
4304  !>Creates an embedding of one mesh in another
4305  INTERFACE cmfe_MeshEmbedding_Create
4306  MODULE PROCEDURE cmfe_MeshEmbedding_CreateNumber
4307  MODULE PROCEDURE cmfe_MeshEmbedding_CreateObj
4308  END INTERFACE
4309 
4310  !>Sets the embedded nodes for one parent element
4311  INTERFACE cmfe_MeshEmbedding_SetChildNodePosition
4312  MODULE PROCEDURE cmfe_MeshEmbedding_SetChildNodePositionObj
4313  END INTERFACE
4314 
4315 
4316  !>Pushes data from the parent field to the child field
4317  INTERFACE cmfe_MeshEmbedding_PushData
4318  MODULE PROCEDURE cmfe_MeshEmbedding_PushDataObj
4319  END INTERFACE
4320 
4321  INTERFACE cmfe_MeshEmbedding_SetGaussPointData
4322  MODULE PROCEDURE cmfe_MeshEmbedding_SetGaussPointDataObj
4323  END INTERFACE
4324 
4325  INTERFACE cmfe_MeshEmbedding_PullGaussPointData
4326  MODULE PROCEDURE cmfe_MeshEmbedding_PullGaussPointDataObj
4327  END INTERFACE
4328 
4329  INTERFACE cmfe_MeshEmbedding_GetGaussPointCoord
4330  MODULE PROCEDURE cmfe_Field_ParameterSetGetGaussPointCoordObj
4331  END INTERFACE
4332 
4333  PUBLIC cmfe_MeshEmbedding_Create,cmfe_MeshEmbedding_SetChildNodePosition, cmfe_MeshEmbeddingType
4334 
4335  PUBLIC cmfe_MeshEmbedding_Initialise,cmfe_MeshEmbedding_SetGaussPointData
4336 
4337  PUBLIC cmfe_MeshEmbedding_PushData,cmfe_MeshEmbedding_PullGaussPointData
4338 
4339  PUBLIC cmfe_MeshEmbedding_GetGaussPointCoord
4340 
4341  PUBLIC CMFE_GENERATED_MESH_REGULAR_MESH_TYPE,CMFE_GENERATED_MESH_POLAR_MESH_TYPE,CMFE_GENERATED_MESH_FRACTAL_TREE_MESH_TYPE
4342 
4343  PUBLIC CMFE_GENERATED_MESH_CYLINDER_MESH_TYPE, CMFE_GENERATED_MESH_ELLIPSOID_MESH_TYPE
4344 
4345  PUBLIC CMFE_GENERATED_MESH_CYLINDER_INNER_SURFACE,CMFE_GENERATED_MESH_CYLINDER_OUTER_SURFACE
4346 
4347  PUBLIC CMFE_GENERATED_MESH_CYLINDER_TOP_SURFACE, CMFE_GENERATED_MESH_CYLINDER_BOTTOM_SURFACE
4348 
4349  PUBLIC CMFE_GENERATED_MESH_ELLIPSOID_INNER_SURFACE, CMFE_GENERATED_MESH_ELLIPSOID_OUTER_SURFACE
4350 
4351  PUBLIC CMFE_GENERATED_MESH_ELLIPSOID_TOP_SURFACE
4352 
4353  PUBLIC CMFE_GENERATED_MESH_REGULAR_LEFT_SURFACE, CMFE_GENERATED_MESH_REGULAR_RIGHT_SURFACE, &
4354  & CMFE_GENERATED_MESH_REGULAR_TOP_SURFACE
4355 
4356  PUBLIC CMFE_GENERATED_MESH_REGULAR_BOTTOM_SURFACE, CMFE_GENERATED_MESH_REGULAR_FRONT_SURFACE, &
4357  & CMFE_GENERATED_MESH_REGULAR_BACK_SURFACE
4358 
4359  PUBLIC cmfe_GeneratedMesh_BasisGet,cmfe_GeneratedMesh_BasisSet
4360 
4361  PUBLIC cmfe_GeneratedMesh_BaseVectorsSet
4362 
4363  PUBLIC cmfe_GeneratedMesh_CreateFinish,cmfe_GeneratedMesh_CreateStart
4364 
4365  PUBLIC cmfe_GeneratedMesh_Destroy
4366 
4367  PUBLIC cmfe_GeneratedMesh_ExtentGet,cmfe_GeneratedMesh_ExtentSet
4368 
4369  PUBLIC cmfe_GeneratedMesh_NumberOfElementsGet,cmfe_GeneratedMesh_NumberOfElementsSet
4370 
4371  PUBLIC cmfe_GeneratedMesh_OriginGet,cmfe_GeneratedMesh_OriginSet
4372 
4373  PUBLIC cmfe_GeneratedMesh_TypeGet,cmfe_GeneratedMesh_TypeSet
4374 
4375  PUBLIC cmfe_GeneratedMesh_GeometricParametersCalculate
4376 
4377  PUBLIC cmfe_GeneratedMesh_SurfaceGet
4378 
4379 
4380 !!==================================================================================================================================
4381 !!
4382 !! INTERFACE_ROUTINES
4383 !!
4384 !!==================================================================================================================================
4385 
4386  !Module parameters
4387 
4388  !Module types
4389 
4390  !Module variables
4391 
4392  !Interfaces
4393 
4394  !>Adds a mesh to an interface.
4395  INTERFACE cmfe_Interface_MeshAdd
4396  MODULE PROCEDURE cmfe_Interface_MeshAddNumber
4397  MODULE PROCEDURE cmfe_Interface_MeshAddObj
4398  END INTERFACE cmfe_Interface_MeshAdd
4399 
4400  !>Finishes the creation of an interface. \see OpenCMISS::Iron::cmfe_Interface_CreateStart
4401  INTERFACE cmfe_Interface_CreateFinish
4402  MODULE PROCEDURE cmfe_Interface_CreateFinishNumber
4403  MODULE PROCEDURE cmfe_Interface_CreateFinishObj
4404  END INTERFACE cmfe_Interface_CreateFinish
4405 
4406  !>Starts the creation of an interface. \see OpenCMISS::Iron::cmfe_Interface_CreateFinish
4407  INTERFACE cmfe_Interface_CreateStart
4408  MODULE PROCEDURE cmfe_Interface_CreateStartNumber
4409  MODULE PROCEDURE cmfe_Interface_CreateStartObj
4410  END INTERFACE cmfe_Interface_CreateStart
4411 
4412  !>Set the coordinate system of an inteface
4413  INTERFACE cmfe_Interface_CoordinateSystemSet
4414  MODULE PROCEDURE cmfe_Interface_CoordinateSystemSetNumber
4415  MODULE PROCEDURE cmfe_Interface_CoordinateSystemSetObj
4416  END INTERFACE cmfe_Interface_CoordinateSystemSet
4417 
4418  !>Get the coordinate system of an inteface
4419  INTERFACE cmfe_Interface_CoordinateSystemGet
4420  MODULE PROCEDURE cmfe_Interface_CoordinateSystemGetNumber
4421  MODULE PROCEDURE cmfe_Interface_CoordinateSystemGetObj
4422  END INTERFACE cmfe_Interface_CoordinateSystemGet
4423 
4424  !>Destroys an interface.
4425  INTERFACE cmfe_Interface_Destroy
4426  MODULE PROCEDURE cmfe_Interface_DestroyNumber
4427  MODULE PROCEDURE cmfe_Interface_DestroyObj
4428  END INTERFACE cmfe_Interface_Destroy
4429 
4430  !>Returns the label of an interface.
4431  INTERFACE cmfe_Interface_LabelGet
4432  MODULE PROCEDURE cmfe_Interface_LabelGetCNumber
4433  MODULE PROCEDURE cmfe_Interface_LabelGetCObj
4434  MODULE PROCEDURE cmfe_Interface_LabelGetVSNumber
4435  MODULE PROCEDURE cmfe_Interface_LabelGetVSObj
4436  END INTERFACE cmfe_Interface_LabelGet
4437 
4438  !>Sets/changes the label of an interface.
4439  INTERFACE cmfe_Interface_LabelSet
4440  MODULE PROCEDURE cmfe_Interface_LabelSetCNumber
4441  MODULE PROCEDURE cmfe_Interface_LabelSetCObj
4442  MODULE PROCEDURE cmfe_Interface_LabelSetVSNumber
4443  MODULE PROCEDURE cmfe_Interface_LabelSetVSObj
4444  END INTERFACE cmfe_Interface_LabelSet
4445 
4446  !>Returns the nodes for a interface.
4447  INTERFACE cmfe_Interface_NodesGet
4448  MODULE PROCEDURE cmfe_Interface_NodesGetObj
4449  END INTERFACE cmfe_Interface_NodesGet
4450 
4451  !>Finishes the creation of an interface meshes connectivity. \see OpenCMISS::Iron::cmfe_InterfaceMeshConnectivity_CreateStart
4452  INTERFACE cmfe_InterfaceMeshConnectivity_CreateFinish
4453  MODULE PROCEDURE cmfe_InterfaceMeshConnectivity_CreateFinishNumber
4454  MODULE PROCEDURE cmfe_InterfaceMeshConnectivity_CreateFinishObj
4455  END INTERFACE cmfe_InterfaceMeshConnectivity_CreateFinish
4456 
4457  !>Starts the creation of an interface meshes connectivity.
4458  INTERFACE cmfe_InterfaceMeshConnectivity_CreateStart
4459  MODULE PROCEDURE cmfe_InterfaceMeshConnectivity_CreateStartNumber
4460  MODULE PROCEDURE cmfe_InterfaceMeshConnectivity_CreateStartObj
4461  END INTERFACE cmfe_InterfaceMeshConnectivity_CreateStart
4462 
4463  !>Sets the element xi values for the mesh connectivity between an element in the interface mesh and an element in a region mesh
4464  INTERFACE cmfe_InterfaceMeshConnectivity_ElementXiSet
4465  MODULE PROCEDURE cmfe_InterfaceMeshConnectivity_ElementXiSetNumber
4466  MODULE PROCEDURE cmfe_InterfaceMeshConnectivity_ElementXiSetObj
4467  END INTERFACE cmfe_InterfaceMeshConnectivity_ElementXiSet
4468 
4469  !>Sets the number of elements coupled through a given interface mesh element
4470  INTERFACE cmfe_InterfaceMeshConnectivity_ElementNumberSet
4471  MODULE PROCEDURE cmfe_InterfaceMeshConnectivity_ElementNumberSetNumber
4472  MODULE PROCEDURE cmfe_InterfaceMeshConnectivity_ElementNumberSetObj
4473  END INTERFACE cmfe_InterfaceMeshConnectivity_ElementNumberSet
4474 
4475  !>Sets the coupled node numbers
4476  INTERFACE cmfe_InterfaceMeshConnectivity_NodeNumberSet
4477  MODULE PROCEDURE cmfe_InterfaceMeshConnectivity_NodeNumberSetNumber
4478  MODULE PROCEDURE cmfe_InterfaceMeshConnectivity_NodeNumberSetObj
4479  END INTERFACE cmfe_InterfaceMeshConnectivity_NodeNumberSet
4480 
4481  !>Sets the number of elements coupled through a given interface mesh element
4482  INTERFACE cmfe_InterfaceMeshConnectivity_BasisSet
4483  MODULE PROCEDURE cmfe_InterfaceMeshConnectivity_BasisSetNumber
4484  MODULE PROCEDURE cmfe_InterfaceMeshConnectivity_BasisSetObj
4485  END INTERFACE cmfe_InterfaceMeshConnectivity_BasisSet
4486 
4487  !>Destroys an interface meshes connectivity.
4488  INTERFACE cmfe_InterfaceMeshConnectivity_Destroy
4489  MODULE PROCEDURE cmfe_InterfaceMeshConnectivity_DestroyNumber
4490  MODULE PROCEDURE cmfe_InterfaceMeshConnectivity_DestroyObj
4491  END INTERFACE cmfe_InterfaceMeshConnectivity_Destroy
4492 
4493  !>Finishes the creation of an interface points connectivity.
4494  INTERFACE cmfe_InterfacePointsConnectivity_CreateFinish
4495  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_CreateFinishNumber
4496  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_CreateFinishObj
4497  END INTERFACE cmfe_InterfacePointsConnectivity_CreateFinish
4498 
4499  !>Starts the creation of an interface points connectivity.
4500  INTERFACE cmfe_InterfacePointsConnectivity_CreateStart
4501  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_CreateStartNumber
4502  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_CreateStartObj
4503  END INTERFACE cmfe_InterfacePointsConnectivity_CreateStart
4504 
4505  !>Destroys an interface points connectivity.
4506  INTERFACE cmfe_InterfacePointsConnectivity_Destroy
4507  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_DestroyNumber
4508  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_DestroyObj
4509  END INTERFACE cmfe_InterfacePointsConnectivity_Destroy
4510 
4511  !>Get the coupled mesh element number that defines points connectivity
4512  INTERFACE cmfe_InterfacePointsConnectivity_ElementNumberGet
4513  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_ElementNumberGetNumber
4514  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_ElementNumberGetObj
4515  END INTERFACE cmfe_InterfacePointsConnectivity_ElementNumberGet
4516 
4517  !>Gets the element xi values for the points connectivity between a data point in the interface mesh and an element in a region mesh
4518  INTERFACE cmfe_InterfacePointsConnectivity_PointXiGet
4519  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_PointXiGetNumber
4520  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_PointXiGetObj
4521  END INTERFACE cmfe_InterfacePointsConnectivity_PointXiGet
4522 
4523  !>Sets the coupled mesh element number that defines points connectivity
4524  INTERFACE cmfe_InterfacePointsConnectivity_ElementNumberSet
4525  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_ElementNumberSetNumber
4526  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_ElementNumberSetObj
4527  END INTERFACE cmfe_InterfacePointsConnectivity_ElementNumberSet
4528 
4529  !>Sets the element xi values for the points connectivity between a data point in the interface mesh and an element in a region mesh
4530  INTERFACE cmfe_InterfacePointsConnectivity_PointXiSet
4531  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_PointXiSetNumber
4532  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_PointXiSetObj
4533  END INTERFACE cmfe_InterfacePointsConnectivity_PointXiSet
4534 
4535  !>Update points connectivity information with projection results
4536  INTERFACE cmfe_InterfacePointsConnectivity_UpdateFromProjection
4537  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_UpdateFromProjectionRNumber
4538  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_UpdateFromProjectionINumber
4539  MODULE PROCEDURE cmfe_InterfacePointsConnectivity_UpdateFromProjectionObj
4540  END INTERFACE cmfe_InterfacePointsConnectivity_UpdateFromProjection
4541 
4542  PUBLIC cmfe_Interface_MeshAdd
4543 
4544  PUBLIC cmfe_Interface_CreateFinish,cmfe_Interface_CreateStart
4545 
4546  PUBLIC cmfe_Interface_CoordinateSystemSet,cmfe_Interface_CoordinateSystemGet
4547 
4548  PUBLIC cmfe_Interface_Destroy
4549 
4550  PUBLIC cmfe_Interface_LabelGet,cmfe_Interface_LabelSet
4551 
4552  PUBLIC cmfe_Interface_NodesGet
4553 
4554  PUBLIC cmfe_InterfaceMeshConnectivity_CreateFinish,cmfe_InterfaceMeshConnectivity_CreateStart
4555 
4556  PUBLIC cmfe_InterfaceMeshConnectivity_Destroy,cmfe_InterfaceMeshConnectivity_BasisSet
4557 
4558  PUBLIC cmfe_InterfaceMeshConnectivity_ElementNumberSet,cmfe_InterfaceMeshConnectivity_ElementXiSet
4559 
4560  PUBLIC cmfe_InterfaceMeshConnectivity_NodeNumberSet
4561 
4562  PUBLIC cmfe_InterfacePointsConnectivity_CreateFinish,cmfe_InterfacePointsConnectivity_CreateStart
4563 
4564  PUBLIC cmfe_InterfacePointsConnectivity_Destroy
4565 
4566  PUBLIC cmfe_InterfacePointsConnectivity_ElementNumberGet,cmfe_InterfacePointsConnectivity_PointXiGet
4567 
4568  PUBLIC cmfe_InterfacePointsConnectivity_ElementNumberSet,cmfe_InterfacePointsConnectivity_PointXiSet
4569 
4570  PUBLIC cmfe_InterfacePointsConnectivity_UpdateFromProjection
4571 
4572 !!==================================================================================================================================
4573 !!
4574 !! INTERFACE_CONDITION_ROUTINES
4575 !!
4576 !!==================================================================================================================================
4577 
4578  !Module parameters
4579 
4580  !> \addtogroup OPENCMISS_InterfaceConditionConstants OPENCMISS::InterfaceConditions::Constants
4581  !> \brief Interface conditions constants.
4582  !>@{
4583  !> \addtogroup OPENCMISS_InterfaceConditionMethods OPENCMISS::InterfaceConditions::Methods
4584  !> \brief Interface condition methods.
4585  !> \see OPENCMISS::InterfaceConditions,OPENCMISS
4586  !>@{
4587  INTEGER(INTG), PARAMETER :: CMFE_INTERFACE_CONDITION_LAGRANGE_MULTIPLIERS_METHOD = &
4588  & INTERFACE_CONDITION_LAGRANGE_MULTIPLIERS_METHOD !<Lagrange multipliers interface condition method. \see OPENCMISS_InterfaceConditionMethods,OPENCMISS
4589  INTEGER(INTG), PARAMETER :: CMFE_INTERFACE_CONDITION_AUGMENTED_LAGRANGE_METHOD = INTERFACE_CONDITION_AUGMENTED_LAGRANGE_METHOD !<Augmented Lagrange multiplers interface condition method. \see OPENCMISS_InterfaceConditionMethods,OPENCMISS
4590  INTEGER(INTG), PARAMETER :: CMFE_INTERFACE_CONDITION_PENALTY_METHOD = INTERFACE_CONDITION_PENALTY_METHOD !<Penalty interface condition method. \see OPENCMISS_InterfaceConditionMethods,OPENCMISS
4591  INTEGER(INTG), PARAMETER :: CMFE_INTERFACE_CONDITION_POINT_TO_POINT_METHOD = INTERFACE_CONDITION_POINT_TO_POINT_METHOD !<Point to point interface condition method. \see OPENCMISS_InterfaceConditionMethods,OPENCMISS
4592  !>@}
4593  !> \addtogroup OPENCMISS_InterfaceConditionOperators OPENCMISS::InterfaceConditions::Operators
4594  !> \brief Interface condition operator types.
4595  !> \see OPENCMISS::InterfaceConditions,OPENCMISS
4596  !>@{
4597  INTEGER(INTG), PARAMETER :: CMFE_INTERFACE_CONDITION_FIELD_CONTINUITY_OPERATOR = &
4598  & INTERFACE_CONDITION_FIELD_CONTINUITY_OPERATOR !<Continuous field operator, i.e., lambda.(u1_gauss-u2_gauss). \see OPENCMISS_InterfaceConditionOperators,OPENCMISS
4599  INTEGER(INTG), PARAMETER :: CMFE_INTERFACE_CONDITION_FIELD_NORMAL_CONTINUITY_OPERATOR = &
4600  & INTERFACE_CONDITION_FIELD_NORMAL_CONTINUITY_OPERATOR !<Continuous field normal operator, i.e., lambda(u_1.n_1-u_2.n_2). \see OPENCMISS_InterfaceConditionOperators,OPENCMISS
4601  INTEGER(INTG), PARAMETER :: CMFE_INTERFACE_CONDITION_FLS_CONTACT_OPERATOR= &
4602  & INTERFACE_CONDITION_FLS_CONTACT_OPERATOR !<Frictionless contact operator, i.e., lambda.(x_1.n-x_2.n). \see OPENCMISS_InterfaceConditionOperators,OPENCMISS
4603  INTEGER(INTG), PARAMETER :: CMFE_INTERFACE_CONDITION_FLS_CONTACT_REPROJECT_OPERATOR= &
4604  & INTERFACE_CONDITION_FLS_CONTACT_REPROJECT_OPERATOR !<Frictionless contact operator, reproject at each newton iteration and has geometric linearisation terms i.e., lambda.(x_1.n-x_2.n). \see OPENCMISS_InterfaceConditionOperators,OPENCMISS
4605  INTEGER(INTG), PARAMETER :: CMFE_INTERFACE_CONDITION_SOLID_FLUID_OPERATOR = INTERFACE_CONDITION_SOLID_FLUID_OPERATOR !<Solid fluid operator, i.e., lambda.(v_f-du_s/dt). \see OPENCMISS_InterfaceConditionOperators,OPENCMISS
4606  INTEGER(INTG), PARAMETER :: CMFE_INTERFACE_CONDITION_SOLID_FLUID_NORMAL_OPERATOR = &
4607  & INTERFACE_CONDITION_SOLID_FLUID_NORMAL_OPERATOR !<Solid fluid normal operator, i.e., lambda(v_f.n_f-du_s/dt.n_s). \see OPENCMISS_InterfaceConditionOperators,OPENCMISS
4608  !>@}
4609  !> \addtogroup OPENCMISS_InterfaceConditionIntegrationTypes OPENCMISS::InterfaceConditions::IntegrationTypes
4610  !> \brief Interface condition integration types.
4611  !> \see OPENCMISS::InterfaceConditions,OPENCMISS
4612  !>@{
4613  INTEGER(INTG), PARAMETER :: CMFE_INTERFACE_CONDITION_GAUSS_INTEGRATION=INTERFACE_CONDITION_GAUSS_INTEGRATION !<Gauss points integration type, i.e. Loop over element Gauss points and sum up their contribution. \see OPENCMISS_InterfaceConditionIntegrationTypes,OPENCMISS
4614  INTEGER(INTG), PARAMETER :: CMFE_INTERFACE_CONDITION_DATA_POINTS_INTEGRATION=INTERFACE_CONDITION_DATA_POINTS_INTEGRATION !< Data points integration type i.e. Loop over data points and sum up their contribution. \see OPENCMISS_InterfaceConditionIntegrationTypes,OPENCMISS
4615  !>@}
4616  !>@}
4617 
4618  !Module types
4619 
4620  !Module variables
4621 
4622  !Interfaces
4623 
4624  !>Finishes the creation of an interface condition. \see OpenCMISS::Iron::cmfe_InterfaceCondition_CreateStart
4625  INTERFACE cmfe_InterfaceCondition_CreateFinish
4626  MODULE PROCEDURE cmfe_InterfaceCondition_CreateFinishNumber
4627  MODULE PROCEDURE cmfe_InterfaceCondition_CreateFinishObj
4628  END INTERFACE cmfe_InterfaceCondition_CreateFinish
4629 
4630  !>Starts the creation of an interface condition. \see OpenCMISS::Iron::cmfe_InterfaceCondition_CreateFinish
4631  INTERFACE cmfe_InterfaceCondition_CreateStart
4632  MODULE PROCEDURE cmfe_InterfaceCondition_CreateStartNumber
4633  MODULE PROCEDURE cmfe_InterfaceCondition_CreateStartObj
4634  END INTERFACE cmfe_InterfaceCondition_CreateStart
4635 
4636  !>Adds in a dependent variable to an interface condition.
4637  INTERFACE cmfe_InterfaceCondition_DependentVariableAdd
4638  MODULE PROCEDURE cmfe_InterfaceCondition_DependentVariableAddNumber
4639  MODULE PROCEDURE cmfe_InterfaceCondition_DependentVariableAddObj
4640  END INTERFACE cmfe_InterfaceCondition_DependentVariableAdd
4641 
4642  !>Destroys an interface condition.
4643  INTERFACE cmfe_InterfaceCondition_Destroy
4644  MODULE PROCEDURE cmfe_InterfaceCondition_DestroyNumber
4645  MODULE PROCEDURE cmfe_InterfaceCondition_DestroyObj
4646  END INTERFACE cmfe_InterfaceCondition_Destroy
4647 
4648  !>Finishes the creation of equations for an interface condition. \see OpenCMISS::Iron::cmfe_InterfaceCondition_EquationsCreateStart
4649  INTERFACE cmfe_InterfaceCondition_EquationsCreateFinish
4650  MODULE PROCEDURE cmfe_InterfaceCondition_EquationsCreateFinishNumber
4651  MODULE PROCEDURE cmfe_InterfaceCondition_EquationsCreateFinishObj
4652  END INTERFACE cmfe_InterfaceCondition_EquationsCreateFinish
4653 
4654  !>Starts the creation of equations for an interface condition. \see OpenCMISS::Iron::cmfe_InterfaceCondition_EquationsCreateFinish
4655  INTERFACE cmfe_InterfaceCondition_EquationsCreateStart
4656  MODULE PROCEDURE cmfe_InterfaceCondition_EquationsCreateStartNumber
4657  MODULE PROCEDURE cmfe_InterfaceCondition_EquationsCreateStartObj
4658  END INTERFACE cmfe_InterfaceCondition_EquationsCreateStart
4659 
4660  !>Destroys the interface equations for an interface condition.
4661  INTERFACE cmfe_InterfaceCondition_EquationsDestroy
4662  MODULE PROCEDURE cmfe_InterfaceCondition_EquationsDestroyNumber
4663  MODULE PROCEDURE cmfe_InterfaceCondition_EquationsDestroyObj
4664  END INTERFACE cmfe_InterfaceCondition_EquationsDestroy
4665 
4666  !>Returns the integration type for an interface condition.
4667  INTERFACE cmfe_InterfaceCondition_IntegrationTypeGet
4668  MODULE PROCEDURE cmfe_InterfaceCondition_IntegrationTypeGetNumber
4669  MODULE PROCEDURE cmfe_InterfaceCondition_IntegrationTypeGetObj
4670  END INTERFACE cmfe_InterfaceCondition_IntegrationTypeGet
4671 
4672  !>Sets/changes the integration type for an interface condition.
4673  INTERFACE cmfe_InterfaceCondition_IntegrationTypeSet
4674  MODULE PROCEDURE cmfe_InterfaceCondition_IntegrationTypeSetNumber
4675  MODULE PROCEDURE cmfe_InterfaceCondition_IntegrationTypeSetObj
4676  END INTERFACE cmfe_InterfaceCondition_IntegrationTypeSet
4677 
4678  !>Finishes the creation of a Lagrange multipliers field for an interface condition. \see OpenCMISS::Iron::cmfe_InterfaceCondition_LagrangeFieldCreateStart
4679  INTERFACE cmfe_InterfaceCondition_LagrangeFieldCreateFinish
4680  MODULE PROCEDURE cmfe_InterfaceCondition_LagrangeFieldCreateFinishNumber
4681  MODULE PROCEDURE cmfe_InterfaceCondition_LagrangeFieldCreateFinishObj
4682  END INTERFACE cmfe_InterfaceCondition_LagrangeFieldCreateFinish
4683 
4684  !>Starts the creation of a Lagrange multipliers field for an interface condition. \see OpenCMISS::Iron::cmfe_InterfaceCondition_LagrangeFieldCreateFinish
4685  INTERFACE cmfe_InterfaceCondition_LagrangeFieldCreateStart
4686  MODULE PROCEDURE cmfe_InterfaceCondition_LagrangeFieldCreateStartNumber
4687  MODULE PROCEDURE cmfe_InterfaceCondition_LagrangeFieldCreateStartObj
4688  END INTERFACE cmfe_InterfaceCondition_LagrangeFieldCreateStart
4689 
4690  !>Finishes the creation of a Penalty field for an interface condition. \see OpenCMISS::Iron::cmfe_InterfaceCondition_PenaltyFieldCreateStart
4691  INTERFACE cmfe_InterfaceCondition_PenaltyFieldCreateFinish
4692  MODULE PROCEDURE cmfe_InterfaceCondition_PenaltyFieldCreateFinishNumber
4693  MODULE PROCEDURE cmfe_InterfaceCondition_PenaltyFieldCreateFinishObj
4694  END INTERFACE cmfe_InterfaceCondition_PenaltyFieldCreateFinish
4695 
4696  !>Starts the creation of a Penalty field for an interface condition. \see OpenCMISS::Iron::cmfe_InterfaceCondition_PenaltyFieldCreateFinish
4697  INTERFACE cmfe_InterfaceCondition_PenaltyFieldCreateStart
4698  MODULE PROCEDURE cmfe_InterfaceCondition_PenaltyFieldCreateStartNumber
4699  MODULE PROCEDURE cmfe_InterfaceCondition_PenaltyFieldCreateStartObj
4700  END INTERFACE cmfe_InterfaceCondition_PenaltyFieldCreateStart
4701 
4702  !>Returns the method for an interface condition.
4703  INTERFACE cmfe_InterfaceCondition_MethodGet
4704  MODULE PROCEDURE cmfe_InterfaceCondition_MethodGetNumber
4705  MODULE PROCEDURE cmfe_InterfaceCondition_MethodGetObj
4706  END INTERFACE cmfe_InterfaceCondition_MethodGet
4707 
4708  !>Sets/changes the method for an interface condition.
4709  INTERFACE cmfe_InterfaceCondition_MethodSet
4710  MODULE PROCEDURE cmfe_InterfaceCondition_MethodSetNumber
4711  MODULE PROCEDURE cmfe_InterfaceCondition_MethodSetObj
4712  END INTERFACE cmfe_InterfaceCondition_MethodSet
4713 
4714  !>Returns the operator for an interface condition.
4715  INTERFACE cmfe_InterfaceCondition_OperatorGet
4716  MODULE PROCEDURE cmfe_InterfaceCondition_OperatorGetNumber
4717  MODULE PROCEDURE cmfe_InterfaceCondition_OperatorGetObj
4718  END INTERFACE cmfe_InterfaceCondition_OperatorGet
4719 
4720  !>Sets/changes the operator for an interface condition.
4721  INTERFACE cmfe_InterfaceCondition_OperatorSet
4722  MODULE PROCEDURE cmfe_InterfaceCondition_OperatorSetNumber
4723  MODULE PROCEDURE cmfe_InterfaceCondition_OperatorSetObj
4724  END INTERFACE cmfe_InterfaceCondition_OperatorSet
4725 
4726  !>Returns the sparsity for interface equations.
4727  INTERFACE cmfe_InterfaceEquations_SparsityGet
4728  MODULE PROCEDURE cmfe_InterfaceEquations_SparsityGetNumber
4729  MODULE PROCEDURE cmfe_InterfaceEquations_SparsityGetObj
4730  END INTERFACE cmfe_InterfaceEquations_SparsityGet
4731 
4732  !>Sets/changes the sparsity for interface equations.
4733  INTERFACE cmfe_InterfaceEquations_SparsitySet
4734  MODULE PROCEDURE cmfe_InterfaceEquations_SparsitySetNumber
4735  MODULE PROCEDURE cmfe_InterfaceEquations_SparsitySetObj
4736  END INTERFACE cmfe_InterfaceEquations_SparsitySet
4737 
4738  !>Returns the output type for interface equations.
4739  INTERFACE cmfe_InterfaceEquations_OutputTypeGet
4740  MODULE PROCEDURE cmfe_InterfaceEquations_OutputTypeGetNumber
4741  MODULE PROCEDURE cmfe_InterfaceEquations_OutputTypeGetObj
4742  END INTERFACE cmfe_InterfaceEquations_OutputTypeGet
4743 
4744  !>Sets/changes the output type for interface equations.
4745  INTERFACE cmfe_InterfaceEquations_OutputTypeSet
4746  MODULE PROCEDURE cmfe_InterfaceEquations_OutputTypeSetNumber
4747  MODULE PROCEDURE cmfe_InterfaceEquations_OutputTypeSetObj
4748  END INTERFACE cmfe_InterfaceEquations_OutputTypeSet
4749 
4750  PUBLIC CMFE_INTERFACE_CONDITION_LAGRANGE_MULTIPLIERS_METHOD,CMFE_INTERFACE_CONDITION_AUGMENTED_LAGRANGE_METHOD, &
4751  & CMFE_INTERFACE_CONDITION_PENALTY_METHOD,CMFE_INTERFACE_CONDITION_POINT_TO_POINT_METHOD
4752 
4753  PUBLIC CMFE_INTERFACE_CONDITION_FIELD_CONTINUITY_OPERATOR,CMFE_INTERFACE_CONDITION_FIELD_NORMAL_CONTINUITY_OPERATOR, &
4754  & CMFE_INTERFACE_CONDITION_FLS_CONTACT_OPERATOR,CMFE_INTERFACE_CONDITION_FLS_CONTACT_REPROJECT_OPERATOR, &
4755  & CMFE_INTERFACE_CONDITION_SOLID_FLUID_OPERATOR,CMFE_INTERFACE_CONDITION_SOLID_FLUID_NORMAL_OPERATOR
4756 
4757  PUBLIC CMFE_INTERFACE_CONDITION_GAUSS_INTEGRATION,CMFE_INTERFACE_CONDITION_DATA_POINTS_INTEGRATION
4758 
4759  PUBLIC cmfe_InterfaceCondition_CreateFinish,cmfe_InterfaceCondition_CreateStart
4760 
4761  PUBLIC cmfe_InterfaceCondition_DependentVariableAdd
4762 
4763  PUBLIC cmfe_InterfaceCondition_Destroy
4764 
4765  PUBLIC cmfe_InterfaceCondition_EquationsCreateFinish,cmfe_InterfaceCondition_EquationsCreateStart
4766 
4767  PUBLIC cmfe_InterfaceCondition_EquationsDestroy
4768 
4769  PUBLIC cmfe_InterfaceCondition_IntegrationTypeGet,cmfe_InterfaceCondition_IntegrationTypeSet
4770 
4771  PUBLIC cmfe_InterfaceCondition_LagrangeFieldCreateFinish,cmfe_InterfaceCondition_LagrangeFieldCreateStart
4772 
4773  PUBLIC cmfe_InterfaceCondition_PenaltyFieldCreateFinish,cmfe_InterfaceCondition_PenaltyFieldCreateStart
4774 
4775  PUBLIC cmfe_InterfaceCondition_MethodGet,cmfe_InterfaceCondition_MethodSet
4776 
4777  PUBLIC cmfe_InterfaceCondition_OperatorGet,cmfe_InterfaceCondition_OperatorSet
4778 
4779  PUBLIC cmfe_InterfaceEquations_SparsityGet,cmfe_InterfaceEquations_SparsitySet
4780 
4781  PUBLIC cmfe_InterfaceEquations_OutputTypeGet,cmfe_InterfaceEquations_OutputTypeSet
4782 
4783 !!==================================================================================================================================
4784 !!
4785 !! INTERFACE MATRICES ROUTINES
4786 !!
4787 !!==================================================================================================================================
4788 
4789  !Module parameters
4790 
4791  !> \addtogroup OPENCMISS_InterfaceMatricesTimeDependenceTypes OPENCMISS::InterfaceMatrices::TimeDependenceTypes
4792  !> \brief Interface matrices time dependency types
4793  !>@{
4794  INTEGER, PARAMETER :: CMFE_NUMBER_OF_INTERFACE_MATRIX_TYPES=NUMBER_OF_INTERFACE_MATRIX_TYPES
4795  INTEGER, PARAMETER :: CMFE_INTERFACE_MATRIX_STATIC=INTERFACE_MATRIX_STATIC !<Interface matrix is of static type \see INTERFACE_MATRICES_ROUTINES_InterfaceMatricesTimeDependenceTypes,INTERFACE_MATRICES_ROUTINES
4796  INTEGER, PARAMETER :: CMFE_INTERFACE_MATRIX_QUASI_STATIC=INTERFACE_MATRIX_QUASI_STATIC !<Interface matrix is of quasi-static type \see INTERFACE_MATRICES_ROUTINES_InterfaceMatricesTimeDependenceTypes,INTERFACE_MATRICES_ROUTINES
4797  INTEGER, PARAMETER :: CMFE_INTERFACE_MATRIX_FIRST_ORDER_DYNAMIC=INTERFACE_MATRIX_FIRST_ORDER_DYNAMIC !<Interface matrix is of first order dynamic type \see INTERFACE_MATRICES_ROUTINES_InterfaceMatricesTimeDependenceTypes,INTERFACE_MATRICES_ROUTINES
4798  INTEGER, PARAMETER :: CMFE_INTERFACE_MATRIX_SECOND_ORDER_DYNAMIC=INTERFACE_MATRIX_SECOND_ORDER_DYNAMIC !<Interface matrix is of second order dynamic type \see INTERFACE_MATRICES_ROUTINES_InterfaceMatricesTimeDependenceTypes,INTERFACE_MATRICES_ROUTINES
4799  !>@}
4800 
4801  !Module types
4802 
4803  !Module variables
4804 
4805  !Interfaces
4806  PUBLIC CMFE_NUMBER_OF_INTERFACE_MATRIX_TYPES,CMFE_INTERFACE_MATRIX_STATIC,CMFE_INTERFACE_MATRIX_QUASI_STATIC, &
4807  & CMFE_INTERFACE_MATRIX_FIRST_ORDER_DYNAMIC,CMFE_INTERFACE_MATRIX_SECOND_ORDER_DYNAMIC
4808 
4809  PUBLIC cmfe_InterfaceMatrices_TimeDependenceTypeSet,cmfe_InterfaceMatrices_TimeDependenceTypeGet
4810 
4811 !!==================================================================================================================================
4812 !!
4813 !! MESH_ROUTINES
4814 !!
4815 !!==================================================================================================================================
4816 
4817  !Module parameters
4818 
4819  !> \addtogroup OPENCMISS_MeshConstants OPENCMISS::Mesh::Constants
4820  !> \brief Mesh constants.
4821  !>@{
4822  !> \addtogroup OPENCMISS_DecompositionTypes OPENCMISS::Mesh::DecompositionTypes
4823  !> \brief The Decomposition types parameters
4824  !> \see OPENCMISS::Mesh,OPENCMISS
4825  !>@{
4826  INTEGER(INTG), PARAMETER :: CMFE_DECOMPOSITION_ALL_TYPE = DECOMPOSITION_ALL_TYPE !<The decomposition contains all elements. \see OPENCMISS_DecompositionTypes,OPENCMISS
4827  INTEGER(INTG), PARAMETER :: CMFE_DECOMPOSITION_CALCULATED_TYPE = DECOMPOSITION_CALCULATED_TYPE !<The element decomposition is calculated by graph partitioning. \see OPENCMISS_DecompositionTypes,OPENCMISS
4828  INTEGER(INTG), PARAMETER :: CMFE_DECOMPOSITION_USER_DEFINED_TYPE = DECOMPOSITION_USER_DEFINED_TYPE !<The user will set the element decomposition. \see OPENCMISS_DecompositionTypes,OPENCMISS
4829  !>@}
4830  !>@}
4831 
4832  !Module types
4833 
4834  !Module variables
4835 
4836  !Interfaces
4837 
4838  !>Finishes the creation of a domain decomposition. \see OpenCMISS::Iron::cmfe_Decomposition_CreateStart
4839  INTERFACE cmfe_Decomposition_CreateFinish
4840  MODULE PROCEDURE cmfe_Decomposition_CreateFinishNumber
4841  MODULE PROCEDURE cmfe_Decomposition_CreateFinishObj
4842  END INTERFACE cmfe_Decomposition_CreateFinish
4843 
4844  !>Start the creation of a domain decomposition for a given mesh. \see OpenCMISS::Iron::cmfe_Decomposition_CreateStart
4845  INTERFACE cmfe_Decomposition_CreateStart
4846  MODULE PROCEDURE cmfe_Decomposition_CreateStartNumber
4847  MODULE PROCEDURE cmfe_Decomposition_CreateStartObj
4848  END INTERFACE cmfe_Decomposition_CreateStart
4849 
4850  !>Destroys a domain decomposition.
4851  INTERFACE cmfe_Decomposition_Destroy
4852  MODULE PROCEDURE cmfe_Decomposition_DestroyNumber
4853  MODULE PROCEDURE cmfe_Decomposition_DestroyObj
4854  END INTERFACE cmfe_Decomposition_Destroy
4855 
4856  !>Calculates the element domains for the decomposition of a mesh.
4857  INTERFACE cmfe_Decomposition_ElementDomainCalculate
4858  MODULE PROCEDURE cmfe_Decomposition_ElementDomainCalculateNumber
4859  MODULE PROCEDURE cmfe_Decomposition_ElementDomainCalculateObj
4860  END INTERFACE cmfe_Decomposition_ElementDomainCalculate
4861 
4862  !>Returns the domain for a given element in a decomposition of a mesh.
4863  INTERFACE cmfe_Decomposition_ElementDomainGet
4864  MODULE PROCEDURE cmfe_Decomposition_ElementDomainGetNumber
4865  MODULE PROCEDURE cmfe_Decomposition_ElementDomainGetObj
4866  END INTERFACE cmfe_Decomposition_ElementDomainGet
4867 
4868  !>Sets/changes the domain for a given element in a decomposition of a mesh.
4869  INTERFACE cmfe_Decomposition_ElementDomainSet
4870  MODULE PROCEDURE cmfe_Decomposition_ElementDomainSetNumber
4871  MODULE PROCEDURE cmfe_Decomposition_ElementDomainSetObj
4872  END INTERFACE cmfe_Decomposition_ElementDomainSet
4873 
4874  !>Returns the mesh component number used for the decomposition of a mesh.
4875  INTERFACE cmfe_Decomposition_MeshComponentGet
4876  MODULE PROCEDURE cmfe_Decomposition_MeshComponentGetNumber
4877  MODULE PROCEDURE cmfe_Decomposition_MeshComponentGetObj
4878  END INTERFACE cmfe_Decomposition_MeshComponentGet
4879 
4880  !>Sets/changes the mesh component number used for the decomposition of a mesh.
4881  INTERFACE cmfe_Decomposition_MeshComponentSet
4882  MODULE PROCEDURE cmfe_Decomposition_MeshComponentSetNumber
4883  MODULE PROCEDURE cmfe_Decomposition_MeshComponentSetObj
4884  END INTERFACE cmfe_Decomposition_MeshComponentSet
4885 
4886  !>Returns the number of domains used for the decomposition of a mesh.
4887  INTERFACE cmfe_Decomposition_NumberOfDomainsGet
4888  MODULE PROCEDURE cmfe_Decomposition_NumberOfDomainsGetNumber
4889  MODULE PROCEDURE cmfe_Decomposition_NumberOfDomainsGetObj
4890  END INTERFACE cmfe_Decomposition_NumberOfDomainsGet
4891 
4892  !>Sets/changes the number of domains used for the decomposition of a mesh.
4893  INTERFACE cmfe_Decomposition_NumberOfDomainsSet
4894  MODULE PROCEDURE cmfe_Decomposition_NumberOfDomainsSetNumber
4895  MODULE PROCEDURE cmfe_Decomposition_NumberOfDomainsSetObj
4896  END INTERFACE cmfe_Decomposition_NumberOfDomainsSet
4897 
4898  !>Returns the type of decomposition.
4899  INTERFACE cmfe_Decomposition_TypeGet
4900  MODULE PROCEDURE cmfe_Decomposition_TypeGetNumber
4901  MODULE PROCEDURE cmfe_Decomposition_TypeGetObj
4902  END INTERFACE cmfe_Decomposition_TypeGet
4903 
4904  !>Sets/changes the type of decomposition.
4905  INTERFACE cmfe_Decomposition_TypeSet
4906  MODULE PROCEDURE cmfe_Decomposition_TypeSetNumber
4907  MODULE PROCEDURE cmfe_Decomposition_TypeSetObj
4908  END INTERFACE cmfe_Decomposition_TypeSet
4909 
4910  !>Sets/changes whether lines should be calculated for the decomposition.
4911  INTERFACE cmfe_Decomposition_CalculateLinesSet
4912  MODULE PROCEDURE cmfe_Decomposition_CalculateLinesSetNumber
4913  MODULE PROCEDURE cmfe_Decomposition_CalculateLinesSetObj
4914  END INTERFACE cmfe_Decomposition_CalculateLinesSet
4915 
4916  !>Sets/changes whether faces should be calculated for the decomposition.
4917  INTERFACE cmfe_Decomposition_CalculateFacesSet
4918  MODULE PROCEDURE cmfe_Decomposition_CalculateFacesSetNumber
4919  MODULE PROCEDURE cmfe_Decomposition_CalculateFacesSetObj
4920  END INTERFACE cmfe_Decomposition_CalculateFacesSet
4921 
4922  !>Finishes the creation of a mesh. \see OpenCMISS::Iron::cmfe_Mesh_CreateStart
4923  INTERFACE cmfe_Mesh_CreateFinish
4924  MODULE PROCEDURE cmfe_Mesh_CreateFinishNumber
4925  MODULE PROCEDURE cmfe_Mesh_CreateFinishObj
4926  END INTERFACE cmfe_Mesh_CreateFinish
4927 
4928  !>Starts the creation of a mesh. \see OpenCMISS::Iron::cmfe_Mesh_CreateFinish
4929  INTERFACE cmfe_Mesh_CreateStart
4930  MODULE PROCEDURE cmfe_Mesh_CreateStartNumber
4931  MODULE PROCEDURE cmfe_Mesh_CreateStartObj
4932  MODULE PROCEDURE cmfe_Mesh_CreateStartInterfaceObj
4933  END INTERFACE cmfe_Mesh_CreateStart
4934 
4935  !>Destroys a mesh.
4936  INTERFACE cmfe_Mesh_Destroy
4937  MODULE PROCEDURE cmfe_Mesh_DestroyNumber
4938  MODULE PROCEDURE cmfe_Mesh_DestroyObj
4939  END INTERFACE cmfe_Mesh_Destroy
4940 
4941  !>Returns the number of mesh components in a mesh.
4942  INTERFACE cmfe_Mesh_NumberOfComponentsGet
4943  MODULE PROCEDURE cmfe_Mesh_NumberOfComponentsGetNumber
4944  MODULE PROCEDURE cmfe_Mesh_NumberOfComponentsGetObj
4945  END INTERFACE cmfe_Mesh_NumberOfComponentsGet
4946 
4947  !>Sets/changes the number of mesh components in a mesh.
4948  INTERFACE cmfe_Mesh_NumberOfComponentsSet
4949  MODULE PROCEDURE cmfe_Mesh_NumberOfComponentsSetNumber
4950  MODULE PROCEDURE cmfe_Mesh_NumberOfComponentsSetObj
4951  END INTERFACE cmfe_Mesh_NumberOfComponentsSet
4952 
4953  !>Returns the number of elements in a mesh.
4954  INTERFACE cmfe_Mesh_NumberOfElementsGet
4955  MODULE PROCEDURE cmfe_Mesh_NumberOfElementsGetNumber
4956  MODULE PROCEDURE cmfe_Mesh_NumberOfElementsGetObj
4957  END INTERFACE cmfe_Mesh_NumberOfElementsGet
4958 
4959  !>Sets/changes the number of elements in a mesh.
4960  INTERFACE cmfe_Mesh_NumberOfElementsSet
4961  MODULE PROCEDURE cmfe_Mesh_NumberOfElementsSetNumber
4962  MODULE PROCEDURE cmfe_Mesh_NumberOfElementsSetObj
4963  END INTERFACE cmfe_Mesh_NumberOfElementsSet
4964 
4965  !>Sets/changes the surrounding elements calculate flag for the mesh.
4966  INTERFACE cmfe_Mesh_SurroundingElementsCalculateSet
4967  MODULE PROCEDURE cmfe_Mesh_SurroundingElementsCalculateSetNumber
4968  MODULE PROCEDURE cmfe_Mesh_SurroundingElementsCalculateSetObj
4969  END INTERFACE cmfe_Mesh_SurroundingElementsCalculateSet
4970 
4971  !>Sets/changes whether data points topology should be calculated for the decomposition.
4972  INTERFACE cmfe_Mesh_TopologyDataPointsCalculateProjection
4973  MODULE PROCEDURE cmfe_Mesh_TopologyDataPointsCalculateProjectionInterfaceNumber
4974  MODULE PROCEDURE cmfe_Mesh_TopologyDataPointsCalculateProjectionRegionNumber
4975  MODULE PROCEDURE cmfe_Mesh_TopologyDataPointsCalculateProjectionObj
4976  END INTERFACE cmfe_Mesh_TopologyDataPointsCalculateProjection
4977 
4978  !>Returns the basis for an element in a mesh.
4979  INTERFACE cmfe_MeshElements_BasisGet
4980  MODULE PROCEDURE cmfe_MeshElements_BasisGetNumber
4981  MODULE PROCEDURE cmfe_MeshElements_BasisGetObj
4982  END INTERFACE cmfe_MeshElements_BasisGet
4983 
4984  !>Sets/changes the basis for an element in a mesh.
4985  INTERFACE cmfe_MeshElements_BasisSet
4986  MODULE PROCEDURE cmfe_MeshElements_BasisSetNumber
4987  MODULE PROCEDURE cmfe_MeshElements_BasisSetObj
4988  END INTERFACE cmfe_MeshElements_BasisSet
4989 
4990  !>Returns the adjacent elements for a given element and adjacent xi direction for an element in a mesh.
4991  INTERFACE cmfe_MeshElements_AdjacentElementGet
4992  MODULE PROCEDURE cmfe_MeshElements_AdjacentElementGetNumber
4993  MODULE PROCEDURE cmfe_MeshElements_AdjacentElementGetObj
4994  END INTERFACE cmfe_MeshElements_AdjacentElementGet
4995 
4996  !>Finishes the creation of a mesh elements for a mesh component. \see OpenCMISS::Iron::cmfe_MeshElements_CreateStart
4997  INTERFACE cmfe_MeshElements_CreateFinish
4998  MODULE PROCEDURE cmfe_MeshElements_CreateFinishNumber
4999  MODULE PROCEDURE cmfe_MeshElements_CreateFinishObj
5000  END INTERFACE cmfe_MeshElements_CreateFinish
5001 
5002  !>Starts the creation of a mesh elements for a mesh component. \see OpenCMISS::Iron::cmfe_MeshElements_CreateFinish
5003  INTERFACE cmfe_MeshElements_CreateStart
5004  MODULE PROCEDURE cmfe_MeshElements_CreateStartNumber
5005  MODULE PROCEDURE cmfe_MeshElements_CreateStartObj
5006  END INTERFACE cmfe_MeshElements_CreateStart
5007 
5008  !>Get the mesh elements belonging to a mesh component.
5009  INTERFACE cmfe_Mesh_ElementsGet
5010  MODULE PROCEDURE cmfe_Mesh_ElementsGetNumber
5011  MODULE PROCEDURE cmfe_Mesh_ElementsGetObj
5012  END INTERFACE cmfe_Mesh_ElementsGet
5013 
5014  !>Returns the element nodes for an element in a mesh.
5015  INTERFACE cmfe_MeshElements_NodesGet
5016  MODULE PROCEDURE cmfe_MeshElements_NodesGetNumber
5017  MODULE PROCEDURE cmfe_MeshElements_NodesGetObj
5018  END INTERFACE cmfe_MeshElements_NodesGet
5019 
5020  !>Sets/changes the element nodes for an element in a mesh.
5021  INTERFACE cmfe_MeshElements_NodesSet
5022  MODULE PROCEDURE cmfe_MeshElements_NodesSetNumber
5023  MODULE PROCEDURE cmfe_MeshElements_NodesSetObj
5024  END INTERFACE cmfe_MeshElements_NodesSet
5025 
5026  !>Sets/changes a user node's derivative version for an element in a mesh.
5031 
5037 
5040  MODULE PROCEDURE cmfe_meshelements_usernumbergetnumber
5041  MODULE PROCEDURE cmfe_meshelements_usernumbergetobj
5042  END INTERFACE cmfe_meshelements_usernumberget
5043 
5046  MODULE PROCEDURE cmfe_meshelements_usernumbersetnumber
5047  MODULE PROCEDURE cmfe_meshelements_usernumbersetobj
5048  END INTERFACE cmfe_meshelements_usernumberset
5049 
5055 
5058  MODULE PROCEDURE cmfe_mesh_nodeexistsnumber
5059  MODULE PROCEDURE cmfe_mesh_nodeexistsobj
5060  END INTERFACE cmfe_mesh_nodeexists
5061 
5064  MODULE PROCEDURE cmfe_mesh_elementexistsnumber
5065  MODULE PROCEDURE cmfe_mesh_elementexistsobj
5066  END INTERFACE cmfe_mesh_elementexists
5067 
5070  MODULE PROCEDURE cmfe_mesh_nodesgetnumber
5071  MODULE PROCEDURE cmfe_mesh_nodesgetobj
5072  END INTERFACE cmfe_mesh_nodesget
5073 
5079 
5082  MODULE PROCEDURE cmfe_meshnodes_derivativesgetnumber
5083  MODULE PROCEDURE cmfe_meshnodes_derivativesgetobj
5084  END INTERFACE cmfe_meshnodes_derivativesget
5085 
5089  MODULE PROCEDURE cmfe_meshnodes_numberofversionsgetobj
5091 
5094  MODULE PROCEDURE cmfe_meshnodes_numberofnodesgetnumber
5095  MODULE PROCEDURE cmfe_meshnodes_numberofnodesgetobj
5096  END INTERFACE cmfe_meshnodes_numberofnodesget
5097 
5101  MODULE PROCEDURE cmfe_decomposition_nodedomaingetobj
5102  END INTERFACE cmfe_decomposition_nodedomainget
5103 
5108 
5113 
5118 
5123 
5125 
5127 
5129 
5131 
5133 
5135 
5137 
5139 
5141 
5143 
5145 
5147 
5149 
5151 
5152  PUBLIC cmfe_mesh_destroy
5153 
5155 
5157 
5159 
5161 
5163 
5165 
5167 
5169 
5171 
5173 
5175 
5177 
5178  PUBLIC cmfe_mesh_elementsget
5179 
5180  PUBLIC cmfe_mesh_nodesget
5181 
5183 
5185 
5187 
5188 !!==================================================================================================================================
5189 !!
5190 !! DISTRIBUTED_MATRIX_VECTOR
5191 !!
5192 !!==================================================================================================================================
5193 
5201  INTEGER(INTG), PARAMETER :: cmfe_matrix_block_storage_type=distributed_matrix_block_storage_type
5202  INTEGER(INTG), PARAMETER :: cmfe_matrix_diagonal_storage_type=distributed_matrix_diagonal_storage_type
5203  INTEGER(INTG), PARAMETER :: cmfe_matrix_column_major_storage_type=distributed_matrix_column_major_storage_type
5204  INTEGER(INTG), PARAMETER :: cmfe_matrix_row_major_storage_type=distributed_matrix_row_major_storage_type
5205  INTEGER(INTG), PARAMETER :: cmfe_matrix_compressed_row_storage_type=distributed_matrix_compressed_row_storage_type
5206  INTEGER(INTG), PARAMETER :: cmfe_matrix_compressed_column_storage_type=distributed_matrix_compressed_column_storage_type
5207  INTEGER(INTG), PARAMETER :: cmfe_matrix_row_column_storage_type=distributed_matrix_row_column_storage_type
5213  INTEGER(INTG), PARAMETER :: cmfe_matrix_vector_intg_type=distributed_matrix_vector_intg_type
5214  INTEGER(INTG), PARAMETER :: cmfe_matrix_vector_sp_type=distributed_matrix_vector_sp_type
5215  INTEGER(INTG), PARAMETER :: cmfe_matrix_vector_dp_type=distributed_matrix_vector_dp_type
5216  INTEGER(INTG), PARAMETER :: cmfe_matrix_vector_l_type=distributed_matrix_vector_l_type
5219 
5223 
5225 
5226  !Note that currently we don't have any user number based routines for distributed matrices
5227  !as if we can't use a pointer to a CMISS object, a pointer to matrix data isn't going to
5228  !be much use either. It's also more awkward when matrices and vectors themselves don't have
5229  !user numbers and there are multiple ways to access them through user numbers, eg. solver equations
5230  !matrices or equations set matrices
5231 
5236 
5239  MODULE PROCEDURE cmfe_distributedmatrix_datatypegetobj
5241 
5246 
5251 
5254  MODULE PROCEDURE cmfe_distributedmatrix_datagetintgobj
5255  MODULE PROCEDURE cmfe_distributedmatrix_datagetdpobj
5256  MODULE PROCEDURE cmfe_distributedmatrix_datagetspobj
5257  MODULE PROCEDURE cmfe_distributedmatrix_datagetlobj
5258  END INTERFACE cmfe_distributedmatrix_dataget
5259 
5267 
5270  MODULE PROCEDURE cmfe_distributedvector_datatypegetobj
5272 
5275  MODULE PROCEDURE cmfe_distributedvector_datagetintgobj
5276  MODULE PROCEDURE cmfe_distributedvector_datagetdpobj
5277  MODULE PROCEDURE cmfe_distributedvector_datagetspobj
5278  MODULE PROCEDURE cmfe_distributedvector_datagetlobj
5279  END INTERFACE cmfe_distributedvector_dataget
5280 
5288 
5294 
5295 !!==================================================================================================================================
5296 !!
5297 !! NODE_ROUTINES
5298 !!
5299 !!==================================================================================================================================
5300 
5301  !Module parameters
5302 
5303  !Module types
5304 
5305  !Module variables
5306 
5307  !Interfaces
5308 
5311  MODULE PROCEDURE cmfe_nodes_createfinishnumber
5312  MODULE PROCEDURE cmfe_nodes_createfinishobj
5313  END INTERFACE cmfe_nodes_createfinish
5314 
5317  MODULE PROCEDURE cmfe_nodes_createstartnumber
5318  MODULE PROCEDURE cmfe_nodes_createstartobj
5319  MODULE PROCEDURE cmfe_nodes_createstartinterfaceobj
5320  END INTERFACE cmfe_nodes_createstart
5321 
5324  MODULE PROCEDURE cmfe_nodes_destroynumber
5325  MODULE PROCEDURE cmfe_nodes_destroyobj
5326  END INTERFACE cmfe_nodes_destroy
5327 
5330  MODULE PROCEDURE cmfe_nodes_numberofnodesgetnumber
5331  MODULE PROCEDURE cmfe_nodes_numberofnodesgetobj
5332  END INTERFACE cmfe_nodes_numberofnodesget
5333 
5336  MODULE PROCEDURE cmfe_nodes_labelgetcnumber
5337  MODULE PROCEDURE cmfe_nodes_labelgetcobj
5338  MODULE PROCEDURE cmfe_nodes_labelgetvsnumber
5339  MODULE PROCEDURE cmfe_nodes_labelgetvsobj
5340  END INTERFACE cmfe_nodes_labelget
5341 
5344  MODULE PROCEDURE cmfe_nodes_labelsetcnumber
5345  MODULE PROCEDURE cmfe_nodes_labelsetcobj
5346  MODULE PROCEDURE cmfe_nodes_labelsetvsnumber
5347  MODULE PROCEDURE cmfe_nodes_labelsetvsobj
5348  END INTERFACE cmfe_nodes_labelset
5349 
5352  MODULE PROCEDURE cmfe_nodes_usernumbergetnumber
5353  MODULE PROCEDURE cmfe_nodes_usernumbergetobj
5354  END INTERFACE cmfe_nodes_usernumberget
5355 
5358  MODULE PROCEDURE cmfe_nodes_usernumbersetnumber
5359  MODULE PROCEDURE cmfe_nodes_usernumbersetobj
5360  END INTERFACE cmfe_nodes_usernumberset
5361 
5364  MODULE PROCEDURE cmfe_nodes_usernumbersallsetnumber
5365  MODULE PROCEDURE cmfe_nodes_usernumbersallsetobj
5366  END INTERFACE cmfe_nodes_usernumbersallset
5367 
5369 
5370  PUBLIC cmfe_nodes_destroy
5371 
5373 
5375 
5377 
5378 !!==================================================================================================================================
5379 !!
5380 !! PROBLEM_CONSTANTS_ROUTINES
5381 !!
5382 !!==================================================================================================================================
5383 
5384  !Module parameters
5385 
5393  INTEGER(INTG), PARAMETER :: cmfe_problem_no_class = problem_no_class
5394  INTEGER(INTG), PARAMETER :: cmfe_problem_elasticity_class = problem_elasticity_class
5395  INTEGER(INTG), PARAMETER :: cmfe_problem_fluid_mechanics_class = problem_fluid_mechanics_class
5396  INTEGER(INTG), PARAMETER :: cmfe_problem_electromagnetics_class = problem_electromagnetics_class
5397  INTEGER(INTG), PARAMETER :: cmfe_problem_classical_field_class = problem_classical_field_class
5398  INTEGER(INTG), PARAMETER :: cmfe_problem_bioelectrics_class = problem_bioelectrics_class
5399  INTEGER(INTG), PARAMETER :: cmfe_problem_modal_class = problem_modal_class
5400  INTEGER(INTG), PARAMETER :: cmfe_problem_fitting_class = problem_fitting_class
5401  INTEGER(INTG), PARAMETER :: cmfe_problem_optimisation_class = problem_optimisation_class
5402  INTEGER(INTG), PARAMETER :: cmfe_problem_multi_physics_class = problem_multi_physics_class
5408  INTEGER(INTG), PARAMETER :: cmfe_problem_no_type = problem_no_type
5409  INTEGER(INTG), PARAMETER :: cmfe_problem_linear_elasticity_type = problem_linear_elasticity_type
5410  INTEGER(INTG), PARAMETER :: cmfe_problem_finite_elasticity_type = problem_finite_elasticity_type
5411  INTEGER(INTG), PARAMETER :: cmfe_problem_linear_elasticity_contact_type = problem_linear_elasticity_contact_type
5412  INTEGER(INTG), PARAMETER :: cmfe_problem_finite_elasticity_contact_type = problem_finite_elasticity_contact_type
5413  INTEGER(INTG), PARAMETER :: cmfe_problem_stokes_equation_type = problem_stokes_equation_type
5414  INTEGER(INTG), PARAMETER :: cmfe_problem_navier_stokes_equation_type = problem_navier_stokes_equation_type
5415  INTEGER(INTG), PARAMETER :: cmfe_problem_darcy_equation_type = problem_darcy_equation_type
5416  INTEGER(INTG), PARAMETER :: cmfe_problem_poiseuille_equation_type = problem_poiseuille_equation_type
5417  INTEGER(INTG), PARAMETER :: cmfe_problem_burgers_equation_type = problem_burgers_equation_type
5418  INTEGER(INTG), PARAMETER :: cmfe_problem_electrostatic_type = problem_electrostatic_type
5419  INTEGER(INTG), PARAMETER :: cmfe_problem_magnetostatic_type = problem_magnetostatic_type
5420  INTEGER(INTG), PARAMETER :: cmfe_problem_maxwells_equations_type = problem_maxwells_equations_type
5421  INTEGER(INTG), PARAMETER :: cmfe_problem_laplace_equation_type = problem_laplace_equation_type
5422  INTEGER(INTG), PARAMETER :: cmfe_problem_poisson_equation_type = problem_poisson_equation_type
5423  INTEGER(INTG), PARAMETER :: cmfe_problem_helmholtz_equation_type = problem_helmholtz_equation_type
5424  INTEGER(INTG), PARAMETER :: cmfe_problem_wave_equation_type = problem_wave_equation_type
5425  INTEGER(INTG), PARAMETER :: cmfe_problem_diffusion_equation_type = problem_diffusion_equation_type
5426  INTEGER(INTG), PARAMETER :: cmfe_problem_advection_diffusion_equation_type = problem_advection_diffusion_equation_type
5427  INTEGER(INTG), PARAMETER :: cmfe_problem_reaction_diffusion_equation_type = problem_reaction_diffusion_equation_type
5428  INTEGER(INTG), PARAMETER :: cmfe_problem_biharmonic_equation_type = problem_biharmonic_equation_type
5429  INTEGER(INTG), PARAMETER :: cmfe_problem_monodomain_equation_type = problem_monodomain_equation_type
5430  INTEGER(INTG), PARAMETER :: cmfe_problem_bidomain_equation_type = problem_bidomain_equation_type
5431  INTEGER(INTG), PARAMETER :: cmfe_problem_linear_elastic_modal_type = problem_linear_elastic_modal_type
5432  INTEGER(INTG), PARAMETER :: cmfe_problem_data_fitting_type = problem_data_fitting_type
5433  INTEGER(INTG), PARAMETER :: cmfe_problem_finite_elasticity_darcy_type = problem_finite_elasticity_darcy_type
5434  INTEGER(INTG), PARAMETER :: cmfe_problem_finite_elasticity_stokes_type = problem_finite_elasticity_stokes_type
5435  INTEGER(INTG), PARAMETER :: cmfe_problem_finite_elasticity_navier_stokes_type = problem_finite_elasticity_navier_stokes_type
5436  INTEGER(INTG), PARAMETER :: cmfe_problem_diffusion_diffusion_type = problem_diffusion_diffusion_type
5437  INTEGER(INTG), PARAMETER :: cmfe_problem_diffusion_advection_diffusion_type = problem_diffusion_advection_diffusion_type
5438  INTEGER(INTG), PARAMETER :: cmfe_problem_multi_compartment_transport_type = problem_multi_compartment_transport_type
5439  INTEGER(INTG), PARAMETER :: cmfe_problem_finite_elasticity_fluid_pressure_type = problem_finite_elasticity_fluid_pressure_type
5440  INTEGER(INTG), PARAMETER :: cmfe_problem_bioelectric_finite_elasticity_type = problem_bioelectric_finite_elasticity_type
5441 
5443  & PROBLEM_MONODOMAIN_STRANG_SPLITTING_EQUATION_TYPE !<Monodomain equation problem type \see OPENCMISS_ProblemTypes,OPENCMISS
5444 
5449  INTEGER(INTG), PARAMETER :: cmfe_problem_no_subtype = problem_no_subtype
5450  INTEGER(INTG), PARAMETER :: cmfe_problem_static_stokes_subtype = problem_static_stokes_subtype
5451  INTEGER(INTG), PARAMETER :: cmfe_problem_laplace_stokes_subtype = problem_laplace_stokes_subtype
5452  INTEGER(INTG), PARAMETER :: cmfe_problem_transient_stokes_subtype = problem_transient_stokes_subtype
5453  INTEGER(INTG), PARAMETER :: cmfe_problem_ale_stokes_subtype = problem_ale_stokes_subtype
5454  INTEGER(INTG), PARAMETER :: cmfe_problem_pgm_stokes_subtype = problem_pgm_stokes_subtype
5455  INTEGER(INTG), PARAMETER :: cmfe_problem_optimised_stokes_subtype = problem_optimised_stokes_subtype
5456  INTEGER(INTG), PARAMETER :: cmfe_problem_static_navier_stokes_subtype = problem_static_navier_stokes_subtype
5457  INTEGER(INTG), PARAMETER :: cmfe_problem_laplace_navier_stokes_subtype = problem_laplace_navier_stokes_subtype
5458  INTEGER(INTG), PARAMETER :: cmfe_problem_transient_navier_stokes_subtype = problem_transient_navier_stokes_subtype
5459  INTEGER(INTG), PARAMETER :: cmfe_problem_transient_rbs_navier_stokes_subtype = problem_transient_rbs_navier_stokes_subtype
5460  INTEGER(INTG), PARAMETER :: cmfe_problem_multiscale_navier_stokes_subtype = &
5461  & PROBLEM_MULTISCALE_NAVIER_STOKES_SUBTYPE !<Transient stabilised Navier-Stokes problem with multiscale boundary coupling subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5462  integer(intg), PARAMETER :: cmfe_problem_transient1d_navier_stokes_subtype = problem_transient1d_navier_stokes_subtype
5463  INTEGER(INTG), PARAMETER :: cmfe_problem_coupled1d0d_navier_stokes_subtype = problem_coupled1d0d_navier_stokes_subtype
5464  INTEGER(INTG), PARAMETER :: cmfe_problem_transient1d_adv_navier_stokes_subtype = problem_transient1d_adv_navier_stokes_subtype
5465  INTEGER(INTG), PARAMETER :: cmfe_problem_coupled1d0d_adv_navier_stokes_subtype = problem_coupled1d0d_adv_navier_stokes_subtype
5466  INTEGER(INTG), PARAMETER :: cmfe_problem_stree1d0d_subtype = problem_coupled1d0d_adv_navier_stokes_subtype
5467  INTEGER(INTG), PARAMETER :: cmfe_problem_stree1d0d_adv_subtype = problem_coupled1d0d_adv_navier_stokes_subtype
5468  INTEGER(INTG), PARAMETER :: cmfe_problem_ale_navier_stokes_subtype = problem_ale_navier_stokes_subtype
5469  INTEGER(INTG), PARAMETER :: cmfe_problem_pgm_navier_stokes_subtype = problem_pgm_navier_stokes_subtype
5470  INTEGER(INTG), PARAMETER :: cmfe_problem_optimised_navier_stokes_subtype = problem_optimised_navier_stokes_subtype
5471  INTEGER(INTG), PARAMETER :: cmfe_problem_standard_darcy_subtype = problem_standard_darcy_subtype
5472  INTEGER(INTG), PARAMETER :: cmfe_problem_quasistatic_darcy_subtype = problem_quasistatic_darcy_subtype
5473  INTEGER(INTG), PARAMETER :: cmfe_problem_ale_darcy_subtype = problem_ale_darcy_subtype
5474  INTEGER(INTG), PARAMETER :: cmfe_problem_transient_darcy_subtype = problem_transient_darcy_subtype
5475  INTEGER(INTG), PARAMETER :: cmfe_problem_pgm_darcy_subtype = problem_pgm_darcy_subtype
5476  INTEGER(INTG), PARAMETER :: cmfe_problem_pgm_transient_darcy_subtype = problem_pgm_transient_darcy_subtype
5477  INTEGER(INTG), PARAMETER :: cmfe_problem_standard_laplace_subtype = problem_standard_laplace_subtype
5478  INTEGER(INTG), PARAMETER :: cmfe_problem_generalised_laplace_subtype = problem_generalised_laplace_subtype
5479  INTEGER(INTG), PARAMETER :: cmfe_problem_static_poiseuille_subtype = problem_static_poiseuille_subtype
5480  INTEGER(INTG), PARAMETER :: cmfe_problem_dynamic_poiseuille_subtype = problem_dynamic_poiseuille_subtype
5481  INTEGER(INTG), PARAMETER :: cmfe_problem_extracellular_bidomain_poisson_subtype = problem_extracellular_bidomain_poisson_subtype
5482  INTEGER(INTG), PARAMETER :: cmfe_problem_linear_source_poisson_subtype = problem_linear_source_poisson_subtype
5483  INTEGER(INTG), PARAMETER :: cmfe_problem_linear_pressure_poisson_subtype = problem_linear_pressure_poisson_subtype
5484  INTEGER(INTG), PARAMETER :: cmfe_problem_nonlinear_pressure_poisson_subtype = problem_nonlinear_pressure_poisson_subtype
5485  INTEGER(INTG), PARAMETER :: cmfe_problem_ale_pressure_poisson_subtype = problem_ale_pressure_poisson_subtype
5486  INTEGER(INTG), PARAMETER :: cmfe_problem_fitted_pressure_poisson_subtype = problem_fitted_pressure_poisson_subtype
5487  INTEGER(INTG), PARAMETER :: cmfe_problem_nonlinear_source_poisson_subtype = problem_nonlinear_source_poisson_subtype
5488  INTEGER(INTG), PARAMETER :: cmfe_problem_standard_helmholtz_subtype = problem_standard_helmholtz_subtype
5489  INTEGER(INTG), PARAMETER :: cmfe_problem_generalised_helmholtz_subtype = problem_generalised_helmholtz_subtype
5490  INTEGER(INTG), PARAMETER :: cmfe_problem_no_source_diffusion_subtype = problem_no_source_diffusion_subtype
5491  INTEGER(INTG), PARAMETER :: cmfe_problem_linear_source_diffusion_subtype = problem_linear_source_diffusion_subtype
5492  INTEGER(INTG), PARAMETER :: cmfe_problem_nonlinear_source_diffusion_subtype = problem_nonlinear_source_diffusion_subtype
5493  INTEGER(INTG), PARAMETER :: cmfe_problem_no_source_ale_diffusion_subtype = problem_no_source_ale_diffusion_subtype
5494  INTEGER(INTG), PARAMETER :: cmfe_problem_linear_source_ale_diffusion_subtype = problem_linear_source_ale_diffusion_subtype
5496  & PROBLEM_NONLINEAR_SOURCE_ALE_DIFFUSION_SUBTYPE !<Nonlinear source Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5498  & problem_no_source_advection_diffusion_subtype
5500  & PROBLEM_LINEAR_SOURCE_ADVECTION_DIFFUSION_SUBTYPE !<Linear source advection-Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5502  & problem_nonlinear_source_advection_diffusion_subtype
5504  & PROBLEM_NO_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE !<No source advection-Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5506  & problem_linear_source_ale_advection_diffusion_subtype
5508  & PROBLEM_NONLINEAR_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE !<Nonlinear source advection-Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5509 
5510  INTEGER(INTG), PARAMETER :: cmfe_problem_no_source_static_advec_diff_subtype = problem_no_source_static_advec_diff_subtype
5512  & PROBLEM_LINEAR_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE !<Linear source advection-Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5514  & problem_nonlinear_source_static_advec_diff_subtype
5515  INTEGER(INTG), PARAMETER :: cmfe_problem_static_burgers_subtype = problem_static_burgers_subtype
5516  INTEGER(INTG), PARAMETER :: cmfe_problem_dynamic_burgers_subtype = problem_dynamic_burgers_subtype
5518  & PROBLEM_CELLML_REAC_INTEG_REAC_DIFF_STRANG_SPLIT_SUBTYPE !CellML reaction integrated strang-split subtype of reaction diffusion \see OPENCMISS_ProblemSubtypes,OPENCMISS
5520  & problem_cellml_reac_eval_reac_diff_no_split_subtype !CellML reaction evaluated no-split subtype of reaction diffusion \see OPENCMISS_ProblemSubtypes,OPENCMISS
5522  & PROBLEM_CONSTANT_REAC_DIFF_NO_SPLIT_SUBTYPE !Standard constant reaction reaction diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5523 
5524  INTEGER(INTG), PARAMETER :: cmfe_problem_standard_data_fitting_subtype = &
5525  & PROBLEM_STANDARD_DATA_FITTING_SUBTYPE !<Standard Galerkin projection problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5526  integer(intg), PARAMETER :: cmfe_problem_vector_data_fitting_subtype = &
5527  & problem_vector_data_fitting_subtype
5529  & PROBLEM_DIV_FREE_VECTOR_DATA_FITTING_SUBTYPE !<Standard Galerkin projection problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5531  & problem_datapointvectorstaticfittingsubtype
5533  & Problem_DataPointVectorQuasistaticFittingSubtype !<Standard quasistatic Galerkin projection problem using data points subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5534  integer(intg), PARAMETER :: cmfe_problem_vector_data_pre_fitting_subtype = &
5535  & problem_vector_data_pre_fitting_subtype
5537  & PROBLEM_DIV_FREE_VECTOR_DATA_PRE_FITTING_SUBTYPE !<Standard Galerkin projection problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5538  integer(intg), PARAMETER :: cmfe_problem_generalised_data_fitting_subtype = &
5539  & problem_generalised_data_fitting_subtype
5541  & PROBLEM_MAT_PROPERTIES_DATA_FITTING_SUBTYPE !<Material Properties Galerkin projection problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5542 
5543  INTEGER(INTG), PARAMETER :: cmfe_problem_standard_elasticity_darcy_subtype = problem_standard_elasticity_darcy_subtype
5544  INTEGER(INTG), PARAMETER :: cmfe_problem_pgm_elasticity_darcy_subtype = problem_pgm_elasticity_darcy_subtype
5546  & PROBLEM_QUASISTATIC_ELASTICITY_TRANSIENT_DARCY_SUBTYPE !<Quasistatic Elasticity Transient Darcy problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5548  & problem_quasistatic_elast_trans_darcy_mat_solve_subtype
5550  & PROBLEM_COUPLED_SOURCE_DIFFUSION_DIFFUSION_SUBTYPE !<Coupled source diffusion-diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5552  & problem_coupled_source_diffusion_advec_diffusion_subtype
5554  & PROBLEM_STANDARD_MULTI_COMPARTMENT_TRANSPORT_SUBTYPE !<Standard multi-compartment transport problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5556  & problem_standard_elasticity_fluid_pressure_subtype
5558  & PROBLEM_GUDUNOV_MONODOMAIN_SIMPLE_ELASTICITY_SUBTYPE !<Transient monodomain simple elasticity problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5560  & problem_gudunov_monodomain_1d3d_elasticity_subtype
5562  & PROBLEM_MONODOMAIN_ELASTICITY_W_TITIN_SUBTYPE !<Transient monodomain simple elasticity problem subtype with titin \see OPENCMISS_ProblemSubtypes,OPENCMISS
5564  & problem_monodomain_elasticity_velocity_subtype
5566  & PROBLEM_MONODOMAIN_1D3D_ACTIVE_STRAIN_SUBTYPE !<Transient monodomain active strain elasticity problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5568  & problem_finite_elasticity_navier_stokes_ale_subtype
5569 
5570  INTEGER(INTG), PARAMETER :: cmfe_problem_quasistatic_finite_elasticity_subtype = problem_quasistatic_finite_elasticity_subtype
5571  INTEGER(INTG), PARAMETER :: cmfe_problem_finite_elasticity_cellml_subtype = problem_finite_elasticity_cellml_subtype
5572  INTEGER(INTG), PARAMETER :: cmfe_problem_multiscale_finite_elasticity_subtype = problem_multiscale_finite_elasticity_subtype
5574  & PROBLEM_FINITE_ELASTICITY_WITH_GROWTH_CELLML_SUBTYPE !<Quasistatic finite elasticity subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS
5575 
5576  INTEGER(INTG), PARAMETER :: cmfe_problem_monodomain_gudunov_split_subtype = problem_monodomain_gudunov_split_subtype
5577  INTEGER(INTG), PARAMETER :: cmfe_problem_monodomain_strang_split_subtype = problem_monodomain_strang_split_subtype
5578  INTEGER(INTG), PARAMETER :: cmfe_problem_bidomain_gudunov_split_subtype = problem_bidomain_gudunov_split_subtype
5579  INTEGER(INTG), PARAMETER :: cmfe_problem_bidomain_strang_split_subtype = problem_bidomain_strang_split_subtype
5580  INTEGER(INTG), PARAMETER :: cmfe_problem_monodomain_buenoorovio_subtype = problem_monodomain_buenoorovio_subtype
5581  INTEGER(INTG), PARAMETER :: cmfe_problem_monodomain_tentusscher06_subtype = problem_monodomain_tentusscher06_subtype
5582 
5583  INTEGER(INTG), PARAMETER :: cmfe_problem_le_contact_transform_reproject_subtype=problem_le_contact_transform_reproject_subtype
5584  INTEGER(INTG), PARAMETER :: cmfe_problem_le_contact_transform_subtype=problem_le_contact_transform_subtype
5585  INTEGER(INTG), PARAMETER :: cmfe_problem_le_contact_reproject_subtype=problem_le_contact_reproject_subtype
5586 
5587  INTEGER(INTG), PARAMETER :: cmfe_problem_fe_contact_transform_reproject_subtype=problem_fe_contact_transform_reproject_subtype
5588  INTEGER(INTG), PARAMETER :: cmfe_problem_fe_contact_transform_subtype=problem_fe_contact_transform_subtype
5589  INTEGER(INTG), PARAMETER :: cmfe_problem_fe_contact_reproject_subtype=problem_fe_contact_reproject_subtype
5590 
5596  INTEGER(INTG), PARAMETER :: cmfe_problem_control_simple_type = problem_control_simple_type
5597  INTEGER(INTG), PARAMETER :: cmfe_problem_control_fixed_loop_type = problem_control_fixed_loop_type
5598  INTEGER(INTG), PARAMETER :: cmfe_problem_control_time_loop_type = problem_control_time_loop_type
5599  INTEGER(INTG), PARAMETER :: cmfe_problem_control_while_loop_type = problem_control_while_loop_type
5600  INTEGER(INTG), PARAMETER :: cmfe_problem_control_load_increment_loop_type = problem_control_load_increment_loop_type
5603 
5604  !Module types
5605 
5606  !Module variables
5607 
5608  !Interfaces
5609 
5614 
5615  PUBLIC cmfe_problem_no_type
5616 
5618 
5620 
5623 
5625 
5629 
5631 
5633 
5635 
5641 
5643 
5646 
5649 
5652 
5660 
5663 
5665 
5667 
5670 
5675 
5677 
5680 
5683 
5686 
5689 
5692 
5696 
5697 
5703 
5706 
5708 
5711 
5720 
5723 
5724 !!==================================================================================================================================
5725 !!
5726 !! PROBLEM_ROUTINES
5727 !!
5728 !!==================================================================================================================================
5729 
5730  !Module parameters
5731 
5732  !Module types
5733 
5734  !Module variables
5735 
5736  !Interfaces
5737 
5743 
5749 
5754  MODULE PROCEDURE cmfe_problem_cellmlequationsgetobj0
5755  MODULE PROCEDURE cmfe_problem_cellmlequationsgetobj1
5756  END INTERFACE cmfe_problem_cellmlequationsget
5757 
5760  MODULE PROCEDURE cmfe_problem_createfinishnumber
5761  MODULE PROCEDURE cmfe_problem_createfinishobj
5762  END INTERFACE cmfe_problem_createfinish
5763 
5766  MODULE PROCEDURE cmfe_problem_createstartnumber
5767  MODULE PROCEDURE cmfe_problem_createstartobj
5768  END INTERFACE cmfe_problem_createstart
5769 
5775 
5781 
5784  MODULE PROCEDURE cmfe_problem_controlloopdestroynumber
5785  MODULE PROCEDURE cmfe_problem_controlloopdestroyobj
5786  END INTERFACE cmfe_problem_controlloopdestroy
5787 
5790  MODULE PROCEDURE cmfe_problem_controlloopgetnumber0
5791  MODULE PROCEDURE cmfe_problem_controlloopgetnumber1
5792  MODULE PROCEDURE cmfe_problem_controlloopgetobj0
5793  MODULE PROCEDURE cmfe_problem_controlloopgetobj1
5794  END INTERFACE cmfe_problem_controlloopget
5795 
5798  MODULE PROCEDURE cmfe_problem_destroynumber
5799  MODULE PROCEDURE cmfe_problem_destroyobj
5800  END INTERFACE cmfe_problem_destroy
5801 
5804  MODULE PROCEDURE cmfe_problem_solvenumber
5805  MODULE PROCEDURE cmfe_problem_solveobj
5806  END INTERFACE cmfe_problem_solve
5807 
5810  MODULE PROCEDURE cmfe_problem_solvergetnumber0
5811  MODULE PROCEDURE cmfe_problem_solvergetnumber1
5812  MODULE PROCEDURE cmfe_problem_solvergetobj0
5813  MODULE PROCEDURE cmfe_problem_solvergetobj1
5814  END INTERFACE cmfe_problem_solverget
5815 
5822 
5828 
5834 
5840 
5845  MODULE PROCEDURE cmfe_problem_solverequationsgetobj0
5846  MODULE PROCEDURE cmfe_problem_solverequationsgetobj1
5847  END INTERFACE cmfe_problem_solverequationsget
5848 
5852  MODULE PROCEDURE cmfe_problem_solverscreatefinishobj
5853  END INTERFACE cmfe_problem_solverscreatefinish
5854 
5857  MODULE PROCEDURE cmfe_problem_solverscreatestartnumber
5858  MODULE PROCEDURE cmfe_problem_solverscreatestartobj
5859  END INTERFACE cmfe_problem_solverscreatestart
5860 
5863  MODULE PROCEDURE cmfe_problem_solversdestroynumber
5864  MODULE PROCEDURE cmfe_problem_solversdestroyobj
5865  END INTERFACE cmfe_problem_solversdestroy
5866 
5869  MODULE PROCEDURE cmfe_problem_specificationgetnumber
5870  MODULE PROCEDURE cmfe_problem_specificationgetobj
5871  END INTERFACE cmfe_problem_specificationget
5872 
5876  MODULE PROCEDURE cmfe_problem_specificationsizegetobj
5877  END INTERFACE cmfe_problem_specificationsizeget
5878 
5880 
5882 
5884 
5886 
5888 
5890 
5891  PUBLIC cmfe_problem_destroy
5892 
5893  PUBLIC cmfe_problem_solve
5894 
5895  PUBLIC cmfe_problem_solverget
5896 
5898 
5900 
5902 
5904 
5906 
5908 
5910 
5911 !!==================================================================================================================================
5912 !!
5913 !! REGION_ROUTINES
5914 !!
5915 !!==================================================================================================================================
5916 
5917  !Module parameters
5918 
5919  !Module types
5920 
5921  !Module variables
5922 
5923  !Interfaces
5924 
5927  MODULE PROCEDURE cmfe_region_coordinatesystemgetnumber
5928  MODULE PROCEDURE cmfe_region_coordinatesystemgetobj
5929  END INTERFACE cmfe_region_coordinatesystemget
5930 
5933  MODULE PROCEDURE cmfe_region_coordinatesystemsetnumber
5934  MODULE PROCEDURE cmfe_region_coordinatesystemsetobj
5935  END INTERFACE cmfe_region_coordinatesystemset
5936 
5939  MODULE PROCEDURE cmfe_region_createfinishnumber
5940  MODULE PROCEDURE cmfe_region_createfinishobj
5941  END INTERFACE cmfe_region_createfinish
5942 
5945  MODULE PROCEDURE cmfe_region_createstartnumber
5946  MODULE PROCEDURE cmfe_region_createstartobj
5947  END INTERFACE cmfe_region_createstart
5948 
5951  MODULE PROCEDURE cmfe_region_datapointsgetobj
5952  END INTERFACE cmfe_region_datapointsget
5953 
5956  MODULE PROCEDURE cmfe_region_destroynumber
5957  MODULE PROCEDURE cmfe_region_destroyobj
5958  END INTERFACE cmfe_region_destroy
5959 
5962  MODULE PROCEDURE cmfe_region_labelgetcnumber
5963  MODULE PROCEDURE cmfe_region_labelgetcobj
5964  MODULE PROCEDURE cmfe_region_labelgetvsnumber
5965  MODULE PROCEDURE cmfe_region_labelgetvsobj
5966  END INTERFACE cmfe_region_labelget
5967 
5970  MODULE PROCEDURE cmfe_region_labelsetcnumber
5971  MODULE PROCEDURE cmfe_region_labelsetcobj
5972  MODULE PROCEDURE cmfe_region_labelsetvsnumber
5973  MODULE PROCEDURE cmfe_region_labelsetvsobj
5974  END INTERFACE cmfe_region_labelset
5975 
5978  MODULE PROCEDURE cmfe_region_nodesgetobj
5979  END INTERFACE cmfe_region_nodesget
5980 
5982 
5984 
5986 
5987  PUBLIC cmfe_region_destroy
5988 
5990 
5991  PUBLIC cmfe_region_nodesget
5992 
5993 !!==================================================================================================================================
5994 !!
5995 !! SOLVER_ROUTINES
5996 !!
5997 !!==================================================================================================================================
5998 
5999  !Module parameters
6000 
6008  INTEGER(INTG), PARAMETER :: cmfe_solver_linear_type = solver_linear_type
6009  INTEGER(INTG), PARAMETER :: cmfe_solver_nonlinear_type = solver_nonlinear_type
6010  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_type = solver_dynamic_type
6011  INTEGER(INTG), PARAMETER :: cmfe_solver_dae_type = solver_dae_type
6012  INTEGER(INTG), PARAMETER :: cmfe_solver_eigenproblem_type = solver_eigenproblem_type
6013  INTEGER(INTG), PARAMETER :: cmfe_solver_optimiser_type = solver_optimiser_type
6014  INTEGER(INTG), PARAMETER :: cmfe_solvercellmlevaluatortype = solver_cellml_evaluator_type
6020  INTEGER(INTG), PARAMETER :: cmfe_solver_cmiss_library = solver_cmiss_library
6021  INTEGER(INTG), PARAMETER :: cmfe_solver_petsc_library = solver_petsc_library
6022  INTEGER(INTG), PARAMETER :: cmfe_solver_mumps_library = solver_mumps_library
6023  INTEGER(INTG), PARAMETER :: cmfe_solver_superlu_library = solver_superlu_library
6024  INTEGER(INTG), PARAMETER :: cmfe_solver_spooles_library = solver_spooles_library
6025  INTEGER(INTG), PARAMETER :: cmfe_solver_umfpack_library = solver_umfpack_library
6026  INTEGER(INTG), PARAMETER :: cmfe_solver_lusol_library = solver_lusol_library
6027  INTEGER(INTG), PARAMETER :: cmfe_solver_essl_library = solver_essl_library
6028  INTEGER(INTG), PARAMETER :: cmfe_solver_lapack_library = solver_lapack_library
6029  INTEGER(INTG), PARAMETER :: cmfe_solver_tao_library = solver_tao_library
6030  INTEGER(INTG), PARAMETER :: cmfe_solver_hypre_library = solver_hypre_library
6031  INTEGER(INTG), PARAMETER :: cmfe_solver_pastix_library = solver_pastix_library
6037  INTEGER(INTG), PARAMETER :: cmfe_solver_linear_direct_solve_type = solver_linear_direct_solve_type
6038  INTEGER(INTG), PARAMETER :: cmfe_solver_linear_iterative_solve_type = solver_linear_iterative_solve_type
6044  INTEGER(INTG), PARAMETER :: cmfe_solver_direct_lu = solver_direct_lu
6045  INTEGER(INTG), PARAMETER :: cmfe_solver_direct_cholesky = solver_direct_cholesky
6046  INTEGER(INTG), PARAMETER :: cmfe_solver_direct_svd = solver_direct_svd
6052  INTEGER(INTG), PARAMETER :: cmfe_solver_iterative_richardson = solver_iterative_richardson
6053  INTEGER(INTG), PARAMETER :: cmfe_solver_iterative_chebyshev = solver_iterative_chebyshev
6054  INTEGER(INTG), PARAMETER :: cmfe_solver_iterative_conjugate_gradient = solver_iterative_conjugate_gradient
6055  INTEGER(INTG), PARAMETER :: cmfe_solver_iterative_biconjugate_gradient = solver_iterative_biconjugate_gradient
6056  INTEGER(INTG), PARAMETER :: cmfe_solver_iterative_gmres = solver_iterative_gmres
6057  INTEGER(INTG), PARAMETER :: cmfe_solver_iterative_bicgstab = solver_iterative_bicgstab
6058  INTEGER(INTG), PARAMETER :: cmfe_solver_iterative_conjgrad_squared = solver_iterative_conjgrad_squared
6064  INTEGER(INTG), PARAMETER :: cmfe_solver_iterative_no_preconditioner = solver_iterative_no_preconditioner
6065  INTEGER(INTG), PARAMETER :: cmfe_solver_iterative_jacobi_preconditioner = solver_iterative_jacobi_preconditioner
6066  INTEGER(INTG), PARAMETER :: cmfe_solver_iterative_block_jacobi_preconditioner = solver_iterative_block_jacobi_preconditioner
6067  INTEGER(INTG), PARAMETER :: cmfe_solver_iterative_sor_preconditioner = solver_iterative_sor_preconditioner
6069  & SOLVER_ITERATIVE_INCOMPLETE_CHOLESKY_PRECONDITIONER !<Incomplete Cholesky preconditioner type. \see OPENCMISS_IterativePreconditionerTypes,OPENCMISS
6070  integer(intg), PARAMETER :: cmfe_solver_iterative_incomplete_lu_preconditioner = solver_iterative_incomplete_lu_preconditioner
6072  & SOLVER_ITERATIVE_ADDITIVE_SCHWARZ_PRECONDITIONER !<Additive Schwrz preconditioner type. \see OPENCMISS_IterativePreconditionerTypes,OPENCMISS
6073 
6078  INTEGER(INTG), PARAMETER :: cmfe_solver_nonlinear_newton = solver_nonlinear_newton
6079  INTEGER(INTG), PARAMETER :: cmfe_solver_nonlinear_bfgs_inverse = solver_nonlinear_bfgs_inverse
6080  INTEGER(INTG), PARAMETER :: cmfe_solver_nonlinear_sqp = solver_nonlinear_sqp
6081  INTEGER(INTG), PARAMETER :: cmfe_solver_nonlinear_quasi_newton = solver_nonlinear_quasi_newton
6087  INTEGER(INTG), PARAMETER :: cmfe_solver_quasi_newton_linesearch=solver_quasi_newton_linesearch
6088  INTEGER(INTG), PARAMETER :: cmfe_solver_quasi_newton_trustregion=solver_quasi_newton_trustregion
6094  INTEGER(INTG), PARAMETER :: cmfe_solver_quasi_newton_lbfgs=solver_quasi_newton_lbfgs
6095  INTEGER(INTG), PARAMETER :: cmfe_solver_quasi_newton_goodbroyden=solver_quasi_newton_goodbroyden
6096  INTEGER(INTG), PARAMETER :: cmfe_solver_quasi_newton_badbroyden=solver_quasi_newton_badbroyden
6102  INTEGER(INTG), PARAMETER :: cmfe_solver_quasi_newton_linesearch_basic=solver_quasi_newton_linesearch_basic
6103  INTEGER(INTG), PARAMETER :: cmfe_solver_quasi_newton_linesearch_l2=solver_quasi_newton_linesearch_l2
6104  INTEGER(INTG), PARAMETER :: cmfe_solver_quasi_newton_linesearch_cp=solver_quasi_newton_linesearch_cp
6110  INTEGER(INTG), PARAMETER :: cmfe_solver_quasi_newton_restart_none=solver_quasi_newton_restart_none
6111  INTEGER(INTG), PARAMETER :: cmfe_solver_quasi_newton_restart_powell=solver_quasi_newton_restart_powell
6112  INTEGER(INTG), PARAMETER :: cmfe_solver_quasi_newton_restart_periodic=solver_quasi_newton_restart_periodic
6118  INTEGER(INTG), PARAMETER :: cmfe_solver_quasi_newton_scale_none=solver_quasi_newton_scale_none
6119  INTEGER(INTG), PARAMETER :: cmfe_solver_quasi_newton_scale_shanno=solver_quasi_newton_scale_shanno
6120  INTEGER(INTG), PARAMETER :: cmfe_solver_quasi_newton_scale_linesearch=solver_quasi_newton_scale_linesearch
6121  INTEGER(INTG), PARAMETER :: cmfe_solver_quasi_newton_scale_jacobian=solver_quasi_newton_scale_jacobian
6127  INTEGER(INTG), PARAMETER :: cmfe_solver_newton_linesearch = solver_newton_linesearch
6128  INTEGER(INTG), PARAMETER :: cmfe_solver_newton_trustregion = solver_newton_trustregion
6134  INTEGER(INTG), PARAMETER :: cmfe_solver_newton_linesearch_linear = solver_newton_linesearch_linear
6135  INTEGER(INTG), PARAMETER :: cmfe_solver_newton_linesearch_quadratic = solver_newton_linesearch_quadratic
6136  INTEGER(INTG), PARAMETER :: cmfe_solver_newton_linesearch_cubic = solver_newton_linesearch_cubic
6142  INTEGER(INTG), PARAMETER :: cmfe_solver_newton_jacobian_not_calculated = solver_newton_jacobian_not_calculated
6143  INTEGER(INTG), PARAMETER :: cmfe_solver_newton_jacobian_equations_calculated = solver_newton_jacobian_equations_calculated
6144  INTEGER(INTG), PARAMETER :: cmfe_solver_newton_jacobian_fd_calculated = solver_newton_jacobian_fd_calculated
6150  INTEGER(INTG), PARAMETER :: cmfe_solver_newton_convergence_petsc_default = solver_newton_convergence_petsc_default
6151  INTEGER(INTG), PARAMETER :: cmfe_solver_newton_convergence_energy_norm = solver_newton_convergence_energy_norm
6152  INTEGER(INTG), PARAMETER :: cmfe_solver_newton_convergence_differentiated_ratio = solver_newton_convergence_differentiated_ratio
6158  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_first_order = solver_dynamic_first_order
6159  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_second_order = solver_dynamic_second_order
6165  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_linear = solver_dynamic_linear
6166  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_nonlinear = solver_dynamic_nonlinear
6172  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_first_degree = solver_dynamic_first_degree
6173  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_second_degree = solver_dynamic_second_degree
6174  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_third_degree = solver_dynamic_third_degree
6180  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_euler_scheme = solver_dynamic_euler_scheme
6181  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_backward_euler_scheme = solver_dynamic_backward_euler_scheme
6182  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_crank_nicolson_scheme = solver_dynamic_crank_nicolson_scheme
6183  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_galerkin_scheme = solver_dynamic_galerkin_scheme
6184  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_zlamal_scheme = solver_dynamic_zlamal_scheme
6185  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_second_degree_gear_scheme = solver_dynamic_second_degree_gear_scheme
6186  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_second_degree_liniger1_scheme = solver_dynamic_second_degree_liniger1_scheme
6187  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_second_degree_liniger2_scheme = solver_dynamic_second_degree_liniger2_scheme
6188  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_newmark1_scheme = solver_dynamic_newmark1_scheme
6189  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_newmark2_scheme = solver_dynamic_newmark2_scheme
6190  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_newmark3_scheme = solver_dynamic_newmark3_scheme
6191  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_third_degree_gear_scheme = solver_dynamic_third_degree_gear_scheme
6192  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_third_degree_liniger1_scheme = solver_dynamic_third_degree_liniger1_scheme
6193  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_third_degree_liniger2_scheme = solver_dynamic_third_degree_liniger2_scheme
6194  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_houbolt_scheme = solver_dynamic_houbolt_scheme
6195  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_wilson_scheme = solver_dynamic_wilson_scheme
6196  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_bossak_newmark1_scheme = solver_dynamic_bossak_newmark1_scheme
6197  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_bossak_newmark2_scheme = solver_dynamic_bossak_newmark2_scheme
6198  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_hilbert_hughes_taylor1_scheme = solver_dynamic_hilbert_hughes_taylor1_scheme
6199  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_hilbert_hughes_taylor2_scheme = solver_dynamic_hilbert_hughes_taylor2_scheme
6200  INTEGER(INTG), PARAMETER :: cmfe_solver_dynamic_user_defined_scheme = solver_dynamic_user_defined_scheme
6206  INTEGER(INTG), PARAMETER :: cmfe_solver_dae_differential_only = solver_dae_differential_only
6207  INTEGER(INTG), PARAMETER :: cmfe_solver_dae_index_1 = solver_dae_index_1
6208  INTEGER(INTG), PARAMETER :: cmfe_solver_dae_index_2 = solver_dae_index_2
6209  INTEGER(INTG), PARAMETER :: cmfe_solver_dae_index_3 = solver_dae_index_3
6215  INTEGER(INTG), PARAMETER :: cmfe_solver_dae_euler = solver_dae_euler
6216  INTEGER(INTG), PARAMETER :: cmfe_solver_dae_crank_nicolson = solver_dae_crank_nicolson
6217  INTEGER(INTG), PARAMETER :: cmfe_solver_dae_runge_kutta = solver_dae_runge_kutta
6218  INTEGER(INTG), PARAMETER :: cmfe_solver_dae_adams_moulton = solver_dae_adams_moulton
6219  INTEGER(INTG), PARAMETER :: cmfe_solver_dae_bdf = solver_dae_bdf
6220  INTEGER(INTG), PARAMETER :: cmfe_solver_dae_rush_larson = solver_dae_rush_larson
6221  INTEGER(INTG), PARAMETER :: cmfe_solver_dae_external = solver_dae_external
6227  INTEGER(INTG), PARAMETER :: cmfe_solver_dae_euler_forward = solver_dae_euler_forward
6228  INTEGER(INTG), PARAMETER :: cmfe_solver_dae_euler_backward = solver_dae_euler_backward
6229  INTEGER(INTG), PARAMETER :: cmfe_solver_dae_euler_improved = solver_dae_euler_improved
6235  INTEGER(INTG), PARAMETER :: cmfe_solver_solution_initialise_zero = solver_solution_initialise_zero
6236  INTEGER(INTG), PARAMETER :: cmfe_solver_solution_initialise_current_field = solver_solution_initialise_current_field
6237  INTEGER(INTG), PARAMETER :: cmfe_solver_solution_initialise_no_change = solver_solution_initialise_no_change
6243  INTEGER(INTG), PARAMETER :: cmfe_solver_no_output = solver_no_output
6244  INTEGER(INTG), PARAMETER :: cmfe_solver_progress_output = solver_progress_output
6245  INTEGER(INTG), PARAMETER :: cmfe_solver_timing_output = solver_timing_output
6246  INTEGER(INTG), PARAMETER :: cmfe_solver_solver_output = solver_solver_output
6247  INTEGER(INTG), PARAMETER :: cmfe_solver_matrix_output = solver_matrix_output
6253  INTEGER(INTG), PARAMETER :: cmfe_solver_sparse_matrices = solver_sparse_matrices
6254  INTEGER(INTG), PARAMETER :: cmfe_solver_full_matrices = solver_full_matrices
6257 
6258  !Module types
6259 
6260  !Module variables
6261 
6262  !Interfaces
6263 
6266  MODULE PROCEDURE cmfe_solver_cellmlequationsgetnumber0
6267  MODULE PROCEDURE cmfe_solver_cellmlequationsgetnumber1
6268  MODULE PROCEDURE cmfe_solver_cellmlequationsgetobj
6269  END INTERFACE cmfe_solver_cellmlequationsget
6270 
6273  MODULE PROCEDURE cmfe_cellmlequations_cellmladdnumber0
6274  MODULE PROCEDURE cmfe_cellmlequations_cellmladdnumber1
6275  MODULE PROCEDURE cmfe_cellmlequations_cellmladdobj
6276  END INTERFACE cmfe_cellmlequations_cellmladd
6277 
6282  MODULE PROCEDURE cmfe_solver_daeeulersolvertypegetobj
6283  END INTERFACE cmfe_solver_daeeulersolvertypeget
6284 
6289  MODULE PROCEDURE cmfe_solver_daeeulersolvertypesetobj
6290  END INTERFACE cmfe_solver_daeeulersolvertypeset
6291 
6294  MODULE PROCEDURE cmfe_solver_daesolvertypegetnumber0
6295  MODULE PROCEDURE cmfe_solver_daesolvertypegetnumber1
6296  MODULE PROCEDURE cmfe_solver_daesolvertypegetobj
6297  END INTERFACE cmfe_solver_daesolvertypeget
6298 
6301  MODULE PROCEDURE cmfe_solver_daesolvertypesetnumber0
6302  MODULE PROCEDURE cmfe_solver_daesolvertypesetnumber1
6303  MODULE PROCEDURE cmfe_solver_daesolvertypesetobj
6304  END INTERFACE cmfe_solver_daesolvertypeset
6305 
6308  MODULE PROCEDURE cmfe_solver_daetimessetnumber0
6309  MODULE PROCEDURE cmfe_solver_daetimessetnumber1
6310  MODULE PROCEDURE cmfe_solver_daetimessetobj
6311  END INTERFACE cmfe_solver_daetimesset
6312 
6315  MODULE PROCEDURE cmfe_solver_daetimestepsetnumber0
6316  MODULE PROCEDURE cmfe_solver_daetimestepsetnumber1
6317  MODULE PROCEDURE cmfe_solver_daetimestepsetobj
6318  END INTERFACE cmfe_solver_daetimestepset
6319 
6322  MODULE PROCEDURE cmfe_solver_dynamicdegreegetnumber0
6323  MODULE PROCEDURE cmfe_solver_dynamicdegreegetnumber1
6324  MODULE PROCEDURE cmfe_solver_dynamicdegreegetobj
6325  END INTERFACE cmfe_solver_dynamicdegreeget
6326 
6329  MODULE PROCEDURE cmfe_solver_dynamicdegreesetnumber0
6330  MODULE PROCEDURE cmfe_solver_dynamicdegreesetnumber1
6331  MODULE PROCEDURE cmfe_solver_dynamicdegreesetobj
6332  END INTERFACE cmfe_solver_dynamicdegreeset
6333 
6340 
6345  MODULE PROCEDURE cmfe_solver_dynamiclinearsolvergetobj
6347 
6354 
6357  MODULE PROCEDURE cmfe_solver_dynamicschemesetnumber0
6358  MODULE PROCEDURE cmfe_solver_dynamicschemesetnumber1
6359  MODULE PROCEDURE cmfe_solver_dynamicschemesetobj
6360  END INTERFACE cmfe_solver_dynamicschemeset
6361 
6364  MODULE PROCEDURE cmfe_solver_dynamicthetasetnumber00
6365  MODULE PROCEDURE cmfe_solver_dynamicthetasetnumber01
6366  MODULE PROCEDURE cmfe_solver_dynamicthetasetnumber10
6367  MODULE PROCEDURE cmfe_solver_dynamicthetasetnumber11
6368  MODULE PROCEDURE cmfe_solver_dynamicthetasetobj0
6369  MODULE PROCEDURE cmfe_solver_dynamicthetasetobj1
6370  END INTERFACE cmfe_solver_dynamicthetaset
6371 
6374  MODULE PROCEDURE cmfe_solver_dynamictimessetnumber0
6375  MODULE PROCEDURE cmfe_solver_dynamictimessetnumber1
6376  MODULE PROCEDURE cmfe_solver_dynamictimessetobj
6377  END INTERFACE cmfe_solver_dynamictimesset
6378 
6379  !Sets the arbitrary path logical for the transformation
6384 
6385  !Clear transformation for a geometric transformation solver
6390 
6391  !Sets the field to transform
6396 
6397  !Sets the full transformation matrix for a geometric transformation
6404 
6405  !Sets number of load increments for the transformation
6410 
6411  !Sets the rotation for a geometric transformation
6418 
6419  !Sets the scalings for a uni-directional geometric transformation
6424 
6425  !Sets the translation for a geometric transformation
6432 
6435  MODULE PROCEDURE cmfe_solver_labelgetcnumber0
6436  MODULE PROCEDURE cmfe_solver_labelgetcnumber1
6437  MODULE PROCEDURE cmfe_solver_labelgetcobj
6438  MODULE PROCEDURE cmfe_solver_labelgetvsnumber0
6439  MODULE PROCEDURE cmfe_solver_labelgetvsnumber1
6440  MODULE PROCEDURE cmfe_solver_labelgetvsobj
6441  END INTERFACE cmfe_solver_labelget
6442 
6445  MODULE PROCEDURE cmfe_solver_labelsetcnumber0
6446  MODULE PROCEDURE cmfe_solver_labelsetcnumber1
6447  MODULE PROCEDURE cmfe_solver_labelsetcobj
6448  MODULE PROCEDURE cmfe_solver_labelsetvsnumber0
6449  MODULE PROCEDURE cmfe_solver_labelsetvsnumber1
6450  MODULE PROCEDURE cmfe_solver_labelsetvsobj
6451  END INTERFACE cmfe_solver_labelset
6452 
6455  MODULE PROCEDURE cmfe_solver_librarytypegetnumber0
6456  MODULE PROCEDURE cmfe_solver_librarytypegetnumber1
6457  MODULE PROCEDURE cmfe_solver_librarytypegetobj
6458  END INTERFACE cmfe_solver_librarytypeget
6459 
6462  MODULE PROCEDURE cmfe_solver_librarytypesetnumber0
6463  MODULE PROCEDURE cmfe_solver_librarytypesetnumber1
6464  MODULE PROCEDURE cmfe_solver_librarytypesetobj
6465  END INTERFACE cmfe_solver_librarytypeset
6466 
6471  MODULE PROCEDURE cmfe_solver_lineardirecttypesetobj
6472  END INTERFACE cmfe_solver_lineardirecttypeset
6473 
6480 
6487 
6494 
6501 
6508 
6515 
6520  MODULE PROCEDURE cmfe_solver_lineariterativetypesetobj
6522 
6525  MODULE PROCEDURE cmfe_solver_lineartypesetnumber0
6526  MODULE PROCEDURE cmfe_solver_lineartypesetnumber1
6527  MODULE PROCEDURE cmfe_solver_lineartypesetobj
6528  END INTERFACE cmfe_solver_lineartypeset
6529 
6536 
6543 
6550 
6557 
6564 
6571 
6578 
6585 
6592 
6599 
6606 
6613 
6620 
6627 
6634 
6639  MODULE PROCEDURE cmfe_solver_quasinewtonrestartsetobj
6640  END INTERFACE cmfe_solver_quasinewtonrestartset
6641 
6648 
6655 
6662 
6665  MODULE PROCEDURE cmfe_solver_quasinewtontypesetnumber0
6666  MODULE PROCEDURE cmfe_solver_quasinewtontypesetnumber1
6667  MODULE PROCEDURE cmfe_solver_quasinewtontypesetobj
6668  END INTERFACE cmfe_solver_quasinewtontypeset
6669 
6676 
6683 
6690 
6695  MODULE PROCEDURE cmfe_solver_newtonlinearsolvergetobj
6696  END INTERFACE cmfe_solver_newtonlinearsolverget
6697 
6702  MODULE PROCEDURE cmfe_solver_newtoncellmlsolvergetobj
6703  END INTERFACE cmfe_solver_newtoncellmlsolverget
6704 
6711 
6718 
6725 
6732 
6739 
6746 
6753 
6760 
6767 
6774 
6781 
6784  MODULE PROCEDURE cmfe_solver_newtontypesetnumber0
6785  MODULE PROCEDURE cmfe_solver_newtontypesetnumber1
6786  MODULE PROCEDURE cmfe_solver_newtontypesetobj
6787  END INTERFACE cmfe_solver_newtontypeset
6788 
6791  MODULE PROCEDURE cmfe_solver_nonlineartypesetnumber0
6792  MODULE PROCEDURE cmfe_solver_nonlineartypesetnumber1
6793  MODULE PROCEDURE cmfe_solver_nonlineartypesetobj
6794  END INTERFACE cmfe_solver_nonlineartypeset
6795 
6798  MODULE PROCEDURE cmfe_solver_outputtypesetnumber0
6799  MODULE PROCEDURE cmfe_solver_outputtypesetnumber1
6800  MODULE PROCEDURE cmfe_solver_outputtypesetobj
6801  END INTERFACE cmfe_solver_outputtypeset
6802 
6805  MODULE PROCEDURE cmfe_solver_solverequationsgetnumber0
6806  MODULE PROCEDURE cmfe_solver_solverequationsgetnumber1
6807  MODULE PROCEDURE cmfe_solver_solverequationsgetobj
6808  END INTERFACE cmfe_solver_solverequationsget
6809 
6816 
6823 
6830 
6837 
6844 
6851 
6855 
6859 
6861 
6863 
6867 
6872 
6874 
6876 
6878 
6880 
6883 
6886 
6889 
6891 
6893 
6896 
6899 
6901 
6903 
6905 
6915 
6917 
6919  & cmfe_solver_dae_bdf, &
6921 
6923 
6926 
6929 
6931 
6933 
6935 
6937 
6939 
6941 
6943 
6945 
6947 
6949 
6951 
6953 
6955 
6957 
6959 
6961 
6963 
6965 
6967 
6969 
6971 
6973 
6975 
6977 
6979 
6981 
6983 
6985 
6987 
6989 
6991 
6993 
6995 
6997 
6999 
7001 
7003 
7005 
7007 
7009 
7011 
7013 
7015 
7017 
7019 
7021 
7023 
7025 
7027 
7029 
7031 
7033 
7035 
7037 
7039 
7041 
7043 
7045 
7047 
7049 
7051 
7053 
7055 
7057 
7059 
7061 
7063 
7065 
7067 
7069 
7071 
7073 
7075 
7077 
7079 
7081 
7083 
7085 
7087 
7089 
7091 
7093 
7094 !!==================================================================================================================================
7095 !!
7096 !! FieldML routines
7097 !!
7098 !!==================================================================================================================================
7099 
7102  PRIVATE
7103 #ifdef WITH_FIELDML
7104  TYPE(fieldml_io_type), POINTER :: fieldmlinfo
7105 #endif
7106  END TYPE cmfe_fieldmliotype
7107 
7115 
7123 
7131 
7139 
7147 
7155 
7160  MODULE PROCEDURE cmfe_fieldml_inputmeshcreatestartobjc
7162  END INTERFACE cmfe_fieldml_inputmeshcreatestart
7163 
7166  MODULE PROCEDURE cmfe_fieldml_inputcreatefromfilevs
7167  MODULE PROCEDURE cmfe_fieldml_inputcreatefromfilec
7168  END INTERFACE cmfe_fieldml_inputcreatefromfile
7169 
7174 
7176 
7183  MODULE PROCEDURE cmfe_fieldml_outputaddfieldnotypeobjc
7187  END INTERFACE cmfe_fieldml_outputaddfield
7188 
7191  MODULE PROCEDURE cmfe_fieldml_outputcreateobjvs
7192  MODULE PROCEDURE cmfe_fieldml_outputcreatenumbervs
7193  MODULE PROCEDURE cmfe_fieldml_outputcreateobjc
7194  MODULE PROCEDURE cmfe_fieldml_outputcreatenumberc
7195  END INTERFACE cmfe_fieldml_outputcreate
7196 
7204 
7207  MODULE PROCEDURE cmfe_fieldml_outputwritevs
7208  MODULE PROCEDURE cmfe_fieldml_outputwritec
7209  END INTERFACE cmfe_fieldml_outputwrite
7210 
7211  PUBLIC :: cmfe_fieldmliotype
7212 
7216 
7217 !!==================================================================================================================================
7218 !!
7219 !! GENERAL_ROUTINES
7220 !!
7221 !!==================================================================================================================================
7222 
7225  MODULE PROCEDURE cmfe_usernumbergetregion
7226  MODULE PROCEDURE cmfe_usernumbergetmesh
7227  MODULE PROCEDURE cmfe_usernumbergetbasis
7228  END INTERFACE cmfe_usernumberget
7229 
7230  PUBLIC cmfe_usernumberget
7231 
7232 !!
7233 !!==================================================================================================================================
7234 !!
7235 
7236 CONTAINS
7237 
7238  !
7239  !================================================================================================================================
7240  !
7241 
7243  SUBROUTINE cmfe_finalise(err)
7244  !DLLEXPORT(cmfe_Finalise)
7245 
7246  !Argument variables
7247  INTEGER(INTG), INTENT(OUT) :: err
7248  !Local variables
7249 
7250  CALL cmfe_finalise_(err,error,*999)
7251 
7252 #ifdef TAUPROF
7253  CALL tau_static_phase_stop('OpenCMISS World Phase')
7254 #endif
7255 
7256  RETURN
7257 999 CALL cmfe_handleerror(err,error)
7258  RETURN
7259 
7260  END SUBROUTINE cmfe_finalise
7261 
7262  !
7263  !================================================================================================================================
7264  !
7265 
7267  SUBROUTINE cmfe_initialisenumber(worldCoordinateSystemUserNumber,worldRegionUserNumber,err)
7268  !DLLEXPORT(cmfe_InitialiseNumber)
7269 
7270  !Argument variables
7271  INTEGER(INTG), INTENT(OUT) :: worldCoordinateSystemUserNumber
7272  INTEGER(INTG), INTENT(OUT) :: worldRegionUserNumber
7273  INTEGER(INTG), INTENT(OUT) :: err
7274  !Local variables
7275  TYPE(coordinate_system_type), POINTER :: WORLD_COORDINATE_SYSTEM
7276  TYPE(region_type), POINTER :: WORLD_REGION
7277 
7278 #ifdef TAUPROF
7279  CALL tau_static_phase_start('OpenCMISS World Phase')
7280 #endif
7281 
7282  NULLIFY(world_coordinate_system)
7283  NULLIFY(world_region)
7284  CALL cmfe_initialise_(world_region,err,error,*999)
7285  worldcoordinatesystemusernumber=0
7286  worldregionusernumber=world_region%USER_NUMBER
7287 
7288  RETURN
7289 999 CALL cmfe_handleerror(err,error)
7290  RETURN
7291 
7292  END SUBROUTINE cmfe_initialisenumber
7293 
7294  !
7295  !================================================================================================================================
7296  !
7297 
7299  SUBROUTINE cmfe_initialiseobj(worldCoordinateSystem,worldRegion,err)
7300  !DLLEXPORT(cmfe_InitialiseObj)
7301 
7302  !Argument variables
7303  TYPE(cmfe_coordinatesystemtype), INTENT(INOUT) :: worldCoordinateSystem
7304  TYPE(cmfe_regiontype), INTENT(INOUT) :: worldRegion
7305  INTEGER(INTG), INTENT(OUT) :: err
7306  !Local variables
7307 
7308 #ifdef TAUPROF
7309  CALL tau_static_phase_start('OpenCMISS World Phase')
7310 #endif
7311 
7312  CALL cmfe_coordinatesystem_initialise(worldcoordinatesystem,err)
7313  CALL cmfe_region_initialise(worldregion,err)
7314  CALL cmfe_initialise_(worldregion%region,err,error,*999)
7315 
7316  RETURN
7317 999 CALL cmfe_handleerror(err,error)
7318  RETURN
7319 
7320  END SUBROUTINE cmfe_initialiseobj
7321 
7322  !
7323  !================================================================================================================================
7324  !
7325 
7327  SUBROUTINE cmfe_workingrealprecisionget(workingRealPrecision,err)
7328  !DLLEXPORT(cmfe_WorkingRealPrecisionGet)
7329 
7330  !Argument variables
7331  INTEGER(INTG), INTENT(OUT) :: workingRealPrecision
7332  INTEGER(INTG), INTENT(OUT) :: err
7333  !Local variables
7334 
7335  enters("cmfe_WorkingRealPrecisionGet",err,error,*999)
7336 
7337 #ifdef SINGLE_REAL_PRECISION
7338  workingrealprecision=cmfe_single_real_type
7339 #else
7340  workingrealprecision=cmfe_double_real_type
7341 #endif
7342 
7343  exits("cmfe_WorkingRealPrecisionGet")
7344  RETURN
7345 999 errorsexits("cmfe_WorkingRealPrecisionGet",err,error)
7346  CALL cmfe_handleerror(err,error)
7347  RETURN
7348 
7349  END SUBROUTINE cmfe_workingrealprecisionget
7350 
7351  !
7352  !================================================================================================================================
7353  !
7354 
7356  SUBROUTINE cmfe_basistypescopy(bases,basesSize,basesPtr,err)
7357  !DLLEXPORT(cmfe_BasisTypesCopy)
7358 
7359  !Argument variables
7360  TYPE(cmfe_basistype), INTENT(INOUT) :: bases(:)
7361  INTEGER(C_INT), INTENT(IN) :: basesSize
7362  TYPE(c_ptr), INTENT(IN) :: basesPtr
7363  INTEGER(INTG), INTENT(OUT) :: err
7364  !Local variables
7365  INTEGER(INTG) :: basis_idx
7366  TYPE(c_ptr), POINTER :: BasesCPtrs(:)
7367  TYPE(cmfe_basistype), POINTER :: Basis
7368 
7369  enters("cmfe_BasisTypesCopy",err,error,*999)
7370 
7371  IF(c_associated(basesptr)) THEN
7372  CALL c_f_pointer(basesptr,basescptrs,[basessize])
7373  IF(ASSOCIATED(basescptrs)) THEN
7374  DO basis_idx=1,basessize
7375  CALL c_f_pointer(basescptrs(basis_idx),basis)
7376  IF(ASSOCIATED(basescptrs)) THEN
7377  bases(basis_idx)%basis => basis%basis
7378  ELSE
7379  CALL flagerror("error converting C pointer.",err,error,*999)
7380  END IF
7381  END DO
7382  ELSE
7383  CALL flagerror("error converting C pointer.",err,error,*999)
7384  END IF
7385  ELSE
7386  CALL flagerror("bases C pointer is not associated.",err,error,*999)
7387  END IF
7388 
7389  exits("cmfe_BasisTypesCopy")
7390  RETURN
7391 999 errorsexits("cmfe_BasisTypesCopy",err,error)
7392  CALL cmfe_handleerror(err,error)
7393  RETURN
7394 
7395  END SUBROUTINE cmfe_basistypescopy
7396 
7397  !
7398  !================================================================================================================================
7399  !
7400 
7402  SUBROUTINE cmfe_basis_finalise(cmfe_Basis,err)
7403  !DLLEXPORT(cmfe_Basis_Finalise)
7404 
7405  !Argument variables
7406  TYPE(cmfe_basistype), INTENT(OUT) :: cmfe_Basis
7407  INTEGER(INTG), INTENT(OUT) :: err
7408  !Local variables
7409 
7410  enters("cmfe_Basis_Finalise",err,error,*999)
7411 
7412  IF(ASSOCIATED(cmfe_basis%basis)) CALL basis_destroy(cmfe_basis%basis,err,error,*999)
7413 
7414  exits("cmfe_Basis_Finalise")
7415  RETURN
7416 999 errorsexits("cmfe_Basis_Finalise",err,error)
7417  CALL cmfe_handleerror(err,error)
7418  RETURN
7419 
7420  END SUBROUTINE cmfe_basis_finalise
7421 
7422  !
7423  !================================================================================================================================
7424  !
7425 
7427  SUBROUTINE cmfe_basis_initialise(cmfe_Basis,err)
7428  !DLLEXPORT(cmfe_Basis_Initialise)
7429 
7430  !Argument variables
7431  TYPE(cmfe_basistype), INTENT(OUT) :: cmfe_Basis
7432  INTEGER(INTG), INTENT(OUT) :: err
7433  !Local variables
7434 
7435  enters("cmfe_Basis_Initialise",err,error,*999)
7436 
7437  NULLIFY(cmfe_basis%basis)
7438 
7439  exits("cmfe_Basis_Initialise")
7440  RETURN
7441 999 errorsexits("cmfe_Basis_Initialise",err,error)
7442  CALL cmfe_handleerror(err,error)
7443  RETURN
7444 
7445  END SUBROUTINE cmfe_basis_initialise
7446 
7447  !
7448  !================================================================================================================================
7449  !
7450 
7452  SUBROUTINE cmfe_boundaryconditions_finalise(cmfe_BoundaryConditions,err)
7453  !DLLEXPORT(cmfe_BoundaryConditions_Finalise)
7454 
7455  !Argument variables
7456  TYPE(cmfe_boundaryconditionstype), INTENT(OUT) :: cmfe_BoundaryConditions
7457  INTEGER(INTG), INTENT(OUT) :: err
7458  !Local variables
7459 
7460  enters("cmfe_BoundaryConditions_Finalise",err,error,*999)
7461 
7462  IF(ASSOCIATED(cmfe_boundaryconditions%boundaryConditions)) &
7463  & CALL boundary_conditions_destroy(cmfe_boundaryconditions%boundaryConditions,err,error,*999)
7464 
7465  exits("cmfe_BoundaryConditions_Finalise")
7466  RETURN
7467 999 errorsexits("cmfe_BoundaryConditions_Finalise",err,error)
7468  CALL cmfe_handleerror(err,error)
7469  RETURN
7470 
7471  END SUBROUTINE cmfe_boundaryconditions_finalise
7472  !
7473  !================================================================================================================================
7474  !
7475 
7477  SUBROUTINE cmfe_boundaryconditions_initialise(cmfe_BoundaryConditions,err)
7478  !DLLEXPORT(cmfe_BoundaryConditions_Initialise)
7479 
7480  !Argument variables
7481  TYPE(cmfe_boundaryconditionstype), INTENT(OUT) :: cmfe_BoundaryConditions
7482  INTEGER(INTG), INTENT(OUT) :: err
7483  !Local variables
7484 
7485  enters("cmfe_BoundaryConditions_Initialise",err,error,*999)
7486 
7487  NULLIFY(cmfe_boundaryconditions%boundaryConditions)
7488 
7489  exits("cmfe_BoundaryConditions_Initialise")
7490  RETURN
7491 999 errorsexits("cmfe_BoundaryConditions_Initialise",err,error)
7492  CALL cmfe_handleerror(err,error)
7493  RETURN
7494 
7495  END SUBROUTINE cmfe_boundaryconditions_initialise
7496 
7497  !
7498  !================================================================================================================================
7499  !
7500 
7502  SUBROUTINE cmfe_cellml_finalise(cmfe_CellML,err)
7503  !DLLEXPORT(cmfe_CellML_Finalise)
7504 
7505  !Argument variables
7506  TYPE(cmfe_cellmltype), INTENT(OUT) :: cmfe_CellML
7507  INTEGER(INTG), INTENT(OUT) :: err
7508  !Local variables
7509 
7510  enters("cmfe_CellML_Finalise",err,error,*999)
7511 
7512  IF(ASSOCIATED(cmfe_cellml%cellml)) CALL cellml_destroy(cmfe_cellml%cellml,err,error,*999)
7513 
7514  exits("cmfe_CellML_Finalise")
7515  RETURN
7516 999 errorsexits("cmfe_CellML_Finalise",err,error)
7517  CALL cmfe_handleerror(err,error)
7518  RETURN
7519 
7520  END SUBROUTINE cmfe_cellml_finalise
7521  !
7522  !================================================================================================================================
7523  !
7524 
7526  SUBROUTINE cmfe_cellml_initialise(cmfe_CellML,err)
7527  !DLLEXPORT(cmfe_CellML_Initialise)
7528 
7529  !Argument variables
7530  TYPE(cmfe_cellmltype), INTENT(OUT) :: cmfe_CellML
7531  INTEGER(INTG), INTENT(OUT) :: err
7532  !Local variables
7533 
7534  enters("cmfe_CellML_Initialise",err,error,*999)
7535 
7536  NULLIFY(cmfe_cellml%cellml)
7537 
7538  exits("cmfe_CellML_Initialise")
7539  RETURN
7540 999 errorsexits("cmfe_CellML_Initialise",err,error)
7541  CALL cmfe_handleerror(err,error)
7542  RETURN
7543 
7544  END SUBROUTINE cmfe_cellml_initialise
7545 
7546  !
7547  !================================================================================================================================
7548  !
7549 
7551  SUBROUTINE cmfe_cellmlequations_finalise(cmfe_CellMLEquations,err)
7552  !DLLEXPORT(cmfe_CellMLEquations_Finalise)
7553 
7554  !Argument variables
7555  TYPE(cmfe_cellmlequationstype), INTENT(OUT) :: cmfe_CellMLEquations
7556  INTEGER(INTG), INTENT(OUT) :: err
7557  !Local variables
7558 
7559  enters("cmfe_CellMLEquations_Finalise",err,error,*999)
7560 
7561  IF(ASSOCIATED(cmfe_cellmlequations%cellmlEquations)) &
7562  & CALL cellml_equations_destroy(cmfe_cellmlequations%cellmlEquations,err,error,*999)
7563 
7564  exits("cmfe_CellMLEquations_Finalise")
7565  RETURN
7566 999 errorsexits("cmfe_CellMLEquations_Finalise",err,error)
7567  CALL cmfe_handleerror(err,error)
7568  RETURN
7569 
7570  END SUBROUTINE cmfe_cellmlequations_finalise
7571 
7572  !
7573  !================================================================================================================================
7574  !
7575 
7577  SUBROUTINE cmfe_cellmlequations_initialise(cmfe_CellMLEquations,err)
7578  !DLLEXPORT(cmfe_CellMLEquations_Initialise)
7579 
7580  !Argument variables
7581  TYPE(cmfe_cellmlequationstype), INTENT(OUT) :: cmfe_CellMLEquations
7582  INTEGER(INTG), INTENT(OUT) :: err
7583  !Local variables
7584 
7585  enters("cmfe_CellMLEquations_Initialise",err,error,*999)
7586 
7587  NULLIFY(cmfe_cellmlequations%cellmlEquations)
7588 
7589  exits("cmfe_CellMLEquations_Initialise")
7590  RETURN
7591 999 errorsexits("cmfe_CellMLEquations_Initialise",err,error)
7592  CALL cmfe_handleerror(err,error)
7593  RETURN
7594 
7595  END SUBROUTINE cmfe_cellmlequations_initialise
7596 
7597  !
7598  !================================================================================================================================
7599  !
7600 
7602  SUBROUTINE cmfe_computationalworkgroup_initialise(cmfe_ComputationalWorkGroup,err)
7603  !DLLEXPORT(cmfe_ComputationalWorkGroup_Initialise)
7604 
7605  !Argument variables
7606  TYPE(cmfe_computationalworkgrouptype), INTENT(OUT) :: cmfe_ComputationalWorkGroup
7607  INTEGER(INTG), INTENT(OUT) :: err
7608  !Local variables
7609 
7610  enters("cmfe_ComputationalWorkGroup_Initialise",err,error,*999)
7611 
7612  NULLIFY(cmfe_computationalworkgroup%computationalWorkGroup)
7613 
7614  exits("cmfe_ComputationalWorkGroup_Initialise")
7615  RETURN
7616 999 errorsexits("cmfe_ComputationalWorkGroup_Initialise",err,error)
7617  CALL cmfe_handleerror(err,error)
7618  RETURN
7619 
7621 
7622  !
7623  !================================================================================================================================
7624  !
7625 
7627  SUBROUTINE cmfe_controlloop_finalise(cmfe_ControlLoop,err)
7628  !DLLEXPORT(cmfe_ControlLoop_Finalise)
7629 
7630  !Argument variables
7631  TYPE(cmfe_controllooptype), INTENT(OUT) :: cmfe_ControlLoop
7632  INTEGER(INTG), INTENT(OUT) :: err
7633  !Local variables
7634 
7635  enters("cmfe_ControlLoop_Finalise",err,error,*999)
7636 
7637  IF(ASSOCIATED(cmfe_controlloop%controlLoop)) &
7638  & CALL control_loop_destroy(cmfe_controlloop%controlLoop,err,error,*999)
7639 
7640  exits("cmfe_ControlLoop_Finalise")
7641  RETURN
7642 999 errorsexits("cmfe_ControlLoop_Finalise",err,error)
7643  CALL cmfe_handleerror(err,error)
7644  RETURN
7645 
7646  END SUBROUTINE cmfe_controlloop_finalise
7647  !
7648  !================================================================================================================================
7649  !
7650 
7652  SUBROUTINE cmfe_controlloop_initialise(cmfe_ControlLoop,err)
7653  !DLLEXPORT(cmfe_ControlLoop_Initialise)
7654 
7655  !Argument variables
7656  TYPE(cmfe_controllooptype), INTENT(OUT) :: cmfe_ControlLoop
7657  INTEGER(INTG), INTENT(OUT) :: err
7658  !Local variables
7659 
7660  enters("cmfe_ControlLoop_Initialise",err,error,*999)
7661 
7662  NULLIFY(cmfe_controlloop%controlLoop)
7663 
7664  exits("cmfe_ControlLoop_Initialise")
7665  RETURN
7666 999 errorsexits("cmfe_ControlLoop_Initialise",err,error)
7667  CALL cmfe_handleerror(err,error)
7668  RETURN
7669 
7670  END SUBROUTINE cmfe_controlloop_initialise
7671 
7672  !
7673  !================================================================================================================================
7674  !
7675 
7677  SUBROUTINE cmfe_coordinatesystem_finalise(cmfe_CoordinateSystem,err)
7678  !DLLEXPORT(cmfe_CoordinateSystem_Finalise)
7679 
7680  !Argument variables
7681  TYPE(cmfe_coordinatesystemtype), INTENT(OUT) :: cmfe_CoordinateSystem
7682  INTEGER(INTG), INTENT(OUT) :: err
7683  !Local variables
7684 
7685  enters("cmfe_CoordinateSystem_Finalise",err,error,*999)
7686 
7687  IF(ASSOCIATED(cmfe_coordinatesystem%coordinateSystem)) &
7688  & CALL coordinate_system_destroy(cmfe_coordinatesystem%coordinateSystem,err,error,*999)
7689 
7690  exits("cmfe_CoordinateSystem_Finalise")
7691  RETURN
7692 999 errorsexits("cmfe_CoordinateSystem_Finalise",err,error)
7693  CALL cmfe_handleerror(err,error)
7694  RETURN
7695 
7696  END SUBROUTINE cmfe_coordinatesystem_finalise
7697  !
7698  !================================================================================================================================
7699  !
7700 
7702  SUBROUTINE cmfe_coordinatesystem_initialise(cmfe_CoordinateSystem,err)
7703  !DLLEXPORT(cmfe_CoordinateSystem_Initialise)
7704 
7705  !Argument variables
7706  TYPE(cmfe_coordinatesystemtype), INTENT(OUT) :: cmfe_CoordinateSystem
7707  INTEGER(INTG), INTENT(OUT) :: err
7708  !Local variables
7709 
7710  enters("cmfe_CoordinateSystem_Initialise",err,error,*999)
7711 
7712  NULLIFY(cmfe_coordinatesystem%coordinateSystem)
7713 
7714  exits("cmfe_CoordinateSystem_Initialise")
7715  RETURN
7716 999 errorsexits("cmfe_CoordinateSystem_Initialise",err,error)
7717  CALL cmfe_handleerror(err,error)
7718  RETURN
7719 
7720  END SUBROUTINE cmfe_coordinatesystem_initialise
7721 
7722  !
7723  !================================================================================================================================
7724  !
7725 
7727  SUBROUTINE cmfe_datapoints_finalise(cmfe_DataPoints,err)
7728  !DLLEXPORT(cmfe_DataPoints_Finalise)
7729 
7730  !Argument variables
7731  TYPE(cmfe_datapointstype), INTENT(OUT) :: cmfe_DataPoints
7732  INTEGER(INTG), INTENT(OUT) :: err
7733  !Local variables
7734 
7735  enters("cmfe_DataPoints_Finalise",err,error,*999)
7736 
7737  IF(ASSOCIATED(cmfe_datapoints%dataPoints)) &
7738  & CALL data_points_destroy(cmfe_datapoints%dataPoints,err,error,*999)
7739 
7740  exits("cmfe_DataPoints_Finalise")
7741  RETURN
7742 999 errorsexits("cmfe_DataPoints_Finalise",err,error)
7743  CALL cmfe_handleerror(err,error)
7744  RETURN
7745 
7746  END SUBROUTINE cmfe_datapoints_finalise
7747 
7748  !
7749  !================================================================================================================================
7750  !
7751 
7753  SUBROUTINE cmfe_datapoints_initialise(cmfe_DataPoints,err)
7754  !DLLEXPORT(cmfe_DataPoints_Initialise)
7755 
7756  !Argument variables
7757  TYPE(cmfe_datapointstype), INTENT(OUT) :: cmfe_DataPoints
7758  INTEGER(INTG), INTENT(OUT) :: err
7759  !Local variables
7760 
7761  enters("cmfe_DataPoints_Initialise",err,error,*999)
7762 
7763  NULLIFY(cmfe_datapoints%dataPoints)
7764 
7765  exits("cmfe_DataPoints_Initialise")
7766  RETURN
7767 999 errorsexits("cmfe_DataPoints_Initialise",err,error)
7768  CALL cmfe_handleerror(err,error)
7769  RETURN
7770 
7771  END SUBROUTINE cmfe_datapoints_initialise
7772 
7773  !
7774  !================================================================================================================================
7775  !
7776 
7778  SUBROUTINE cmfe_dataprojection_finalise(cmfe_DataProjection,err)
7779  !DLLEXPORT(cmfe_DataProjection_Finalise)
7780 
7781  !Argument variables
7782  TYPE(cmfe_dataprojectiontype), INTENT(OUT) :: cmfe_DataProjection
7783  INTEGER(INTG), INTENT(OUT) :: err
7784  !Local variables
7785 
7786  enters("cmfe_DataProjection_Finalise",err,error,*999)
7787 
7788  IF(ASSOCIATED(cmfe_dataprojection%dataProjection)) &
7789  & CALL data_projection_destroy(cmfe_dataprojection%dataProjection,err,error,*999)
7790 
7791  exits("cmfe_DataProjection_Finalise")
7792  RETURN
7793 999 errorsexits("cmfe_DataProjection_Finalise",err,error)
7794  CALL cmfe_handleerror(err,error)
7795  RETURN
7796 
7797  END SUBROUTINE cmfe_dataprojection_finalise
7798 
7799  !
7800  !================================================================================================================================
7801  !
7802 
7804  SUBROUTINE cmfe_dataprojection_initialise(cmfe_DataProjection,err)
7805  !DLLEXPORT(cmfe_DataProjection_Initialise)
7806 
7807  !Argument variables
7808  TYPE(cmfe_dataprojectiontype), INTENT(OUT) :: cmfe_DataProjection
7809  INTEGER(INTG), INTENT(OUT) :: err
7810  !Local variables
7811 
7812  enters("cmfe_DataProjection_Initialise",err,error,*999)
7813 
7814  NULLIFY(cmfe_dataprojection%dataProjection)
7815 
7816  exits("cmfe_DataProjection_Initialise")
7817  RETURN
7818 999 errorsexits("cmfe_DataProjection_Initialise",err,error)
7819  CALL cmfe_handleerror(err,error)
7820  RETURN
7821 
7822  END SUBROUTINE cmfe_dataprojection_initialise
7823 
7824  !
7825  !================================================================================================================================
7826  !
7827 
7829  SUBROUTINE cmfe_decomposition_finalise(cmfe_Decomposition,err)
7830  !DLLEXPORT(cmfe_Decomposition_Finalise)
7831 
7832  !Argument variables
7833  TYPE(cmfe_decompositiontype), INTENT(OUT) :: cmfe_Decomposition
7834  INTEGER(INTG), INTENT(OUT) :: err
7835  !Local variables
7836 
7837  enters("cmfe_Decomposition_Finalise",err,error,*999)
7838 
7839  IF(ASSOCIATED(cmfe_decomposition%decomposition)) &
7840  & CALL decomposition_destroy(cmfe_decomposition%decomposition,err,error,*999)
7841 
7842  exits("cmfe_Decomposition_Finalise")
7843  RETURN
7844 999 errorsexits("cmfe_Decomposition_Finalise",err,error)
7845  CALL cmfe_handleerror(err,error)
7846  RETURN
7847 
7848  END SUBROUTINE cmfe_decomposition_finalise
7849 
7850  !
7851  !================================================================================================================================
7852  !
7853 
7855  SUBROUTINE cmfe_decomposition_initialise(cmfe_Decomposition,err)
7856  !DLLEXPORT(cmfe_Decomposition_Initialise)
7857 
7858  !Argument variables
7859  TYPE(cmfe_decompositiontype), INTENT(OUT) :: cmfe_Decomposition
7860  INTEGER(INTG), INTENT(OUT) :: err
7861  !Local variables
7862 
7863  enters("cmfe_Decomposition_Initialise",err,error,*999)
7864 
7865  NULLIFY(cmfe_decomposition%decomposition)
7866 
7867  exits("cmfe_Decomposition_Initialise")
7868  RETURN
7869 999 errorsexits("cmfe_Decomposition_Initialise",err,error)
7870  CALL cmfe_handleerror(err,error)
7871  RETURN
7872 
7873  END SUBROUTINE cmfe_decomposition_initialise
7874 
7875  !
7876  !================================================================================================================================
7877  !
7878 
7880  SUBROUTINE cmfe_equations_finalise(cmfe_Equations,err)
7881  !DLLEXPORT(cmfe_Equations_Finalise)
7882 
7883  !Argument variables
7884  TYPE(cmfe_equationstype), INTENT(OUT) :: cmfe_Equations
7885  INTEGER(INTG), INTENT(OUT) :: err
7886  !Local variables
7887 
7888  enters("cmfe_Equations_Finalise",err,error,*999)
7889 
7890  IF(ASSOCIATED(cmfe_equations%equations)) &
7891  & CALL equations_destroy(cmfe_equations%equations,err,error,*999)
7892 
7893  exits("cmfe_Equations_Finalise")
7894  RETURN
7895 999 errorsexits("cmfe_Equations_Finalise",err,error)
7896  CALL cmfe_handleerror(err,error)
7897  RETURN
7898 
7899  END SUBROUTINE cmfe_equations_finalise
7900 
7901  !
7902  !================================================================================================================================
7903  !
7904 
7906  SUBROUTINE cmfe_equations_initialise(cmfe_Equations,err)
7907  !DLLEXPORT(cmfe_Equations_Initialise)
7908 
7909  !Argument variables
7910  TYPE(cmfe_equationstype), INTENT(OUT) :: cmfe_Equations
7911  INTEGER(INTG), INTENT(OUT) :: err
7912  !Local variables
7913 
7914  enters("cmfe_Equations_Initialise",err,error,*999)
7915 
7916  NULLIFY(cmfe_equations%equations)
7917 
7918  exits("cmfe_Equations_Initialise")
7919  RETURN
7920 999 errorsexits("cmfe_Equations_Initialise",err,error)
7921  CALL cmfe_handleerror(err,error)
7922  RETURN
7923 
7924  END SUBROUTINE cmfe_equations_initialise
7925 
7926  !
7927  !================================================================================================================================
7928  !
7929 
7931  SUBROUTINE cmfe_equationsset_finalise(cmfe_EquationsSet,err)
7932  !DLLEXPORT(cmfe_EquationsSet_Finalise)
7933 
7934  !Argument variables
7935  TYPE(cmfe_equationssettype), INTENT(OUT) :: cmfe_EquationsSet
7936  INTEGER(INTG), INTENT(OUT) :: err
7937  !Local variables
7938 
7939  enters("cmfe_EquationsSet_Finalise",err,error,*999)
7940 
7941  IF(ASSOCIATED(cmfe_equationsset%equationsSet)) &
7942  & CALL equations_set_destroy(cmfe_equationsset%equationsSet,err,error,*999)
7943 
7944  exits("cmfe_EquationsSet_Finalise")
7945  RETURN
7946 999 errorsexits("cmfe_EquationsSet_Finalise",err,error)
7947  CALL cmfe_handleerror(err,error)
7948  RETURN
7949 
7950  END SUBROUTINE cmfe_equationsset_finalise
7951 
7952  !
7953  !================================================================================================================================
7954  !
7955 
7957  SUBROUTINE cmfe_equationsset_initialise(cmfe_EquationsSet,err)
7958  !DLLEXPORT(cmfe_EquationsSet_Initialise)
7959 
7960  !Argument variables
7961  TYPE(cmfe_equationssettype), INTENT(OUT) :: cmfe_EquationsSet
7962  INTEGER(INTG), INTENT(OUT) :: err
7963  !Local variables
7964 
7965  enters("cmfe_EquationsSet_Initialise",err,error,*999)
7966 
7967  NULLIFY(cmfe_equationsset%equationsSet)
7968 
7969  exits("cmfe_EquationsSet_Initialise")
7970  RETURN
7971 999 errorsexits("cmfe_EquationsSet_Initialise",err,error)
7972  CALL cmfe_handleerror(err,error)
7973  RETURN
7974 
7975  END SUBROUTINE cmfe_equationsset_initialise
7976 
7977  !
7978  !================================================================================================================================
7979  !
7980 
7982  SUBROUTINE cmfe_field_finalise(cmfe_Field,err)
7983  !DLLEXPORT(cmfe_Field_Finalise)
7984 
7985  !Argument variables
7986  TYPE(cmfe_fieldtype), INTENT(OUT) :: cmfe_Field
7987  INTEGER(INTG), INTENT(OUT) :: err
7988  !Local variables
7989 
7990  enters("cmfe_Field_Finalise",err,error,*999)
7991 
7992  IF(ASSOCIATED(cmfe_field%field)) CALL field_destroy(cmfe_field%field,err,error,*999)
7993 
7994  exits("cmfe_Field_Finalise")
7995  RETURN
7996 999 errorsexits("cmfe_Field_Finalise",err,error)
7997  CALL cmfe_handleerror(err,error)
7998  RETURN
7999 
8000  END SUBROUTINE cmfe_field_finalise
8001 
8002  !
8003  !================================================================================================================================
8004  !
8005 
8007  SUBROUTINE cmfe_field_initialise(cmfe_Field,err)
8008  !DLLEXPORT(cmfe_Field_Initialise)
8009 
8010  !Argument variables
8011  TYPE(cmfe_fieldtype), INTENT(OUT) :: cmfe_Field
8012  INTEGER(INTG), INTENT(OUT) :: err
8013  !Local variables
8014 
8015  enters("cmfe_Field_Initialise",err,error,*999)
8016 
8017  NULLIFY(cmfe_field%field)
8018 
8019  exits("cmfe_Field_Initialise")
8020  RETURN
8021 999 errorsexits("cmfe_Field_Initialise",err,error)
8022  CALL cmfe_handleerror(err,error)
8023  RETURN
8024 
8025  END SUBROUTINE cmfe_field_initialise
8026 
8027  !
8028  !================================================================================================================================
8029  !
8030 
8032  SUBROUTINE cmfe_fields_createinterface(interface,fields,err)
8033  !DLLEXPORT(cmfe_Fields_CreateInterface)
8034 
8035  !Argument variables
8036  TYPE(cmfe_interfacetype), INTENT(IN) :: interface
8037  TYPE(cmfe_fieldstype), INTENT(INOUT) :: fields
8038  INTEGER(INTG), INTENT(OUT) :: err
8039  !Local variables
8040 
8041  enters("cmfe_Fields_CreateInterface",err,error,*999)
8042 
8043  IF(ASSOCIATED(interface%interface)) THEN
8044  IF(ASSOCIATED(fields%fields)) THEN
8045  CALL flagerror("Fields is already associated.",err,error,*999)
8046  ELSE
8047  fields%fields=>interface%interface%fields
8048  END IF
8049  ELSE
8050  CALL flagerror("The interface is not associated.",err,error,*999)
8051  END IF
8052 
8053  exits("cmfe_Fields_CreateInterface")
8054  RETURN
8055 999 errorsexits("cmfe_Fields_CreateInterface",err,error)
8056  CALL cmfe_handleerror(err,error)
8057  RETURN
8058 
8059  END SUBROUTINE cmfe_fields_createinterface
8060 
8061  !
8062  !================================================================================================================================
8063  !
8064 
8066  SUBROUTINE cmfe_fields_createregion(region,fields,err)
8067  !DLLEXPORT(cmfe_Fields_CreateRegion)
8068 
8069  !Argument variables
8070  TYPE(cmfe_regiontype), INTENT(IN) :: region
8071  TYPE(cmfe_fieldstype), INTENT(INOUT) :: fields
8072  INTEGER(INTG), INTENT(OUT) :: err
8073  !Local variables
8074 
8075  enters("cmfe_Fields_CreateRegion",err,error,*999)
8076 
8077  IF(ASSOCIATED(region%region)) THEN
8078  IF(ASSOCIATED(fields%fields)) THEN
8079  CALL flagerror("fields is already associated.",err,error,*999)
8080  ELSE
8081  fields%fields=>region%region%fields
8082  END IF
8083  ELSE
8084  CALL flagerror("The region is not associated.",err,error,*999)
8085  END IF
8086 
8087  exits("cmfe_Fields_CreateRegion")
8088  RETURN
8089 999 errorsexits("cmfe_Fields_CreateRegion",err,error)
8090  CALL cmfe_handleerror(err,error)
8091  RETURN
8092 
8093  END SUBROUTINE cmfe_fields_createregion
8094 
8095  !
8096  !================================================================================================================================
8097  !
8098 
8100  SUBROUTINE cmfe_fields_finalise(cmfe_Fields,err)
8101  !DLLEXPORT(cmfe_Fields_Finalise)
8102 
8103  !Argument variables
8104  TYPE(cmfe_fieldstype), INTENT(OUT) :: cmfe_Fields
8105  INTEGER(INTG), INTENT(OUT) :: err
8106  !Local variables
8107 
8108  enters("cmfe_Fields_Finalise",err,error,*999)
8109 
8110  NULLIFY(cmfe_fields%fields)
8111 
8112 #ifdef TAUPROF
8113  CALL tau_static_phase_stop('Fields Type')
8114 #endif
8115 
8116  exits("cmfe_Fields_Finalise")
8117  RETURN
8118 999 errorsexits("cmfe_Fields_Finalise",err,error)
8119  CALL cmfe_handleerror(err,error)
8120  RETURN
8121 
8122  END SUBROUTINE cmfe_fields_finalise
8123 
8124  !
8125  !================================================================================================================================
8126  !
8127 
8129  SUBROUTINE cmfe_fields_initialise(cmfe_Fields,err)
8130  !DLLEXPORT(cmfe_Fields_Initialise)
8131 
8132  !Argument variables
8133  TYPE(cmfe_fieldstype), INTENT(OUT) :: cmfe_Fields
8134  INTEGER(INTG), INTENT(OUT) :: err
8135  !Local variables
8136 
8137  enters("cmfe_Fields_Initialise",err,error,*999)
8138 
8139 #ifdef TAUPROF
8140  CALL tau_static_phase_start('Fields Type')
8141 #endif
8142 
8143  NULLIFY(cmfe_fields%fields)
8144 
8145  exits("cmfe_Fields_Initialise")
8146  RETURN
8147 999 errorsexits("cmfe_Fields_Initialise",err,error)
8148  CALL cmfe_handleerror(err,error)
8149  RETURN
8150 
8151  END SUBROUTINE cmfe_fields_initialise
8152 
8153  !
8154  !================================================================================================================================
8155  !
8156 
8158  SUBROUTINE cmfe_generatedmesh_finalise(cmfe_GeneratedMesh,err)
8159  !DLLEXPORT(cmfe_GeneratedMesh_Finalise)
8160 
8161  !Argument variables
8162  TYPE(cmfe_generatedmeshtype), INTENT(OUT) :: cmfe_GeneratedMesh
8163  INTEGER(INTG), INTENT(OUT) :: err
8164  !Local variables
8165 
8166  enters("cmfe_GeneratedMesh_Finalise",err,error,*999)
8167 
8168  IF(ASSOCIATED(cmfe_generatedmesh%generatedMesh)) &
8169  & CALL generated_mesh_destroy(cmfe_generatedmesh%generatedMesh,err,error,*999)
8170 
8171  exits("cmfe_GeneratedMesh_Finalise")
8172  RETURN
8173 999 errorsexits("cmfe_GeneratedMesh_Finalise",err,error)
8174  CALL cmfe_handleerror(err,error)
8175  RETURN
8176 
8177  END SUBROUTINE cmfe_generatedmesh_finalise
8178 
8179  !
8180  !================================================================================================================================
8181  !
8182 
8184  SUBROUTINE cmfe_generatedmesh_initialise(cmfe_GeneratedMesh,err)
8185  !DLLEXPORT(cmfe_GeneratedMesh_Initialise)
8186 
8187  !Argument variables
8188  TYPE(cmfe_generatedmeshtype), INTENT(OUT) :: cmfe_GeneratedMesh
8189  INTEGER(INTG), INTENT(OUT) :: err
8190  !Local variables
8191 
8192  enters("cmfe_GeneratedMesh_Initialise",err,error,*999)
8193 
8194  NULLIFY(cmfe_generatedmesh%generatedMesh)
8195 
8196  exits("cmfe_GeneratedMesh_Initialise")
8197  RETURN
8198 999 errorsexits("cmfe_GeneratedMesh_Initialise",err,error)
8199  CALL cmfe_handleerror(err,error)
8200  RETURN
8201 
8202  END SUBROUTINE cmfe_generatedmesh_initialise
8203 
8204  !
8205  !================================================================================================================================
8206  !
8207 
8209  SUBROUTINE cmfe_interface_finalise(cmfe_Interface,err)
8210  !DLLEXPORT(cmfe_Interface_Finalise)
8211 
8212  !Argument variables
8213  TYPE(cmfe_interfacetype), INTENT(OUT) :: cmfe_Interface
8214  INTEGER(INTG), INTENT(OUT) :: err
8215  !Local variables
8216 
8217  enters("cmfe_Interface_Finalise",err,error,*999)
8218 
8219  IF(ASSOCIATED(cmfe_interface%interface)) &
8220  & CALL interface_destroy(cmfe_interface%interface,err,error,*999)
8221 
8222  exits("cmfe_Interface_Finalise")
8223  RETURN
8224 999 errorsexits("cmfe_Interface_Finalise",err,error)
8225  CALL cmfe_handleerror(err,error)
8226  RETURN
8227 
8228  END SUBROUTINE cmfe_interface_finalise
8229 
8230  !
8231  !================================================================================================================================
8232  !
8233 
8235  SUBROUTINE cmfe_interface_initialise(cmfe_Interface,err)
8236  !DLLEXPORT(cmfe_Interface_Initialise)
8237 
8238  !Argument variables
8239  TYPE(cmfe_interfacetype), INTENT(OUT) :: cmfe_Interface
8240  INTEGER(INTG), INTENT(OUT) :: err
8241  !Local variables
8242 
8243  enters("cmfe_Interface_Initialise",err,error,*999)
8244 
8245  NULLIFY(cmfe_interface%interface)
8246 
8247  exits("cmfe_Interface_Initialise")
8248  RETURN
8249 999 errorsexits("cmfe_Interface_Initialise",err,error)
8250  CALL cmfe_handleerror(err,error)
8251  RETURN
8252 
8253  END SUBROUTINE cmfe_interface_initialise
8254 
8255  !
8256  !================================================================================================================================
8257  !
8258 
8260  SUBROUTINE cmfe_interfacecondition_finalise(cmfe_InterfaceCondition,err)
8261  !DLLEXPORT(cmfe_InterfaceCondition_Finalise)
8262 
8263  !Argument variables
8264  TYPE(cmfe_interfaceconditiontype), INTENT(OUT) :: cmfe_InterfaceCondition
8265  INTEGER(INTG), INTENT(OUT) :: err
8266  !Local variables
8267 
8268  enters("cmfe_InterfaceCondition_Finalise",err,error,*999)
8269 
8270  IF(ASSOCIATED(cmfe_interfacecondition%interfaceCondition)) &
8271  & CALL interface_condition_destroy(cmfe_interfacecondition%interfaceCondition,err,error,*999)
8272 
8273  exits("cmfe_InterfaceCondition_Finalise")
8274  RETURN
8275 999 errorsexits("cmfe_InterfaceTypeConditionFinalise",err,error)
8276  CALL cmfe_handleerror(err,error)
8277  RETURN
8278 
8279  END SUBROUTINE cmfe_interfacecondition_finalise
8280 
8281  !
8282  !================================================================================================================================
8283  !
8284 
8286  SUBROUTINE cmfe_interfacecondition_initialise(cmfe_InterfaceCondition,err)
8287  !DLLEXPORT(cmfe_InterfaceCondition_Initialise)
8288 
8289  !Argument variables
8290  TYPE(cmfe_interfaceconditiontype), INTENT(OUT) :: cmfe_InterfaceCondition
8291  INTEGER(INTG), INTENT(OUT) :: err
8292  !Local variables
8293 
8294  enters("cmfe_InterfaceCondition_Initialise",err,error,*999)
8295 
8296  NULLIFY(cmfe_interfacecondition%interfaceCondition)
8297 
8298  exits("cmfe_InterfaceCondition_Initialise")
8299  RETURN
8300 999 errorsexits("cmfe_InterfaceCondition_Initialise",err,error)
8301  CALL cmfe_handleerror(err,error)
8302  RETURN
8303 
8304  END SUBROUTINE cmfe_interfacecondition_initialise
8305 
8306  !
8307  !================================================================================================================================
8308  !
8309 
8311  SUBROUTINE cmfe_interfaceequations_finalise(cmfe_InterfaceEquations,err)
8312  !DLLEXPORT(cmfe_InterfaceEquations_Finalise)
8313 
8314  !Argument variables
8315  TYPE(cmfe_interfaceequationstype), INTENT(OUT) :: cmfe_InterfaceEquations
8316  INTEGER(INTG), INTENT(OUT) :: err
8317  !Local variables
8318 
8319  enters("cmfe_InterfaceEquations_Finalise",err,error,*999)
8320 
8321  IF(ASSOCIATED(cmfe_interfaceequations%interfaceEquations)) &
8322  & CALL interface_equations_destroy(cmfe_interfaceequations%interfaceEquations,err,error,*999)
8323 
8324  exits("cmfe_InterfaceEquations_Finalise")
8325  RETURN
8326 999 errorsexits("cmfe_InterfaceEquations_Finalise",err,error)
8327  CALL cmfe_handleerror(err,error)
8328  RETURN
8329 
8330  END SUBROUTINE cmfe_interfaceequations_finalise
8331 
8332  !
8333  !================================================================================================================================
8334  !
8335 
8337  SUBROUTINE cmfe_interfaceequations_initialise(cmfe_InterfaceEquations,err)
8338  !DLLEXPORT(cmfe_InterfaceEquations_Initialise)
8339 
8340  !Argument variables
8341  TYPE(cmfe_interfaceequationstype), INTENT(OUT) :: cmfe_InterfaceEquations
8342  INTEGER(INTG), INTENT(OUT) :: err
8343  !Local variables
8344 
8345  enters("cmfe_InterfaceEquations_Initialise",err,error,*999)
8346 
8347  NULLIFY(cmfe_interfaceequations%interfaceEquations)
8348 
8349  exits("cmfe_InterfaceEquations_Initialise")
8350  RETURN
8351 999 errorsexits("cmfe_InterfaceEquations_Initialise",err,error)
8352  CALL cmfe_handleerror(err,error)
8353  RETURN
8354 
8355  END SUBROUTINE cmfe_interfaceequations_initialise
8356 
8357  !
8358  !================================================================================================================================
8359  !
8360 
8362  SUBROUTINE cmfe_interfacepointsconnectivity_finalise(cmfe_InterfacePointsConnectivity,err)
8363  !DLLEXPORT(cmfe_InterfacePointsConnectivity_Finalise)
8364 
8365  !Argument variables
8366  TYPE(cmfe_interfacepointsconnectivitytype), INTENT(OUT) :: cmfe_InterfacePointsConnectivity
8367  INTEGER(INTG), INTENT(OUT) :: Err
8368  !Local variables
8369 
8370  enters("cmfe_InterfacePointsConnectivity_Finalise",err,error,*999)
8371 
8372  IF(ASSOCIATED(cmfe_interfacepointsconnectivity%pointsConnectivity)) &
8373  & CALL interfacepointsconnectivity_destroy(cmfe_interfacepointsconnectivity%pointsConnectivity,err,error,*999)
8374 
8375  exits("cmfe_InterfacePointsConnectivity_Finalise")
8376  RETURN
8377 999 errorsexits("cmfe_InterfacePointsConnectivity_Finalise",err,error)
8378  CALL cmfe_handleerror(err,error)
8379  RETURN
8380 
8382 
8383  !
8384  !================================================================================================================================
8385  !
8386 
8388  SUBROUTINE cmfe_interfacepointsconnectivity_initialise(cmfe_InterfacePointsConnectivity,err)
8389  !DLLEXPORT(cmfe_InterfacePointsConnectivity_Initialise)
8390 
8391  !Argument variables
8392  TYPE(cmfe_interfacepointsconnectivitytype), INTENT(OUT) :: cmfe_InterfacePointsConnectivity
8393  INTEGER(INTG), INTENT(OUT) :: Err
8394  !Local variables
8395 
8396  enters("cmfe_InterfacePointsConnectivity_Initialise",err,error,*999)
8397 
8398  NULLIFY(cmfe_interfacepointsconnectivity%pointsConnectivity)
8399 
8400  exits("cmfe_InterfacePointsConnectivity_Initialise")
8401  RETURN
8402 999 errorsexits("cmfe_InterfacePointsConnectivity_Initialise",err,error)
8403  CALL cmfe_handleerror(err,error)
8404  RETURN
8405 
8407 
8408  !
8409  !================================================================================================================================
8410  !
8411 
8413  SUBROUTINE cmfe_interfacemeshconnectivity_finalise(cmfe_InterfaceMeshConnectivity,err)
8414  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_Finalise)
8415 
8416  !Argument variables
8417  TYPE(cmfe_interfacemeshconnectivitytype), INTENT(OUT) :: cmfe_InterfaceMeshConnectivity
8418  INTEGER(INTG), INTENT(OUT) :: err
8419  !Local variables
8420 
8421  enters("cmfe_InterfaceMeshConnectivity_Finalise",err,error,*999)
8422 
8423  IF(ASSOCIATED(cmfe_interfacemeshconnectivity%meshConnectivity)) &
8424  & CALL interface_mesh_connectivity_destroy(cmfe_interfacemeshconnectivity%meshConnectivity,err,error,*999)
8425 
8426  exits("cmfe_InterfaceMeshConnectivity_Finalise")
8427  RETURN
8428  999 errorsexits("cmfe_InterfaceMeshConnectivity_Finalise",err,error)
8429  CALL cmfe_handleerror(err,error)
8430  RETURN
8431 
8433 
8434  !
8435  !================================================================================================================================
8436  !
8437 
8439  SUBROUTINE cmfe_interfacemeshconnectivity_initialise(cmfe_InterfaceMeshConnectivity,err)
8440  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_Initialise)
8441 
8442  !Argument variables
8443  TYPE(cmfe_interfacemeshconnectivitytype), INTENT(OUT) :: cmfe_InterfaceMeshConnectivity
8444  INTEGER(INTG), INTENT(OUT) :: err
8445  !Local variables
8446 
8447  enters("cmfe_InterfaceMeshConnectivity_Initialise",err,error,*999)
8448 
8449  NULLIFY(cmfe_interfacemeshconnectivity%meshConnectivity)
8450 
8451  exits("cmfe_InterfaceMeshConnectivity_Initialise")
8452  RETURN
8453  999 errorsexits("cmfe_InterfaceMeshConnectivity_Initialise",err,error)
8454  CALL cmfe_handleerror(err,error)
8455  RETURN
8456 
8458 
8459  !
8460  !================================================================================================================================
8461  !
8462 
8464  SUBROUTINE cmfe_history_finalise(cmfe_History,err)
8465  !DLLEXPORT(cmfe_History_Finalise)
8466 
8467  !Argument variables
8468  TYPE(cmfe_historytype), INTENT(OUT) :: cmfe_History
8469  INTEGER(INTG), INTENT(OUT) :: err
8470  !Local variables
8471 
8472  enters("cmfe_History_Finalise",err,error,*999)
8473 
8474  IF(ASSOCIATED(cmfe_history%history)) &
8475  & CALL history_destroy(cmfe_history%history,err,error,*999)
8476 
8477  exits("cmfe_History_Finalise")
8478  RETURN
8479 999 errorsexits("cmfe_History_Finalise",err,error)
8480  CALL cmfe_handleerror(err,error)
8481  RETURN
8482 
8483  END SUBROUTINE cmfe_history_finalise
8484 
8485  !
8486  !================================================================================================================================
8487  !
8488 
8490  SUBROUTINE cmfe_history_initialise(cmfe_History,err)
8491  !DLLEXPORT(cmfe_History_Initialise)
8492 
8493  !Argument variables
8494  TYPE(cmfe_historytype), INTENT(OUT) :: cmfe_History
8495  INTEGER(INTG), INTENT(OUT) :: err
8496  !Local variables
8497 
8498  enters("cmfe_History_Initialise",err,error,*999)
8499 
8500  NULLIFY(cmfe_history%history)
8501 
8502  exits("cmfe_History_Initialise")
8503  RETURN
8504 999 errorsexits("cmfe_History_Initialise",err,error)
8505  CALL cmfe_handleerror(err,error)
8506  RETURN
8507 
8508  END SUBROUTINE cmfe_history_initialise
8509 
8510  !
8511  !================================================================================================================================
8512  !
8513 
8515  SUBROUTINE cmfe_distributedmatrix_initialise(cmfe_DistributedMatrix,err)
8516  !DLLEXPORT(cmfe_DistributedMatrix_Initialise)
8517 
8518  !Argument variables
8519  TYPE(cmfe_distributedmatrixtype), INTENT(OUT) :: cmfe_DistributedMatrix
8520  INTEGER(INTG), INTENT(OUT) :: err
8521  !Local variables
8522 
8523  enters("cmfe_DistributedMatrix_Initialise",err,error,*999)
8524 
8525  NULLIFY(cmfe_distributedmatrix%distributedMatrix)
8526 
8527  exits("cmfe_DistributedMatrix_Initialise")
8528  RETURN
8529 999 errorsexits("cmfe_DistributedMatrix_Initialise",err,error)
8530  CALL cmfe_handleerror(err,error)
8531  RETURN
8532 
8533  END SUBROUTINE cmfe_distributedmatrix_initialise
8534 
8535  !
8536  !================================================================================================================================
8537  !
8538 
8540  SUBROUTINE cmfe_distributedvector_initialise(cmfe_DistributedVector,err)
8541  !DLLEXPORT(cmfe_DistributedVector_Initialise)
8542 
8543  !Argument variables
8544  TYPE(cmfe_distributedvectortype), INTENT(OUT) :: cmfe_DistributedVector
8545  INTEGER(INTG), INTENT(OUT) :: err
8546  !Local variables
8547 
8548  enters("cmfe_DistributedVector_Initialise",err,error,*999)
8549 
8550  NULLIFY(cmfe_distributedvector%distributedVector)
8551 
8552  exits("cmfe_DistributedVector_Initialise")
8553  RETURN
8554 999 errorsexits("cmfe_DistributedVector_Initialise",err,error)
8555  CALL cmfe_handleerror(err,error)
8556  RETURN
8557 
8558  END SUBROUTINE cmfe_distributedvector_initialise
8559 
8560  !
8561  !================================================================================================================================
8562  !
8563 
8565  SUBROUTINE cmfe_mesh_finalise(cmfe_Mesh,err)
8566  !DLLEXPORT(cmfe_Mesh_Finalise)
8567 
8568  !Argument variables
8569  TYPE(cmfe_meshtype), INTENT(OUT) :: cmfe_Mesh
8570  INTEGER(INTG), INTENT(OUT) :: err
8571  !Local variables
8572 
8573  enters("cmfe_Mesh_Finalise",err,error,*999)
8574 
8575  IF(ASSOCIATED(cmfe_mesh%mesh)) &
8576  & CALL mesh_destroy(cmfe_mesh%mesh,err,error,*999)
8577 
8578  exits("cmfe_Mesh_Finalise")
8579  RETURN
8580 999 errorsexits("cmfe_Mesh_Finalise",err,error)
8581  CALL cmfe_handleerror(err,error)
8582  RETURN
8583 
8584  END SUBROUTINE cmfe_mesh_finalise
8585 
8586  !
8587  !================================================================================================================================
8588  !
8589 
8591  SUBROUTINE cmfe_mesh_initialise(cmfe_Mesh,err)
8592  !DLLEXPORT(cmfe_Mesh_Initialise)
8593 
8594  !Argument variables
8595  TYPE(cmfe_meshtype), INTENT(OUT) :: cmfe_Mesh
8596  INTEGER(INTG), INTENT(OUT) :: err
8597  !Local variables
8598 
8599  enters("cmfe_Mesh_Initialise",err,error,*999)
8600 
8601  NULLIFY(cmfe_mesh%mesh)
8602 
8603  exits("cmfe_Mesh_Initialise")
8604  RETURN
8605 999 errorsexits("cmfe_Mesh_Initialise",err,error)
8606  CALL cmfe_handleerror(err,error)
8607  RETURN
8608 
8609  END SUBROUTINE cmfe_mesh_initialise
8610 
8611  !
8612  !================================================================================================================================
8613  !
8614 
8616  SUBROUTINE cmfe_meshelements_finalise(cmfe_MeshElements,err)
8617  !DLLEXPORT(cmfe_MeshElements_Finalise)
8618 
8619  !Argument variables
8620  TYPE(cmfe_meshelementstype), INTENT(OUT) :: cmfe_MeshElements
8621  INTEGER(INTG), INTENT(OUT) :: err
8622  !Local variables
8623 
8624  enters("cmfe_MeshElements_Finalise",err,error,*999)
8625 
8626  IF(ASSOCIATED(cmfe_meshelements%meshElements)) &
8627  & CALL mesh_topology_elements_destroy(cmfe_meshelements%meshElements,err,error,*999)
8628 
8629  exits("cmfe_MeshElements_Finalise")
8630  RETURN
8631 999 errorsexits("cmfe_MeshElements_Finalise",err,error)
8632  CALL cmfe_handleerror(err,error)
8633  RETURN
8634 
8635  END SUBROUTINE cmfe_meshelements_finalise
8636 
8637  !
8638  !================================================================================================================================
8639  !
8640 
8642  SUBROUTINE cmfe_meshelements_initialise(cmfe_MeshElements,err)
8643  !DLLEXPORT(cmfe_MeshElements_Initialise)
8644 
8645  !Argument variables
8646  TYPE(cmfe_meshelementstype), INTENT(OUT) :: cmfe_MeshElements
8647  INTEGER(INTG), INTENT(OUT) :: err
8648  !Local variables
8649 
8650  enters("cmfe_MeshElements_Initialise",err,error,*999)
8651 
8652  NULLIFY(cmfe_meshelements%meshElements)
8653 
8654  exits("cmfe_MeshElements_Initialise")
8655  RETURN
8656 999 errorsexits("cmfe_MeshElements_Initialise",err,error)
8657  CALL cmfe_handleerror(err,error)
8658  RETURN
8659 
8660  END SUBROUTINE cmfe_meshelements_initialise
8661 
8662  !
8663  !================================================================================================================================
8664  !
8665 
8667  SUBROUTINE cmfe_meshnodes_finalise(cmfe_MeshNodes,err)
8668  !DLLEXPORT(cmfe_MeshNodes_Finalise)
8669 
8670  !Argument variables
8671  TYPE(cmfe_meshnodestype), INTENT(OUT) :: cmfe_MeshNodes
8672  INTEGER(INTG), INTENT(OUT) :: err
8673  !Local variables
8674 
8675  enters("cmfe_MeshNodes_Finalise",err,error,*999)
8676 
8677  IF(ASSOCIATED(cmfe_meshnodes%meshNodes)) &
8678  & CALL meshtopologynodesdestroy(cmfe_meshnodes%meshNodes,err,error,*999)
8679 
8680  exits("cmfe_MeshNodes_Finalise")
8681  RETURN
8682 999 errorsexits("cmfe_MeshNodes_Finalise",err,error)
8683  CALL cmfe_handleerror(err,error)
8684  RETURN
8685 
8686  END SUBROUTINE cmfe_meshnodes_finalise
8687 
8688  !
8689  !================================================================================================================================
8690  !
8691 
8693  SUBROUTINE cmfe_meshnodes_initialise(cmfe_MeshNodes,err)
8694  !DLLEXPORT(cmfe_MeshNodes_Initialise)
8695 
8696  !Argument variables
8697  TYPE(cmfe_meshnodestype), INTENT(OUT) :: cmfe_MeshNodes
8698  INTEGER(INTG), INTENT(OUT) :: err
8699  !Local variables
8700 
8701  enters("cmfe_MeshNodes_Initialise",err,error,*999)
8702 
8703  NULLIFY(cmfe_meshnodes%meshNodes)
8704 
8705  exits("cmfe_MeshNodes_Initialise")
8706  RETURN
8707 999 errorsexits("cmfe_MeshNodes_Initialise",err,error)
8708  CALL cmfe_handleerror(err,error)
8709  RETURN
8710 
8711  END SUBROUTINE cmfe_meshnodes_initialise
8712 
8713  !
8714  !================================================================================================================================
8715  !
8716 
8718  SUBROUTINE cmfe_nodes_finalise(cmfe_Nodes,err)
8719  !DLLEXPORT(cmfe_Nodes_Finalise)
8720 
8721  !Argument variables
8722  TYPE(cmfe_nodestype), INTENT(OUT) :: cmfe_Nodes
8723  INTEGER(INTG), INTENT(OUT) :: err
8724  !Local variables
8725 
8726  enters("cmfe_Nodes_Finalise",err,error,*999)
8727 
8728  IF(ASSOCIATED(cmfe_nodes%nodes)) CALL nodes_destroy(cmfe_nodes%nodes,err,error,*999)
8729 
8730  exits("cmfe_Nodes_Finalise")
8731  RETURN
8732 999 errorsexits("cmfe_Nodes_Finalise",err,error)
8733  CALL cmfe_handleerror(err,error)
8734  RETURN
8735 
8736  END SUBROUTINE cmfe_nodes_finalise
8737 
8738  !
8739  !================================================================================================================================
8740  !
8741 
8743  SUBROUTINE cmfe_nodes_initialise(cmfe_Nodes,err)
8744  !DLLEXPORT(cmfe_Nodes_Initialise)
8745 
8746  !Argument variables
8747  TYPE(cmfe_nodestype), INTENT(OUT) :: cmfe_Nodes
8748  INTEGER(INTG), INTENT(OUT) :: err
8749  !Local variables
8750 
8751  enters("cmfe_Nodes_Initialise",err,error,*999)
8752 
8753  NULLIFY(cmfe_nodes%nodes)
8754 
8755  exits("cmfe_Nodes_Initialise")
8756  RETURN
8757 999 errorsexits("cmfe_Nodes_Initialise",err,error)
8758  CALL cmfe_handleerror(err,error)
8759  RETURN
8760 
8761  END SUBROUTINE cmfe_nodes_initialise
8762 
8763  !
8764  !================================================================================================================================
8765  !
8766 
8768  SUBROUTINE cmfe_problem_finalise(cmfe_Problem,err)
8769  !DLLEXPORT(cmfe_Problem_Finalise)
8770 
8771  !Argument variables
8772  TYPE(cmfe_problemtype), INTENT(OUT) :: cmfe_Problem
8773  INTEGER(INTG), INTENT(OUT) :: err
8774  !Local variables
8775 
8776  enters("cmfe_Problem_Finalise",err,error,*999)
8777 
8778  IF(ASSOCIATED(cmfe_problem%problem)) CALL problem_destroy(cmfe_problem%problem,err,error,*999)
8779 
8780  exits("cmfe_Problem_Finalise")
8781  RETURN
8782 999 errorsexits("cmfe_Problem_Finalise",err,error)
8783  CALL cmfe_handleerror(err,error)
8784  RETURN
8785 
8786  END SUBROUTINE cmfe_problem_finalise
8787 
8788  !
8789  !================================================================================================================================
8790  !
8791 
8793  SUBROUTINE cmfe_problem_initialise(cmfe_Problem,err)
8794  !DLLEXPORT(cmfe_Problem_Initialise)
8795 
8796  !Argument variables
8797  TYPE(cmfe_problemtype), INTENT(OUT) :: cmfe_Problem
8798  INTEGER(INTG), INTENT(OUT) :: err
8799  !Local variables
8800 
8801  enters("cmfe_Problem_Initialise",err,error,*999)
8802 
8803  NULLIFY(cmfe_problem%problem)
8804 
8805  exits("cmfe_Problem_Initialise")
8806  RETURN
8807 999 errorsexits("cmfe_Problem_Initialise",err,error)
8808  CALL cmfe_handleerror(err,error)
8809  RETURN
8810 
8811  END SUBROUTINE cmfe_problem_initialise
8812 
8813  !
8814  !================================================================================================================================
8815  !
8816 
8818  SUBROUTINE cmfe_quadrature_finalise(cmfe_Quadrature,err)
8819  !DLLEXPORT(cmfe_Quadrature_Finalise)
8820 
8821  !Argument variables
8822  TYPE(cmfe_quadraturetype), INTENT(OUT) :: cmfe_Quadrature
8823  INTEGER(INTG), INTENT(OUT) :: err
8824  !Local variables
8825 
8826  enters("cmfe_Quadrature_Finalise",err,error,*999)
8827 
8828  IF(ASSOCIATED(cmfe_quadrature%quadrature)) &
8829  & CALL basis_quadrature_destroy(cmfe_quadrature%quadrature,err,error,*999)
8830 
8831  exits("cmfe_Quadrature_Finalise")
8832  RETURN
8833 999 errorsexits("cmfe_Quadrature_Finalise",err,error)
8834  CALL cmfe_handleerror(err,error)
8835  RETURN
8836 
8837  END SUBROUTINE cmfe_quadrature_finalise
8838 
8839  !
8840  !================================================================================================================================
8841  !
8842 
8844  SUBROUTINE cmfe_quadrature_initialise(cmfe_Quadrature,err)
8845  !DLLEXPORT(cmfe_Quadrature_Initialise)
8846 
8847  !Argument variables
8848  TYPE(cmfe_quadraturetype), INTENT(OUT) :: cmfe_Quadrature
8849  INTEGER(INTG), INTENT(OUT) :: err
8850  !Local variables
8851 
8852  enters("cmfe_Quadrature_Initialise",err,error,*999)
8853 
8854  NULLIFY(cmfe_quadrature%quadrature)
8855 
8856  exits("cmfe_Quadrature_Initialise")
8857  RETURN
8858 999 errorsexits("cmfe_Quadrature_Initialise",err,error)
8859  CALL cmfe_handleerror(err,error)
8860  RETURN
8861 
8862  END SUBROUTINE cmfe_quadrature_initialise
8863 
8864  !
8865  !================================================================================================================================
8866  !
8867 
8869  SUBROUTINE cmfe_region_finalise(cmfe_Region,err)
8870  !DLLEXPORT(cmfe_Region_Finalise)
8871 
8872  !Argument variables
8873  TYPE(cmfe_regiontype), INTENT(OUT) :: cmfe_Region
8874  INTEGER(INTG), INTENT(OUT) :: err
8875  !Local variables
8876 
8877  enters("cmfe_Region_Finalise",err,error,*999)
8878 
8879  IF(ASSOCIATED(cmfe_region%region)) &
8880  & CALL region_destroy(cmfe_region%region,err,error,*999)
8881 
8882  exits("cmfe_Region_Finalise")
8883  RETURN
8884 999 errorsexits("cmfe_Region_Finalise",err,error)
8885  CALL cmfe_handleerror(err,error)
8886  RETURN
8887 
8888  END SUBROUTINE cmfe_region_finalise
8889 
8890  !
8891  !================================================================================================================================
8892  !
8893 
8895  SUBROUTINE cmfe_region_initialise(cmfe_Region,err)
8896  !DLLEXPORT(cmfe_Region_Initialise)
8897 
8898  !Argument variables
8899  TYPE(cmfe_regiontype), INTENT(OUT) :: cmfe_Region
8900  INTEGER(INTG), INTENT(OUT) :: err
8901  !Local variables
8902 
8903  enters("cmfe_Region_Initialise",err,error,*999)
8904 
8905  NULLIFY(cmfe_region%region)
8906 
8907  exits("cmfe_Region_Initialise")
8908  RETURN
8909 999 errorsexits("cmfe_Region_Initialise",err,error)
8910  CALL cmfe_handleerror(err,error)
8911  RETURN
8912 
8913  END SUBROUTINE cmfe_region_initialise
8914 
8915  !
8916  !================================================================================================================================
8917  !
8918 
8920  SUBROUTINE cmfe_solver_finalise(cmfe_Solver,err)
8921  !DLLEXPORT(cmfe_Solver_Finalise)
8922 
8923  !Argument variables
8924  TYPE(cmfe_solvertype), INTENT(OUT) :: cmfe_Solver
8925  INTEGER(INTG), INTENT(OUT) :: err
8926  !Local variables
8927 
8928  enters("cmfe_Solver_Finalise",err,error,*999)
8929 
8930  IF(ASSOCIATED(cmfe_solver%solver)) CALL solver_destroy(cmfe_solver%solver,err,error,*999)
8931 
8932  exits("cmfe_Solver_Finalise")
8933  RETURN
8934 999 errorsexits("cmfe_Solver_Finalise",err,error)
8935  CALL cmfe_handleerror(err,error)
8936  RETURN
8937 
8938  END SUBROUTINE cmfe_solver_finalise
8939 
8940  !
8941  !================================================================================================================================
8942  !
8943 
8945  SUBROUTINE cmfe_solver_initialise(cmfe_Solver,err)
8946  !DLLEXPORT(cmfe_Solver_Initialise)
8947 
8948  !Argument variables
8949  TYPE(cmfe_solvertype), INTENT(OUT) :: cmfe_Solver
8950  INTEGER(INTG), INTENT(OUT) :: err
8951  !Local variables
8952 
8953  enters("cmfe_Solver_Initialise",err,error,*999)
8954 
8955  NULLIFY(cmfe_solver%solver)
8956 
8957  exits("cmfe_Solver_Initialise")
8958  RETURN
8959 999 errorsexits("cmfe_Solver_Initialise",err,error)
8960  CALL cmfe_handleerror(err,error)
8961  RETURN
8962 
8963  END SUBROUTINE cmfe_solver_initialise
8964 
8965  !
8966  !================================================================================================================================
8967  !
8968 
8970  SUBROUTINE cmfe_solverequations_finalise(cmfe_SolverEquations,err)
8971  !DLLEXPORT(cmfe_SolverEquations_Finalise)
8972 
8973  !Argument variables
8974  TYPE(cmfe_solverequationstype), INTENT(OUT) :: cmfe_SolverEquations
8975  INTEGER(INTG), INTENT(OUT) :: err
8976  !Local variables
8977 
8978  enters("cmfe_SolverEquations_Finalise",err,error,*999)
8979 
8980  IF(ASSOCIATED(cmfe_solverequations%solverEquations)) &
8981  & CALL solver_equations_destroy(cmfe_solverequations%solverEquations,err,error,*999)
8982 
8983  exits("cmfe_SolverEquations_Finalise")
8984  RETURN
8985 999 errorsexits("cmfe_SolverEquations_Finalise",err,error)
8986  CALL cmfe_handleerror(err,error)
8987  RETURN
8988 
8989  END SUBROUTINE cmfe_solverequations_finalise
8990 
8991  !
8992  !================================================================================================================================
8993  !
8994 
8996  SUBROUTINE cmfe_solverequations_initialise(cmfe_SolverEquations,err)
8997  !DLLEXPORT(cmfe_SolverEquations_Initialise)
8998 
8999  !Argument variables
9000  TYPE(cmfe_solverequationstype), INTENT(OUT) :: cmfe_SolverEquations
9001  INTEGER(INTG), INTENT(OUT) :: err
9002  !Local variables
9003 
9004  enters("cmfe_SolverEquations_Initialise",err,error,*999)
9005 
9006  NULLIFY(cmfe_solverequations%solverEquations)
9007 
9008  exits("cmfe_SolverEquations_Initialise")
9009  RETURN
9010 999 errorsexits("cmfe_SolverEquations_Initialise",err,error)
9011  CALL cmfe_handleerror(err,error)
9012  RETURN
9013 
9014  END SUBROUTINE cmfe_solverequations_initialise
9015 
9016 !!==================================================================================================================================
9017 !!
9018 !! ANALYTIC_ANALYSIS_ROUTINES
9019 !!
9020 !!==================================================================================================================================
9021 
9023  SUBROUTINE cmfe_analyticanalysis_outputnumber(regionUserNumber,fieldUserNumber,fileName,err)
9024  !DLLEXPORT(cmfe_AnalyticAnalysis_OutputNumber)
9025 
9026  !Argument variables
9027  INTEGER(INTG), INTENT(IN) :: regionUserNumber
9028  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
9029  CHARACTER(LEN=*), INTENT(IN) :: fileName
9030  INTEGER(INTG), INTENT(OUT) :: err
9031  !Local variables
9032  TYPE(field_type), POINTER :: field
9033  TYPE(region_type), POINTER :: region
9034  TYPE(varying_string) :: localError
9035 
9036  enters("cmfe_AnalyticAnalysis_OutputNumber",err,error,*999)
9037 
9038  NULLIFY(region)
9039  NULLIFY(field)
9040  CALL region_user_number_find(regionusernumber,region,err,error,*999)
9041  IF(ASSOCIATED(region)) THEN
9042  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
9043  IF(ASSOCIATED(field)) THEN
9044  CALL analyticanalysis_output(field,filename,err,error,*999)
9045  ELSE
9046  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
9047  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
9048  CALL flagerror(localerror,err,error,*999)
9049  ENDIF
9050  ELSE
9051  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
9052  CALL flagerror(localerror,err,error,*999)
9053  ENDIF
9054 
9055  exits("cmfe_AnalyticAnalysis_OutputNumber")
9056  RETURN
9057 999 errorsexits("cmfe_AnalyticAnalysis_OutputNumber",err,error)
9058  CALL cmfe_handleerror(err,error)
9059  RETURN
9060 
9061  END SUBROUTINE cmfe_analyticanalysis_outputnumber
9062 
9063  !
9064  !================================================================================================================================
9065  !
9066 
9068  SUBROUTINE cmfe_analyticanalysis_outputobj(field,fileName,err)
9069  !DLLEXPORT(cmfe_AnalyticAnalysis_OutputObj)
9070 
9071  !Argument variables
9072  TYPE(cmfe_fieldtype), INTENT(IN) :: field
9073  CHARACTER(LEN=*), INTENT(IN) :: fileName
9074  INTEGER(INTG), INTENT(OUT) :: err
9075  !Local variables
9076 
9077  enters("cmfe_AnalyticAnalysis_OutputObj",err,error,*999)
9078 
9079  CALL analyticanalysis_output(field%field,filename,err,error,*999)
9080 
9081  exits("cmfe_AnalyticAnalysis_OutputObj")
9082  RETURN
9083 999 errorsexits("cmfe_AnalyticAnalysis_OutputObj",err,error)
9084  CALL cmfe_handleerror(err,error)
9085  RETURN
9086 
9087  END SUBROUTINE cmfe_analyticanalysis_outputobj
9088 
9089  !
9090  !================================================================================================================================
9091  !
9092 
9094  SUBROUTINE cmfe_analyticanalysis_absoluteerrorgetnodenumber(regionUserNumber,fieldUserNumber,variableType,versionNumber, &
9095  & derivativenumber, nodenumber,componentnumber,value,err)
9096  !DLLEXPORT(cmfe_AnalyticAnalysis_AbsoluteErrorGetNodeNumber)
9097 
9098  !Argument variables
9099  INTEGER(INTG), INTENT(IN) :: regionUserNumber
9100  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
9101  INTEGER(INTG), INTENT(IN) :: versionNumber
9102  INTEGER(INTG), INTENT(IN) :: derivativeNumber
9103  INTEGER(INTG), INTENT(IN) :: nodeNumber
9104  INTEGER(INTG), INTENT(IN) :: componentNumber
9105  INTEGER(INTG), INTENT(IN) :: variableType
9106  REAL(DP), INTENT(OUT) :: VALUE
9107  INTEGER(INTG), INTENT(OUT) :: err
9108  !Local variables
9109  TYPE(field_type), POINTER :: FIELD
9110  TYPE(region_type), POINTER :: REGION
9111  TYPE(varying_string) :: localError
9112 
9113  enters("cmfe_AnalyticAnalysis_AbsoluteErrorGetNodeNumber",err,error,*999)
9114 
9115  NULLIFY(region)
9116  NULLIFY(field)
9117  CALL region_user_number_find(regionusernumber,region,err,error,*999)
9118  IF(ASSOCIATED(region)) THEN
9119  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
9120  IF(ASSOCIATED(field)) THEN
9121  CALL analyticanalysis_absoluteerrorgetnode(field,variabletype,versionnumber,derivativenumber,nodenumber, &
9122  & componentnumber,value,err, error,*999)
9123  ELSE
9124  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
9125  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
9126  CALL flagerror(localerror,err,error,*999)
9127  END IF
9128  ELSE
9129  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
9130  CALL flagerror(localerror,err,error,*999)
9131  END IF
9132 
9133  exits("cmfe_AnalyticAnalysis_AbsoluteErrorGetNodeNumber")
9134  RETURN
9135 999 errors("cmfe_AnalyticAnalysis_AbsoluteErrorGetNodeNumber",err,error)
9136  exits("cmfe_AnalyticAnalysis_AbsoluteErrorGetNodeNumber")
9137  CALL cmfe_handleerror(err,error)
9138  RETURN
9139 
9141 
9142  !
9143  !================================================================================================================================
9144  !
9145 
9147  SUBROUTINE cmfe_analyticanalysis_absoluteerrorgetnodeobj(field,variableType,versionNumber,derivativeNumber,nodeNumber, &
9148  & componentnumber,value,err)
9149  !DLLEXPORT(cmfe_AnalyticAnalysis_AbsoluteErrorGetNodeObj)
9150 
9151  !Argument variables
9152  TYPE(cmfe_fieldtype), INTENT(IN) :: field
9153  INTEGER(INTG), INTENT(IN) :: versionNumber
9154  INTEGER(INTG), INTENT(IN) :: derivativeNumber
9155  INTEGER(INTG), INTENT(IN) :: nodeNumber
9156  INTEGER(INTG), INTENT(IN) :: componentNumber
9157  INTEGER(INTG), INTENT(IN) :: variableType
9158  REAL(DP), INTENT(OUT) :: VALUE
9159  INTEGER(INTG), INTENT(OUT) :: err
9160  !Local variables
9161 
9162  enters("cmfe_AnalyticAnalysis_AbsoluteErrorGetNodeObj",err,error,*999)
9163 
9164  CALL analyticanalysis_absoluteerrorgetnode(field%field,variabletype,versionnumber,derivativenumber,nodenumber, &
9165  & componentnumber,value,err,error,*999)
9166 
9167  exits("cmfe_AnalyticAnalysis_AbsoluteErrorGetNodeObj")
9168  RETURN
9169 999 errors("cmfe_AnalyticAnalysis_AbsoluteErrorGetNodeObj",err,error)
9170  exits("cmfe_AnalyticAnalysis_AbsoluteErrorGetNodeObj")
9171  CALL cmfe_handleerror(err,error)
9172  RETURN
9173 
9175 
9176  !
9177  !================================================================================================================================
9178  !
9179 
9181  SUBROUTINE cmfe_analyticanalysis_percentageerrorgetnodenumber(regionUserNumber,fieldUserNumber,variableType,versionNumber, &
9182  & derivativenumber,nodenumber,componentnumber,value,err)
9183  !DLLEXPORT(cmfe_AnalyticAnalysis_PercentageErrorGetNodeNumber)
9184 
9185  !Argument variables
9186  INTEGER(INTG), INTENT(IN) :: regionUserNumber
9187  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
9188  INTEGER(INTG), INTENT(IN) :: versionNumber
9189  INTEGER(INTG), INTENT(IN) :: derivativeNumber
9190  INTEGER(INTG), INTENT(IN) :: nodeNumber
9191  INTEGER(INTG), INTENT(IN) :: componentNumber
9192  INTEGER(INTG), INTENT(IN) :: variableType
9193  REAL(DP), INTENT(OUT) :: VALUE
9194  INTEGER(INTG), INTENT(OUT) :: err
9195  !Local variables
9196  TYPE(field_type), POINTER :: FIELD
9197  TYPE(region_type), POINTER :: REGION
9198  TYPE(varying_string) :: localError
9199 
9200  enters("cmfe_AnalyticAnalysis_PercentageErrorGetNodeNumber",err,error,*999)
9201 
9202  NULLIFY(region)
9203  NULLIFY(field)
9204  CALL region_user_number_find(regionusernumber,region,err,error,*999)
9205  IF(ASSOCIATED(region)) THEN
9206  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
9207  IF(ASSOCIATED(field)) THEN
9208  CALL analyticanalysis_percentageerrorgetnode(field,variabletype,versionnumber,derivativenumber,nodenumber, &
9209  & componentnumber,value,err,error,*999)
9210  ELSE
9211  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
9212  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
9213  CALL flagerror(localerror,err,error,*999)
9214  END IF
9215  ELSE
9216  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
9217  CALL flagerror(localerror,err,error,*999)
9218  END IF
9219 
9220  exits("cmfe_AnalyticAnalysis_PercentageErrorGetNodeNumber")
9221  RETURN
9222 999 errors("cmfe_AnalyticAnalysis_PercentageErrorGetNodeNumber",err,error)
9223  exits("cmfe_AnalyticAnalysis_PercentageErrorGetNodeNumber")
9224  CALL cmfe_handleerror(err,error)
9225  RETURN
9226 
9228 
9229  !
9230  !================================================================================================================================
9231  !
9232 
9234  SUBROUTINE cmfe_analyticanalysis_percentageerrorgetnodeobj(field,variableType,versionNumber,derivativeNumber,nodeNumber, &
9235  & componentnumber,value,err)
9236  !DLLEXPORT(cmfe_AnalyticAnalysis_PercentageErrorGetNodeObj)
9237 
9238  !Argument variables
9239  TYPE(cmfe_fieldtype), INTENT(IN) :: field
9240  INTEGER(INTG), INTENT(IN) :: versionNumber
9241  INTEGER(INTG), INTENT(IN) :: derivativeNumber
9242  INTEGER(INTG), INTENT(IN) :: nodeNumber
9243  INTEGER(INTG), INTENT(IN) :: componentNumber
9244  INTEGER(INTG), INTENT(IN) :: variableType
9245  REAL(DP), INTENT(OUT) :: VALUE
9246  INTEGER(INTG), INTENT(OUT) :: err
9247  !Local variables
9248 
9249  enters("cmfe_AnalyticAnalysis_PercentageErrorGetNodeObj",err,error,*999)
9250 
9251  CALL analyticanalysis_percentageerrorgetnode(field%field,variabletype,versionnumber,derivativenumber,nodenumber, &
9252  & componentnumber,value,err,error,*999)
9253 
9254  exits("cmfe_AnalyticAnalysis_PercentageErrorGetNodeObj")
9255  RETURN
9256 999 errors("cmfe_AnalyticAnalysis_PercentageErrorGetNodeObj",err,error)
9257  exits("cmfe_AnalyticAnalysis_PercentageErrorGetNodeObj")
9258  CALL cmfe_handleerror(err,error)
9259  RETURN
9260 
9262 
9263 
9264  !
9265  !================================================================================================================================
9266  !
9267 
9269  SUBROUTINE cmfe_analyticanalysis_relativeerrorgetnodenumber(regionUserNumber,fieldUserNumber,variableType,versionNumber, &
9270  & derivativenumber,nodenumber,componentnumber,value,err)
9271  !DLLEXPORT(cmfe_AnalyticAnalysis_RelativeErrorGetNodeNumber)
9272 
9273  !Argument variables
9274  INTEGER(INTG), INTENT(IN) :: regionUserNumber
9275  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
9276  INTEGER(INTG), INTENT(IN) :: versionNumber
9277  INTEGER(INTG), INTENT(IN) :: derivativeNumber
9278  INTEGER(INTG), INTENT(IN) :: nodeNumber
9279  INTEGER(INTG), INTENT(IN) :: componentNumber
9280  INTEGER(INTG), INTENT(IN) :: variableType
9281  REAL(DP), INTENT(OUT) :: VALUE
9282  INTEGER(INTG), INTENT(OUT) :: err
9283  !Local variables
9284  TYPE(field_type), POINTER :: FIELD
9285  TYPE(region_type), POINTER :: REGION
9286  TYPE(varying_string) :: localError
9287 
9288  enters("cmfe_AnalyticAnalysis_RelativeErrorGetNodeNumber",err,error,*999)
9289 
9290  NULLIFY(region)
9291  NULLIFY(field)
9292  CALL region_user_number_find(regionusernumber,region,err,error,*999)
9293  IF(ASSOCIATED(region)) THEN
9294  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
9295  IF(ASSOCIATED(field)) THEN
9296  CALL analyticanalysis_relativeerrorgetnode(field,variabletype,versionnumber,derivativenumber,nodenumber, &
9297  & componentnumber,value,err,error,*999)
9298  ELSE
9299  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
9300  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
9301  CALL flagerror(localerror,err,error,*999)
9302  END IF
9303  ELSE
9304  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
9305  CALL flagerror(localerror,err,error,*999)
9306  END IF
9307 
9308  exits("cmfe_AnalyticAnalysis_RelativeErrorGetNodeNumber")
9309  RETURN
9310 999 errors("cmfe_AnalyticAnalysis_RelativeErrorGetNodeNumber",err,error)
9311  exits("cmfe_AnalyticAnalysis_RelativeErrorGetNodeNumber")
9312  CALL cmfe_handleerror(err,error)
9313  RETURN
9314 
9316 
9317  !
9318  !================================================================================================================================
9319  !
9320 
9322  SUBROUTINE cmfe_analyticanalysis_relativeerrorgetnodeobj(field,variableType,versionNumber,derivativeNumber,nodeNumber, &
9323  & componentnumber,value,err)
9324  !DLLEXPORT(cmfe_AnalyticAnalysis_RelativeErrorGetNodeObj)
9325 
9326  !Argument variables
9327  TYPE(cmfe_fieldtype), INTENT(IN) :: field
9328  INTEGER(INTG), INTENT(IN) :: versionNumber
9329  INTEGER(INTG), INTENT(IN) :: derivativeNumber
9330  INTEGER(INTG), INTENT(IN) :: nodeNumber
9331  INTEGER(INTG), INTENT(IN) :: componentNumber
9332  INTEGER(INTG), INTENT(IN) :: variableType
9333  REAL(DP), INTENT(OUT) :: VALUE
9334  INTEGER(INTG), INTENT(OUT) :: err
9335  !Local variables
9336 
9337  enters("cmfe_AnalyticAnalysis_RelativeErrorGetNodeObj",err,error,*999)
9338 
9339  CALL analyticanalysis_relativeerrorgetnode(field%field,variabletype,versionnumber,derivativenumber,nodenumber, &
9340  & componentnumber,value,err,error,*999)
9341 
9342  exits("cmfe_AnalyticAnalysisRelativeErrorGetNodeObj")
9343  RETURN
9344 999 errors("cmfe_AnalyticAnalysisRelativeErrorGetNodeObj",err,error)
9345  exits("cmfe_AnalyticAnalysisRelativeErrorGetNodeObj")
9346  CALL cmfe_handleerror(err,error)
9347  RETURN
9348 
9350 
9351  !
9352  !================================================================================================================================
9353  !
9354 
9356  SUBROUTINE cmfe_analyticanalysis_absoluteerrorgetelementnumber(regionUserNumber,fieldUserNumber,variableType,elementNumber, &
9357  & componentnumber,value,err)
9358  !DLLEXPORT(cmfe_AnalyticAnalysis_AbsoluteErrorGetElementNumber)
9359 
9360  !Argument variables
9361  INTEGER(INTG), INTENT(IN) :: regionUserNumber
9362  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
9363  INTEGER(INTG), INTENT(IN) :: elementNumber
9364  INTEGER(INTG), INTENT(IN) :: componentNumber
9365  INTEGER(INTG), INTENT(IN) :: variableType
9366  REAL(DP), INTENT(OUT) :: VALUE
9367  INTEGER(INTG), INTENT(OUT) :: err
9368  !Local variables
9369  TYPE(field_type), POINTER :: FIELD
9370  TYPE(region_type), POINTER :: REGION
9371  TYPE(varying_string) :: localError
9372 
9373  enters("cmfe_AnalyticAnalysis_AbsoluteErrorGetElementNumber",err,error,*999)
9374 
9375  NULLIFY(region)
9376  NULLIFY(field)
9377  CALL region_user_number_find(regionusernumber,region,err,error,*999)
9378  IF(ASSOCIATED(region)) THEN
9379  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
9380  IF(ASSOCIATED(field)) THEN
9381  CALL analyticanalysis_absoluteerrorgetelement(field,variabletype,elementnumber,componentnumber,value,err,error,*999)
9382  ELSE
9383  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
9384  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
9385  CALL flagerror(localerror,err,error,*999)
9386  END IF
9387  ELSE
9388  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
9389  CALL flagerror(localerror,err,error,*999)
9390  END IF
9391 
9392  exits("cmfe_AnalyticAnalysis_AbsoluteErrorGetElementNumber")
9393  RETURN
9394 999 errors("cmfe_AnalyticAnalysis_AbsoluteErrorGetElementNumber",err,error)
9395  exits("cmfe_AnalyticAnalysis_AbsoluteErrorGetElementNumber")
9396  CALL cmfe_handleerror(err,error)
9397  RETURN
9398 
9400 
9401  !
9402  !================================================================================================================================
9403  !
9404 
9406  SUBROUTINE cmfe_analyticanalysis_absoluteerrorgetelementobj(field,variableType,elementNumber,componentNumber,VALUE,err)
9407  !DLLEXPORT(cmfe_AnalyticAnalysis_AbsoluteErrorGetElementObj)
9408 
9409  !Argument variables
9410  TYPE(cmfe_fieldtype), INTENT(IN) :: field
9411  INTEGER(INTG), INTENT(IN) :: elementNumber
9412  INTEGER(INTG), INTENT(IN) :: componentNumber
9413  INTEGER(INTG), INTENT(IN) :: variableType
9414  REAL(DP), INTENT(OUT) :: VALUE
9415  INTEGER(INTG), INTENT(OUT) :: err
9416  !Local variables
9417 
9418  enters("cmfe_AnalyticAnalysis_AbsoluteErrorGetElementObj",err,error,*999)
9419 
9420  CALL analyticanalysis_absoluteerrorgetelement(field%field,variabletype,elementnumber,componentnumber,value,err,error,*999)
9421 
9422  exits("cmfe_AnalyticAnalysis_AbsoluteErrorGetElementObj")
9423  RETURN
9424 999 errors("cmfe_AnalyticAnalysis_AbsoluteErrorGetElementObj",err,error)
9425  exits("cmfe_AnalyticAnalysis_AbsoluteErrorGetElementObj")
9426  CALL cmfe_handleerror(err,error)
9427  RETURN
9428 
9430 
9431  !
9432  !================================================================================================================================
9433  !
9434 
9436  SUBROUTINE cmfe_analyticanalysis_percentageerrorgetelementnumber(regionUserNumber,fieldUserNumber,variableType,elementNumber, &
9437  & componentnumber,value,err)
9438  !DLLEXPORT(cmfe_AnalyticAnalysis_PercentageErrorGetElementNumber)
9439 
9440  !Argument variables
9441  INTEGER(INTG), INTENT(IN) :: regionUserNumber
9442  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
9443  INTEGER(INTG), INTENT(IN) :: elementNumber
9444  INTEGER(INTG), INTENT(IN) :: componentNumber
9445  INTEGER(INTG), INTENT(IN) :: variableType
9446  REAL(DP), INTENT(OUT) :: VALUE
9447  INTEGER(INTG), INTENT(OUT) :: err
9448  !Local variables
9449  TYPE(field_type), POINTER :: FIELD
9450  TYPE(region_type), POINTER :: REGION
9451  TYPE(varying_string) :: localError
9452 
9453  enters("cmfe_AnalyticAnalysis_PercentageErrorGetElementNumber",err,error,*999)
9454 
9455  NULLIFY(region)
9456  NULLIFY(field)
9457  CALL region_user_number_find(regionusernumber,region,err,error,*999)
9458  IF(ASSOCIATED(region)) THEN
9459  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
9460  IF(ASSOCIATED(field)) THEN
9461  CALL analyticanalysis_percentageerrorgetelement(field,variabletype,elementnumber,componentnumber,value,err,error,*999)
9462  ELSE
9463  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
9464  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
9465  CALL flagerror(localerror,err,error,*999)
9466  END IF
9467  ELSE
9468  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
9469  CALL flagerror(localerror,err,error,*999)
9470  END IF
9471 
9472  exits("cmfe_AnalyticAnalysis_PercentageErrorGetElementNumber")
9473  RETURN
9474 999 errors("cmfe_AnalyticAnalysis_PercentageErrorGetElementNumber",err,error)
9475  exits("cmfe_AnalyticAnalysis_PercentageErrorGetElementNumber")
9476  CALL cmfe_handleerror(err,error)
9477  RETURN
9478 
9480 
9481  !
9482  !================================================================================================================================
9483  !
9484 
9486  SUBROUTINE cmfe_analyticanalysis_percentageerrorgetelementobj(field,variableType,elementNumber,componentNumber,VALUE,err)
9487  !DLLEXPORT(cmfe_AnalyticAnalysis_PercentageErrorGetElementObj)
9488 
9489  !Argument variables
9490  TYPE(cmfe_fieldtype), INTENT(IN) :: field
9491  INTEGER(INTG), INTENT(IN) :: elementNumber
9492  INTEGER(INTG), INTENT(IN) :: componentNumber
9493  INTEGER(INTG), INTENT(IN) :: variableType
9494  REAL(DP), INTENT(OUT) :: VALUE
9495  INTEGER(INTG), INTENT(OUT) :: err
9496  !Local variables
9497 
9498  enters("cmfe_AnalyticAnalysis_PercentageErrorGetElementObj",err,error,*999)
9499 
9500  CALL analyticanalysis_percentageerrorgetelement(field%field,variabletype,elementnumber,componentnumber,value,err,error,*999)
9501 
9502  exits("cmfe_AnalyticAnalysis_PercentageErrorGetElementObj")
9503  RETURN
9504 999 errors("cmfe_AnalyticAnalysis_PercentageErrorGetElementObj",err,error)
9505  exits("cmfe_AnalyticAnalysis_PercentageErrorGetElementObj")
9506  CALL cmfe_handleerror(err,error)
9507  RETURN
9508 
9510 
9511 
9512  !
9513  !================================================================================================================================
9514  !
9515 
9517  SUBROUTINE cmfe_analyticanalysis_relativeerrorgetelementnumber(regionUserNumber,fieldUserNumber,variableType,elementNumber, &
9518  & componentnumber,value,err)
9519  !DLLEXPORT(cmfe_AnalyticAnalysis_RelativeErrorGetElementNumber)
9520 
9521  !Argument variables
9522  INTEGER(INTG), INTENT(IN) :: regionUserNumber
9523  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
9524  INTEGER(INTG), INTENT(IN) :: elementNumber
9525  INTEGER(INTG), INTENT(IN) :: componentNumber
9526  INTEGER(INTG), INTENT(IN) :: variableType
9527  REAL(DP), INTENT(OUT) :: VALUE
9528  INTEGER(INTG), INTENT(OUT) :: err
9529  !Local variables
9530  TYPE(field_type), POINTER :: FIELD
9531  TYPE(region_type), POINTER :: REGION
9532  TYPE(varying_string) :: localError
9533 
9534  enters("cmfe_AnalyticAnalysis_RelativeErrorGetElementNumber",err,error,*999)
9535 
9536  NULLIFY(region)
9537  NULLIFY(field)
9538  CALL region_user_number_find(regionusernumber,region,err,error,*999)
9539  IF(ASSOCIATED(region)) THEN
9540  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
9541  IF(ASSOCIATED(field)) THEN
9542  CALL analyticanalysis_relativeerrorgetelement(field,variabletype,elementnumber,componentnumber,value,err,error,*999)
9543  ELSE
9544  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
9545  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
9546  CALL flagerror(localerror,err,error,*999)
9547  END IF
9548  ELSE
9549  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
9550  CALL flagerror(localerror,err,error,*999)
9551  END IF
9552 
9553  exits("cmfe_AnalyticAnalysis_RelativeErrorGetElementNumber")
9554  RETURN
9555 999 errors("cmfe_AnalyticAnalysis_RelativeErrorGetElementNumber",err,error)
9556  exits("cmfe_AnalyticAnalysis_RelativeErrorGetElementNumber")
9557  CALL cmfe_handleerror(err,error)
9558  RETURN
9559 
9561 
9562  !
9563  !================================================================================================================================
9564  !
9565 
9567  SUBROUTINE cmfe_analyticanalysis_relativeerrorgetelementobj(field,variableType,elementNumber,componentNumber,VALUE,err)
9568  !DLLEXPORT(cmfe_AnalyticAnalysis_RelativeErrorGetElementObj)
9569 
9570  !Argument variables
9571  TYPE(cmfe_fieldtype), INTENT(IN) :: field
9572  INTEGER(INTG), INTENT(IN) :: elementNumber
9573  INTEGER(INTG), INTENT(IN) :: componentNumber
9574  INTEGER(INTG), INTENT(IN) :: variableType
9575  REAL(DP), INTENT(OUT) :: value
9576  INTEGER(INTG), INTENT(OUT) :: err
9577  !Local variables
9578 
9579  enters("cmfe_AnalyticAnalysis_RelativeErrorGetElementObj",err,error,*999)
9580 
9581  CALL analyticanalysis_relativeerrorgetelement(field%field,variabletype,elementnumber,componentnumber,value,err,error,*999)
9582 
9583  exits("cmfe_AnalyticAnalysis_RelativeErrorGetElementObj")
9584  RETURN
9585 999 errors("cmfe_AnalyticAnalysis_RelativeErrorGetElementObj",err,error)
9586  exits("cmfe_AnalyticAnalysis_RelativeErrorGetElementObj")
9587  CALL cmfe_handleerror(err,error)
9588  RETURN
9589 
9591 
9592  !
9593  !================================================================================================================================
9594  !
9595 
9597  SUBROUTINE cmfe_analyticanalysis_absoluteerrorgetconstantnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber, &
9598  & value,err)
9599  !DLLEXPORT(cmfe_AnalyticAnalysis_AbsoluteErrorGetConstantNumber)
9600 
9601  !Argument variables
9602  INTEGER(INTG), INTENT(IN) :: regionUserNumber
9603  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
9604  INTEGER(INTG), INTENT(IN) :: componentNumber
9605  INTEGER(INTG), INTENT(IN) :: variableType
9606  REAL(DP), INTENT(OUT) :: VALUE
9607  INTEGER(INTG), INTENT(OUT) :: err
9608  !Local variables
9609  TYPE(field_type), POINTER :: FIELD
9610  TYPE(region_type), POINTER :: REGION
9611  TYPE(varying_string) :: localError
9612 
9613  enters("cmfe_AnalyticAnalysis_AbsoluteErrorGetConstantNumber",err,error,*999)
9614 
9615  NULLIFY(region)
9616  NULLIFY(field)
9617  CALL region_user_number_find(regionusernumber,region,err,error,*999)
9618  IF(ASSOCIATED(region)) THEN
9619  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
9620  IF(ASSOCIATED(field)) THEN
9621  CALL analyticanalysis_absoluteerrorgetconstant(field,variabletype,componentnumber,value,err,error,*999)
9622  ELSE
9623  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
9624  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
9625  CALL flagerror(localerror,err,error,*999)
9626  END IF
9627  ELSE
9628  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
9629  CALL flagerror(localerror,err,error,*999)
9630  END IF
9631 
9632  exits("cmfe_AnalyticAnalysis_AbsoluteErrorGetConstantNumber")
9633  RETURN
9634 999 errors("cmfe_AnalyticAnalysis_AbsoluteErrorGetConstantNumber",err,error)
9635  exits("cmfe_AnalyticAnalysis_AbsoluteErrorGetConstantNumber")
9636  CALL cmfe_handleerror(err,error)
9637  RETURN
9638 
9640 
9641  !
9642  !================================================================================================================================
9643  !
9644 
9646  SUBROUTINE cmfe_analyticanalysis_absoluteerrorgetconstantobj(field,variableType,componentNumber,VALUE,err)
9647  !DLLEXPORT(cmfe_AnalyticAnalysis_AbsoluteErrorGetConstantObj)
9648 
9649  !Argument variables
9650  TYPE(cmfe_fieldtype), INTENT(IN) :: field
9651  INTEGER(INTG), INTENT(IN) :: componentNumber
9652  INTEGER(INTG), INTENT(IN) :: variableType
9653  REAL(DP), INTENT(OUT) :: VALUE
9654  INTEGER(INTG), INTENT(OUT) :: err
9655  !Local variables
9656 
9657  enters("cmfe_AnalyticAnalysis_AbsoluteErrorGetConstantObj",err,error,*999)
9658 
9659  CALL analyticanalysis_absoluteerrorgetconstant(field%field,variabletype,componentnumber,value,err,error,*999)
9660 
9661  exits("cmfe_AnalyticAnalysis_AbsoluteErrorGetConstantObj")
9662  RETURN
9663 999 errors("cmfe_AnalyticAnalysis_AbsoluteErrorGetConstantObj",err,error)
9664  exits("cmfe_AnalyticAnalysis_AbsoluteErrorGetConstantObj")
9665  CALL cmfe_handleerror(err,error)
9666  RETURN
9667 
9669 
9670  !
9671  !================================================================================================================================
9672  !
9673 
9675  SUBROUTINE cmfe_analyticanalysis_percentageerrorgetconstantnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber, &
9676  & value,err)
9677  !DLLEXPORT(cmfe_AnalyticAnalysis_PercentageErrorGetConstantNumber)
9678 
9679  !Argument variables
9680  INTEGER(INTG), INTENT(IN) :: regionUserNumber
9681  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
9682  INTEGER(INTG), INTENT(IN) :: componentNumber
9683  INTEGER(INTG), INTENT(IN) :: variableType
9684  REAL(DP), INTENT(OUT) :: VALUE
9685  INTEGER(INTG), INTENT(OUT) :: err
9686  !Local variables
9687  TYPE(field_type), POINTER :: FIELD
9688  TYPE(region_type), POINTER :: REGION
9689  TYPE(varying_string) :: localError
9690 
9691  enters("cmfe_AnalyticAnalysis_PercentageErrorGetConstantNumber",err,error,*999)
9692 
9693  NULLIFY(region)
9694  NULLIFY(field)
9695  CALL region_user_number_find(regionusernumber,region,err,error,*999)
9696  IF(ASSOCIATED(region)) THEN
9697  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
9698  IF(ASSOCIATED(field)) THEN
9699  CALL analyticanalysis_percentageerrorgetconstant(field,variabletype,componentnumber,value,err,error,*999)
9700  ELSE
9701  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
9702  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
9703  CALL flagerror(localerror,err,error,*999)
9704  END IF
9705  ELSE
9706  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
9707  CALL flagerror(localerror,err,error,*999)
9708  END IF
9709 
9710  exits("cmfe_AnalyticAnalysis_PercentageErrorGetConstantNumber")
9711  RETURN
9712 999 errors("cmfe_AnalyticAnalysis_PercentageErrorGetConstantNumber",err,error)
9713  exits("cmfe_AnalyticAnalysis_PercentageErrorGetConstantNumber")
9714  CALL cmfe_handleerror(err,error)
9715  RETURN
9716 
9718 
9719  !
9720  !================================================================================================================================
9721  !
9722 
9724  SUBROUTINE cmfe_analyticanalysis_percentageerrorgetconstantobj(field,variableType,componentNumber,VALUE,err)
9725  !DLLEXPORT(cmfe_AnalyticAnalysis_PercentageErrorGetConstantObj)
9726 
9727  !Argument variables
9728  TYPE(cmfe_fieldtype), INTENT(IN) :: field
9729  INTEGER(INTG), INTENT(IN) :: componentNumber
9730  INTEGER(INTG), INTENT(IN) :: variableType
9731  REAL(DP), INTENT(OUT) :: VALUE
9732  INTEGER(INTG), INTENT(OUT) :: err
9733  !Local variables
9734 
9735  enters("cmfe_AnalyticAnalysis_PercentageErrorGetConstantObj",err,error,*999)
9736 
9737  CALL analyticanalysis_percentageerrorgetconstant(field%field,variabletype,componentnumber,value,err,error,*999)
9738 
9739  exits("cmfe_AnalyticAnalysis_PercentageErrorGetConstantObj")
9740  RETURN
9741 999 errors("cmfe_AnalyticAnalysis_PercentageErrorGetConstantObj",err,error)
9742  exits("cmfe_AnalyticAnalysis_PercentageErrorGetConstantObj")
9743  CALL cmfe_handleerror(err,error)
9744  RETURN
9745 
9747 
9748 
9749  !
9750  !================================================================================================================================
9751  !
9752 
9754  SUBROUTINE cmfe_analyticanalysis_relativeerrorgetconstantnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber, &
9755  & value,err)
9756  !DLLEXPORT(cmfe_AnalyticAnalysis_RelativeErrorGetConstantNumber)
9757 
9758  !Argument variables
9759  INTEGER(INTG), INTENT(IN) :: regionUserNumber
9760  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
9761  INTEGER(INTG), INTENT(IN) :: componentNumber
9762  INTEGER(INTG), INTENT(IN) :: variableType
9763  REAL(DP), INTENT(OUT) :: VALUE
9764  INTEGER(INTG), INTENT(OUT) :: err
9765  !Local variables
9766  TYPE(field_type), POINTER :: FIELD
9767  TYPE(region_type), POINTER :: REGION
9768  TYPE(varying_string) :: localError
9769 
9770  enters("cmfe_AnalyticAnalysis_RelativeErrorGetConstantNumber",err,error,*999)
9771 
9772  NULLIFY(region)
9773  NULLIFY(field)
9774  CALL region_user_number_find(regionusernumber,region,err,error,*999)
9775  IF(ASSOCIATED(region)) THEN
9776  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
9777  IF(ASSOCIATED(field)) THEN
9778  CALL analyticanalysis_relativeerrorgetconstant(field,variabletype,componentnumber,value,err,error,*999)
9779  ELSE
9780  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
9781  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
9782  CALL flagerror(localerror,err,error,*999)
9783  END IF
9784  ELSE
9785  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
9786  CALL flagerror(localerror,err,error,*999)
9787  END IF
9788 
9789  exits("cmfe_AnalyticAnalysis_RelativeErrorGetConstantNumber")
9790  RETURN
9791 999 errors("cmfe_AnalyticAnalysis_RelativeErrorGetConstantNumber",err,error)
9792  exits("cmfe_AnalyticAnalysis_RelativeErrorGetConstantNumber")
9793  CALL cmfe_handleerror(err,error)
9794  RETURN
9795 
9797 
9798  !
9799  !================================================================================================================================
9800  !
9801 
9803  SUBROUTINE cmfe_analyticanalysis_relativeerrorgetconstantobj(field,variableType,componentNumber,VALUE,err)
9804  !DLLEXPORT(cmfe_AnalyticAnalysis_RelativeErrorGetConstantObj)
9805 
9806  !Argument variables
9807  TYPE(cmfe_fieldtype), INTENT(IN) :: field
9808  INTEGER(INTG), INTENT(IN) :: componentNumber
9809  INTEGER(INTG), INTENT(IN) :: variableType
9810  REAL(DP), INTENT(OUT) :: VALUE
9811  INTEGER(INTG), INTENT(OUT) :: err
9812  !Local variables
9813 
9814  enters("cmfe_AnalyticAnalysis_RelativeErrorGetConstantObj",err,error,*999)
9815 
9816  CALL analyticanalysis_relativeerrorgetconstant(field%field,variabletype,componentnumber,value,err,error,*999)
9817 
9818  exits("cmfe_AnalyticAnalysis_RelativeErrorGetConstantObj")
9819  RETURN
9820 999 errors("cmfe_AnalyticAnalysis_RelativeErrorGetConstantObj",err,error)
9821  exits("cmfe_AnalyticAnalysis_RelativeErrorGetConstantObj")
9822  CALL cmfe_handleerror(err,error)
9823  RETURN
9824 
9826 
9827  !
9828  !================================================================================================================================
9829  !
9830 
9832  SUBROUTINE cmfe_analyticanalysis_rmserrorgetnodenumber(regionUserNumber,fieldUserNumber,variableType,componentNumber,errorType, &
9833  & localvalue,localghostvalue,globalvalue,err)
9834  !DLLEXPORT(cmfe_AnalyticAnalysis_RMSErrorGetNodeNumber)
9835 
9836  !Argument variables
9837  INTEGER(INTG), INTENT(IN) :: regionUserNumber
9838  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
9839  INTEGER(INTG), INTENT(IN) :: componentNumber
9840  INTEGER(INTG), INTENT(IN) :: variableType
9841  INTEGER(INTG), INTENT(IN) :: errorType
9842  REAL(DP), INTENT(OUT) :: localValue(8)
9843  REAL(DP), INTENT(OUT) :: localGhostValue(8)
9844  REAL(DP), INTENT(OUT) :: globalValue(8)
9845  INTEGER(INTG), INTENT(OUT) :: err
9846  !Local variables
9847  TYPE(field_type), POINTER :: FIELD
9848  TYPE(region_type), POINTER :: REGION
9849  TYPE(varying_string) :: localError
9850 
9851  enters("cmfe_AnalyticAnalysis_RMSErrorGetNodeNumber",err,error,*999)
9852 
9853  NULLIFY(region)
9854  NULLIFY(field)
9855  CALL region_user_number_find(regionusernumber,region,err,error,*999)
9856  IF(ASSOCIATED(region)) THEN
9857  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
9858  IF(ASSOCIATED(field)) THEN
9859  CALL analyticanalysis_rmserrorgetnode(field,variabletype,componentnumber,errortype,localvalue,localghostvalue, &
9860  & globalvalue,err,error,*999)
9861  ELSE
9862  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
9863  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
9864  CALL flagerror(localerror,err,error,*999)
9865  END IF
9866  ELSE
9867  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
9868  CALL flagerror(localerror,err,error,*999)
9869  END IF
9870 
9871  exits("cmfe_AnalyticAnalysis_RMSErrorGetNodeNumber")
9872  RETURN
9873 999 errorsexits("cmfe_AnalyticAnalysis_RMSErrorGetNodeNumber",err,error)
9874  CALL cmfe_handleerror(err,error)
9875  RETURN
9876 
9878 
9879  !
9880  !================================================================================================================================
9881  !
9882 
9884  SUBROUTINE cmfe_analyticanalysis_rmserrorgetnodeobj(field,variableType,componentNumber,errorType,localValue,localGhostValue, &
9885  & globalvalue,err)
9886  !DLLEXPORT(cmfe_AnalyticAnalysis_RMSErrorGetNodeObj)
9887 
9888  !Argument variables
9889  TYPE(cmfe_fieldtype), INTENT(IN) :: field
9890  INTEGER(INTG), INTENT(IN) :: componentNumber
9891  INTEGER(INTG), INTENT(IN) :: variableType
9892  INTEGER(INTG), INTENT(IN) :: errorType
9893  REAL(DP), INTENT(OUT) :: localValue(8)
9894  REAL(DP), INTENT(OUT) :: localGhostValue(8)
9895  REAL(DP), INTENT(OUT) :: globalValue(8)
9896  INTEGER(INTG), INTENT(OUT) :: err
9897  !Local variables
9898 
9899  enters("cmfe_AnalyticAnalysis_RMSErrorGetNodeObj",err,error,*999)
9900 
9901  CALL analyticanalysis_rmserrorgetnode(field%field,variabletype,componentnumber,errortype,localvalue,localghostvalue, &
9902  & globalvalue,err,error,*999)
9903 
9904  exits("cmfe_AnalyticAnalysis_RMSErrorGetNodeObj")
9905  RETURN
9906 999 errorsexits("cmfe_AnalyticAnalysis_RMSErrorGetNodeObj",err,error)
9907  CALL cmfe_handleerror(err,error)
9908  RETURN
9909 
9911 
9912  !
9913  !================================================================================================================================
9914  !
9915 
9917  SUBROUTINE cmfe_analyticanalysis_rmserrorgetelementnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber, &
9918  & errortype,localvalue,localghostvalue,globalvalue,err)
9919  !DLLEXPORT(cmfe_AnalyticAnalysis_RMSErrorGetElementNumber)
9920 
9921  !Argument variables
9922  INTEGER(INTG), INTENT(IN) :: regionUserNumber
9923  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
9924  INTEGER(INTG), INTENT(IN) :: componentNumber
9925  INTEGER(INTG), INTENT(IN) :: variableType
9926  INTEGER(INTG), INTENT(IN) :: errorType
9927  REAL(DP), INTENT(OUT) :: localValue
9928  REAL(DP), INTENT(OUT) :: localGhostValue
9929  REAL(DP), INTENT(OUT) :: globalValue
9930  INTEGER(INTG), INTENT(OUT) :: err
9931  !Local variables
9932  TYPE(field_type), POINTER :: FIELD
9933  TYPE(region_type), POINTER :: REGION
9934  TYPE(varying_string) :: localError
9935 
9936  enters("cmfe_AnalyticAnalysis_RMSErrorGetElementNumber",err,error,*999)
9937 
9938  NULLIFY(region)
9939  NULLIFY(field)
9940  CALL region_user_number_find(regionusernumber,region,err,error,*999)
9941  IF(ASSOCIATED(region)) THEN
9942  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
9943  IF(ASSOCIATED(field)) THEN
9944  CALL analyticanalysis_rmserrorgetelement(field,variabletype,componentnumber,errortype,localvalue,localghostvalue, &
9945  & globalvalue,err,error,*999)
9946  ELSE
9947  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
9948  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
9949  CALL flagerror(localerror,err,error,*999)
9950  END IF
9951  ELSE
9952  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
9953  CALL flagerror(localerror,err,error,*999)
9954  END IF
9955 
9956  exits("cmfe_AnalyticAnalysis_RMSErrorGetElementNumber")
9957  RETURN
9958 999 errors("cmfe_AnalyticAnalysis_RMSErrorGetElementNumber",err,error)
9959  exits("cmfe_AnalyticAnalysis_RMSErrorGetElementNumber")
9960  CALL cmfe_handleerror(err,error)
9961  RETURN
9962 
9964 
9965  !
9966  !================================================================================================================================
9967  !
9968 
9970  SUBROUTINE cmfe_analyticanalysis_rmserrorgetelementobj(field,variableType,componentNumber,errorType,localValue,localGhostValue, &
9971  & globalvalue,err)
9972  !DLLEXPORT(cmfe_AnalyticAnalysis_RMSErrorGetElementObj)
9973 
9974  !Argument variables
9975  TYPE(cmfe_fieldtype), INTENT(IN) :: field
9976  INTEGER(INTG), INTENT(IN) :: componentNumber
9977  INTEGER(INTG), INTENT(IN) :: variableType
9978  INTEGER(INTG), INTENT(IN) :: errorType
9979  REAL(DP), INTENT(OUT) :: localValue
9980  REAL(DP), INTENT(OUT) :: localGhostValue
9981  REAL(DP), INTENT(OUT) :: globalValue
9982  INTEGER(INTG), INTENT(OUT) :: err
9983  !Local variables
9984 
9985  enters("cmfe_AnalyticAnalysis_RMSErrorGetNodeObj",err,error,*999)
9986 
9987  CALL analyticanalysis_rmserrorgetelement(field%field,variabletype,componentnumber,errortype,localvalue,localghostvalue, &
9988  & globalvalue,err,error,*999)
9989 
9990  exits("cmfe_AnalyticAnalysis_RMSErrorGetElementObj")
9991  RETURN
9992 999 errorsexits("cmfe_AnalyticAnalysis_RMSErrorGetElementObj",err,error)
9993  CALL cmfe_handleerror(err,error)
9994  RETURN
9995 
9997 
9998  !
9999  !================================================================================================================================
10000  !
10001 
10003  SUBROUTINE cmfe_analyticanalysis_integralnumericalvaluegetnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber, &
10004  & integralvalue,ghostintegralvalue,err)
10005  !DLLEXPORT(cmfe_AnalyticAnalysis_IntegralNumericalValueGetNumber)
10006 
10007  !Argument variables
10008  INTEGER(INTG), INTENT(IN) :: regionUserNumber
10009  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
10010  INTEGER(INTG), INTENT(IN) :: componentNumber
10011  INTEGER(INTG), INTENT(IN) :: variableType
10012  REAL(DP), INTENT(OUT) :: integralValue(2)
10013  REAL(DP), INTENT(OUT) :: ghostIntegralValue(2)
10014  INTEGER(INTG), INTENT(OUT) :: err
10015  !Local variables
10016  TYPE(field_type), POINTER :: FIELD
10017  TYPE(region_type), POINTER :: REGION
10018  TYPE(varying_string) :: localError
10019 
10020  enters("cmfe_AnalyticAnalysis_IntegralNumericalValueGetNumber",err,error,*999)
10021 
10022  NULLIFY(region)
10023  NULLIFY(field)
10024  CALL region_user_number_find(regionusernumber,region,err,error,*999)
10025  IF(ASSOCIATED(region)) THEN
10026  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
10027  IF(ASSOCIATED(field)) THEN
10028  CALL analyticanalysis_integralnumericalvalueget(field,variabletype,componentnumber,integralvalue,ghostintegralvalue, &
10029  & err,error,*999)
10030  ELSE
10031  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
10032  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
10033  CALL flagerror(localerror,err,error,*999)
10034  END IF
10035  ELSE
10036  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
10037  CALL flagerror(localerror,err,error,*999)
10038  END IF
10039 
10040  exits("cmfe_AnalyticAnalysis_IntegralNumericalValueGetNumber")
10041  RETURN
10042 999 errors("cmfe_AnalyticAnalysis_IntegralNumericalValueGetNumber",err,error)
10043  exits("cmfe_AnalyticAnalysis_IntegralNumericalValueGetNumber")
10044  CALL cmfe_handleerror(err,error)
10045  RETURN
10046 
10048 
10049  !
10050  !================================================================================================================================
10051  !
10052 
10054  SUBROUTINE cmfe_analyticanalysis_integralnumericalvaluegetobj(field,variableType,componentNumber,integralValue, &
10055  & ghostintegralvalue,err)
10056  !DLLEXPORT(cmfe_AnalyticAnalysis_IntegralNumericalValueGetObj)
10057 
10058  !Argument variables
10059  TYPE(cmfe_fieldtype), INTENT(IN) :: field
10060  INTEGER(INTG), INTENT(IN) :: componentNumber
10061  INTEGER(INTG), INTENT(IN) :: variableType
10062  REAL(DP), INTENT(OUT) :: integralValue(2)
10063  REAL(DP), INTENT(OUT) :: ghostIntegralValue(2)
10064  INTEGER(INTG), INTENT(OUT) :: err
10065  !Local variables
10066 
10067  enters("cmfe_AnalyticAnalysis_IntegralNumericalValueGetObj",err,error,*999)
10068 
10069  CALL analyticanalysis_integralnumericalvalueget(field%field,variabletype,componentnumber,integralvalue,ghostintegralvalue, &
10070  & err,error,*999)
10071 
10072  exits("cmfe_AnalyticAnalysis_IntegralNumericalValueGetObj")
10073  RETURN
10074 999 errors("cmfe_AnalyticAnalysis_IntegralNumericalValueGetObj",err,error)
10075  exits("cmfe_AnalyticAnalysis_IntegralNumericalValueGetObj")
10076  CALL cmfe_handleerror(err,error)
10077  RETURN
10078 
10080 
10081  !
10082  !================================================================================================================================
10083  !
10084 
10086  SUBROUTINE cmfe_analyticanalysis_integralanalyticvaluegetnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber, &
10087  & integralvalue,ghostintegralvalue,err)
10088  !DLLEXPORT(cmfe_AnalyticAnalysis_IntegralAnalyticValueGetNumber)
10089 
10090  !Argument variables
10091  INTEGER(INTG), INTENT(IN) :: regionUserNumber
10092  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
10093  INTEGER(INTG), INTENT(IN) :: componentNumber
10094  INTEGER(INTG), INTENT(IN) :: variableType
10095  REAL(DP), INTENT(OUT) :: integralValue(2)
10096  REAL(DP), INTENT(OUT) :: ghostIntegralValue(2)
10097  INTEGER(INTG), INTENT(OUT) :: err
10098  !Local variables
10099  TYPE(field_type), POINTER :: FIELD
10100  TYPE(region_type), POINTER :: REGION
10101  TYPE(varying_string) :: localError
10102 
10103  enters("cmfe_AnalyticAnalysis_IntegralAnalyticValueGetNumber",err,error,*999)
10104 
10105  NULLIFY(region)
10106  NULLIFY(field)
10107  CALL region_user_number_find(regionusernumber,region,err,error,*999)
10108  IF(ASSOCIATED(region)) THEN
10109  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
10110  IF(ASSOCIATED(field)) THEN
10111  CALL analyticanalysis_integralanalyticvalueget(field,variabletype,componentnumber,integralvalue,ghostintegralvalue, &
10112  & err,error,*999)
10113  ELSE
10114  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
10115  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
10116  CALL flagerror(localerror,err,error,*999)
10117  END IF
10118  ELSE
10119  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
10120  CALL flagerror(localerror,err,error,*999)
10121  END IF
10122 
10123  exits("cmfe_AnalyticAnalysis_IntegralAnalyticValueGetNumber")
10124  RETURN
10125 999 errors("cmfe_AnalyticAnalysis_IntegralAnalyticValueGetNumber",err,error)
10126  exits("cmfe_AnalyticAnalysis_IntegralAnalyticValueGetNumber")
10127  CALL cmfe_handleerror(err,error)
10128  RETURN
10129 
10131 
10132  !
10133  !================================================================================================================================
10134  !
10135 
10137  SUBROUTINE cmfe_analyticanalysis_integralanalyticvaluegetobj(field,variableType,componentNumber,integralValue, &
10138  & ghostintegralvalue,err)
10139  !DLLEXPORT(cmfe_AnalyticAnalysis_IntegralAnalyticValueGetObj)
10140 
10141  !Argument variables
10142  TYPE(cmfe_fieldtype), INTENT(IN) :: field
10143  INTEGER(INTG), INTENT(IN) :: componentNumber
10144  INTEGER(INTG), INTENT(IN) :: variableType
10145  REAL(DP), INTENT(OUT) :: integralValue(2)
10146  REAL(DP), INTENT(OUT) :: ghostIntegralValue(2)
10147  INTEGER(INTG), INTENT(OUT) :: err
10148  !Local variables
10149 
10150  enters("cmfe_AnalyticAnalysis_IntegralAnalyticValueGetObj",err,error,*999)
10151 
10152  CALL analyticanalysis_integralanalyticvalueget(field%field,variabletype,componentnumber,integralvalue,ghostintegralvalue, &
10153  & err,error,*999)
10154 
10155  exits("cmfe_AnalyticAnalysis_IntegralAnalyticValueGetObj")
10156  RETURN
10157 999 errors("cmfe_AnalyticAnalysis_IntegralAnalyticValueGetObj",err,error)
10158  exits("cmfe_AnalyticAnalysis_IntegralAnalyticValueGetObj")
10159  CALL cmfe_handleerror(err,error)
10160  RETURN
10161 
10163 
10164  !
10165  !================================================================================================================================
10166  !
10167 
10169  SUBROUTINE cmfe_analyticanalysis_integralpercentageerrorgetnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber, &
10170  & integralvalue,ghostintegralvalue,err)
10171  !DLLEXPORT(cmfe_AnalyticAnalysis_IntegralPercentageErrorGetNumber)
10172 
10173  !Argument variables
10174  INTEGER(INTG), INTENT(IN) :: regionUserNumber
10175  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
10176  INTEGER(INTG), INTENT(IN) :: componentNumber
10177  INTEGER(INTG), INTENT(IN) :: variableType
10178  REAL(DP), INTENT(OUT) :: integralValue(2)
10179  REAL(DP), INTENT(OUT) :: ghostIntegralValue(2)
10180  INTEGER(INTG), INTENT(OUT) :: err
10181  !Local variables
10182  TYPE(field_type), POINTER :: FIELD
10183  TYPE(region_type), POINTER :: REGION
10184  TYPE(varying_string) :: localError
10185 
10186  enters("cmfe_AnalyticAnalysis_IntegralPercentageErrorGetNumber",err,error,*999)
10187 
10188  NULLIFY(region)
10189  NULLIFY(field)
10190  CALL region_user_number_find(regionusernumber,region,err,error,*999)
10191  IF(ASSOCIATED(region)) THEN
10192  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
10193  IF(ASSOCIATED(field)) THEN
10194  CALL analyticanalysis_integralpercentageerrorget(field,variabletype,componentnumber,integralvalue,ghostintegralvalue, &
10195  & err,error,*999)
10196  ELSE
10197  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
10198  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
10199  CALL flagerror(localerror,err,error,*999)
10200  END IF
10201  ELSE
10202  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
10203  CALL flagerror(localerror,err,error,*999)
10204  END IF
10205 
10206  exits("cmfe_AnalyticAnalysis_IntegralPercentageErrorGetNumber")
10207  RETURN
10208 999 errors("cmfe_AnalyticAnalysis_IntegralPercentageErrorGetNumber",err,error)
10209  exits("cmfe_AnalyticAnalysis_IntegralPercentageErrorGetNumber")
10210  CALL cmfe_handleerror(err,error)
10211  RETURN
10212 
10214 
10215  !
10216  !================================================================================================================================
10217  !
10218 
10220  SUBROUTINE cmfe_analyticanalysis_integralpercentageerrorgetobj(field,variableType,componentNumber,integralValue, &
10221  & ghostintegralvalue,err)
10222  !DLLEXPORT(cmfe_AnalyticAnalysis_IntegralPercentageErrorGetObj)
10223 
10224  !Argument variables
10225  TYPE(cmfe_fieldtype), INTENT(IN) :: field
10226  INTEGER(INTG), INTENT(IN) :: componentNumber
10227  INTEGER(INTG), INTENT(IN) :: variableType
10228  REAL(DP), INTENT(OUT) :: integralValue(2)
10229  REAL(DP), INTENT(OUT) :: ghostIntegralValue(2)
10230  INTEGER(INTG), INTENT(OUT) :: err
10231  !Local variables
10232 
10233  enters("cmfe_AnalyticAnalysis_IntegralPercentageErrorGetObj",err,error,*999)
10234 
10235  CALL analyticanalysis_integralpercentageerrorget(field%field,variabletype,componentnumber,integralvalue, &
10236  & ghostintegralvalue,err,error,*999)
10237 
10238  exits("cmfe_AnalyticAnalysis_IntegralPercentageErrorGetObj")
10239  RETURN
10240 999 errors("cmfe_AnalyticAnalysis_IntegralPercentageErrorGetObj",err,error)
10241  exits("cmfe_AnalyticAnalysis_IntegralPercentageErrorGetObj")
10242  CALL cmfe_handleerror(err,error)
10243  RETURN
10244 
10246 
10247  !
10248  !================================================================================================================================
10249  !
10250 
10252  SUBROUTINE cmfe_analyticanalysis_integralabsoluteerrorgetnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber, &
10253  & integralvalue,ghostintegralvalue,err)
10254  !DLLEXPORT(cmfe_AnalyticAnalysis_IntegralAbsoluteErrorGetNumber)
10255 
10256  !Argument variables
10257  INTEGER(INTG), INTENT(IN) :: regionUserNumber
10258  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
10259  INTEGER(INTG), INTENT(IN) :: componentNumber
10260  INTEGER(INTG), INTENT(IN) :: variableType
10261  REAL(DP), INTENT(OUT) :: integralValue(2)
10262  REAL(DP), INTENT(OUT) :: ghostIntegralValue(2)
10263  INTEGER(INTG), INTENT(OUT) :: err
10264  !Local variables
10265  TYPE(field_type), POINTER :: FIELD
10266  TYPE(region_type), POINTER :: REGION
10267  TYPE(varying_string) :: localError
10268 
10269  enters("cmfe_AnalyticAnalysis_IntegralAbsoluteErrorGetNumber",err,error,*999)
10270 
10271  NULLIFY(region)
10272  NULLIFY(field)
10273  CALL region_user_number_find(regionusernumber,region,err,error,*999)
10274  IF(ASSOCIATED(region)) THEN
10275  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
10276  IF(ASSOCIATED(field)) THEN
10277  CALL analyticanalysis_integralabsoluteerrorget(field,variabletype,componentnumber,integralvalue,ghostintegralvalue, &
10278  & err,error,*999)
10279  ELSE
10280  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
10281  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
10282  CALL flagerror(localerror,err,error,*999)
10283  END IF
10284  ELSE
10285  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
10286  CALL flagerror(localerror,err,error,*999)
10287  END IF
10288 
10289  exits("cmfe_AnalyticAnalysis_IntegralAbsoluteErrorGetNumber")
10290  RETURN
10291 999 errors("cmfe_AnalyticAnalysis_IntegralAbsoluteErrorGetNumber",err,error)
10292  exits("cmfe_AnalyticAnalysis_IntegralAbsoluteErrorGetNumber")
10293  CALL cmfe_handleerror(err,error)
10294  RETURN
10295 
10297 
10298  !
10299  !================================================================================================================================
10300  !
10301 
10303  SUBROUTINE cmfe_analyticanalysis_integralabsoluteerrorgetobj(field,variableType,componentNumber,integralValue, &
10304  & ghostintegralvalue,err)
10305  !DLLEXPORT(cmfe_AnalyticAnalysis_IntegralAbsoluteErrorGetObj)
10306 
10307  !Argument variables
10308  TYPE(cmfe_fieldtype), INTENT(IN) :: field
10309  INTEGER(INTG), INTENT(IN) :: componentNumber
10310  INTEGER(INTG), INTENT(IN) :: variableType
10311  REAL(DP), INTENT(OUT) :: integralValue(2)
10312  REAL(DP), INTENT(OUT) :: ghostIntegralValue(2)
10313  INTEGER(INTG), INTENT(OUT) :: err
10314  !Local variables
10315 
10316  enters("cmfe_AnalyticAnalysis_IntegralAbsoluteErrorGetObj",err,error,*999)
10317 
10318  CALL analyticanalysis_integralabsoluteerrorget(field%field,variabletype,componentnumber,integralvalue,ghostintegralvalue, &
10319  & err,error,*999)
10320 
10321  exits("cmfe_AnalyticAnalysis_IntegralAbsoluteErrorGetObj")
10322  RETURN
10323 999 errors("cmfe_AnalyticAnalysis_IntegralAbsoluteErrorGetObj",err,error)
10324  exits("cmfe_AnalyticAnalysis_IntegralAbsoluteErrorGetObj")
10325  CALL cmfe_handleerror(err,error)
10326  RETURN
10327 
10329 
10330  !
10331  !================================================================================================================================
10332  !
10333 
10335  SUBROUTINE cmfe_analyticanalysis_integralrelativeerrorgetnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber, &
10336  & integralvalue,ghostintegralvalue,err)
10337  !DLLEXPORT(cmfe_AnalyticAnalysis_IntegralRelativeErrorGetNumber)
10338 
10339  !Argument variables
10340  INTEGER(INTG), INTENT(IN) :: regionUserNumber
10341  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
10342  INTEGER(INTG), INTENT(IN) :: componentNumber
10343  INTEGER(INTG), INTENT(IN) :: variableType
10344  REAL(DP), INTENT(OUT) :: integralValue(2)
10345  REAL(DP), INTENT(OUT) :: ghostIntegralValue(2)
10346  INTEGER(INTG), INTENT(OUT) :: err
10347  !Local variables
10348  TYPE(field_type), POINTER :: FIELD
10349  TYPE(region_type), POINTER :: REGION
10350  TYPE(varying_string) :: localError
10351 
10352  enters("cmfe_AnalyticAnalysis_IntegralRelativeErrorGetNumber",err,error,*999)
10353 
10354  NULLIFY(region)
10355  NULLIFY(field)
10356  CALL region_user_number_find(regionusernumber,region,err,error,*999)
10357  IF(ASSOCIATED(region)) THEN
10358  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
10359  IF(ASSOCIATED(field)) THEN
10360  CALL analyticanalysis_integralrelativeerrorget(field,variabletype,componentnumber,integralvalue,ghostintegralvalue, &
10361  & err,error,*999)
10362  ELSE
10363  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
10364  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
10365  CALL flagerror(localerror,err,error,*999)
10366  END IF
10367  ELSE
10368  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
10369  CALL flagerror(localerror,err,error,*999)
10370  END IF
10371 
10372  exits("cmfe_AnalyticAnalysis_IntegralRelativeErrorGetNumber")
10373  RETURN
10374 999 errors("cmfe_AnalyticAnalysis_IntegralRelativeErrorGetNumber",err,error)
10375  exits("cmfe_AnalyticAnalysis_IntegralRelativeErrorGetNumber")
10376  CALL cmfe_handleerror(err,error)
10377  RETURN
10378 
10380 
10381  !
10382  !================================================================================================================================
10383  !
10384 
10386  SUBROUTINE cmfe_analyticanalysis_integralrelativeerrorgetobj(field,variableType,componentNumber,integralValue, &
10387  & ghostintegralvalue,err)
10388  !DLLEXPORT(cmfe_AnalyticAnalysis_IntegralRelativeErrorGetObj)
10389 
10390  !Argument variables
10391  TYPE(cmfe_fieldtype), INTENT(IN) :: field
10392  INTEGER(INTG), INTENT(IN) :: componentNumber
10393  INTEGER(INTG), INTENT(IN) :: variableType
10394  REAL(DP), INTENT(OUT) :: integralValue(2)
10395  REAL(DP), INTENT(OUT) :: ghostIntegralValue(2)
10396  INTEGER(INTG), INTENT(OUT) :: err
10397  !Local variables
10398 
10399  enters("cmfe_AnalyticAnalysis_IntegralRelativeErrorGetObj",err,error,*999)
10400 
10401  CALL analyticanalysis_integralrelativeerrorget(field%field,variabletype,componentnumber,integralvalue,ghostintegralvalue, &
10402  & err,error,*999)
10403 
10404  exits("cmfe_AnalyticAnalysis_IntegralRelativeErrorGetObj")
10405  RETURN
10406 999 errors("cmfe_AnalyticAnalysis_IntegralRelativeErrorGetObj",err,error)
10407  exits("cmfe_AnalyticAnalysis_IntegralRelativeErrorGetObj")
10408  CALL cmfe_handleerror(err,error)
10409  RETURN
10410 
10412 
10413  !
10414  !================================================================================================================================
10415  !
10416 
10418  SUBROUTINE cmfe_analyticanalysis_integralnidnumericalvaluegetnumber(regionUserNumber,fieldUserNumber,variableType, &
10419  & componentnumber,integralvalue,ghostintegralvalue,err)
10420  !DLLEXPORT(cmfe_AnalyticAnalysis_IntegralNIDNumericalValueGetNumber)
10421 
10422  !Argument variables
10423  INTEGER(INTG), INTENT(IN) :: regionUserNumber
10424  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
10425  INTEGER(INTG), INTENT(IN) :: componentNumber
10426  INTEGER(INTG), INTENT(IN) :: variableType
10427  REAL(DP), INTENT(OUT) :: integralValue(2)
10428  REAL(DP), INTENT(OUT) :: ghostIntegralValue(2)
10429  INTEGER(INTG), INTENT(OUT) :: err
10430  !Local variables
10431  TYPE(field_type), POINTER :: FIELD
10432  TYPE(region_type), POINTER :: REGION
10433  TYPE(varying_string) :: localError
10434 
10435  enters("cmfe_AnalyticAnalysis_IntegralNIDNumericalValueGetNumber",err,error,*999)
10436 
10437  NULLIFY(region)
10438  NULLIFY(field)
10439  CALL region_user_number_find(regionusernumber,region,err,error,*999)
10440  IF(ASSOCIATED(region)) THEN
10441  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
10442  IF(ASSOCIATED(field)) THEN
10443  CALL analyticanalysis_integralnidnumericalvalueget(field,variabletype,componentnumber,integralvalue, &
10444  & ghostintegralvalue,err,error,*999)
10445  ELSE
10446  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
10447  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
10448  CALL flagerror(localerror,err,error,*999)
10449  END IF
10450  ELSE
10451  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
10452  CALL flagerror(localerror,err,error,*999)
10453  END IF
10454 
10455  exits("cmfe_AnalyticAnalysis_IntegralNIDNumericalValueGetNumber")
10456  RETURN
10457 999 errors("cmfe_AnalyticAnalysis_IntegralNIDNumericalValueGetNumber",err,error)
10458  exits("cmfe_AnalyticAnalysis_IntegralNIDNumericalValueGetNumber")
10459  CALL cmfe_handleerror(err,error)
10460  RETURN
10461 
10463 
10464  !
10465  !================================================================================================================================
10466  !
10467 
10469  SUBROUTINE cmfe_analyticanalysis_integralnidnumericalvaluegetobj(field,variableType,componentNumber,integralValue, &
10470  & ghostintegralvalue,err)
10471  !DLLEXPORT(cmfe_AnalyticAnalysis_IntegralNIDNumericalValueGetObj)
10472 
10473  !Argument variables
10474  TYPE(cmfe_fieldtype), INTENT(IN) :: field
10475  INTEGER(INTG), INTENT(IN) :: componentNumber
10476  INTEGER(INTG), INTENT(IN) :: variableType
10477  REAL(DP), INTENT(OUT) :: integralValue(2)
10478  REAL(DP), INTENT(OUT) :: ghostIntegralValue(2)
10479  INTEGER(INTG), INTENT(OUT) :: err
10480  !Local variables
10481 
10482  enters("cmfe_AnalyticAnalysis_IntegralNidNumericalValueGetObj",err,error,*999)
10483 
10484  CALL analyticanalysis_integralnidnumericalvalueget(field%field,variabletype,componentnumber,integralvalue, &
10485  & ghostintegralvalue,err,error,*999)
10486 
10487  exits("cmfe_AnalyticAnalysis_IntegralNidNumericalValueGetObj")
10488  RETURN
10489 999 errors("cmfe_AnalyticAnalysis_IntegralNidNumericalValueGetObj",err,error)
10490  exits("cmfe_AnalyticAnalysis_IntegralNidNumericalValueGetObj")
10491  CALL cmfe_handleerror(err,error)
10492  RETURN
10493 
10495 
10496  !
10497  !================================================================================================================================
10498  !
10499 
10501  SUBROUTINE cmfe_analyticanalysis_integralniderrorgetnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber, &
10502  & integralvalue,ghostintegralvalue,err)
10503  !DLLEXPORT(cmfe_AnalyticAnalysis_IntegralNIDErrorGetNumber)
10504 
10505  !Argument variables
10506  INTEGER(INTG), INTENT(IN) :: regionUserNumber
10507  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
10508  INTEGER(INTG), INTENT(IN) :: componentNumber
10509  INTEGER(INTG), INTENT(IN) :: variableType
10510  REAL(DP), INTENT(OUT) :: integralValue(2)
10511  REAL(DP), INTENT(OUT) :: ghostIntegralValue(2)
10512  INTEGER(INTG), INTENT(OUT) :: err
10513  !Local variables
10514  TYPE(field_type), POINTER :: FIELD
10515  TYPE(region_type), POINTER :: REGION
10516  TYPE(varying_string) :: localError
10517 
10518  enters("cmfe_AnalyticAnalysis_IntegralNidErrorGetNumber",err,error,*999)
10519 
10520  NULLIFY(region)
10521  NULLIFY(field)
10522  CALL region_user_number_find(regionusernumber,region,err,error,*999)
10523  IF(ASSOCIATED(region)) THEN
10524  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
10525  IF(ASSOCIATED(field)) THEN
10526  CALL analyticanalysis_integralniderrorget(field,variabletype,componentnumber,integralvalue,ghostintegralvalue,err, &
10527  & error,*999)
10528  ELSE
10529  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
10530  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
10531  CALL flagerror(localerror,err,error,*999)
10532  END IF
10533  ELSE
10534  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
10535  CALL flagerror(localerror,err,error,*999)
10536  END IF
10537 
10538  exits("cmfe_AnalyticAnalysis_IntegralNidErrorGetNumber")
10539  RETURN
10540 999 errors("cmfe_AnalyticAnalysis_IntegralNidErrorGetNumber",err,error)
10541  exits("cmfe_AnalyticAnalysis_IntegralNidErrorGetNumber")
10542  CALL cmfe_handleerror(err,error)
10543  RETURN
10544 
10546 
10547  !
10548  !================================================================================================================================
10549  !
10550 
10552  SUBROUTINE cmfe_analyticanalysis_integralniderrorgetobj(field,variableType,componentNumber,integralValue,ghostIntegralValue,err)
10553  !DLLEXPORT(cmfe_AnalyticAnalysis_IntegralNIDErrorGetObj)
10554 
10555  !Argument variables
10556  TYPE(cmfe_fieldtype), INTENT(IN) :: field
10557  INTEGER(INTG), INTENT(IN) :: componentNumber
10558  INTEGER(INTG), INTENT(IN) :: variableType
10559  REAL(DP), INTENT(OUT) :: integralValue(2)
10560  REAL(DP), INTENT(OUT) :: ghostIntegralValue(2)
10561  INTEGER(INTG), INTENT(OUT) :: err
10562  !Local variables
10563 
10564  enters("cmfe_AnalyticAnalysis_IntegralNIDErrorGetObj",err,error,*999)
10565 
10566  CALL analyticanalysis_integralniderrorget(field%field,variabletype,componentnumber,integralvalue,ghostintegralvalue,err, &
10567  & error,*999)
10568 
10569  exits("cmfe_AnalyticAnalysis_IntegralNIDErrorGetObj")
10570  RETURN
10571 999 errors("cmfe_AnalyticAnalysis_IntegralNIDErrorGetObj",err,error)
10572  exits("cmfe_AnalyticAnalysis_IntegralNIDErrorGetObj")
10573  CALL cmfe_handleerror(err,error)
10574  RETURN
10575 
10577 
10578 
10579 !!==================================================================================================================================
10580 !!
10581 !! BASE_ROUTINES
10582 !!
10583 !!==================================================================================================================================
10584 
10586  SUBROUTINE cmfe_diagnosticssetoff(err)
10587  !DLLEXPORT(cmfe_DiagnosticsSetOff)
10588 
10589  !Argument variables
10590  INTEGER(INTG), INTENT(OUT) :: err
10591  !Local variables
10592 
10593  enters("cmfe_DiagnosticsSetOff",err,error,*999)
10594 
10595  CALL diagnostics_set_off(err,error,*999)
10596 
10597  exits("cmfe_DiagnosticsSetOff")
10598  RETURN
10599 999 errorsexits("cmfe_DiagnosticsSetOff",err,error)
10600  CALL cmfe_handleerror(err,error)
10601  RETURN
10602 
10603  END SUBROUTINE cmfe_diagnosticssetoff
10604 
10605  !
10606  !================================================================================================================================
10607  !
10608 
10610  SUBROUTINE cmfe_diagnosticsseton(diagType,levelList,diagFilename,routineList,err)
10611  !DLLEXPORT(cmfe_DiagnosticsSetOn)
10612 
10613  !Argument variables
10614  INTEGER(INTG), INTENT(IN) :: diagType
10615  INTEGER(INTG), INTENT(IN) :: levelList(:)
10616  CHARACTER(LEN=*), INTENT(IN) :: diagFilename
10617  CHARACTER(LEN=*), INTENT(IN) :: routineList(:)
10618  INTEGER(INTG), INTENT(OUT) :: err
10619  !Local variables
10620 
10621  enters("cmfe_DiagnosticsSetOn",err,error,*999)
10622 
10623 #ifdef WITH_DIAGNOSTICS
10624 
10625  CALL diagnostics_set_on(diagtype,levellist,diagfilename,routinelist,err,error,*999)
10626 
10627 #else
10628 
10629  CALL flagwarning("Can not turn diagnostics on as WITH_DIAGNOSTICS is set to OFF. Set WITH_DIAGNOSTICS to ON.",err,error,*999)
10630 
10631 #endif
10632 
10633  exits("cmfe_DiagnosticsSetOn")
10634  RETURN
10635 999 errorsexits("cmfe_DiagnosticsSetOn",err,error)
10636  CALL cmfe_handleerror(err,error)
10637  RETURN
10638 
10639  END SUBROUTINE cmfe_diagnosticsseton
10640 
10641  !
10642  !================================================================================================================================
10643  !
10644 
10646  SUBROUTINE cmfe_outputsetoff(err)
10647  !DLLEXPORT(cmfe_OutputSetOff)
10648 
10649  !Argument variables
10650  INTEGER(INTG), INTENT(OUT) :: err
10651  !Local variables
10652 
10653  enters("cmfe_OutputSetOff",err,error,*999)
10654 
10655  CALL output_set_off(err,error,*999)
10656 
10657  exits("cmfe_OutputSetOff")
10658  RETURN
10659 999 errorsexits("cmfe_OutputSetOff",err,error)
10660  CALL cmfe_handleerror(err,error)
10661  RETURN
10662 
10663  END SUBROUTINE cmfe_outputsetoff
10664 
10665  !
10666  !================================================================================================================================
10667  !
10668 
10670  SUBROUTINE cmfe_outputseton(echoFilename,err)
10671  !DLLEXPORT(cmfe_OutputSetOn)
10672 
10673  !Argument variables
10674  CHARACTER(LEN=*), INTENT(IN) :: echoFilename
10675  INTEGER(INTG), INTENT(OUT) :: err
10676  !Local variables
10677 
10678  enters("cmfe_OutputSetOn",err,error,*999)
10679 
10680  CALL output_set_on(echofilename,err,error,*999)
10681 
10682  exits("cmfe_OutputSetOn")
10683  RETURN
10684 999 errorsexits("cmfe_OutputSetOn",err,error)
10685  CALL cmfe_handleerror(err,error)
10686  RETURN
10687 
10688  END SUBROUTINE cmfe_outputseton
10689 
10690  !
10691  !================================================================================================================================
10692  !
10693 
10695  SUBROUTINE cmfe_timingsetoff(err)
10696  !DLLEXPORT(cmfe_TimingSetOff)
10697 
10698  !Argument variables
10699  INTEGER(INTG), INTENT(OUT) :: err
10700  !Local variables
10701 
10702  enters("cmfe_TimingSetOff",err,error,*999)
10703 
10704  CALL timing_set_off(err,error,*999)
10705 
10706  exits("cmfe_TimingSetOff")
10707  RETURN
10708 999 errorsexits("cmfe_TimingSetOff",err,error)
10709  CALL cmfe_handleerror(err,error)
10710  RETURN
10711 
10712  END SUBROUTINE cmfe_timingsetoff
10713 
10714  !
10715  !================================================================================================================================
10716  !
10717 
10719  SUBROUTINE cmfe_timingseton(timingType,timingSummaryFlag,timingFilename,routineList,err)
10720  !DLLEXPORT(cmfe_TimingSetOn)
10721 
10722  !Argument variables
10723  INTEGER(INTG), INTENT(IN) :: timingType
10724  LOGICAL, INTENT(IN) :: timingSummaryFlag
10725  CHARACTER(LEN=*), INTENT(IN) :: timingFilename
10726  CHARACTER(LEN=*), INTENT(IN) :: routineList(:)
10727  INTEGER(INTG), INTENT(OUT) :: err
10728  !Local variables
10729 
10730  enters("cmfe_TimingSetOn",err,error,*999)
10731 
10732 #ifdef WITH_DIAGNOSTICS
10733 
10734  CALL timing_set_on(timingtype,timingsummaryflag,timingfilename,routinelist,err,error,*999)
10735 
10736 #else
10737 
10738  CALL flagwarning("Can not turn timing on as WITH_DIAGNOSTICS is set to OFF. Set WITH_DIAGNOSTICS to ON.",err,error,*999)
10739 
10740 #endif
10741 
10742  exits("cmfe_TimingSetOn")
10743  RETURN
10744 999 errorsexits("cmfe_TimingSetOn",err,error)
10745  CALL cmfe_handleerror(err,error)
10746  RETURN
10747 
10748  END SUBROUTINE cmfe_timingseton
10749 
10750  !
10751  !================================================================================================================================
10752  !
10753 
10755  SUBROUTINE cmfe_timingsummaryoutput(err)
10756  !DLLEXPORT(cmfe_TimingSummaryOutput)
10757 
10758  !Argument variables
10759  INTEGER(INTG), INTENT(OUT) :: ERR
10760  !Local variables
10761 
10762  enters("cmfe_TimingSummaryOutput",err,error,*999)
10763 
10764  CALL timing_summary_output(err,error,*999)
10765 
10766  exits("cmfe_TimingSummaryOutput")
10767  RETURN
10768 999 errorsexits("cmfe_TimingSummaryOutput",err,error)
10769  RETURN
10770 
10771  END SUBROUTINE cmfe_timingsummaryoutput
10772 
10773 !!==================================================================================================================================
10774 !!
10775 !! BASIS_ROUTINES
10776 !!
10777 !!==================================================================================================================================
10778 
10780  SUBROUTINE cmfe_basis_collapsedxigetnumber(userNumber,collapsedXi,err)
10781  !DLLEXPORT(cmfe_Basis_CollapsedXiGetNumber)
10782 
10783  !Argument variables
10784  INTEGER(INTG), INTENT(IN) :: userNumber
10785  INTEGER(INTG), INTENT(OUT) :: collapsedXi(:)
10786  INTEGER(INTG), INTENT(OUT) :: err
10787  !Local variables
10788  TYPE(basis_type), POINTER :: BASIS
10789  TYPE(varying_string) :: localError
10790 
10791  enters("cmfe_Basis_CollapsedXiGetNumber",err,error,*999)
10792 
10793  NULLIFY(basis)
10794  CALL basis_user_number_find(usernumber,basis,err,error,*999)
10795  IF(ASSOCIATED(basis)) THEN
10796  CALL basis_collapsed_xi_get(basis,collapsedxi,err,error,*999)
10797  ELSE
10798  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
10799  CALL flagerror(localerror,err,error,*999)
10800  END IF
10801 
10802  exits("cmfe_Basis_CollapsedXiGetNumber")
10803  RETURN
10804 999 errorsexits("cmfe_Basis_CollapsedXiGetNumber",err,error)
10805  CALL cmfe_handleerror(err,error)
10806  RETURN
10807 
10808  END SUBROUTINE cmfe_basis_collapsedxigetnumber
10809 
10810  !
10811  !================================================================================================================================
10812  !
10813 
10815  SUBROUTINE cmfe_basis_collapsedxigetobj(basis,collapsedXi,err)
10816  !DLLEXPORT(cmfe_Basis_CollapsedXiGetObj)
10817 
10818  !Argument variables
10819  TYPE(cmfe_basistype), INTENT(IN) :: basis
10820  INTEGER(INTG), INTENT(OUT) :: collapsedXi(:)
10821  INTEGER(INTG), INTENT(OUT) :: err
10822  !Local variables
10823 
10824  enters("cmfe_Basis_CollapsedXiGetObj",err,error,*999)
10825 
10826  CALL basis_collapsed_xi_get(basis%basis,collapsedxi,err,error,*999)
10827 
10828  exits("cmfe_Basis_CollapsedXiGetObj")
10829  RETURN
10830 999 errorsexits("cmfe_Basis_CollapsedXiGetObj",err,error)
10831  CALL cmfe_handleerror(err,error)
10832  RETURN
10833 
10834  END SUBROUTINE cmfe_basis_collapsedxigetobj
10835 
10836  !
10837  !================================================================================================================================
10838  !
10839 
10841  SUBROUTINE cmfe_basis_collapsedxisetnumber(userNumber,collapsedXi,err)
10842  !DLLEXPORT(cmfe_Basis_CollapsedXiSetNumber)
10843 
10844  !Argument variables
10845  INTEGER(INTG), INTENT(IN) :: userNumber
10846  INTEGER(INTG), INTENT(IN) :: collapsedXi(:)
10847  INTEGER(INTG), INTENT(OUT) :: err
10848  !Local variables
10849  TYPE(basis_type), POINTER :: BASIS
10850  TYPE(varying_string) :: localError
10851 
10852  enters("cmfe_Basis_CollapsedXiSetNumber",err,error,*999)
10853 
10854  NULLIFY(basis)
10855  CALL basis_user_number_find(usernumber,basis,err,error,*999)
10856  IF(ASSOCIATED(basis)) THEN
10857  CALL basis_collapsed_xi_set(basis,collapsedxi,err,error,*999)
10858  ELSE
10859  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
10860  CALL flagerror(localerror,err,error,*999)
10861  END IF
10862 
10863  exits("cmfe_Basis_CollapsedXiSetNumber")
10864  RETURN
10865 999 errorsexits("cmfe_Basis_CollapsedXiSetNumber",err,error)
10866  CALL cmfe_handleerror(err,error)
10867  RETURN
10868 
10869  END SUBROUTINE cmfe_basis_collapsedxisetnumber
10870 
10871  !
10872  !================================================================================================================================
10873  !
10874 
10876  SUBROUTINE cmfe_basis_collapsedxisetobj(basis,collapsedXi,err)
10877  !DLLEXPORT(cmfe_Basis_CollapsedXiSetObj)
10878 
10879  !Argument variables
10880  TYPE(cmfe_basistype), INTENT(INOUT) :: basis
10881  INTEGER(INTG), INTENT(IN) :: collapsedXi(:)
10882  INTEGER(INTG), INTENT(OUT) :: err
10883  !Local variables
10884 
10885  enters("cmfe_Basis_CollapsedXiSetObj",err,error,*999)
10886 
10887  CALL basis_collapsed_xi_set(basis%basis,collapsedxi,err,error,*999)
10888 
10889  exits("cmfe_Basis_CollapsedXiSetObj")
10890  RETURN
10891 999 errorsexits("cmfe_Basis_CollapsedXiSetObj",err,error)
10892  CALL cmfe_handleerror(err,error)
10893  RETURN
10894 
10895  END SUBROUTINE cmfe_basis_collapsedxisetobj
10896 
10897  !
10898  !================================================================================================================================
10899  !
10900 
10902  SUBROUTINE cmfe_basis_createfinishnumber(userNumber,err)
10903  !DLLEXPORT(cmfe_Basis_CreateFinishNumber)
10904 
10905  !Argument variables
10906  INTEGER(INTG), INTENT(IN) :: userNumber
10907  INTEGER(INTG), INTENT(OUT) :: err
10908  !Local variables
10909  TYPE(basis_type), POINTER :: BASIS
10910  TYPE(varying_string) :: localError
10911 
10912  enters("cmfe_Basis_CreateFinishNumber",err,error,*999)
10913 
10914  NULLIFY(basis)
10915  CALL basis_user_number_find(usernumber,basis,err,error,*999)
10916  IF(ASSOCIATED(basis)) THEN
10917  CALL basis_create_finish(basis,err,error,*999)
10918  ELSE
10919  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
10920  CALL flagerror(localerror,err,error,*999)
10921  END IF
10922 
10923 #ifdef TAUPROF
10924  CALL tau_static_phase_stop('Basis Create')
10925 #endif
10926 
10927  exits("cmfe_Basis_CreateFinishNumber")
10928  RETURN
10929 999 errorsexits("cmfe_Basis_CreateFinishNumber",err,error)
10930  CALL cmfe_handleerror(err,error)
10931  RETURN
10932 
10933  END SUBROUTINE cmfe_basis_createfinishnumber
10934 
10935  !
10936  !================================================================================================================================
10937  !
10938 
10940  SUBROUTINE cmfe_basis_createfinishobj(basis,err)
10941  !DLLEXPORT(cmfe_Basis_CreateFinishObj)
10942 
10943  !Argument variables
10944  TYPE(cmfe_basistype), INTENT(INOUT) :: basis
10945  INTEGER(INTG), INTENT(OUT) :: err
10946  !Local variables
10947 
10948  enters("cmfe_Basis_CreateFinishObj",err,error,*999)
10949 
10950  CALL basis_create_finish(basis%basis,err,error,*999)
10951 
10952 #ifdef TAUPROF
10953  CALL tau_static_phase_stop('basis Create')
10954 #endif
10955 
10956  exits("cmfe_Basis_CreateFinishObj")
10957  RETURN
10958 999 errorsexits("cmfe_Basis_CreateFinishObj",err,error)
10959  CALL cmfe_handleerror(err,error)
10960  RETURN
10961 
10962  END SUBROUTINE cmfe_basis_createfinishobj
10963 
10964  !
10965  !================================================================================================================================
10966  !
10967 
10969  SUBROUTINE cmfe_basis_createstartnumber(userNumber,err)
10970  !DLLEXPORT(cmfe_Basis_CreateStartNumber)
10971 
10972  !Argument variables
10973  INTEGER(INTG), INTENT(IN) :: userNumber
10974  INTEGER(INTG), INTENT(OUT) :: err
10975  !Local variables
10976  TYPE(basis_type), POINTER :: BASIS
10977 
10978  enters("cmfe_Basis_CreateStartNumber",err,error,*999)
10979 
10980 #ifdef TAUPROF
10981  CALL tau_static_phase_start('Basis Create')
10982 #endif
10983 
10984  NULLIFY(basis)
10985  CALL basis_create_start(usernumber,basis,err,error,*999)
10986 
10987  exits("cmfe_Basis_CreateStartNumber")
10988  RETURN
10989 999 errorsexits("cmfe_Basis_CreateStartNumber",err,error)
10990  CALL cmfe_handleerror(err,error)
10991  RETURN
10992 
10993  END SUBROUTINE cmfe_basis_createstartnumber
10994 
10995  !
10996  !================================================================================================================================
10997  !
10998 
11000  SUBROUTINE cmfe_basis_createstartobj(userNumber,basis,err)
11001  !DLLEXPORT(cmfe_Basis_CreateStartObj)
11002 
11003  !Argument variables
11004  INTEGER(INTG), INTENT(IN) :: userNumber
11005  TYPE(cmfe_basistype), INTENT(INOUT) :: basis
11006  INTEGER(INTG), INTENT(OUT) :: err
11007  !Local variables
11008 
11009  enters("cmfe_Basis_CreateStartObj",err,error,*999)
11010 
11011 #ifdef TAUPROF
11012  CALL tau_static_phase_start('basis Create')
11013 #endif
11014 
11015  CALL basis_create_start(usernumber,basis%basis,err,error,*999)
11016 
11017  exits("cmfe_Basis_CreateStartObj")
11018  RETURN
11019 999 errorsexits("cmfe_Basis_CreateStartObj",err,error)
11020  CALL cmfe_handleerror(err,error)
11021  RETURN
11022 
11023  END SUBROUTINE cmfe_basis_createstartobj
11024 
11025  !
11026  !================================================================================================================================
11027  !
11028 
11030  SUBROUTINE cmfe_basis_destroynumber(userNumber,err)
11031  !DLLEXPORT(cmfe_Basis_DestroyNumber)
11032 
11033  !Argument variables
11034  INTEGER(INTG), INTENT(IN) :: userNumber
11035  INTEGER(INTG), INTENT(OUT) :: err
11036  !Local variables
11037  TYPE(basis_type), POINTER :: BASIS
11038  TYPE(varying_string) :: localError
11039 
11040  enters("cmfe_Basis_DestroyNumber",err,error,*999)
11041 
11042  NULLIFY(basis)
11043  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11044  IF(ASSOCIATED(basis)) THEN
11045  CALL basis_destroy(basis,err,error,*999)
11046  ELSE
11047  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11048  CALL flagerror(localerror,err,error,*999)
11049  END IF
11050 
11051  exits("cmfe_Basis_DestroyNumber")
11052  RETURN
11053 999 errorsexits("cmfe_Basis_DestroyNumber",err,error)
11054  CALL cmfe_handleerror(err,error)
11055  RETURN
11056 
11057  END SUBROUTINE cmfe_basis_destroynumber
11058 
11059  !
11060  !================================================================================================================================
11061  !
11062 
11064  SUBROUTINE cmfe_basis_destroyobj(basis,err)
11065  !DLLEXPORT(cmfe_Basis_DestroyObj)
11066 
11067  !Argument variables
11068  TYPE(cmfe_basistype), INTENT(INOUT) :: basis
11069  INTEGER(INTG), INTENT(OUT) :: err
11070  !Local variables
11071 
11072  enters("cmfe_Basis_DestroyObj",err,error,*999)
11073 
11074  CALL basis_destroy(basis%basis,err,error,*999)
11075 
11076  exits("cmfe_Basis_DestroyObj")
11077  RETURN
11078 999 errorsexits("cmfe_Basis_DestroyObj",err,error)
11079  CALL cmfe_handleerror(err,error)
11080  RETURN
11081 
11082  END SUBROUTINE cmfe_basis_destroyobj
11083 
11084  !
11085  !================================================================================================================================
11086  !
11087 
11089  SUBROUTINE cmfe_basis_interpolationxigetnumber(userNumber,interpolationXi,err)
11090  !DLLEXPORT(cmfe_Basis_InterpolationXiGetNumber)
11091 
11092  !Argument variables
11093  INTEGER(INTG), INTENT(IN) :: userNumber
11094  INTEGER(INTG), INTENT(OUT) :: interpolationXi(:)
11095  INTEGER(INTG), INTENT(OUT) :: err
11096  !Local variables
11097  TYPE(basis_type), POINTER :: BASIS
11098  TYPE(varying_string) :: localError
11099 
11100  enters("cmfe_Basis_InterpolationXiGetNumber",err,error,*999)
11101 
11102  NULLIFY(basis)
11103  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11104  IF(ASSOCIATED(basis)) THEN
11105  CALL basis_interpolation_xi_get(basis,interpolationxi,err,error,*999)
11106  ELSE
11107  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11108  CALL flagerror(localerror,err,error,*999)
11109  END IF
11110 
11111  exits("cmfe_Basis_InterpolationXiGetNumber")
11112  RETURN
11113 999 errorsexits("cmfe_Basis_InterpolationXiGetNumber",err,error)
11114  CALL cmfe_handleerror(err,error)
11115  RETURN
11116 
11118 
11119  !
11120  !================================================================================================================================
11121  !
11122 
11124  SUBROUTINE cmfe_basis_interpolationxigetobj(basis,interpolationXi,err)
11125  !DLLEXPORT(cmfe_Basis_InterpolationXiGetObj)
11126 
11127  !Argument variables
11128  TYPE(cmfe_basistype), INTENT(IN) :: basis
11129  INTEGER(INTG), INTENT(OUT) :: interpolationXi(:)
11130  INTEGER(INTG), INTENT(OUT) :: err
11131  !Local variables
11132 
11133  enters("cmfe_Basis_InterpolationXiGetObj",err,error,*999)
11134 
11135  CALL basis_interpolation_xi_get(basis%basis,interpolationxi,err,error,*999)
11136 
11137  exits("cmfe_Basis_InterpolationXiGetObj")
11138  RETURN
11139 999 errorsexits("cmfe_Basis_InterpolationXiGetObj",err,error)
11140  CALL cmfe_handleerror(err,error)
11141  exits("cmfe_Basis_InterpolationXiGetObj")
11142  RETURN
11143 
11144  END SUBROUTINE cmfe_basis_interpolationxigetobj
11145 
11146  !
11147  !================================================================================================================================
11148  !
11149 
11151  SUBROUTINE cmfe_basis_interpolationxisetnumber(userNumber,interpolationXi,err)
11152  !DLLEXPORT(cmfe_Basis_InterpolationXiSetNumber)
11153 
11154  !Argument variables
11155  INTEGER(INTG), INTENT(IN) :: userNumber
11156  INTEGER(INTG), INTENT(IN) :: interpolationXi(:)
11157  INTEGER(INTG), INTENT(OUT) :: err
11158  !Local variables
11159  TYPE(basis_type), POINTER :: BASIS
11160  TYPE(varying_string) :: localError
11161 
11162  enters("cmfe_Basis_InterpolationXiSetNumber",err,error,*999)
11163 
11164  NULLIFY(basis)
11165  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11166  IF(ASSOCIATED(basis)) THEN
11167  CALL basis_interpolation_xi_set(basis,interpolationxi,err,error,*999)
11168  ELSE
11169  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11170  CALL flagerror(localerror,err,error,*999)
11171  END IF
11172 
11173  exits("cmfe_Basis_InterpolationXiSetNumber")
11174  RETURN
11175 999 errorsexits("cmfe_Basis_InterpolationXiSetNumber",err,error)
11176  CALL cmfe_handleerror(err,error)
11177  RETURN
11178 
11180 
11181  !
11182  !================================================================================================================================
11183  !
11184 
11186  SUBROUTINE cmfe_basis_interpolationxisetobj(basis,interpolationXi,err)
11187  !DLLEXPORT(cmfe_Basis_InterpolationXiSetObj)
11188 
11189  !Argument variables
11190  TYPE(cmfe_basistype), INTENT(IN) :: basis
11191  INTEGER(INTG), INTENT(IN) :: interpolationXi(:)
11192  INTEGER(INTG), INTENT(OUT) :: err
11193  !Local variables
11194 
11195  enters("cmfe_Basis_InterpolationXiSetObj",err,error,*999)
11196 
11197  CALL basis_interpolation_xi_set(basis%basis,interpolationxi,err,error,*999)
11198 
11199  exits("cmfe_Basis_InterpolationXiSetObj")
11200  RETURN
11201 999 errorsexits("cmfe_Basis_InterpolationXiSetObj",err,error)
11202  CALL cmfe_handleerror(err,error)
11203  RETURN
11204 
11205  END SUBROUTINE cmfe_basis_interpolationxisetobj
11206 
11207  !
11208  !================================================================================================================================
11209  !
11210 
11212  SUBROUTINE cmfe_basis_numberoflocalnodesgetnumber(userNumber,numberOfLocalNodes,err)
11213  !DLLEXPORT(cmfe_Basis_NumberOfLocalNodesGetNumber)
11214 
11215  !Argument variables
11216  INTEGER(INTG), INTENT(IN) :: userNumber
11217  INTEGER(INTG), INTENT(OUT) :: numberOfLocalNodes
11218  INTEGER(INTG), INTENT(OUT) :: err
11219  !Local variables
11220  TYPE(basis_type), POINTER :: BASIS
11221  TYPE(varying_string) :: localError
11222 
11223  enters("cmfe_Basis_NumberOfLocalNodesGetNumber",err,error,*999)
11224 
11225  NULLIFY(basis)
11226  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11227  IF(ASSOCIATED(basis)) THEN
11228  CALL basis_number_of_local_nodes_get(basis,numberoflocalnodes,err,error,*999)
11229  ELSE
11230  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11231  CALL flagerror(localerror,err,error,*999)
11232  END IF
11233 
11234  exits("cmfe_Basis_NumberOfLocalNodesGetNumber")
11235  RETURN
11236 999 errorsexits("cmfe_Basis_NumberOfLocalNodesGetNumber",err,error)
11237  CALL cmfe_handleerror(err,error)
11238  RETURN
11239 
11241 
11242  !
11243  !================================================================================================================================
11244  !
11245 
11247  SUBROUTINE cmfe_basis_numberoflocalnodesgetobj(basis,numberOfLocalNodes,err)
11248  !DLLEXPORT(cmfe_Basis_NumberOfLocalNodesGetObj)
11249 
11250  !Argument variables
11251  TYPE(cmfe_basistype), INTENT(IN) :: basis
11252  INTEGER(INTG), INTENT(OUT) :: numberOfLocalNodes
11253  INTEGER(INTG), INTENT(OUT) :: err
11254  !Local variables
11255 
11256  enters("cmfe_Basis_NumberOfLocalNodesGetObj",err,error,*999)
11257 
11258  CALL basis_number_of_local_nodes_get(basis%basis,numberoflocalnodes,err,error,*999)
11259 
11260  exits("cmfe_Basis_NumberOfLocalNodesGetObj")
11261  RETURN
11262 999 errorsexits("cmfe_Basis_NumberOfLocalNodesGetObj",err,error)
11263  CALL cmfe_handleerror(err,error)
11264  RETURN
11265 
11267 
11268  !
11269  !================================================================================================================================
11270  !
11271 
11273  SUBROUTINE cmfe_basis_numberofxigetnumber(userNumber,numberOfXi,err)
11274  !DLLEXPORT(cmfe_Basis_NumberOfXiGetNumber)
11275 
11276  !Argument variables
11277  INTEGER(INTG), INTENT(IN) :: userNumber
11278  INTEGER(INTG), INTENT(OUT) :: numberOfXi
11279  INTEGER(INTG), INTENT(OUT) :: err
11280  !Local variables
11281  TYPE(basis_type), POINTER :: BASIS
11282  TYPE(varying_string) :: localError
11283 
11284  enters("cmfe_Basis_NumberOfXiGetNumber",err,error,*999)
11285 
11286  NULLIFY(basis)
11287  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11288  IF(ASSOCIATED(basis)) THEN
11289  CALL basis_number_of_xi_get(basis,numberofxi,err,error,*999)
11290  ELSE
11291  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11292  CALL flagerror(localerror,err,error,*999)
11293  END IF
11294 
11295  exits("cmfe_Basis_NumberOfXiGetNumber")
11296  RETURN
11297 999 errorsexits("cmfe_Basis_NumberOfXiGetNumber",err,error)
11298  CALL cmfe_handleerror(err,error)
11299  RETURN
11300 
11301  END SUBROUTINE cmfe_basis_numberofxigetnumber
11302 
11303  !
11304  !================================================================================================================================
11305  !
11306 
11308  SUBROUTINE cmfe_basis_numberofxigetobj(basis,numberOfXi,err)
11309  !DLLEXPORT(cmfe_Basis_NumberOfXiGetObj)
11310 
11311  !Argument variables
11312  TYPE(cmfe_basistype), INTENT(IN) :: basis
11313  INTEGER(INTG), INTENT(OUT) :: numberOfXi
11314  INTEGER(INTG), INTENT(OUT) :: err
11315  !Local variables
11316 
11317  enters("cmfe_Basis_NumberOfXiGetObj",err,error,*999)
11318 
11319  CALL basis_number_of_xi_get(basis%basis,numberofxi,err,error,*999)
11320 
11321  exits("cmfe_Basis_NumberOfXiGetObj")
11322  RETURN
11323 999 errorsexits("cmfe_Basis_NumberOfXiGetObj",err,error)
11324  CALL cmfe_handleerror(err,error)
11325  RETURN
11326 
11327  END SUBROUTINE cmfe_basis_numberofxigetobj
11328 
11329  !
11330  !================================================================================================================================
11331  !
11332 
11334  SUBROUTINE cmfe_basis_numberofxisetnumber(userNumber,numberOfXi,err)
11335  !DLLEXPORT(cmfe_Basis_NumberOfXiSetNumber)
11336 
11337  !Argument variables
11338  INTEGER(INTG), INTENT(IN) :: userNumber
11339  INTEGER(INTG), INTENT(IN) :: numberOfXi
11340  INTEGER(INTG), INTENT(OUT) :: err
11341  !Local variables
11342  TYPE(basis_type), POINTER :: BASIS
11343  TYPE(varying_string) :: localError
11344 
11345  enters("cmfe_Basis_NumberOfXiSetNumber",err,error,*999)
11346 
11347  NULLIFY(basis)
11348  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11349  IF(ASSOCIATED(basis)) THEN
11350  CALL basis_number_of_xi_set(basis,numberofxi,err,error,*999)
11351  ELSE
11352  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11353  CALL flagerror(localerror,err,error,*999)
11354  END IF
11355 
11356  exits("cmfe_Basis_NumberOfXiSetNumber")
11357  RETURN
11358 999 errorsexits("cmfe_Basis_NumberOfXiSetNumber",err,error)
11359  CALL cmfe_handleerror(err,error)
11360  RETURN
11361 
11362  END SUBROUTINE cmfe_basis_numberofxisetnumber
11363 
11364  !
11365  !================================================================================================================================
11366  !
11367 
11369  SUBROUTINE cmfe_basis_numberofxisetobj(basis,numberOfXi,err)
11370  !DLLEXPORT(cmfe_Basis_NumberOfXiSetObj)
11371 
11372  !Argument variables
11373  TYPE(cmfe_basistype), INTENT(INOUT) :: basis
11374  INTEGER(INTG), INTENT(IN) :: numberOfXi
11375  INTEGER(INTG), INTENT(OUT) :: err
11376  !Local variables
11377 
11378  enters("cmfe_Basis_NumberOfXiSetObj",err,error,*999)
11379 
11380  CALL basis_number_of_xi_set(basis%basis,numberofxi,err,error,*999)
11381 
11382  exits("cmfe_Basis_NumberOfXiSetObj")
11383  RETURN
11384 999 errorsexits("cmfe_Basis_NumberOfXiSetObj",err,error)
11385  CALL cmfe_handleerror(err,error)
11386  RETURN
11387 
11388  END SUBROUTINE cmfe_basis_numberofxisetobj
11389 
11390  !
11391  !================================================================================================================================
11392  !
11393 
11395  SUBROUTINE cmfe_basis_quadraturenumberofgaussxigetnumber(userNumber,numberOfGaussXi,err)
11396  !DLLEXPORT(cmfe_Basis_QuadratureNumberOfGaussXiGetNumber)
11397 
11398  !Argument variables
11399  INTEGER(INTG), INTENT(IN) :: userNumber
11400  INTEGER(INTG), INTENT(OUT) :: numberOfGaussXi(:)
11401  INTEGER(INTG), INTENT(OUT) :: err
11402  !Local variables
11403  TYPE(basis_type), POINTER :: BASIS
11404  TYPE(varying_string) :: localError
11405 
11406  enters("cmfe_Basis_QuadratureNumberOfGaussXiGetNumber",err,error,*999)
11407 
11408  NULLIFY(basis)
11409  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11410  IF(ASSOCIATED(basis)) THEN
11411  CALL basis_quadrature_number_of_gauss_xi_get(basis,numberofgaussxi,err,error,*999)
11412  ELSE
11413  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11414  CALL flagerror(localerror,err,error,*999)
11415  END IF
11416 
11417  exits("cmfe_Basis_QuadratureNumberOfGaussXiGetNumber")
11418  RETURN
11419 999 errors("cmfe_Basis_QuadratureNumberOfGaussXiGetNumber",err,error)
11420  exits("cmfe_Basis_QuadratureNumberOfGaussXiGetNumber")
11421  CALL cmfe_handleerror(err,error)
11422  RETURN
11423 
11425 
11426  !
11427  !================================================================================================================================
11428  !
11429 
11431  SUBROUTINE cmfe_basis_quadraturenumberofgaussxigetobj(basis,numberOfGaussXi,err)
11432  !DLLEXPORT(cmfe_Basis_QuadratureNumberOfGaussXiGetObj)
11433 
11434  !Argument variables
11435  TYPE(cmfe_basistype), INTENT(IN) :: basis
11436  INTEGER(INTG), INTENT(OUT) :: numberOfGaussXi(:)
11437  INTEGER(INTG), INTENT(OUT) :: err
11438  !Local variables
11439 
11440  enters("cmfe_Basis_QuadratureNumberOfGaussXiGetObj",err,error,*999)
11441 
11442  CALL basis_quadrature_number_of_gauss_xi_get(basis%basis,numberofgaussxi,err,error,*999)
11443 
11444  exits("cmfe_Basis_QuadratureNumberOfGaussXiGetObj")
11445  RETURN
11446 999 errorsexits("cmfe_Basis_QuadratureNumberOfGaussXiGetObj",err,error)
11447  CALL cmfe_handleerror(err,error)
11448  RETURN
11449 
11451 
11452  !
11453  !================================================================================================================================
11454  !
11455 
11457  SUBROUTINE cmfe_basis_quadraturenumberofgaussxisetnumber(userNumber,numberOfGaussXi,err)
11458  !DLLEXPORT(cmfe_Basis_QuadratureNumberOfGaussXiSetNumber)
11459 
11460  !Argument variables
11461  INTEGER(INTG), INTENT(IN) :: userNumber
11462  INTEGER(INTG), INTENT(IN) :: numberOfGaussXi(:)
11463  INTEGER(INTG), INTENT(OUT) :: err
11464  !Local variables
11465  TYPE(basis_type), POINTER :: BASIS
11466  TYPE(varying_string) :: localError
11467 
11468  enters("cmfe_Basis_QuadratureNumberOfGaussXiSetNumber",err,error,*999)
11469 
11470  NULLIFY(basis)
11471  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11472  IF(ASSOCIATED(basis)) THEN
11473  CALL basis_quadrature_number_of_gauss_xi_set(basis,numberofgaussxi,err,error,*999)
11474  ELSE
11475  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11476  CALL flagerror(localerror,err,error,*999)
11477  END IF
11478 
11479  exits("cmfe_Basis_QuadratureNumberOfGaussXiSetNumber")
11480  RETURN
11481 999 errors("cmfe_Basis_QuadratureNumberOfGaussXiSetNumber",err,error)
11482  exits("cmfe_Basis_QuadratureNumberOfGaussXiSetNumber")
11483  CALL cmfe_handleerror(err,error)
11484  RETURN
11485 
11487 
11488  !
11489  !================================================================================================================================
11490  !
11491 
11493  SUBROUTINE cmfe_basis_quadraturenumberofgaussxisetobj(basis,numberOfGaussXi,err)
11494  !DLLEXPORT(cmfe_Basis_QuadratureNumberOfGaussXiSetObj)
11495 
11496  !Argument variables
11497  TYPE(cmfe_basistype), INTENT(INOUT) :: basis
11498  INTEGER(INTG), INTENT(IN) :: numberOfGaussXi(:)
11499  INTEGER(INTG), INTENT(OUT) :: err
11500  !Local variables
11501 
11502  enters("cmfe_Basis_QuadratureNumberOfGaussXiSetObj",err,error,*999)
11503 
11504  CALL basis_quadrature_number_of_gauss_xi_set(basis%basis,numberofgaussxi,err,error,*999)
11505 
11506  exits("cmfe_Basis_QuadratureNumberOfGaussXiSetObj")
11507  RETURN
11508 999 errorsexits("cmfe_Basis_QuadratureNumberOfGaussXiSetObj",err,error)
11509  CALL cmfe_handleerror(err,error)
11510  RETURN
11511 
11513 
11514  !
11515  !================================================================================================================================
11516  !
11518  SUBROUTINE cmfe_basis_quadraturesinglegaussxigetnumber(userNumber,quadratureScheme,GaussPoint,GaussXi,err)
11519  !DLLEXPORT(cmfe_Basis_QuadratureSingleGaussXiGetNumber)
11520 
11521  !Argument variables
11522  INTEGER(INTG), INTENT(IN) :: userNumber
11523  INTEGER(INTG), INTENT(IN) :: quadratureScheme
11524  INTEGER(INTG), INTENT(IN) :: GaussPoint
11525  REAL(DP), INTENT(OUT) :: GaussXi(:)
11526  INTEGER(INTG), INTENT(OUT) :: err
11527  !Local variables
11528  TYPE(basis_type), POINTER :: BASIS
11529  TYPE(varying_string) :: localError
11530 
11531  enters("cmfe_Basis_QuadratureSingleGaussXiGetNumber",err,error,*999)
11532 
11533  NULLIFY(basis)
11534  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11535  IF(ASSOCIATED(basis)) THEN
11536  CALL basis_quadrature_single_gauss_xi_get(basis,quadraturescheme,gausspoint,gaussxi,err,error,*999)
11537  ELSE
11538  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11539  CALL flagerror(localerror,err,error,*999)
11540  END IF
11541 
11542  exits("cmfe_Basis_QuadratureSingleGaussXiGetNumber")
11543  RETURN
11544 999 errorsexits("cmfe_Basis_QuadratureSingleGaussXiGetNumber",err,error)
11545  CALL cmfe_handleerror(err,error)
11546  RETURN
11547 
11549 
11550  !
11551  !================================================================================================================================
11552  !
11553 
11555  SUBROUTINE cmfe_basis_quadraturesinglegaussxigetobj(basis,quadratureScheme,GaussPoint,GaussXi,err)
11556  !DLLEXPORT(cmfe_Basis_QuadratureSingleGaussXiGetObj)
11557 
11558  !Argument variables
11559  TYPE(cmfe_basistype), INTENT(IN) :: basis
11560  INTEGER(INTG), INTENT(IN) :: quadratureScheme
11561  INTEGER(INTG), INTENT(IN) :: GaussPoint
11562  REAL(DP), INTENT(OUT) :: GaussXi(:)
11563  INTEGER(INTG), INTENT(OUT) :: err
11564  !Local variables
11565 
11566  enters("cmfe_Basis_QuadratureSingleGaussXiGetObj",err,error,*999)
11567 
11568  CALL basis_quadrature_single_gauss_xi_get(basis%basis,quadraturescheme,gausspoint,gaussxi,err,error,*999)
11569 
11570  exits("cmfe_Basis_QuadratureSingleGaussXiGetObj")
11571  RETURN
11572 999 errorsexits("cmfe_Basis_QuadratureSingleGaussXiGetObj",err,error)
11573  CALL cmfe_handleerror(err,error)
11574  RETURN
11575 
11577 
11578  !
11579  !================================================================================================================================
11580  !
11581 
11583  SUBROUTINE cmfe_basis_quadraturemultiplegaussxigetnumber(userNumber,quadratureScheme,GaussPoints,GaussXi,err)
11584  !DLLEXPORT(cmfe_Basis_QuadratureMultipleGaussXiGetNumber)
11585 
11586  !Argument variables
11587  INTEGER(INTG), INTENT(IN) :: userNumber
11588  INTEGER(INTG), INTENT(IN) :: quadratureScheme
11589  INTEGER(INTG), INTENT(IN) :: GaussPoints(:)
11590  REAL(DP), INTENT(OUT) :: GaussXi(:,:)
11591  INTEGER(INTG), INTENT(OUT) :: err
11592  !Local variables
11593  TYPE(basis_type), POINTER :: BASIS
11594  TYPE(varying_string) :: localError
11595 
11596  enters("cmfe_Basis_QuadratureMultipleGaussXiGetNumber",err,error,*999)
11597 
11598  NULLIFY(basis)
11599  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11600  IF(ASSOCIATED(basis)) THEN
11601  CALL basis_quadrature_multiple_gauss_xi_get(basis,quadraturescheme,gausspoints,gaussxi,err,error,*999)
11602  ELSE
11603  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11604  CALL flagerror(localerror,err,error,*999)
11605  END IF
11606 
11607  exits("cmfe_Basis_QuadratureMultipleGaussXiGetNumber")
11608  RETURN
11609 999 errors("cmfe_Basis_QuadratureMultipleGaussXiGetNumber",err,error)
11610  exits("cmfe_Basis_QuadratureMultipleGaussXiGetNumber")
11611  CALL cmfe_handleerror(err,error)
11612  RETURN
11613 
11615 
11616  !
11617  !================================================================================================================================
11618  !
11619 
11621  SUBROUTINE cmfe_basis_quadraturemultiplegaussxigetobj(basis,quadratureScheme,GaussPoints,GaussXi,err)
11622  !DLLEXPORT(cmfe_Basis_QuadratureMultipleGaussXiGetObj)
11623 
11624  !Argument variables
11625  TYPE(cmfe_basistype), INTENT(IN) :: basis
11626  INTEGER(INTG), INTENT(IN) :: quadratureScheme
11627  INTEGER(INTG), INTENT(IN) :: GaussPoints(:)
11628  REAL(DP), INTENT(OUT) :: GaussXi(:,:)
11629  INTEGER(INTG), INTENT(OUT) :: err
11630  !Local variables
11631 
11632  enters("cmfe_Basis_QuadratureMultipleGaussXiGetObj",err,error,*999)
11633 
11634  CALL basis_quadrature_multiple_gauss_xi_get(basis%basis,quadraturescheme,gausspoints,gaussxi,err,error,*999)
11635 
11636  exits("cmfe_Basis_QuadratureMultipleGaussXiGetObj")
11637  RETURN
11638 999 errorsexits("cmfe_Basis_QuadratureMultipleGaussXiGetObj",err,error)
11639  CALL cmfe_handleerror(err,error)
11640  RETURN
11641 
11643 
11644  !
11645  !================================================================================================================================
11646  !
11647 
11649  SUBROUTINE cmfe_basis_quadratureordergetnumber(userNumber,quadratureOrder,err)
11650  !DLLEXPORT(cmfe_Basis_QuadratureOrderGetNumber)
11651 
11652  !Argument variables
11653  INTEGER(INTG), INTENT(IN) :: userNumber
11654  INTEGER(INTG), INTENT(OUT) :: quadratureOrder
11655  INTEGER(INTG), INTENT(OUT) :: err
11656  !Local variables
11657  TYPE(basis_type), POINTER :: BASIS
11658  TYPE(varying_string) :: localError
11659 
11660  enters("cmfe_Basis_QuadratureOrderGetNumber",err,error,*999)
11661 
11662  NULLIFY(basis)
11663  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11664  IF(ASSOCIATED(basis)) THEN
11665  CALL basis_quadrature_order_get(basis,quadratureorder,err,error,*999)
11666  ELSE
11667  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11668  CALL flagerror(localerror,err,error,*999)
11669  END IF
11670 
11671  exits("cmfe_Basis_QuadratureOrderGetNumber")
11672  RETURN
11673 999 errorsexits("cmfe_Basis_QuadratureOrderGetNumber",err,error)
11674  CALL cmfe_handleerror(err,error)
11675  RETURN
11676 
11678 
11679  !
11680  !================================================================================================================================
11681  !
11682 
11684  SUBROUTINE cmfe_basis_quadratureordergetobj(basis,quadratureOrder,err)
11685  !DLLEXPORT(cmfe_Basis_QuadratureOrderGetObj)
11686 
11687  !Argument variables
11688  TYPE(cmfe_basistype), INTENT(IN) :: basis
11689  INTEGER(INTG), INTENT(OUT) :: quadratureOrder
11690  INTEGER(INTG), INTENT(OUT) :: err
11691  !Local variables
11692 
11693  enters("cmfe_Basis_QuadratureOrderGetObj",err,error,*999)
11694 
11695  CALL basis_quadrature_order_get(basis%basis,quadratureorder,err,error,*999)
11696 
11697  exits("cmfe_Basis_QuadratureOrderGetObj")
11698  RETURN
11699 999 errorsexits("cmfe_Basis_QuadratureOrderGetObj",err,error)
11700  CALL cmfe_handleerror(err,error)
11701  RETURN
11702 
11703  END SUBROUTINE cmfe_basis_quadratureordergetobj
11704 
11705 
11706  !
11707  !================================================================================================================================
11708  !
11709 
11711  SUBROUTINE cmfe_basis_quadratureordersetnumber(userNumber,quadratureOrder,err)
11712  !DLLEXPORT(cmfe_Basis_QuadratureOrderSetNumber)
11713 
11714  !Argument variables
11715  INTEGER(INTG), INTENT(IN) :: userNumber
11716  INTEGER(INTG), INTENT(IN) :: quadratureOrder
11717  INTEGER(INTG), INTENT(OUT) :: err
11718  !Local variables
11719  TYPE(basis_type), POINTER :: BASIS
11720  TYPE(varying_string) :: localError
11721 
11722  enters("cmfe_Basis_QuadratureOrderSetNumber",err,error,*999)
11723 
11724  NULLIFY(basis)
11725  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11726  IF(ASSOCIATED(basis)) THEN
11727  CALL basis_quadrature_order_set(basis,quadratureorder,err,error,*999)
11728  ELSE
11729  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11730  CALL flagerror(localerror,err,error,*999)
11731  END IF
11732 
11733  exits("cmfe_Basis_QuadratureOrderSetNumber")
11734  RETURN
11735 999 errorsexits("cmfe_Basis_QuadratureOrderSetNumber",err,error)
11736  CALL cmfe_handleerror(err,error)
11737  RETURN
11738 
11740 
11741  !
11742  !================================================================================================================================
11743  !
11744 
11746  SUBROUTINE cmfe_basis_quadratureordersetobj(basis,quadratureOrder,err)
11747  !DLLEXPORT(cmfe_Basis_QuadratureOrderSetObj)
11748 
11749  !Argument variables
11750  TYPE(cmfe_basistype), INTENT(INOUT) :: basis
11751  INTEGER(INTG), INTENT(IN) :: quadratureOrder
11752  INTEGER(INTG), INTENT(OUT) :: err
11753  !Local variables
11754 
11755  enters("cmfe_Basis_QuadratureOrderSetObj",err,error,*999)
11756 
11757  CALL basis_quadrature_order_set(basis%basis,quadratureorder,err,error,*999)
11758 
11759  exits("cmfe_Basis_QuadratureOrderSetObj")
11760  RETURN
11761 999 errorsexits("cmfe_Basis_QuadratureOrderSetObj",err,error)
11762  CALL cmfe_handleerror(err,error)
11763  RETURN
11764 
11765  END SUBROUTINE cmfe_basis_quadratureordersetobj
11766 
11767  !
11768  !================================================================================================================================
11769  !
11770 
11772  SUBROUTINE cmfe_basis_quadraturetypegetnumber(userNumber,quadratureType,err)
11773  !DLLEXPORT(cmfe_Basis_QuadratureTypeGetNumber)
11774 
11775  !Argument variables
11776  INTEGER(INTG), INTENT(IN) :: userNumber
11777  INTEGER(INTG), INTENT(OUT) :: quadratureType
11778  INTEGER(INTG), INTENT(OUT) :: err
11779  !Local variables
11780  TYPE(basis_type), POINTER :: BASIS
11781  TYPE(varying_string) :: localError
11782 
11783  enters("cmfe_Basis_QuadratureTypeGetNumber",err,error,*999)
11784 
11785  NULLIFY(basis)
11786  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11787  IF(ASSOCIATED(basis)) THEN
11788  CALL basis_quadrature_type_get(basis,quadraturetype,err,error,*999)
11789  ELSE
11790  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11791  CALL flagerror(localerror,err,error,*999)
11792  END IF
11793 
11794  exits("cmfe_Basis_QuadratureTypeGetNumber")
11795  RETURN
11796 999 errorsexits("cmfe_Basis_QuadratureTypeGetNumber",err,error)
11797  CALL cmfe_handleerror(err,error)
11798  RETURN
11799 
11800  END SUBROUTINE cmfe_basis_quadraturetypegetnumber
11801 
11802  !
11803  !================================================================================================================================
11804  !
11805 
11807  SUBROUTINE cmfe_basis_quadraturetypegetobj(basis,quadratureType,err)
11808  !DLLEXPORT(cmfe_Basis_QuadratureTypeGetObj)
11809 
11810  !Argument variables
11811  TYPE(cmfe_basistype), INTENT(IN) :: basis
11812  INTEGER(INTG), INTENT(OUT) :: quadratureType
11813  INTEGER(INTG), INTENT(OUT) :: err
11814  !Local variables
11815 
11816  enters("cmfe_Basis_QuadratureTypeGetObj",err,error,*999)
11817 
11818  CALL basis_quadrature_type_get(basis%basis,quadraturetype,err,error,*999)
11819 
11820  exits("cmfe_Basis_QuadratureTypeGetObj")
11821  RETURN
11822 999 errorsexits("cmfe_Basis_QuadratureTypeGetObj",err,error)
11823  CALL cmfe_handleerror(err,error)
11824  RETURN
11825 
11826  END SUBROUTINE cmfe_basis_quadraturetypegetobj
11827 
11828  !
11829  !================================================================================================================================
11830  !
11831 
11833  SUBROUTINE cmfe_basis_quadraturetypesetnumber(userNumber,quadratureType,err)
11834  !DLLEXPORT(cmfe_Basis_QuadratureTypeSetNumber)
11835 
11836  !Argument variables
11837  INTEGER(INTG), INTENT(IN) :: userNumber
11838  INTEGER(INTG), INTENT(IN) :: quadratureType
11839  INTEGER(INTG), INTENT(OUT) :: err
11840  !Local variables
11841  TYPE(basis_type), POINTER :: BASIS
11842  TYPE(varying_string) :: localError
11843 
11844  enters("cmfe_Basis_QuadratureTypeSetNumber",err,error,*999)
11845 
11846  NULLIFY(basis)
11847  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11848  IF(ASSOCIATED(basis)) THEN
11849  CALL basis_quadrature_type_set(basis,quadraturetype,err,error,*999)
11850  ELSE
11851  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11852  CALL flagerror(localerror,err,error,*999)
11853  END IF
11854 
11855  exits("cmfe_Basis_QuadratureTypeSetNumber")
11856  RETURN
11857 999 errorsexits("cmfe_Basis_QuadratureTypeSetNumber",err,error)
11858  CALL cmfe_handleerror(err,error)
11859  RETURN
11860 
11861  END SUBROUTINE cmfe_basis_quadraturetypesetnumber
11862 
11863  !
11864  !================================================================================================================================
11865  !
11866 
11868  SUBROUTINE cmfe_basis_quadraturetypesetobj(basis,quadratureType,err)
11869  !DLLEXPORT(cmfe_Basis_QuadratureTypeSetObj)
11870 
11871  !Argument variables
11872  TYPE(cmfe_basistype), INTENT(INOUT) :: basis
11873  INTEGER(INTG), INTENT(IN) :: quadratureType
11874  INTEGER(INTG), INTENT(OUT) :: err
11875  !Local variables
11876 
11877  enters("cmfe_Basis_QuadratureTypeSetObj",err,error,*999)
11878 
11879  CALL basis_quadrature_type_set(basis%basis,quadraturetype,err,error,*999)
11880 
11881  exits("cmfe_Basis_QuadratureTypeSetObj")
11882  RETURN
11883 999 errorsexits("cmfe_Basis_QuadratureTypeSetObj",err,error)
11884  CALL cmfe_handleerror(err,error)
11885  RETURN
11886 
11887  END SUBROUTINE cmfe_basis_quadraturetypesetobj
11888 
11889  !
11890  !================================================================================================================================
11891  !
11892 
11894  SUBROUTINE cmfe_basis_quadraturelocalfacegaussevaluatesetnumber(userNumber,faceGaussEvaluate,err)
11895  !DLLEXPORT(cmfe_Basis_QuadratureLocalFaceGaussEvaluateSetNumber)
11896 
11897  !Argument variables
11898  INTEGER(INTG), INTENT(IN) :: userNumber
11899  LOGICAL, INTENT(IN) :: faceGaussEvaluate
11900  INTEGER(INTG), INTENT(OUT) :: err
11901  !Local variables
11902  TYPE(basis_type), POINTER :: BASIS
11903  TYPE(varying_string) :: localError
11904 
11905  enters("cmfe_Basis_QuadratureLocalFaceGaussEvaluateSetNumber",err,error,*999)
11906 
11907  NULLIFY(basis)
11908  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11909  IF(ASSOCIATED(basis)) THEN
11910  CALL basis_quadraturelocalfacegaussevaluateset(basis,facegaussevaluate,err,error,*999)
11911  ELSE
11912  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11913  CALL flagerror(localerror,err,error,*999)
11914  END IF
11915 
11916  exits("cmfe_Basis_QuadratureLocalFaceGaussEvaluateSetNumber")
11917  RETURN
11918 999 errors("cmfe_Basis_QuadratureLocalFaceGaussEvaluateSetNumber",err,error)
11919  exits("cmfe_Basis_QuadratureLocalFaceGaussEvaluateSetNumber")
11920  CALL cmfe_handleerror(err,error)
11921  RETURN
11922 
11924 
11925  !
11926  !================================================================================================================================
11927  !
11928 
11930  SUBROUTINE cmfe_basis_quadraturelocalfacegaussevaluatesetobj(basis,faceGaussEvaluate,err)
11931  !DLLEXPORT(cmfe_Basis_QuadratureLocalFaceGaussEvaluateSetObj)
11932 
11933  !Argument variables
11934  TYPE(cmfe_basistype), INTENT(INOUT) :: basis
11935  LOGICAL, INTENT(IN) :: faceGaussEvaluate
11936  INTEGER(INTG), INTENT(OUT) :: err
11937 
11938  enters("cmfe_Basis_QuadratureLocalFaceGaussEvaluateSetObj",err,error,*999)
11939 
11940  CALL basis_quadraturelocalfacegaussevaluateset(basis%basis,facegaussevaluate,err,error,*999)
11941 
11942  exits("cmfe_Basis_QuadratureLocalFaceGaussEvaluateSetObj")
11943  RETURN
11944 999 errors("cmfe_Basis_QuadratureLocalFaceGaussEvaluateSetObj",err,error)
11945  exits("cmfe_Basis_QuadratureLocalFaceGaussEvaluateSetObj")
11946  CALL cmfe_handleerror(err,error)
11947  RETURN
11948 
11950 
11951  !
11952  !================================================================================================================================
11953  !
11954 
11956  SUBROUTINE cmfe_basis_typegetnumber(userNumber,basisType,err)
11957  !DLLEXPORT(cmfe_Basis_TypeGetNumber)
11958 
11959  !Argument variables
11960  INTEGER(INTG), INTENT(IN) :: userNumber
11961  INTEGER(INTG), INTENT(OUT) :: basisType
11962  INTEGER(INTG), INTENT(OUT) :: err
11963  !Local variables
11964  TYPE(basis_type), POINTER :: BASIS
11965  TYPE(varying_string) :: localError
11966 
11967  enters("cmfe_Basis_TypeGetNumber",err,error,*999)
11968 
11969  NULLIFY(basis)
11970  CALL basis_user_number_find(usernumber,basis,err,error,*999)
11971  IF(ASSOCIATED(basis)) THEN
11972  CALL basis_type_get(basis,basistype,err,error,*999)
11973  ELSE
11974  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
11975  CALL flagerror(localerror,err,error,*999)
11976  END IF
11977 
11978  exits("cmfe_Basis_TypeGetNumber")
11979  RETURN
11980 999 errorsexits("cmfe_Basis_TypeGetNumber",err,error)
11981  CALL cmfe_handleerror(err,error)
11982  RETURN
11983 
11984  END SUBROUTINE cmfe_basis_typegetnumber
11985 
11986  !
11987  !================================================================================================================================
11988  !
11989 
11991  SUBROUTINE cmfe_basis_typegetobj(basis,basisType,err)
11992  !DLLEXPORT(cmfe_Basis_TypeGetObj)
11993 
11994  !Argument variables
11995  TYPE(cmfe_basistype), INTENT(IN) :: basis
11996  INTEGER(INTG), INTENT(OUT) :: basisType
11997  INTEGER(INTG), INTENT(OUT) :: err
11998  !Local variables
11999 
12000  enters("cmfe_Basis_TypeGetObj",err,error,*999)
12001 
12002  CALL basis_type_get(basis%basis,basistype,err,error,*999)
12003 
12004  exits("cmfe_Basis_TypeGetObj")
12005  RETURN
12006 999 errorsexits("cmfe_Basis_TypeGetObj",err,error)
12007  CALL cmfe_handleerror(err,error)
12008  RETURN
12009 
12010  END SUBROUTINE cmfe_basis_typegetobj
12011 
12012  !
12013  !================================================================================================================================
12014  !
12015 
12017  SUBROUTINE cmfe_basis_typesetnumber(userNumber,basisType,err)
12018  !DLLEXPORT(cmfe_Basis_TypeSetNumber)
12019 
12020  !Argument variables
12021  INTEGER(INTG), INTENT(IN) :: userNumber
12022  INTEGER(INTG), INTENT(IN) :: basisType
12023  INTEGER(INTG), INTENT(OUT) :: err
12024  !Local variables
12025  TYPE(basis_type), POINTER :: BASIS
12026  TYPE(varying_string) :: localError
12027 
12028  enters("cmfe_Basis_TypeSetNumber",err,error,*999)
12029 
12030  NULLIFY(basis)
12031  CALL basis_user_number_find(usernumber,basis,err,error,*999)
12032  IF(ASSOCIATED(basis)) THEN
12033  CALL basis_type_set(basis,basistype,err,error,*999)
12034  ELSE
12035  localerror="A basis with an user number of "//trim(numbertovstring(usernumber,"*",err,error))//" does not exist."
12036  CALL flagerror(localerror,err,error,*999)
12037  END IF
12038 
12039  exits("cmfe_Basis_TypeSetNumber")
12040  RETURN
12041 999 errorsexits("cmfe_Basis_TypeSetNumber",err,error)
12042  CALL cmfe_handleerror(err,error)
12043  RETURN
12044 
12045  END SUBROUTINE cmfe_basis_typesetnumber
12046 
12047  !
12048  !================================================================================================================================
12049  !
12050 
12052  SUBROUTINE cmfe_basis_typesetobj(basis,basisType,err)
12053  !DLLEXPORT(cmfe_Basis_TypeSetObj)
12054 
12055  !Argument variables
12056  TYPE(cmfe_basistype), INTENT(INOUT) :: basis
12057  INTEGER(INTG), INTENT(IN) :: basisType
12058  INTEGER(INTG), INTENT(OUT) :: err
12059  !Local variables
12060 
12061  enters("cmfe_Basis_TypeSetObj",err,error,*999)
12062 
12063  CALL basis_type_set(basis%basis,basistype,err,error,*999)
12064 
12065  exits("cmfe_Basis_TypeSetObj")
12066  RETURN
12067 999 errorsexits("cmfe_Basis_TypeSetObj",err,error)
12068  CALL cmfe_handleerror(err,error)
12069  RETURN
12070 
12071  END SUBROUTINE cmfe_basis_typesetobj
12072 
12073 
12074 !!==================================================================================================================================
12075 !!
12076 !! BOUNDARY_CONDITIONS_ROUTINES
12077 !!
12078 !!==================================================================================================================================
12079 
12081  SUBROUTINE cmfe_boundaryconditions_destroynumber0(problemUserNumber,controlLoopIdentifier,solverIndex,err)
12082  !DLLEXPORT(cmfe_BoundaryConditions_DestroyNumber0)
12083 
12084  !Argument variables
12085  INTEGER(INTG), INTENT(IN) :: problemUserNumber
12086  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
12087  INTEGER(INTG), INTENT(IN) :: solverIndex
12088  INTEGER(INTG), INTENT(OUT) :: err
12089  !Local variables
12090  TYPE(problem_type), POINTER :: PROBLEM
12091  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
12092  TYPE(boundary_conditions_type), POINTER :: BOUNDARY_CONDITIONS
12093  TYPE(varying_string) :: localError
12094 
12095  enters("cmfe_BoundaryConditions_DestroyNumber0",err,error,*999)
12096 
12097  NULLIFY(problem)
12098  NULLIFY(solver_equations)
12099  NULLIFY(boundary_conditions)
12100  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
12101  IF(ASSOCIATED(problem)) THEN
12102  CALL problem_solver_equations_get(problem,controlloopidentifier,solverindex,solver_equations,err,error,*999)
12103  IF(ASSOCIATED(solver_equations)) THEN
12104  CALL solver_equations_boundary_conditions_get(solver_equations,boundary_conditions,err,error,*999)
12105  IF(ASSOCIATED(boundary_conditions)) THEN
12106  CALL boundary_conditions_destroy(boundary_conditions,err,error,*999)
12107  ELSE
12108  localerror="Solver equations boundary conditions is not associated."
12109  CALL flagerror(localerror,err,error,*999)
12110  END IF
12111  ELSE
12112  localerror="Solver equations with the given solver index and control loop identifier do not exist."
12113  CALL flagerror(localerror,err,error,*999)
12114  END IF
12115  ELSE
12116  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
12117  CALL flagerror(localerror,err,error,*999)
12118  END IF
12119 
12120  exits("cmfe_BoundaryConditions_DestroyNumber0")
12121  RETURN
12122 999 errorsexits("cmfe_BoundaryConditions_DestroyNumber0",err,error)
12123  CALL cmfe_handleerror(err,error)
12124  RETURN
12125 
12127 
12128  !
12129  !================================================================================================================================
12130  !
12131 
12133  SUBROUTINE cmfe_boundaryconditions_destroynumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,err)
12134  !DLLEXPORT(cmfe_BoundaryConditions_DestroyNumber1)
12135 
12136  !Argument variables
12137  INTEGER(INTG), INTENT(IN) :: problemUserNumber
12138  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
12139  INTEGER(INTG), INTENT(IN) :: solverIndex
12140  INTEGER(INTG), INTENT(OUT) :: err
12141  !Local variables
12142  TYPE(problem_type), POINTER :: PROBLEM
12143  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
12144  TYPE(boundary_conditions_type), POINTER :: BOUNDARY_CONDITIONS
12145  TYPE(varying_string) :: localError
12146 
12147  enters("cmfe_BoundaryConditions_DestroyNumber1",err,error,*999)
12148 
12149  NULLIFY(problem)
12150  NULLIFY(solver_equations)
12151  NULLIFY(boundary_conditions)
12152  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
12153  IF(ASSOCIATED(problem)) THEN
12154  CALL problem_solver_equations_get(problem,controlloopidentifiers,solverindex,solver_equations,err,error,*999)
12155  IF(ASSOCIATED(solver_equations)) THEN
12156  CALL solver_equations_boundary_conditions_get(solver_equations,boundary_conditions,err,error,*999)
12157  IF(ASSOCIATED(boundary_conditions)) THEN
12158  CALL boundary_conditions_destroy(boundary_conditions,err,error,*999)
12159  ELSE
12160  localerror="Solver equations boundary conditions is not associated."
12161  CALL flagerror(localerror,err,error,*999)
12162  END IF
12163  ELSE
12164  localerror="Solver equations with the given solver index and control loop identifier do not exist."
12165  CALL flagerror(localerror,err,error,*999)
12166  END IF
12167  ELSE
12168  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
12169  CALL flagerror(localerror,err,error,*999)
12170  END IF
12171 
12172  exits("cmfe_BoundaryConditions_DestroyNumber1")
12173  RETURN
12174 999 errorsexits("cmfe_BoundaryConditions_DestroyNumber1",err,error)
12175  CALL cmfe_handleerror(err,error)
12176  RETURN
12177 
12179 
12180  !
12181  !================================================================================================================================
12182  !
12183 
12185  SUBROUTINE cmfe_boundaryconditions_destroyobj(boundaryConditions,err)
12186  !DLLEXPORT(cmfe_BoundaryConditions_DestroyObj)
12187 
12188  !Argument variables
12189  TYPE(cmfe_boundaryconditionstype), INTENT(INOUT) :: boundaryConditions
12190  INTEGER(INTG), INTENT(OUT) :: err
12191  !Local variables
12192 
12193  enters("cmfe_BoundaryConditions_DestroyObj",err,error,*999)
12194 
12195  CALL boundary_conditions_destroy(boundaryconditions%boundaryConditions,err,error,*999)
12196 
12197  exits("cmfe_BoundaryConditions_DestroyObj")
12198  RETURN
12199 999 errorsexits("cmfe_BoundaryConditions_DestroyObj",err,error)
12200  CALL cmfe_handleerror(err,error)
12201  RETURN
12202 
12203  END SUBROUTINE cmfe_boundaryconditions_destroyobj
12204 
12205  !
12206  !================================================================================================================================
12207  !
12208 
12210  SUBROUTINE cmfe_boundaryconditions_addconstantnumber(regionUserNumber,problemUserNumber,controlLoopIdentifiers,solverIndex, &
12211  & fieldusernumber,variabletype,componentnumber,condition,value,err)
12212  !DLLEXPORT(cmfe_BoundaryConditions_AddConstantNumber)
12213 
12214  !Argument variables
12215  INTEGER(INTG), INTENT(IN) :: regionUserNumber
12216  INTEGER(INTG), INTENT(IN) :: problemUserNumber
12217  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
12218  INTEGER(INTG), INTENT(IN) :: solverIndex
12219  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
12220  INTEGER(INTG), INTENT(IN) :: variableType
12221  INTEGER(INTG), INTENT(IN) :: componentNumber
12222  INTEGER(INTG), INTENT(IN) :: condition
12223  REAL(DP), INTENT(IN) :: value
12224  INTEGER(INTG), INTENT(OUT) :: err
12225  !Local variables
12226  TYPE(region_type), POINTER :: REGION
12227  TYPE(problem_type), POINTER :: PROBLEM
12228  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
12229  TYPE(boundary_conditions_type), POINTER :: BOUNDARY_CONDITIONS
12230  TYPE(field_type), POINTER :: DEPENDENT_FIELD
12231  TYPE(varying_string) :: localError
12232 
12233  enters("cmfe_BoundaryConditions_AddConstantNumber",err,error,*999)
12234 
12235  NULLIFY(region)
12236  NULLIFY(problem)
12237  NULLIFY(solver_equations)
12238  NULLIFY(boundary_conditions)
12239  NULLIFY(dependent_field)
12240  CALL region_user_number_find(regionusernumber,region,err,error,*999)
12241  IF(ASSOCIATED(region)) THEN
12242  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
12243  IF(ASSOCIATED(problem)) THEN
12244  CALL problem_solver_equations_get(problem,controlloopidentifiers,solverindex,solver_equations,err,error,*999)
12245  IF(ASSOCIATED(solver_equations)) THEN
12246  CALL solver_equations_boundary_conditions_get(solver_equations,boundary_conditions,err,error,*999)
12247  IF(ASSOCIATED(boundary_conditions)) THEN
12248  CALL field_user_number_find(fieldusernumber,region,dependent_field,err,error,*999)
12249  IF(ASSOCIATED(dependent_field)) THEN
12250  CALL boundary_conditions_add_constant(boundary_conditions,dependent_field,variabletype,componentnumber, &
12251  & condition,value,err,error,*999)
12252  ELSE
12253  localerror="A field with a user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
12254  & " does not exist."
12255  CALL flagerror(localerror,err,error,*999)
12256  END IF
12257  ELSE
12258  CALL flagerror("The solver equations boundary conditions are not associated.",err,error,*999)
12259  END IF
12260  ELSE
12261  CALL flagerror("The solver equations are not associated.",err,error,*999)
12262  END IF
12263  ELSE
12264  localerror="A problem with a user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
12265  CALL flagerror(localerror,err,error,*999)
12266  END IF
12267  ELSE
12268  localerror="A region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
12269  CALL flagerror(localerror,err,error,*999)
12270  END IF
12271 
12272  exits("cmfe_BoundaryConditions_AddConstantNumber")
12273  RETURN
12274 999 errorsexits("cmfe_BoundaryConditions_AddConstantNumber",err,error)
12275  CALL cmfe_handleerror(err,error)
12276  RETURN
12277 
12279 
12280  !
12281  !================================================================================================================================
12282  !
12283 
12285  SUBROUTINE cmfe_boundaryconditions_addconstantobj(boundaryConditions,field,variableType,componentNumber,condition,value,err)
12286  !DLLEXPORT(cmfe_BoundaryConditions_AddConstantObj)
12287 
12288  !Argument variables
12289  TYPE(cmfe_boundaryconditionstype), INTENT(IN) :: boundaryConditions
12290  TYPE(cmfe_fieldtype), INTENT(IN) :: field
12291  INTEGER(INTG), INTENT(IN) :: variableType
12292  INTEGER(INTG), INTENT(IN) :: componentNumber
12293  INTEGER(INTG), INTENT(IN) :: condition
12294  REAL(DP), INTENT(IN) :: value
12295  INTEGER(INTG), INTENT(OUT) :: err
12296  !Local variables
12297 
12298  enters("cmfe_BoundaryConditions_AddConstantObj",err,error,*999)
12299 
12300  CALL boundary_conditions_add_constant(boundaryconditions%boundaryConditions,field%field,variabletype,componentnumber, &
12301  & condition,value,err,error,*999)
12302 
12303  exits("cmfe_BoundaryConditions_AddConstantObj")
12304  RETURN
12305 999 errorsexits("cmfe_BoundaryConditions_AddConstantObj",err,error)
12306  CALL cmfe_handleerror(err,error)
12307  RETURN
12308 
12310 
12311  !
12312  !================================================================================================================================
12313  !
12314 
12315 
12317  SUBROUTINE cmfe_boundaryconditions_setconstantnumber(regionUserNumber,problemUserNumber,controlLoopIdentifiers,solverIndex, &
12318  & variabletype,fieldusernumber,componentnumber,condition,value,err)
12319  !DLLEXPORT(cmfe_BoundaryConditions_SetConstantNumber)
12320 
12321  !Argument variables
12322  INTEGER(INTG), INTENT(IN) :: regionUserNumber
12323  INTEGER(INTG), INTENT(IN) :: problemUserNumber
12324  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
12325  INTEGER(INTG), INTENT(IN) :: solverIndex
12326  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
12327  INTEGER(INTG), INTENT(IN) :: variableType
12328  INTEGER(INTG), INTENT(IN) :: componentNumber
12329  INTEGER(INTG), INTENT(IN) :: condition
12330  REAL(DP), INTENT(IN) :: value
12331  INTEGER(INTG), INTENT(OUT) :: err
12332  !Local variables
12333  TYPE(region_type), POINTER :: REGION
12334  TYPE(problem_type), POINTER :: PROBLEM
12335  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
12336  TYPE(boundary_conditions_type), POINTER :: BOUNDARY_CONDITIONS
12337  TYPE(field_type), POINTER :: DEPENDENT_FIELD
12338  TYPE(varying_string) :: localError
12339 
12340  enters("cmfe_BoundaryConditions_SetConstantNumber",err,error,*999)
12341 
12342  NULLIFY(region)
12343  NULLIFY(problem)
12344  NULLIFY(solver_equations)
12345  NULLIFY(boundary_conditions)
12346  NULLIFY(dependent_field)
12347  CALL region_user_number_find(regionusernumber,region,err,error,*999)
12348  IF(ASSOCIATED(region)) THEN
12349  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
12350  IF(ASSOCIATED(problem)) THEN
12351  CALL problem_solver_equations_get(problem,controlloopidentifiers,solverindex,solver_equations,err,error,*999)
12352  IF(ASSOCIATED(solver_equations)) THEN
12353  CALL solver_equations_boundary_conditions_get(solver_equations,boundary_conditions,err,error,*999)
12354  IF(ASSOCIATED(boundary_conditions)) THEN
12355  CALL field_user_number_find(fieldusernumber,region,dependent_field,err,error,*999)
12356  IF(ASSOCIATED(dependent_field)) THEN
12357  CALL boundary_conditions_set_constant(boundary_conditions,dependent_field,variabletype,componentnumber, &
12358  & condition,value,err,error,*999)
12359  ELSE
12360  localerror="A field with a user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
12361  & " does not exist."
12362  CALL flagerror(localerror,err,error,*999)
12363  END IF
12364  ELSE
12365  CALL flagerror("The solver equations boundary conditions are not associated.",err,error,*999)
12366  END IF
12367  ELSE
12368  CALL flagerror("The solver equations are not associated.",err,error,*999)
12369  END IF
12370  ELSE
12371  localerror="A problem with a user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
12372  CALL flagerror(localerror,err,error,*999)
12373  END IF
12374  ELSE
12375  localerror="A region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
12376  CALL flagerror(localerror,err,error,*999)
12377  END IF
12378 
12379  exits("cmfe_BoundaryConditions_SetConstantNumber")
12380  RETURN
12381 999 errorsexits("cmfe_BoundaryConditions_SetConstantNumber",err,error)
12382  CALL cmfe_handleerror(err,error)
12383  RETURN
12384 
12386 
12387  !
12388  !================================================================================================================================
12389  !
12390 
12392  SUBROUTINE cmfe_boundaryconditions_setconstantobj(boundaryConditions,field,variableType,componentNumber,condition,value,err)
12393  !DLLEXPORT(cmfe_BoundaryConditions_SetConstantObj)
12394 
12395  !Argument variables
12396  TYPE(cmfe_boundaryconditionstype), INTENT(IN) :: boundaryConditions
12397  TYPE(cmfe_fieldtype), INTENT(IN) :: field
12398  INTEGER(INTG), INTENT(IN) :: variableType
12399  INTEGER(INTG), INTENT(IN) :: componentNumber
12400  INTEGER(INTG), INTENT(IN) :: condition
12401  REAL(DP), INTENT(IN) :: value
12402  INTEGER(INTG), INTENT(OUT) :: err
12403  !Local variables
12404 
12405  enters("cmfe_BoundaryConditions_SetConstantObj",err,error,*999)
12406 
12407  CALL boundary_conditions_set_constant(boundaryconditions%boundaryConditions,field%field,variabletype,componentnumber, &
12408  & condition,value,err,error,*999)
12409 
12410  exits("cmfe_BoundaryConditions_SetConstantObj")
12411  RETURN
12412 999 errorsexits("cmfe_BoundaryConditions_SetConstantObj",err,error)
12413  CALL cmfe_handleerror(err,error)
12414  RETURN
12415 
12417 
12418  !
12419  !================================================================================================================================
12420  !
12421 
12423  SUBROUTINE cmfe_boundaryconditions_addelementnumber(regionUserNumber,problemUserNumber,controlLoopIdentifiers,solverIndex, &
12424  & fieldusernumber,variabletype,elementusernumber,componentnumber,condition,value,err)
12425  !DLLEXPORT(cmfe_BoundaryConditions_AddElementNumber)
12426 
12427  !Argument variables
12428  INTEGER(INTG), INTENT(IN) :: regionUserNumber
12429  INTEGER(INTG), INTENT(IN) :: problemUserNumber
12430  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
12431  INTEGER(INTG), INTENT(IN) :: solverIndex
12432  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
12433  INTEGER(INTG), INTENT(IN) :: variableType
12434  INTEGER(INTG), INTENT(IN) :: elementUserNumber
12435  INTEGER(INTG), INTENT(IN) :: componentNumber
12436  INTEGER(INTG), INTENT(IN) :: condition
12437  REAL(DP), INTENT(IN) :: value
12438  INTEGER(INTG), INTENT(OUT) :: err
12439  !Local variables
12440  TYPE(region_type), POINTER :: REGION
12441  TYPE(problem_type), POINTER :: PROBLEM
12442  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
12443  TYPE(boundary_conditions_type), POINTER :: BOUNDARY_CONDITIONS
12444  TYPE(field_type), POINTER :: DEPENDENT_FIELD
12445  TYPE(varying_string) :: localError
12446 
12447  enters("cmfe_BoundaryConditions_AddElementNumber",err,error,*999)
12448 
12449  NULLIFY(region)
12450  NULLIFY(problem)
12451  NULLIFY(solver_equations)
12452  NULLIFY(boundary_conditions)
12453  NULLIFY(dependent_field)
12454  CALL region_user_number_find(regionusernumber,region,err,error,*999)
12455  IF(ASSOCIATED(region)) THEN
12456  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
12457  IF(ASSOCIATED(problem)) THEN
12458  CALL problem_solver_equations_get(problem,controlloopidentifiers,solverindex,solver_equations,err,error,*999)
12459  IF(ASSOCIATED(solver_equations)) THEN
12460  CALL solver_equations_boundary_conditions_get(solver_equations,boundary_conditions,err,error,*999)
12461  IF(ASSOCIATED(boundary_conditions)) THEN
12462  CALL field_user_number_find(fieldusernumber,region,dependent_field,err,error,*999)
12463  IF(ASSOCIATED(dependent_field)) THEN
12464  CALL boundary_conditions_add_element(boundary_conditions,dependent_field,variabletype,elementusernumber, &
12465  & componentnumber,condition,value,err,error,*999)
12466  ELSE
12467  localerror="A field with a user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
12468  & " does not exist."
12469  CALL flagerror(localerror,err,error,*999)
12470  END IF
12471  ELSE
12472  CALL flagerror("The solver equations boundary conditions are not associated.",err,error,*999)
12473  END IF
12474  ELSE
12475  CALL flagerror("The solver equations are not associated.",err,error,*999)
12476  END IF
12477  ELSE
12478  localerror="A problem with a user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
12479  CALL flagerror(localerror,err,error,*999)
12480  END IF
12481  ELSE
12482  localerror="A region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
12483  CALL flagerror(localerror,err,error,*999)
12484  END IF
12485 
12486  exits("cmfe_BoundaryConditions_AddElementNumber")
12487  RETURN
12488 999 errorsexits("cmfe_BoundaryConditions_AddElementNumber",err,error)
12489  CALL cmfe_handleerror(err,error)
12490  RETURN
12491 
12493 
12494  !
12495  !================================================================================================================================
12496  !
12497 
12499  SUBROUTINE cmfe_boundaryconditions_addelementobj(boundaryConditions,field,variableType,elementUserNumber,componentNumber, &
12500  & condition,value,err)
12501  !DLLEXPORT(cmfe_BoundaryConditions_AddElementObj)
12502 
12503  !Argument variables
12504  TYPE(cmfe_boundaryconditionstype), INTENT(IN) :: boundaryConditions
12505  TYPE(cmfe_fieldtype), INTENT(IN) :: field
12506  INTEGER(INTG), INTENT(IN) :: variableType
12507  INTEGER(INTG), INTENT(IN) :: elementUserNumber
12508  INTEGER(INTG), INTENT(IN) :: componentNumber
12509  INTEGER(INTG), INTENT(IN) :: condition
12510  REAL(DP), INTENT(IN) :: value
12511  INTEGER(INTG), INTENT(OUT) :: err
12512  !Local variables
12513 
12514  enters("cmfe_BoundaryConditions_AddElementObj",err,error,*999)
12515 
12516  CALL boundary_conditions_add_element(boundaryconditions%boundaryConditions,field%field,variabletype,elementusernumber, &
12517  & componentnumber,condition,value,err,error,*999)
12518 
12519  exits("cmfe_BoundaryConditions_AddElementObj")
12520  RETURN
12521 999 errorsexits("cmfe_BoundaryConditions_AddElementObj",err,error)
12522  CALL cmfe_handleerror(err,error)
12523  RETURN
12524 
12526 
12527  !
12528  !================================================================================================================================
12529  !
12530 
12532  SUBROUTINE cmfe_boundaryconditions_setelementnumber(regionUserNumber,problemUserNumber,controlLoopIdentifiers,solverIndex, &
12533  & fieldusernumber,variabletype,elementusernumber,componentnumber,condition,value,err)
12534  !DLLEXPORT(cmfe_BoundaryConditions_SetElementNumber)
12535 
12536  !Argument variables
12537  INTEGER(INTG), INTENT(IN) :: regionUserNumber
12538  INTEGER(INTG), INTENT(IN) :: problemUserNumber
12539  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
12540  INTEGER(INTG), INTENT(IN) :: solverIndex
12541  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
12542  INTEGER(INTG), INTENT(IN) :: variableType
12543  INTEGER(INTG), INTENT(IN) :: elementUserNumber
12544  INTEGER(INTG), INTENT(IN) :: componentNumber
12545  INTEGER(INTG), INTENT(IN) :: condition
12546  REAL(DP), INTENT(IN) :: value
12547  INTEGER(INTG), INTENT(OUT) :: err
12548  !Local variables
12549  TYPE(region_type), POINTER :: REGION
12550  TYPE(problem_type), POINTER :: PROBLEM
12551  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
12552  TYPE(boundary_conditions_type), POINTER :: BOUNDARY_CONDITIONS
12553  TYPE(field_type), POINTER :: DEPENDENT_FIELD
12554  TYPE(varying_string) :: localError
12555 
12556  enters("cmfe_BoundaryConditions_SetElementNumber",err,error,*999)
12557 
12558  NULLIFY(region)
12559  NULLIFY(problem)
12560  NULLIFY(solver_equations)
12561  NULLIFY(boundary_conditions)
12562  NULLIFY(dependent_field)
12563  CALL region_user_number_find(regionusernumber,region,err,error,*999)
12564  IF(ASSOCIATED(region)) THEN
12565  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
12566  IF(ASSOCIATED(problem)) THEN
12567  CALL problem_solver_equations_get(problem,controlloopidentifiers,solverindex,solver_equations,err,error,*999)
12568  IF(ASSOCIATED(solver_equations)) THEN
12569  CALL solver_equations_boundary_conditions_get(solver_equations,boundary_conditions,err,error,*999)
12570  IF(ASSOCIATED(boundary_conditions)) THEN
12571  CALL field_user_number_find(fieldusernumber,region,dependent_field,err,error,*999)
12572  IF(ASSOCIATED(dependent_field)) THEN
12573  CALL boundary_conditions_set_element(boundary_conditions,dependent_field,variabletype,elementusernumber, &
12574  & componentnumber,condition,value,err,error,*999)
12575  ELSE
12576  localerror="A field with a user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
12577  & " does not exist."
12578  CALL flagerror(localerror,err,error,*999)
12579  END IF
12580  ELSE
12581  CALL flagerror("The solver equations boundary conditions are not associated.",err,error,*999)
12582  END IF
12583  ELSE
12584  CALL flagerror("The solver equations are not associated.",err,error,*999)
12585  END IF
12586  ELSE
12587  localerror="A problem with a user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
12588  CALL flagerror(localerror,err,error,*999)
12589  END IF
12590  ELSE
12591  localerror="A region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
12592  CALL flagerror(localerror,err,error,*999)
12593  END IF
12594 
12595  exits("cmfe_BoundaryConditions_SetElementNumber")
12596  RETURN
12597 999 errorsexits("cmfe_BoundaryConditions_SetElementNumber",err,error)
12598  CALL cmfe_handleerror(err,error)
12599  RETURN
12600 
12602 
12603  !
12604  !================================================================================================================================
12605  !
12606 
12608  SUBROUTINE cmfe_boundaryconditions_setelementobj(boundaryConditions,field,variableType,elementUserNumber,componentNumber, &
12609  & condition,value,err)
12610  !DLLEXPORT(cmfe_BoundaryConditions_SetElementObj)
12611 
12612  !Argument variables
12613  TYPE(cmfe_boundaryconditionstype), INTENT(IN) :: boundaryConditions
12614  TYPE(cmfe_fieldtype), INTENT(IN) :: field
12615  INTEGER(INTG), INTENT(IN) :: variableType
12616  INTEGER(INTG), INTENT(IN) :: elementUserNumber
12617  INTEGER(INTG), INTENT(IN) :: componentNumber
12618  INTEGER(INTG), INTENT(IN) :: condition
12619  REAL(DP), INTENT(IN) :: value
12620  INTEGER(INTG), INTENT(OUT) :: err
12621  !Local variables
12622 
12623  enters("cmfe_BoundaryConditions_SetElementObj",err,error,*999)
12624 
12625  CALL boundary_conditions_set_element(boundaryconditions%boundaryConditions,field%field,variabletype,elementusernumber, &
12626  & componentnumber,condition,value,err,error,*999)
12627 
12628  exits("cmfe_BoundaryConditions_SetElementObj")
12629  RETURN
12630 999 errorsexits("cmfe_BoundaryConditions_SetElementObj",err,error)
12631  CALL cmfe_handleerror(err,error)
12632  RETURN
12633 
12635 
12636  !
12637  !================================================================================================================================
12638  !
12639 
12641  SUBROUTINE cmfe_boundaryconditions_addnodenumber(regionUserNumber,problemUserNumber,controlLoopIdentifiers,solverIndex, &
12642  & fieldusernumber,variabletype,versionnumber,derivativenumber,nodeusernumber,componentnumber,condition,value,err)
12643  !DLLEXPORT(cmfe_BoundaryConditions_AddNodeNumber)
12644 
12645  !Argument variables
12646  INTEGER(INTG), INTENT(IN) :: regionUserNumber
12647  INTEGER(INTG), INTENT(IN) :: problemUserNumber
12648  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
12649  INTEGER(INTG), INTENT(IN) :: solverIndex
12650  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
12651  INTEGER(INTG), INTENT(IN) :: variableType
12652  INTEGER(INTG), INTENT(IN) :: versionNumber
12653  INTEGER(INTG), INTENT(IN) :: derivativeNumber
12654  INTEGER(INTG), INTENT(IN) :: nodeUserNumber
12655  INTEGER(INTG), INTENT(IN) :: componentNumber
12656  INTEGER(INTG), INTENT(IN) :: condition
12657  REAL(DP), INTENT(IN) :: value
12658  INTEGER(INTG), INTENT(OUT) :: err
12659  !Local variables
12660  TYPE(region_type), POINTER :: REGION
12661  TYPE(problem_type), POINTER :: PROBLEM
12662  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
12663  TYPE(boundary_conditions_type), POINTER :: BOUNDARY_CONDITIONS
12664  TYPE(field_type), POINTER :: DEPENDENT_FIELD
12665  TYPE(varying_string) :: localError
12666 
12667  enters("cmfe_BoundaryConditions_AddNodeNumber",err,error,*999)
12668 
12669  NULLIFY(region)
12670  NULLIFY(problem)
12671  NULLIFY(solver_equations)
12672  NULLIFY(boundary_conditions)
12673  NULLIFY(dependent_field)
12674  CALL region_user_number_find(regionusernumber,region,err,error,*999)
12675  IF(ASSOCIATED(region)) THEN
12676  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
12677  IF(ASSOCIATED(problem)) THEN
12678  CALL problem_solver_equations_get(problem,controlloopidentifiers,solverindex,solver_equations,err,error,*999)
12679  IF(ASSOCIATED(solver_equations)) THEN
12680  CALL solver_equations_boundary_conditions_get(solver_equations,boundary_conditions,err,error,*999)
12681  IF(ASSOCIATED(boundary_conditions)) THEN
12682  CALL field_user_number_find(fieldusernumber,region,dependent_field,err,error,*999)
12683  IF(ASSOCIATED(dependent_field)) THEN
12684  CALL boundary_conditions_add_node(boundary_conditions,dependent_field,variabletype,versionnumber,derivativenumber, &
12685  & nodeusernumber,componentnumber,condition,value,err,error,*999)
12686  ELSE
12687  localerror="A field with a user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
12688  & " does not exist."
12689  CALL flagerror(localerror,err,error,*999)
12690  END IF
12691  ELSE
12692  CALL flagerror("The solver equations boundary conditions are not associated.",err,error,*999)
12693  END IF
12694  ELSE
12695  CALL flagerror("The solver equations are not associated.",err,error,*999)
12696  END IF
12697  ELSE
12698  localerror="A problem with a user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
12699  CALL flagerror(localerror,err,error,*999)
12700  END IF
12701  ELSE
12702  localerror="A region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
12703  CALL flagerror(localerror,err,error,*999)
12704  END IF
12705 
12706  exits("cmfe_BoundaryConditions_AddNodeNumber")
12707  RETURN
12708 999 errorsexits("cmfe_BoundaryConditions_AddNodeNumber",err,error)
12709  CALL cmfe_handleerror(err,error)
12710  RETURN
12711 
12713 
12714  !
12715  !================================================================================================================================
12716  !
12717 
12719  SUBROUTINE cmfe_boundaryconditions_addnodeobj(boundaryConditions,field,variableType,versionNumber,derivativeNumber, &
12720  & nodeusernumber,componentnumber,condition,value,err)
12721  !DLLEXPORT(cmfe_BoundaryConditions_AddNodeObj)
12722 
12723  !Argument variables
12724  TYPE(cmfe_boundaryconditionstype), INTENT(IN) :: boundaryConditions
12725  TYPE(cmfe_fieldtype), INTENT(IN) :: field
12726  INTEGER(INTG), INTENT(IN) :: variableType
12727  INTEGER(INTG), INTENT(IN) :: versionNumber
12728  INTEGER(INTG), INTENT(IN) :: derivativeNumber
12729  INTEGER(INTG), INTENT(IN) :: nodeUserNumber
12730  INTEGER(INTG), INTENT(IN) :: componentNumber
12731  INTEGER(INTG), INTENT(IN) :: condition
12732  REAL(DP), INTENT(IN) :: value
12733  INTEGER(INTG), INTENT(OUT) :: err
12734  !Local variables
12735 
12736  enters("cmfe_BoundaryConditions_AddNodeObj",err,error,*999)
12737 
12738  CALL boundary_conditions_add_node(boundaryconditions%boundaryConditions,field%field,variabletype,versionnumber, &
12739  & derivativenumber,nodeusernumber,componentnumber,condition,value,err,error,*999)
12740 
12741  exits("cmfe_BoundaryConditions_AddNodeObj")
12742  RETURN
12743 999 errorsexits("cmfe_BoundaryConditions_AddNodeObj",err,error)
12744  CALL cmfe_handleerror(err,error)
12745  RETURN
12746 
12747  END SUBROUTINE cmfe_boundaryconditions_addnodeobj
12748 
12749  !
12750  !================================================================================================================================
12751  !
12752 
12754  SUBROUTINE cmfe_boundaryconditions_setnodenumber0(regionUserNumber,problemUserNumber,controlLoopIdentifier,solverIndex, &
12755  & fieldusernumber,variabletype,versionnumber,derivativenumber,nodeusernumber,componentnumber,condition,value,err)
12756  !DLLEXPORT(cmfe_BoundaryConditions_SetNodeNumber0)
12757 
12758  !Argument variables
12759  INTEGER(INTG), INTENT(IN) :: regionUserNumber
12760  INTEGER(INTG), INTENT(IN) :: problemUserNumber
12761  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
12762  INTEGER(INTG), INTENT(IN) :: solverIndex
12763  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
12764  INTEGER(INTG), INTENT(IN) :: variableType
12765  INTEGER(INTG), INTENT(IN) :: versionNumber
12766  INTEGER(INTG), INTENT(IN) :: derivativeNumber
12767  INTEGER(INTG), INTENT(IN) :: nodeUserNumber
12768  INTEGER(INTG), INTENT(IN) :: componentNumber
12769  INTEGER(INTG), INTENT(IN) :: condition
12770  REAL(DP), INTENT(IN) :: value
12771  INTEGER(INTG), INTENT(OUT) :: err
12772  !Local variables
12773  TYPE(region_type), POINTER :: REGION
12774  TYPE(problem_type), POINTER :: PROBLEM
12775  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
12776  TYPE(boundary_conditions_type), POINTER :: BOUNDARY_CONDITIONS
12777  TYPE(field_type), POINTER :: DEPENDENT_FIELD
12778  TYPE(varying_string) :: localError
12779 
12780  enters("cmfe_BoundaryConditions_SetNodeNumber0",err,error,*999)
12781 
12782  NULLIFY(region)
12783  NULLIFY(problem)
12784  NULLIFY(solver_equations)
12785  NULLIFY(boundary_conditions)
12786  NULLIFY(dependent_field)
12787  CALL region_user_number_find(regionusernumber,region,err,error,*999)
12788  IF(ASSOCIATED(region)) THEN
12789  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
12790  IF(ASSOCIATED(problem)) THEN
12791  CALL problem_solver_equations_get(problem,controlloopidentifier,solverindex,solver_equations,err,error,*999)
12792  IF(ASSOCIATED(solver_equations)) THEN
12793  CALL solver_equations_boundary_conditions_get(solver_equations,boundary_conditions,err,error,*999)
12794  IF(ASSOCIATED(boundary_conditions)) THEN
12795  CALL field_user_number_find(fieldusernumber,region,dependent_field,err,error,*999)
12796  IF(ASSOCIATED(dependent_field)) THEN
12797  CALL boundary_conditions_set_node(boundary_conditions,dependent_field,variabletype,versionnumber,derivativenumber, &
12798  & nodeusernumber,componentnumber,condition,value,err,error,*999)
12799  ELSE
12800  localerror="A field with a user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
12801  & " does not exist."
12802  CALL flagerror(localerror,err,error,*999)
12803  END IF
12804  ELSE
12805  CALL flagerror("The solver equations boundary conditions are not associated.",err,error,*999)
12806  END IF
12807  ELSE
12808  CALL flagerror("The solver equations are not associated.",err,error,*999)
12809  END IF
12810  ELSE
12811  localerror="A problem with a user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
12812  CALL flagerror(localerror,err,error,*999)
12813  END IF
12814  ELSE
12815  localerror="A region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
12816  CALL flagerror(localerror,err,error,*999)
12817  END IF
12818 
12819  exits("cmfe_BoundaryConditions_SetNodeNumber0")
12820  RETURN
12821 999 errorsexits("cmfe_BoundaryConditions_SetNodeNumber0",err,error)
12822  CALL cmfe_handleerror(err,error)
12823  RETURN
12824 
12826 
12827  !
12828  !================================================================================================================================
12829  !
12830 
12832  SUBROUTINE cmfe_boundaryconditions_setnodenumber1(regionUserNumber,problemUserNumber,controlLoopIdentifiers,solverIndex, &
12833  & fieldusernumber,variabletype,versionnumber,derivativenumber,nodeusernumber,componentnumber,condition,value,err)
12834  !DLLEXPORT(cmfe_BoundaryConditions_SetNodeNumber1)
12835 
12836  !Argument variables
12837  INTEGER(INTG), INTENT(IN) :: regionUserNumber
12838  INTEGER(INTG), INTENT(IN) :: problemUserNumber
12839  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
12840  INTEGER(INTG), INTENT(IN) :: solverIndex
12841  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
12842  INTEGER(INTG), INTENT(IN) :: variableType
12843  INTEGER(INTG), INTENT(IN) :: versionNumber
12844  INTEGER(INTG), INTENT(IN) :: derivativeNumber
12845  INTEGER(INTG), INTENT(IN) :: nodeUserNumber
12846  INTEGER(INTG), INTENT(IN) :: componentNumber
12847  INTEGER(INTG), INTENT(IN) :: condition
12848  REAL(DP), INTENT(IN) :: value
12849  INTEGER(INTG), INTENT(OUT) :: err
12850  !Local variables
12851  TYPE(region_type), POINTER :: REGION
12852  TYPE(problem_type), POINTER :: PROBLEM
12853  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
12854  TYPE(boundary_conditions_type), POINTER :: BOUNDARY_CONDITIONS
12855  TYPE(field_type), POINTER :: DEPENDENT_FIELD
12856  TYPE(varying_string) :: localError
12857 
12858  enters("cmfe_BoundaryConditions_SetNodeNumber1",err,error,*999)
12859 
12860  NULLIFY(region)
12861  NULLIFY(problem)
12862  NULLIFY(solver_equations)
12863  NULLIFY(boundary_conditions)
12864  NULLIFY(dependent_field)
12865  CALL region_user_number_find(regionusernumber,region,err,error,*999)
12866  IF(ASSOCIATED(region)) THEN
12867  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
12868  IF(ASSOCIATED(problem)) THEN
12869  CALL problem_solver_equations_get(problem,controlloopidentifiers,solverindex,solver_equations,err,error,*999)
12870  IF(ASSOCIATED(solver_equations)) THEN
12871  CALL solver_equations_boundary_conditions_get(solver_equations,boundary_conditions,err,error,*999)
12872  IF(ASSOCIATED(boundary_conditions)) THEN
12873  CALL field_user_number_find(fieldusernumber,region,dependent_field,err,error,*999)
12874  IF(ASSOCIATED(dependent_field)) THEN
12875  CALL boundary_conditions_set_node(boundary_conditions,dependent_field,variabletype,versionnumber,derivativenumber, &
12876  & nodeusernumber,componentnumber,condition,value,err,error,*999)
12877  ELSE
12878  localerror="A field with a user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
12879  & " does not exist."
12880  CALL flagerror(localerror,err,error,*999)
12881  END IF
12882  ELSE
12883  CALL flagerror("The solver equations boundary conditions are not associated.",err,error,*999)
12884  END IF
12885  ELSE
12886  CALL flagerror("The solver equations are not associated.",err,error,*999)
12887  END IF
12888  ELSE
12889  localerror="A problem with a user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
12890  CALL flagerror(localerror,err,error,*999)
12891  END IF
12892  ELSE
12893  localerror="A region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
12894  CALL flagerror(localerror,err,error,*999)
12895  END IF
12896 
12897  exits("cmfe_BoundaryConditions_SetNodeNumber1")
12898  RETURN
12899 999 errorsexits("cmfe_BoundaryConditions_SetNodeNumber1",err,error)
12900  CALL cmfe_handleerror(err,error)
12901  RETURN
12902 
12904 
12905  !
12906  !================================================================================================================================
12907  !
12908 
12910  SUBROUTINE cmfe_boundaryconditions_setnodeobj(boundaryConditions,field,variableType,versionNumber,derivativeNumber, &
12911  & nodeusernumber,componentnumber,condition,value,err)
12912  !DLLEXPORT(cmfe_BoundaryConditions_SetNodeObj)
12913 
12914  !Argument variables
12915  TYPE(cmfe_boundaryconditionstype), INTENT(IN) :: boundaryConditions
12916  TYPE(cmfe_fieldtype), INTENT(IN) :: field
12917  INTEGER(INTG), INTENT(IN) :: variableType
12918  INTEGER(INTG), INTENT(IN) :: versionNumber
12919  INTEGER(INTG), INTENT(IN) :: derivativeNumber
12920  INTEGER(INTG), INTENT(IN) :: nodeUserNumber
12921  INTEGER(INTG), INTENT(IN) :: componentNumber
12922  INTEGER(INTG), INTENT(IN) :: condition
12923  REAL(DP), INTENT(IN) :: value
12924  INTEGER(INTG), INTENT(OUT) :: err
12925  !Local variables
12926 
12927  enters("cmfe_BoundaryConditions_SetNodeObj",err,error,*999)
12928 
12929  CALL boundary_conditions_set_node(boundaryconditions%boundaryConditions,field%field,variabletype,versionnumber, &
12930  & derivativenumber,nodeusernumber,componentnumber,condition,value,err,error,*999)
12931 
12932  exits("cmfe_BoundaryConditions_SetNodeObj")
12933  RETURN
12934 999 errorsexits("cmfe_BoundaryConditions_SetNodeObj",err,error)
12935  CALL cmfe_handleerror(err,error)
12936  RETURN
12937 
12938  END SUBROUTINE cmfe_boundaryconditions_setnodeobj
12939 
12940  !
12941  !================================================================================================================================
12942  !
12943 
12946  & problemusernumber,controlloopidentifier,solverindex,sparsitytype,err)
12947  !DLLEXPORT(cmfe_BoundaryConditions_NeumannSparsityTypeSetNumber0)
12948 
12949  !Argument variables
12950  INTEGER(INTG), INTENT(IN) :: problemUserNumber
12951  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
12952  INTEGER(INTG), INTENT(IN) :: solverIndex
12953  INTEGER(INTG), INTENT(IN) :: sparsityType
12954  INTEGER(INTG), INTENT(OUT) :: err
12955  !Local variables
12956  TYPE(problem_type), POINTER :: problem
12957  TYPE(solver_equations_type), POINTER :: solverEquations
12958  TYPE(boundary_conditions_type), POINTER :: boundaryConditions
12959  TYPE(varying_string) :: localError
12960 
12961  enters("cmfe_BoundaryConditions_NeumannSparsityTypeSetNumber0",err,error,*999)
12962 
12963  NULLIFY(problem)
12964  NULLIFY(solverequations)
12965  NULLIFY(boundaryconditions)
12966  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
12967  IF(ASSOCIATED(problem)) THEN
12968  CALL problem_solver_equations_get(problem,controlloopidentifier,solverindex,solverequations,err,error,*999)
12969  IF(ASSOCIATED(solverequations)) THEN
12970  CALL solver_equations_boundary_conditions_get(solverequations,boundaryconditions,err,error,*999)
12971  IF(ASSOCIATED(boundaryconditions)) THEN
12972  CALL boundaryconditions_neumannsparsitytypeset(boundaryconditions,sparsitytype,err,error,*999)
12973  ELSE
12974  localerror="Solver equations boundary conditions is not associated."
12975  CALL flagerror(localerror,err,error,*999)
12976  END IF
12977  ELSE
12978  localerror="Solver equations with the given solver index and control loop identifier do not exist."
12979  CALL flagerror(localerror,err,error,*999)
12980  END IF
12981  ELSE
12982  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
12983  CALL flagerror(localerror,err,error,*999)
12984  END IF
12985 
12986  exits("cmfe_BoundaryConditions_NeumannSparsityTypeSetNumber0")
12987  RETURN
12988 999 errors("cmfe_BoundaryConditions_NeumannSparsityTypeSetNumber0",err,error)
12989  exits("cmfe_BoundaryConditions_NeumannSparsityTypeSetNumber0")
12990  CALL cmfe_handleerror(err,error)
12991  RETURN
12992 
12994 
12995  !
12996  !================================================================================================================================
12997  !
12998 
13001  & problemusernumber,controlloopidentifiers,solverindex,sparsitytype,err)
13002  !DLLEXPORT(cmfe_BoundaryConditions_NeumannSparsityTypeSetNumber1)
13003 
13004  !Argument variables
13005  INTEGER(INTG), INTENT(IN) :: problemUserNumber
13006  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
13007  INTEGER(INTG), INTENT(IN) :: solverIndex
13008  INTEGER(INTG), INTENT(IN) :: sparsityType
13009  INTEGER(INTG), INTENT(OUT) :: err
13010  !Local variables
13011  TYPE(problem_type), POINTER :: problem
13012  TYPE(solver_equations_type), POINTER :: solverEquations
13013  TYPE(boundary_conditions_type), POINTER :: boundaryConditions
13014  TYPE(varying_string) :: localError
13015 
13016  enters("cmfe_BoundaryConditions_NeumannSparsityTypeSetNumber1",err,error,*999)
13017 
13018  NULLIFY(problem)
13019  NULLIFY(solverequations)
13020  NULLIFY(boundaryconditions)
13021  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
13022  IF(ASSOCIATED(problem)) THEN
13023  CALL problem_solver_equations_get(problem,controlloopidentifiers,solverindex,solverequations,err,error,*999)
13024  IF(ASSOCIATED(solverequations)) THEN
13025  CALL solver_equations_boundary_conditions_get(solverequations,boundaryconditions,err,error,*999)
13026  IF(ASSOCIATED(boundaryconditions)) THEN
13027  CALL boundaryconditions_neumannsparsitytypeset(boundaryconditions,sparsitytype,err,error,*999)
13028  ELSE
13029  localerror="Solver equations boundary conditions is not associated."
13030  CALL flagerror(localerror,err,error,*999)
13031  END IF
13032  ELSE
13033  localerror="Solver equations with the given solver index and control loop identifier do not exist."
13034  CALL flagerror(localerror,err,error,*999)
13035  END IF
13036  ELSE
13037  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
13038  CALL flagerror(localerror,err,error,*999)
13039  END IF
13040 
13041  exits("cmfe_BoundaryConditions_NeumannSparsityTypeSetNumber1")
13042  RETURN
13043 999 errors("cmfe_BoundaryConditions_NeumannSparsityTypeSetNumber1",err,error)
13044  exits("cmfe_BoundaryConditions_NeumannSparsityTypeSetNumber1")
13045  CALL cmfe_handleerror(err,error)
13046  RETURN
13047 
13049 
13050  !
13051  !================================================================================================================================
13052  !
13053 
13055  SUBROUTINE cmfe_boundaryconditions_neumannsparsitytypesetobj(boundaryConditions,sparsityType,err)
13056  !DLLEXPORT(cmfe_BoundaryConditions_NeumannSparsityTypeSetObj)
13057 
13058  !Argument variables
13059  TYPE(cmfe_boundaryconditionstype), INTENT(INOUT) :: boundaryConditions
13060  INTEGER(INTG), INTENT(IN) :: sparsityType
13061  INTEGER(INTG), INTENT(OUT) :: err
13062  !Local variables
13063 
13064  enters("cmfe_BoundaryConditions_NeumannSparsityTypeSetObj",err,error,*999)
13065 
13066  CALL boundaryconditions_neumannsparsitytypeset(boundaryconditions%boundaryConditions,sparsitytype,err,error,*999)
13067 
13068  exits("cmfe_BoundaryConditions_NeumannSparsityTypeSetObj")
13069  RETURN
13070 999 errors("cmfe_BoundaryConditions_NeumannSparsityTypeSetObj",err,error)
13071  exits("cmfe_BoundaryConditions_NeumannSparsityTypeSetObj")
13072  CALL cmfe_handleerror(err,error)
13073  RETURN
13074 
13076 
13077  !
13078  !================================================================================================================================
13079  !
13080 
13082  SUBROUTINE cmfe_boundaryconditions_constrainnodedofsequalnumber(regionUserNumber,problemUserNumber,controlLoopIdentifier, &
13083  & solverindex,fieldusernumber,fieldvariabletype,versionnumber,derivativenumber,component,nodes,coefficient,err)
13084  !DLLEXPORT(cmfe_BoundaryConditions_ConstrainNodeDofsEqualNumber)
13085 
13086  !Argument variables
13087  INTEGER(INTG), INTENT(IN) :: regionUserNumber
13088  INTEGER(INTG), INTENT(IN) :: problemUserNumber
13089  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
13090  INTEGER(INTG), INTENT(IN) :: solverIndex
13091  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
13092  INTEGER(INTG), INTENT(IN) :: fieldVariableType
13093  INTEGER(INTG), INTENT(IN) :: versionNumber
13094  INTEGER(INTG), INTENT(IN) :: derivativeNumber
13095  INTEGER(INTG), INTENT(IN) :: component
13096  INTEGER(INTG), INTENT(IN) :: nodes(:)
13097  REAL(DP), INTENT(IN) :: coefficient
13098  INTEGER(INTG), INTENT(OUT) :: err
13099  !Local variables
13100  TYPE(region_type), POINTER :: region
13101  TYPE(problem_type), POINTER :: problem
13102  TYPE(solver_equations_type), POINTER :: solverEquations
13103  TYPE(boundary_conditions_type), POINTER :: boundaryConditions
13104  TYPE(field_type), POINTER :: field
13105  TYPE(varying_string) :: localError
13106 
13107  enters("cmfe_BoundaryConditions_ConstrainNodeDofsEqualNumber",err,error,*999)
13108 
13109  NULLIFY(region)
13110  NULLIFY(problem)
13111  NULLIFY(solverequations)
13112  NULLIFY(field)
13113 
13114  CALL region_user_number_find(regionusernumber,region,err,error,*999)
13115  IF(ASSOCIATED(region)) THEN
13116  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
13117  IF(ASSOCIATED(problem)) THEN
13118  CALL problem_solver_equations_get(problem,controlloopidentifier,solverindex,solverequations,err,error,*999)
13119  IF(ASSOCIATED(solverequations)) THEN
13120  CALL solver_equations_boundary_conditions_get(solverequations,boundaryconditions,err,error,*999)
13121  IF(ASSOCIATED(boundaryconditions)) THEN
13122  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
13123  IF(ASSOCIATED(field)) THEN
13124  CALL boundaryconditions_constrainnodedofsequal(boundaryconditions,field, &
13125  & fieldvariabletype,versionnumber,derivativenumber,component,nodes,coefficient,err,error,*999)
13126  ELSE
13127  localerror="A field with a user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
13128  & " does not exist."
13129  CALL flagerror(localerror,err,error,*999)
13130  END IF
13131  ELSE
13132  localerror="The boundary conditions for the solver equations are not associated."
13133  CALL flagerror(localerror,err,error,*999)
13134  END IF
13135  ELSE
13136  CALL flagerror("The solver equations are not associated.",err,error,*999)
13137  END IF
13138  ELSE
13139  localerror="A problem with a user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
13140  CALL flagerror(localerror,err,error,*999)
13141  END IF
13142  ELSE
13143  localerror="A region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
13144  CALL flagerror(localerror,err,error,*999)
13145  END IF
13146 
13147  exits("cmfe_BoundaryConditions_ConstrainNodeDofsEqualNumber")
13148  RETURN
13149 999 errors("cmfe_BoundaryConditions_ConstrainNodeDofsEqualNumber",err,error)
13150  exits("cmfe_BoundaryConditions_ConstrainNodeDofsEqualNumber")
13151  CALL cmfe_handleerror(err,error)
13152  RETURN
13153 
13155 
13156  !
13157  !================================================================================================================================
13158  !
13159 
13162  & boundaryconditions,field,fieldvariabletype,versionnumber,derivativenumber,component,nodes,coefficient,err)
13163  !DLLEXPORT(cmfe_BoundaryConditions_ConstrainNodeDofsEqualObj)
13164 
13165  !Argument variables
13166  TYPE(cmfe_boundaryconditionstype), INTENT(IN) :: boundaryConditions
13167  TYPE(cmfe_fieldtype), INTENT(IN) :: field
13168  INTEGER(INTG), INTENT(IN) :: fieldVariableType
13169  INTEGER(INTG), INTENT(IN) :: versionNumber
13170  INTEGER(INTG), INTENT(IN) :: derivativeNumber
13171  INTEGER(INTG), INTENT(IN) :: component
13172  INTEGER(INTG), INTENT(IN) :: nodes(:)
13173  REAL(DP), INTENT(IN) :: coefficient
13174  INTEGER(INTG), INTENT(OUT) :: err
13175 
13176  enters("cmfe_BoundaryConditions_ConstrainNodeDofsEqualObj",err,error,*999)
13177 
13178  CALL boundaryconditions_constrainnodedofsequal(boundaryconditions%boundaryConditions,field%field, &
13179  & fieldvariabletype,versionnumber,derivativenumber,component,nodes,coefficient,err,error,*999)
13180 
13181  exits("cmfe_BoundaryConditions_ConstrainNodeDofsEqualObj")
13182  RETURN
13183 999 errors("cmfe_BoundaryConditions_ConstrainNodeDofsEqualObj",err,error)
13184  exits("cmfe_BoundaryConditions_ConstrainNodeDofsEqualObj")
13185  CALL cmfe_handleerror(err,error)
13186  RETURN
13187 
13189 
13190 !!==================================================================================================================================
13191 !!
13192 !! CMISS
13193 !!
13194 !!==================================================================================================================================
13195 
13197  SUBROUTINE cmfe_errorhandlingmodeget(errorHandlingMode,err)
13198  !DLLEXPORT(cmfe_ErrorHandlingModeGet)
13199 
13200  !Argument variables
13201  INTEGER(INTG), INTENT(OUT) :: errorHandlingMode
13202  INTEGER(INTG), INTENT(OUT) :: err
13203  !Local variables
13204 
13205  enters("cmfe_ErrorHandlingModeGet",err,error,*999)
13206 
13207  CALL cmfe_errorhandlingmodeget_(errorhandlingmode,err,error,*999)
13208 
13209  exits("cmfe_ErrorHandlingModeGet")
13210  RETURN
13211 999 errorsexits("cmfe_ErrorHandlingModeGet",err,error)
13212  CALL cmfe_handleerror(err,error)
13213  RETURN
13214 
13215  END SUBROUTINE cmfe_errorhandlingmodeget
13216 
13217  !
13218  !================================================================================================================================
13219  !
13220 
13222  SUBROUTINE cmfe_errorhandlingmodeset(errorHandlingMode,err)
13223  !DLLEXPORT(cmfe_ErrorHandlingModeSet)
13224 
13225  !Argument variables
13226  INTEGER(INTG), INTENT(IN) :: errorHandlingMode
13227  INTEGER(INTG), INTENT(OUT) :: err
13228  !Local variables
13229 
13230  enters("cmfe_ErrorHandlingModeSet",err,error,*999)
13231 
13232  CALL cmfe_errorhandlingmodeset_(errorhandlingmode,err,error,*999)
13233 
13234  exits("cmfe_ErrorHandlingModeSet")
13235  RETURN
13236 999 errorsexits("cmfe_ErrorHandlingModeSet",err,error)
13237  CALL cmfe_handleerror(err,error)
13238  RETURN
13239 
13240  END SUBROUTINE cmfe_errorhandlingmodeset
13241 
13242  !
13243  !================================================================================================================================
13244  !
13245 
13247  SUBROUTINE cmfe_extracterrormessagec(errorMessage,err)
13248  !DLLEXPORT(cmfe_ExtractErrorMessageC)
13249 
13250  !Argument variables
13251  CHARACTER(LEN=*), INTENT(OUT) :: errorMessage
13252  INTEGER(INTG), INTENT(IN) :: err
13253  !Local variables
13254 
13255  CALL extracterrormessage(errormessage,err,error,*999)
13256 
13257  RETURN
13258 999 RETURN
13259 
13260  END SUBROUTINE cmfe_extracterrormessagec
13261 
13262  !
13263  !================================================================================================================================
13264  !
13265 
13267  SUBROUTINE cmfe_extracterrormessagevs(errorMessage,err)
13268  !DLLEXPORT(cmfe_ExtractErrorMessageVS)
13269 
13270  !Argument variables
13271  TYPE(varying_string), INTENT(OUT) :: errorMessage
13272  INTEGER(INTG), INTENT(IN) :: err
13273  !Local variables
13274 
13275  CALL extracterrormessage(errormessage,err,error,*999)
13276 
13277  RETURN
13278 999 RETURN
13279 
13280  END SUBROUTINE cmfe_extracterrormessagevs
13281 
13282  !
13283  !================================================================================================================================
13284  !
13285 
13287  SUBROUTINE cmfe_randomseedsget0(randomSeed,err)
13288  !DLLEXPORT(cmfe_RandomSeedsGet0)
13289 
13290  !Argument variables
13291  INTEGER(INTG), INTENT(OUT) :: randomSeed
13292  INTEGER(INTG), INTENT(OUT) :: err
13293  !Local variables
13294  INTEGER(INTG) :: RandomSeeds(1)
13295 
13296  enters("cmfe_RandomSeedsGet0",err,error,*999)
13297 
13298  CALL random_seeds_get(randomseeds,err,error,*999)
13299  randomseed=randomseeds(1)
13300 
13301  exits("cmfe_RandomSeedsGet0")
13302  RETURN
13303 999 errorsexits("cmfe_RandomSeedsGet0",err,error)
13304  CALL cmfe_handleerror(err,error)
13305  RETURN
13306 
13307  END SUBROUTINE cmfe_randomseedsget0
13308 
13309  !
13310  !================================================================================================================================
13311  !
13312 
13314  SUBROUTINE cmfe_randomseedsget1(randomSeeds,err)
13315  !DLLEXPORT(cmfe_RandomSeedsGet1)
13316 
13317  !Argument variables
13318  INTEGER(INTG), INTENT(OUT) :: randomSeeds(:)
13319  INTEGER(INTG), INTENT(OUT) :: err
13320  !Local variables
13321 
13322  enters("cmfe_RandomSeedsGet1",err,error,*999)
13323 
13324  CALL random_seeds_get(randomseeds,err,error,*999)
13325 
13326  exits("cmfe_RandomSeedsGet1")
13327  RETURN
13328 999 errorsexits("cmfe_RandomSeedsGet1",err,error)
13329  CALL cmfe_handleerror(err,error)
13330  RETURN
13331 
13332  END SUBROUTINE cmfe_randomseedsget1
13333 
13334  !
13335  !================================================================================================================================
13336  !
13337 
13339  SUBROUTINE cmfe_randomseedssizeget(randomSeedsSize,err)
13340  !DLLEXPORT(cmfe_RandomSeedsSizeGet)
13341 
13342  !Argument variables
13343  INTEGER(INTG), INTENT(OUT) :: randomSeedsSize
13344  INTEGER(INTG), INTENT(OUT) :: err
13345  !Local variables
13346 
13347  enters("cmfe_RandomSeedsSizeGet",err,error,*999)
13348 
13349  CALL random_seeds_size_get(randomseedssize,err,error,*999)
13350 
13351  exits("cmfe_RandomSeedsSizeGet")
13352  RETURN
13353 999 errorsexits("cmfe_RandomSeedsSizeGet",err,error)
13354  CALL cmfe_handleerror(err,error)
13355  RETURN
13356 
13357  END SUBROUTINE cmfe_randomseedssizeget
13358 
13359  !
13360  !================================================================================================================================
13361  !
13362 
13364  SUBROUTINE cmfe_randomseedsset0(randomSeed,err)
13365  !DLLEXPORT(cmfe_RandomSeedsSet0)
13366 
13367  !Argument variables
13368  INTEGER(INTG), INTENT(IN) :: randomSeed
13369  INTEGER(INTG), INTENT(OUT) :: err
13370  !Local variables
13371 
13372  enters("cmfe_RandomSeedsSet0",err,error,*999)
13373 
13374  CALL random_seeds_set([randomseed],err,error,*999)
13375 
13376  exits("cmfe_RandomSeedsSet0")
13377  RETURN
13378 999 errorsexits("cmfe_RandomSeedsSet0",err,error)
13379  CALL cmfe_handleerror(err,error)
13380  RETURN
13381 
13382  END SUBROUTINE cmfe_randomseedsset0
13383 
13384  !
13385  !================================================================================================================================
13386  !
13387 
13389  SUBROUTINE cmfe_randomseedsset1(randomSeeds,err)
13390  !DLLEXPORT(cmfe_RandomSeedsSet1)
13391 
13392  !Argument variables
13393  INTEGER(INTG), INTENT(IN) :: randomSeeds(:)
13394  INTEGER(INTG), INTENT(OUT) :: err
13395  !Local variables
13396 
13397  enters("cmfe_RandomSeedsSet1",err,error,*999)
13398 
13399  CALL random_seeds_set(randomseeds,err,error,*999)
13400 
13401  exits("cmfe_RandomSeedsSet1")
13402  RETURN
13403 999 errorsexits("cmfe_RandomSeedsSet1",err,error)
13404  CALL cmfe_handleerror(err,error)
13405  RETURN
13406 
13407  END SUBROUTINE cmfe_randomseedsset1
13408 
13409 !!==================================================================================================================================
13410 !!
13411 !! CMISS_CELLML
13412 !!
13413 !!==================================================================================================================================
13414 
13416  SUBROUTINE cmfe_cellml_variablesetasknownnumberc(regionUserNumber,CellMLUserNumber,CellMLModelUserNumber,variableID,err)
13417  !DLLEXPORT(cmfe_CellML_VariableSetAsKnownNumberC)
13418 
13419  !Argument variables
13420  INTEGER(INTG), INTENT(IN) :: regionUserNumber
13421  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
13422  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
13423  CHARACTER(LEN=*), INTENT(IN) :: variableID
13424  INTEGER(INTG), INTENT(OUT) :: err
13425  !Local variables
13426  TYPE(cellml_type), POINTER :: CELLML
13427  TYPE(region_type), POINTER :: REGION
13428  TYPE(varying_string) :: localError
13429 
13430  enters("cmfe_CellML_VariableSetAsKnownNumberC",err,error,*999)
13431 
13432  NULLIFY(region)
13433  NULLIFY(cellml)
13434  CALL region_user_number_find(regionusernumber,region,err,error,*999)
13435  IF(ASSOCIATED(region)) THEN
13436  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
13437  IF(ASSOCIATED(cellml)) THEN
13438  CALL cellml_variable_set_as_known(cellml,cellmlmodelusernumber,variableid,err,error,*999)
13439  ELSE
13440  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
13441  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
13442  CALL flagerror(localerror,err,error,*999)
13443  END IF
13444  ELSE
13445  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
13446  & " does not exist."
13447  CALL flagerror(localerror,err,error,*999)
13448  END IF
13449 
13450  exits("cmfe_CellML_VariableSetAsKnownNumberC")
13451  RETURN
13452 999 errorsexits("cmfe_CellML_VariableSetAsKnownNumberC",err,error)
13453  CALL cmfe_handleerror(err,error)
13454  RETURN
13455 
13457 
13458  !
13459  !================================================================================================================================
13460  !
13461 
13463  SUBROUTINE cmfe_cellml_variablesetasknownobjc(CellML,CellMLModelUserNumber,variableID,err)
13464  !DLLEXPORT(cmfe_CellML_VariableSetAsKnownObjC)
13465 
13466  !Argument variables
13467  TYPE(cmfe_cellmltype), INTENT(IN) :: CellML
13468  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
13469  CHARACTER(LEN=*), INTENT(IN) :: variableID
13470  INTEGER(INTG), INTENT(OUT) :: err
13471  !Local variables
13472 
13473  enters("cmfe_CellML_VariableSetAsKnownObjC",err,error,*999)
13474 
13475  CALL cellml_variable_set_as_known(cellml%CELLML,cellmlmodelusernumber,variableid,err,error,*999)
13476 
13477  exits("cmfe_CellML_VariableSetAsKnownObjC")
13478  RETURN
13479 999 errorsexits("cmfe_CellML_VariableSetAsKnownObjC",err,error)
13480  CALL cmfe_handleerror(err,error)
13481  RETURN
13482 
13483  END SUBROUTINE cmfe_cellml_variablesetasknownobjc
13484 
13485  !
13486  !================================================================================================================================
13487  !
13488 
13490  SUBROUTINE cmfe_cellml_variablesetasknownnumbervs(regionUserNumber,CellMLUserNumber,CellMLModelUserNumber,variableID,err)
13491  !DLLEXPORT(cmfe_CellML_VariableSetAsKnownNumberVS)
13492 
13493  !Argument variables
13494  INTEGER(INTG), INTENT(IN) :: regionUserNumber
13495  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
13496  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
13497  TYPE(varying_string), INTENT(IN) :: variableID
13498  INTEGER(INTG), INTENT(OUT) :: err
13499  !Local variables
13500  TYPE(cellml_type), POINTER :: CELLML
13501  TYPE(region_type), POINTER :: REGION
13502  TYPE(varying_string) :: localError
13503 
13504  enters("cmfe_CellML_VariableSetAsKnownNumberVS",err,error,*999)
13505 
13506  NULLIFY(region)
13507  NULLIFY(cellml)
13508  CALL region_user_number_find(regionusernumber,region,err,error,*999)
13509  IF(ASSOCIATED(region)) THEN
13510  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
13511  IF(ASSOCIATED(cellml)) THEN
13512  CALL cellml_variable_set_as_known(cellml,cellmlmodelusernumber,variableid,err,error,*999)
13513  ELSE
13514  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
13515  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
13516  CALL flagerror(localerror,err,error,*999)
13517  END IF
13518  ELSE
13519  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
13520  & " does not exist."
13521  CALL flagerror(localerror,err,error,*999)
13522  END IF
13523 
13524  exits("cmfe_CellML_VariableSetAsKnownNumberVS")
13525  RETURN
13526 999 errorsexits("cmfe_CellML_VariableSetAsKnownNumberVS",err,error)
13527  CALL cmfe_handleerror(err,error)
13528  RETURN
13529 
13531 
13532  !
13533  !================================================================================================================================
13534  !
13535 
13537  SUBROUTINE cmfe_cellml_variablesetasknownobjvs(CellML,CellMLModelUserNumber,variableID,err)
13538  !DLLEXPORT(cmfe_CellML_VariableSetAsKnownObjVS)
13539 
13540  !Argument variables
13541  TYPE(cmfe_cellmltype), INTENT(IN) :: CellML
13542  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
13543  TYPE(varying_string), INTENT(IN) :: variableID
13544  INTEGER(INTG), INTENT(OUT) :: err
13545  !Local variables
13546 
13547  enters("cmfe_CellML_VariableSetAsKnownObjVS",err,error,*999)
13548 
13549  CALL cellml_variable_set_as_known(cellml%CELLML,cellmlmodelusernumber,variableid,err,error,*999)
13550 
13551  exits("cmfe_CellML_VariableSetAsKnownObjVS")
13552  RETURN
13553 999 errorsexits("cmfe_CellML_VariableSetAsKnownObjVS",err,error)
13554  CALL cmfe_handleerror(err,error)
13555  RETURN
13556 
13558 
13559  !
13560  !================================================================================================================================
13561  !
13562 
13564  SUBROUTINE cmfe_cellml_variablesetaswantednumberc(regionUserNumber,CellMLUserNumber,CellMLModelUserNumber,variableID,err)
13565  !DLLEXPORT(cmfe_CellML_VariableSetAsWantedNumberC)
13566 
13567  !Argument variables
13568  INTEGER(INTG), INTENT(IN) :: regionUserNumber
13569  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
13570  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
13571  CHARACTER(LEN=*), INTENT(IN) :: variableID
13572  INTEGER(INTG), INTENT(OUT) :: err
13573  !Local variables
13574  TYPE(cellml_type), POINTER :: CELLML
13575  TYPE(region_type), POINTER :: REGION
13576  TYPE(varying_string) :: localError
13577 
13578  enters("cmfe_CellML_VariableSetAsWantedNumberC",err,error,*999)
13579 
13580  NULLIFY(region)
13581  NULLIFY(cellml)
13582  CALL region_user_number_find(regionusernumber,region,err,error,*999)
13583  IF(ASSOCIATED(region)) THEN
13584  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
13585  IF(ASSOCIATED(cellml)) THEN
13586  CALL cellml_variable_set_as_wanted(cellml,cellmlmodelusernumber,variableid,err,error,*999)
13587  ELSE
13588  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
13589  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
13590  CALL flagerror(localerror,err,error,*999)
13591  END IF
13592  ELSE
13593  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
13594  & " does not exist."
13595  CALL flagerror(localerror,err,error,*999)
13596  END IF
13597 
13598  exits("cmfe_CellML_VariableSetAsWantedNumberC")
13599  RETURN
13600 999 errorsexits("cmfe_CellML_VariableSetAsWantedNumberC",err,error)
13601  CALL cmfe_handleerror(err,error)
13602  RETURN
13603 
13605 
13606  !
13607  !================================================================================================================================
13608  !
13609 
13611  SUBROUTINE cmfe_cellml_variablesetaswantedobjc(CellML,CellMLModelUserNumber,variableID,err)
13612  !DLLEXPORT(cmfe_CellML_VariableSetAsWantedObjC)
13613 
13614  !Argument variables
13615  TYPE(cmfe_cellmltype), INTENT(IN) :: CellML
13616  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
13617  CHARACTER(LEN=*), INTENT(IN) :: variableID
13618  INTEGER(INTG), INTENT(OUT) :: err
13619  !Local variables
13620 
13621  enters("cmfe_CellML_VariableSetAsWantedObjC",err,error,*999)
13622 
13623  CALL cellml_variable_set_as_wanted(cellml%CELLML,cellmlmodelusernumber,variableid,err,error,*999)
13624 
13625  exits("cmfe_CellML_VariableSetAsWantedObjC")
13626  RETURN
13627 999 errorsexits("cmfe_CellML_VariableSetAsWantedObjC",err,error)
13628  CALL cmfe_handleerror(err,error)
13629  RETURN
13630 
13632 
13633  !
13634  !================================================================================================================================
13635  !
13636 
13638  SUBROUTINE cmfe_cellml_variablesetaswantednumbervs(regionUserNumber,CellMLUserNumber,CellMLModelUserNumber,variableID,err)
13639  !DLLEXPORT(cmfe_CellML_VariableSetAsWantedNumberVS)
13640 
13641  !Argument variables
13642  INTEGER(INTG), INTENT(IN) :: regionUserNumber
13643  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
13644  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
13645  TYPE(varying_string), INTENT(IN) :: variableID
13646  INTEGER(INTG), INTENT(OUT) :: err
13647  !Local variables
13648  TYPE(cellml_type), POINTER :: CELLML
13649  TYPE(region_type), POINTER :: REGION
13650  TYPE(varying_string) :: localError
13651 
13652  enters("cmfe_CellML_VariableSetAsWantedNumberVS",err,error,*999)
13653 
13654  NULLIFY(region)
13655  NULLIFY(cellml)
13656  CALL region_user_number_find(regionusernumber,region,err,error,*999)
13657  IF(ASSOCIATED(region)) THEN
13658  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
13659  IF(ASSOCIATED(cellml)) THEN
13660  CALL cellml_variable_set_as_wanted(cellml,cellmlmodelusernumber,variableid,err,error,*999)
13661  ELSE
13662  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
13663  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
13664  CALL flagerror(localerror,err,error,*999)
13665  END IF
13666  ELSE
13667  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
13668  & " does not exist."
13669  CALL flagerror(localerror,err,error,*999)
13670  END IF
13671 
13672  exits("cmfe_CellML_VariableSetAsWantedNumberVS")
13673  RETURN
13674 999 errorsexits("cmfe_CellML_VariableSetAsWantedNumberVS",err,error)
13675  CALL cmfe_handleerror(err,error)
13676  RETURN
13677 
13679 
13680  !
13681  !================================================================================================================================
13682  !
13683 
13685  SUBROUTINE cmfe_cellml_variablesetaswantedobjvs(CellML,CellMLModelUserNumber,variableID,err)
13686  !DLLEXPORT(cmfe_CellML_VariableSetAsWantedObjVS)
13687 
13688  !Argument variables
13689  TYPE(cmfe_cellmltype), INTENT(IN) :: CellML
13690  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
13691  TYPE(varying_string), INTENT(IN) :: variableID
13692  INTEGER(INTG), INTENT(OUT) :: err
13693  !Local variables
13694 
13695  enters("cmfe_CellML_VariableSetAsWantedObjVS",err,error,*999)
13696 
13697  CALL cellml_variable_set_as_wanted(cellml%CELLML,cellmlmodelusernumber,variableid,err,error,*999)
13698 
13699  exits("cmfe_CellML_VariableSetAsWantedObjVS")
13700  RETURN
13701 999 errorsexits("cmfe_CellML_VariableSetAsWantedObjVS",err,error)
13702  CALL cmfe_handleerror(err,error)
13703  RETURN
13704 
13706 
13707  !
13708  !================================================================================================================================
13709  !
13710 
13712  SUBROUTINE cmfe_cellml_createcellmltofieldmapnumberc(regionUserNumber,CellMLUserNumber,CellMLModelUserNumber,variableID, &
13713  & cellmlparameterset,fieldusernumber,variabletype,componentnumber,fieldparameterset,err)
13714  !DLLEXPORT(cmfe_CellML_CreateCellMLToFieldMapNumberC)
13715 
13716  !Argument variables
13717  INTEGER(INTG), INTENT(IN) :: regionUserNumber
13718  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
13719  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
13720  INTEGER(INTG), INTENT(IN) :: CellMLParameterSet
13721  CHARACTER(LEN=*), INTENT(IN) :: variableID
13722  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
13723  INTEGER(INTG), INTENT(IN) :: variableType
13724  INTEGER(INTG), INTENT(IN) :: componentNumber
13725  INTEGER(INTG), INTENT(IN) :: fieldParameterSet
13726  INTEGER(INTG), INTENT(OUT) :: err
13727  !Local variables
13728  TYPE(cellml_type), POINTER :: CELLML
13729  TYPE(field_type), POINTER :: FIELD
13730  TYPE(region_type), POINTER :: REGION
13731  TYPE(varying_string) :: localError
13732 
13733  enters("cmfe_CellML_CreateCellMLToFieldMapNumberC",err,error,*999)
13734 
13735  NULLIFY(region)
13736  NULLIFY(cellml)
13737  NULLIFY(field)
13738  CALL region_user_number_find(regionusernumber,region,err,error,*999)
13739  IF(ASSOCIATED(region)) THEN
13740  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
13741  IF(ASSOCIATED(cellml)) THEN
13742  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
13743  IF(ASSOCIATED(field)) THEN
13744  CALL cellml_create_cellml_to_field_map(cellml,cellmlmodelusernumber,variableid,cellmlparameterset, &
13745  & field,variabletype,componentnumber,fieldparameterset,err,error,*999)
13746  ELSE
13747  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
13748  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
13749  CALL flagerror(localerror,err,error,*999)
13750  END IF
13751  ELSE
13752  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
13753  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
13754  CALL flagerror(localerror,err,error,*999)
13755  END IF
13756  ELSE
13757  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
13758  & " does not exist."
13759  CALL flagerror(localerror,err,error,*999)
13760  END IF
13761 
13762  exits("cmfe_CellML_CreateCellMLToFieldMapNumberC")
13763  RETURN
13764 999 errorsexits("cmfe_CellML_CreateCellMLToFieldMapNumberC",err,error)
13765  CALL cmfe_handleerror(err,error)
13766  RETURN
13767 
13769 
13770  !
13771  !================================================================================================================================
13772  !
13773 
13775  SUBROUTINE cmfe_cellml_createcellmltofieldmapobjc(CellML, CellMLModelUserNumber,variableID,CellMLParameterSet, &
13776  & field,variabletype,componentnumber,fieldparameterset,err)
13777  !DLLEXPORT(cmfe_CellML_CreateCellMLToFieldMapObjC)
13778 
13779  !Argument variables
13780  TYPE(cmfe_cellmltype), INTENT(IN) :: CellML
13781  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
13782  CHARACTER(LEN=*), INTENT(IN) :: variableID
13783  INTEGER(INTG), INTENT(IN) :: CellMLParameterSet
13784  TYPE(cmfe_fieldtype), INTENT(IN) :: field
13785  INTEGER(INTG), INTENT(IN) :: variableType
13786  INTEGER(INTG), INTENT(IN) :: componentNumber
13787  INTEGER(INTG), INTENT(IN) :: fieldParameterSet
13788  INTEGER(INTG), INTENT(OUT) :: err
13789  !Local variables
13790 
13791  enters("cmfe_CellML_CreateCellMLToFieldMapObjC",err,error,*999)
13792 
13793  CALL cellml_create_cellml_to_field_map(cellml%CELLML,cellmlmodelusernumber,variableid,cellmlparameterset, &
13794  & field%field,variabletype,componentnumber,fieldparameterset,err,error,*999)
13795 
13796  exits("cmfe_CellML_CreateCellMLToFieldMapObjC")
13797  RETURN
13798 999 errorsexits("cmfe_CellML_CreateCellMLToFieldMapObjC",err,error)
13799  CALL cmfe_handleerror(err,error)
13800  RETURN
13801 
13803 
13804  !
13805  !================================================================================================================================
13806  !
13807 
13809  SUBROUTINE cmfe_cellml_createcellmltofieldmapnumbervs(regionUserNumber,CellMLUserNumber,CellMLModelUserNumber,variableID, &
13810  & cellmlparameterset,fieldusernumber,variabletype,componentnumber,fieldparameterset,err)
13811  !DLLEXPORT(cmfe_CellML_CreateCellMLToFieldMapNumberVS)
13812 
13813  !Argument variables
13814  INTEGER(INTG), INTENT(IN) :: regionUserNumber
13815  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
13816  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
13817  TYPE(varying_string), INTENT(IN) :: variableID
13818  INTEGER(INTG), INTENT(IN) :: CellMLParameterSet
13819  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
13820  INTEGER(INTG), INTENT(IN) :: variableType
13821  INTEGER(INTG), INTENT(IN) :: componentNumber
13822  INTEGER(INTG), INTENT(IN) :: fieldParameterSet
13823  INTEGER(INTG), INTENT(OUT) :: err
13824  !Local variables
13825  TYPE(cellml_type), POINTER :: CELLML
13826  TYPE(field_type), POINTER :: FIELD
13827  TYPE(region_type), POINTER :: REGION
13828  TYPE(varying_string) :: localError
13829 
13830  enters("cmfe_CellML_CreateCellMLToFieldMapNumberVS",err,error,*999)
13831 
13832  NULLIFY(region)
13833  NULLIFY(cellml)
13834  NULLIFY(field)
13835  CALL region_user_number_find(regionusernumber,region,err,error,*999)
13836  IF(ASSOCIATED(region)) THEN
13837  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
13838  IF(ASSOCIATED(cellml)) THEN
13839  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
13840  IF(ASSOCIATED(field)) THEN
13841  CALL cellml_create_cellml_to_field_map(cellml,cellmlmodelusernumber,variableid,cellmlparameterset, &
13842  & field,variabletype,componentnumber,fieldparameterset,err,error,*999)
13843  ELSE
13844  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
13845  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
13846  CALL flagerror(localerror,err,error,*999)
13847  END IF
13848  ELSE
13849  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
13850  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
13851  CALL flagerror(localerror,err,error,*999)
13852  END IF
13853  ELSE
13854  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
13855  & " does not exist."
13856  CALL flagerror(localerror,err,error,*999)
13857  END IF
13858 
13859  exits("cmfe_CellML_CreateCellMLToFieldMapNumberVS")
13860  RETURN
13861 999 errorsexits("cmfe_CellML_CreateCellMLToFieldMapNumberVS",err,error)
13862  CALL cmfe_handleerror(err,error)
13863  RETURN
13864 
13866 
13867  !
13868  !================================================================================================================================
13869  !
13870 
13872  SUBROUTINE cmfe_cellml_createcellmltofieldmapobjvs(CellML,CellMLModelUserNumber,variableID,CellMLParameterSet, &
13873  & field,variabletype,componentnumber,fieldparameterset,err)
13874  !DLLEXPORT(cmfe_CellML_CreateCellMLToFieldMapObjVS)
13875 
13876  !Argument variables
13877  TYPE(cmfe_cellmltype), INTENT(IN) :: CellML
13878  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
13879  TYPE(varying_string), INTENT(IN) :: variableID
13880  INTEGER(INTG), INTENT(IN) :: CellMLParameterSet
13881  TYPE(cmfe_fieldtype), INTENT(IN) :: field
13882  INTEGER(INTG), INTENT(IN) :: variableType
13883  INTEGER(INTG), INTENT(IN) :: componentNumber
13884  INTEGER(INTG), INTENT(IN) :: fieldParameterSet
13885  INTEGER(INTG), INTENT(OUT) :: err
13886  !Local variables
13887 
13888  enters("cmfe_CellML_CreateCellMLToFieldMapNumberVS",err,error,*999)
13889 
13890  CALL cellml_create_cellml_to_field_map(cellml%CELLML,cellmlmodelusernumber,variableid,cellmlparameterset, &
13891  & field%field,variabletype,componentnumber,fieldparameterset,err,error,*999)
13892 
13893  exits("cmfe_CellML_CreateCellMLToFieldMapObjVS")
13894  RETURN
13895 999 errorsexits("cmfe_CellML_CreateCellMLToFieldMapObjVS",err,error)
13896  CALL cmfe_handleerror(err,error)
13897  RETURN
13898 
13900 
13901  !
13902  !================================================================================================================================
13903  !
13904 
13906  SUBROUTINE cmfe_cellml_createfieldtocellmlmapnumberc(regionUserNumber,CellMLUserNumber,fieldUserNumber,variableType, &
13907  & componentnumber,fieldparameterset,cellmlmodelusernumber,variableid,cellmlparameterset,err)
13908  !DLLEXPORT(cmfe_CellML_CreateFieldToCellMLMapNumberC)
13909 
13910  !Argument variables
13911  INTEGER(INTG), INTENT(IN) :: regionUserNumber
13912  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
13913  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
13914  INTEGER(INTG), INTENT(IN) :: variableType
13915  INTEGER(INTG), INTENT(IN) :: componentNumber
13916  INTEGER(INTG), INTENT(IN) :: fieldParameterSet
13917  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
13918  CHARACTER(LEN=*), INTENT(IN) :: variableID
13919  INTEGER(INTG), INTENT(IN) :: CellMLParameterSet
13920  INTEGER(INTG), INTENT(OUT) :: err
13921  !Local variables
13922  TYPE(cellml_type), POINTER :: CELLML
13923  TYPE(field_type), POINTER :: FIELD
13924  TYPE(region_type), POINTER :: REGION
13925  TYPE(varying_string) :: localError
13926 
13927  enters("cmfe_CellML_CreateFieldToCellMLMapNumberC",err,error,*999)
13928 
13929  NULLIFY(region)
13930  NULLIFY(cellml)
13931  NULLIFY(field)
13932  CALL region_user_number_find(regionusernumber,region,err,error,*999)
13933  IF(ASSOCIATED(region)) THEN
13934  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
13935  IF(ASSOCIATED(cellml)) THEN
13936  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
13937  IF(ASSOCIATED(field)) THEN
13938  CALL cellml_create_field_to_cellml_map(cellml,field,variabletype,componentnumber,fieldparameterset, &
13939  & cellmlmodelusernumber,variableid,cellmlparameterset,err,error,*999)
13940  ELSE
13941  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
13942  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
13943  CALL flagerror(localerror,err,error,*999)
13944  END IF
13945  ELSE
13946  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
13947  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
13948  CALL flagerror(localerror,err,error,*999)
13949  END IF
13950  ELSE
13951  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
13952  & " does not exist."
13953  CALL flagerror(localerror,err,error,*999)
13954  END IF
13955 
13956  exits("cmfe_CellML_CreateFieldToCellMLMapNumberC")
13957  RETURN
13958 999 errorsexits("cmfe_CellML_CreateFieldToCellMLMapNumberC",err,error)
13959  CALL cmfe_handleerror(err,error)
13960  RETURN
13961 
13963 
13964  !
13965  !================================================================================================================================
13966  !
13967 
13969  SUBROUTINE cmfe_cellml_createfieldtocellmlmapobjc(CellML,field,variableType,componentNumber,fieldParameterSet, &
13970  & cellmlmodelusernumber,variableid,cellmlparameterset,err)
13971  !DLLEXPORT(cmfe_CellML_CreateFieldToCellMLMapObjC)
13972 
13973  !Argument variables
13974  TYPE(cmfe_cellmltype), INTENT(IN) :: CellML
13975  TYPE(cmfe_fieldtype), INTENT(IN) :: field
13976  INTEGER(INTG), INTENT(IN) :: variableType
13977  INTEGER(INTG), INTENT(IN) :: componentNumber
13978  INTEGER(INTG), INTENT(IN) :: fieldParameterSet
13979  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
13980  CHARACTER(LEN=*), INTENT(IN) :: variableID
13981  INTEGER(INTG), INTENT(IN) :: CellMLParameterSet
13982  INTEGER(INTG), INTENT(OUT) :: err
13983  !Local variables
13984 
13985  enters("cmfe_CellML_CreateFieldToCellMLMapObjC",err,error,*999)
13986 
13987  CALL cellml_create_field_to_cellml_map(cellml%CELLML,field%field,variabletype,componentnumber,fieldparameterset, &
13988  & cellmlmodelusernumber,variableid,cellmlparameterset,err,error,*999)
13989 
13990  exits("cmfe_CellML_CreateFieldToCellMLMapObjC")
13991  RETURN
13992 999 errorsexits("cmfe_CellML_CreateFieldToCellMLMapObjC",err,error)
13993  CALL cmfe_handleerror(err,error)
13994  RETURN
13995 
13997 
13998  !
13999  !================================================================================================================================
14000  !
14001 
14003  SUBROUTINE cmfe_cellml_createfieldtocellmlmapnumbervs(regionUserNumber,CellMLUserNumber,fieldUserNumber,variableType, &
14004  & fieldparameterset,componentnumber,cellmlmodelusernumber,variableid,cellmlparameterset,err)
14005  !DLLEXPORT(cmfe_CellML_CreateFieldToCellMLMapNumberVS)
14006 
14007  !Argument variables
14008  INTEGER(INTG), INTENT(IN) :: regionUserNumber
14009  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
14010  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
14011  INTEGER(INTG), INTENT(IN) :: variableType
14012  INTEGER(INTG), INTENT(IN) :: componentNumber
14013  INTEGER(INTG), INTENT(IN) :: fieldParameterSet
14014  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
14015  TYPE(varying_string), INTENT(IN) :: variableID
14016  INTEGER(INTG), INTENT(IN) :: CellMLParameterSet
14017  INTEGER(INTG), INTENT(OUT) :: err
14018  !Local variables
14019  TYPE(cellml_type), POINTER :: CELLML
14020  TYPE(field_type), POINTER :: FIELD
14021  TYPE(region_type), POINTER :: REGION
14022  TYPE(varying_string) :: localError
14023 
14024  enters("cmfe_CellML_CreateFieldToCellMLMapNumberVS",err,error,*999)
14025 
14026  NULLIFY(region)
14027  NULLIFY(cellml)
14028  NULLIFY(field)
14029  CALL region_user_number_find(regionusernumber,region,err,error,*999)
14030  IF(ASSOCIATED(region)) THEN
14031  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
14032  IF(ASSOCIATED(cellml)) THEN
14033  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
14034  IF(ASSOCIATED(field)) THEN
14035  CALL cellml_create_field_to_cellml_map(cellml,field,variabletype,componentnumber,fieldparameterset, &
14036  & cellmlmodelusernumber,variableid,cellmlparameterset,err,error,*999)
14037  ELSE
14038  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
14039  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
14040  CALL flagerror(localerror,err,error,*999)
14041  END IF
14042  ELSE
14043  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
14044  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
14045  CALL flagerror(localerror,err,error,*999)
14046  END IF
14047  ELSE
14048  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
14049  & " does not exist."
14050  CALL flagerror(localerror,err,error,*999)
14051  END IF
14052 
14053  exits("cmfe_CellML_CreateFieldToCellMLMapNumberVS")
14054  RETURN
14055 999 errorsexits("cmfe_CellML_CreateFieldToCellMLMapNumberVS",err,error)
14056  CALL cmfe_handleerror(err,error)
14057  RETURN
14058 
14060 
14061  !
14062  !================================================================================================================================
14063  !
14064 
14066  SUBROUTINE cmfe_cellml_createfieldtocellmlmapobjvs(CellML,field,variableType,componentNumber,fieldParameterSet, &
14067  & cellmlmodelusernumber,variableid,cellmlparameterset,err)
14068  !DLLEXPORT(cmfe_CellML_CreateFieldToCellMLMapObjVS)
14069 
14070  !Argument variables
14071  TYPE(cmfe_cellmltype), INTENT(IN) :: CellML
14072  TYPE(cmfe_fieldtype), INTENT(IN) :: field
14073  INTEGER(INTG), INTENT(IN) :: variableType
14074  INTEGER(INTG), INTENT(IN) :: componentNumber
14075  INTEGER(INTG), INTENT(IN) :: fieldParameterSet
14076  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
14077  TYPE(varying_string), INTENT(IN) :: variableID
14078  INTEGER(INTG), INTENT(IN) :: CellMLParameterSet
14079  INTEGER(INTG), INTENT(OUT) :: err
14080  !Local variables
14081 
14082  enters("cmfe_CellML_CreateFieldToCellMLMapNumberVS",err,error,*999)
14083 
14084  CALL cellml_create_field_to_cellml_map(cellml%CELLML,field%field,variabletype,componentnumber,fieldparameterset, &
14085  & cellmlmodelusernumber,variableid,cellmlparameterset,err,error,*999)
14086 
14087  exits("cmfe_CellML_CreateFieldToCellMLMapObjVS")
14088  RETURN
14089 999 errorsexits("cmfe_CellML_CreateFieldToCellMLMapObjVS",err,error)
14090  CALL cmfe_handleerror(err,error)
14091  RETURN
14092 
14094 
14095  !
14096  !================================================================================================================================
14097  !
14098 
14100  SUBROUTINE cmfe_cellml_createfinishnumber(regionUserNumber,CellMLUserNumber,err)
14101  !DLLEXPORT(cmfe_CellML_CreateFinishNumber)
14102 
14103  !Argument variables
14104  INTEGER(INTG), INTENT(IN) :: regionUserNumber
14105  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
14106  INTEGER(INTG), INTENT(OUT) :: err
14107  !Local variables
14108  TYPE(cellml_type), POINTER :: CELLML
14109  TYPE(region_type), POINTER :: REGION
14110  TYPE(varying_string) :: localError
14111 
14112  enters("cmfe_CellML_CreateFinishNumber",err,error,*999)
14113 
14114  NULLIFY(region)
14115  NULLIFY(cellml)
14116  CALL region_user_number_find(regionusernumber,region,err,error,*999)
14117  IF(ASSOCIATED(region)) THEN
14118  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
14119  IF(ASSOCIATED(cellml)) THEN
14120  CALL cellml_create_finish(cellml,err,error,*999)
14121  ELSE
14122  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
14123  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
14124  CALL flagerror(localerror,err,error,*999)
14125  END IF
14126  ELSE
14127  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
14128  & " does not exist."
14129  CALL flagerror(localerror,err,error,*999)
14130  END IF
14131 
14132 #ifdef TAUPROF
14133  CALL tau_static_phase_start('CellML Create')
14134 #endif
14135 
14136  exits("cmfe_CellML_CreateFinishNumber")
14137  RETURN
14138 999 errorsexits("cmfe_CellML_CreateFinishNumber",err,error)
14139  CALL cmfe_handleerror(err,error)
14140  RETURN
14141 
14142  END SUBROUTINE cmfe_cellml_createfinishnumber
14143 
14144  !
14145  !================================================================================================================================
14146  !
14147 
14149  SUBROUTINE cmfe_cellml_createfinishobj(CellML,err)
14150  !DLLEXPORT(cmfe_CellML_CreateFinishObj)
14151 
14152  !Argument variables
14153  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
14154  INTEGER(INTG), INTENT(OUT) :: err
14155  !Local variables
14156 
14157  enters("cmfe_CellML_CreateFinishObj",err,error,*999)
14158 
14159  CALL cellml_create_finish(cellml%CELLML,err,error,*999)
14160 
14161 #ifdef TAUPROF
14162  CALL tau_static_phase_start('CellML Create')
14163 #endif
14164 
14165  exits("cmfe_CellML_CreateFinishObj")
14166  RETURN
14167 999 errorsexits("cmfe_CellML_CreateFinishObj",err,error)
14168  CALL cmfe_handleerror(err,error)
14169  RETURN
14170 
14171  END SUBROUTINE cmfe_cellml_createfinishobj
14172 
14173  !
14174  !================================================================================================================================
14175  !
14176 
14178  SUBROUTINE cmfe_cellml_createstartnumber(CellMLUserNumber,regionUserNumber,err)
14179  !DLLEXPORT(cmfe_CellML_CreateStartNumber)
14180 
14181  !Argument variables
14182  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
14183  INTEGER(INTG), INTENT(IN) :: regionUserNumber
14184  INTEGER(INTG), INTENT(OUT) :: err
14185  !Local variables
14186  TYPE(cellml_type), POINTER :: CELLML
14187  TYPE(region_type), POINTER :: REGION
14188  TYPE(varying_string) :: localError
14189 
14190  enters("cmfe_CellML_CreateStartNumber",err,error,*999)
14191 
14192 #ifdef TAUPROF
14193  CALL tau_static_phase_start('CellML Create')
14194 #endif
14195 
14196  NULLIFY(region)
14197  NULLIFY(cellml)
14198  CALL region_user_number_find(regionusernumber,region,err,error,*999)
14199  IF(ASSOCIATED(region)) THEN
14200  CALL cellml_create_start(cellmlusernumber,region,cellml,err,error,*999)
14201  ELSE
14202  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
14203  & " does not exist."
14204  CALL flagerror(localerror,err,error,*999)
14205  END IF
14206 
14207  exits("cmfe_CellML_CreateStartNumber")
14208  RETURN
14209 999 errorsexits("cmfe_CellML_CreateStartNumber",err,error)
14210  CALL cmfe_handleerror(err,error)
14211  RETURN
14212 
14213  END SUBROUTINE cmfe_cellml_createstartnumber
14214 
14215  !
14216  !================================================================================================================================
14217  !
14218 
14220  SUBROUTINE cmfe_cellml_createstartobj(CellMLUserNumber,region,CellML,err)
14221  !DLLEXPORT(cmfe_CellML_CreateStartObj)
14222 
14223  !Argument variables
14224  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
14225  TYPE(cmfe_regiontype), INTENT(IN) :: region
14226  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
14227  INTEGER(INTG), INTENT(OUT) :: err
14228  !Local variables
14229 
14230  enters("cmfe_CellML_CreateStartObj",err,error,*999)
14231 
14232 #ifdef TAUPROF
14233  CALL tau_static_phase_start('CellML Create')
14234 #endif
14235 
14236  CALL cellml_create_start(cellmlusernumber,region%region,cellml%CELLML,err,error,*999)
14237 
14238  exits("cmfe_CellML_CreateStartObj")
14239  RETURN
14240 999 errorsexits("cmfe_CellML_CreateStartObj",err,error)
14241  CALL cmfe_handleerror(err,error)
14242  RETURN
14243 
14244  END SUBROUTINE cmfe_cellml_createstartobj
14245 
14246  !
14247  !================================================================================================================================
14248  !
14249 
14251  SUBROUTINE cmfe_cellml_destroynumber(regionUserNumber,CellMLUserNumber,err)
14252  !DLLEXPORT(cmfe_CellML_DestroyNumber)
14253 
14254  !Argument variables
14255  INTEGER(INTG), INTENT(IN) :: regionUserNumber
14256  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
14257  INTEGER(INTG), INTENT(OUT) :: err
14258  !Local variables
14259  TYPE(cellml_type), POINTER :: CELLML
14260  TYPE(region_type), POINTER :: REGION
14261  TYPE(varying_string) :: localError
14262 
14263  enters("cmfe_CellML_DestroyNumber",err,error,*999)
14264 
14265  NULLIFY(region)
14266  NULLIFY(cellml)
14267  CALL region_user_number_find(regionusernumber,region,err,error,*999)
14268  IF(ASSOCIATED(region)) THEN
14269  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
14270  IF(ASSOCIATED(cellml)) THEN
14271  CALL cellml_destroy(cellml,err,error,*999)
14272  ELSE
14273  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
14274  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
14275  CALL flagerror(localerror,err,error,*999)
14276  END IF
14277  ELSE
14278  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
14279  & " does not exist."
14280  CALL flagerror(localerror,err,error,*999)
14281  END IF
14282 
14283  exits("cmfe_CellML_DestroyNumber")
14284  RETURN
14285 999 errorsexits("cmfe_CellML_DestroyNumber",err,error)
14286  CALL cmfe_handleerror(err,error)
14287  RETURN
14288 
14289  END SUBROUTINE cmfe_cellml_destroynumber
14290 
14291  !
14292  !================================================================================================================================
14293  !
14294 
14296  SUBROUTINE cmfe_cellml_destroyobj(CellML,err)
14297  !DLLEXPORT(cmfe_CellML_DestroyObj)
14298 
14299  !Argument variables
14300  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
14301  INTEGER(INTG), INTENT(OUT) :: err
14302  !Local variables
14303 
14304  enters("cmfe_CellML_DestroyObj",err,error,*999)
14305 
14306  CALL cellml_destroy(cellml%CELLML,err,error,*999)
14307 
14308  exits("cmfe_CellML_DestroyObj")
14309  RETURN
14310 999 errorsexits("cmfe_CellML_DestroyObj",err,error)
14311  CALL cmfe_handleerror(err,error)
14312  RETURN
14313 
14314  END SUBROUTINE cmfe_cellml_destroyobj
14315 
14316  !
14317  !================================================================================================================================
14318  !
14319 
14321  SUBROUTINE cmfe_cellml_fieldmapscreatefinishnumber(regionUserNumber,CellMLUserNumber,err)
14322  !DLLEXPORT(cmfe_CellML_FieldMapsCreateFinishNumber)
14323 
14324  !Argument variables
14325  INTEGER(INTG), INTENT(IN) :: regionUserNumber
14326  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
14327  INTEGER(INTG), INTENT(OUT) :: err
14328  !Local variables
14329  TYPE(cellml_type), POINTER :: CELLML
14330  TYPE(region_type), POINTER :: REGION
14331  TYPE(varying_string) :: localError
14332 
14333  enters("cmfe_CellML_FieldMapsCreateFinishNumber",err,error,*999)
14334 
14335  NULLIFY(region)
14336  NULLIFY(cellml)
14337  CALL region_user_number_find(regionusernumber,region,err,error,*999)
14338  IF(ASSOCIATED(region)) THEN
14339  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
14340  IF(ASSOCIATED(cellml)) THEN
14341  CALL cellml_field_maps_create_finish(cellml,err,error,*999)
14342  ELSE
14343  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
14344  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
14345  CALL flagerror(localerror,err,error,*999)
14346  END IF
14347  ELSE
14348  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
14349  & " does not exist."
14350  CALL flagerror(localerror,err,error,*999)
14351  END IF
14352 
14353 #ifdef TAUPROF
14354  CALL tau_static_phase_start('CellML Create')
14355 #endif
14356 
14357  exits("cmfe_CellML_FieldMapsCreateFinishNumber")
14358  RETURN
14359 999 errorsexits("cmfe_CellML_FieldMapsCreateFinishNumber",err,error)
14360  CALL cmfe_handleerror(err,error)
14361  RETURN
14362 
14364 
14365  !
14366  !================================================================================================================================
14367  !
14368 
14370  SUBROUTINE cmfe_cellml_fieldmapscreatefinishobj(CellML,err)
14371  !DLLEXPORT(cmfe_CellML_FieldMapsCreateFinishObj)
14372 
14373  !Argument variables
14374  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
14375  INTEGER(INTG), INTENT(OUT) :: err
14376  !Local variables
14377 
14378  enters("cmfe_CellML_FieldMapsCreateFinishObj",err,error,*999)
14379 
14380  CALL cellml_field_maps_create_finish(cellml%CELLML,err,error,*999)
14381 
14382  exits("cmfe_CellML_FieldMapsCreateFinishObj")
14383  RETURN
14384 999 errorsexits("cmfe_CellML_FieldMapsCreateFinishObj",err,error)
14385  CALL cmfe_handleerror(err,error)
14386  RETURN
14387 
14389 
14390  !
14391  !================================================================================================================================
14392  !
14393 
14395  SUBROUTINE cmfe_cellml_fieldmapscreatestartnumber(regionUserNumber,CellMLUserNumber,err)
14396  !DLLEXPORT(cmfe_CellML_FieldMapsCreateStartNumber)
14397 
14398  !Argument variables
14399  INTEGER(INTG), INTENT(IN) :: regionUserNumber
14400  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
14401  INTEGER(INTG), INTENT(OUT) :: err
14402  !Local variables
14403  TYPE(cellml_type), POINTER :: CELLML
14404  TYPE(region_type), POINTER :: REGION
14405  TYPE(varying_string) :: localError
14406 
14407  enters("cmfe_CellML_FieldMapsCreateStartNumber",err,error,*999)
14408 
14409  NULLIFY(region)
14410  NULLIFY(cellml)
14411  CALL region_user_number_find(regionusernumber,region,err,error,*999)
14412  IF(ASSOCIATED(region)) THEN
14413  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
14414  IF(ASSOCIATED(cellml)) THEN
14415  CALL cellml_field_maps_create_start(cellml,err,error,*999)
14416  ELSE
14417  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
14418  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
14419  CALL flagerror(localerror,err,error,*999)
14420  END IF
14421  ELSE
14422  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
14423  & " does not exist."
14424  CALL flagerror(localerror,err,error,*999)
14425  END IF
14426 
14427  exits("cmfe_CellMLFieldCreateStartNumber")
14428  RETURN
14429 999 errorsexits("cmfe_CellMLFieldCreateStartNumber",err,error)
14430  CALL cmfe_handleerror(err,error)
14431  RETURN
14432 
14434 
14435  !
14436  !================================================================================================================================
14437  !
14438 
14440  SUBROUTINE cmfe_cellml_fieldmapscreatestartobj(CellML,err)
14441  !DLLEXPORT(cmfe_CellML_FieldMapsCreateStartObj)
14442 
14443  !Argument variables
14444  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
14445  INTEGER(INTG), INTENT(OUT) :: err
14446  !Local variables
14447 
14448  enters("cmfe_CellML_FieldMapsCreateStartObj",err,error,*999)
14449 
14450  CALL cellml_field_maps_create_start(cellml%CELLML,err,error,*999)
14451 
14452  exits("cmfe_CellML_FieldMapsCreateStartObj")
14453  RETURN
14454 999 errorsexits("cmfe_CellML_FieldMapsCreateStartObj",err,error)
14455  CALL cmfe_handleerror(err,error)
14456  RETURN
14457 
14459 
14460  !
14461  !================================================================================================================================
14462  !
14463 
14465  SUBROUTINE cmfe_cellml_modelimportnumberc(regionUserNumber,CellMLUserNumber,URI,modelIndex,err)
14466  !DLLEXPORT(cmfe_CellML_ModelImportNumberC)
14467 
14468  !Argument variables
14469  INTEGER(INTG), INTENT(IN) :: regionUserNumber
14470  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
14471  CHARACTER(LEN=*), INTENT(IN) :: URI
14472  INTEGER(INTG), INTENT(OUT) :: modelIndex
14473  INTEGER(INTG), INTENT(OUT) :: err
14474  !Local variables
14475  TYPE(cellml_type), POINTER :: CELLML
14476  TYPE(region_type), POINTER :: REGION
14477  TYPE(varying_string) :: localError
14478 
14479  enters("cmfe_CellML_ModelImportNumberC",err,error,*999)
14480 
14481  NULLIFY(region)
14482  NULLIFY(cellml)
14483  CALL region_user_number_find(regionusernumber,region,err,error,*999)
14484  IF(ASSOCIATED(region)) THEN
14485  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
14486  IF(ASSOCIATED(cellml)) THEN
14487  CALL cellml_model_import(cellml,uri,modelindex,err,error,*999)
14488  ELSE
14489  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
14490  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
14491  CALL flagerror(localerror,err,error,*999)
14492  END IF
14493  ELSE
14494  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
14495  & " does not exist."
14496  CALL flagerror(localerror,err,error,*999)
14497  END IF
14498 
14499  exits("cmfe_CellML_ModelImportNumberC")
14500  RETURN
14501 999 errorsexits("cmfe_CellML_ModelImportNumberC",err,error)
14502  CALL cmfe_handleerror(err,error)
14503  RETURN
14504 
14505  END SUBROUTINE cmfe_cellml_modelimportnumberc
14506 
14507  !
14508  !================================================================================================================================
14509  !
14510 
14512  SUBROUTINE cmfe_cellml_modelimportobjc(CellML,URI,modelIndex,err)
14513  !DLLEXPORT(cmfe_CellML_ModelImportObjC)
14514 
14515  !Argument variables
14516  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
14517  CHARACTER(LEN=*), INTENT(IN) :: URI
14518  INTEGER(INTG), INTENT(OUT) :: modelIndex
14519  INTEGER(INTG), INTENT(OUT) :: err
14520  !Local variables
14521 
14522  enters("cmfe_CellML_ModelImportObjC",err,error,*999)
14523 
14524  CALL cellml_model_import(cellml%CELLML,uri,modelindex,err,error,*999)
14525 
14526  exits("cmfe_CellML_ModelImportObjC")
14527  RETURN
14528 999 errorsexits("cmfe_CellML_ModelImportObjC",err,error)
14529  CALL cmfe_handleerror(err,error)
14530  RETURN
14531 
14532  END SUBROUTINE cmfe_cellml_modelimportobjc
14533 
14534  !
14535  !================================================================================================================================
14536  !
14537 
14539  SUBROUTINE cmfe_cellml_modelimportnumbervs(regionUserNumber,CellMLUserNumber,URI,modelIndex,err)
14540  !DLLEXPORT(cmfe_CellML_ModelImportNumberVS)
14541 
14542  !Argument variables
14543  INTEGER(INTG), INTENT(IN) :: regionUserNumber
14544  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
14545  TYPE(varying_string), INTENT(IN) :: URI
14546  INTEGER(INTG), INTENT(OUT) :: modelIndex
14547  INTEGER(INTG), INTENT(OUT) :: err
14548  !Local variables
14549  TYPE(cellml_type), POINTER :: CELLML
14550  TYPE(region_type), POINTER :: REGION
14551  TYPE(varying_string) :: localError
14552 
14553  enters("cmfe_CellML_ModelImportNumberVS",err,error,*999)
14554 
14555  NULLIFY(region)
14556  NULLIFY(cellml)
14557  CALL region_user_number_find(regionusernumber,region,err,error,*999)
14558  IF(ASSOCIATED(region)) THEN
14559  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
14560  IF(ASSOCIATED(cellml)) THEN
14561  CALL cellml_model_import(cellml,uri,modelindex,err,error,*999)
14562  ELSE
14563  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
14564  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
14565  CALL flagerror(localerror,err,error,*999)
14566  END IF
14567  ELSE
14568  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
14569  & " does not exist."
14570  CALL flagerror(localerror,err,error,*999)
14571  END IF
14572 
14573  exits("cmfe_CellML_ModelImportNumberVS")
14574  RETURN
14575 999 errorsexits("cmfe_CellML_ModelImportNumberVS",err,error)
14576  CALL cmfe_handleerror(err,error)
14577  RETURN
14578 
14579  END SUBROUTINE cmfe_cellml_modelimportnumbervs
14580 
14581  !
14582  !================================================================================================================================
14583  !
14584 
14586  SUBROUTINE cmfe_cellml_modelimportobjvs(CellML,URI,modelIndex,err)
14587  !DLLEXPORT(cmfe_CellML_ModelImportObjVS)
14588 
14589  !Argument variables
14590  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
14591  TYPE(varying_string), INTENT(IN) :: URI
14592  INTEGER(INTG), INTENT(OUT) :: modelIndex
14593  INTEGER(INTG), INTENT(OUT) :: err
14594  !Local variables
14595 
14596  enters("cmfe_CellML_ModelImportObjVS",err,error,*999)
14597 
14598  CALL cellml_model_import(cellml%CELLML,uri,modelindex,err,error,*999)
14599 
14600  exits("cmfe_CellML_ModelImportObjVS")
14601  RETURN
14602 999 errorsexits("cmfe_CellML_ModelImportObjVS",err,error)
14603  CALL cmfe_handleerror(err,error)
14604  RETURN
14605 
14606  END SUBROUTINE cmfe_cellml_modelimportobjvs
14607 
14608  !
14609  !================================================================================================================================
14610  !
14611 
14613  SUBROUTINE cmfe_cellml_modelsfieldcreatefinishnumber(regionUserNumber,CellMLUserNumber,err)
14614  !DLLEXPORT(cmfe_CellML_ModelsFieldCreateFinishNumber)
14615 
14616  !Argument variables
14617  INTEGER(INTG), INTENT(IN) :: regionUserNumber
14618  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
14619  INTEGER(INTG), INTENT(OUT) :: err
14620  !Local variables
14621  TYPE(cellml_type), POINTER :: CELLML
14622  TYPE(region_type), POINTER :: REGION
14623  TYPE(varying_string) :: localError
14624 
14625  enters("cmfe_CellML_ModelsFieldCreateFinishNumber",err,error,*999)
14626 
14627  NULLIFY(region)
14628  NULLIFY(cellml)
14629  CALL region_user_number_find(regionusernumber,region,err,error,*999)
14630  IF(ASSOCIATED(region)) THEN
14631  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
14632  IF(ASSOCIATED(cellml)) THEN
14633  CALL cellml_models_field_create_finish(cellml,err,error,*999)
14634  ELSE
14635  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
14636  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
14637  CALL flagerror(localerror,err,error,*999)
14638  END IF
14639  ELSE
14640  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
14641  & " does not exist."
14642  CALL flagerror(localerror,err,error,*999)
14643  END IF
14644 
14645  exits("cmfe_CellML_ModelsFieldCreateFinishNumber")
14646  RETURN
14647 999 errorsexits("cmfe_CellML_ModelsFieldCreateFinishNumber",err,error)
14648  CALL cmfe_handleerror(err,error)
14649  RETURN
14650 
14652 
14653  !
14654  !================================================================================================================================
14655  !
14656 
14658  SUBROUTINE cmfe_cellml_modelsfieldcreatefinishobj(CellML,err)
14659  !DLLEXPORT(cmfe_CellML_ModelsFieldCreateFinishObj)
14660 
14661  !Argument variables
14662  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
14663  INTEGER(INTG), INTENT(OUT) :: err
14664  !Local variables
14665 
14666  enters("cmfe_CellML_ModelsFieldCreateFinishObj",err,error,*999)
14667 
14668  CALL cellml_models_field_create_finish(cellml%CELLML,err,error,*999)
14669 
14670  exits("cmfe_CellML_ModelsFieldCreateFinishObj")
14671  RETURN
14672 999 errorsexits("cmfe_CellML_ModelsFieldCreateFinishObj",err,error)
14673  CALL cmfe_handleerror(err,error)
14674  RETURN
14675 
14677 
14678  !
14679  !================================================================================================================================
14680  !
14681 
14683  SUBROUTINE cmfe_cellml_modelsfieldcreatestartnumber(regionUserNumber,CellMLUserNumber,CellMLModelsFieldUserNumber,err)
14684  !DLLEXPORT(cmfe_CellML_ModelsFieldCreateStartNumber)
14685 
14686  !Argument variables
14687  INTEGER(INTG), INTENT(IN) :: regionUserNumber
14688  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
14689  INTEGER(INTG), INTENT(IN) :: CellMLModelsFieldUserNumber
14690  INTEGER(INTG), INTENT(OUT) :: err
14691  !Local variables
14692  TYPE(cellml_type), POINTER :: CELLML
14693  TYPE(field_type), POINTER :: FIELD
14694  TYPE(region_type), POINTER :: REGION
14695  TYPE(varying_string) :: localError
14696 
14697  enters("cmfe_CellML_ModelsFieldCreateStartNumber",err,error,*999)
14698 
14699  NULLIFY(region)
14700  NULLIFY(field)
14701  NULLIFY(cellml)
14702  CALL region_user_number_find(regionusernumber,region,err,error,*999)
14703  IF(ASSOCIATED(region)) THEN
14704  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
14705  IF(ASSOCIATED(cellml)) THEN
14706  CALL cellml_models_field_create_start(cellmlmodelsfieldusernumber,cellml,field,err,error,*999)
14707  ELSE
14708  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
14709  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
14710  CALL flagerror(localerror,err,error,*999)
14711  END IF
14712  ELSE
14713  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
14714  & " does not exist."
14715  CALL flagerror(localerror,err,error,*999)
14716  END IF
14717 
14718  exits("cmfe_CellML_ModelsFieldCreateStartNumber")
14719  RETURN
14720 999 errorsexits("cmfe_CellML_ModelsFieldCreateStartNumber",err,error)
14721  CALL cmfe_handleerror(err,error)
14722  RETURN
14723 
14725 
14726  !
14727  !================================================================================================================================
14728  !
14729 
14731  SUBROUTINE cmfe_cellml_modelsfieldcreatestartobj(CellML,CellMLModelsFieldUserNumber,field,err)
14732  !DLLEXPORT(cmfe_CellML_ModelsFieldCreateStartObj)
14733 
14734  !Argument variables
14735  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
14736  INTEGER(INTG), INTENT(IN) :: CellMLModelsFieldUserNumber
14737  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
14738  INTEGER(INTG), INTENT(OUT) :: err
14739  !Local variables
14740 
14741  enters("cmfe_CellML_ModelsFieldCreateStartObj",err,error,*999)
14742 
14743  CALL cellml_models_field_create_start(cellmlmodelsfieldusernumber,cellml%CELLML,field%field,err,error,*999)
14744 
14745  exits("cmfe_CellML_ModelsFieldCreateStartObj")
14746  RETURN
14747 999 errorsexits("cmfe_CellML_ModelsFieldCreateStartObj",err,error)
14748  CALL cmfe_handleerror(err,error)
14749  RETURN
14750 
14752 
14753  !
14754  !================================================================================================================================
14755  !
14756 
14758  SUBROUTINE cmfe_cellml_modelsfieldgetnumber(regionUserNumber,CellMLUserNumber,CellMLModelsFieldUserNumber,err)
14759  !DLLEXPORT(cmfe_CellML_ModelsFieldGetNumber)
14760 
14761  !Argument variables
14762  INTEGER(INTG), INTENT(IN) :: regionUserNumber
14763  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
14764  INTEGER(INTG), INTENT(OUT) :: CellMLModelsFieldUserNumber
14765  INTEGER(INTG), INTENT(OUT) :: err
14766  !Local variables
14767  TYPE(cellml_type), POINTER :: CELLML
14768  TYPE(field_type), POINTER :: FIELD
14769  TYPE(region_type), POINTER :: REGION
14770  TYPE(varying_string) :: localError
14771 
14772  enters("cmfe_CellML_ModelsFieldGetNumber",err,error,*999)
14773 
14774  NULLIFY(region)
14775  NULLIFY(cellml)
14776  NULLIFY(field)
14777  CALL region_user_number_find(regionusernumber,region,err,error,*999)
14778  IF(ASSOCIATED(region)) THEN
14779  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
14780  IF(ASSOCIATED(cellml)) THEN
14781  CALL cellml_models_field_get(cellml,field,err,error,*999)
14782  cellmlmodelsfieldusernumber = field%USER_NUMBER
14783  ELSE
14784  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
14785  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
14786  CALL flagerror(localerror,err,error,*999)
14787  END IF
14788  ELSE
14789  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
14790  & " does not exist."
14791  CALL flagerror(localerror,err,error,*999)
14792  END IF
14793 
14794  exits("cmfe_CellML_ModelsFieldGetNumber")
14795  RETURN
14796 999 errorsexits("cmfe_CellML_ModelsFieldGetNumber",err,error)
14797  CALL cmfe_handleerror(err,error)
14798  RETURN
14799 
14800  END SUBROUTINE cmfe_cellml_modelsfieldgetnumber
14801 
14802  !
14803  !================================================================================================================================
14804  !
14805 
14807  SUBROUTINE cmfe_cellml_modelsfieldgetobj(CellML,field,err)
14808  !DLLEXPORT(cmfe_CellML_ModelsFieldGetObj)
14809 
14810  !Argument variables
14811  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
14812  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
14813  INTEGER(INTG), INTENT(OUT) :: err
14814  !Local variables
14815 
14816  enters("cmfe_CellML_ModelsFieldGetObj",err,error,*999)
14817 
14818  CALL cellml_models_field_get(cellml%CELLML,field%field,err,error,*999)
14819 
14820  exits("cmfe_CellML_ModelsFieldGetObj")
14821  RETURN
14822 999 errorsexits("cmfe_CellML_ModelsFieldGetObj",err,error)
14823  CALL cmfe_handleerror(err,error)
14824  RETURN
14825 
14826  END SUBROUTINE cmfe_cellml_modelsfieldgetobj
14827 
14828  !
14829  !================================================================================================================================
14830  !
14831 
14833  SUBROUTINE cmfe_cellml_statefieldcreatefinishnumber(regionUserNumber,CellMLUserNumber,err)
14834  !DLLEXPORT(cmfe_CellML_StateFieldCreateFinishNumber)
14835 
14836  !Argument variables
14837  INTEGER(INTG), INTENT(IN) :: regionUserNumber
14838  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
14839  INTEGER(INTG), INTENT(OUT) :: err
14840  !Local variables
14841  TYPE(cellml_type), POINTER :: CELLML
14842  TYPE(region_type), POINTER :: REGION
14843  TYPE(varying_string) :: localError
14844 
14845  enters("cmfe_CellML_StateFieldCreateFinishNumber",err,error,*999)
14846 
14847  NULLIFY(region)
14848  NULLIFY(cellml)
14849  CALL region_user_number_find(regionusernumber,region,err,error,*999)
14850  IF(ASSOCIATED(region)) THEN
14851  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
14852  IF(ASSOCIATED(cellml)) THEN
14853  CALL cellml_state_field_create_finish(cellml,err,error,*999)
14854  ELSE
14855  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
14856  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
14857  CALL flagerror(localerror,err,error,*999)
14858  END IF
14859  ELSE
14860  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
14861  & " does not exist."
14862  CALL flagerror(localerror,err,error,*999)
14863  END IF
14864 
14865  exits("cmfe_CellML_StateFieldCreateFinishNumber")
14866  RETURN
14867 999 errorsexits("cmfe_CellML_StateFieldCreateFinishNumber",err,error)
14868  CALL cmfe_handleerror(err,error)
14869  RETURN
14870 
14872 
14873  !
14874  !================================================================================================================================
14875  !
14876 
14878  SUBROUTINE cmfe_cellml_statefieldcreatefinishobj(CellML,err)
14879  !DLLEXPORT(cmfe_CellML_StateFieldCreateFinishObj)
14880 
14881  !Argument variables
14882  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
14883  INTEGER(INTG), INTENT(OUT) :: err
14884  !Local variables
14885 
14886  enters("cmfe_CellML_StateFieldCreateFinishObj",err,error,*999)
14887 
14888  CALL cellml_state_field_create_finish(cellml%CELLML,err,error,*999)
14889 
14890  exits("cmfe_CellML_StateFieldCreateFinishObj")
14891  RETURN
14892 999 errorsexits("cmfe_CellML_StateFieldCreateFinishObj",err,error)
14893  CALL cmfe_handleerror(err,error)
14894  RETURN
14895 
14897 
14898  !
14899  !================================================================================================================================
14900  !
14901 
14903  SUBROUTINE cmfe_cellml_statefieldcreatestartnumber(regionUserNumber,CellMLUserNumber,CellMLStateFieldUserNumber,err)
14904  !DLLEXPORT(cmfe_CellML_StateFieldCreateStartNumber)
14905 
14906  !Argument variables
14907  INTEGER(INTG), INTENT(IN) :: regionUserNumber
14908  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
14909  INTEGER(INTG), INTENT(IN) :: CellMLStateFieldUserNumber
14910  INTEGER(INTG), INTENT(OUT) :: err
14911  !Local variables
14912  TYPE(cellml_type), POINTER :: CELLML
14913  TYPE(field_type), POINTER :: FIELD
14914  TYPE(region_type), POINTER :: REGION
14915  TYPE(varying_string) :: localError
14916 
14917  enters("cmfe_CellML_StateFieldCreateStartNumber",err,error,*999)
14918 
14919  NULLIFY(region)
14920  NULLIFY(cellml)
14921  NULLIFY(field)
14922  CALL region_user_number_find(regionusernumber,region,err,error,*999)
14923  IF(ASSOCIATED(region)) THEN
14924  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
14925  IF(ASSOCIATED(cellml)) THEN
14926  CALL cellml_state_field_create_start(cellmlstatefieldusernumber,cellml,field,err,error,*999)
14927  ELSE
14928  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
14929  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
14930  CALL flagerror(localerror,err,error,*999)
14931  END IF
14932  ELSE
14933  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
14934  & " does not exist."
14935  CALL flagerror(localerror,err,error,*999)
14936  END IF
14937 
14938  exits("cmfe_CellML_StateFieldCreateStartNumber")
14939  RETURN
14940 999 errorsexits("cmfe_CellML_StateFieldCreateStartNumber",err,error)
14941  CALL cmfe_handleerror(err,error)
14942  RETURN
14943 
14945 
14946  !
14947  !================================================================================================================================
14948  !
14949 
14951  SUBROUTINE cmfe_cellml_statefieldcreatestartobj(CellML,CellMLStateFieldUserNumber,field,err)
14952  !DLLEXPORT(cmfe_CellML_StateFieldCreateStartObj)
14953 
14954  !Argument variables
14955  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
14956  INTEGER(INTG), INTENT(IN) :: CellMLStateFieldUserNumber
14957  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
14958  INTEGER(INTG), INTENT(OUT) :: err
14959  !Local variables
14960 
14961  enters("cmfe_CellML_StateFieldCreateStartObj",err,error,*999)
14962 
14963  CALL cellml_state_field_create_start(cellmlstatefieldusernumber,cellml%CELLML,field%field,err,error,*999)
14964 
14965  exits("cmfe_CellML_StateFieldCreateStartObj")
14966  RETURN
14967 999 errorsexits("cmfe_CellML_StateFieldCreateStartObj",err,error)
14968  CALL cmfe_handleerror(err,error)
14969  RETURN
14970 
14972 
14973  !
14974  !================================================================================================================================
14975  !
14976 
14978  SUBROUTINE cmfe_cellml_statefieldgetnumber(regionUserNumber,CellMLUserNumber,CellMLStateFieldUserNumber,err)
14979  !DLLEXPORT(cmfe_CellML_StateFieldGetNumber)
14980 
14981  !Argument variables
14982  INTEGER(INTG), INTENT(IN) :: regionUserNumber
14983  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
14984  INTEGER(INTG), INTENT(OUT) :: CellMLStateFieldUserNumber
14985  INTEGER(INTG), INTENT(OUT) :: err
14986  !Local variables
14987  TYPE(cellml_type), POINTER :: CELLML
14988  TYPE(field_type), POINTER :: FIELD
14989  TYPE(region_type), POINTER :: REGION
14990  TYPE(varying_string) :: localError
14991 
14992  enters("cmfe_CellML_StateFieldGetNumber",err,error,*999)
14993 
14994  NULLIFY(region)
14995  NULLIFY(cellml)
14996  NULLIFY(field)
14997  CALL region_user_number_find(regionusernumber,region,err,error,*999)
14998  IF(ASSOCIATED(region)) THEN
14999  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
15000  IF(ASSOCIATED(cellml)) THEN
15001  CALL cellml_state_field_get(cellml,field,err,error,*999)
15002  cellmlstatefieldusernumber = field%USER_NUMBER
15003  ELSE
15004  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
15005  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
15006  CALL flagerror(localerror,err,error,*999)
15007  END IF
15008  ELSE
15009  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
15010  & " does not exist."
15011  CALL flagerror(localerror,err,error,*999)
15012  END IF
15013 
15014  exits("cmfe_CellML_StateFieldGetNumber")
15015  RETURN
15016 999 errorsexits("cmfe_CellML_StateFieldGetNumber",err,error)
15017  CALL cmfe_handleerror(err,error)
15018  RETURN
15019 
15020  END SUBROUTINE cmfe_cellml_statefieldgetnumber
15021 
15022  !
15023  !================================================================================================================================
15024  !
15025 
15027  SUBROUTINE cmfe_cellml_statefieldgetobj(CellML,field,err)
15028  !DLLEXPORT(cmfe_CellML_StateFieldGetObj)
15029 
15030  !Argument variables
15031  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
15032  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
15033  INTEGER(INTG), INTENT(OUT) :: err
15034  !Local variables
15035 
15036  enters("cmfe_CellML_StateFieldGetObj",err,error,*999)
15037 
15038  CALL cellml_state_field_get(cellml%CELLML,field%field,err,error,*999)
15039 
15040  exits("cmfe_CellML_StateFieldGetObj")
15041  RETURN
15042 999 errorsexits("cmfe_CellML_StateFieldGetObj",err,error)
15043  CALL cmfe_handleerror(err,error)
15044  RETURN
15045 
15046  END SUBROUTINE cmfe_cellml_statefieldgetobj
15047 
15048  !
15049  !================================================================================================================================
15050  !
15051 
15053  SUBROUTINE cmfe_cellml_fieldcomponentgetnumberc(regionUserNumber,CellMLUserNumber,CellMLModelUserNumber,CellMLFieldType,&
15054  & variableid,fieldcomponent,err)
15055  !DLLEXPORT(cmfe_CellML_FieldComponentGetNumberC)
15056 
15057  !Argument variables
15058  INTEGER(INTG), INTENT(IN) :: regionUserNumber
15059  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
15060  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
15061  INTEGER(INTG), INTENT(IN) :: CellMLFieldType
15062  CHARACTER(LEN=*), INTENT(IN) :: variableID
15063  INTEGER(INTG), INTENT(OUT) :: fieldComponent
15064  INTEGER(INTG), INTENT(OUT) :: err
15065  !Local variables
15066  TYPE(cellml_type), POINTER :: CELLML
15067  TYPE(region_type), POINTER :: REGION
15068  TYPE(varying_string) :: localError
15069 
15070  enters("cmfe_CellML_FieldComponentGetNumberC",err,error,*999)
15071 
15072  NULLIFY(region)
15073  NULLIFY(cellml)
15074  CALL region_user_number_find(regionusernumber,region,err,error,*999)
15075  IF(ASSOCIATED(region)) THEN
15076  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
15077  IF(ASSOCIATED(cellml)) THEN
15078  CALL cellml_field_component_get(cellml,cellmlmodelusernumber,cellmlfieldtype,variableid,fieldcomponent,err,error,*999)
15079  ELSE
15080  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
15081  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
15082  CALL flagerror(localerror,err,error,*999)
15083  END IF
15084  ELSE
15085  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
15086  & " does not exist."
15087  CALL flagerror(localerror,err,error,*999)
15088  END IF
15089 
15090  exits("cmfe_CellML_FieldComponentGetNumberC")
15091  RETURN
15092 999 errorsexits("cmfe_CellML_FieldComponentGetNumberC",err,error)
15093  CALL cmfe_handleerror(err,error)
15094 
15095  RETURN
15096 
15098 
15099  !
15100  !================================================================================================================================
15101  !
15102 
15104  SUBROUTINE cmfe_cellml_fieldcomponentgetobjc(CellML,CellMLModelUserNumber,CellMLFieldType,variableID,fieldComponent,err)
15105  !DLLEXPORT(cmfe_CellML_FieldComponentGetObjC)
15106 
15107  !Argument variables
15108  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
15109  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
15110  INTEGER(INTG), INTENT(IN) :: CellMLFieldType
15111  CHARACTER(LEN=*), INTENT(IN) :: variableID
15112  INTEGER(INTG), INTENT(OUT) :: fieldComponent
15113  INTEGER(INTG), INTENT(OUT) :: err
15114  !Local variables
15115 
15116  enters("cmfe_CellML_FieldComponentGetObjC",err,error,*999)
15117 
15118  CALL cellml_field_component_get(cellml%CELLML,cellmlmodelusernumber,cellmlfieldtype,variableid,fieldcomponent,err,error,*999)
15119 
15120  exits("cmfe_CellML_FieldComponentGetObjC")
15121  RETURN
15122 999 errorsexits("cmfe_CellML_FieldComponentGetObjC",err,error)
15123  CALL cmfe_handleerror(err,error)
15124  RETURN
15125 
15126  END SUBROUTINE cmfe_cellml_fieldcomponentgetobjc
15127 
15128  !
15129  !================================================================================================================================
15130  !
15131 
15133  SUBROUTINE cmfe_cellml_fieldcomponentgetnumbervs(regionUserNumber,CellMLUserNumber,CellMLModelUserNumber,CellMLFieldType,&
15134  & variableid,fieldcomponent,err)
15135  !DLLEXPORT(cmfe_CellML_FieldComponentGetNumberVS)
15136 
15137  !Argument variables
15138  INTEGER(INTG), INTENT(IN) :: regionUserNumber
15139  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
15140  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
15141  INTEGER(INTG), INTENT(IN) :: CellMLFieldType
15142  TYPE(varying_string), INTENT(IN) :: variableID
15143  INTEGER(INTG), INTENT(OUT) :: fieldComponent
15144  INTEGER(INTG), INTENT(OUT) :: err
15145  !Local variables
15146  TYPE(cellml_type), POINTER :: CELLML
15147  TYPE(region_type), POINTER :: REGION
15148  TYPE(varying_string) :: localError
15149 
15150  enters("cmfe_CellML_FieldComponentGetNumberVS",err,error,*999)
15151 
15152  NULLIFY(region)
15153  NULLIFY(cellml)
15154  CALL region_user_number_find(regionusernumber,region,err,error,*999)
15155  IF(ASSOCIATED(region)) THEN
15156  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
15157  IF(ASSOCIATED(cellml)) THEN
15158  CALL cellml_field_component_get(cellml,cellmlmodelusernumber,cellmlfieldtype,variableid,fieldcomponent,err,error,*999)
15159  ELSE
15160  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
15161  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
15162  CALL flagerror(localerror,err,error,*999)
15163  END IF
15164  ELSE
15165  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
15166  & " does not exist."
15167  CALL flagerror(localerror,err,error,*999)
15168  END IF
15169 
15170  exits("cmfe_CellML_FieldComponentGetNumberVS")
15171  RETURN
15172 999 errorsexits("cmfe_CellML_FieldComponentGetNumberVS",err,error)
15173  CALL cmfe_handleerror(err,error)
15174  RETURN
15175 
15177 
15178  !
15179  !================================================================================================================================
15180  !
15181 
15183  SUBROUTINE cmfe_cellml_fieldcomponentgetobjvs(CellML,CellMLModelUserNumber,CellMLFieldType,variableID,fieldComponent,err)
15184  !DLLEXPORT(cmfe_CellML_FieldComponentGetObjVS)
15185 
15186  !Argument variables
15187  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
15188  INTEGER(INTG), INTENT(IN) :: CellMLModelUserNumber
15189  INTEGER(INTG), INTENT(IN) :: CellMLFieldType
15190  TYPE(varying_string), INTENT(IN) :: variableID
15191  INTEGER(INTG), INTENT(OUT) :: fieldComponent
15192  INTEGER(INTG), INTENT(OUT) :: err
15193  !Local variables
15194 
15195  enters("cmfe_CellML_FieldComponentGetObjVS",err,error,*999)
15196 
15197  CALL cellml_field_component_get(cellml%CELLML,cellmlmodelusernumber,cellmlfieldtype,variableid,fieldcomponent,err,error,*999)
15198 
15199  exits("cmfe_CellML_FieldComponentGetObjVS")
15200  RETURN
15201 999 errorsexits("cmfe_CellML_FieldComponentGetObjVS",err,error)
15202  CALL cmfe_handleerror(err,error)
15203  RETURN
15204 
15205  END SUBROUTINE cmfe_cellml_fieldcomponentgetobjvs
15206 
15207  !
15208  !================================================================================================================================
15209  !
15210 
15212  SUBROUTINE cmfe_cellml_intermediatefieldcreatefinishnumber(regionUserNumber,CellMLUserNumber,err)
15213  !DLLEXPORT(cmfe_CellML_IntermediateFieldCreateFinishNumber)
15214 
15215  !Argument variables
15216  INTEGER(INTG), INTENT(IN) :: regionUserNumber
15217  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
15218  INTEGER(INTG), INTENT(OUT) :: err
15219  !Local variables
15220  TYPE(cellml_type), POINTER :: CELLML
15221  TYPE(region_type), POINTER :: REGION
15222  TYPE(varying_string) :: localError
15223 
15224  enters("cmfe_CellML_IntermediateFieldCreateFinishNumber",err,error,*999)
15225 
15226  NULLIFY(region)
15227  NULLIFY(cellml)
15228  CALL region_user_number_find(regionusernumber,region,err,error,*999)
15229  IF(ASSOCIATED(region)) THEN
15230  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
15231  IF(ASSOCIATED(cellml)) THEN
15232  CALL cellml_intermediate_field_create_finish(cellml,err,error,*999)
15233  ELSE
15234  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
15235  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
15236  CALL flagerror(localerror,err,error,*999)
15237  END IF
15238  ELSE
15239  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
15240  & " does not exist."
15241  CALL flagerror(localerror,err,error,*999)
15242  END IF
15243 
15244  exits("cmfe_CellML_IntermediateFieldCreateFinishNumber")
15245  RETURN
15246 999 errors("cmfe_CellML_IntermediateFieldCreateFinishNumber",err,error)
15247  exits("cmfe_CellML_IntermediateFieldCreateFinishNumber")
15248  CALL cmfe_handleerror(err,error)
15249  RETURN
15250 
15252 
15253  !
15254  !================================================================================================================================
15255  !
15256 
15258  SUBROUTINE cmfe_cellml_intermediatefieldcreatefinishobj(CellML,err)
15259  !DLLEXPORT(cmfe_CellML_IntermediateFieldCreateFinishObj)
15260 
15261  !Argument variables
15262  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
15263  INTEGER(INTG), INTENT(OUT) :: err
15264  !Local variables
15265 
15266  enters("cmfe_CellML_IntermediateFieldCreateFinishObj",err,error,*999)
15267 
15268  CALL cellml_intermediate_field_create_finish(cellml%CELLML,err,error,*999)
15269 
15270  exits("cmfe_CellML_IntermediateFieldCreateFinishObj")
15271  RETURN
15272 999 errors("cmfe_CellML_IntermediateFieldCreateFinishObj",err,error)
15273  exits("cmfe_CellML_IntermediateFieldCreateFinishObj")
15274  CALL cmfe_handleerror(err,error)
15275  RETURN
15276 
15278 
15279  !
15280  !================================================================================================================================
15281  !
15282 
15284  SUBROUTINE cmfe_cellml_intermediatefieldcreatestartnumber(regionUserNumber,CellMLUserNumber,CellMLIntermediateFieldUserNumber,err)
15285  !DLLEXPORT(cmfe_CellML_IntermediateFieldCreateStartNumber)
15286 
15287  !Argument variables
15288  INTEGER(INTG), INTENT(IN) :: regionUserNumber
15289  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
15290  INTEGER(INTG), INTENT(IN) :: CellMLIntermediateFieldUserNumber
15291  INTEGER(INTG), INTENT(OUT) :: err
15292  !Local variables
15293  TYPE(cellml_type), POINTER :: CELLML
15294  TYPE(field_type), POINTER :: FIELD
15295  TYPE(region_type), POINTER :: REGION
15296  TYPE(varying_string) :: localError
15297 
15298  enters("cmfe_CellML_IntermediateFieldCreateStartNumber",err,error,*999)
15299 
15300  NULLIFY(region)
15301  NULLIFY(cellml)
15302  NULLIFY(field)
15303  CALL region_user_number_find(regionusernumber,region,err,error,*999)
15304  IF(ASSOCIATED(region)) THEN
15305  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
15306  IF(ASSOCIATED(cellml)) THEN
15307  CALL cellml_intermediate_field_create_start(cellmlintermediatefieldusernumber,cellml,field,err,error,*999)
15308  ELSE
15309  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
15310  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
15311  CALL flagerror(localerror,err,error,*999)
15312  END IF
15313  ELSE
15314  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
15315  & " does not exist."
15316  CALL flagerror(localerror,err,error,*999)
15317  END IF
15318 
15319  exits("cmfe_CellML_IntermediateFieldCreateStartNumber")
15320  RETURN
15321 999 errors("cmfe_CellML_IntermediateFieldCreateStartNumber",err,error)
15322  exits("cmfe_CellML_IntermediateFieldCreateStartNumber")
15323  CALL cmfe_handleerror(err,error)
15324  RETURN
15325 
15327 
15328  !
15329  !================================================================================================================================
15330  !
15331 
15333  SUBROUTINE cmfe_cellml_intermediatefieldcreatestartobj(CellML,CellMLIntermediateFieldUserNumber,field,err)
15334  !DLLEXPORT(cmfe_CellML_IntermediateFieldCreateStartObj)
15335 
15336  !Argument variables
15337  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
15338  INTEGER(INTG), INTENT(IN) :: CellMLIntermediateFieldUserNumber
15339  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
15340  INTEGER(INTG), INTENT(OUT) :: err
15341  !Local variables
15342 
15343  enters("cmfe_CellML_IntermediateFieldCreateStartObj",err,error,*999)
15344 
15345  CALL cellml_intermediate_field_create_start(cellmlintermediatefieldusernumber,cellml%CELLML,field%field,err,error,*999)
15346 
15347  exits("cmfe_CellML_IntermediateFieldCreateStartObj")
15348  RETURN
15349 999 errorsexits("cmfe_CellML_IntermediateFieldCreateStartObj",err,error)
15350  CALL cmfe_handleerror(err,error)
15351  RETURN
15352 
15354 
15355  !
15356  !================================================================================================================================
15357  !
15358 
15360  SUBROUTINE cmfe_cellml_intermediatefieldgetnumber(regionUserNumber,CellMLUserNumber,CellMLIntermediateFieldUserNumber,err)
15361  !DLLEXPORT(cmfe_CellML_IntermediateFieldGetNumber)
15362 
15363  !Argument variables
15364  INTEGER(INTG), INTENT(IN) :: regionUserNumber
15365  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
15366  INTEGER(INTG), INTENT(OUT) :: CellMLIntermediateFieldUserNumber
15367  INTEGER(INTG), INTENT(OUT) :: err
15368  !Local variables
15369  TYPE(cellml_type), POINTER :: CELLML
15370  TYPE(field_type), POINTER :: FIELD
15371  TYPE(region_type), POINTER :: REGION
15372  TYPE(varying_string) :: localError
15373 
15374  enters("cmfe_CellML_IntermediateFieldGetNumber",err,error,*999)
15375 
15376  NULLIFY(region)
15377  NULLIFY(cellml)
15378  NULLIFY(field)
15379  CALL region_user_number_find(regionusernumber,region,err,error,*999)
15380  IF(ASSOCIATED(region)) THEN
15381  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
15382  IF(ASSOCIATED(cellml)) THEN
15383  CALL cellml_intermediate_field_get(cellml,field,err,error,*999)
15384  cellmlintermediatefieldusernumber = field%USER_NUMBER
15385  ELSE
15386  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
15387  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
15388  CALL flagerror(localerror,err,error,*999)
15389  END IF
15390  ELSE
15391  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
15392  & " does not exist."
15393  CALL flagerror(localerror,err,error,*999)
15394  END IF
15395 
15396  exits("cmfe_CellML_IntermediateFieldGetNumber")
15397  RETURN
15398 999 errorsexits("cmfe_CellML_IntermediateFieldGetNumber",err,error)
15399  CALL cmfe_handleerror(err,error)
15400  RETURN
15401 
15403 
15404  !
15405  !================================================================================================================================
15406  !
15407 
15409  SUBROUTINE cmfe_cellml_intermediatefieldgetobj(CellML,field,err)
15410  !DLLEXPORT(cmfe_CellML_IntermediateFieldGetObj)
15411 
15412  !Argument variables
15413  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
15414  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
15415  INTEGER(INTG), INTENT(OUT) :: err
15416  !Local variables
15417 
15418  enters("cmfe_CellML_IntermediateFieldGetObj",err,error,*999)
15419 
15420  CALL cellml_intermediate_field_get(cellml%CELLML,field%field,err,error,*999)
15421 
15422  exits("cmfe_CellML_IntermediateFieldGetObj")
15423  RETURN
15424 999 errorsexits("cmfe_CellML_IntermediateFieldGetObj",err,error)
15425  CALL cmfe_handleerror(err,error)
15426  RETURN
15427 
15429 
15430  !
15431  !================================================================================================================================
15432  !
15433 
15435  SUBROUTINE cmfe_cellml_parametersfieldcreatefinishnumber(regionUserNumber,CellMLUserNumber,err)
15436  !DLLEXPORT(cmfe_CellML_ParametersFieldCreateFinishNumber)
15437 
15438  !Argument variables
15439  INTEGER(INTG), INTENT(IN) :: regionUserNumber
15440  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
15441  INTEGER(INTG), INTENT(OUT) :: err
15442  !Local variables
15443  TYPE(cellml_type), POINTER :: CELLML
15444  TYPE(region_type), POINTER :: REGION
15445  TYPE(varying_string) :: localError
15446 
15447  enters("cmfe_CellML_ParametersFieldCreateFinishNumber",err,error,*999)
15448 
15449  NULLIFY(region)
15450  NULLIFY(cellml)
15451  CALL region_user_number_find(regionusernumber,region,err,error,*999)
15452  IF(ASSOCIATED(region)) THEN
15453  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
15454  IF(ASSOCIATED(cellml)) THEN
15455  CALL cellml_parameters_field_create_finish(cellml,err,error,*999)
15456  ELSE
15457  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
15458  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
15459  CALL flagerror(localerror,err,error,*999)
15460  END IF
15461  ELSE
15462  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
15463  & " does not exist."
15464  CALL flagerror(localerror,err,error,*999)
15465  END IF
15466 
15467  exits("cmfe_CellML_ParametersFieldCreateFinishNumber")
15468  RETURN
15469 999 errors("cmfe_CellML_ParametersFieldCreateFinishNumber",err,error)
15470  exits("cmfe_CellML_ParametersFieldCreateFinishNumber")
15471  CALL cmfe_handleerror(err,error)
15472  RETURN
15473 
15475 
15476  !
15477  !================================================================================================================================
15478  !
15479 
15481  SUBROUTINE cmfe_cellml_parametersfieldcreatefinishobj(CellML,err)
15482  !DLLEXPORT(cmfe_CellML_ParametersFieldCreateFinishObj)
15483 
15484  !Argument variables
15485  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
15486  INTEGER(INTG), INTENT(OUT) :: err
15487  !Local variables
15488 
15489  enters("cmfe_CellML_ParametersFieldCreateFinishObj",err,error,*999)
15490 
15491  CALL cellml_parameters_field_create_finish(cellml%CELLML,err,error,*999)
15492 
15493  exits("cmfe_CellML_ParametersFieldCreateFinishObj")
15494  RETURN
15495 999 errorsexits("cmfe_CellML_ParametersFieldCreateFinishObj",err,error)
15496  CALL cmfe_handleerror(err,error)
15497  RETURN
15498 
15500 
15501  !
15502  !================================================================================================================================
15503  !
15504 
15506  SUBROUTINE cmfe_cellml_parametersfieldcreatestartnumber(regionUserNumber,CellMLUserNumber,CellMLParametersFieldUserNumber,err)
15507  !DLLEXPORT(cmfe_CellML_ParametersFieldCreateStartNumber)
15508 
15509  !Argument variables
15510  INTEGER(INTG), INTENT(IN) :: regionUserNumber
15511  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
15512  INTEGER(INTG), INTENT(IN) :: CellMLParametersFieldUserNumber
15513  INTEGER(INTG), INTENT(OUT) :: err
15514  !Local variables
15515  TYPE(cellml_type), POINTER :: CELLML
15516  TYPE(field_type), POINTER :: FIELD
15517  TYPE(region_type), POINTER :: REGION
15518  TYPE(varying_string) :: localError
15519 
15520  enters("cmfe_CellML_ParametersFieldCreateStartNumber",err,error,*999)
15521 
15522  NULLIFY(region)
15523  NULLIFY(cellml)
15524  NULLIFY(field)
15525  CALL region_user_number_find(regionusernumber,region,err,error,*999)
15526  IF(ASSOCIATED(region)) THEN
15527  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
15528  IF(ASSOCIATED(cellml)) THEN
15529  CALL cellml_parameters_field_create_start(cellmlparametersfieldusernumber,cellml,field,err,error,*999)
15530  ELSE
15531  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
15532  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
15533  CALL flagerror(localerror,err,error,*999)
15534  END IF
15535  ELSE
15536  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
15537  & " does not exist."
15538  CALL flagerror(localerror,err,error,*999)
15539  END IF
15540 
15541  exits("cmfe_CellML_ParametersFieldCreateStartNumber")
15542  RETURN
15543 999 errors("cmfe_CellML_ParametersFieldCreateStartNumber",err,error)
15544  exits("cmfe_CellML_ParametersFieldCreateStartNumber")
15545  CALL cmfe_handleerror(err,error)
15546  RETURN
15547 
15549 
15550  !
15551  !================================================================================================================================
15552  !
15553 
15555  SUBROUTINE cmfe_cellml_parametersfieldcreatestartobj(CellML,CellMLParametersFieldUserNumber,field,err)
15556  !DLLEXPORT(cmfe_CellML_ParametersFieldCreateStartObj)
15557 
15558  !Argument variables
15559  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
15560  INTEGER(INTG), INTENT(IN) :: CellMLParametersFieldUserNumber
15561  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
15562  INTEGER(INTG), INTENT(OUT) :: err
15563  !Local variables
15564 
15565  enters("cmfe_CellML_ParametersFieldCreateStartObj",err,error,*999)
15566 
15567  CALL cellml_parameters_field_create_start(cellmlparametersfieldusernumber,cellml%CELLML,field%field,err,error,*999)
15568 
15569  exits("cmfe_CellML_ParametersFieldCreateStartObj")
15570  RETURN
15571 999 errorsexits("cmfe_CellML_ParametersFieldCreateStartObj",err,error)
15572  CALL cmfe_handleerror(err,error)
15573  RETURN
15574 
15576 
15577  !
15578  !================================================================================================================================
15579  !
15580 
15582  SUBROUTINE cmfe_cellml_parametersfieldgetnumber(regionUserNumber,CellMLUserNumber,CellMLParametersFieldUserNumber,err)
15583  !DLLEXPORT(cmfe_CellML_ParametersFieldGetNumber)
15584 
15585  !Argument variables
15586  INTEGER(INTG), INTENT(IN) :: regionUserNumber
15587  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
15588  INTEGER(INTG), INTENT(OUT) :: CellMLParametersFieldUserNumber
15589  INTEGER(INTG), INTENT(OUT) :: err
15590  !Local variables
15591  TYPE(cellml_type), POINTER :: CELLML
15592  TYPE(field_type), POINTER :: FIELD
15593  TYPE(region_type), POINTER :: REGION
15594  TYPE(varying_string) :: localError
15595 
15596  enters("cmfe_CellML_ParametersFieldGetNumber",err,error,*999)
15597 
15598  NULLIFY(region)
15599  NULLIFY(cellml)
15600  NULLIFY(field)
15601  CALL region_user_number_find(regionusernumber,region,err,error,*999)
15602  IF(ASSOCIATED(region)) THEN
15603  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
15604  IF(ASSOCIATED(cellml)) THEN
15605  CALL cellml_parameters_field_get(cellml,field,err,error,*999)
15606  cellmlparametersfieldusernumber = field%USER_NUMBER
15607  ELSE
15608  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
15609  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
15610  CALL flagerror(localerror,err,error,*999)
15611  END IF
15612  ELSE
15613  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
15614  & " does not exist."
15615  CALL flagerror(localerror,err,error,*999)
15616  END IF
15617 
15618  exits("cmfe_CellML_ParametersFieldGetNumber")
15619  RETURN
15620 999 errorsexits("cmfe_CellML_ParametersFieldGetNumber",err,error)
15621  CALL cmfe_handleerror(err,error)
15622  RETURN
15623 
15625 
15626  !
15627  !================================================================================================================================
15628  !
15629 
15631  SUBROUTINE cmfe_cellml_parametersfieldgetobj(CellML,field,err)
15632  !DLLEXPORT(cmfe_CellML_ParametersFieldGetObj)
15633 
15634  !Argument variables
15635  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
15636  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
15637  INTEGER(INTG), INTENT(OUT) :: err
15638  !Local variables
15639 
15640  enters("cmfe_CellML_ParametersFieldGetObj",err,error,*999)
15641 
15642  CALL cellml_parameters_field_get(cellml%CELLML,field%field,err,error,*999)
15643 
15644  exits("cmfe_CellML_ParametersFieldGetObj")
15645  RETURN
15646 999 errorsexits("cmfe_CellML_ParametersFieldGetObj",err,error)
15647  CALL cmfe_handleerror(err,error)
15648  RETURN
15649 
15650  END SUBROUTINE cmfe_cellml_parametersfieldgetobj
15651 
15652  !
15653  !================================================================================================================================
15654  !
15655 
15657  SUBROUTINE cmfe_cellml_generatenumber(regionUserNumber,CellMLUserNumber,err)
15658  !DLLEXPORT(cmfe_CellML_GenerateNumber)
15659 
15660  !Argument variables
15661  INTEGER(INTG), INTENT(IN) :: regionUserNumber
15662  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
15663  INTEGER(INTG), INTENT(OUT) :: err
15664  !Local variables
15665  TYPE(cellml_type), POINTER :: CELLML
15666  TYPE(region_type), POINTER :: REGION
15667  TYPE(varying_string) :: localError
15668 
15669  enters("cmfe_CellML_GenerateNumber",err,error,*999)
15670 
15671  NULLIFY(region)
15672  NULLIFY(cellml)
15673  CALL region_user_number_find(regionusernumber,region,err,error,*999)
15674  IF(ASSOCIATED(region)) THEN
15675  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
15676  IF(ASSOCIATED(cellml)) THEN
15677  CALL cellml_generate(cellml,err,error,*999)
15678  ELSE
15679  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
15680  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
15681  CALL flagerror(localerror,err,error,*999)
15682  END IF
15683  ELSE
15684  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
15685  & " does not exist."
15686  CALL flagerror(localerror,err,error,*999)
15687  END IF
15688 
15689  exits("cmfe_CellML_GenerateNumber")
15690  RETURN
15691 999 errorsexits("cmfe_CellML_GenerateNumber",err,error)
15692  CALL cmfe_handleerror(err,error)
15693  RETURN
15694 
15695  END SUBROUTINE cmfe_cellml_generatenumber
15696 
15697  !
15698  !================================================================================================================================
15699  !
15700 
15702  SUBROUTINE cmfe_cellml_generateobj(CellML,err)
15703  !DLLEXPORT(cmfe_CellML_GenerateObj)
15704 
15705  !Argument variables
15706  TYPE(cmfe_cellmltype), INTENT(INOUT) :: CellML
15707  INTEGER(INTG), INTENT(OUT) :: err
15708  !Local variables
15709 
15710  enters("cmfe_CellML_GenerateObj",err,error,*999)
15711 
15712  CALL cellml_generate(cellml%CELLML,err,error,*999)
15713 
15714  exits("cmfe_CellML_GenerateObj")
15715  RETURN
15716 999 errorsexits("cmfe_CellML_GenerateObj",err,error)
15717  CALL cmfe_handleerror(err,error)
15718  RETURN
15719 
15720  END SUBROUTINE cmfe_cellml_generateobj
15721 
15722 
15723 !!==================================================================================================================================
15724 !!
15725 !! COMP_ENVIRONMENT
15726 !!
15727 !!==================================================================================================================================
15728 
15730  SUBROUTINE cmfe_computationalnodenumberget(nodeNumber,err)
15731  !DLLEXPORT(cmfe_ComputationalNodeNumberGet)
15732 
15733  !Argument variables
15734  INTEGER(INTG), INTENT(OUT) :: nodeNumber
15735  INTEGER(INTG), INTENT(OUT) :: err
15736  !Local variables
15737 
15738  enters("cmfe_ComputationalNodeNumberGet",err,error,*999)
15739 
15740  nodenumber = computational_node_number_get(err,error)
15741 
15742  exits("cmfe_ComputationalNodeNumberGet")
15743  RETURN
15744 999 errorsexits("cmfe_ComputationalNodeNumberGet",err,error)
15745  CALL cmfe_handleerror(err,error)
15746  RETURN
15747 
15748  END SUBROUTINE cmfe_computationalnodenumberget
15749 
15750  !
15751  !================================================================================================================================
15752  !
15753 
15755  SUBROUTINE cmfe_computationalnumberofnodesget(numberOfNodes,err)
15756  !DLLEXPORT(cmfe_ComputationalNumberOfNodesGet)
15757 
15758  !Argument variables
15759  INTEGER(INTG), INTENT(OUT) :: numberOfNodes
15760  INTEGER(INTG), INTENT(OUT) :: err
15761  !Local variables
15762 
15763  enters("cmfe_ComputationalNumberOfNodesGet",err,error,*999)
15764 
15765  numberofnodes = computational_nodes_number_get(err,error)
15766 
15767  exits("cmfe_ComputationalNumberOfNodesGet")
15768  RETURN
15769 999 errorsexits("cmfe_ComputationalNumberOfNodesGet",err,error)
15770  CALL cmfe_handleerror(err,error)
15771  RETURN
15772 
15773  END SUBROUTINE cmfe_computationalnumberofnodesget
15774 
15775  !
15776  !================================================================================================================================
15777  !
15778 
15780  SUBROUTINE cmfe_computationalworkgroup_createstart(worldWorkGroup, numberComputationalNodes, err)
15781  !DLLEXPORT(cmfe_ComputationalWorkGroup_CreateStart)
15782  !Argument Variables
15783  TYPE(cmfe_computationalworkgrouptype), INTENT(INOUT) :: worldWorkGroup
15784  INTEGER(INTG),INTENT(IN) :: numberComputationalNodes
15785  INTEGER(INTG), INTENT(OUT) :: err
15786 
15787  enters("cmfe_ComputationalWorkGroup_CreateStart",err,error,*999)
15788 
15789  CALL computational_work_group_create_start(worldworkgroup%computationalWorkGroup,numbercomputationalnodes, &
15790  & err,error,*999)
15791 
15792  exits("cmfe_ComputationalWorkGroup_CreateStart")
15793  RETURN
15794 999 errorsexits("cmfe_ComputationalWorkGroup_CreateStart",err,error)
15795  CALL cmfe_handleerror(err,error)
15796  RETURN
15797 
15799 
15800  !
15801  !================================================================================================================================
15802  !
15803 
15805  SUBROUTINE cmfe_computationalworkgroup_createfinish(worldWorkGroup, err)
15806  !DLLEXPORT(cmfe_ComputationalWorkGroup_CreateFinish)
15807  !Argument Variables
15808  TYPE(cmfe_computationalworkgrouptype), INTENT(INOUT) :: worldWorkGroup
15809  INTEGER(INTG), INTENT(OUT) :: err
15810 
15811  enters("cmfe_ComputationalWorkGroup_CreateFinish",err,error,*999)
15812 
15813  CALL computational_work_group_create_finish(worldworkgroup%computationalWorkGroup, err,error,*999)
15814 
15815  exits("cmfe_ComputationalWorkGroup_CreateFinish")
15816  RETURN
15817 999 errorsexits("cmfe_ComputationalWorkGroup_CreateFinish",err,error)
15818  CALL cmfe_handleerror(err,error)
15819  RETURN
15820 
15822 
15823  !
15824  !================================================================================================================================
15825  !
15826 
15828  SUBROUTINE cmfe_computationalworkgroup_subgroupadd(parentWorkGroup, numberComputationalNodes,addedWorkGroup, err)
15829  !DLLEXPORT(cmfe_ComputationalWorkGroup_SubgroupAdd)
15830  !Argument Variables
15831  TYPE(cmfe_computationalworkgrouptype), INTENT(INOUT) :: parentWorkGroup
15832  TYPE(cmfe_computationalworkgrouptype), INTENT(INOUT) :: addedWorkGroup
15833  INTEGER(INTG),INTENT(IN) :: numberComputationalNodes
15834  INTEGER(INTG), INTENT(OUT) :: err
15835 
15836  enters("cmfe_ComputationalWorkGroup_SubgroupAdd",err,error,*999)
15837 
15838  CALL computational_work_group_subgroup_add(parentworkgroup%computationalWorkGroup,numbercomputationalnodes, &
15839  & addedworkgroup%computationalWorkGroup, err,error,*999)
15840 
15841  exits("cmfe_ComputationalWorkGroup_SubgroupAdd")
15842  RETURN
15843 999 errorsexits("cmfe_ComputationalWorkGroup_SubgroupAdd",err,error)
15844  CALL cmfe_handleerror(err,error)
15845  RETURN
15846 
15848  !================================================================================================================================
15849  !
15850 
15852  SUBROUTINE cmfe_decomposition_worldworkgroupset(decomposition, worldWorkGroup, err)
15853  !DLLEXPORT(cmfe_Decomposition_WorldWorkGroupSet)
15854  !Argument Variables
15855  TYPE(cmfe_decompositiontype), INTENT(INOUT) :: decomposition
15856  TYPE(cmfe_computationalworkgrouptype),INTENT(IN) :: worldWorkGroup
15857  INTEGER(INTG), INTENT(OUT) :: err
15858 
15859  enters("cmfe_Decomposition_WorldWorkGroupSet",err,error,*999)
15860 
15861  ! todo
15862  CALL flagerror('not implemented yet', err,error, *999)
15863 
15864  exits("cmfe_Decomposition_WorldWorkGroupSet")
15865  RETURN
15866 999 errorsexits("cmfe_Decomposition_WorldWorkGroupSet",err,error)
15867  CALL cmfe_handleerror(err,error)
15868  RETURN
15869 
15871 
15872 !!==================================================================================================================================
15873 !!
15874 !! CONTROL_LOOP_ROUTINES
15875 !!
15876 !!==================================================================================================================================
15877 
15879  SUBROUTINE cmfe_controlloop_currenttimesgetnumber0(problemUserNumber,controlLoopIdentifier,currentTime,timeIncrement,err)
15880  !DLLEXPORT(cmfe_ControlLoop_CurrentTimesGetNumber0)
15881 
15882  !Argument variables
15883  INTEGER(INTG), INTENT(IN) :: problemUserNumber
15884  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
15885  REAL(DP), INTENT(OUT) :: currentTime
15886  REAL(DP), INTENT(OUT) :: timeIncrement
15887  INTEGER(INTG), INTENT(OUT) :: err
15888  !Local variables
15889  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
15890  TYPE(problem_type), POINTER :: PROBLEM
15891  TYPE(varying_string) :: localError
15892 
15893  enters("cmfe_ControlLoop_CurrentTimesGetNumber0",err,error,*999)
15894 
15895  NULLIFY(control_loop)
15896  NULLIFY(problem)
15897  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
15898  IF(ASSOCIATED(problem)) THEN
15899  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
15900  CALL control_loop_current_times_get(control_loop,currenttime,timeincrement,err,error,*999)
15901  ELSE
15902  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
15903  CALL flagerror(localerror,err,error,*999)
15904  END IF
15905 
15906  exits("cmfe_ControlLoop_CurrentTimesGetNumber0")
15907  RETURN
15908 999 errorsexits("cmfe_ControlLoop_CurrentTimesGetNumber0",err,error)
15909  CALL cmfe_handleerror(err,error)
15910  RETURN
15911 
15913 
15914  !
15915  !================================================================================================================================
15916  !
15917 
15919  SUBROUTINE cmfe_controlloop_currenttimesgetnumber1(problemUserNumber,controlLoopIdentifiers,currentTime,timeIncrement,err)
15920  !DLLEXPORT(cmfe_ControlLoop_CurrentTimesGetNumber1)
15921 
15922  !Argument variables
15923  INTEGER(INTG), INTENT(IN) :: problemUserNumber
15924  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
15925  REAL(DP), INTENT(OUT) :: currentTime
15926  REAL(DP), INTENT(OUT) :: timeIncrement
15927  INTEGER(INTG), INTENT(OUT) :: err
15928  !Local variables
15929  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
15930  TYPE(problem_type), POINTER :: PROBLEM
15931  TYPE(varying_string) :: localError
15932 
15933  enters("cmfe_ControlLoop_CurrentTimesGetNumber1",err,error,*999)
15934 
15935  NULLIFY(control_loop)
15936  NULLIFY(problem)
15937  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
15938  IF(ASSOCIATED(problem)) THEN
15939  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
15940  CALL control_loop_current_times_get(control_loop,currenttime,timeincrement,err,error,*999)
15941  ELSE
15942  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
15943  CALL flagerror(localerror,err,error,*999)
15944  END IF
15945 
15946  exits("cmfe_ControlLoop_CurrentTimesGetNumber1")
15947  RETURN
15948 999 errorsexits("cmfe_ControlLoop_CurrentTimesGetNumber1",err,error)
15949  CALL cmfe_handleerror(err,error)
15950  RETURN
15951 
15953 
15954  !
15955  !================================================================================================================================
15956  !
15957 
15959  SUBROUTINE cmfe_controlloop_currenttimesgetobj(controlLoop,currentTime,timeIncrement,err)
15960  !DLLEXPORT(cmfe_ControlLoop_CurrentTimesGetObj)
15961 
15962  !Argument variables
15963  TYPE(cmfe_controllooptype), INTENT(IN) :: controlLoop
15964  REAL(DP), INTENT(OUT) :: currentTime
15965  REAL(DP), INTENT(OUT) :: timeIncrement
15966  INTEGER(INTG), INTENT(OUT) :: err
15967  !Local variables
15968 
15969  enters("cmfe_ControlLoop_CurrentTimesGetObj",err,error,*999)
15970 
15971  CALL control_loop_current_times_get(controlloop%controlLoop,currenttime,timeincrement,err,error,*999)
15972 
15973  exits("cmfe_ControlLoop_CurrentTimesGetObj")
15974  RETURN
15975 999 errorsexits("cmfe_ControlLoop_CurrentTimesGetObj",err,error)
15976  CALL cmfe_handleerror(err,error)
15977  RETURN
15978 
15980 
15981  !
15982  !================================================================================================================================
15983  !
15984 
15986  SUBROUTINE cmfe_controlloop_destroynumber0(problemUserNumber,controlLoopIdentifier,err)
15987  !DLLEXPORT(cmfe_ControlLoop_DestroyNumber0)
15988 
15989  !Argument variables
15990  INTEGER(INTG), INTENT(IN) :: problemUserNumber
15991  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
15992  INTEGER(INTG), INTENT(OUT) :: err
15993  !Local variables
15994  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
15995  TYPE(problem_type), POINTER :: PROBLEM
15996  TYPE(varying_string) :: localError
15997 
15998  enters("cmfe_ControlLoop_DestroyNumber0",err,error,*999)
15999 
16000  NULLIFY(control_loop)
16001  NULLIFY(problem)
16002  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16003  IF(ASSOCIATED(problem)) THEN
16004  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
16005  CALL control_loop_destroy(control_loop,err,error,*999)
16006  ELSE
16007  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16008  CALL flagerror(localerror,err,error,*999)
16009  END IF
16010 
16011  exits("cmfe_ControlLoop_DestroyNumber0")
16012  RETURN
16013 999 errorsexits("cmfe_ControlLoop_DestroyNumber0",err,error)
16014  CALL cmfe_handleerror(err,error)
16015  RETURN
16016 
16017  END SUBROUTINE cmfe_controlloop_destroynumber0
16018 
16019  !
16020  !================================================================================================================================
16021  !
16022 
16024  SUBROUTINE cmfe_controlloop_destroynumber1(problemUserNumber,controlLoopIdentifiers,err)
16025  !DLLEXPORT(cmfe_ControlLoop_DestroyNumber1)
16026 
16027  !Argument variables
16028  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16029  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
16030  INTEGER(INTG), INTENT(OUT) :: err
16031  !Local variables
16032  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
16033  TYPE(problem_type), POINTER :: PROBLEM
16034  TYPE(varying_string) :: localError
16035 
16036  enters("cmfe_ControlLoop_DestroyNumber1",err,error,*999)
16037 
16038  NULLIFY(control_loop)
16039  NULLIFY(problem)
16040  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16041  IF(ASSOCIATED(problem)) THEN
16042  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
16043  CALL control_loop_destroy(control_loop,err,error,*999)
16044  ELSE
16045  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16046  CALL flagerror(localerror,err,error,*999)
16047  END IF
16048 
16049  exits("cmfe_ControlLoop_DestroyNumber1")
16050  RETURN
16051 999 errorsexits("cmfe_ControlLoop_DestroyNumber1",err,error)
16052  CALL cmfe_handleerror(err,error)
16053  RETURN
16054 
16055  END SUBROUTINE cmfe_controlloop_destroynumber1
16056 
16057  !
16058  !================================================================================================================================
16059  !
16060 
16062  SUBROUTINE cmfe_controlloop_destroyobj(controlLoop,err)
16063  !DLLEXPORT(cmfe_ControlLoop_DestroyObj)
16064 
16065  !Argument variables
16066  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
16067  INTEGER(INTG), INTENT(OUT) :: err
16068  !Local variables
16069 
16070  enters("cmfe_ControlLoop_DestroyObj",err,error,*999)
16071 
16072  CALL control_loop_destroy(controlloop%controlLoop,err,error,*999)
16073 
16074  exits("cmfe_ControlLoop_DestroyObj")
16075  RETURN
16076 999 errorsexits("cmfe_ControlLoop_DestroyObj",err,error)
16077  CALL cmfe_handleerror(err,error)
16078  RETURN
16079 
16080  END SUBROUTINE cmfe_controlloop_destroyobj
16081 
16082  !
16083  !================================================================================================================================
16084  !
16085 
16087  SUBROUTINE cmfe_controlloop_controlloopgetnumber00(problemUserNumber,controlLoopRootIdentifier,controlLoopIdentifier, &
16088  & controlloop,err)
16089  !DLLEXPORT(cmfe_ControlLoop_ControlLoopGetNumber00)
16090 
16091  !Argument variables
16092  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16093  INTEGER(INTG), INTENT(IN) :: controlLoopRootIdentifier
16094  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
16095  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
16096  INTEGER(INTG), INTENT(OUT) :: err
16097  !Local variables
16098  TYPE(control_loop_type), POINTER :: ROOT_CONTROL_LOOP
16099  TYPE(problem_type), POINTER :: PROBLEM
16100  TYPE(varying_string) :: localError
16101 
16102  enters("cmfe_ControlLoop_ControlLoopGetNumber00",err,error,*999)
16103 
16104  NULLIFY(root_control_loop)
16105  NULLIFY(problem)
16106  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16107  IF(ASSOCIATED(problem)) THEN
16108  CALL problem_control_loop_get(problem,controllooprootidentifier,root_control_loop,err,error,*999)
16109  CALL control_loop_get(root_control_loop,controlloopidentifier,controlloop%controlLoop,err,error,*999)
16110  ELSE
16111  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16112  CALL flagerror(localerror,err,error,*999)
16113  END IF
16114 
16115  exits("cmfe_ControlLoop_ControlLoopGetNumber00")
16116  RETURN
16117 999 errorsexits("cmfe_ControlLoop_ControlLoopGetNumber00",err,error)
16118  CALL cmfe_handleerror(err,error)
16119  RETURN
16120 
16122 
16123  !
16124  !================================================================================================================================
16125  !
16126 
16128  SUBROUTINE cmfe_controlloop_controlloopgetnumber10(problemUserNumber,controlLoopRootIdentifiers,controlLoopIdentifier, &
16129  & controlloop,err)
16130  !DLLEXPORT(cmfe_ControlLoop_ControlLoopGetNumber10)
16131 
16132  !Argument variables
16133  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16134  INTEGER(INTG), INTENT(IN) :: controlLoopRootIdentifiers(:)
16135  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
16136  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
16137  INTEGER(INTG), INTENT(OUT) :: err
16138  !Local variables
16139  TYPE(control_loop_type), POINTER :: ROOT_CONTROL_LOOP
16140  TYPE(problem_type), POINTER :: PROBLEM
16141  TYPE(varying_string) :: localError
16142 
16143  enters("cmfe_ControlLoop_ControlLoopGetNumber10",err,error,*999)
16144 
16145  NULLIFY(root_control_loop)
16146  NULLIFY(problem)
16147  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16148  IF(ASSOCIATED(problem)) THEN
16149  CALL problem_control_loop_get(problem,controllooprootidentifiers,root_control_loop,err,error,*999)
16150  CALL control_loop_get(root_control_loop,controlloopidentifier,controlloop%controlLoop,err,error,*999)
16151  ELSE
16152  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16153  CALL flagerror(localerror,err,error,*999)
16154  END IF
16155 
16156  exits("cmfe_ControlLoop_ControlLoopGetNumber10")
16157  RETURN
16158 999 errorsexits("cmfe_ControlLoop_ControlLoopGetNumber10",err,error)
16159  CALL cmfe_handleerror(err,error)
16160  RETURN
16161 
16163 
16164  !
16165  !================================================================================================================================
16166  !
16167 
16169  SUBROUTINE cmfe_controlloop_controlloopgetnumber01(problemUserNumber,controlLoopRootIdentifier,controlLoopIdentifiers, &
16170  & controlloop,err)
16171  !DLLEXPORT(cmfe_ControlLoop_ControlLoopGetNumber01)
16172 
16173  !Argument variables
16174  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16175  INTEGER(INTG), INTENT(IN) :: controlLoopRootIdentifier
16176  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
16177  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
16178  INTEGER(INTG), INTENT(OUT) :: err
16179  !Local variables
16180  TYPE(control_loop_type), POINTER :: ROOT_CONTROL_LOOP
16181  TYPE(problem_type), POINTER :: PROBLEM
16182  TYPE(varying_string) :: localError
16183 
16184  enters("cmfe_ControlLoop_ControlLoopGetNumber01",err,error,*999)
16185 
16186  NULLIFY(root_control_loop)
16187  NULLIFY(problem)
16188  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16189  IF(ASSOCIATED(problem)) THEN
16190  CALL problem_control_loop_get(problem,controllooprootidentifier,root_control_loop,err,error,*999)
16191  CALL control_loop_get(root_control_loop,controlloopidentifiers,controlloop%controlLoop,err,error,*999)
16192  ELSE
16193  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16194  CALL flagerror(localerror,err,error,*999)
16195  END IF
16196 
16197  exits("cmfe_ControlLoop_ControlLoopGetNumber01")
16198  RETURN
16199 999 errorsexits("cmfe_ControlLoop_ControlLoopGetNumber01",err,error)
16200  CALL cmfe_handleerror(err,error)
16201  RETURN
16202 
16204 
16205  !
16206  !================================================================================================================================
16207  !
16208 
16210  SUBROUTINE cmfe_controlloop_controlloopgetnumber11(problemUserNumber,controlLoopRootIdentifiers,controlLoopIdentifiers, &
16211  & controlloop,err)
16212  !DLLEXPORT(cmfe_ControlLoop_ControlLoopGetNumber11)
16213 
16214  !Argument variables
16215  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16216  INTEGER(INTG), INTENT(IN) :: controlLoopRootIdentifiers(:)
16217  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
16218  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
16219  INTEGER(INTG), INTENT(OUT) :: err
16220  !Local variables
16221  TYPE(control_loop_type), POINTER :: ROOT_CONTROL_LOOP
16222  TYPE(problem_type), POINTER :: PROBLEM
16223  TYPE(varying_string) :: localError
16224 
16225  enters("cmfe_ControlLoop_ControlLoopGetNumber11",err,error,*999)
16226 
16227  NULLIFY(root_control_loop)
16228  NULLIFY(problem)
16229  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16230  IF(ASSOCIATED(problem)) THEN
16231  CALL problem_control_loop_get(problem,controllooprootidentifiers,root_control_loop,err,error,*999)
16232  CALL control_loop_get(root_control_loop,controlloopidentifiers,controlloop%controlLoop,err,error,*999)
16233  ELSE
16234  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16235  CALL flagerror(localerror,err,error,*999)
16236  END IF
16237 
16238  exits("cmfe_ControlLoop_ControlLoopGetNumber11")
16239  RETURN
16240 999 errorsexits("cmfe_ControlLoop_ControlLoopGetNumber11",err,error)
16241  CALL cmfe_handleerror(err,error)
16242  RETURN
16243 
16245 
16246  !
16247  !================================================================================================================================
16248  !
16249 
16251  SUBROUTINE cmfe_controlloop_controlloopgetobj0(controlLoopRoot,controlLoopIdentifier,controlLoop,err)
16252  !DLLEXPORT(cmfe_ControlLoop_ControlLoopGetObj0)
16253 
16254  !Argument variables
16255  TYPE(cmfe_controllooptype), INTENT(IN) :: controlLoopRoot
16256  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
16257  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
16258  INTEGER(INTG), INTENT(OUT) :: err
16259  !Local variables
16260 
16261  enters("cmfe_ControlLoop_ControlLoopGetObj0",err,error,*999)
16262 
16263  CALL control_loop_get(controllooproot%controlLoop,controlloopidentifier,controlloop%controlLoop,err,error,*999)
16264 
16265  exits("cmfe_ControlLoop_ControlLoopGetObj0")
16266  RETURN
16267 999 errorsexits("cmfe_ControlLoop_ControlLoopGetObj0",err,error)
16268  CALL cmfe_handleerror(err,error)
16269  RETURN
16270 
16272 
16273  !
16274  !================================================================================================================================
16275  !
16276 
16278  SUBROUTINE cmfe_controlloop_controlloopgetobj1(controlLoopRoot,controlLoopIdentifiers,controlLoop,err)
16279  !DLLEXPORT(cmfe_ControlLoop_ControlLoopGetObj1)
16280 
16281  !Argument variables
16282  TYPE(cmfe_controllooptype), INTENT(IN) :: controlLoopRoot
16283  INTEGER(INTG), INTENT(INOUT) :: controlLoopIdentifiers(:)
16284  TYPE(cmfe_controllooptype), INTENT(OUT) :: controlLoop
16285  INTEGER(INTG), INTENT(OUT) :: err
16286  !Local variables
16287 
16288  enters("cmfe_ControlLoop_ControlLoopGetObj1",err,error,*999)
16289 
16290  CALL control_loop_get(controllooproot%controlLoop,controlloopidentifiers,controlloop%controlLoop,err,error,*999)
16291 
16292  exits("cmfe_ControlLoop_ControlLoopGetObj1")
16293  RETURN
16294 999 errorsexits("cmfe_ControlLoop_ControlLoopGetObj1",err,error)
16295  CALL cmfe_handleerror(err,error)
16296  RETURN
16297 
16299 
16300  !
16301  !================================================================================================================================
16302  !
16303 
16305  SUBROUTINE cmfe_controlloop_iterationssetnumber0(problemUserNumber,controlLoopIdentifier,startIteration,stopIteration, &
16306  & iterationincrement,err)
16307  !DLLEXPORT(cmfe_ControlLoop_IterationsSetNumber0)
16308 
16309  !Argument variables
16310  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16311  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
16312  INTEGER(INTG), INTENT(IN) :: startIteration
16313  INTEGER(INTG), INTENT(IN) :: stopIteration
16314  INTEGER(INTG), INTENT(IN) :: iterationIncrement
16315  INTEGER(INTG), INTENT(OUT) :: err
16316  !Local variables
16317  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
16318  TYPE(problem_type), POINTER :: PROBLEM
16319  TYPE(varying_string) :: localError
16320 
16321  enters("cmfe_ControlLoop_IterationsSetNumber0",err,error,*999)
16322 
16323  NULLIFY(control_loop)
16324  NULLIFY(problem)
16325  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16326  IF(ASSOCIATED(problem)) THEN
16327  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
16328  CALL control_loop_iterations_set(control_loop,startiteration,stopiteration,iterationincrement,err,error,*999)
16329  ELSE
16330  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16331  CALL flagerror(localerror,err,error,*999)
16332  END IF
16333 
16334  exits("cmfe_ControlLoop_IterationsSetNumber0")
16335  RETURN
16336 999 errorsexits("cmfe_ControlLoop_IterationsSetNumber0",err,error)
16337  CALL cmfe_handleerror(err,error)
16338  RETURN
16339 
16341 
16342  !
16343  !================================================================================================================================
16344  !
16345 
16347  SUBROUTINE cmfe_controlloop_iterationssetnumber1(problemUserNumber,controlLoopIdentifiers,startIteration,stopIteration, &
16348  & iterationincrement,err)
16349  !DLLEXPORT(cmfe_ControlLoop_IterationsSetNumber1)
16350 
16351  !Argument variables
16352  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16353  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
16354  INTEGER(INTG), INTENT(IN) :: startIteration
16355  INTEGER(INTG), INTENT(IN) :: stopIteration
16356  INTEGER(INTG), INTENT(IN) :: iterationIncrement
16357  INTEGER(INTG), INTENT(OUT) :: err
16358  !Local variables
16359  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
16360  TYPE(problem_type), POINTER :: PROBLEM
16361  TYPE(varying_string) :: localError
16362 
16363  enters("cmfe_ControlLoop_IterationsSetNumber1",err,error,*999)
16364 
16365  NULLIFY(control_loop)
16366  NULLIFY(problem)
16367  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16368  IF(ASSOCIATED(problem)) THEN
16369  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
16370  CALL control_loop_iterations_set(control_loop,startiteration,stopiteration,iterationincrement,err,error,*999)
16371  ELSE
16372  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16373  CALL flagerror(localerror,err,error,*999)
16374  END IF
16375 
16376  exits("cmfe_ControlLoop_IterationsSetNumber1")
16377  RETURN
16378 999 errorsexits("cmfe_ControlLoop_IterationsSetNumber1",err,error)
16379  CALL cmfe_handleerror(err,error)
16380  RETURN
16381 
16383 
16384  !================================================================================================================================
16385  !
16386 
16388  SUBROUTINE cmfe_controlloop_iterationssetobj(controlLoop,startIteration,stopIteration,iterationIncrement,err)
16389  !DLLEXPORT(cmfe_ControlLoop_IterationsSetObj)
16390 
16391  !Argument variables
16392  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
16393  INTEGER(INTG), INTENT(IN) :: startIteration
16394  INTEGER(INTG), INTENT(IN) :: stopIteration
16395  INTEGER(INTG), INTENT(IN) :: iterationIncrement
16396  INTEGER(INTG), INTENT(OUT) :: err
16397  !Local variables
16398 
16399  enters("cmfe_ControlLoop_IterationsSetObj",err,error,*999)
16400 
16401  CALL control_loop_iterations_set(controlloop%controlLoop,startiteration,stopiteration,iterationincrement,err,error,*999)
16402 
16403  exits("cmfe_ControlLoop_IterationsSetObj")
16404  RETURN
16405 999 errorsexits("cmfe_ControlLoop_IterationsSetObj",err,error)
16406  CALL cmfe_handleerror(err,error)
16407  RETURN
16408 
16409  END SUBROUTINE cmfe_controlloop_iterationssetobj
16410 
16411  !
16412  !================================================================================================================================
16413  !
16414 
16416  SUBROUTINE cmfe_controlloop_labelgetcnumber0(problemUserNumber,controlLoopIdentifier,label,err)
16417  !DLLEXPORT(cmfe_ControlLoop_LabelGetCNumber0)
16418 
16419  !Argument variables
16420  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16421  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
16422  CHARACTER(LEN=*), INTENT(OUT) :: label
16423  INTEGER(INTG), INTENT(OUT) :: err
16424  !Local variables
16425  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
16426  TYPE(problem_type), POINTER :: PROBLEM
16427  TYPE(varying_string) :: localError
16428 
16429  enters("cmfe_ControlLoop_LabelGetCNumber0",err,error,*999)
16430 
16431  NULLIFY(control_loop)
16432  NULLIFY(problem)
16433  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16434  IF(ASSOCIATED(problem)) THEN
16435  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
16436  CALL control_loop_label_get(control_loop,label,err,error,*999)
16437  ELSE
16438  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16439  CALL flagerror(localerror,err,error,*999)
16440  END IF
16441 
16442  exits("cmfe_ControlLoop_LabelGetCNumber0")
16443  RETURN
16444 999 errorsexits("cmfe_ControlLoop_LabelGetCNumber0",err,error)
16445  CALL cmfe_handleerror(err,error)
16446  RETURN
16447 
16448  END SUBROUTINE cmfe_controlloop_labelgetcnumber0
16449 
16450  !
16451  !================================================================================================================================
16452  !
16453 
16455  SUBROUTINE cmfe_controlloop_labelgetcnumber1(problemUserNumber,controlLoopIdentifiers,label,err)
16456  !DLLEXPORT(cmfe_ControlLoop_LabelGetCNumber1)
16457 
16458  !Argument variables
16459  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16460  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
16461  CHARACTER(LEN=*), INTENT(OUT) :: label
16462  INTEGER(INTG), INTENT(OUT) :: err
16463  !Local variables
16464  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
16465  TYPE(problem_type), POINTER :: PROBLEM
16466  TYPE(varying_string) :: localError
16467 
16468  enters("cmfe_ControlLoop_LabelGetCNumber1",err,error,*999)
16469 
16470  NULLIFY(control_loop)
16471  NULLIFY(problem)
16472  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16473  IF(ASSOCIATED(problem)) THEN
16474  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
16475  CALL control_loop_label_get(control_loop,label,err,error,*999)
16476  ELSE
16477  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16478  CALL flagerror(localerror,err,error,*999)
16479  END IF
16480 
16481  exits("cmfe_ControlLoop_LabelGetCNumber1")
16482  RETURN
16483 999 errorsexits("cmfe_ControlLoop_LabelGetCNumber1",err,error)
16484  CALL cmfe_handleerror(err,error)
16485  RETURN
16486 
16487  END SUBROUTINE cmfe_controlloop_labelgetcnumber1
16488 
16489  !
16490  !================================================================================================================================
16491  !
16492 
16494  SUBROUTINE cmfe_controlloop_labelgetcobj(controlLoop,label,err)
16495  !DLLEXPORT(cmfe_ControlLoop_LabelGetCObj)
16496 
16497  !Argument variables
16498  TYPE(cmfe_controllooptype), INTENT(IN) :: controlLoop
16499  CHARACTER(LEN=*), INTENT(OUT) :: label
16500  INTEGER(INTG), INTENT(OUT) :: err
16501  !Local variables
16502 
16503  enters("cmfe_ControlLoop_LabelGetCObj",err,error,*999)
16504 
16505  CALL control_loop_label_get(controlloop%controlLoop,label,err,error,*999)
16506 
16507  exits("cmfe_ControlLoop_LabelGetCObj")
16508  RETURN
16509 999 errorsexits("cmfe_ControlLoop_LabelGetCObj",err,error)
16510  CALL cmfe_handleerror(err,error)
16511  RETURN
16512 
16513  END SUBROUTINE cmfe_controlloop_labelgetcobj
16514 
16515  !
16516  !================================================================================================================================
16517  !
16518 
16520  SUBROUTINE cmfe_controlloop_labelgetvsnumber0(problemUserNumber,controlLoopIdentifier,label,err)
16521  !DLLEXPORT(cmfe_ControlLoop_LabelGetVSNumber0)
16522 
16523  !Argument variables
16524  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16525  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
16526  TYPE(varying_string), INTENT(OUT) :: label
16527  INTEGER(INTG), INTENT(OUT) :: err
16528  !Local variables
16529  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
16530  TYPE(problem_type), POINTER :: PROBLEM
16531  TYPE(varying_string) :: localError
16532 
16533  enters("cmfe_ControlLoop_LabelGetVSNumber0",err,error,*999)
16534 
16535  NULLIFY(control_loop)
16536  NULLIFY(problem)
16537  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16538  IF(ASSOCIATED(problem)) THEN
16539  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
16540  CALL control_loop_label_get(control_loop,label,err,error,*999)
16541  ELSE
16542  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16543  CALL flagerror(localerror,err,error,*999)
16544  END IF
16545 
16546  exits("cmfe_ControlLoop_LabelGetVSNumber0")
16547  RETURN
16548 999 errorsexits("cmfe_ControlLoop_LabelGetVSNumber0",err,error)
16549  CALL cmfe_handleerror(err,error)
16550  RETURN
16551 
16552  END SUBROUTINE cmfe_controlloop_labelgetvsnumber0
16553 
16554  !
16555  !================================================================================================================================
16556  !
16557 
16559  SUBROUTINE cmfe_controlloop_labelgetvsnumber1(problemUserNumber,controlLoopIdentifiers,label,err)
16560  !DLLEXPORT(cmfe_ControlLoop_LabelGetVSNumber1)
16561 
16562  !Argument variables
16563  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16564  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
16565  TYPE(varying_string), INTENT(OUT) :: label
16566  INTEGER(INTG), INTENT(OUT) :: err
16567  !Local variables
16568  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
16569  TYPE(problem_type), POINTER :: PROBLEM
16570  TYPE(varying_string) :: localError
16571 
16572  enters("cmfe_ControlLoop_LabelGetVSNumber1",err,error,*999)
16573 
16574  NULLIFY(control_loop)
16575  NULLIFY(problem)
16576  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16577  IF(ASSOCIATED(problem)) THEN
16578  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
16579  CALL control_loop_label_get(control_loop,label,err,error,*999)
16580  ELSE
16581  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16582  CALL flagerror(localerror,err,error,*999)
16583  END IF
16584 
16585  exits("cmfe_ControlLoop_LabelGetVSNumber1")
16586  RETURN
16587 999 errorsexits("cmfe_ControlLoop_LabelGetVSNumber1",err,error)
16588  CALL cmfe_handleerror(err,error)
16589  RETURN
16590 
16591  END SUBROUTINE cmfe_controlloop_labelgetvsnumber1
16592 
16593  !
16594  !================================================================================================================================
16595  !
16596 
16598  SUBROUTINE cmfe_controlloop_labelgetvsobj(controlLoop,label,err)
16599  !DLLEXPORT(cmfe_ControlLoop_LabelGetVSObj)
16600 
16601  !Argument variables
16602  TYPE(cmfe_controllooptype), INTENT(IN) :: controlLoop
16603  TYPE(varying_string), INTENT(OUT) :: label
16604  INTEGER(INTG), INTENT(OUT) :: err
16605  !Local variables
16606 
16607  enters("cmfe_ControlLoop_LabelGetVSObj",err,error,*999)
16608 
16609  CALL control_loop_label_get(controlloop%controlLoop,label,err,error,*999)
16610 
16611  exits("cmfe_ControlLoop_LabelGetVSObj")
16612  RETURN
16613 999 errorsexits("cmfe_ControlLoop_LabelGetVSObj",err,error)
16614  CALL cmfe_handleerror(err,error)
16615  RETURN
16616 
16617  END SUBROUTINE cmfe_controlloop_labelgetvsobj
16618 
16619  !
16620  !================================================================================================================================
16621  !
16622 
16624  SUBROUTINE cmfe_controlloop_labelsetcnumber0(problemUserNumber,controlLoopIdentifier,label,err)
16625  !DLLEXPORT(cmfe_ControlLoop_LabelSetCNumber0)
16626 
16627  !Argument variables
16628  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16629  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
16630  CHARACTER(LEN=*), INTENT(IN) :: label
16631  INTEGER(INTG), INTENT(OUT) :: err
16632  !Local variables
16633  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
16634  TYPE(problem_type), POINTER :: PROBLEM
16635  TYPE(varying_string) :: localError
16636 
16637  enters("cmfe_ControlLoop_LabelSetCNumber0",err,error,*999)
16638 
16639  NULLIFY(control_loop)
16640  NULLIFY(problem)
16641  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16642  IF(ASSOCIATED(problem)) THEN
16643  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
16644  CALL control_loop_label_set(control_loop,label,err,error,*999)
16645  ELSE
16646  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16647  CALL flagerror(localerror,err,error,*999)
16648  END IF
16649 
16650  exits("cmfe_ControlLoop_LabelSetCNumber0")
16651  RETURN
16652 999 errorsexits("cmfe_ControlLoop_LabelSetCNumber0",err,error)
16653  CALL cmfe_handleerror(err,error)
16654  RETURN
16655 
16656  END SUBROUTINE cmfe_controlloop_labelsetcnumber0
16657 
16658  !
16659  !================================================================================================================================
16660  !
16661 
16663  SUBROUTINE cmfe_controlloop_labelsetcnumber1(problemUserNumber,controlLoopIdentifiers,label,err)
16664  !DLLEXPORT(cmfe_ControlLoop_LabelSetCNumber1)
16665 
16666  !Argument variables
16667  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16668  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
16669  CHARACTER(LEN=*), INTENT(IN) :: label
16670  INTEGER(INTG), INTENT(OUT) :: err
16671  !Local variables
16672  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
16673  TYPE(problem_type), POINTER :: PROBLEM
16674  TYPE(varying_string) :: localError
16675 
16676  enters("cmfe_ControlLoop_LabelSetCNumber1",err,error,*999)
16677 
16678  NULLIFY(control_loop)
16679  NULLIFY(problem)
16680  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16681  IF(ASSOCIATED(problem)) THEN
16682  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
16683  CALL control_loop_label_set(control_loop,label,err,error,*999)
16684  ELSE
16685  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16686  CALL flagerror(localerror,err,error,*999)
16687  END IF
16688 
16689  exits("cmfe_ControlLoop_LabelSetCNumber1")
16690  RETURN
16691 999 errorsexits("cmfe_ControlLoop_LabelSetCNumber1",err,error)
16692  CALL cmfe_handleerror(err,error)
16693  RETURN
16694 
16695  END SUBROUTINE cmfe_controlloop_labelsetcnumber1
16696 
16697  !
16698  !================================================================================================================================
16699  !
16700 
16702  SUBROUTINE cmfe_controlloop_labelsetcobj(controlLoop,label,err)
16703  !DLLEXPORT(cmfe_ControlLoop_LabelSetCObj)
16704 
16705  !Argument variables
16706  TYPE(cmfe_controllooptype), INTENT(IN) :: controlLoop
16707  CHARACTER(LEN=*), INTENT(IN) :: label
16708  INTEGER(INTG), INTENT(OUT) :: err
16709  !Local variables
16710 
16711  enters("cmfe_ControlLoop_LabelSetCObj",err,error,*999)
16712 
16713  CALL control_loop_label_set(controlloop%controlLoop,label,err,error,*999)
16714 
16715  exits("cmfe_ControlLoop_LabelSetCObj")
16716  RETURN
16717 999 errorsexits("cmfe_ControlLoop_LabelSetCObj",err,error)
16718  CALL cmfe_handleerror(err,error)
16719  RETURN
16720 
16721  END SUBROUTINE cmfe_controlloop_labelsetcobj
16722 
16723  !
16724  !================================================================================================================================
16725  !
16726 
16728  SUBROUTINE cmfe_controlloop_labelsetvsnumber0(problemUserNumber,controlLoopIdentifier,label,err)
16729  !DLLEXPORT(cmfe_ControlLoop_LabelSetVSNumber0)
16730 
16731  !Argument variables
16732  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16733  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
16734  TYPE(varying_string), INTENT(IN) :: label
16735  INTEGER(INTG), INTENT(OUT) :: err
16736  !Local variables
16737  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
16738  TYPE(problem_type), POINTER :: PROBLEM
16739  TYPE(varying_string) :: localError
16740 
16741  enters("cmfe_ControlLoop_LabelSetVSNumber0",err,error,*999)
16742 
16743  NULLIFY(control_loop)
16744  NULLIFY(problem)
16745  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16746  IF(ASSOCIATED(problem)) THEN
16747  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
16748  CALL control_loop_label_set(control_loop,char(label),err,error,*999)
16749  ELSE
16750  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16751  CALL flagerror(localerror,err,error,*999)
16752  END IF
16753 
16754  exits("cmfe_ControlLoopLabelStVSNumber0")
16755  RETURN
16756 999 errorsexits("cmfe_ControlLoop_LabelSetVSNumber0",err,error)
16757  CALL cmfe_handleerror(err,error)
16758  RETURN
16759 
16760  END SUBROUTINE cmfe_controlloop_labelsetvsnumber0
16761 
16762  !
16763  !================================================================================================================================
16764  !
16765 
16767  SUBROUTINE cmfe_controlloop_labelsetvsnumber1(problemUserNumber,controlLoopIdentifiers,label,err)
16768  !DLLEXPORT(cmfe_ControlLoop_LabelSetVSNumber1)
16769 
16770  !Argument variables
16771  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16772  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
16773  TYPE(varying_string), INTENT(IN) :: label
16774  INTEGER(INTG), INTENT(OUT) :: err
16775  !Local variables
16776  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
16777  TYPE(problem_type), POINTER :: PROBLEM
16778  TYPE(varying_string) :: localError
16779 
16780  enters("cmfe_ControlLoop_LabelSetVSNumber1",err,error,*999)
16781 
16782  NULLIFY(control_loop)
16783  NULLIFY(problem)
16784  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16785  IF(ASSOCIATED(problem)) THEN
16786  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
16787  CALL control_loop_label_set(control_loop,char(label),err,error,*999)
16788  ELSE
16789  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16790  CALL flagerror(localerror,err,error,*999)
16791  END IF
16792 
16793  exits("cmfe_ControlLoopLabelStVSNumber1")
16794  RETURN
16795 999 errorsexits("cmfe_ControlLoop_LabelSetVSNumber1",err,error)
16796  CALL cmfe_handleerror(err,error)
16797  RETURN
16798 
16799  END SUBROUTINE cmfe_controlloop_labelsetvsnumber1
16800 
16801  !
16802  !================================================================================================================================
16803  !
16804 
16806  SUBROUTINE cmfe_controlloop_labelsetvsobj(controlLoop,label,err)
16807  !DLLEXPORT(cmfe_ControlLoop_LabelSetVSObj)
16808 
16809  !Argument variables
16810  TYPE(cmfe_controllooptype), INTENT(IN) :: controlLoop
16811  TYPE(varying_string), INTENT(IN) :: label
16812  INTEGER(INTG), INTENT(OUT) :: err
16813  !Local variables
16814 
16815  enters("cmfe_ControlLoop_LabelSetVSObj",err,error,*999)
16816 
16817  CALL control_loop_label_set(controlloop%controlLoop,char(label),err,error,*999)
16818 
16819  exits("cmfe_ControlLoop_LabelSetVSObj")
16820  RETURN
16821 999 errorsexits("cmfe_ControlLoop_LabelSetVSObj",err,error)
16822  CALL cmfe_handleerror(err,error)
16823  RETURN
16824 
16825  END SUBROUTINE cmfe_controlloop_labelsetvsobj
16826 
16827  !
16828  !================================================================================================================================
16829  !
16830 
16832  SUBROUTINE cmfe_controlloop_maximumiterationssetnumber0(problemUserNumber,controlLoopIdentifier,maximumIterations,err)
16833  !DLLEXPORT(cmfe_ControlLoop_MaximumIterationsSetNumber0)
16834 
16835  !Argument variables
16836  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16837  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
16838  INTEGER(INTG), INTENT(IN) :: maximumIterations
16839  INTEGER(INTG), INTENT(OUT) :: err
16840  !Local variables
16841  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
16842  TYPE(problem_type), POINTER :: PROBLEM
16843  TYPE(varying_string) :: localError
16844 
16845  enters("cmfe_ControlLoop_MaximumIterationsSetNumber0",err,error,*999)
16846 
16847  NULLIFY(control_loop)
16848  NULLIFY(problem)
16849  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16850  IF(ASSOCIATED(problem)) THEN
16851  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
16852  CALL control_loop_maximum_iterations_set(control_loop,maximumiterations,err,error,*999)
16853  ELSE
16854  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16855  CALL flagerror(localerror,err,error,*999)
16856  END IF
16857 
16858  exits("cmfe_ControlLoop_MaximumIterationsSetNumber0")
16859  RETURN
16860 999 errors("cmfe_ControlLoop_MaximumIterationsSetNumber0",err,error)
16861  exits("cmfe_ControlLoop_MaximumIterationsSetNumber0")
16862  CALL cmfe_handleerror(err,error)
16863  RETURN
16864 
16866 
16867  !
16868  !================================================================================================================================
16869  !
16870 
16872  SUBROUTINE cmfe_controlloop_maximumiterationssetnumber1(problemUserNumber,controlLoopIdentifiers,maximumIterations,err)
16873  !DLLEXPORT(cmfe_ControlLoop_MaximumIterationsSetNumber1)
16874 
16875  !Argument variables
16876  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16877  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
16878  INTEGER(INTG), INTENT(IN) :: maximumIterations
16879  INTEGER(INTG), INTENT(OUT) :: err
16880  !Local variables
16881  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
16882  TYPE(problem_type), POINTER :: PROBLEM
16883  TYPE(varying_string) :: localError
16884 
16885  enters("cmfe_ControlLoop_MaximumIterationsSetNumber1",err,error,*999)
16886 
16887  NULLIFY(control_loop)
16888  NULLIFY(problem)
16889  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16890  IF(ASSOCIATED(problem)) THEN
16891  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
16892  CALL control_loop_maximum_iterations_set(control_loop,maximumiterations,err,error,*999)
16893  ELSE
16894  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16895  CALL flagerror(localerror,err,error,*999)
16896  END IF
16897 
16898  exits("cmfe_ControlLoop_MaximumIterationsSetNumber1")
16899  RETURN
16900 999 errors("cmfe_ControlLoop_MaximumIterationsSetNumber1",err,error)
16901  exits("cmfe_ControlLoop_MaximumIterationsSetNumber1")
16902  CALL cmfe_handleerror(err,error)
16903  RETURN
16904 
16906 
16907  !
16908  !================================================================================================================================
16909  !
16910 
16912  SUBROUTINE cmfe_controlloop_maximumiterationssetobj(controlLoop,maximumIterations,err)
16913  !DLLEXPORT(cmfe_ControlLoop_MaximumIterationsSetObj)
16914 
16915  !Argument variables
16916  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
16917  INTEGER(INTG), INTENT(IN) :: maximumIterations
16918  INTEGER(INTG), INTENT(OUT) :: err
16919  !Local variables
16920 
16921  enters("cmfe_ControlLoop_MaximumIterationsSetObj",err,error,*999)
16922 
16923  CALL control_loop_maximum_iterations_set(controlloop%controlLoop,maximumiterations,err,error,*999)
16924 
16925  exits("cmfe_ControlLoop_MaximumIterationsSetObj")
16926  RETURN
16927 999 errorsexits("cmfe_ControlLoop_MaximumIterationsSetObj",err,error)
16928  CALL cmfe_handleerror(err,error)
16929  RETURN
16930 
16932 
16933  !
16934  !================================================================================================================================
16935  !
16936 
16938  SUBROUTINE cmfe_controlloop_loadoutputset(controlLoop,outputFrequency,err)
16939  !DLLEXPORT(cmfe_ControlLoop_LoadOutputSet)
16940 
16941  !Argument variables
16942  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
16943  INTEGER(INTG), INTENT(IN) :: outputFrequency
16944  INTEGER(INTG), INTENT(OUT) :: err
16945  !Local variables
16946 
16947  enters("cmfe_ControlLoop_LoadOutputSet",err,error,*999)
16948 
16949  CALL control_loop_load_output_set(controlloop%controlLoop,outputfrequency,err,error,*999)
16950 
16951  exits("cmfe_ControlLoop_LoadOutputSet")
16952  RETURN
16953 999 errorsexits("cmfe_ControlLoop_LoadOutputSet",err,error)
16954  CALL cmfe_handleerror(err,error)
16955  RETURN
16956 
16957  END SUBROUTINE cmfe_controlloop_loadoutputset
16958 
16959  !
16960  !================================================================================================================================
16961  !
16962 
16964  SUBROUTINE cmfe_controlloop_absolutetolerancesetnumber0(problemUserNumber,controlLoopIdentifier,absoluteTolerance,err)
16965  !DLLEXPORT(cmfe_ControlLoop_AbsoluteToleranceSetNumber0)
16966 
16967  !Argument variables
16968  INTEGER(INTG), INTENT(IN) :: problemUserNumber
16969  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
16970  REAL(DP), INTENT(IN) :: absoluteTolerance
16971  INTEGER(INTG), INTENT(OUT) :: err
16972  !Local variables
16973  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
16974  TYPE(problem_type), POINTER :: PROBLEM
16975  TYPE(varying_string) :: localError
16976 
16977  enters("cmfe_ControlLoop_AbsoluteToleranceSetNumber0",err,error,*999)
16978 
16979  NULLIFY(control_loop)
16980  NULLIFY(problem)
16981  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
16982  IF(ASSOCIATED(problem)) THEN
16983  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
16984  CALL controlloop_absolutetoleranceset(control_loop,absolutetolerance,err,error,*999)
16985  ELSE
16986  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
16987  CALL flagerror(localerror,err,error,*999)
16988  END IF
16989 
16990  exits("cmfe_ControlLoop_AbsoluteToleranceSetNumber0")
16991  RETURN
16992 999 errors("cmfe_ControlLoop_AbsoluteToleranceSetNumber0",err,error)
16993  exits("cmfe_ControlLoop_AbsoluteToleranceSetNumber0")
16994  CALL cmfe_handleerror(err,error)
16995  RETURN
16996 
16998 
16999  !
17000  !================================================================================================================================
17001  !
17002 
17004  SUBROUTINE cmfe_controlloop_absolutetolerancesetnumber1(problemUserNumber,controlLoopIdentifiers,absoluteTolerance,err)
17005  !DLLEXPORT(cmfe_ControlLoop_AbsoluteToleranceSetNumber1)
17006 
17007  !Argument variables
17008  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17009  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
17010  REAL(DP), INTENT(IN) :: absoluteTolerance
17011  INTEGER(INTG), INTENT(OUT) :: err
17012  !Local variables
17013  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17014  TYPE(problem_type), POINTER :: PROBLEM
17015  TYPE(varying_string) :: localError
17016 
17017  enters("cmfe_ControlLoop_AbsoluteToleranceSetNumber1",err,error,*999)
17018 
17019  NULLIFY(control_loop)
17020  NULLIFY(problem)
17021  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17022  IF(ASSOCIATED(problem)) THEN
17023  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
17024  CALL controlloop_absolutetoleranceset(control_loop,absolutetolerance,err,error,*999)
17025  ELSE
17026  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17027  CALL flagerror(localerror,err,error,*999)
17028  END IF
17029 
17030  exits("cmfe_ControlLoop_AbsoluteToleranceSetNumber1")
17031  RETURN
17032 999 errors("cmfe_ControlLoop_AbsoluteToleranceSetNumber1",err,error)
17033  exits("cmfe_ControlLoop_AbsoluteToleranceSetNumber1")
17034  CALL cmfe_handleerror(err,error)
17035  RETURN
17036 
17038 
17039  !
17040  !================================================================================================================================
17041  !
17042 
17044  SUBROUTINE cmfe_controlloop_absolutetolerancesetobj(controlLoop,absoluteTolerance,err)
17045  !DLLEXPORT(cmfe_ControlLoop_AbsoluteToleranceSetObj)
17046 
17047  !Argument variables
17048  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
17049  REAL(DP), INTENT(IN) :: absoluteTolerance
17050  INTEGER(INTG), INTENT(OUT) :: err
17051  !Local variables
17052 
17053  enters("cmfe_ControlLoop_AbsoluteToleranceSetObj",err,error,*999)
17054 
17055  CALL controlloop_absolutetoleranceset(controlloop%controlLoop,absolutetolerance,err,error,*999)
17056 
17057  exits("cmfe_ControlLoop_AbsoluteToleranceSetObj")
17058  RETURN
17059 999 errorsexits("cmfe_ControlLoop_AbsoluteToleranceSetObj",err,error)
17060  CALL cmfe_handleerror(err,error)
17061  RETURN
17062 
17064 
17065  !
17066  !================================================================================================================================
17067  !
17068 
17070  SUBROUTINE cmfe_controlloop_numberofiterationsgetnumber0(problemUserNumber,controlLoopIdentifier,numberOfIterations,err)
17071  !DLLEXPORT(cmfe_ControlLoop_NumberOfIterationsGetNumber0)
17072 
17073  !Argument variables
17074  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17075  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
17076  INTEGER(INTG), INTENT(OUT) :: numberOfIterations
17077  INTEGER(INTG), INTENT(OUT) :: err
17078  !Local variables
17079  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17080  TYPE(problem_type), POINTER :: PROBLEM
17081  TYPE(varying_string) :: localError
17082 
17083  enters("cmfe_ControlLoop_NumberOfItGetNumber0",err,error,*999) ! name is abbreviated because of maximum line length
17084 
17085  NULLIFY(control_loop)
17086  NULLIFY(problem)
17087  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17088  IF(ASSOCIATED(problem)) THEN
17089  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
17090  CALL control_loop_number_of_iterations_get(control_loop,numberofiterations,err,error,*999)
17091  ELSE
17092  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17093  CALL flagerror(localerror,err,error,*999)
17094  END IF
17095 
17096  exits("cmfe_ControlLoop_NumberOfItGetNumber0") ! name is abbreviated because of maximum line length
17097  RETURN
17098 999 errorsexits("cmfe_ControlLoop_NumberOfItGetNumber0",err,error) ! name is abbreviated because of maximum line length
17099  CALL cmfe_handleerror(err,error)
17100  RETURN
17101 
17103 
17104  !
17105  !================================================================================================================================
17106  !
17107 
17109  SUBROUTINE cmfe_controlloop_numberofiterationsgetnumber1(problemUserNumber,controlLoopIdentifiers,numberOfIterations,err)
17110  !DLLEXPORT(cmfe_ControlLoop_NumberOfIterationsGetNumber1)
17111 
17112  !Argument variables
17113  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17114  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
17115  INTEGER(INTG), INTENT(OUT) :: numberOfIterations
17116  INTEGER(INTG), INTENT(OUT) :: err
17117  !Local variables
17118  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17119  TYPE(problem_type), POINTER :: PROBLEM
17120  TYPE(varying_string) :: localError
17121 
17122  enters("cmfe_ControlLoop_NumberOfItGetNumber1",err,error,*999) ! name is abbreviated because of maximum line length
17123 
17124  NULLIFY(control_loop)
17125  NULLIFY(problem)
17126  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17127  IF(ASSOCIATED(problem)) THEN
17128  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
17129  CALL control_loop_number_of_iterations_get(control_loop,numberofiterations,err,error,*999)
17130  ELSE
17131  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17132  CALL flagerror(localerror,err,error,*999)
17133  END IF
17134 
17135  exits("cmfe_ControlLoop_NumberOfItGetNumber1") ! name is abbreviated because of maximum line length
17136  RETURN
17137 999 errorsexits("cmfe_ControlLoop_NumberOfItGetNumber1",err,error) ! name is abbreviated because of maximum line length
17138  CALL cmfe_handleerror(err,error)
17139  RETURN
17140 
17142 
17143  !
17144  !================================================================================================================================
17145  !
17146 
17148  SUBROUTINE cmfe_controlloop_numberofiterationsgetobj(controlLoop,numberOfIterations,err)
17149  !DLLEXPORT(cmfe_ControlLoop_NumberOfIterationsGetObj)
17150 
17151  !Argument variables
17152  TYPE(cmfe_controllooptype), INTENT(IN) :: controlLoop
17153  INTEGER(INTG), INTENT(OUT) :: numberOfIterations
17154  INTEGER(INTG), INTENT(OUT) :: err
17155  !Local variables
17156 
17157  enters("cmfe_ControlLoop_NumberOfIterationsGetObj",err,error,*999)
17158 
17159  CALL control_loop_number_of_iterations_get(controlloop%controlLoop,numberofiterations,err,error,*999)
17160 
17161  exits("cmfe_ControlLoop_NumberOfIterationsGetObj")
17162  RETURN
17163 999 errorsexits("cmfe_ControlLoop_NumberOfIterationsGetObj",err,error)
17164  CALL cmfe_handleerror(err,error)
17165  RETURN
17166 
17168 
17169  !
17170  !================================================================================================================================
17171  !
17172 
17174  SUBROUTINE cmfe_controlloop_numberofiterationssetnumber0(problemUserNumber,controlLoopIdentifier,numberOfIterations,err)
17175  !DLLEXPORT(cmfe_ControlLoop_NumberOfIterationsSetNumber0)
17176 
17177  !Argument variables
17178  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17179  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
17180  INTEGER(INTG), INTENT(IN) :: numberOfIterations
17181  INTEGER(INTG), INTENT(OUT) :: err
17182  !Local variables
17183  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17184  TYPE(problem_type), POINTER :: PROBLEM
17185  TYPE(varying_string) :: localError
17186 
17187  enters("cmfe_ControlLoop_NumberOfItSetNumber0",err,error,*999) ! name is abbreviated because of maximum line length
17188 
17189  NULLIFY(control_loop)
17190  NULLIFY(problem)
17191  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17192  IF(ASSOCIATED(problem)) THEN
17193  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
17194  CALL control_loop_number_of_iterations_set(control_loop,numberofiterations,err,error,*999)
17195  ELSE
17196  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17197  CALL flagerror(localerror,err,error,*999)
17198  END IF
17199 
17200  exits("cmfe_ControlLoop_NumberOfItSetNumber0") ! name is abbreviated because of maximum line length
17201  RETURN
17202 999 errorsexits("cmfe_ControlLoop_NumberOfItSetNumber0",err,error) ! name is abbreviated because of maximum line length
17203  CALL cmfe_handleerror(err,error)
17204  RETURN
17205 
17207 
17208  !
17209  !================================================================================================================================
17210  !
17211 
17213  SUBROUTINE cmfe_controlloop_numberofiterationssetnumber1(problemUserNumber,controlLoopIdentifiers,numberOfIterations,err)
17214  !DLLEXPORT(cmfe_ControlLoop_NumberOfIterationsSetNumber1)
17215 
17216  !Argument variables
17217  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17218  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
17219  INTEGER(INTG), INTENT(IN) :: numberOfIterations
17220  INTEGER(INTG), INTENT(OUT) :: err
17221  !Local variables
17222  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17223  TYPE(problem_type), POINTER :: PROBLEM
17224  TYPE(varying_string) :: localError
17225 
17226  enters("cmfe_ControlLoop_NumberOfItSetNumber1",err,error,*999) ! name is abbreviated because of maximum line length
17227 
17228  NULLIFY(control_loop)
17229  NULLIFY(problem)
17230  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17231  IF(ASSOCIATED(problem)) THEN
17232  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
17233  CALL control_loop_number_of_iterations_set(control_loop,numberofiterations,err,error,*999)
17234  ELSE
17235  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17236  CALL flagerror(localerror,err,error,*999)
17237  END IF
17238 
17239  exits("cmfe_ControlLoop_NumberOfItSetNumber1") ! name is abbreviated because of maximum line length
17240  RETURN
17241 999 errorsexits("cmfe_ControlLoop_NumberOfItSetNumber1",err,error) ! name is abbreviated because of maximum line length
17242  CALL cmfe_handleerror(err,error)
17243  RETURN
17244 
17246 
17247  !
17248  !================================================================================================================================
17249  !
17250 
17252  SUBROUTINE cmfe_controlloop_numberofiterationssetobj(controlLoop,numberOfIterations,err)
17253  !DLLEXPORT(cmfe_ControlLoop_NumberOfIterationsSetObj)
17254 
17255  !Argument variables
17256  TYPE(cmfe_controllooptype), INTENT(IN) :: controlLoop
17257  INTEGER(INTG), INTENT(IN) :: numberOfIterations
17258  INTEGER(INTG), INTENT(OUT) :: err
17259  !Local variables
17260 
17261  enters("cmfe_ControlLoop_NumberOfIterationsSetObj",err,error,*999)
17262 
17263  CALL control_loop_number_of_iterations_set(controlloop%controlLoop,numberofiterations,err,error,*999)
17264 
17265  exits("cmfe_ControlLoop_NumberOfIterationsSetObj")
17266  RETURN
17267 999 errorsexits("cmfe_ControlLoop_NumberOfIterationsSetObj",err,error)
17268  CALL cmfe_handleerror(err,error)
17269  RETURN
17270 
17272 
17273  !
17274  !================================================================================================================================
17275  !
17276 
17278  SUBROUTINE cmfe_controlloop_numberofsubloopsgetnumber0(problemUserNumber,controlLoopIdentifier,numberOfSubLoops,err)
17279  !DLLEXPORT(cmfe_ControlLoop_NumberOfSubLoopsGetNumber0)
17280 
17281  !Argument variables
17282  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17283  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
17284  INTEGER(INTG), INTENT(OUT) :: numberOfSubLoops
17285  INTEGER(INTG), INTENT(OUT) :: err
17286  !Local variables
17287  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17288  TYPE(problem_type), POINTER :: PROBLEM
17289  TYPE(varying_string) :: localError
17290 
17291  enters("cmfe_ControlLoop_NumberOfSubLoopsGetNumber0",err,error,*999)
17292 
17293  NULLIFY(control_loop)
17294  NULLIFY(problem)
17295  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17296  IF(ASSOCIATED(problem)) THEN
17297  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
17298  CALL control_loop_number_of_sub_loops_get(control_loop,numberofsubloops,err,error,*999)
17299  ELSE
17300  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17301  CALL flagerror(localerror,err,error,*999)
17302  END IF
17303 
17304  exits("cmfe_ControlLoop_NumberOfSubLoopsGetNumber0")
17305  RETURN
17306 999 errorsexits("cmfe_ControlLoop_NumberOfSubLoopsGetNumber0",err,error)
17307  CALL cmfe_handleerror(err,error)
17308  RETURN
17309 
17311 
17312  !
17313  !================================================================================================================================
17314  !
17315 
17317  SUBROUTINE cmfe_controlloop_numberofsubloopsgetnumber1(problemUserNumber,controlLoopIdentifiers,numberOfSubLoops,err)
17318  !DLLEXPORT(cmfe_ControlLoop_NumberOfSubLoopsGetNumber1)
17319 
17320  !Argument variables
17321  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17322  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
17323  INTEGER(INTG), INTENT(OUT) :: numberOfSubLoops
17324  INTEGER(INTG), INTENT(OUT) :: err
17325  !Local variables
17326  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17327  TYPE(problem_type), POINTER :: PROBLEM
17328  TYPE(varying_string) :: localError
17329 
17330  enters("cmfe_ControlLoop_NumberOfSubLoopsGetNumber1",err,error,*999)
17331 
17332  NULLIFY(control_loop)
17333  NULLIFY(problem)
17334  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17335  IF(ASSOCIATED(problem)) THEN
17336  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
17337  CALL control_loop_number_of_sub_loops_get(control_loop,numberofsubloops,err,error,*999)
17338  ELSE
17339  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17340  CALL flagerror(localerror,err,error,*999)
17341  END IF
17342 
17343  exits("cmfe_ControlLoop_NumberOfSubLoopsGetNumber1")
17344  RETURN
17345 999 errorsexits("cmfe_ControlLoop_NumberOfSubLoopsGetNumber1",err,error)
17346  CALL cmfe_handleerror(err,error)
17347  RETURN
17348 
17350 
17351  !
17352  !================================================================================================================================
17353  !
17354 
17356  SUBROUTINE cmfe_controlloop_numberofsubloopsgetobj(controlLoop,numberOfSubLoops,err)
17357  !DLLEXPORT(cmfe_ControlLoop_NumberOfSubLoopsGetObj)
17358 
17359  !Argument variables
17360  TYPE(cmfe_controllooptype), INTENT(IN) :: controlLoop
17361  INTEGER(INTG), INTENT(OUT) :: numberOfSubLoops
17362  INTEGER(INTG), INTENT(OUT) :: err
17363  !Local variables
17364 
17365  enters("cmfe_ControlLoop_NumberOfSubLoopsGetObj",err,error,*999)
17366 
17367  CALL control_loop_number_of_sub_loops_get(controlloop%controlLoop,numberofsubloops,err,error,*999)
17368 
17369  exits("cmfe_ControlLoop_NumberOfSubLoopsGetObj")
17370  RETURN
17371 999 errorsexits("cmfe_ControlLoop_NumberOfSubLoopsGetObj",err,error)
17372  CALL cmfe_handleerror(err,error)
17373  RETURN
17374 
17376 
17377  !
17378  !================================================================================================================================
17379  !
17380 
17382  SUBROUTINE cmfe_controlloop_numberofsubloopssetnumber0(problemUserNumber,controlLoopIdentifier,numberOfSubLoops,err)
17383  !DLLEXPORT(cmfe_ControlLoop_NumberOfSubLoopsSetNumber0)
17384 
17385  !Argument variables
17386  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17387  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
17388  INTEGER(INTG), INTENT(IN) :: numberOfSubLoops
17389  INTEGER(INTG), INTENT(OUT) :: err
17390  !Local variables
17391  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17392  TYPE(problem_type), POINTER :: PROBLEM
17393  TYPE(varying_string) :: localError
17394 
17395  enters("cmfe_ControlLoopNumberOfSubLoopsSetNumber",err,error,*999)
17396 
17397  NULLIFY(control_loop)
17398  NULLIFY(problem)
17399  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17400  IF(ASSOCIATED(problem)) THEN
17401  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
17402  CALL control_loop_number_of_sub_loops_set(control_loop,numberofsubloops,err,error,*999)
17403  ELSE
17404  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17405  CALL flagerror(localerror,err,error,*999)
17406  END IF
17407 
17408  exits("cmfe_ControlLoop_NumberOfSubLoopsSetNumber0")
17409  RETURN
17410 999 errorsexits("cmfe_ControlLoop_NumberOfSubLoopsSetNumber0",err,error)
17411  CALL cmfe_handleerror(err,error)
17412  RETURN
17413 
17415 
17416  !
17417  !================================================================================================================================
17418  !
17419 
17421  SUBROUTINE cmfe_controlloop_numberofsubloopssetnumber1(problemUserNumber,controlLoopIdentifiers,numberOfSubLoops,err)
17422  !DLLEXPORT(cmfe_ControlLoop_NumberOfSubLoopsSetNumber1)
17423 
17424  !Argument variables
17425  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17426  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
17427  INTEGER(INTG), INTENT(IN) :: numberOfSubLoops
17428  INTEGER(INTG), INTENT(OUT) :: err
17429  !Local variables
17430  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17431  TYPE(problem_type), POINTER :: PROBLEM
17432  TYPE(varying_string) :: localError
17433 
17434  enters("cmfe_ControlLoop_NumberOfSubLoopsSetNumber1",err,error,*999)
17435 
17436  NULLIFY(control_loop)
17437  NULLIFY(problem)
17438  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17439  IF(ASSOCIATED(problem)) THEN
17440  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
17441  CALL control_loop_number_of_sub_loops_set(control_loop,numberofsubloops,err,error,*999)
17442  ELSE
17443  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17444  CALL flagerror(localerror,err,error,*999)
17445  END IF
17446 
17447  exits("cmfe_ControlLoop_NumberOfSubLoopsSetNumber1")
17448  RETURN
17449 999 errorsexits("cmfe_ControlLoop_NumberOfSubLoopsSetNumber1",err,error)
17450  CALL cmfe_handleerror(err,error)
17451  RETURN
17452 
17454 
17455  !
17456  !================================================================================================================================
17457  !
17458 
17460  SUBROUTINE cmfe_controlloop_numberofsubloopssetobj(controlLoop,numberOfSubLoops,err)
17461  !DLLEXPORT(cmfe_ControlLoop_NumberOfSubLoopsSetObj)
17462 
17463  !Argument variables
17464  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
17465  INTEGER(INTG), INTENT(IN) :: numberOfSubLoops
17466  INTEGER(INTG), INTENT(OUT) :: err
17467  !Local variables
17468 
17469  enters("cmfe_ControlLoop_NumberOfSubLoopsSetObj",err,error,*999)
17470 
17471  CALL control_loop_number_of_sub_loops_set(controlloop%controlLoop,numberofsubloops,err,error,*999)
17472 
17473  exits("cmfe_ControlLoop_NumberOfSubLoopsSetObj")
17474  RETURN
17475 999 errorsexits("cmfe_ControlLoop_NumberOfSubLoopsSetObj",err,error)
17476  CALL cmfe_handleerror(err,error)
17477  RETURN
17478 
17480 
17481  !
17482  !================================================================================================================================
17483  !
17484 
17486  SUBROUTINE cmfe_controlloop_outputtypegetnumber0(problemUserNumber,controlLoopIdentifier,outputType,err)
17487  !DLLEXPORT(cmfe_ControlLoop_OutputTypeGetNumber0)
17488 
17489  !Argument variables
17490  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17491  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
17492  INTEGER(INTG), INTENT(OUT) :: outputType
17493  INTEGER(INTG), INTENT(OUT) :: err
17494  !Local variables
17495  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17496  TYPE(problem_type), POINTER :: PROBLEM
17497  TYPE(varying_string) :: localError
17498 
17499  enters("cmfe_ControlLoop_OutputTypeGetNumber0",err,error,*999)
17500 
17501  NULLIFY(control_loop)
17502  NULLIFY(problem)
17503  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17504  IF(ASSOCIATED(problem)) THEN
17505  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
17506  CALL control_loop_output_type_get(control_loop,outputtype,err,error,*999)
17507  ELSE
17508  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17509  CALL flagerror(localerror,err,error,*999)
17510  END IF
17511 
17512  exits("cmfe_ControlLoop_OutputTypeGetNumber0")
17513  RETURN
17514 999 errorsexits("cmfe_ControlLoop_OutputTypeGetNumber0",err,error)
17515  CALL cmfe_handleerror(err,error)
17516  RETURN
17517 
17519 
17520  !
17521  !================================================================================================================================
17522  !
17523 
17525  SUBROUTINE cmfe_controlloop_outputtypegetnumber1(problemUserNumber,controlLoopIdentifiers,outputType,err)
17526  !DLLEXPORT(cmfe_ControlLoop_OutputTypeGetNumber1)
17527 
17528  !Argument variables
17529  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17530  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
17531  INTEGER(INTG), INTENT(OUT) :: outputType
17532  INTEGER(INTG), INTENT(OUT) :: err
17533  !Local variables
17534  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17535  TYPE(problem_type), POINTER :: PROBLEM
17536  TYPE(varying_string) :: localError
17537 
17538  enters("cmfe_ControlLoop_OutputTypeGetNumber1",err,error,*999)
17539 
17540  NULLIFY(control_loop)
17541  NULLIFY(problem)
17542  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17543  IF(ASSOCIATED(problem)) THEN
17544  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
17545  CALL control_loop_output_type_get(control_loop,outputtype,err,error,*999)
17546  ELSE
17547  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17548  CALL flagerror(localerror,err,error,*999)
17549  END IF
17550 
17551  exits("cmfe_ControlLoop_OutputTypeGetNumber1")
17552  RETURN
17553 999 errorsexits("cmfe_ControlLoop_OutputTypeGetNumber1",err,error)
17554  CALL cmfe_handleerror(err,error)
17555  RETURN
17556 
17558 
17559  !
17560  !================================================================================================================================
17561  !
17562 
17564  SUBROUTINE cmfe_controlloop_outputtypegetobj(controlLoop,outputType,err)
17565  !DLLEXPORT(cmfe_ControlLoop_OutputTypeGetObj)
17566 
17567  !Argument variables
17568  TYPE(cmfe_controllooptype), INTENT(IN) :: controlLoop
17569  INTEGER(INTG), INTENT(OUT) :: outputType
17570  INTEGER(INTG), INTENT(OUT) :: err
17571  !Local variables
17572 
17573  enters("cmfe_ControlLoop_OutputTypeGetObj",err,error,*999)
17574 
17575  CALL control_loop_output_type_get(controlloop%controlLoop,outputtype,err,error,*999)
17576 
17577  exits("cmfe_ControlLoop_OutputTypeGetObj")
17578  RETURN
17579 999 errorsexits("cmfe_ControlLoop_OutputTypeGetObj",err,error)
17580  CALL cmfe_handleerror(err,error)
17581  RETURN
17582 
17583  END SUBROUTINE cmfe_controlloop_outputtypegetobj
17584 
17585  !
17586  !================================================================================================================================
17587  !
17588 
17590  SUBROUTINE cmfe_controlloop_outputtypesetnumber0(problemUserNumber,controlLoopIdentifier,outputType,err)
17591  !DLLEXPORT(cmfe_ControlLoop_OutputTypeSetNumber0)
17592 
17593  !Argument variables
17594  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17595  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
17596  INTEGER(INTG), INTENT(IN) :: outputType
17597  INTEGER(INTG), INTENT(OUT) :: err
17598  !Local variables
17599  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17600  TYPE(problem_type), POINTER :: PROBLEM
17601  TYPE(varying_string) :: localError
17602 
17603  enters("cmfe_ControlLoop_OutputTypeSetNumber0",err,error,*999)
17604 
17605  NULLIFY(control_loop)
17606  NULLIFY(problem)
17607  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17608  IF(ASSOCIATED(problem)) THEN
17609  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
17610  CALL control_loop_output_type_set(control_loop,outputtype,err,error,*999)
17611  ELSE
17612  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17613  CALL flagerror(localerror,err,error,*999)
17614  END IF
17615 
17616  exits("cmfe_ControlLoop_OutputTypeSetNumber0")
17617  RETURN
17618 999 errorsexits("cmfe_ControlLoop_OutputTypeSetNumber0",err,error)
17619  CALL cmfe_handleerror(err,error)
17620  RETURN
17621 
17623 
17624  !
17625  !================================================================================================================================
17626  !
17627 
17629  SUBROUTINE cmfe_controlloop_outputtypesetnumber1(problemUserNumber,controlLoopIdentifiers,outputType,err)
17630  !DLLEXPORT(cmfe_ControlLoop_OutputTypeSetNumber1)
17631 
17632  !Argument variables
17633  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17634  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
17635  INTEGER(INTG), INTENT(IN) :: outputType
17636  INTEGER(INTG), INTENT(OUT) :: err
17637  !Local variables
17638  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17639  TYPE(problem_type), POINTER :: PROBLEM
17640  TYPE(varying_string) :: localError
17641 
17642  enters("cmfe_ControlLoop_OutputTypeSetNumber1",err,error,*999)
17643 
17644  NULLIFY(control_loop)
17645  NULLIFY(problem)
17646  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17647  IF(ASSOCIATED(problem)) THEN
17648  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
17649  CALL control_loop_output_type_set(control_loop,outputtype,err,error,*999)
17650  ELSE
17651  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17652  CALL flagerror(localerror,err,error,*999)
17653  END IF
17654 
17655  exits("cmfe_ControlLoop_OutputTypeSetNumber1")
17656  RETURN
17657 999 errorsexits("cmfe_ControlLoop_OutputTypeSetNumber1",err,error)
17658  CALL cmfe_handleerror(err,error)
17659  RETURN
17660 
17662 
17663  !
17664  !================================================================================================================================
17665  !
17666 
17668  SUBROUTINE cmfe_controlloop_outputtypesetobj(controlLoop,outputType,err)
17669  !DLLEXPORT(cmfe_ControlLoop_OutputTypeSetObj)
17670 
17671  !Argument variables
17672  TYPE(cmfe_controllooptype), INTENT(IN) :: controlLoop
17673  INTEGER(INTG), INTENT(IN) :: outputType
17674  INTEGER(INTG), INTENT(OUT) :: err
17675  !Local variables
17676 
17677  enters("cmfe_ControlLoop_OutputTypeSetObj",err,error,*999)
17678 
17679  CALL control_loop_output_type_set(controlloop%controlLoop,outputtype,err,error,*999)
17680 
17681  exits("cmfe_ControlLoop_OutputTypeSetObj")
17682  RETURN
17683 999 errorsexits("cmfe_ControlLoop_OutputTypeSetObj",err,error)
17684  CALL cmfe_handleerror(err,error)
17685  RETURN
17686 
17687  END SUBROUTINE cmfe_controlloop_outputtypesetobj
17688 
17689  !
17690  !================================================================================================================================
17691  !
17692 
17694  SUBROUTINE cmfe_controlloop_timeoutputsetnumber0(problemUserNumber,controlLoopIdentifier,outputFrequency,err)
17695  !DLLEXPORT(cmfe_ControlLoop_TimeOutputSetNumber0)
17696 
17697  !Argument variables
17698  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17699  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
17700  INTEGER(INTG), INTENT(IN) :: outputFrequency
17701  INTEGER(INTG), INTENT(OUT) :: err
17702  !Local variables
17703  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17704  TYPE(problem_type), POINTER :: PROBLEM
17705  TYPE(varying_string) :: localError
17706 
17707  enters("cmfe_ControlLoop_TimeOutputSetNumber0",err,error,*999)
17708 
17709  NULLIFY(control_loop)
17710  NULLIFY(problem)
17711  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17712  IF(ASSOCIATED(problem)) THEN
17713  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
17714  CALL control_loop_time_output_set(control_loop,outputfrequency,err,error,*999)
17715  ELSE
17716  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17717  CALL flagerror(localerror,err,error,*999)
17718  END IF
17719 
17720  exits("cmfe_ControlLoop_TimeOutputSetNumber0")
17721  RETURN
17722 999 errorsexits("cmfe_ControlLoop_TimeOutputSetNumber0",err,error)
17723  CALL cmfe_handleerror(err,error)
17724  RETURN
17725 
17727 
17728  !
17729  !================================================================================================================================
17730  !
17731 
17733  SUBROUTINE cmfe_controlloop_timeoutputsetnumber1(problemUserNumber,controlLoopIdentifiers,outputFrequency,err)
17734  !DLLEXPORT(cmfe_ControlLoop_TimeOutputSetNumber1)
17735 
17736  !Argument variables
17737  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17738  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
17739  INTEGER(INTG), INTENT(IN) :: outputFrequency
17740  INTEGER(INTG), INTENT(OUT) :: err
17741  !Local variables
17742  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17743  TYPE(varying_string) :: localError
17744  TYPE(problem_type), POINTER :: PROBLEM
17745 
17746  enters("cmfe_ControlLoop_TimeOutputSetNumber1",err,error,*999)
17747 
17748  NULLIFY(control_loop)
17749  NULLIFY(problem)
17750  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17751  IF(ASSOCIATED(problem)) THEN
17752  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
17753  CALL control_loop_time_output_set(control_loop,outputfrequency,err,error,*999)
17754  ELSE
17755  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17756  CALL flagerror(localerror,err,error,*999)
17757  END IF
17758 
17759  exits("cmfe_ControlLoop_TimeOutputSetNumber1")
17760  RETURN
17761 999 errorsexits("cmfe_ControlLoop_TimeOutputSetNumber1",err,error)
17762  CALL cmfe_handleerror(err,error)
17763  RETURN
17764 
17766 
17767  !
17768  !================================================================================================================================
17769  !
17770 
17772  SUBROUTINE cmfe_controlloop_timeoutputsetobj(controlLoop,outputFrequency,err)
17773  !DLLEXPORT(cmfe_ControlLoop_TimeOutputSetObj)
17774 
17775  !Argument variables
17776  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
17777  INTEGER(INTG), INTENT(IN) :: outputFrequency
17778  INTEGER(INTG), INTENT(OUT) :: err
17779  !Local variables
17780 
17781  enters("cmfe_ControlLoop_TimeOutputSetObj",err,error,*999)
17782 
17783  CALL control_loop_time_output_set(controlloop%controlLoop,outputfrequency,err,error,*999)
17784 
17785  exits("cmfe_ControlLoop_TimeOutputSetObj")
17786  RETURN
17787 999 errorsexits("cmfe_ControlLoop_TimeOutputSetObj",err,error)
17788  CALL cmfe_handleerror(err,error)
17789  RETURN
17790 
17791  END SUBROUTINE cmfe_controlloop_timeoutputsetobj
17792 
17793  !
17794  !================================================================================================================================
17795  !
17796 
17798  SUBROUTINE cmfe_controlloop_timeinputsetnumber0(problemUserNumber,controlLoopIdentifier,inputOption,err)
17799  !DLLEXPORT(cmfe_ControlLoop_TimeInputSetNumber0)
17800 
17801  !Argument variables
17802  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17803  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
17804  INTEGER(INTG), INTENT(IN) :: inputOption
17805  INTEGER(INTG), INTENT(OUT) :: err
17806  !Local variables
17807  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17808  TYPE(problem_type), POINTER :: PROBLEM
17809  TYPE(varying_string) :: localError
17810 
17811  enters("cmfe_ControlLoop_TimeInputSetNumber0",err,error,*999)
17812 
17813  NULLIFY(control_loop)
17814  NULLIFY(problem)
17815  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17816  IF(ASSOCIATED(problem)) THEN
17817  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
17818  CALL control_loop_time_output_set(control_loop,inputoption,err,error,*999)
17819  ELSE
17820  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17821  CALL flagerror(localerror,err,error,*999)
17822  END IF
17823 
17824  exits("cmfe_ControlLoop_TimeInputSetNumber0")
17825  RETURN
17826 999 errorsexits("cmfe_ControlLoop_TimeInputSetNumber0",err,error)
17827  CALL cmfe_handleerror(err,error)
17828  RETURN
17829 
17831 
17832  !
17833  !================================================================================================================================
17834  !
17835 
17837  SUBROUTINE cmfe_controlloop_timeinputsetnumber1(problemUserNumber,controlLoopIdentifiers,inputOption,err)
17838  !DLLEXPORT(cmfe_ControlLoop_TimeInputSetNumber1)
17839 
17840  !Argument variables
17841  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17842  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
17843  INTEGER(INTG), INTENT(IN) :: inputOption
17844  INTEGER(INTG), INTENT(OUT) :: err
17845  !Local variables
17846  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17847  TYPE(varying_string) :: localError
17848  TYPE(problem_type), POINTER :: PROBLEM
17849 
17850  enters("cmfe_ControlLoop_TimeInputSetNumber1",err,error,*999)
17851 
17852  NULLIFY(control_loop)
17853  NULLIFY(problem)
17854  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17855  IF(ASSOCIATED(problem)) THEN
17856  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
17857  CALL control_loop_time_output_set(control_loop,inputoption,err,error,*999)
17858  ELSE
17859  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17860  CALL flagerror(localerror,err,error,*999)
17861  END IF
17862 
17863  exits("cmfe_ControlLoop_TimeInputSetNumber1")
17864  RETURN
17865 999 errorsexits("cmfe_ControlLoop_TimeInputSetNumber1",err,error)
17866  CALL cmfe_handleerror(err,error)
17867  RETURN
17868 
17870 
17871  !
17872  !================================================================================================================================
17873  !
17874 
17876  SUBROUTINE cmfe_controlloop_timeinputsetobj(controlLoop,inputOption,err)
17877  !DLLEXPORT(cmfe_ControlLoop_TimeInputSetObj)
17878 
17879  !Argument variables
17880  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
17881  INTEGER(INTG), INTENT(IN) :: inputOption
17882  INTEGER(INTG), INTENT(OUT) :: err
17883  !Local variables
17884 
17885  enters("cmfe_ControlLoop_TimeInputSetObj",err,error,*999)
17886 
17887  CALL control_loop_time_input_set(controlloop%controlLoop,inputoption,err,error,*999)
17888 
17889  exits("cmfe_ControlLoop_TimeInputSetObj")
17890  RETURN
17891 999 errorsexits("cmfe_ControlLoop_TimeInputSetObj",err,error)
17892  CALL cmfe_handleerror(err,error)
17893  RETURN
17894 
17895  END SUBROUTINE cmfe_controlloop_timeinputsetobj
17896 
17897 
17898  !
17899  !================================================================================================================================
17900  !
17901 
17903  SUBROUTINE cmfe_controlloop_timesgetnumber0(problemUserNumber,controlLoopIdentifier,startTime,stopTime,timeIncrement, &
17904  & currenttime,currentloopiteration,outputiterationnumber,err)
17905  !DLLEXPORT(cmfe_ControlLoop_TimesGetNumber0)
17906 
17907  !Argument variables
17908  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17909  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
17910  REAL(DP), INTENT(OUT) :: startTime
17911  REAL(DP), INTENT(OUT) :: stopTime
17912  REAL(DP), INTENT(OUT) :: timeIncrement
17913  REAL(DP), INTENT(OUT) :: currentTime
17914  INTEGER(INTG), INTENT(OUT) :: currentLoopIteration
17915  INTEGER(INTG), INTENT(OUT) :: outputIterationNumber
17916  INTEGER(INTG), INTENT(OUT) :: err
17917  !Local variables
17918  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17919  TYPE(problem_type), POINTER :: PROBLEM
17920  TYPE(varying_string) :: localError
17921 
17922  enters("cmfe_ControlLoop_TimesGetNumber0",err,error,*999)
17923 
17924  NULLIFY(control_loop)
17925  NULLIFY(problem)
17926  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17927  IF(ASSOCIATED(problem)) THEN
17928  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
17929  CALL control_loop_times_get(control_loop,starttime,stoptime,currenttime,timeincrement, &
17930  & currentloopiteration,outputiterationnumber,err,error,*999)
17931  ELSE
17932  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17933  CALL flagerror(localerror,err,error,*999)
17934  END IF
17935 
17936  exits("cmfe_ControlLoop_TimesGetNumber0")
17937  RETURN
17938 999 errorsexits("cmfe_ControlLoop_TimesGetNumber0",err,error)
17939  CALL cmfe_handleerror(err,error)
17940  RETURN
17941 
17942  END SUBROUTINE cmfe_controlloop_timesgetnumber0
17943 
17944  !
17945  !================================================================================================================================
17946  !
17947 
17949  SUBROUTINE cmfe_controlloop_timesgetnumber1(problemUserNumber,controlLoopIdentifiers,startTime,stopTime,timeIncrement, &
17950  & currenttime,currentloopiteration,outputiterationnumber,err)
17951  !DLLEXPORT(cmfe_ControlLoop_TimesGetNumber1)
17952 
17953  !Argument variables
17954  INTEGER(INTG), INTENT(IN) :: problemUserNumber
17955  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
17956  REAL(DP), INTENT(OUT) :: startTime
17957  REAL(DP), INTENT(OUT) :: stopTime
17958  REAL(DP), INTENT(OUT) :: timeIncrement
17959  REAL(DP), INTENT(OUT) :: currentTime
17960  INTEGER(INTG), INTENT(OUT) :: currentLoopIteration
17961  INTEGER(INTG), INTENT(OUT) :: outputIterationNumber
17962  INTEGER(INTG), INTENT(OUT) :: err
17963  !Local variables
17964  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
17965  TYPE(problem_type), POINTER :: PROBLEM
17966  TYPE(varying_string) :: localError
17967 
17968  enters("cmfe_ControlLoop_TimesGetNumber1",err,error,*999)
17969 
17970  NULLIFY(control_loop)
17971  NULLIFY(problem)
17972  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
17973  IF(ASSOCIATED(problem)) THEN
17974  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
17975  CALL control_loop_times_get(control_loop,starttime,stoptime,currenttime,timeincrement, &
17976  & currentloopiteration,outputiterationnumber,err,error,*999)
17977  ELSE
17978  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
17979  CALL flagerror(localerror,err,error,*999)
17980  END IF
17981 
17982  exits("cmfe_ControlLoop_TimesGetNumber1")
17983  RETURN
17984 999 errorsexits("cmfe_ControlLoop_TimesGetNumber1",err,error)
17985  CALL cmfe_handleerror(err,error)
17986  RETURN
17987 
17988  END SUBROUTINE cmfe_controlloop_timesgetnumber1
17989 
17990  !
17991  !================================================================================================================================
17992  !
17993 
17995  SUBROUTINE cmfe_controlloop_timesgetobj(controlLoop,startTime,stopTime,timeIncrement,currentTime, &
17996  & currentloopiteration,outputiterationnumber,err)
17997  !DLLEXPORT(cmfe_ControlLoop_TimesGetObj)
17998 
17999  !Argument variables
18000  TYPE(cmfe_controllooptype), INTENT(IN) :: controlLoop
18001  REAL(DP), INTENT(OUT) :: startTime
18002  REAL(DP), INTENT(OUT) :: stopTime
18003  REAL(DP), INTENT(OUT) :: timeIncrement
18004  REAL(DP), INTENT(OUT) :: currentTime
18005  INTEGER(INTG), INTENT(OUT) :: currentLoopIteration
18006  INTEGER(INTG), INTENT(OUT) :: outputIterationNumber
18007  INTEGER(INTG), INTENT(OUT) :: err
18008  !Local variables
18009 
18010  enters("cmfe_ControlLoop_TimesGetObj",err,error,*999)
18011 
18012  CALL control_loop_times_get(controlloop%controlLoop,starttime,stoptime,currenttime,timeincrement, &
18013  & currentloopiteration,outputiterationnumber,err,error,*999)
18014 
18015  exits("cmfe_ControlLoop_TimesGetObj")
18016  RETURN
18017 999 errorsexits("cmfe_ControlLoop_TimesGetObj",err,error)
18018  CALL cmfe_handleerror(err,error)
18019  RETURN
18020 
18021  END SUBROUTINE cmfe_controlloop_timesgetobj
18022 
18023  !
18024  !================================================================================================================================
18025  !
18026 
18028  SUBROUTINE cmfe_controlloop_timessetnumber0(problemUserNumber,controlLoopIdentifier,startTime,stopTime,timeIncrement,err)
18029  !DLLEXPORT(cmfe_ControlLoop_TimesSetNumber0)
18030 
18031  !Argument variables
18032  INTEGER(INTG), INTENT(IN) :: problemUserNumber
18033  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
18034  REAL(DP), INTENT(IN) :: startTime
18035  REAL(DP), INTENT(IN) :: stopTime
18036  REAL(DP), INTENT(IN) :: timeIncrement
18037  INTEGER(INTG), INTENT(OUT) :: err
18038  !Local variables
18039  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
18040  TYPE(problem_type), POINTER :: PROBLEM
18041  TYPE(varying_string) :: localError
18042 
18043  enters("cmfe_ControlLoop_TimesSetNumber0",err,error,*999)
18044 
18045  NULLIFY(control_loop)
18046  NULLIFY(problem)
18047  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
18048  IF(ASSOCIATED(problem)) THEN
18049  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
18050  CALL control_loop_times_set(control_loop,starttime,stoptime,timeincrement,err,error,*999)
18051  ELSE
18052  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
18053  CALL flagerror(localerror,err,error,*999)
18054  END IF
18055 
18056  exits("cmfe_ControlLoop_TimesSetNumber0")
18057  RETURN
18058 999 errorsexits("cmfe_ControlLoop_TimesSetNumber0",err,error)
18059  CALL cmfe_handleerror(err,error)
18060  RETURN
18061 
18062  END SUBROUTINE cmfe_controlloop_timessetnumber0
18063 
18064  !
18065  !================================================================================================================================
18066  !
18067 
18069  SUBROUTINE cmfe_controlloop_timessetnumber1(problemUserNumber,controlLoopIdentifiers,startTime,stopTime,timeIncrement,err)
18070  !DLLEXPORT(cmfe_ControlLoop_TimesSetNumber1)
18071 
18072  !Argument variables
18073  INTEGER(INTG), INTENT(IN) :: problemUserNumber
18074  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
18075  REAL(DP), INTENT(IN) :: startTime
18076  REAL(DP), INTENT(IN) :: stopTime
18077  REAL(DP), INTENT(IN) :: timeIncrement
18078  INTEGER(INTG), INTENT(OUT) :: err
18079  !Local variables
18080  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
18081  TYPE(varying_string) :: localError
18082  TYPE(problem_type), POINTER :: PROBLEM
18083 
18084  enters("cmfe_ControlLoop_TimesSetNumber1",err,error,*999)
18085 
18086  NULLIFY(control_loop)
18087  NULLIFY(problem)
18088  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
18089  IF(ASSOCIATED(problem)) THEN
18090  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
18091  CALL control_loop_times_set(control_loop,starttime,stoptime,timeincrement,err,error,*999)
18092  ELSE
18093  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
18094  CALL flagerror(localerror,err,error,*999)
18095  END IF
18096 
18097  exits("cmfe_ControlLoop_TimesSetNumber1")
18098  RETURN
18099 999 errorsexits("cmfe_ControlLoop_TimesSetNumber1",err,error)
18100  CALL cmfe_handleerror(err,error)
18101  RETURN
18102 
18103  END SUBROUTINE cmfe_controlloop_timessetnumber1
18104 
18105  !
18106  !================================================================================================================================
18107  !
18108 
18110  SUBROUTINE cmfe_controlloop_timessetobj(controlLoop,startTime,stopTime,timeIncrement,err)
18111  !DLLEXPORT(cmfe_ControlLoop_TimesSetObj)
18112 
18113  !Argument variables
18114  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
18115  REAL(DP), INTENT(IN) :: startTime
18116  REAL(DP), INTENT(IN) :: stopTime
18117  REAL(DP), INTENT(IN) :: timeIncrement
18118  INTEGER(INTG), INTENT(OUT) :: err
18119  !Local variables
18120 
18121  enters("cmfe_ControlLoop_TimesSetObj",err,error,*999)
18122 
18123  CALL control_loop_times_set(controlloop%controlLoop,starttime,stoptime,timeincrement,err,error,*999)
18124 
18125  exits("cmfe_ControlLoop_TimesSetObj")
18126  RETURN
18127 999 errorsexits("cmfe_ControlLoop_TimesSetObj",err,error)
18128  CALL cmfe_handleerror(err,error)
18129  RETURN
18130 
18131  END SUBROUTINE cmfe_controlloop_timessetobj
18132 
18133  !
18134  !================================================================================================================================
18135  !
18136 
18138  SUBROUTINE cmfe_controlloop_typesetnumber0(problemUserNumber,controlLoopIdentifier,loopType,err)
18139  !DLLEXPORT(cmfe_ControlLoop_TypeSetNumber0)
18140 
18141  !Argument variables
18142  INTEGER(INTG), INTENT(IN) :: problemUserNumber
18143  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
18144  INTEGER(INTG), INTENT(IN) :: loopType
18145  INTEGER(INTG), INTENT(OUT) :: err
18146  !Local variables
18147  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
18148  TYPE(problem_type), POINTER :: PROBLEM
18149  TYPE(varying_string) :: localError
18150 
18151  enters("cmfe_ControlLoop_TypeSetNumber0",err,error,*999)
18152 
18153  NULLIFY(control_loop)
18154  NULLIFY(problem)
18155  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
18156  IF(ASSOCIATED(problem)) THEN
18157  CALL problem_control_loop_get(problem,controlloopidentifier,control_loop,err,error,*999)
18158  CALL control_loop_type_set(control_loop,looptype,err,error,*999)
18159  ELSE
18160  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
18161  CALL flagerror(localerror,err,error,*999)
18162  END IF
18163 
18164  exits("cmfe_ControlLoop_TypeSetNumber0")
18165  RETURN
18166 999 errorsexits("cmfe_ControlLoop_TypeSetNumber0",err,error)
18167  CALL cmfe_handleerror(err,error)
18168  RETURN
18169 
18170  END SUBROUTINE cmfe_controlloop_typesetnumber0
18171 
18172  !
18173  !================================================================================================================================
18174  !
18175 
18177  SUBROUTINE cmfe_controlloop_typesetnumber1(problemUserNumber,controlLoopIdentifiers,loopType,err)
18178  !DLLEXPORT(cmfe_ControlLoop_TypeSetNumber1)
18179 
18180  !Argument variables
18181  INTEGER(INTG), INTENT(IN) :: problemUserNumber
18182  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
18183  INTEGER(INTG), INTENT(IN) :: loopType
18184  INTEGER(INTG), INTENT(OUT) :: err
18185  !Local variables
18186  TYPE(control_loop_type), POINTER :: CONTROL_LOOP
18187  TYPE(problem_type), POINTER :: PROBLEM
18188  TYPE(varying_string) :: localError
18189 
18190  enters("cmfe_ControlLoop_TypeSetNumber1",err,error,*999)
18191 
18192  NULLIFY(control_loop)
18193  NULLIFY(problem)
18194  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
18195  IF(ASSOCIATED(problem)) THEN
18196  CALL problem_control_loop_get(problem,controlloopidentifiers,control_loop,err,error,*999)
18197  CALL control_loop_type_set(control_loop,looptype,err,error,*999)
18198  ELSE
18199  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
18200  CALL flagerror(localerror,err,error,*999)
18201  END IF
18202 
18203  exits("cmfe_ControlLoop_TypeSetNumber1")
18204  RETURN
18205 999 errorsexits("cmfe_ControlLoop_TypeSetNumber1",err,error)
18206  CALL cmfe_handleerror(err,error)
18207  RETURN
18208 
18209  END SUBROUTINE cmfe_controlloop_typesetnumber1
18210 
18211  !
18212  !================================================================================================================================
18213  !
18214 
18216  SUBROUTINE cmfe_controlloop_typesetobj(controlLoop,loopType,err)
18217  !DLLEXPORT(cmfe_ControlLoop_TypeSetObj)
18218 
18219  !Argument variables
18220  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
18221  INTEGER(INTG), INTENT(IN) :: loopType
18222  INTEGER(INTG), INTENT(OUT) :: err
18223  !Local variables
18224 
18225  enters("cmfe_ControlLoop_TypeSetObj",err,error,*999)
18226 
18227  CALL control_loop_type_set(controlloop%controlLoop,looptype,err,error,*999)
18228 
18229  exits("cmfe_ControlLoop_TypeSetObj")
18230  RETURN
18231 999 errorsexits("cmfe_ControlLoop_TypeSetObj",err,error)
18232  CALL cmfe_handleerror(err,error)
18233  RETURN
18234 
18235  END SUBROUTINE cmfe_controlloop_typesetobj
18236 
18237 !!==================================================================================================================================
18238 !!
18239 !! COORDINATE_ROUTINES
18240 !!
18241 !!==================================================================================================================================
18242 
18244  SUBROUTINE cmfe_coordinatesystem_createfinishnumber(coordinateSystemUserNumber,err)
18245  !DLLEXPORT(cmfe_CoordinateSystem_CreateFinishNumber)
18246 
18247  !Argument variables
18248  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
18249  INTEGER(INTG), INTENT(OUT) :: err
18250  !Local variables
18251  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
18252  TYPE(varying_string) :: localError
18253 
18254  enters("cmfe_CoordinateSystem_CreateFinishNumber",err,error,*999)
18255 
18256  NULLIFY(coordinate_system)
18257  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
18258  IF(ASSOCIATED(coordinate_system)) THEN
18259  CALL coordinate_system_create_finish(coordinate_system,err,error,*999)
18260  ELSE
18261  localerror="A coordinate system with an user number of "// &
18262  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//" does not exist."
18263  CALL flagerror(localerror,err,error,*999)
18264  END IF
18265 
18266 #ifdef TAUPROF
18267  CALL tau_static_phase_stop('Coordinate System Create')
18268 #endif
18269 
18270  exits("cmfe_CoordinateSystem_CreateFinishNumber")
18271  RETURN
18272 999 errorsexits("cmfe_CoordinateSystem_CreateFinishNumber",err,error)
18273  CALL cmfe_handleerror(err,error)
18274  RETURN
18275 
18277 
18278  !
18279  !================================================================================================================================
18280  !
18281 
18283  SUBROUTINE cmfe_coordinatesystem_createfinishobj(coordinateSystem,err)
18284  !DLLEXPORT(cmfe_CoordinateSystem_CreateFinishObj)
18285 
18286  !Argument variables
18287  TYPE(cmfe_coordinatesystemtype), INTENT(INOUT) :: coordinateSystem
18288  INTEGER(INTG), INTENT(OUT) :: err
18289  !Local variables
18290 
18291  enters("cmfe_CoordinateSystem_CreateFinishObj",err,error,*999)
18292 
18293  CALL coordinate_system_create_finish(coordinatesystem%coordinateSystem,err,error,*999)
18294 
18295 #ifdef TAUPROF
18296  CALL tau_static_phase_stop('Coordinate System Create')
18297 #endif
18298 
18299  exits("cmfe_CoordinateSystem_CreateFinishObj")
18300  RETURN
18301 999 errorsexits("cmfe_CoordinateSystem_CreateFinishObj",err,error)
18302  CALL cmfe_handleerror(err,error)
18303  RETURN
18304 
18306 
18307  !
18308  !================================================================================================================================
18309  !
18310 
18312  SUBROUTINE cmfe_coordinatesystem_createstartnumber(coordinateSystemUserNumber,err)
18313  !DLLEXPORT(cmfe_CoordinateSystem_CreateStartNumber)
18314 
18315  !Argument variables
18316  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
18317  INTEGER(INTG), INTENT(OUT) :: err
18318  !Local variables
18319  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
18320 
18321  enters("cmfe_CoordinateSystem_CreateStartNumber",err,error,*999)
18322 
18323 #ifdef TAUPROF
18324  CALL tau_static_phase_start('Coordinate System Create')
18325 #endif
18326 
18327  NULLIFY(coordinate_system)
18328  CALL coordinate_system_create_start(coordinatesystemusernumber,coordinate_system,err,error,*999)
18329 
18330  exits("cmfe_CoordinateSystem_CreateStartNumber")
18331  RETURN
18332 999 errorsexits("cmfe_CoordinateSystem_CreateStartNumber",err,error)
18333  CALL cmfe_handleerror(err,error)
18334  RETURN
18335 
18337 
18338  !
18339  !================================================================================================================================
18340  !
18341 
18343  SUBROUTINE cmfe_coordinatesystem_createstartobj(coordinateSystemUserNumber,coordinateSystem,err)
18344  !DLLEXPORT(cmfe_CoordinateSystem_CreateStartObj)
18345 
18346  !Argument variables
18347  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
18348  TYPE(cmfe_coordinatesystemtype), INTENT(INOUT) :: coordinateSystem
18349  INTEGER(INTG), INTENT(OUT) :: err
18350  !Local variables
18351 
18352  enters("cmfe_CoordinateSystem_CreateStartObj",err,error,*999)
18353 
18354 #ifdef TAUPROF
18355  CALL tau_static_phase_start('Coordinate System Create')
18356 #endif
18357 
18358  CALL coordinate_system_create_start(coordinatesystemusernumber,coordinatesystem%coordinateSystem,err,error,*999)
18359 
18360  exits("cmfe_CoordinateSystem_CreateStartObj")
18361  RETURN
18362 999 errorsexits("cmfe_CoordinateSystem_CreateStartObj",err,error)
18363  CALL cmfe_handleerror(err,error)
18364  RETURN
18365 
18367 
18368  !
18369  !================================================================================================================================
18370  !
18371 
18373  SUBROUTINE cmfe_coordinatesystem_destroynumber(coordinateSystemUserNumber,err)
18374  !DLLEXPORT(cmfe_CoordinateSystem_DestroyNumber)
18375 
18376  !Argument variables
18377  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
18378  INTEGER(INTG), INTENT(OUT) :: err
18379  !Local variables
18380  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
18381  TYPE(varying_string) :: localError
18382 
18383  enters("cmfe_CoordinateSystem_DestroyNumber",err,error,*999)
18384 
18385  NULLIFY(coordinate_system)
18386  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
18387  IF(ASSOCIATED(coordinate_system)) THEN
18388  CALL coordinate_system_destroy(coordinate_system,err,error,*999)
18389  ELSE
18390  localerror="A coordinate system with an user number of "// &
18391  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//" does not exist."
18392  CALL flagerror(localerror,err,error,*999)
18393  END IF
18394 
18395  exits("cmfe_CoordinateSystem_DestroyNumber")
18396  RETURN
18397 999 errorsexits("cmfe_CoordinateSystem_DestroyNumber",err,error)
18398  CALL cmfe_handleerror(err,error)
18399  RETURN
18400 
18402 
18403  !
18404  !================================================================================================================================
18405  !
18406 
18408  SUBROUTINE cmfe_coordinatesystem_destroyobj(coordinateSystem,err)
18409  !DLLEXPORT(cmfe_CoordinateSystem_DestroyObj)
18410 
18411  !Argument variables
18412  TYPE(cmfe_coordinatesystemtype), INTENT(INOUT) :: coordinateSystem
18413  INTEGER(INTG), INTENT(OUT) :: err
18414  !Local variables
18415 
18416  enters("cmfe_CoordinateSysteDestroyObj",err,error,*999)
18417 
18418  CALL coordinate_system_destroy(coordinatesystem%coordinateSystem,err,error,*999)
18419 
18420  exits("cmfe_CoordinateSystem_DestroyObj")
18421  RETURN
18422 999 errorsexits("cmfe_CoordinateSystem_DestroyObj",err,error)
18423  CALL cmfe_handleerror(err,error)
18424  RETURN
18425 
18426  END SUBROUTINE cmfe_coordinatesystem_destroyobj
18427 
18428  !
18429  !================================================================================================================================
18430  !
18431 
18433  SUBROUTINE cmfe_coordinatesystem_dimensiongetnumber(coordinateSystemUserNumber,coordinateSystemDimension,err)
18434  !DLLEXPORT(cmfe_CoordinateSystem_DimensionGetNumber)
18435 
18436  !Argument variables
18437  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
18438  INTEGER(INTG), INTENT(OUT) :: coordinateSystemDimension
18439  INTEGER(INTG), INTENT(OUT) :: err
18440  !Local variables
18441  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
18442  TYPE(varying_string) :: localError
18443 
18444  enters("cmfe_CoordinateSystem_DimensionGetNumber",err,error,*999)
18445 
18446  NULLIFY(coordinate_system)
18447  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
18448  IF(ASSOCIATED(coordinate_system)) THEN
18449  CALL coordinate_system_dimension_get(coordinate_system,coordinatesystemdimension,err,error,*999)
18450  ELSE
18451  localerror="A coordinate system with an user number of "// &
18452  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//" does not exist."
18453  CALL flagerror(localerror,err,error,*999)
18454  END IF
18455 
18456  exits("cmfe_CoordinateSystem_DimensionGetNumber")
18457  RETURN
18458 999 errorsexits("cmfe_CoordinateSystem_DimensionGetNumber",err,error)
18459  CALL cmfe_handleerror(err,error)
18460  RETURN
18461 
18463 
18464  !
18465  !================================================================================================================================
18466  !
18467 
18469  SUBROUTINE cmfe_coordinatesystem_dimensiongetobj(coordinateSystem,coordinateSystemDimension,err)
18470  !DLLEXPORT(cmfe_CoordinateSystem_DimensionGetObj)
18471 
18472  !Argument variables
18473  TYPE(cmfe_coordinatesystemtype), INTENT(IN) :: coordinateSystem
18474  INTEGER(INTG), INTENT(OUT) :: coordinateSystemDimension
18475  INTEGER(INTG), INTENT(OUT) :: err
18476  !Local variables
18477 
18478  enters("cmfe_CoordinateSystem_DimensionGetObj",err,error,*999)
18479 
18480  CALL coordinate_system_dimension_get(coordinatesystem%coordinateSystem,coordinatesystemdimension,err,error,*999)
18481 
18482  exits("cmfe_CoordinateSystem_DimensionGetObj")
18483  RETURN
18484 999 errorsexits("cmfe_CoordinateSystem_DimensionGetObj",err,error)
18485  CALL cmfe_handleerror(err,error)
18486  RETURN
18487 
18489 
18490  !
18491  !================================================================================================================================
18492  !
18493 
18495  SUBROUTINE cmfe_coordinatesystem_dimensionsetnumber(coordinateSystemUserNumber,coordinateSystemDimension,err)
18496  !DLLEXPORT(cmfe_CoordinateSystem_DimensionSetNumber)
18497 
18498  !Argument variables
18499  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
18500  INTEGER(INTG), INTENT(IN) :: coordinateSystemDimension
18501  INTEGER(INTG), INTENT(OUT) :: err
18502  !Local variables
18503  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
18504  TYPE(varying_string) :: localError
18505 
18506  enters("cmfe_CoordinateSystem_DimensionSetNumber",err,error,*999)
18507 
18508  NULLIFY(coordinate_system)
18509  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
18510  IF(ASSOCIATED(coordinate_system)) THEN
18511  CALL coordinate_system_dimension_set(coordinate_system,coordinatesystemdimension,err,error,*999)
18512  ELSE
18513  localerror="A coordinate system with an user number of "// &
18514  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//" does not exist."
18515  CALL flagerror(localerror,err,error,*999)
18516  END IF
18517 
18518  exits("cmfe_CoordinateSystem_DimensionSetNumber")
18519  RETURN
18520 999 errorsexits("cmfe_CoordinateSystem_DimensionSetNumber",err,error)
18521  CALL cmfe_handleerror(err,error)
18522  RETURN
18523 
18525 
18526  !
18527  !================================================================================================================================
18528  !
18529 
18531  SUBROUTINE cmfe_coordinatesystem_dimensionsetobj(coordinateSystem,coordinateSystemDimension,err)
18532  !DLLEXPORT(cmfe_CoordinateSystem_DimensionSetObj)
18533 
18534  !Argument variables
18535  TYPE(cmfe_coordinatesystemtype), INTENT(INOUT) :: coordinateSystem
18536  INTEGER(INTG), INTENT(IN) :: coordinateSystemDimension
18537  INTEGER(INTG), INTENT(OUT) :: err
18538  !Local variables
18539 
18540  enters("cmfe_CoordinateSystem_DimensionSetObj",err,error,*999)
18541 
18542  CALL coordinate_system_dimension_set(coordinatesystem%coordinateSystem,coordinatesystemdimension,err,error,*999)
18543 
18544  exits("cmfe_CoordinateSystem_DimensionSetObj")
18545  RETURN
18546 999 errorsexits("cmfe_CoordinateSystem_DimensionSetObj",err,error)
18547  CALL cmfe_handleerror(err,error)
18548  RETURN
18549 
18551 
18552  !
18553  !================================================================================================================================
18554  !
18555 
18557  SUBROUTINE cmfe_coordinatesystem_focusgetnumber(coordinateSystemUserNumber,focus,err)
18558  !DLLEXPORT(cmfe_CoordinateSystem_FocusGetNumber)
18559 
18560  !Argument variables
18561  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
18562  REAL(DP), INTENT(OUT) :: focus
18563  INTEGER(INTG), INTENT(OUT) :: err
18564  !Local variables
18565  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
18566  TYPE(varying_string) :: localError
18567 
18568  enters("cmfe_CoordinateSystem_FocusGetNumber",err,error,*999)
18569 
18570  NULLIFY(coordinate_system)
18571  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
18572  IF(ASSOCIATED(coordinate_system)) THEN
18573  CALL coordinate_system_focus_get(coordinate_system,focus,err,error,*999)
18574  ELSE
18575  localerror="A coordinate system with an user number of "// &
18576  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//" does not exist."
18577  CALL flagerror(localerror,err,error,*999)
18578  END IF
18579 
18580  exits("cmfe_CoordinateSystem_FocusGetNumber")
18581  RETURN
18582 999 errorsexits("cmfe_CoordinateSystem_FocusGetNumber",err,error)
18583  CALL cmfe_handleerror(err,error)
18584  RETURN
18585 
18587 
18588  !
18589  !================================================================================================================================
18590  !
18591 
18593  SUBROUTINE cmfe_coordinatesystem_focusgetobj(coordinateSystem,focus,err)
18594  !DLLEXPORT(cmfe_CoordinateSystem_FocusGetObj)
18595 
18596  !Argument variables
18597  TYPE(cmfe_coordinatesystemtype), INTENT(IN) :: coordinateSystem
18598  REAL(DP), INTENT(OUT) :: focus
18599  INTEGER(INTG), INTENT(OUT) :: err
18600  !Local variables
18601 
18602  enters("cmfe_CoordinateSystem_FocusGetObj",err,error,*999)
18603 
18604  CALL coordinate_system_focus_get(coordinatesystem%coordinateSystem,focus,err,error,*999)
18605 
18606  exits("cmfe_CoordinateSystem_FocusGetObj")
18607  RETURN
18608 999 errorsexits("cmfe_CoordinateSystem_FocusGetObj",err,error)
18609  CALL cmfe_handleerror(err,error)
18610  RETURN
18611 
18612  END SUBROUTINE cmfe_coordinatesystem_focusgetobj
18613 
18614  !
18615  !================================================================================================================================
18616  !
18617 
18619  SUBROUTINE cmfe_coordinatesystem_focussetnumber(coordinateSystemUserNumber,focus,err)
18620  !DLLEXPORT(cmfe_CoordinateSystem_FocusSetNumber)
18621 
18622  !Argument variables
18623  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
18624  REAL(DP), INTENT(IN) :: focus
18625  INTEGER(INTG), INTENT(OUT) :: err
18626  !Local variables
18627  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
18628  TYPE(varying_string) :: localError
18629 
18630  enters("cmfe_CoordinateSystem_FocusSetNumber",err,error,*999)
18631 
18632  NULLIFY(coordinate_system)
18633  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
18634  IF(ASSOCIATED(coordinate_system)) THEN
18635  CALL coordinate_system_focus_set(coordinate_system,focus,err,error,*999)
18636  ELSE
18637  localerror="A coordinate system with an user number of "// &
18638  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//" does not exist."
18639  CALL flagerror(localerror,err,error,*999)
18640  END IF
18641 
18642  exits("cmfe_CoordinateSystem_FocusSetNumber")
18643  RETURN
18644 999 errorsexits("cmfe_CoordinateSystem_FocusSetNumber",err,error)
18645  CALL cmfe_handleerror(err,error)
18646  RETURN
18647 
18649 
18650  !
18651  !================================================================================================================================
18652  !
18653 
18655  SUBROUTINE cmfe_coordinatesystem_focussetobj(coordinateSystem,focus,err)
18656  !DLLEXPORT(cmfe_CoordinateSystem_FocusSetObj)
18657 
18658  !Argument variables
18659  TYPE(cmfe_coordinatesystemtype), INTENT(INOUT) :: coordinateSystem
18660  REAL(DP), INTENT(IN) :: focus
18661  INTEGER(INTG), INTENT(OUT) :: err
18662  !Local variables
18663 
18664  enters("cmfe_CoordinateSystem_FocusSetObj",err,error,*999)
18665 
18666  CALL coordinate_system_focus_set(coordinatesystem%coordinateSystem,focus,err,error,*999)
18667 
18668  exits("cmfe_CoordinateSystem_FocusSetObj")
18669  RETURN
18670 999 errorsexits("cmfe_CoordinateSystem_FocusSetObj",err,error)
18671  CALL cmfe_handleerror(err,error)
18672  RETURN
18673 
18674  END SUBROUTINE cmfe_coordinatesystem_focussetobj
18675 
18676  !
18677  !================================================================================================================================
18678  !
18679 
18681  SUBROUTINE cmfe_coordinatesystem_radialinterpolationgetnumber(coordinateSystemUserNumber,radialInterpolationType,err)
18682  !DLLEXPORT(cmfe_CoordinateSystem_RadialInterpolationGetNumber)
18683 
18684  !Argument variables
18685  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
18686  INTEGER(INTG), INTENT(OUT) :: radialInterpolationType
18687  INTEGER(INTG), INTENT(OUT) :: err
18688  !Local variables
18689  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
18690  TYPE(varying_string) :: localError
18691 
18692  enters("cmfe_CoordinateSystem_RadialInterpolationGetNumber",err,error,*999)
18693 
18694  NULLIFY(coordinate_system)
18695  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
18696  IF(ASSOCIATED(coordinate_system)) THEN
18697  CALL coordinates_radialinterpolationtypeget(coordinate_system,radialinterpolationtype,err,error,*999)
18698  ELSE
18699  localerror="A coordinate system with an user number of "// &
18700  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//" does not exist."
18701  CALL flagerror(localerror,err,error,*999)
18702  END IF
18703 
18704  exits("cmfe_CoordinateSystem_RadialInterpolationGetNumber")
18705  RETURN
18706 999 errors("cmfe_CoordinateSystem_RadialInterpolationGetNumber",err,error)
18707  exits("cmfe_CoordinateSystem_RadialInterpolationGetNumber")
18708  CALL cmfe_handleerror(err,error)
18709  RETURN
18710 
18712 
18713  !
18714  !================================================================================================================================
18715  !
18716 
18718  SUBROUTINE cmfe_coordinatesystem_radialinterpolationgetobj(coordinateSystem,radialInterpolationType,err)
18719  !DLLEXPORT(cmfe_CoordinateSystem_RadialInterpolationGetObj)
18720 
18721  !Argument variables
18722  TYPE(cmfe_coordinatesystemtype), INTENT(INOUT) :: coordinateSystem
18723  INTEGER(INTG), INTENT(OUT) :: radialInterpolationType
18724  INTEGER(INTG), INTENT(OUT) :: err
18725  !Local variables
18726 
18727  enters("cmfe_CoordinateSystem_RadialInterpolationGetObj",err,error,*999)
18728 
18729  CALL coordinates_radialinterpolationtypeget(coordinatesystem%coordinateSystem,radialinterpolationtype,err,error,*999)
18730 
18731  exits("cmfe_CoordinateSystem_RadialInterpolationGetObj")
18732  RETURN
18733 999 errors("cmfe_CoordinateSystem_RadialInterpolationGetObj",err,error)
18734  exits("cmfe_CoordinateSystem_RadialInterpolationGetObj")
18735  CALL cmfe_handleerror(err,error)
18736  RETURN
18737 
18739 
18740  !
18741  !================================================================================================================================
18742  !
18743 
18745  SUBROUTINE cmfe_coordinatesystem_radialinterpolationsetnumber(coordinateSystemUserNumber,radialInterpolationType,err)
18746  !DLLEXPORT(cmfe_CoordinateSystem_RadialInterpolationSetNumber)
18747 
18748  !Argument variables
18749  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
18750  INTEGER(INTG), INTENT(IN) :: radialInterpolationType
18751  INTEGER(INTG), INTENT(OUT) :: err
18752  !Local variables
18753  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
18754  TYPE(varying_string) :: localError
18755 
18756  enters("cmfe_CoordinateSystem_RadialInterpolationSetNumber",err,error,*999)
18757 
18758  NULLIFY(coordinate_system)
18759  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
18760  IF(ASSOCIATED(coordinate_system)) THEN
18761  CALL coordinates_radialinterpolationtypeset(coordinate_system,radialinterpolationtype,err,error,*999)
18762  ELSE
18763  localerror="A coordinate system with an user number of "// &
18764  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//" does not exist."
18765  CALL flagerror(localerror,err,error,*999)
18766  END IF
18767 
18768  exits("cmfe_CoordinateSystem_RadialInterpolationSetNumber")
18769  RETURN
18770 999 errors("cmfe_CoordinateSystem_RadialInterpolationSetNumber",err,error)
18771  exits("cmfe_CoordinateSystem_RadialInterpolationSetNumber")
18772  CALL cmfe_handleerror(err,error)
18773  RETURN
18774 
18776 
18777  !
18778  !================================================================================================================================
18779  !
18780 
18782  SUBROUTINE cmfe_coordinatesystem_radialinterpolationsetobj(coordinateSystem,radialInterpolationType,err)
18783  !DLLEXPORT(cmfe_CoordinateSystem_RadialInterpolationSetObj)
18784 
18785  !Argument variables
18786  TYPE(cmfe_coordinatesystemtype), INTENT(INOUT) :: coordinateSystem
18787  INTEGER(INTG), INTENT(IN) :: radialInterpolationType
18788  INTEGER(INTG), INTENT(OUT) :: err
18789  !Local variables
18790 
18791  enters("cmfe_CoordinateSystem_RadialInterpolationSetObj",err,error,*999)
18792 
18793  CALL coordinates_radialinterpolationtypeset(coordinatesystem%coordinateSystem,radialinterpolationtype,err,error,*999)
18794 
18795  exits("cmfe_CoordinateSystem_RadialInterpolationSetObj")
18796  RETURN
18797 999 errors("cmfe_CoordinateSystem_RadialInterpolationSetObj",err,error)
18798  exits("cmfe_CoordinateSystem_RadialInterpolationSetObj")
18799  CALL cmfe_handleerror(err,error)
18800  RETURN
18801 
18803 
18804  !
18805  !================================================================================================================================
18806  !
18807 
18809  SUBROUTINE cmfe_coordinatesystem_typegetnumber(coordinateSystemUserNumber,coordinateSystemType,err)
18810  !DLLEXPORT(cmfe_CoordinateSystem_TypeGetNumber)
18811 
18812  !Argument variables
18813  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
18814  INTEGER(INTG), INTENT(OUT) :: coordinateSystemType
18815  INTEGER(INTG), INTENT(OUT) :: err
18816  !Local variables
18817  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
18818  TYPE(varying_string) :: localError
18819 
18820  enters("cmfe_CoordinateSystem_TypeGetNumber",err,error,*999)
18821 
18822  NULLIFY(coordinate_system)
18823  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
18824  IF(ASSOCIATED(coordinate_system)) THEN
18825  CALL coordinate_system_type_get(coordinate_system,coordinatesystemtype,err,error,*999)
18826  ELSE
18827  localerror="A coordinate system with an user number of "// &
18828  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//" does not exist."
18829  CALL flagerror(localerror,err,error,*999)
18830  END IF
18831 
18832  exits("cmfe_CoordinateSystem_TypeGetNumber")
18833  RETURN
18834 999 errorsexits("cmfe_CoordinateSystem_TypeGetNumber",err,error)
18835  CALL cmfe_handleerror(err,error)
18836  RETURN
18837 
18839 
18840  !
18841  !================================================================================================================================
18842  !
18843 
18845  SUBROUTINE cmfe_coordinatesystem_typegetobj(coordinateSystem,coordinateSystemType,err)
18846  !DLLEXPORT(cmfe_CoordinateSystem_TypeGetObj)
18847 
18848  !Argument variables
18849  TYPE(cmfe_coordinatesystemtype), INTENT(IN) :: coordinateSystem
18850  INTEGER(INTG), INTENT(OUT) :: coordinateSystemType
18851  INTEGER(INTG), INTENT(OUT) :: err
18852  !Local variables
18853 
18854  enters("cmfe_CoordinateSystem_TypeGetObj",err,error,*999)
18855 
18856  CALL coordinate_system_type_get(coordinatesystem%coordinateSystem,coordinatesystemtype,err,error,*999)
18857 
18858  exits("cmfe_CoordinateSystem_TypeGetObj")
18859  RETURN
18860 999 errorsexits("cmfe_CoordinateSystem_TypeGetObj",err,error)
18861  CALL cmfe_handleerror(err,error)
18862  RETURN
18863 
18864  END SUBROUTINE cmfe_coordinatesystem_typegetobj
18865 
18866  !
18867  !================================================================================================================================
18868  !
18869 
18871  SUBROUTINE cmfe_coordinatesystem_typesetnumber(coordinateSystemUserNumber,coordinateSystemType,err)
18872  !DLLEXPORT(cmfe_CoordinateSystem_TypeSetNumber)
18873 
18874  !Argument variables
18875  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
18876  INTEGER(INTG), INTENT(IN) :: coordinateSystemType
18877  INTEGER(INTG), INTENT(OUT) :: err
18878  !Local variables
18879  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
18880  TYPE(varying_string) :: localError
18881 
18882  enters("cmfe_CoordinateSystem_TypeSetNumber",err,error,*999)
18883 
18884  NULLIFY(coordinate_system)
18885  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
18886  IF(ASSOCIATED(coordinate_system)) THEN
18887  CALL coordinate_system_type_set(coordinate_system,coordinatesystemtype,err,error,*999)
18888  ELSE
18889  localerror="A coordinate system with an user number of "// &
18890  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//" does not exist."
18891  CALL flagerror(localerror,err,error,*999)
18892  END IF
18893 
18894  exits("cmfe_CoordinateSystem_TypeSetNumber")
18895  RETURN
18896 999 errorsexits("cmfe_CoordinateSystem_TypeSetNumber",err,error)
18897  CALL cmfe_handleerror(err,error)
18898  RETURN
18899 
18901 
18902  !
18903  !================================================================================================================================
18904  !
18905 
18907  SUBROUTINE cmfe_coordinatesystem_typesetobj(coordinateSystem,coordinateSystemType,err)
18908  !DLLEXPORT(cmfe_CoordinateSystem_TypeSetObj)
18909 
18910  !Argument variables
18911  TYPE(cmfe_coordinatesystemtype), INTENT(INOUT) :: coordinateSystem
18912  INTEGER(INTG), INTENT(IN) :: coordinateSystemType
18913  INTEGER(INTG), INTENT(OUT) :: err
18914  !Local variables
18915 
18916  enters("cmfe_CoordinateSystem_TypeSetObj",err,error,*999)
18917 
18918  CALL coordinate_system_type_set(coordinatesystem%coordinateSystem,coordinatesystemtype,err,error,*999)
18919 
18920  exits("cmfe_CoordinateSystem_TypeSetObj")
18921  RETURN
18922 999 errorsexits("cmfe_CoordinateSystem_TypeSetObj",err,error)
18923  CALL cmfe_handleerror(err,error)
18924  RETURN
18925 
18926  END SUBROUTINE cmfe_coordinatesystem_typesetobj
18927 
18928  !
18929  !================================================================================================================================
18930  !
18931 
18933  SUBROUTINE cmfe_coordinatesystem_origingetnumber(coordinateSystemUserNumber,origin,err)
18934  !DLLEXPORT(cmfe_CoordinateSystem_OriginGetNumber)
18935 
18936  !Argument variables
18937  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
18938  REAL(DP), INTENT(OUT) :: origin(:)
18939  INTEGER(INTG), INTENT(OUT) :: err
18940  !Local variables
18941  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
18942  TYPE(varying_string) :: localError
18943 
18944  enters("cmfe_CoordinateSystem_OriginGetNumber",err,error,*999)
18945 
18946  NULLIFY(coordinate_system)
18947  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
18948  IF(ASSOCIATED(coordinate_system)) THEN
18949  CALL coordinate_system_origin_get(coordinate_system,origin,err,error,*999)
18950  ELSE
18951  localerror="A coordinate system with an user number of "// &
18952  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//" does not exist."
18953  CALL flagerror(localerror,err,error,*999)
18954  END IF
18955 
18956  exits("cmfe_CoordinateSystem_OriginGetNumber")
18957  RETURN
18958 999 errorsexits("cmfe_CoordinateSystem_OriginGetNumber",err,error)
18959  CALL cmfe_handleerror(err,error)
18960  RETURN
18961 
18963 
18964  !
18965  !================================================================================================================================
18966  !
18967 
18969  SUBROUTINE cmfe_coordinatesystem_origingetobj(coordinateSystem,origin,err)
18970  !DLLEXPORT(cmfe_CoordinateSystem_OriginGetObj)
18971 
18972  !Argument variables
18973  TYPE(cmfe_coordinatesystemtype), INTENT(IN) :: coordinateSystem
18974  REAL(DP), INTENT(OUT) :: origin(:)
18975  INTEGER(INTG), INTENT(OUT) :: err
18976  !Local variables
18977 
18978  enters("cmfe_CoordinateSystem_OriginGetObj",err,error,*999)
18979 
18980  CALL coordinate_system_origin_get(coordinatesystem%coordinateSystem,origin,err,error,*999)
18981 
18982  exits("cmfe_CoordinateSystem_OriginGetObj")
18983  RETURN
18984 999 errorsexits("cmfe_CoordinateSystem_OriginGetObj",err,error)
18985  CALL cmfe_handleerror(err,error)
18986  RETURN
18987 
18988  END SUBROUTINE cmfe_coordinatesystem_origingetobj
18989 
18990  !
18991  !================================================================================================================================
18992  !
18993 
18995  SUBROUTINE cmfe_coordinatesystem_originsetnumber(coordinateSystemUserNumber,origin,err)
18996  !DLLEXPORT(cmfe_CoordinateSystem_OriginSetNumber)
18997 
18998  !Argument variables
18999  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
19000  REAL(DP), INTENT(IN) :: origin(:)
19001  INTEGER(INTG), INTENT(OUT) :: err
19002  !Local variables
19003  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
19004  TYPE(varying_string) :: localError
19005 
19006  enters("cmfe_CoordinateSystem_OriginSetNumber",err,error,*999)
19007 
19008  NULLIFY(coordinate_system)
19009  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
19010  IF(ASSOCIATED(coordinate_system)) THEN
19011  CALL coordinate_system_origin_set(coordinate_system,origin,err,error,*999)
19012  ELSE
19013  localerror="A coordinate system with an user number of "// &
19014  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//" does not exist."
19015  CALL flagerror(localerror,err,error,*999)
19016  END IF
19017 
19018  exits("cmfe_CoordinateSystem_OriginSetNumber")
19019  RETURN
19020 999 errorsexits("cmfe_CoordinateSystem_OriginSetNumber",err,error)
19021  CALL cmfe_handleerror(err,error)
19022  RETURN
19023 
19025 
19026  !
19027  !================================================================================================================================
19028  !
19029 
19031  SUBROUTINE cmfe_coordinatesystem_originsetobj(coordinateSystem,origin,err)
19032  !DLLEXPORT(cmfe_CoordinateSystem_OriginSetObj)
19033 
19034  !Argument variables
19035  TYPE(cmfe_coordinatesystemtype), INTENT(IN) :: coordinateSystem
19036  REAL(DP), INTENT(IN) :: origin(:)
19037  INTEGER(INTG), INTENT(OUT) :: err
19038  !Local variables
19039 
19040  enters("cmfe_CoordinateSystem_OriginSetObj",err,error,*999)
19041 
19042  CALL coordinate_system_origin_set(coordinatesystem%coordinateSystem,origin,err,error,*999)
19043 
19044  exits("cmfe_CoordinateSystem_OriginSetObj")
19045  RETURN
19046 999 errorsexits("cmfe_CoordinateSystem_OriginSetObj",err,error)
19047  CALL cmfe_handleerror(err,error)
19048  RETURN
19049 
19050  END SUBROUTINE cmfe_coordinatesystem_originsetobj
19051 
19052  !
19053  !================================================================================================================================
19054  !
19055 
19057  SUBROUTINE cmfe_coordinatesystem_orientationgetnumber(coordinateSystemUserNumber,orientation,err)
19058  !DLLEXPORT(cmfe_CoordinateSystem_OrientationGetNumber)
19059 
19060  !Argument variables
19061  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
19062  REAL(DP), INTENT(OUT) :: orientation(:,:)
19063  INTEGER(INTG), INTENT(OUT) :: err
19064  !Local variables
19065  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
19066  TYPE(varying_string) :: localError
19067 
19068  enters("cmfe_CoordinateSystem_OrientationGetNumber",err,error,*999)
19069 
19070  NULLIFY(coordinate_system)
19071  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
19072  IF(ASSOCIATED(coordinate_system)) THEN
19073  CALL coordinate_system_orientation_get(coordinate_system,orientation,err,error,*999)
19074  ELSE
19075  localerror="A coordinate system with an user number of "// &
19076  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//" does not exist."
19077  CALL flagerror(localerror,err,error,*999)
19078  END IF
19079 
19080  exits("cmfe_CoordinateSystem_OrientationGetNumber")
19081  RETURN
19082 999 errorsexits("cmfe_CoordinateSystem_OrientationGetNumber",err,error)
19083  CALL cmfe_handleerror(err,error)
19084  RETURN
19085 
19087 
19088  !
19089  !================================================================================================================================
19090  !
19091 
19093  SUBROUTINE cmfe_coordinatesystem_orientationgetobj(coordinateSystem,orientation,err)
19094  !DLLEXPORT(cmfe_CoordinateSystem_OrientationGetObj)
19095 
19096  !Argument variables
19097  TYPE(cmfe_coordinatesystemtype), INTENT(IN) :: coordinateSystem
19098  REAL(DP), INTENT(OUT) :: orientation(:,:)
19099  INTEGER(INTG), INTENT(OUT) :: err
19100  !Local variables
19101 
19102  enters("cmfe_CoordinateSystem_OrientationGetObj",err,error,*999)
19103 
19104  CALL coordinate_system_orientation_get(coordinatesystem%coordinateSystem,orientation,err,error,*999)
19105 
19106  exits("cmfe_CoordinateSystem_OrientationGetObj")
19107  RETURN
19108 999 errorsexits("cmfe_CoordinateSystem_OrientationGetObj",err,error)
19109  CALL cmfe_handleerror(err,error)
19110  RETURN
19111 
19113 
19114  !
19115  !================================================================================================================================
19116  !
19117 
19119  SUBROUTINE cmfe_coordinatesystem_orientationsetnumber(coordinateSystemUserNumber,orientation,err)
19120  !DLLEXPORT(cmfe_CoordinateSystem_OrientationSetNumber)
19121 
19122  !Argument variables
19123  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
19124  REAL(DP), INTENT(IN) :: orientation(:,:)
19125  INTEGER(INTG), INTENT(OUT) :: err
19126  !Local variables
19127  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
19128  TYPE(varying_string) :: localError
19129 
19130  enters("cmfe_CoordinateSystem_OrientationSetNumber",err,error,*999)
19131 
19132  NULLIFY(coordinate_system)
19133  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
19134  IF(ASSOCIATED(coordinate_system)) THEN
19135  CALL coordinate_system_orientation_set(coordinate_system,orientation,err,error,*999)
19136  ELSE
19137  localerror="A coordinate system with an user number of "// &
19138  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//" does not exist."
19139  CALL flagerror(localerror,err,error,*999)
19140  END IF
19141 
19142  exits("cmfe_CoordinateSystem_OrientationSetNumber")
19143  RETURN
19144 999 errorsexits("cmfe_CoordinateSystem_OrientationSetNumber",err,error)
19145  CALL cmfe_handleerror(err,error)
19146  RETURN
19147 
19149 
19150  !
19151  !================================================================================================================================
19152  !
19153 
19155  SUBROUTINE cmfe_coordinatesystem_orientationsetobj(coordinateSystem,orientation,err)
19156  !DLLEXPORT(cmfe_CoordinateSystem_OrientationSetObj)
19157 
19158  !Argument variables
19159  TYPE(cmfe_coordinatesystemtype), INTENT(INOUT) :: coordinateSystem
19160  REAL(DP), INTENT(IN) :: orientation(:,:)
19161  INTEGER(INTG), INTENT(OUT) :: err
19162  !Local variables
19163 
19164  enters("cmfe_CoordinateSystem_OrientationSetObj",err,error,*999)
19165 
19166  CALL coordinate_system_orientation_set(coordinatesystem%coordinateSystem,orientation,err,error,*999)
19167 
19168  exits("cmfe_CoordinateSystem_OrientationSetObj")
19169  RETURN
19170 999 errorsexits("cmfe_CoordinateSystem_OrientationSetObj",err,error)
19171  CALL cmfe_handleerror(err,error)
19172  RETURN
19173 
19175 
19176 !!==================================================================================================================================
19177 !!
19178 !! DATA_POINT_ROUTINES
19179 !!
19180 !!==================================================================================================================================
19181 
19183  SUBROUTINE cmfe_datapoints_createfinishnumber(regionUserNumber,err)
19184  !DLLEXPORT(cmfe_DataPoints_CreateFinishNumber)
19185 
19186  !Argument variables
19187  INTEGER(INTG), INTENT(IN) :: regionUserNumber
19188  INTEGER(INTG), INTENT(OUT) :: err
19189  !Local variables
19190  TYPE(data_points_type), POINTER :: DATA_POINTS
19191  TYPE(region_type), POINTER :: REGION
19192  TYPE(varying_string) :: localError
19193 
19194  enters("cmfe_DataPoints_CreateFinishNumber",err,error,*999)
19195 
19196  NULLIFY(region)
19197  NULLIFY(data_points)
19198  CALL region_user_number_find(regionusernumber,region,err,error,*999)
19199  IF(ASSOCIATED(region)) THEN
19200  CALL region_data_points_get(region,data_points,err,error,*999)
19201  CALL data_points_create_finish(data_points,err,error,*999)
19202  ELSE
19203  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
19204  & " does not exist."
19205  CALL flagerror(localerror,err,error,*999)
19206  END IF
19207 
19208  exits("cmfe_DataPoints_CreateFinishNumber")
19209  RETURN
19210 999 errorsexits("cmfe_DataPoints_CreateFinishNumber",err,error)
19211  CALL cmfe_handleerror(err,error)
19212  RETURN
19213 
19214  END SUBROUTINE cmfe_datapoints_createfinishnumber
19215 
19216  !
19217  !================================================================================================================================
19218  !
19219 
19221  SUBROUTINE cmfe_datapoints_createfinishobj(dataPoints,err)
19222  !DLLEXPORT(cmfe_DataPoints_CreateFinishObj)
19223 
19224  !Argument variables
19225  TYPE(cmfe_datapointstype), INTENT(IN) :: dataPoints
19226  INTEGER(INTG), INTENT(OUT) :: err
19227  !Local variables
19228 
19229  enters("cmfe_DataPoints_CreateFinishObj",err,error,*999)
19230 
19231  CALL data_points_create_finish(datapoints%dataPoints,err,error,*999)
19232 
19233  exits("cmfe_DataPoints_CreateFinishObj")
19234  RETURN
19235 999 errorsexits("cmfe_DataPoints_CreateFinishObj",err,error)
19236  CALL cmfe_handleerror(err,error)
19237  RETURN
19238 
19239  END SUBROUTINE cmfe_datapoints_createfinishobj
19240 
19241  !
19242  !================================================================================================================================
19243  !
19244 
19246  SUBROUTINE cmfe_datapoints_createstartnumber(regionUserNumber,numberOfDataPoints,err)
19247  !DLLEXPORT(cmfe_DataPoints_CreateStartNumber)
19248 
19249  !Argument variables
19250  INTEGER(INTG), INTENT(IN) :: regionUserNumber
19251  INTEGER(INTG), INTENT(IN) :: numberOfDataPoints
19252  INTEGER(INTG), INTENT(OUT) :: err
19253  !Local variables
19254  TYPE(data_points_type), POINTER :: DATA_POINTS
19255  TYPE(region_type), POINTER :: REGION
19256  TYPE(varying_string) :: localError
19257 
19258  enters("cmfe_DataPoints_CreateStartNumber",err,error,*999)
19259 
19260  NULLIFY(region)
19261  NULLIFY(data_points)
19262  CALL region_user_number_find(regionusernumber,region,err,error,*999)
19263  IF(ASSOCIATED(region)) THEN
19264  CALL data_points_create_start(region,numberofdatapoints,data_points,err,error,*999)
19265  ELSE
19266  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
19267  & " does not exist."
19268  CALL flagerror(localerror,err,error,*999)
19269  END IF
19270 
19271  exits("cmfe_DataPoints_CreateStartNumber")
19272  RETURN
19273 999 errorsexits("cmfe_DataPoints_CreateStartNumber",err,error)
19274  CALL cmfe_handleerror(err,error)
19275  RETURN
19276 
19277  END SUBROUTINE cmfe_datapoints_createstartnumber
19278 
19279  !
19280  !================================================================================================================================
19281  !
19282 
19284  SUBROUTINE cmfe_datapoints_createstartobj(region,numberOfDataPoints,dataPoints,err)
19285  !DLLEXPORT(cmfe_DataPoints_CreateStartObj)
19286 
19287  !Argument variables
19288  TYPE(cmfe_regiontype), INTENT(IN) :: region
19289  INTEGER(INTG), INTENT(IN) :: numberOfDataPoints
19290  TYPE(cmfe_datapointstype), INTENT(INOUT) :: dataPoints
19291  INTEGER(INTG), INTENT(OUT) :: err
19292  !Local variables
19293 
19294  enters("cmfe_DataPoints_CreateStartObj",err,error,*999)
19295 
19296  CALL data_points_create_start(region%region,numberofdatapoints,datapoints%dataPoints,err,error,*999)
19297 
19298  exits("cmfe_DataPoints_CreateStartObj")
19299  RETURN
19300 999 errorsexits("cmfe_DataPoints_CreateStartObj",err,error)
19301  CALL cmfe_handleerror(err,error)
19302  RETURN
19303 
19304  END SUBROUTINE cmfe_datapoints_createstartobj
19305 
19306  !
19307  !================================================================================================================================
19308  !
19309 
19311  SUBROUTINE cmfe_datapoints_createstartinterfaceobj(interface,numberOfDataPoints,dataPoints,err)
19312  !DLLEXPORT(cmfe_DataPoints_CreateStartInterfaceObj)
19313 
19314  !Argument variables
19315  TYPE(cmfe_interfacetype), INTENT(IN) :: interface
19316  INTEGER(INTG), INTENT(IN) :: numberOfDataPoints
19317  TYPE(cmfe_datapointstype), INTENT(IN) :: dataPoints
19318  INTEGER(INTG), INTENT(OUT) :: err
19319  !Local variables
19320 
19321  enters("cmfe_DataPoints_CreateStartInterfaceObj",err,error,*999)
19322 
19323 #ifdef TAUPROF
19324  CALL tau_static_phase_start('dataPoints Create')
19325 #endif
19326 
19327  CALL data_points_create_start(interface%interface,numberofdatapoints,datapoints%dataPoints,err,error,*999)
19328 
19329  exits("cmfe_DataPoints_CreateStartInterfaceObj")
19330  RETURN
19331 999 errorsexits("cmfe_DataPoints_CreateStartInterfaceObj",err,error)
19332  CALL cmfe_handleerror(err,error)
19333  RETURN
19334 
19336 
19337 
19338  !
19339  !================================================================================================================================
19340  !
19341 
19343  SUBROUTINE cmfe_datapoints_destroynumber(regionUserNumber,err)
19344  !DLLEXPORT(cmfe_DataPoints_DestroyNumber)
19345 
19346  !Argument variables
19347  INTEGER(INTG), INTENT(IN) :: regionUserNumber
19348  INTEGER(INTG), INTENT(OUT) :: err
19349  !Local variables
19350  TYPE(data_points_type), POINTER :: DATA_POINTS
19351  TYPE(region_type), POINTER :: REGION
19352  TYPE(varying_string) :: localError
19353 
19354  enters("cmfe_DataPoints_DestroyNumber",err,error,*999)
19355 
19356  NULLIFY(region)
19357  NULLIFY(data_points)
19358  CALL region_user_number_find(regionusernumber,region,err,error,*999)
19359  IF(ASSOCIATED(region)) THEN
19360  CALL region_data_points_get(region,data_points,err,error,*999)
19361  CALL data_points_destroy(data_points,err,error,*999)
19362  ELSE
19363  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
19364  & " does not exist."
19365  CALL flagerror(localerror,err,error,*999)
19366  END IF
19367 
19368  exits("cmfe_DataPoints_DestroyNumber")
19369  RETURN
19370 999 errorsexits("cmfe_DataPoints_DestroyNumber",err,error)
19371  CALL cmfe_handleerror(err,error)
19372  RETURN
19373 
19374  END SUBROUTINE cmfe_datapoints_destroynumber
19375 
19376  !
19377  !================================================================================================================================
19378  !
19379 
19381  SUBROUTINE cmfe_datapoints_destroyobj(dataPoints,err)
19382  !DLLEXPORT(cmfe_DataPoints_DestroyObj)
19383 
19384  !Argument variables
19385  TYPE(cmfe_datapointstype), INTENT(IN) :: dataPoints
19386  INTEGER(INTG), INTENT(OUT) :: err
19387  !Local variables
19388 
19389  enters("cmfe_DataPoints_DestroyObj",err,error,*999)
19390 
19391  CALL data_points_destroy(datapoints%dataPoints,err,error,*999)
19392 
19393  exits("cmfe_DataPoints_DestroyObj")
19394  RETURN
19395 999 errorsexits("cmfe_DataPoints_DestroyObj",err,error)
19396  CALL cmfe_handleerror(err,error)
19397  RETURN
19398 
19399  END SUBROUTINE cmfe_datapoints_destroyobj
19400 
19401  !
19402  !================================================================================================================================
19403  !
19404 
19406  SUBROUTINE cmfe_datapoints_numberofdatapointsgetnumber(regionUserNumber,numberOfDataPoints,err)
19407  !DLLEXPORT(cmfe_DataPoints_NumberOfDataPointsGetNumber)
19408 
19409  !Argument variables
19410  INTEGER(INTG), INTENT(IN) :: regionUserNumber
19411  INTEGER(INTG), INTENT(OUT) :: numberOfDataPoints
19412  INTEGER(INTG), INTENT(OUT) :: err
19413  !Local variables
19414  TYPE(data_points_type), POINTER :: DATA_POINTS
19415  TYPE(region_type), POINTER :: REGION
19416  TYPE(varying_string) :: localError
19417 
19418  enters("cmfe_DataPoints_NumberOfDataPointsGetNumber",err,error,*999)
19419 
19420  NULLIFY(region)
19421  NULLIFY(data_points)
19422  CALL region_user_number_find(regionusernumber,region,err,error,*999)
19423  IF(ASSOCIATED(region)) THEN
19424  CALL region_data_points_get(region,data_points,err,error,*999)
19425  CALL data_points_number_of_data_points_get(data_points,numberofdatapoints,err,error,*999)
19426  ELSE
19427  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
19428  & " does not exist."
19429  CALL flagerror(localerror,err,error,*999)
19430  END IF
19431 
19432  exits("cmfe_DataPoints_NumberOfDataPointsGetNumber")
19433  RETURN
19434 999 errorsexits("cmfe_DataPoints_NumberOfDataPointsGetNumber",err,error)
19435  CALL cmfe_handleerror(err,error)
19436  RETURN
19437 
19439 
19440  !
19441  !================================================================================================================================
19442  !
19443 
19445  SUBROUTINE cmfe_datapoints_numberofdatapointsgetobj(dataPoints,numberOfDataPoints,err)
19446  !DLLEXPORT(cmfe_DataPoints_NumberOfDataPointsGetObj)
19447 
19448  !Argument variables
19449  TYPE(cmfe_datapointstype), INTENT(IN) :: dataPoints
19450  INTEGER(INTG), INTENT(OUT) :: numberOfDataPoints
19451  INTEGER(INTG), INTENT(OUT) :: err
19452  !Local variables
19453 
19454  enters("cmfe_DataPoints_NumberOfDataPointsGetObj",err,error,*999)
19455 
19456  CALL data_points_number_of_data_points_get(datapoints%dataPoints,numberofdatapoints,err,error,*999)
19457 
19458  exits("cmfe_DataPoints_NumberOfDataPointsGetObj")
19459  RETURN
19460 999 errorsexits("cmfe_DataPoints_NumberOfDataPointsGetObj",err,error)
19461  CALL cmfe_handleerror(err,error)
19462  RETURN
19463 
19465 
19466 
19467  !
19468  !================================================================================================================================
19469  !
19470 
19472  SUBROUTINE cmfe_datapoints_labelgetcnumber(regionUserNumber,dataPointGlobalNumber,label,err)
19473  !DLLEXPORT(cmfe_DataPoints_LabelGetCNumber)
19474 
19475  !Argument variables
19476  INTEGER(INTG), INTENT(IN) :: regionUserNumber
19477  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19478  CHARACTER(LEN=*), INTENT(OUT) :: label
19479  INTEGER(INTG), INTENT(OUT) :: err
19480  !Local variables
19481  TYPE(data_points_type), POINTER :: DATA_POINTS
19482  TYPE(region_type), POINTER :: REGION
19483  TYPE(varying_string) :: localError
19484 
19485  enters("cmfe_DataPoints_LabelGetCNumber",err,error,*999)
19486 
19487  NULLIFY(region)
19488  NULLIFY(data_points)
19489  CALL region_user_number_find(regionusernumber,region,err,error,*999)
19490  IF(ASSOCIATED(region)) THEN
19491  CALL region_data_points_get(region,data_points,err,error,*999)
19492  CALL data_points_label_get(data_points,datapointglobalnumber,label,err,error,*999)
19493  ELSE
19494  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
19495  & " does not exist."
19496  CALL flagerror(localerror,err,error,*999)
19497  END IF
19498 
19499  exits("cmfe_DataPoints_LabelGetCNumber")
19500  RETURN
19501 999 errorsexits("cmfe_DataPoints_LabelGetCNumber",err,error)
19502  CALL cmfe_handleerror(err,error)
19503  RETURN
19504 
19505  END SUBROUTINE cmfe_datapoints_labelgetcnumber
19506 
19507  !
19508  !================================================================================================================================
19509  !
19510 
19512  SUBROUTINE cmfe_datapoints_labelgetcobj(dataPoints,dataPointGlobalNumber,label,err)
19513  !DLLEXPORT(cmfe_DataPoints_LabelGetCObj)
19514 
19515  !Argument variables
19516  TYPE(cmfe_datapointstype), INTENT(IN) :: dataPoints
19517  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19518  CHARACTER(LEN=*), INTENT(OUT) :: label
19519  INTEGER(INTG), INTENT(OUT) :: err
19520  !Local variables
19521 
19522  enters("cmfe_DataPoints_LabelGetCObj",err,error,*999)
19523 
19524  CALL data_points_label_get(datapoints%dataPoints,datapointglobalnumber,label,err,error,*999)
19525 
19526  exits("cmfe_DataPoints_LabelGetCObj")
19527  RETURN
19528 999 errorsexits("cmfe_DataPoints_LabelGetCObj",err,error)
19529  CALL cmfe_handleerror(err,error)
19530  RETURN
19531 
19532  END SUBROUTINE cmfe_datapoints_labelgetcobj
19533 
19534  !
19535  !================================================================================================================================
19536  !
19537 
19539  SUBROUTINE cmfe_datapoints_labelgetvsnumber(regionUserNumber,dataPointGlobalNumber,label,err)
19540  !DLLEXPORT(cmfe_DataPoints_LabelGetVSNumber)
19541 
19542  !Argument variables
19543  INTEGER(INTG), INTENT(IN) :: regionUserNumber
19544  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19545  TYPE(varying_string), INTENT(OUT) :: label
19546  INTEGER(INTG), INTENT(OUT) :: err
19547  !Local variables
19548  TYPE(data_points_type), POINTER :: DATA_POINTS
19549  TYPE(region_type), POINTER :: REGION
19550  TYPE(varying_string) :: localError
19551 
19552  enters("cmfe_DataPoints_LabelGetVSNumber",err,error,*999)
19553 
19554  NULLIFY(region)
19555  NULLIFY(data_points)
19556  CALL region_user_number_find(regionusernumber,region,err,error,*999)
19557  IF(ASSOCIATED(region)) THEN
19558  CALL region_data_points_get(region,data_points,err,error,*999)
19559  CALL data_points_label_get(data_points,datapointglobalnumber,label,err,error,*999)
19560  ELSE
19561  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
19562  & " does not exist."
19563  CALL flagerror(localerror,err,error,*999)
19564  END IF
19565 
19566  exits("cmfe_DataPoints_LabelGetVSNumber")
19567  RETURN
19568 999 errorsexits("cmfe_DataPoints_LabelGetVSNumber",err,error)
19569  CALL cmfe_handleerror(err,error)
19570  RETURN
19571 
19572  END SUBROUTINE cmfe_datapoints_labelgetvsnumber
19573 
19574  !
19575  !================================================================================================================================
19576  !
19577 
19579  SUBROUTINE cmfe_datapoints_labelgetvsobj(dataPoints,dataPointGlobalNumber,label,err)
19580  !DLLEXPORT(cmfe_DataPoints_LabelGetVSObj)
19581 
19582  !Argument variables
19583  TYPE(cmfe_datapointstype), INTENT(IN) :: dataPoints
19584  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19585  TYPE(varying_string), INTENT(OUT) :: label
19586  INTEGER(INTG), INTENT(OUT) :: err
19587  !Local variables
19588 
19589  enters("cmfe_DataPoints_LabelGetVSObj",err,error,*999)
19590 
19591  CALL data_points_label_get(datapoints%dataPoints,datapointglobalnumber,label,err,error,*999)
19592 
19593  exits("cmfe_DataPoints_LabelGetVSObj")
19594  RETURN
19595 999 errorsexits("cmfe_DataPoints_LabelGetVSObj",err,error)
19596  CALL cmfe_handleerror(err,error)
19597  RETURN
19598 
19599  END SUBROUTINE cmfe_datapoints_labelgetvsobj
19600 
19601  !
19602  !================================================================================================================================
19603  !
19604 
19606  SUBROUTINE cmfe_datapoints_labelsetcnumber(regionUserNumber,dataPointGlobalNumber,label,err)
19607  !DLLEXPORT(cmfe_DataPoints_LabelSetCNumber)
19608 
19609  !Argument variables
19610  INTEGER(INTG), INTENT(IN) :: regionUserNumber
19611  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19612  CHARACTER(LEN=*), INTENT(IN) :: label
19613  INTEGER(INTG), INTENT(OUT) :: err
19614  !Local variables
19615  TYPE(data_points_type), POINTER :: DATA_POINTS
19616  TYPE(region_type), POINTER :: REGION
19617  TYPE(varying_string) :: localError
19618 
19619  enters("cmfe_DataPoints_LabelSetCNumber",err,error,*999)
19620 
19621  NULLIFY(region)
19622  NULLIFY(data_points)
19623  CALL region_user_number_find(regionusernumber,region,err,error,*999)
19624  IF(ASSOCIATED(region)) THEN
19625  CALL region_data_points_get(region,data_points,err,error,*999)
19626  CALL data_points_label_set(data_points,datapointglobalnumber,label,err,error,*999)
19627  ELSE
19628  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
19629  & " does not exist."
19630  CALL flagerror(localerror,err,error,*999)
19631  END IF
19632 
19633  exits("cmfe_DataPoints_LabelSetCNumber")
19634  RETURN
19635 999 errorsexits("cmfe_DataPoints_LabelSetCNumber",err,error)
19636  CALL cmfe_handleerror(err,error)
19637  RETURN
19638 
19639  END SUBROUTINE cmfe_datapoints_labelsetcnumber
19640 
19641  !
19642  !================================================================================================================================
19643  !
19644 
19646  SUBROUTINE cmfe_datapoints_labelsetcobj(dataPoints,dataPointGlobalNumber,label,err)
19647  !DLLEXPORT(cmfe_DataPoints_LabelSetCObj)
19648 
19649  !Argument variables
19650  TYPE(cmfe_datapointstype), INTENT(IN) :: dataPoints
19651  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19652  CHARACTER(LEN=*), INTENT(IN) :: label
19653  INTEGER(INTG), INTENT(OUT) :: err
19654  !Local variables
19655 
19656  enters("cmfe_DataPoints_LabelSetCObj",err,error,*999)
19657 
19658  CALL data_points_label_set(datapoints%dataPoints,datapointglobalnumber,label,err,error,*999)
19659 
19660  exits("cmfe_DataPoints_LabelSetCObj")
19661  RETURN
19662 999 errorsexits("cmfe_DataPoints_LabelSetCObj",err,error)
19663  CALL cmfe_handleerror(err,error)
19664  RETURN
19665 
19666  END SUBROUTINE cmfe_datapoints_labelsetcobj
19667 
19668  !
19669  !================================================================================================================================
19670  !
19671 
19673  SUBROUTINE cmfe_datapoints_labelsetvsnumber(regionUserNumber,dataPointGlobalNumber,label,err)
19674  !DLLEXPORT(cmfe_DataPoints_LabelSetVSNumber)
19675 
19676  !Argument variables
19677  INTEGER(INTG), INTENT(IN) :: regionUserNumber
19678  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19679  TYPE(varying_string), INTENT(IN) :: label
19680  INTEGER(INTG), INTENT(OUT) :: err
19681  !Local variables
19682  TYPE(data_points_type), POINTER :: DATA_POINTS
19683  TYPE(region_type), POINTER :: REGION
19684  TYPE(varying_string) :: localError
19685 
19686  enters("cmfe_DataPoints_LabelSetVSNumber",err,error,*999)
19687 
19688  NULLIFY(region)
19689  NULLIFY(data_points)
19690  CALL region_user_number_find(regionusernumber,region,err,error,*999)
19691  IF(ASSOCIATED(region)) THEN
19692  CALL region_data_points_get(region,data_points,err,error,*999)
19693  CALL data_points_label_set(data_points,datapointglobalnumber,label,err,error,*999)
19694  ELSE
19695  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
19696  & " does not exist."
19697  CALL flagerror(localerror,err,error,*999)
19698  END IF
19699 
19700  exits("cmfe_DataPoints_LabelSetVSNumber")
19701  RETURN
19702 999 errorsexits("cmfe_DataPoints_LabelSetVSNumber",err,error)
19703  CALL cmfe_handleerror(err,error)
19704  RETURN
19705 
19706  END SUBROUTINE cmfe_datapoints_labelsetvsnumber
19707 
19708  !
19709  !================================================================================================================================
19710  !
19711 
19713  SUBROUTINE cmfe_datapoints_labelsetvsobj(dataPoints,dataPointGlobalNumber,label,err)
19714  !DLLEXPORT(cmfe_DataPoints_LabelSetVSObj)
19715 
19716  !Argument variables
19717  TYPE(cmfe_datapointstype), INTENT(IN) :: dataPoints
19718  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19719  TYPE(varying_string), INTENT(IN) :: label
19720  INTEGER(INTG), INTENT(OUT) :: err
19721  !Local variables
19722 
19723  enters("cmfe_DataPoints_LabelSetVSObj",err,error,*999)
19724 
19725  CALL data_points_label_set(datapoints%dataPoints,datapointglobalnumber,label,err,error,*999)
19726 
19727  exits("cmfe_DataPoints_LabelSetVSObj")
19728  RETURN
19729 999 errorsexits("cmfe_DataPoints_LabelSetVSObj",err,error)
19730  CALL cmfe_handleerror(err,error)
19731  RETURN
19732 
19733  END SUBROUTINE cmfe_datapoints_labelsetvsobj
19734 
19735  !
19736  !================================================================================================================================
19737  !
19738 
19740  SUBROUTINE cmfe_datapoints_usernumbergetnumber(regionUserNumber,dataPointGlobalNumber,dataPointUserNumber,err)
19741  !DLLEXPORT(cmfe_DataPoints_UserNumberGetNumber)
19742 
19743  !Argument variables
19744  INTEGER(INTG), INTENT(IN) :: regionUserNumber
19745  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19746  INTEGER(INTG), INTENT(OUT) :: dataPointUserNumber
19747  INTEGER(INTG), INTENT(OUT) :: err
19748  !Local variables
19749  TYPE(data_points_type), POINTER :: DATA_POINTS
19750  TYPE(region_type), POINTER :: REGION
19751  TYPE(varying_string) :: localError
19752 
19753  enters("cmfe_DataPoints_UserNumberGetNumber",err,error,*999)
19754 
19755  NULLIFY(region)
19756  NULLIFY(data_points)
19757  CALL region_user_number_find(regionusernumber,region,err,error,*999)
19758  IF(ASSOCIATED(region)) THEN
19759  CALL region_data_points_get(region,data_points,err,error,*999)
19760  CALL data_points_user_number_get(data_points,datapointglobalnumber,datapointusernumber,err,error,*999)
19761  ELSE
19762  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
19763  & " does not exist."
19764  CALL flagerror(localerror,err,error,*999)
19765  END IF
19766 
19767  exits("cmfe_DataPoints_UserNumberGetNumber")
19768  RETURN
19769 999 errorsexits("cmfe_DataPoints_UserNumberGetNumber",err,error)
19770  CALL cmfe_handleerror(err,error)
19771  RETURN
19772 
19774 
19775  !
19776  !================================================================================================================================
19777  !
19778 
19780  SUBROUTINE cmfe_datapoints_usernumbergetobj(dataPoints,dataPointGlobalNumber,dataPointUserNumber,err)
19781  !DLLEXPORT(cmfe_DataPoints_UserNumberGetObj)
19782 
19783  !Argument variables
19784  TYPE(cmfe_datapointstype), INTENT(IN) :: dataPoints
19785  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19786  INTEGER(INTG), INTENT(OUT) :: dataPointUserNumber
19787  INTEGER(INTG), INTENT(OUT) :: err
19788  !Local variables
19789 
19790  enters("cmfe_DataPoints_UserNumberGetObj",err,error,*999)
19791 
19792  CALL data_points_user_number_get(datapoints%dataPoints,datapointglobalnumber,datapointusernumber,err,error,*999)
19793 
19794  exits("cmfe_DataPoints_UserNumberGetObj")
19795  RETURN
19796 999 errorsexits("cmfe_DataPoints_UserNumberGetObj",err,error)
19797  CALL cmfe_handleerror(err,error)
19798  RETURN
19799 
19800  END SUBROUTINE cmfe_datapoints_usernumbergetobj
19801 
19802  !
19803  !================================================================================================================================
19804  !
19805 
19807  SUBROUTINE cmfe_datapoints_usernumbersetnumber(regionUserNumber,dataPointGlobalNumber,dataPointUserNumber,err)
19808  !DLLEXPORT(cmfe_DataPoints_UserNumberSetNumber)
19809 
19810  !Argument variables
19811  INTEGER(INTG), INTENT(IN) :: regionUserNumber
19812  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19813  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
19814  INTEGER(INTG), INTENT(OUT) :: err
19815  !Local variables
19816  TYPE(data_points_type), POINTER :: DATA_POINTS
19817  TYPE(region_type), POINTER :: REGION
19818  TYPE(varying_string) :: localError
19819 
19820  enters("cmfe_DataPoints_UserNumberSetNumber",err,error,*999)
19821 
19822  NULLIFY(region)
19823  NULLIFY(data_points)
19824  CALL region_user_number_find(regionusernumber,region,err,error,*999)
19825  IF(ASSOCIATED(region)) THEN
19826  CALL region_data_points_get(region,data_points,err,error,*999)
19827  CALL data_points_user_number_set(data_points,datapointglobalnumber,datapointusernumber,err,error,*999)
19828  ELSE
19829  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
19830  & " does not exist."
19831  CALL flagerror(localerror,err,error,*999)
19832  END IF
19833 
19834  exits("cmfe_DataPoints_UserNumberSetNumber")
19835  RETURN
19836 999 errorsexits("cmfe_DataPoints_UserNumberSetNumber",err,error)
19837  CALL cmfe_handleerror(err,error)
19838  RETURN
19839 
19841 
19842  !
19843  !================================================================================================================================
19844  !
19845 
19847  SUBROUTINE cmfe_datapoints_usernumbersetobj(dataPoints,dataPointGlobalNumber,dataPointUserNumber,err)
19848  !DLLEXPORT(cmfe_DataPoints_UserNumberSetObj)
19849 
19850  !Argument variables
19851  TYPE(cmfe_datapointstype), INTENT(IN) :: dataPoints
19852  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19853  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
19854  INTEGER(INTG), INTENT(OUT) :: err
19855  !Local variables
19856 
19857  enters("cmfe_DataPoints_UserNumberSetObj",err,error,*999)
19858 
19859  CALL data_points_user_number_set(datapoints%dataPoints,datapointglobalnumber,datapointusernumber,err,error,*999)
19860 
19861  exits("cmfe_DataPoints_UserNumberSetObj")
19862  RETURN
19863 999 errorsexits("cmfe_DataPoints_UserNumberSetObj",err,error)
19864  CALL cmfe_handleerror(err,error)
19865  RETURN
19866 
19867  END SUBROUTINE cmfe_datapoints_usernumbersetobj
19868 
19869  !
19870  !================================================================================================================================
19871  !
19872 
19874  SUBROUTINE cmfe_datapoints_valuesgetnumber(regionUserNumber,dataPointGlobalNumber,dataPointValues,err)
19875  !DLLEXPORT(cmfe_DataPoints_ValuesGetNumber)
19876 
19877  !Argument variables
19878  INTEGER(INTG), INTENT(IN) :: regionUserNumber
19879  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19880  REAL(DP), INTENT(OUT) :: dataPointValues(:)
19881  INTEGER(INTG), INTENT(OUT) :: err
19882  !Local variables
19883  TYPE(data_points_type), POINTER :: DATA_POINTS
19884  TYPE(region_type), POINTER :: REGION
19885  TYPE(varying_string) :: localError
19886 
19887  enters("cmfe_DataPoints_ValuesGetNumber",err,error,*999)
19888 
19889  NULLIFY(region)
19890  NULLIFY(data_points)
19891  CALL region_user_number_find(regionusernumber,region,err,error,*999)
19892  IF(ASSOCIATED(region)) THEN
19893  CALL region_data_points_get(region,data_points,err,error,*999)
19894  CALL data_points_values_get(data_points,datapointglobalnumber,datapointvalues,err,error,*999)
19895  ELSE
19896  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
19897  & " does not exist."
19898  CALL flagerror(localerror,err,error,*999)
19899  END IF
19900 
19901  exits("cmfe_DataPoints_ValuesGetNumber")
19902  RETURN
19903 999 errorsexits("cmfe_DataPoints_ValuesGetNumber",err,error)
19904  CALL cmfe_handleerror(err,error)
19905  RETURN
19906 
19907  END SUBROUTINE cmfe_datapoints_valuesgetnumber
19908 
19909  !
19910  !================================================================================================================================
19911  !
19912 
19914  SUBROUTINE cmfe_datapoints_valuesgetobj(dataPoints,dataPointGlobalNumber,dataPointValues,err)
19915  !DLLEXPORT(cmfe_DataPoints_ValuesGetObj)
19916 
19917  !Argument variables
19918  TYPE(cmfe_datapointstype), INTENT(IN) :: dataPoints
19919  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19920  REAL(DP), INTENT(OUT) :: dataPointValues(:)
19921  INTEGER(INTG), INTENT(OUT) :: err
19922  !Local variables
19923 
19924  enters("cmfe_DataPoints_ValuesGetObj",err,error,*999)
19925 
19926  CALL data_points_values_get(datapoints%dataPoints,datapointglobalnumber,datapointvalues,err,error,*999)
19927 
19928  exits("cmfe_DataPoints_ValuesGetObj")
19929  RETURN
19930 999 errorsexits("cmfe_DataPoints_ValuesGetObj",err,error)
19931  CALL cmfe_handleerror(err,error)
19932  RETURN
19933 
19934  END SUBROUTINE cmfe_datapoints_valuesgetobj
19935 
19936  !
19937  !================================================================================================================================
19938  !
19939 
19941  SUBROUTINE cmfe_datapoints_valuessetnumber(regionUserNumber,dataPointGlobalNumber,dataPointValues,err)
19942  !DLLEXPORT(cmfe_DataPoints_ValuesSetNumber)
19943 
19944  !Argument variables
19945  INTEGER(INTG), INTENT(IN) :: regionUserNumber
19946  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19947  REAL(DP), INTENT(IN) :: dataPointValues(:)
19948  INTEGER(INTG), INTENT(OUT) :: err
19949  !Local variables
19950  TYPE(data_points_type), POINTER :: DATA_POINTS
19951  TYPE(region_type), POINTER :: REGION
19952  TYPE(varying_string) :: localError
19953 
19954  enters("cmfe_DataPoints_ValuesSetNumber",err,error,*999)
19955 
19956  NULLIFY(region)
19957  NULLIFY(data_points)
19958  CALL region_user_number_find(regionusernumber,region,err,error,*999)
19959  IF(ASSOCIATED(region)) THEN
19960  CALL region_data_points_get(region,data_points,err,error,*999)
19961  CALL data_points_values_set(data_points,datapointglobalnumber,datapointvalues,err,error,*999)
19962  ELSE
19963  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
19964  & " does not exist."
19965  CALL flagerror(localerror,err,error,*999)
19966  END IF
19967 
19968  exits("cmfe_DataPoints_ValuesSetNumber")
19969  RETURN
19970 999 errorsexits("cmfe_DataPoints_ValuesSetNumber",err,error)
19971  CALL cmfe_handleerror(err,error)
19972  RETURN
19973 
19974  END SUBROUTINE cmfe_datapoints_valuessetnumber
19975 
19976  !
19977  !================================================================================================================================
19978  !
19979 
19981  SUBROUTINE cmfe_datapoints_valuessetobj(dataPoints,dataPointGlobalNumber,dataPointValues,err)
19982  !DLLEXPORT(cmfe_DataPoints_ValuesSetObj)
19983 
19984  !Argument variables
19985  TYPE(cmfe_datapointstype), INTENT(IN) :: dataPoints
19986  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
19987  REAL(DP), INTENT(IN) :: dataPointValues(:)
19988  INTEGER(INTG), INTENT(OUT) :: err
19989  !Local variables
19990 
19991  enters("cmfe_DataPoints_ValuesSetObj",err,error,*999)
19992 
19993  CALL data_points_values_set(datapoints%dataPoints,datapointglobalnumber,datapointvalues,err,error,*999)
19994 
19995  exits("cmfe_DataPoints_ValuesSetObj")
19996  RETURN
19997 999 errorsexits("cmfe_DataPoints_ValuesSetObj",err,error)
19998  CALL cmfe_handleerror(err,error)
19999  RETURN
20000 
20001  END SUBROUTINE cmfe_datapoints_valuessetobj
20002 
20003  !
20004  !================================================================================================================================
20005  !
20006 
20008  SUBROUTINE cmfe_datapoints_weightsgetnumber(regionUserNumber,dataPointGlobalNumber,dataPointWeights,err)
20009  !DLLEXPORT(cmfe_DataPoints_WeightsGetNumber)
20010 
20011  !Argument variables
20012  INTEGER(INTG), INTENT(IN) :: regionUserNumber
20013  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
20014  REAL(DP), INTENT(OUT) :: dataPointWeights(:)
20015  INTEGER(INTG), INTENT(OUT) :: err
20016  !Local variables
20017  TYPE(data_points_type), POINTER :: DATA_POINTS
20018  TYPE(region_type), POINTER :: REGION
20019  TYPE(varying_string) :: localError
20020 
20021  enters("cmfe_DataPoints_WeightsGetNumber",err,error,*999)
20022 
20023  NULLIFY(region)
20024  NULLIFY(data_points)
20025  CALL region_user_number_find(regionusernumber,region,err,error,*999)
20026  IF(ASSOCIATED(region)) THEN
20027  CALL region_data_points_get(region,data_points,err,error,*999)
20028  CALL data_points_weights_get(data_points,datapointglobalnumber,datapointweights,err,error,*999)
20029  ELSE
20030  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
20031  & " does not exist."
20032  CALL flagerror(localerror,err,error,*999)
20033  END IF
20034 
20035  exits("cmfe_DataPoints_WeightsGetNumber")
20036  RETURN
20037 999 errorsexits("cmfe_DataPoints_WeightsGetNumber",err,error)
20038  CALL cmfe_handleerror(err,error)
20039  RETURN
20040 
20041  END SUBROUTINE cmfe_datapoints_weightsgetnumber
20042 
20043  !
20044  !================================================================================================================================
20045  !
20046 
20048  SUBROUTINE cmfe_datapoints_weightsgetobj(dataPoints,dataPointGlobalNumber,dataPointWeights,err)
20049  !DLLEXPORT(cmfe_DataPoints_WeightsGetObj)
20050 
20051  !Argument variables
20052  TYPE(cmfe_datapointstype), INTENT(IN) :: dataPoints
20053  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
20054  REAL(DP), INTENT(OUT) :: dataPointWeights(:)
20055  INTEGER(INTG), INTENT(OUT) :: err
20056  !Local variables
20057 
20058  enters("cmfe_DataPoints_WeightsGetObj",err,error,*999)
20059 
20060  CALL data_points_weights_get(datapoints%dataPoints,datapointglobalnumber,datapointweights,err,error,*999)
20061 
20062  exits("cmfe_DataPoints_WeightsGetObj")
20063  RETURN
20064 999 errorsexits("cmfe_DataPoints_WeightsGetObj",err,error)
20065  CALL cmfe_handleerror(err,error)
20066  RETURN
20067 
20068  END SUBROUTINE cmfe_datapoints_weightsgetobj
20069 
20070  !
20071  !================================================================================================================================
20072  !
20073 
20075  SUBROUTINE cmfe_datapoints_weightssetnumber(regionUserNumber,dataPointGlobalNumber,dataPointWeights,err)
20076  !DLLEXPORT(cmfe_DataPoints_WeightsSetNumber)
20077 
20078  !Argument variables
20079  INTEGER(INTG), INTENT(IN) :: regionUserNumber
20080  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
20081  REAL(DP), INTENT(IN) :: dataPointWeights(:)
20082  INTEGER(INTG), INTENT(OUT) :: err
20083  !Local variables
20084  TYPE(data_points_type), POINTER :: DATA_POINTS
20085  TYPE(region_type), POINTER :: REGION
20086  TYPE(varying_string) :: localError
20087 
20088  enters("cmfe_DataPoints_WeightsSetNumber",err,error,*999)
20089 
20090  NULLIFY(region)
20091  NULLIFY(data_points)
20092  CALL region_user_number_find(regionusernumber,region,err,error,*999)
20093  IF(ASSOCIATED(region)) THEN
20094  CALL region_data_points_get(region,data_points,err,error,*999)
20095  CALL data_points_weights_set(data_points,datapointglobalnumber,datapointweights,err,error,*999)
20096  ELSE
20097  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
20098  & " does not exist."
20099  CALL flagerror(localerror,err,error,*999)
20100  END IF
20101 
20102  exits("cmfe_DataPoints_WeightsSetNumber")
20103  RETURN
20104 999 errorsexits("cmfe_DataPoints_WeightsSetNumber",err,error)
20105  CALL cmfe_handleerror(err,error)
20106  RETURN
20107 
20108  END SUBROUTINE cmfe_datapoints_weightssetnumber
20109 
20110  !
20111  !================================================================================================================================
20112  !
20113 
20115  SUBROUTINE cmfe_datapoints_weightssetobj(dataPoints,dataPointGlobalNumber,dataPointWeights,err)
20116  !DLLEXPORT(cmfe_DataPoints_WeightsSetObj)
20117 
20118  !Argument variables
20119  TYPE(cmfe_datapointstype), INTENT(IN) :: dataPoints
20120  INTEGER(INTG), INTENT(IN) :: dataPointGlobalNumber
20121  REAL(DP), INTENT(IN) :: dataPointWeights(:)
20122  INTEGER(INTG), INTENT(OUT) :: err
20123  !Local variables
20124 
20125  enters("cmfe_DataPoints_WeightsSetObj",err,error,*999)
20126 
20127  CALL data_points_weights_set(datapoints%dataPoints,datapointglobalnumber,datapointweights,err,error,*999)
20128 
20129  exits("cmfe_DataPoints_WeightsSetObj")
20130  RETURN
20131 999 errorsexits("cmfe_DataPoints_WeightsSetObj",err,error)
20132  CALL cmfe_handleerror(err,error)
20133  RETURN
20134 
20135  END SUBROUTINE cmfe_datapoints_weightssetobj
20136 
20137 !!==================================================================================================================================
20138 !!
20139 !! DATA_PROJECTION_ROUTINES
20140 !!
20141 !!==================================================================================================================================
20142 
20144  SUBROUTINE cmfe_dataprojection_absolutetolerancegetnumber(dataProjectionUserNumber,regionUserNumber,absoluteTolerance,err)
20145  !DLLEXPORT(cmfe_DataProjection_AbsoluteToleranceGetNumber)
20146 
20147  !Argument variables
20148  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
20149  INTEGER(INTG), INTENT(IN) :: regionUserNumber
20150  REAL(DP), INTENT(OUT) :: absoluteTolerance
20151  INTEGER(INTG), INTENT(OUT) :: err
20152  !Local variables
20153  TYPE(region_type), POINTER :: REGION
20154  TYPE(data_points_type), POINTER :: DATA_POINTS
20155  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
20156  TYPE(varying_string) :: localError
20157  INTEGER(INTG) :: GLOBAL_NUMBER
20158 
20159  enters("cmfe_DataProjection_AbsoluteToleranceGetNumber",err,error,*999)
20160 
20161  NULLIFY(region)
20162  NULLIFY(data_points)
20163  NULLIFY(data_projection)
20164  CALL region_user_number_find(regionusernumber,region,err,error,*999)
20165  IF(ASSOCIATED(region)) THEN
20166  CALL region_data_points_get(region,data_points,err,error,*999)
20167  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
20168  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
20169  CALL data_projection_absolute_tolerance_get(data_projection,absolutetolerance,err,error,*999)
20170  ELSE
20171  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
20172  & " does not exist."
20173  CALL flagerror(localerror,err,error,*999)
20174  END IF
20175 
20176  exits("cmfe_DataProjection_AbsoluteToleranceGetNumber")
20177  RETURN
20178 999 errors("cmfe_DataProjection_AbsoluteToleranceGetNumber",err,error)
20179  exits("cmfe_DataProjection_AbsoluteToleranceGetNumber")
20180  CALL cmfe_handleerror(err,error)
20181  RETURN
20182 
20184 
20185  !
20186  !================================================================================================================================
20187  !
20188 
20190  SUBROUTINE cmfe_dataprojection_absolutetolerancegetobj(dataProjection,absoluteTolerance,err)
20191  !DLLEXPORT(cmfe_DataProjection_AbsoluteToleranceGetObj)
20192 
20193  !Argument variables
20194  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
20195  REAL(DP), INTENT(OUT) :: absoluteTolerance
20196  INTEGER(INTG), INTENT(OUT) :: err
20197  !Local variables
20198 
20199  enters("cmfe_DataProjection_AbsoluteToleranceGetObj",err,error,*999)
20200 
20201  CALL data_projection_absolute_tolerance_get(dataprojection%dataProjection,absolutetolerance,err,error,*999)
20202 
20203  exits("cmfe_DataProjection_AbsoluteToleranceGetObj")
20204  RETURN
20205 999 errorsexits("cmfe_DataProjection_AbsoluteToleranceGetObj",err,error)
20206  CALL cmfe_handleerror(err,error)
20207  RETURN
20208 
20210 
20211  !
20212  !================================================================================================================================
20213  !
20214 
20216  SUBROUTINE cmfe_dataprojection_absolutetolerancesetnumber(dataProjectionUserNumber,regionUserNumber,absoluteTolerance,err)
20217  !DLLEXPORT(cmfe_DataProjection_AbsoluteToleranceSetNumber)
20218 
20219  !Argument variables
20220  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
20221  INTEGER(INTG), INTENT(IN) :: regionUserNumber
20222  REAL(DP), INTENT(IN) :: absoluteTolerance
20223  INTEGER(INTG), INTENT(OUT) :: err
20224  !Local variables
20225  TYPE(region_type), POINTER :: REGION
20226  TYPE(data_points_type), POINTER :: DATA_POINTS
20227  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
20228  TYPE(varying_string) :: localError
20229  INTEGER(INTG) :: GLOBAL_NUMBER
20230 
20231  enters("cmfe_DataProjection_AbsoluteToleranceSetNumber",err,error,*999)
20232 
20233  NULLIFY(region)
20234  NULLIFY(data_points)
20235  NULLIFY(data_projection)
20236  CALL region_user_number_find(regionusernumber,region,err,error,*999)
20237  IF(ASSOCIATED(region)) THEN
20238  CALL region_data_points_get(region,data_points,err,error,*999)
20239  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
20240  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
20241  CALL data_projection_absolute_tolerance_set(data_projection,absolutetolerance,err,error,*999)
20242  ELSE
20243  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
20244  & " does not exist."
20245  CALL flagerror(localerror,err,error,*999)
20246  END IF
20247 
20248  exits("cmfe_DataProjection_AbsoluteToleranceSetNumber")
20249  RETURN
20250 999 errors("cmfe_DataProjection_AbsoluteToleranceSetNumber",err,error)
20251  exits("cmfe_DataProjection_AbsoluteToleranceSetNumber")
20252  CALL cmfe_handleerror(err,error)
20253  RETURN
20254 
20256 
20257  !
20258  !================================================================================================================================
20259  !
20260 
20262  SUBROUTINE cmfe_dataprojection_absolutetolerancesetobj(dataProjection,absoluteTolerance,err)
20263  !DLLEXPORT(cmfe_DataProjection_AbsoluteToleranceSetObj)
20264 
20265  !Argument variables
20266  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
20267  REAL(DP), INTENT(IN) :: absoluteTolerance
20268  INTEGER(INTG), INTENT(OUT) :: err
20269  !Local variables
20270 
20271  enters("cmfe_DataProjection_AbsoluteToleranceSetObj",err,error,*999)
20272 
20273  CALL data_projection_absolute_tolerance_set(dataprojection%dataProjection,absolutetolerance,err,error,*999)
20274 
20275  exits("cmfe_DataProjection_AbsoluteToleranceSetObj")
20276  RETURN
20277 999 errorsexits("cmfe_DataProjection_AbsoluteToleranceSetObj",err,error)
20278  CALL cmfe_handleerror(err,error)
20279  RETURN
20280 
20282 
20283  !
20284  !================================================================================================================================
20285  !
20286 
20288  SUBROUTINE cmfe_dataprojection_createfinishnumber(dataProjectionUserNumber,regionUserNumber,err)
20289  !DLLEXPORT(cmfe_DataProjection_CreateFinishNumber)
20290 
20291  !Argument variables
20292  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
20293  INTEGER(INTG), INTENT(IN) :: regionUserNumber
20294  INTEGER(INTG), INTENT(OUT) :: err
20295  !Local variables
20296  TYPE(region_type), POINTER :: REGION
20297  TYPE(data_points_type), POINTER :: DATA_POINTS
20298  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
20299  TYPE(varying_string) :: localError
20300  INTEGER(INTG) :: GLOBAL_NUMBER
20301 
20302  enters("cmfe_DataProjection_CreateFinishNumber",err,error,*999)
20303 
20304  NULLIFY(region)
20305  NULLIFY(data_points)
20306  NULLIFY(data_projection)
20307  CALL region_user_number_find(regionusernumber,region,err,error,*999)
20308  IF(ASSOCIATED(region)) THEN
20309  CALL region_data_points_get(region,data_points,err,error,*999)
20310  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
20311  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
20312  CALL data_projection_create_finish(data_projection,err,error,*999)
20313  ELSE
20314  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
20315  & " does not exist."
20316  CALL flagerror(localerror,err,error,*999)
20317  END IF
20318 
20319  exits("cmfe_DataProjection_CreateFinishNumber")
20320  RETURN
20321 999 errorsexits("cmfe_DataProjection_CreateFinishNumber",err,error)
20322  CALL cmfe_handleerror(err,error)
20323  RETURN
20324 
20326 
20327  !
20328  !================================================================================================================================
20329  !
20330 
20332  SUBROUTINE cmfe_dataprojection_createfinishobj(dataProjection,err)
20333  !DLLEXPORT(cmfe_DataProjection_CreateFinishObj)
20334 
20335  !Argument variables
20336  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
20337  INTEGER(INTG), INTENT(OUT) :: err
20338  !Local variables
20339 
20340  enters("cmfe_DataProjection_CreateFinishObj",err,error,*999)
20341 
20342  CALL data_projection_create_finish(dataprojection%dataProjection,err,error,*999)
20343 
20344  exits("cmfe_DataProjection_CreateFinishObj")
20345  RETURN
20346 999 errorsexits("cmfe_DataProjection_CreateFinishObj",err,error)
20347  CALL cmfe_handleerror(err,error)
20348  RETURN
20349 
20351 
20352  !
20353  !================================================================================================================================
20354  !
20355 
20357  SUBROUTINE cmfe_dataprojection_createstartnumber(dataProjectionUserNumber,dataPointRegionUserNumber,meshUserNumber, &
20358  & meshregionusernumber,err)
20359  !DLLEXPORT(cmfe_DataProjection_CreateStartNumber)
20360 
20361  !Argument variables
20362  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
20363  INTEGER(INTG), INTENT(IN) :: dataPointRegionUserNumber
20364  INTEGER(INTG), INTENT(IN) :: meshUserNumber
20365  INTEGER(INTG), INTENT(IN) :: meshRegionUserNumber
20366  INTEGER(INTG), INTENT(OUT) :: err
20367  !Local variables
20368  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
20369  TYPE(data_points_type), POINTER :: DATA_POINTS
20370  TYPE(mesh_type), POINTER :: MESH
20371  TYPE(region_type), POINTER :: DATA_POINTS_REGION
20372  TYPE(region_type), POINTER :: MESH_REGION
20373  TYPE(varying_string) :: localError
20374 
20375  enters("cmfe_DataProjection_CreateStartNumber",err,error,*999)
20376 
20377  NULLIFY(data_projection)
20378  NULLIFY(data_points)
20379  NULLIFY(mesh)
20380  NULLIFY(data_points_region)
20381  NULLIFY(mesh_region)
20382  CALL region_user_number_find(datapointregionusernumber,data_points_region,err,error,*999)
20383  CALL region_user_number_find(meshregionusernumber,mesh_region,err,error,*999)
20384  IF(ASSOCIATED(data_points_region)) THEN
20385  IF(ASSOCIATED(mesh_region)) THEN
20386  CALL mesh_user_number_find(meshusernumber,mesh_region,mesh,err,error,*999)
20387  IF(ASSOCIATED(mesh)) THEN
20388  CALL region_data_points_get(data_points_region,data_points,err,error,*999)
20389  CALL data_projection_create_start_data_points(dataprojectionusernumber,data_points,mesh,data_projection,err, &
20390  & error,*999)
20391  ELSE
20392  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
20393  & " does not exist."
20394  CALL flagerror(localerror,err,error,*999)
20395  ENDIF
20396  ELSE
20397  localerror="A region with an user number of "//trim(numbertovstring(meshregionusernumber,"*",err,error))// &
20398  & " does not exist."
20399  CALL flagerror(localerror,err,error,*999)
20400  ENDIF
20401  ELSE
20402  localerror="A region with an user number of "//trim(numbertovstring(datapointregionusernumber,"*",err,error))// &
20403  & " does not exist."
20404  CALL flagerror(localerror,err,error,*999)
20405  ENDIF
20406 
20407  exits("cmfe_DataProjection_CreateStartNumber")
20408  RETURN
20409 999 errorsexits("cmfe_DataProjection_CreateStartNumber",err,error)
20410  CALL cmfe_handleerror(err,error)
20411  RETURN
20412 
20414 
20415  !
20416  !================================================================================================================================
20417  !
20418 
20420  SUBROUTINE cmfe_dataprojection_createstartobj(dataProjectionUserNumber,dataPoints,mesh,dataProjection,err)
20421  !DLLEXPORT(cmfe_DataProjection_CreateStartObj)
20422 
20423  !Argument variables
20424  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
20425  TYPE(cmfe_datapointstype), INTENT(IN) :: dataPoints
20426  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
20427  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
20428  INTEGER(INTG), INTENT(OUT) :: err
20429  !Local variables
20430 
20431  enters("cmfe_DataProjection_CreateStartObj",err,error,*999)
20432 
20433  CALL data_projection_create_start_data_points(dataprojectionusernumber,datapoints%dataPoints,mesh%mesh, &
20434  & dataprojection%dataProjection,err,error,*999)
20435 
20436  exits("cmfe_DataProjection_CreateStartObj")
20437  RETURN
20438 999 errorsexits("cmfe_DataProjection_CreateStartObj",err,error)
20439  CALL cmfe_handleerror(err,error)
20440  RETURN
20441 
20442  END SUBROUTINE cmfe_dataprojection_createstartobj
20443 
20444  !
20445  !================================================================================================================================
20446  !
20447 
20449  SUBROUTINE cmfe_dataprojection_destroynumber(dataProjectionUserNumber,regionUserNumber,err)
20450  !DLLEXPORT(cmfe_DataProjection_DestroyNumber)
20451 
20452  !Argument variables
20453  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
20454  INTEGER(INTG), INTENT(IN) :: regionUserNumber
20455  INTEGER(INTG), INTENT(OUT) :: err
20456  !Local variables
20457  TYPE(region_type), POINTER :: REGION
20458  TYPE(data_points_type), POINTER :: DATA_POINTS
20459  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
20460  TYPE(varying_string) :: localError
20461  INTEGER(INTG) :: GLOBAL_NUMBER
20462 
20463  enters("cmfe_DataProjection_DestroyNumber",err,error,*999)
20464 
20465  NULLIFY(region)
20466  NULLIFY(data_points)
20467  NULLIFY(data_projection)
20468  CALL region_user_number_find(regionusernumber,region,err,error,*999)
20469  IF(ASSOCIATED(region)) THEN
20470  CALL region_data_points_get(region,data_points,err,error,*999)
20471  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
20472  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
20473  CALL data_projection_destroy(data_projection,err,error,*999)
20474  ELSE
20475  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
20476  & " does not exist."
20477  CALL flagerror(localerror,err,error,*999)
20478  END IF
20479 
20480  exits("cmfe_DataProjection_DestroyNumber")
20481  RETURN
20482 999 errorsexits("cmfe_DataProjection_DestroyNumber",err,error)
20483  CALL cmfe_handleerror(err,error)
20484  RETURN
20485 
20486  END SUBROUTINE cmfe_dataprojection_destroynumber
20487 
20488  !
20489  !================================================================================================================================
20490  !
20491 
20493  SUBROUTINE cmfe_dataprojection_destroyobj(dataProjection,err)
20494  !DLLEXPORT(cmfe_DataProjection_DestroyObj)
20495 
20496  !Argument variables
20497  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
20498  INTEGER(INTG), INTENT(OUT) :: err
20499  !Local variables
20500 
20501  enters("cmfe_DataProjection_DestroyObj",err,error,*999)
20502 
20503  CALL data_projection_destroy(dataprojection%dataProjection,err,error,*999)
20504 
20505  exits("cmfe_DataProjection_DestroyObj")
20506  RETURN
20507 999 errorsexits("cmfe_DataProjection_DestroyObj",err,error)
20508  CALL cmfe_handleerror(err,error)
20509  RETURN
20510 
20511  END SUBROUTINE cmfe_dataprojection_destroyobj
20512 
20513  !
20514  !================================================================================================================================
20515  !
20516 
20518  SUBROUTINE cmfe_dataprojection_datapointspositionevaluateregionnumber(dataProjectionUserNumber,regionUserNumber, &
20519  & fieldusernumber,fieldvariabletype,err)
20520  !DLLEXPORT(cmfe_DataProjection_DataPointsPositionEvaluateRegionNumber)
20521 
20522  !Argument variables
20523  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
20524  INTEGER(INTG), INTENT(IN) :: regionUserNumber
20525  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
20526  INTEGER(INTG), INTENT(IN) :: fieldVariableType
20527  INTEGER(INTG), INTENT(OUT) :: err
20528  !Local variables
20529  TYPE(data_projection_type), POINTER :: dataProjection
20530  TYPE(data_points_type), POINTER :: dataPoints
20531  TYPE(field_type), POINTER :: field
20532  TYPE(region_type), POINTER :: region
20533  INTEGER(INTG) :: dataProjectionGlobalNumber
20534  TYPE(varying_string) :: localError
20535 
20536  enters("cmfe_DataProjection_DataPointsPositionEvaluateRegionNumber",err,error,*999)
20537 
20538  NULLIFY(dataprojection)
20539  NULLIFY(datapoints)
20540  NULLIFY(field)
20541  NULLIFY(region)
20542  CALL region_user_number_find(regionusernumber,region,err,error,*999)
20543  IF(ASSOCIATED(region)) THEN
20544  CALL region_data_points_get(region,datapoints,err,error,*999)
20545  CALL datapoints_dataprojectionglobalnumberget(datapoints,dataprojectionusernumber,dataprojectionglobalnumber, &
20546  & err,error,*999)
20547  CALL data_points_data_projection_get(datapoints,dataprojectionglobalnumber,dataprojection,err,error,*999)
20548  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
20549  IF(ASSOCIATED(field)) THEN
20550  CALL dataprojection_datapointspositionevaluate(dataprojection,field,fieldvariabletype,err,error,*999)
20551  ELSE
20552  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
20553  & " does not exist."
20554  CALL flagerror(localerror,err,error,*999)
20555  ENDIF
20556  ELSE
20557  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
20558  & " does not exist."
20559  CALL flagerror(localerror,err,error,*999)
20560  END IF
20561 
20562  exits("cmfe_DataProjection_DataPointsPositionEvaluateRegionNumber")
20563  RETURN
20564 999 errors("cmfe_DataProjection_DataPointsPositionEvaluateRegionNumber",err,error)
20565  exits("cmfe_DataProjection_DataPointsPositionEvaluateRegionNumber")
20566  CALL cmfe_handleerror(err,error)
20567  RETURN
20568 
20570 
20571  !
20572  !================================================================================================================================
20573  !
20574 
20576  SUBROUTINE cmfe_dataprojection_datapointspositionevaluateinterfacenumber(dataProjectionUserNumber, &
20577  & parentregionusernumber,interfaceusernumber,fieldusernumber,fieldvariabletype,err)
20578  !DLLEXPORT(cmfe_DataProjection_DataPointsPositionEvaluateInterfaceNumber)
20579 
20580  !Argument variables
20581  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
20582  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
20583  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
20584  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
20585  INTEGER(INTG), INTENT(IN) :: fieldVariableType
20586  INTEGER(INTG), INTENT(OUT) :: err
20587  !Local variables
20588  TYPE(data_projection_type), POINTER :: dataProjection
20589  TYPE(data_points_type), POINTER :: dataPoints
20590  TYPE(field_type), POINTER :: field
20591  TYPE(region_type), POINTER :: parentRegion
20592  TYPE(interface_type), POINTER :: interface
20593  INTEGER(INTG) :: dataProjectionGlobalNumber
20594  TYPE(varying_string) :: localError
20595 
20596  enters("cmfe_DataProjection_DataPointsPositionEvaluateInterfaceNumber",err,error,*999)
20597 
20598  NULLIFY(dataprojection)
20599  NULLIFY(datapoints)
20600  NULLIFY(field)
20601  NULLIFY(parentregion)
20602  NULLIFY(interface)
20603  CALL region_user_number_find(parentregionusernumber,parentregion,err,error,*999)
20604  IF(ASSOCIATED(parentregion)) THEN
20605  CALL interface_user_number_find(interfaceusernumber,parentregion,interface,err,error,*999)
20606  IF(ASSOCIATED(interface)) THEN
20607  CALL interface_data_points_get(interface,datapoints,err,error,*999)
20608  CALL datapoints_dataprojectionglobalnumberget(datapoints,dataprojectionusernumber,dataprojectionglobalnumber, &
20609  & err,error,*999)
20610  CALL data_points_data_projection_get(datapoints,dataprojectionglobalnumber,dataprojection,err,error,*999)
20611  CALL field_user_number_find(fieldusernumber,interface,field,err,error,*999)
20612  IF(ASSOCIATED(field)) THEN
20613  CALL dataprojection_datapointspositionevaluate(dataprojection,field,fieldvariabletype,err,error,*999)
20614  ELSE
20615  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
20616  & " does not exist."
20617  CALL flagerror(localerror,err,error,*999)
20618  ENDIF
20619  ELSE
20620  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
20621  & " does not exist."
20622  CALL flagerror(localerror,err,error,*999)
20623  ENDIF
20624  ELSE
20625  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
20626  & " does not exist."
20627  CALL flagerror(localerror,err,error,*999)
20628  ENDIF
20629 
20630  exits("cmfe_DataProjection_DataPointsPositionEvaluateInterfaceNumber")
20631  RETURN
20632 999 errors("cmfe_DataProjection_DataPointsPositionEvaluateInterfaceNumber",err,error)
20633  exits("cmfe_DataProjection_DataPointsPositionEvaluateInterfaceNumber")
20634  CALL cmfe_handleerror(err,error)
20635  RETURN
20636 
20638 
20639  !
20640  !================================================================================================================================
20641  !
20642 
20644  SUBROUTINE cmfe_dataprojection_datapointspositionevaluateobj(dataProjection,field,fieldVariableType,err)
20645  !DLLEXPORT(cmfe_DataProjection_DataPointsPositionEvaluateObj)
20646 
20647  !Argument variables
20648  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
20649  TYPE(cmfe_fieldtype), INTENT(IN) :: field
20650  INTEGER(INTG), INTENT(IN) :: fieldVariableType
20651  INTEGER(INTG), INTENT(OUT) :: err
20652  !Local variables
20653 
20654  enters("cmfe_DataProjection_DataPointsPositionEvaluateObj",err,error,*999)
20655 
20656  CALL dataprojection_datapointspositionevaluate(dataprojection%dataProjection,field%field,fieldvariabletype,err,error,*999)
20657 
20658  exits("cmfe_DataProjection_DataPointsPositionEvaluateObj")
20659  RETURN
20660 999 errors("cmfe_DataProjection_DataPointsPositionEvaluateObj",err,error)
20661  exits("cmfe_DataProjection_DataPointsPositionEvaluateObj")
20662  CALL cmfe_handleerror(err,error)
20663  RETURN
20664 
20666 
20667  !
20668  !================================================================================================================================
20669  !
20670 
20672  SUBROUTINE cmfe_dataprojection_projectioncandidatessetregionnumber(dataProjectionUserNumber,regionUserNumber, &
20673  & candidateelements,localfacelinenumbers,err)
20674  !DLLEXPORT(cmfe_DataProjection_ProjectionCandidatesSetRegionNumber)
20675 
20676  !Argument variables
20677  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
20678  INTEGER(INTG), INTENT(IN) :: regionUserNumber
20679  INTEGER(INTG), INTENT(IN) :: candidateElements(:)
20680  INTEGER(INTG), INTENT(IN) :: localFaceLineNumbers(:)
20681  INTEGER(INTG), INTENT(OUT) :: err
20682  !Local variables
20683  TYPE(data_projection_type), POINTER :: dataProjection
20684  TYPE(data_points_type), POINTER :: dataPoints
20685  TYPE(region_type), POINTER :: region
20686  INTEGER(INTG) :: dataProjectionGlobalNumber
20687  TYPE(varying_string) :: localError
20688 
20689  enters("cmfe_DataProjection_ProjectionCandidatesSetRegionNumber",err,error,*999)
20690 
20691  NULLIFY(dataprojection)
20692  NULLIFY(datapoints)
20693  NULLIFY(region)
20694  CALL region_user_number_find(regionusernumber,region,err,error,*999)
20695  IF(ASSOCIATED(region)) THEN
20696  CALL region_data_points_get(region,datapoints,err,error,*999)
20697  CALL datapoints_dataprojectionglobalnumberget(datapoints,dataprojectionusernumber,dataprojectionglobalnumber, &
20698  & err,error,*999)
20699  CALL data_points_data_projection_get(datapoints,dataprojectionglobalnumber,dataprojection,err,error,*999)
20700  CALL dataprojection_projectioncandidatesset(dataprojection,candidateelements,localfacelinenumbers,err,error,*999)
20701  ELSE
20702  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
20703  & " does not exist."
20704  CALL flagerror(localerror,err,error,*999)
20705  END IF
20706 
20707  exits("cmfe_DataProjection_ProjectionCandidatesSetRegionNumber")
20708  RETURN
20709 999 errors("cmfe_DataProjection_ProjectionCandidatesSetRegionNumber",err,error)
20710  exits("cmfe_DataProjection_ProjectionCandidatesSetRegionNumber")
20711  CALL cmfe_handleerror(err,error)
20712  RETURN
20713 
20715 
20716  !
20717  !================================================================================================================================
20718  !
20719 
20721  SUBROUTINE cmfe_dataprojection_projectioncandidatessetinterfacenumber(dataProjectionUserNumber, &
20722  & parentregionusernumber,interfaceusernumber,candidateelements,localfacelinenumbers,err)
20723  !DLLEXPORT(cmfe_DataProjection_ProjectionCandidatesSetInterfaceNumber)
20724 
20725  !Argument variables
20726  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
20727  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
20728  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
20729  INTEGER(INTG), INTENT(IN) :: candidateElements(:)
20730  INTEGER(INTG), INTENT(IN) :: localFaceLineNumbers(:)
20731  INTEGER(INTG), INTENT(OUT) :: err
20732  !Local variables
20733  TYPE(data_projection_type), POINTER :: dataProjection
20734  TYPE(data_points_type), POINTER :: dataPoints
20735  TYPE(region_type), POINTER :: parentRegion
20736  TYPE(interface_type), POINTER :: interface
20737  INTEGER(INTG) :: dataProjectionGlobalNumber
20738  TYPE(varying_string) :: localError
20739 
20740  enters("cmfe_DataProjection_ProjectionCandidatesSetInterfaceNumber",err,error,*999)
20741 
20742  NULLIFY(dataprojection)
20743  NULLIFY(datapoints)
20744  NULLIFY(parentregion)
20745  NULLIFY(interface)
20746  CALL region_user_number_find(parentregionusernumber,parentregion,err,error,*999)
20747  IF(ASSOCIATED(parentregion)) THEN
20748  CALL interface_user_number_find(interfaceusernumber,parentregion,interface,err,error,*999)
20749  IF(ASSOCIATED(interface)) THEN
20750  CALL interface_data_points_get(interface,datapoints,err,error,*999)
20751  CALL datapoints_dataprojectionglobalnumberget(datapoints,dataprojectionusernumber,dataprojectionglobalnumber, &
20752  & err,error,*999)
20753  CALL data_points_data_projection_get(datapoints,dataprojectionglobalnumber,dataprojection,err,error,*999)
20754  CALL dataprojection_projectioncandidatesset(dataprojection,candidateelements,localfacelinenumbers,err,error,*999)
20755  ELSE
20756  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
20757  & " does not exist."
20758  CALL flagerror(localerror,err,error,*999)
20759  ENDIF
20760  ELSE
20761  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
20762  & " does not exist."
20763  CALL flagerror(localerror,err,error,*999)
20764  ENDIF
20765 
20766  exits("cmfe_DataProjection_ProjectionCandidatesSetInterfaceNumber")
20767  RETURN
20768 999 errors("cmfe_DataProjection_ProjectionCandidatesSetInterfaceNumber",err,error)
20769  exits("cmfe_DataProjection_ProjectionCandidatesSetInterfaceNumber")
20770  CALL cmfe_handleerror(err,error)
20771  RETURN
20772 
20774 
20775  !
20776  !================================================================================================================================
20777  !
20778 
20780  SUBROUTINE cmfe_dataprojection_projectioncandidatessetobj(dataProjection,candidateElements,localFaceLineNumbers,err)
20781  !DLLEXPORT(cmfe_DataProjection_ProjectionCandidatesSetObj)
20782 
20783  !Argument variables
20784  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
20785  INTEGER(INTG), INTENT(IN) :: candidateElements(:)
20786  INTEGER(INTG), INTENT(IN) :: localFaceLineNumbers(:)
20787  INTEGER(INTG), INTENT(OUT) :: err
20788  !Local variables
20789 
20790  enters("cmfe_DataProjection_ProjectionCandidatesSetObj",err,error,*999)
20791 
20792  CALL dataprojection_projectioncandidatesset(dataprojection%dataProjection,candidateelements,localfacelinenumbers, &
20793  & err,error,*999)
20794 
20795  exits("cmfe_DataProjection_ProjectionCandidatesSetObj")
20796  RETURN
20797 999 errors("cmfe_DataProjection_ProjectionCandidatesSetObj",err,error)
20798  exits("cmfe_DataProjection_ProjectionCandidatesSetObj")
20799  CALL cmfe_handleerror(err,error)
20800  RETURN
20801 
20803 
20804  !
20805  !================================================================================================================================
20806  !
20807 
20809  SUBROUTINE cmfe_dataprojection_datapointsprojectionevaluatenumber(dataProjectionUserNumber,dataPointsRegionUserNumber, &
20810  & projectionfieldusernumber,projectionfieldregionusernumber,err)
20811  !DLLEXPORT(cmfe_DataProjection_DataPointsProjectionEvaluateNumber)
20812 
20813  !Argument variables
20814  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
20815  INTEGER(INTG), INTENT(IN) :: dataPointsRegionUserNumber
20816  INTEGER(INTG), INTENT(IN) :: projectionFieldUserNumber
20817  INTEGER(INTG), INTENT(IN) :: projectionFieldRegionUserNumber
20818  INTEGER(INTG), INTENT(OUT) :: err
20819  !Local variables
20820  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
20821  TYPE(data_points_type), POINTER :: DATA_POINTS
20822  TYPE(field_type), POINTER :: PROJECTION_FIELD
20823  TYPE(region_type), POINTER :: DATA_POINTS_REGION
20824  TYPE(region_type), POINTER :: PROJECTION_FIELD_REGION
20825  INTEGER(INTG) :: GLOBAL_NUMBER
20826  TYPE(varying_string) :: localError
20827 
20828  enters("cmfe_DataProjection_DataPointsProjectionEvaluateNumber",err,error,*999)
20829 
20830  NULLIFY(data_projection)
20831  NULLIFY(data_points)
20832  NULLIFY(projection_field)
20833  NULLIFY(data_points_region)
20834  NULLIFY(projection_field_region)
20835  CALL region_user_number_find(datapointsregionusernumber,data_points_region,err,error,*999)
20836  CALL region_user_number_find(projectionfieldregionusernumber,projection_field_region,err,error,*999)
20837  IF(ASSOCIATED(data_points_region)) THEN
20838  CALL region_data_points_get(data_points_region,data_points,err,error,*999)
20839  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
20840  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
20841  IF(ASSOCIATED(projection_field_region)) THEN
20842  CALL field_user_number_find(projectionfieldusernumber,projection_field_region,projection_field,err,error,*999)
20843  IF(ASSOCIATED(projection_field)) THEN
20844  CALL dataprojection_datapointsprojectionevaluate(data_projection,projection_field,err,error,*999)
20845  ELSE
20846  localerror="A field with an user number of "//trim(numbertovstring(projectionfieldusernumber,"*",err,error))// &
20847  & " does not exist."
20848  CALL flagerror(localerror,err,error,*999)
20849  ENDIF
20850  ELSE
20851  localerror="A region with an user number of "//trim(numbertovstring(projectionfieldregionusernumber,"*",err,error))// &
20852  & " does not exist."
20853  CALL flagerror(localerror,err,error,*999)
20854  ENDIF
20855  ELSE
20856  localerror="A region with an user number of "//trim(numbertovstring(datapointsregionusernumber,"*",err,error))// &
20857  & " does not exist."
20858  CALL flagerror(localerror,err,error,*999)
20859  END IF
20860 
20861  exits("cmfe_DataProjection_DataPointsProjectionEvaluateNumber")
20862  RETURN
20863 999 errors("cmfe_DataProjection_DataPointsProjectionEvaluateNumber",err,error)
20864  exits("cmfe_DataProjection_DataPointsProjectionEvaluateNumber")
20865  CALL cmfe_handleerror(err,error)
20866  RETURN
20867 
20869 
20870 
20871  !
20872  !================================================================================================================================
20873  !
20874 
20876  SUBROUTINE cmfe_dataprojection_datapointsprojectionevaluateobj(dataProjection,projectionField,err)
20877  !DLLEXPORT(cmfe_DataProjection_DataPointsProjectionEvaluateObj)
20878 
20879  !Argument variables
20880  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
20881  TYPE(cmfe_fieldtype), INTENT(IN) :: projectionField
20882  INTEGER(INTG), INTENT(OUT) :: err
20883  !Local variables
20884 
20885  enters("cmfe_DataProjection_DataPointsProjectionEvaluateObj",err,error,*999)
20886 
20887  CALL dataprojection_datapointsprojectionevaluate(dataprojection%dataProjection,projectionfield%field,err,error,*999)
20888 
20889  exits("cmfe_DataProjection_DataPointsProjectionEvaluateObj")
20890  RETURN
20891 999 errors("cmfe_DataProjection_DataPointsProjectionEvaluateObj",err,error)
20892  exits("cmfe_DataProjection_DataPointsProjectionEvaluateObj")
20893  CALL cmfe_handleerror(err,error)
20894  RETURN
20895 
20897 
20898  !
20899  !================================================================================================================================
20900  !
20901 
20903  SUBROUTINE cmfe_dataprojection_maximumiterationupdategetnumber(dataProjectionUserNumber,regionUserNumber, &
20904  & maximumiterationupdate,err)
20905  !DLLEXPORT(cmfe_DataProjection_MaximumIterationUpdateGetNumber)
20906 
20907  !Argument variables
20908  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
20909  INTEGER(INTG), INTENT(IN) :: regionUserNumber
20910  REAL(DP), INTENT(OUT) :: maximumIterationUpdate
20911  INTEGER(INTG), INTENT(OUT) :: err
20912  !Local variables
20913  TYPE(region_type), POINTER :: REGION
20914  TYPE(data_points_type), POINTER :: DATA_POINTS
20915  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
20916  TYPE(varying_string) :: localError
20917  INTEGER(INTG) :: GLOBAL_NUMBER
20918 
20919  enters("cmfe_DataProjection_MaximumIterationUpdateGetNumber",err,error,*999)
20920 
20921  NULLIFY(region)
20922  NULLIFY(data_points)
20923  NULLIFY(data_projection)
20924  CALL region_user_number_find(regionusernumber,region,err,error,*999)
20925  IF(ASSOCIATED(region)) THEN
20926  CALL region_data_points_get(region,data_points,err,error,*999)
20927  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
20928  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
20929  CALL dataprojection_maximuminterationupdateget(data_projection,maximumiterationupdate,err,error,*999)
20930  ELSE
20931  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
20932  & " does not exist."
20933  CALL flagerror(localerror,err,error,*999)
20934  END IF
20935 
20936  exits("cmfe_DataProjection_MaximumIterationUpdateGetNumber")
20937  RETURN
20938 999 errors("cmfe_DataProjection_MaximumIterationUpdateGetNumber",err,error)
20939  exits("cmfe_DataProjection_MaximumIterationUpdateGetNumber")
20940  CALL cmfe_handleerror(err,error)
20941  RETURN
20942 
20944 
20945  !
20946  !================================================================================================================================
20947  !
20948 
20950  SUBROUTINE cmfe_dataprojection_maximumiterationupdategetobj(dataProjection,maximumIterationUpdate,err)
20951  !DLLEXPORT(cmfe_DataProjection_MaximumIterationUpdateGetObj)
20952 
20953  !Argument variables
20954  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
20955  REAL(DP), INTENT(OUT) :: maximumIterationUpdate
20956  INTEGER(INTG), INTENT(OUT) :: err
20957  !Local variables
20958 
20959  enters("cmfe_DataProjection_MaximumIterationUpdateGetObj",err,error,*999)
20960 
20961  CALL dataprojection_maximuminterationupdateget(dataprojection%dataProjection,maximumiterationupdate,err,error,*999)
20962 
20963  exits("cmfe_DataProjection_MaximumIterationUpdateGetObj")
20964  RETURN
20965 999 errors("cmfe_DataProjection_MaximumIterationUpdateGetObj",err,error)
20966  exits("cmfe_DataProjection_MaximumIterationUpdateGetObj")
20967  CALL cmfe_handleerror(err,error)
20968  RETURN
20969 
20971 
20972  !
20973  !================================================================================================================================
20974  !
20975 
20977  SUBROUTINE cmfe_dataprojection_maximumiterationupdatesetnumber(dataProjectionUserNumber,regionUserNumber, &
20978  & maximumiterationupdate,err)
20979  !DLLEXPORT(cmfe_DataProjection_MaximumIterationUpdateSetNumber)
20980 
20981  !Argument variables
20982  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
20983  INTEGER(INTG), INTENT(IN) :: regionUserNumber
20984  REAL(DP), INTENT(IN) :: maximumIterationUpdate
20985  INTEGER(INTG), INTENT(OUT) :: err
20986  !Local variables
20987  TYPE(region_type), POINTER :: REGION
20988  TYPE(data_points_type), POINTER :: DATA_POINTS
20989  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
20990  TYPE(varying_string) :: localError
20991  INTEGER(INTG) :: GLOBAL_NUMBER
20992 
20993  enters("cmfe_DataProjection_MaximumIterationUpdateSetNumber",err,error,*999)
20994 
20995  NULLIFY(region)
20996  NULLIFY(data_points)
20997  NULLIFY(data_projection)
20998  CALL region_user_number_find(regionusernumber,region,err,error,*999)
20999  IF(ASSOCIATED(region)) THEN
21000  CALL region_data_points_get(region,data_points,err,error,*999)
21001  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
21002  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
21003  CALL dataprojection_maximuminterationupdateset(data_projection,maximumiterationupdate,err,error,*999)
21004  ELSE
21005  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
21006  & " does not exist."
21007  CALL flagerror(localerror,err,error,*999)
21008  END IF
21009 
21010  exits("cmfe_DataProjection_MaximumIterationUpdateSetNumber")
21011  RETURN
21012 999 errors("cmfe_DataProjection_MaximumIterationUpdateSetNumber",err,error)
21013  exits("cmfe_DataProjection_MaximumIterationUpdateSetNumber")
21014  CALL cmfe_handleerror(err,error)
21015  RETURN
21016 
21018 
21019  !
21020  !================================================================================================================================
21021  !
21022 
21024  SUBROUTINE cmfe_dataprojection_maximumiterationupdatesetobj(dataProjection,maximumIterationUpdate,err)
21025  !DLLEXPORT(cmfe_DataProjection_MaximumIterationUpdateSetObj)
21026 
21027  !Argument variables
21028  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
21029  REAL(DP), INTENT(IN) :: maximumIterationUpdate
21030  INTEGER(INTG), INTENT(OUT) :: err
21031  !Local variables
21032 
21033  enters("cmfe_DataProjection_MaximumIterationUpdateSetObj",err,error,*999)
21034 
21035  CALL dataprojection_maximuminterationupdateset(dataprojection%dataProjection,maximumiterationupdate,err,error,*999)
21036 
21037  exits("cmfe_DataProjection_MaximumIterationUpdateSetObj")
21038  RETURN
21039 999 errors("cmfe_DataProjection_MaximumIterationUpdateSetObj",err,error)
21040  exits("cmfe_DataProjection_MaximumIterationUpdateSetObj")
21041  CALL cmfe_handleerror(err,error)
21042  RETURN
21043 
21045 
21046  !
21047  !================================================================================================================================
21048  !
21049 
21051  SUBROUTINE cmfe_dataprojection_maximumnumberofiterationsgetnumber(dataProjectionUserNumber,regionUserNumber, &
21052  & maximumnumberofiterations,err)
21053  !DLLEXPORT(cmfe_DataProjection_MaximumNumberOfIterationsGetNumber)
21054 
21055  !Argument variables
21056  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
21057  INTEGER(INTG), INTENT(IN) :: regionUserNumber
21058  INTEGER(INTG), INTENT(OUT) :: maximumNumberOfIterations
21059  INTEGER(INTG), INTENT(OUT) :: err
21060  !Local variables
21061  TYPE(region_type), POINTER :: REGION
21062  TYPE(data_points_type), POINTER :: DATA_POINTS
21063  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
21064  TYPE(varying_string) :: localError
21065  INTEGER(INTG) :: GLOBAL_NUMBER
21066 
21067  enters("cmfe_DataProjection_MaximumNumberOfIterationsGetNumber",err,error,*999)
21068 
21069  NULLIFY(region)
21070  NULLIFY(data_points)
21071  NULLIFY(data_projection)
21072  CALL region_user_number_find(regionusernumber,region,err,error,*999)
21073  IF(ASSOCIATED(region)) THEN
21074  CALL region_data_points_get(region,data_points,err,error,*999)
21075  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
21076  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
21077  CALL dataprojection_maximumnumberofiterationsget(data_projection,maximumnumberofiterations,err,error,*999)
21078  ELSE
21079  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
21080  & " does not exist."
21081  CALL flagerror(localerror,err,error,*999)
21082  END IF
21083 
21084  exits("cmfe_DataProjection_MaximumNumberOfIterationsGetNumber")
21085  RETURN
21086 999 errors("cmfe_DataProjection_MaximumNumberOfIterationsGetNumber",err,error)
21087  exits("cmfe_DataProjection_MaximumNumberOfIterationsGetNumber")
21088  CALL cmfe_handleerror(err,error)
21089  RETURN
21090 
21092 
21093  !
21094  !================================================================================================================================
21095  !
21096 
21098  SUBROUTINE cmfe_dataprojection_resultdistancegetnumber(regionUserNumber,dataProjectionUserNumber,dataPointUserNumber, &
21099  & projectiondistance,err)
21100  !DLLEXPORT(cmfe_DataProjection_ResultDistanceGetNumber)
21101 
21102  !Argument variables
21103  INTEGER(INTG), INTENT(IN) :: regionUserNumber
21104  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
21105  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21106  REAL(DP), INTENT(OUT) :: ProjectionDistance
21107  INTEGER(INTG), INTENT(OUT) :: err
21108  !Local variables
21109  TYPE(data_points_type), POINTER :: DATA_POINTS
21110  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
21111  INTEGER(INTG) :: DATA_PROJECTION_GLOBAL_NUMBER
21112  TYPE(region_type), POINTER :: REGION
21113  TYPE(varying_string) :: localError
21114 
21115  enters("cmfe_DataProjection_ResultDistanceGetNumber",err,error,*999)
21116 
21117  NULLIFY(region)
21118  NULLIFY(data_points)
21119  NULLIFY(data_projection)
21120  CALL region_user_number_find(regionusernumber,region,err,error,*999)
21121  IF(ASSOCIATED(region)) THEN
21122  CALL region_data_points_get(region,data_points,err,error,*999)
21123  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,data_projection_global_number,err, &
21124  & error,*999)
21125  CALL data_points_data_projection_get(data_points,data_projection_global_number,data_projection,err,error,*999)
21126  IF(ASSOCIATED(data_projection)) THEN
21127  CALL data_projection_result_distance_get(data_projection,datapointusernumber,projectiondistance,err,error,*999)
21128  ELSE
21129  localerror="A data projection with an user number of "//trim(numbertovstring(dataprojectionusernumber,"*",err,error)) &
21130  & //" does not exist."
21131  CALL flagerror(localerror,err,error,*999)
21132  ENDIF
21133  ELSE
21134  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
21135  & " does not exist."
21136  CALL flagerror(localerror,err,error,*999)
21137  ENDIF
21138 
21139  exits("cmfe_DataProjection_ResultDistanceGetNumber")
21140  RETURN
21141 999 errorsexits("cmfe_DataProjection_ResultDistanceGetNumber",err,error)
21142  CALL cmfe_handleerror(err,error)
21143  RETURN
21144 
21146 
21147 
21148  !
21149  !================================================================================================================================
21150  !
21151 
21153  SUBROUTINE cmfe_dataprojection_resultdistancegetobj(dataProjection,dataPointUserNumber,ProjectionDistance,err)
21154  !DLLEXPORT(cmfe_DataProjection_ResultDistanceGetObj)
21155 
21156  !Argument variables
21157  TYPE(cmfe_dataprojectiontype), INTENT(IN) :: dataProjection
21158  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21159  REAL(DP), INTENT(OUT) :: ProjectionDistance
21160  INTEGER(INTG), INTENT(OUT) :: err
21161  !Local variables
21162 
21163  enters("cmfe_DataProjection_ResultDistanceGetObj",err,error,*999)
21164 
21165  CALL data_projection_result_distance_get(dataprojection%dataProjection,datapointusernumber,projectiondistance, &
21166  & err,error,*999)
21167 
21168  exits("cmfe_DataProjection_ResultDistanceGetObj")
21169  RETURN
21170 999 errorsexits("cmfe_DataProjection_ResultDistanceGetObj",err,error)
21171  CALL cmfe_handleerror(err,error)
21172  RETURN
21173 
21175 
21176  !
21177  !================================================================================================================================
21178  !
21179 
21181  SUBROUTINE cmfe_dataprojection_resultelementnumbergetnumber(regionUserNumber,dataProjectionUserNumber,dataPointUserNumber, &
21182  & projectionelementnumber,err)
21183  !DLLEXPORT(cmfe_DataProjection_ResultElementNumberGetNumber)
21184 
21185  !Argument variables
21186  INTEGER(INTG), INTENT(IN) :: regionUserNumber
21187  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
21188  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21189  INTEGER(INTG), INTENT(OUT) :: ProjectionElementNumber
21190  INTEGER(INTG), INTENT(OUT) :: err
21191  !Local variables
21192  TYPE(data_points_type), POINTER :: DATA_POINTS
21193  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
21194  INTEGER(INTG) :: DATA_PROJECTION_GLOBAL_NUMBER
21195  TYPE(region_type), POINTER :: REGION
21196  TYPE(varying_string) :: localError
21197 
21198  enters("cmfe_DataProjection_ResultElementNumberGetNumber",err,error,*999)
21199 
21200  NULLIFY(region)
21201  NULLIFY(data_points)
21202  NULLIFY(data_projection)
21203  CALL region_user_number_find(regionusernumber,region,err,error,*999)
21204  IF(ASSOCIATED(region)) THEN
21205  CALL region_data_points_get(region,data_points,err,error,*999)
21206  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,data_projection_global_number,err, &
21207  & error,*999)
21208  CALL data_points_data_projection_get(data_points,data_projection_global_number,data_projection,err,error,*999)
21209  IF(ASSOCIATED(data_projection)) THEN
21210  CALL data_projection_result_element_number_get(data_projection,datapointusernumber,projectionelementnumber,err,error,*999)
21211  ELSE
21212  localerror="A data projection with an user number of "//trim(numbertovstring(dataprojectionusernumber,"*",err,error)) &
21213  & //" does not exist."
21214  CALL flagerror(localerror,err,error,*999)
21215  ENDIF
21216  ELSE
21217  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
21218  & " does not exist."
21219  CALL flagerror(localerror,err,error,*999)
21220  ENDIF
21221 
21222  exits("cmfe_DataProjection_ResultElementNumberGetNumber")
21223  RETURN
21224 999 errors("cmfe_DataProjection_ResultElementNumberGetNumber",err,error)
21225  exits("cmfe_DataProjection_ResultElementNumberGetNumber")
21226  CALL cmfe_handleerror(err,error)
21227  RETURN
21228 
21230 
21231  !
21232  !================================================================================================================================
21233  !
21234 
21236  SUBROUTINE cmfe_dataprojection_resultelementnumbergetobj(dataProjection,dataPointUserNumber,ProjectionElementNumber,err)
21237  !DLLEXPORT(cmfe_DataProjection_ResultElementNumberGetObj)
21238 
21239  !Argument variables
21240  TYPE(cmfe_dataprojectiontype), INTENT(IN) :: dataProjection
21241  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21242  INTEGER(INTG), INTENT(OUT) :: ProjectionElementNumber
21243  INTEGER(INTG), INTENT(OUT) :: err
21244  !Local variables
21245 
21246  enters("cmfe_DataProjection_ResultElementNumberGetObj",err,error,*999)
21247 
21248  CALL data_projection_result_element_number_get(dataprojection%dataProjection,datapointusernumber,projectionelementnumber, &
21249  & err,error,*999)
21250 
21251  exits("cmfe_DataProjection_ResultElementNumberGetObj")
21252  RETURN
21253 999 errors("cmfe_DataProjection_ResultElementNumberGetObj",err,error)
21254  exits("cmfe_DataProjection_ResultElementNumberGetObj")
21255  CALL cmfe_handleerror(err,error)
21256  RETURN
21257 
21259 
21260  !
21261  !================================================================================================================================
21262  !
21263 
21265  SUBROUTINE cmfe_dataprojection_resultelementfacenumbergetnumber(regionUserNumber,dataProjectionUserNumber,dataPointUserNumber, &
21266  & projectionelementfacenumber,err)
21267  !DLLEXPORT(cmfe_DataProjection_ResultElementFaceNumberGetNumber)
21268 
21269  !Argument variables
21270  INTEGER(INTG), INTENT(IN) :: regionUserNumber
21271  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
21272  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21273  INTEGER(INTG), INTENT(OUT) :: ProjectionElementFaceNumber
21274  INTEGER(INTG), INTENT(OUT) :: err
21275  !Local variables
21276  TYPE(data_points_type), POINTER :: DATA_POINTS
21277  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
21278  INTEGER(INTG) :: DATA_PROJECTION_GLOBAL_NUMBER
21279  TYPE(region_type), POINTER :: REGION
21280  TYPE(varying_string) :: localError
21281 
21282  enters("cmfe_DataProjection_ResultElementFaceNumberGetNumber",err,error,*999)
21283 
21284  NULLIFY(region)
21285  NULLIFY(data_points)
21286  NULLIFY(data_projection)
21287  CALL region_user_number_find(regionusernumber,region,err,error,*999)
21288  IF(ASSOCIATED(region)) THEN
21289  CALL region_data_points_get(region,data_points,err,error,*999)
21290  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,data_projection_global_number,err, &
21291  & error,*999)
21292  CALL data_points_data_projection_get(data_points,data_projection_global_number,data_projection,err,error,*999)
21293  IF(ASSOCIATED(data_projection)) THEN
21294  CALL dataprojection_resultelementfacenumberget(data_projection,datapointusernumber,projectionelementfacenumber,err, &
21295  & error,*999)
21296  ELSE
21297  localerror="A data projection with an user number of "//trim(numbertovstring(dataprojectionusernumber,"*",err,error)) &
21298  & //" does not exist."
21299  CALL flagerror(localerror,err,error,*999)
21300  ENDIF
21301  ELSE
21302  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
21303  & " does not exist."
21304  CALL flagerror(localerror,err,error,*999)
21305  ENDIF
21306 
21307  exits("cmfe_DataProjection_ResultElementFaceNumberGetNumber")
21308  RETURN
21309 999 errors("cmfe_DataProjection_ResultElementFaceNumberGetNumber",err,error)
21310  exits("cmfe_DataProjection_ResultElementFaceNumberGetNumber")
21311  CALL cmfe_handleerror(err,error)
21312  RETURN
21313 
21315 
21316  !
21317  !================================================================================================================================
21318  !
21319 
21321  SUBROUTINE cmfe_dataprojection_resultelementfacenumbergetobj(dataProjection,dataPointUserNumber, &
21322  & projectionelementfacenumber,err)
21323  !DLLEXPORT(cmfe_DataProjection_ResultElementFaceNumberGetObj)
21324 
21325  !Argument variables
21326  TYPE(cmfe_dataprojectiontype), INTENT(IN) :: dataProjection
21327  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21328  INTEGER(INTG), INTENT(OUT) :: ProjectionElementFaceNumber
21329  INTEGER(INTG), INTENT(OUT) :: err
21330  !Local variables
21331 
21332  enters("cmfe_DataProjection_ResultElementFaceNumberGetObj",err,error,*999)
21333 
21334  CALL dataprojection_resultelementfacenumberget(dataprojection%dataProjection,datapointusernumber, &
21335  & projectionelementfacenumber,err,error,*999)
21336 
21337  exits("cmfe_DataProjection_ResultElementFaceNumberGetObj")
21338  RETURN
21339 999 errors("cmfe_DataProjection_ResultElementFaceNumberGetObj",err,error)
21340  exits("cmfe_DataProjection_ResultElementFaceNumberGetObj")
21341  CALL cmfe_handleerror(err,error)
21342  RETURN
21343 
21345 
21346  !
21347  !================================================================================================================================
21348  !
21349 
21351  SUBROUTINE cmfe_dataprojection_resultelementlinenumbergetnumber(regionUserNumber,dataProjectionUserNumber,dataPointUserNumber, &
21352  & projectionelementlinenumber,err)
21353  !DLLEXPORT(cmfe_DataProjection_ResultElementLineNumberGetNumber)
21354 
21355  !Argument variables
21356  INTEGER(INTG), INTENT(IN) :: regionUserNumber
21357  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
21358  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21359  INTEGER(INTG), INTENT(OUT) :: ProjectionElementLineNumber
21360  INTEGER(INTG), INTENT(OUT) :: err
21361  !Local variables
21362  TYPE(data_points_type), POINTER :: DATA_POINTS
21363  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
21364  INTEGER(INTG) :: DATA_PROJECTION_GLOBAL_NUMBER
21365  TYPE(region_type), POINTER :: REGION
21366  TYPE(varying_string) :: localError
21367 
21368  enters("cmfe_DataProjection_ResultElementLineNumberGetNumber",err,error,*999)
21369 
21370  NULLIFY(region)
21371  NULLIFY(data_points)
21372  NULLIFY(data_projection)
21373  CALL region_user_number_find(regionusernumber,region,err,error,*999)
21374  IF(ASSOCIATED(region)) THEN
21375  CALL region_data_points_get(region,data_points,err,error,*999)
21376  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,data_projection_global_number,err, &
21377  & error,*999)
21378  CALL data_points_data_projection_get(data_points,data_projection_global_number,data_projection,err,error,*999)
21379  IF(ASSOCIATED(data_projection)) THEN
21380  CALL dataprojection_resultelementlinenumberget(data_projection,datapointusernumber,projectionelementlinenumber,err, &
21381  & error,*999)
21382  ELSE
21383  localerror="A data projection with an user number of "//trim(numbertovstring(dataprojectionusernumber,"*",err,error)) &
21384  & //" does not exist."
21385  CALL flagerror(localerror,err,error,*999)
21386  ENDIF
21387  ELSE
21388  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
21389  & " does not exist."
21390  CALL flagerror(localerror,err,error,*999)
21391  ENDIF
21392 
21393  exits("cmfe_DataProjection_ResultElementLineNumberGetNumber")
21394  RETURN
21395 999 errors("cmfe_DataProjection_ResultElementLineNumberGetNumber",err,error)
21396  exits("cmfe_DataProjection_ResultElementLineNumberGetNumber")
21397  CALL cmfe_handleerror(err,error)
21398  RETURN
21399 
21401 
21402  !
21403  !================================================================================================================================
21404  !
21405 
21407  SUBROUTINE cmfe_dataprojection_resultelementlinenumbergetobj(dataProjection,dataPointUserNumber, &
21408  & projectionelementlinenumber,err)
21409  !DLLEXPORT(cmfe_DataProjection_ResultElementLineNumberGetObj)
21410 
21411  !Argument variables
21412  TYPE(cmfe_dataprojectiontype), INTENT(IN) :: dataProjection
21413  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21414  INTEGER(INTG), INTENT(OUT) :: ProjectionElementLineNumber
21415  INTEGER(INTG), INTENT(OUT) :: err
21416  !Local variables
21417 
21418  enters("cmfe_DataProjection_ResultElementLineNumberGetObj",err,error,*999)
21419 
21420  CALL dataprojection_resultelementlinenumberget(dataprojection%dataProjection,datapointusernumber, &
21421  & projectionelementlinenumber,err,error,*999)
21422 
21423  exits("cmfe_DataProjection_ResultElementLineNumberGetObj")
21424  RETURN
21425 999 errors("cmfe_DataProjection_ResultElementLineNumberGetObj",err,error)
21426  exits("cmfe_DataProjection_ResultElementLineNumberGetObj")
21427  CALL cmfe_handleerror(err,error)
21428  RETURN
21429 
21431 
21432  !
21433  !================================================================================================================================
21434  !
21435 
21437  SUBROUTINE cmfe_dataprojection_resultexittaggetnumber(regionUserNumber,dataProjectionUserNumber,dataPointUserNumber, &
21438  & projectionexittag,err)
21439  !DLLEXPORT(cmfe_DataProjection_ResultExitTagGetNumber)
21440 
21441  !Argument variables
21442  INTEGER(INTG), INTENT(IN) :: regionUserNumber
21443  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
21444  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21445  INTEGER(INTG), INTENT(OUT) :: ProjectionExitTag
21446  INTEGER(INTG), INTENT(OUT) :: err
21447  !Local variables
21448  TYPE(data_points_type), POINTER :: DATA_POINTS
21449  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
21450  INTEGER(INTG) :: DATA_PROJECTION_GLOBAL_NUMBER
21451  TYPE(region_type), POINTER :: REGION
21452  TYPE(varying_string) :: localError
21453 
21454  enters("cmfe_DataProjection_ResultExitTagGetNumber",err,error,*999)
21455 
21456  NULLIFY(region)
21457  NULLIFY(data_points)
21458  NULLIFY(data_projection)
21459  CALL region_user_number_find(regionusernumber,region,err,error,*999)
21460  IF(ASSOCIATED(region)) THEN
21461  CALL region_data_points_get(region,data_points,err,error,*999)
21462  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,data_projection_global_number,err, &
21463  & error,*999)
21464  CALL data_points_data_projection_get(data_points,data_projection_global_number,data_projection,err,error,*999)
21465  IF(ASSOCIATED(data_projection)) THEN
21466  CALL data_projection_result_exit_tag_get(data_projection,datapointusernumber,projectionexittag,err,error,*999)
21467  ELSE
21468  localerror="A data projection with an user number of "//trim(numbertovstring(dataprojectionusernumber,"*",err,error)) &
21469  & //" does not exist."
21470  CALL flagerror(localerror,err,error,*999)
21471  ENDIF
21472  ELSE
21473  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
21474  & " does not exist."
21475  CALL flagerror(localerror,err,error,*999)
21476  ENDIF
21477 
21478  exits("cmfe_DataProjection_ResultExitTagGetNumber")
21479  RETURN
21480 999 errorsexits("cmfe_DataProjection_ResultExitTagGetNumber",err,error)
21481  CALL cmfe_handleerror(err,error)
21482  RETURN
21483 
21485 
21486  !
21487  !================================================================================================================================
21488  !
21489 
21491  SUBROUTINE cmfe_dataprojection_resultexittaggetobj(dataProjection,dataPointUserNumber,ProjectionExitTag,err)
21492  !DLLEXPORT(cmfe_DataProjection_ResultExitTagGetObj)
21493 
21494  !Argument variables
21495  TYPE(cmfe_dataprojectiontype), INTENT(IN) :: dataProjection
21496  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21497  INTEGER(INTG), INTENT(OUT) :: ProjectionExitTag
21498  INTEGER(INTG), INTENT(OUT) :: err
21499  !Local variables
21500 
21501  enters("cmfe_DataProjection_ResultExitTagGetObj",err,error,*999)
21502 
21503  CALL data_projection_result_exit_tag_get(dataprojection%dataProjection,datapointusernumber,projectionexittag, &
21504  & err,error,*999)
21505 
21506  exits("cmfe_DataProjection_ResultExitTagGetObj")
21507  RETURN
21508 999 errorsexits("cmfe_DataProjection_ResultExitTagGetObj",err,error)
21509  CALL cmfe_handleerror(err,error)
21510  RETURN
21511 
21513 
21514  !
21515  !================================================================================================================================
21516  !
21517 
21519  SUBROUTINE cmfe_dataprojection_resultxigetnumber(regionUserNumber,dataProjectionUserNumber,dataPointUserNumber,ProjectionXi,err)
21520  !DLLEXPORT(cmfe_DataProjection_ResultXiGetNumber)
21521 
21522  !Argument variables
21523  INTEGER(INTG), INTENT(IN) :: regionUserNumber
21524  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
21525  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21526  REAL(DP), INTENT(OUT) :: ProjectionXi(:)
21527  INTEGER(INTG), INTENT(OUT) :: err
21528  !Local variables
21529  TYPE(data_points_type), POINTER :: DATA_POINTS
21530  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
21531  INTEGER(INTG) :: DATA_PROJECTION_GLOBAL_NUMBER
21532  TYPE(region_type), POINTER :: REGION
21533  TYPE(varying_string) :: localError
21534 
21535  enters("cmfe_DataProjection_ResultXiGetNumber",err,error,*999)
21536 
21537  NULLIFY(region)
21538  NULLIFY(data_points)
21539  NULLIFY(data_projection)
21540  CALL region_user_number_find(regionusernumber,region,err,error,*999)
21541  IF(ASSOCIATED(region)) THEN
21542  CALL region_data_points_get(region,data_points,err,error,*999)
21543  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,data_projection_global_number,err, &
21544  & error,*999)
21545  CALL data_points_data_projection_get(data_points,data_projection_global_number,data_projection,err,error,*999)
21546  IF(ASSOCIATED(data_projection)) THEN
21547  CALL data_projection_result_xi_get(data_projection,datapointusernumber,projectionxi,err,error,*999)
21548  ELSE
21549  localerror="A data projection with an user number of "//trim(numbertovstring(dataprojectionusernumber,"*",err,error)) &
21550  & //" does not exist."
21551  CALL flagerror(localerror,err,error,*999)
21552  ENDIF
21553  ELSE
21554  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
21555  & " does not exist."
21556  CALL flagerror(localerror,err,error,*999)
21557  ENDIF
21558 
21559  exits("cmfe_DataProjection_ResultXiGetNumber")
21560  RETURN
21561 999 errorsexits("cmfe_DataProjection_ResultXiGetNumber",err,error)
21562  CALL cmfe_handleerror(err,error)
21563  RETURN
21564 
21566 
21567  !
21568  !================================================================================================================================
21569  !
21570 
21572  SUBROUTINE cmfe_dataprojection_resultxigetobj(dataProjection,dataPointUserNumber,ProjectionXi,err)
21573  !DLLEXPORT(cmfe_DataProjection_ResultXiGetObj)
21574 
21575  !Argument variables
21576  TYPE(cmfe_dataprojectiontype), INTENT(IN) :: dataProjection
21577  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21578  REAL(DP), INTENT(OUT) :: ProjectionXi(:)
21579  INTEGER(INTG), INTENT(OUT) :: err
21580  !Local variables
21581 
21582  enters("cmfe_DataProjection_ResultXiGetObj",err,error,*999)
21583 
21584  CALL data_projection_result_xi_get(dataprojection%dataProjection,datapointusernumber,projectionxi,err,error,*999)
21585 
21586  exits("cmfe_DataProjection_ResultXiGetObj")
21587  RETURN
21588 999 errorsexits("cmfe_DataProjection_ResultXiGetObj",err,error)
21589  CALL cmfe_handleerror(err,error)
21590  RETURN
21591 
21592  END SUBROUTINE cmfe_dataprojection_resultxigetobj
21593 
21594  !
21595  !================================================================================================================================
21596  !
21597 
21599  SUBROUTINE cmfe_dataprojection_resultxisetnumber(regionUserNumber,dataProjectionUserNumber,dataPointUserNumber,ProjectionXi,err)
21600  !DLLEXPORT(cmfe_DataProjection_ResultXiSetNumber)
21601 
21602  !Argument variables
21603  INTEGER(INTG), INTENT(IN) :: regionUserNumber
21604  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
21605  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21606  REAL(DP), INTENT(IN) :: ProjectionXi(:)
21607  INTEGER(INTG), INTENT(OUT) :: err
21608  !Local variables
21609  TYPE(data_points_type), POINTER :: DATA_POINTS
21610  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
21611  INTEGER(INTG) :: DATA_PROJECTION_GLOBAL_NUMBER
21612  TYPE(region_type), POINTER :: REGION
21613  TYPE(varying_string) :: localError
21614 
21615  enters("cmfe_DataProjection_ResultXiSetNumber",err,error,*999)
21616 
21617  NULLIFY(region)
21618  NULLIFY(data_points)
21619  NULLIFY(data_projection)
21620  CALL region_user_number_find(regionusernumber,region,err,error,*999)
21621  IF(ASSOCIATED(region)) THEN
21622  CALL region_data_points_get(region,data_points,err,error,*999)
21623  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,data_projection_global_number,err, &
21624  & error,*999)
21625  CALL data_points_data_projection_get(data_points,data_projection_global_number,data_projection,err,error,*999)
21626  IF(ASSOCIATED(data_projection)) THEN
21627  CALL data_projection_result_xi_set(data_projection,datapointusernumber,projectionxi,err,error,*999)
21628  ELSE
21629  localerror="A data projection with an user number of "//trim(numbertovstring(dataprojectionusernumber,"*",err,error)) &
21630  & //" does not exist."
21631  CALL flagerror(localerror,err,error,*999)
21632  ENDIF
21633  ELSE
21634  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
21635  & " does not exist."
21636  CALL flagerror(localerror,err,error,*999)
21637  ENDIF
21638 
21639  exits("cmfe_DataProjection_ResultXiSetNumber")
21640  RETURN
21641 999 errorsexits("cmfe_DataProjection_ResultXiSetNumber",err,error)
21642  CALL cmfe_handleerror(err,error)
21643  RETURN
21644 
21646 
21647  !
21648  !================================================================================================================================
21649  !
21650 
21652  SUBROUTINE cmfe_dataprojection_resultxisetobj(dataProjection,dataPointUserNumber,ProjectionXi,err)
21653  !DLLEXPORT(cmfe_DataProjection_ResultXiSetObj)
21654 
21655  !Argument variables
21656  TYPE(cmfe_dataprojectiontype), INTENT(IN) :: dataProjection
21657  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21658  REAL(DP), INTENT(IN) :: ProjectionXi(:)
21659  INTEGER(INTG), INTENT(OUT) :: err
21660  !Local variables
21661 
21662  enters("cmfe_DataProjection_ResultXiSetObj",err,error,*999)
21663 
21664  CALL data_projection_result_xi_set(dataprojection%dataProjection,datapointusernumber,projectionxi,err,error,*999)
21665 
21666  exits("cmfe_DataProjection_ResultXiSetObj")
21667  RETURN
21668 999 errorsexits("cmfe_DataProjection_ResultXiSetObj",err,error)
21669  CALL cmfe_handleerror(err,error)
21670  RETURN
21671 
21672  END SUBROUTINE cmfe_dataprojection_resultxisetobj
21673 
21674  !
21675  !================================================================================================================================
21676  !
21677 
21679  SUBROUTINE cmfe_dataprojection_resultprojectionvectorgetnumber(regionUserNumber,dataProjectionUserNumber, &
21680  & datapointusernumber,projectionvector,err)
21681  !DLLEXPORT(cmfe_DataProjection_ResultProjectionVectorGetNumber)
21682 
21683  !Argument variables
21684  INTEGER(INTG), INTENT(IN) :: regionUserNumber
21685  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
21686  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21687  REAL(DP), INTENT(OUT) :: projectionVector(:)
21688  INTEGER(INTG), INTENT(OUT) :: err
21689  !Local variables
21690  TYPE(data_points_type), POINTER :: DATA_POINTS
21691  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
21692  INTEGER(INTG) :: DATA_PROJECTION_GLOBAL_NUMBER
21693  TYPE(region_type), POINTER :: REGION
21694  TYPE(varying_string) :: localError
21695 
21696  enters("cmfe_DataProjection_ResultProjectionVectorGetNumber",err,error,*999)
21697 
21698  NULLIFY(region)
21699  NULLIFY(data_points)
21700  NULLIFY(data_projection)
21701  CALL region_user_number_find(regionusernumber,region,err,error,*999)
21702  IF(ASSOCIATED(region)) THEN
21703  CALL region_data_points_get(region,data_points,err,error,*999)
21704  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,data_projection_global_number,err, &
21705  & error,*999)
21706  CALL data_points_data_projection_get(data_points,data_projection_global_number,data_projection,err,error,*999)
21707  IF(ASSOCIATED(data_projection)) THEN
21708  CALL dataprojection_resultprojectionvectorget(data_projection,datapointusernumber,projectionvector,err,error,*999)
21709  ELSE
21710  localerror="A data projection with an user number of "//trim(numbertovstring(dataprojectionusernumber,"*",err,error)) &
21711  & //" does not exist."
21712  CALL flagerror(localerror,err,error,*999)
21713  ENDIF
21714  ELSE
21715  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
21716  & " does not exist."
21717  CALL flagerror(localerror,err,error,*999)
21718  ENDIF
21719 
21720  exits("cmfe_DataProjection_ResultProjectionVectorGetNumber")
21721  RETURN
21722 999 errors("cmfe_DataProjection_ResultProjectionVectorGetNumber",err,error)
21723  exits("cmfe_DataProjection_ResultProjectionVectorGetNumber")
21724  CALL cmfe_handleerror(err,error)
21725  RETURN
21726 
21728 
21729  !
21730  !================================================================================================================================
21731  !
21732 
21734  SUBROUTINE cmfe_dataprojection_resultprojectionvectorgetobj(dataProjection,dataPointUserNumber,projectionVector,err)
21735  !DLLEXPORT(cmfe_DataProjection_ResultProjectionVectorGetObj)
21736 
21737  !Argument variables
21738  TYPE(cmfe_dataprojectiontype), INTENT(IN) :: dataProjection
21739  INTEGER(INTG), INTENT(IN) :: dataPointUserNumber
21740  REAL(DP), INTENT(OUT) :: projectionVector(:)
21741  INTEGER(INTG), INTENT(OUT) :: err
21742  !Local variables
21743 
21744  enters("cmfe_DataProjection_ResultProjectionVectorGetObj",err,error,*999)
21745 
21746  CALL dataprojection_resultprojectionvectorget(dataprojection%dataProjection,datapointusernumber, &
21747  & projectionvector,err,error,*999)
21748 
21749  exits("cmfe_DataProjection_ResultProjectionVectorGetObj")
21750  RETURN
21751 999 errors("cmfe_DataProjection_ResultProjectionVectorGetObj",err,error)
21752  exits("cmfe_DataProjection_ResultProjectionVectorGetObj")
21753  CALL cmfe_handleerror(err,error)
21754  RETURN
21755 
21757 
21758  !
21759  !================================================================================================================================
21760  !
21761 
21763  SUBROUTINE cmfe_dataprojection_maximumnumberofiterationsgetobj(dataProjection,maximumNumberOfIterations,err)
21764  !DLLEXPORT(cmfe_DataProjection_MaximumNumberOfIterationsGetObj)
21765 
21766  !Argument variables
21767  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
21768  INTEGER(INTG), INTENT(OUT) :: maximumNumberOfIterations
21769  INTEGER(INTG), INTENT(OUT) :: err
21770  !Local variables
21771 
21772  enters("cmfe_DataProjection_MaximumNumberOfIterationsGetObj",err,error,*999)
21773 
21774  CALL dataprojection_maximumnumberofiterationsget(dataprojection%dataProjection,maximumnumberofiterations,err,error,*999)
21775 
21776  exits("cmfe_DataProjection_MaximumNumberOfIterationsGetObj")
21777  RETURN
21778 999 errors("cmfe_DataProjection_MaximumNumberOfIterationsGetObj",err,error)
21779  exits("cmfe_DataProjection_MaximumNumberOfIterationsGetObj")
21780  CALL cmfe_handleerror(err,error)
21781  RETURN
21782 
21784 
21785  !
21786  !================================================================================================================================
21787  !
21788 
21790  SUBROUTINE cmfe_dataprojection_maximumnumberofiterationssetnumber(dataProjectionUserNumber,regionUserNumber, &
21791  & maximumnumberofiterations,err)
21792  !DLLEXPORT(cmfe_DataProjection_MaximumNumberOfIterationsSetNumber)
21793 
21794  !Argument variables
21795  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
21796  INTEGER(INTG), INTENT(IN) :: regionUserNumber
21797  INTEGER(INTG), INTENT(IN) :: maximumNumberOfIterations
21798  INTEGER(INTG), INTENT(OUT) :: err
21799  !Local variables
21800  TYPE(region_type), POINTER :: REGION
21801  TYPE(data_points_type), POINTER :: DATA_POINTS
21802  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
21803  TYPE(varying_string) :: localError
21804  INTEGER(INTG) :: GLOBAL_NUMBER
21805 
21806  enters("cmfe_DataProjection_MaximumNumberOfIterationsSetNumber",err,error,*999)
21807 
21808  NULLIFY(region)
21809  NULLIFY(data_points)
21810  NULLIFY(data_projection)
21811  CALL region_user_number_find(regionusernumber,region,err,error,*999)
21812  IF(ASSOCIATED(region)) THEN
21813  CALL region_data_points_get(region,data_points,err,error,*999)
21814  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
21815  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
21816  CALL dataprojection_maximumnumberofiterationsset(data_projection,maximumnumberofiterations,err,error,*999)
21817  ELSE
21818  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
21819  & " does not exist."
21820  CALL flagerror(localerror,err,error,*999)
21821  END IF
21822 
21823  exits("cmfe_DataProjection_MaximumNumberOfIterationsSetNumber")
21824  RETURN
21825 999 errors("cmfe_DataProjection_MaximumNumberOfIterationsSetNumber",err,error)
21826  exits("cmfe_DataProjection_MaximumNumberOfIterationsSetNumber")
21827  CALL cmfe_handleerror(err,error)
21828  RETURN
21829 
21831 
21832  !
21833  !================================================================================================================================
21834  !
21835 
21837  SUBROUTINE cmfe_dataprojection_maximumnumberofiterationssetobj(dataProjection,maximumNumberOfIterations,err)
21838  !DLLEXPORT(cmfe_DataProjection_MaximumNumberOfIterationsSetObj)
21839 
21840  !Argument variables
21841  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
21842  INTEGER(INTG), INTENT(IN) :: maximumNumberOfIterations
21843  INTEGER(INTG), INTENT(OUT) :: err
21844  !Local variables
21845 
21846  enters("cmfe_DataProjection_MaximumNumberOfIterationsSetObj",err,error,*999)
21847 
21848  CALL dataprojection_maximumnumberofiterationsset(dataprojection%dataProjection,maximumnumberofiterations,err,error,*999)
21849 
21850  exits("cmfe_DataProjection_MaximumNumberOfIterationsSetObj")
21851  RETURN
21852 999 errors("cmfe_DataProjection_MaximumNumberOfIterationsSetObj",err,error)
21853  exits("cmfe_DataProjection_MaximumNumberOfIterationsSetObj")
21854  CALL cmfe_handleerror(err,error)
21855  RETURN
21856 
21858 
21859  !
21860  !================================================================================================================================
21861  !
21862 
21864  SUBROUTINE cmfe_dataprojection_numberofclosestelementsgetnumber(dataProjectionUserNumber,regionUserNumber, &
21865  & numberofclosestelements,err)
21866  !DLLEXPORT(cmfe_DataProjection_NumberOfClosestElementsGetNumber)
21867 
21868  !Argument variables
21869  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
21870  INTEGER(INTG), INTENT(IN) :: regionUserNumber
21871  INTEGER(INTG), INTENT(OUT) :: numberOfClosestElements
21872  INTEGER(INTG), INTENT(OUT) :: err
21873  !Local variables
21874  TYPE(region_type), POINTER :: REGION
21875  TYPE(data_points_type), POINTER :: DATA_POINTS
21876  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
21877  TYPE(varying_string) :: localError
21878  INTEGER(INTG) :: GLOBAL_NUMBER
21879 
21880  enters("cmfe_DataProjection_NumberOfClosestElementsGetNumber",err,error,*999)
21881 
21882  NULLIFY(region)
21883  NULLIFY(data_points)
21884  NULLIFY(data_projection)
21885  CALL region_user_number_find(regionusernumber,region,err,error,*999)
21886  IF(ASSOCIATED(region)) THEN
21887  CALL region_data_points_get(region,data_points,err,error,*999)
21888  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
21889  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
21890  CALL dataprojection_numberofclosestelementsget(data_projection,numberofclosestelements,err,error,*999)
21891  ELSE
21892  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
21893  & " does not exist."
21894  CALL flagerror(localerror,err,error,*999)
21895  END IF
21896 
21897  exits("cmfe_DataProjection_NumberOfClosestElementsGetNumber")
21898  RETURN
21899 999 errors("cmfe_DataProjection_NumberOfClosestElementsGetNumber",err,error)
21900  exits("cmfe_DataProjection_NumberOfClosestElementsGetNumber")
21901  CALL cmfe_handleerror(err,error)
21902  RETURN
21903 
21905 
21906  !
21907  !================================================================================================================================
21908  !
21909 
21911  SUBROUTINE cmfe_dataprojection_numberofclosestelementsgetobj(dataProjection,numberOfClosestElements,err)
21912  !DLLEXPORT(cmfe_DataProjection_NumberOfClosestElementsGetObj)
21913 
21914  !Argument variables
21915  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
21916  INTEGER(INTG), INTENT(OUT) :: numberOfClosestElements
21917  INTEGER(INTG), INTENT(OUT) :: err
21918  !Local variables
21919 
21920  enters("cmfe_DataProjection_NumberOfClosestElementsGetObj",err,error,*999)
21921 
21922  CALL dataprojection_numberofclosestelementsget(dataprojection%dataProjection,numberofclosestelements,err,error,*999)
21923 
21924  exits("cmfe_DataProjection_NumberOfClosestElementsGetObj")
21925  RETURN
21926 999 errors("cmfe_DataProjection_NumberOfClosestElementsGetObj",err,error)
21927  exits("cmfe_DataProjection_NumberOfClosestElementsGetObj")
21928  CALL cmfe_handleerror(err,error)
21929  RETURN
21930 
21932 
21933  !
21934  !================================================================================================================================
21935  !
21936 
21938  SUBROUTINE cmfe_dataprojection_numberofclosestelementssetnumber(dataProjectionUserNumber,regionUserNumber, &
21939  & numberofclosestelements,err)
21940  !DLLEXPORT(cmfe_DataProjection_NumberOfClosestElementsSetNumber)
21941 
21942  !Argument variables
21943  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
21944  INTEGER(INTG), INTENT(IN) :: regionUserNumber
21945  INTEGER(INTG), INTENT(IN) :: numberOfClosestElements
21946  INTEGER(INTG), INTENT(OUT) :: err
21947  !Local variables
21948  TYPE(region_type), POINTER :: REGION
21949  TYPE(data_points_type), POINTER :: DATA_POINTS
21950  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
21951  TYPE(varying_string) :: localError
21952  INTEGER(INTG) :: GLOBAL_NUMBER
21953 
21954  enters("cmfe_DataProjection_NumberOfClosestElementsSetNumber",err,error,*999)
21955 
21956  NULLIFY(region)
21957  NULLIFY(data_points)
21958  NULLIFY(data_projection)
21959  CALL region_user_number_find(regionusernumber,region,err,error,*999)
21960  IF(ASSOCIATED(region)) THEN
21961  CALL region_data_points_get(region,data_points,err,error,*999)
21962  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
21963  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
21964  CALL dataprojection_numberofclosestelementsset(data_projection,numberofclosestelements,err,error,*999)
21965  ELSE
21966  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
21967  & " does not exist."
21968  CALL flagerror(localerror,err,error,*999)
21969  END IF
21970 
21971  exits("cmfe_DataProjection_NumberOfClosestElementsSetNumber")
21972  RETURN
21973 999 errors("cmfe_DataProjection_NumberOfClosestElementsSetNumber",err,error)
21974  exits("cmfe_DataProjection_NumberOfClosestElementsSetNumber")
21975  CALL cmfe_handleerror(err,error)
21976  RETURN
21977 
21979 
21980  !
21981  !================================================================================================================================
21982  !
21983 
21985  SUBROUTINE cmfe_dataprojection_numberofclosestelementssetobj(dataProjection,numberOfClosestElements,err)
21986  !DLLEXPORT(cmfe_DataProjection_NumberOfClosestElementsSetObj)
21987 
21988  !Argument variables
21989  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
21990  INTEGER(INTG), INTENT(IN) :: numberOfClosestElements
21991  INTEGER(INTG), INTENT(OUT) :: err
21992  !Local variables
21993 
21994  enters("cmfe_DataProjection_NumberOfClosestElementsSetObj",err,error,*999)
21995 
21996  CALL dataprojection_numberofclosestelementsset(dataprojection%dataProjection,numberofclosestelements,err,error,*999)
21997 
21998  exits("cmfe_DataProjection_NumberOfClosestElementsSetObj")
21999  RETURN
22000 999 errors("cmfe_DataProjection_NumberOfClosestElementsSetObj",err,error)
22001  exits("cmfe_DataProjection_NumberOfClosestElementsSetObj")
22002  CALL cmfe_handleerror(err,error)
22003  RETURN
22004 
22006 
22007  !
22008  !================================================================================================================================
22009  !
22010 
22012  SUBROUTINE cmfe_dataprojection_projectiontypegetnumber(dataProjectionUserNumber,regionUserNumber,projectionType,err)
22013  !DLLEXPORT(cmfe_DataProjection_ProjectionTypeGetNumber)
22014 
22015  !Argument variables
22016  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22017  INTEGER(INTG), INTENT(IN) :: regionUserNumber
22018  INTEGER(INTG), INTENT(OUT) :: projectionType
22019  INTEGER(INTG), INTENT(OUT) :: err
22020  !Local variables
22021  TYPE(region_type), POINTER :: REGION
22022  TYPE(data_points_type), POINTER :: DATA_POINTS
22023  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22024  TYPE(varying_string) :: localError
22025  INTEGER(INTG) :: GLOBAL_NUMBER
22026 
22027  enters("cmfe_DataProjection_ProjectionTypeGetNumber",err,error,*999)
22028 
22029  NULLIFY(region)
22030  NULLIFY(data_points)
22031  NULLIFY(data_projection)
22032  CALL region_user_number_find(regionusernumber,region,err,error,*999)
22033  IF(ASSOCIATED(region)) THEN
22034  CALL region_data_points_get(region,data_points,err,error,*999)
22035  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
22036  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
22037  CALL data_projection_projection_type_get(data_projection,projectiontype,err,error,*999)
22038  ELSE
22039  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
22040  & " does not exist."
22041  CALL flagerror(localerror,err,error,*999)
22042  END IF
22043 
22044  exits("cmfe_DataProjection_ProjectionTypeGetNumber")
22045  RETURN
22046 999 errorsexits("cmfe_DataProjection_ProjectionTypeGetNumber",err,error)
22047  CALL cmfe_handleerror(err,error)
22048  RETURN
22049 
22051 
22052  !
22053  !================================================================================================================================
22054  !
22055 
22057  SUBROUTINE cmfe_dataprojection_projectiontypegetobj(dataProjection,projectionType,err)
22058  !DLLEXPORT(cmfe_DataProjection_ProjectionTypeGetObj)
22059 
22060  !Argument variables
22061  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
22062  INTEGER(INTG), INTENT(OUT) :: projectionType
22063  INTEGER(INTG), INTENT(OUT) :: err
22064  !Local variables
22065 
22066  enters("cmfe_DataProjection_ProjectionTypeGetObj",err,error,*999)
22067 
22068  CALL data_projection_projection_type_get(dataprojection%dataProjection,projectiontype,err,error,*999)
22069 
22070  exits("cmfe_DataProjection_ProjectionTypeGetObj")
22071  RETURN
22072 999 errorsexits("cmfe_DataProjection_ProjectionTypeGetObj",err,error)
22073  CALL cmfe_handleerror(err,error)
22074  RETURN
22075 
22077 
22078  !
22079  !================================================================================================================================
22080  !
22081 
22083  SUBROUTINE cmfe_dataprojection_projectiontypesetnumber(dataProjectionUserNumber,regionUserNumber,projectionType,err)
22084  !DLLEXPORT(cmfe_DataProjection_ProjectionTypeSetNumber)
22085 
22086  !Argument variables
22087  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22088  INTEGER(INTG), INTENT(IN) :: regionUserNumber
22089  INTEGER(INTG), INTENT(IN) :: projectionType
22090  INTEGER(INTG), INTENT(OUT) :: err
22091  !Local variables
22092  TYPE(region_type), POINTER :: REGION
22093  TYPE(data_points_type), POINTER :: DATA_POINTS
22094  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22095  TYPE(varying_string) :: localError
22096  INTEGER(INTG) :: GLOBAL_NUMBER
22097 
22098  enters("cmfe_DataProjection_ProjectionTypeSetNumber",err,error,*999)
22099 
22100  NULLIFY(region)
22101  NULLIFY(data_points)
22102  NULLIFY(data_projection)
22103  CALL region_user_number_find(regionusernumber,region,err,error,*999)
22104  IF(ASSOCIATED(region)) THEN
22105  CALL region_data_points_get(region,data_points,err,error,*999)
22106  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
22107  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
22108  CALL data_projection_projection_type_set(data_projection,projectiontype,err,error,*999)
22109  ELSE
22110  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
22111  & " does not exist."
22112  CALL flagerror(localerror,err,error,*999)
22113  END IF
22114 
22115  exits("cmfe_DataProjection_ProjectionTypeSetNumber")
22116  RETURN
22117 999 errorsexits("cmfe_DataProjection_ProjectionTypeSetNumber",err,error)
22118  CALL cmfe_handleerror(err,error)
22119  RETURN
22120 
22122 
22123  !
22124  !================================================================================================================================
22125  !
22126 
22128  SUBROUTINE cmfe_dataprojection_projectiontypesetobj(dataProjection,projectionType,err)
22129  !DLLEXPORT(cmfe_DataProjection_ProjectionTypeSetObj)
22130 
22131  !Argument variables
22132  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
22133  INTEGER(INTG), INTENT(IN) :: projectionType
22134  INTEGER(INTG), INTENT(OUT) :: err
22135  !Local variables
22136 
22137  enters("cmfe_DataProjection_ProjectionTypeSetObj",err,error,*999)
22138 
22139  CALL data_projection_projection_type_set(dataprojection%dataProjection,projectiontype,err,error,*999)
22140 
22141  exits("cmfe_DataProjection_ProjectionTypeSetObj")
22142  RETURN
22143 999 errorsexits("cmfe_DataProjection_ProjectionTypeSetObj",err,error)
22144  CALL cmfe_handleerror(err,error)
22145  RETURN
22146 
22148 
22149  !
22150  !================================================================================================================================
22151  !
22152 
22154  SUBROUTINE cmfe_dataprojection_relativetolerancegetnumber(dataProjectionUserNumber,regionUserNumber,relativeTolerance,err)
22155  !DLLEXPORT(cmfe_DataProjection_RelativeToleranceGetNumber)
22156 
22157  !Argument variables
22158  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22159  INTEGER(INTG), INTENT(IN) :: regionUserNumber
22160  REAL(DP), INTENT(OUT) :: relativeTolerance
22161  INTEGER(INTG), INTENT(OUT) :: err
22162  !Local variables
22163  TYPE(region_type), POINTER :: REGION
22164  TYPE(data_points_type), POINTER :: DATA_POINTS
22165  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22166  TYPE(varying_string) :: localError
22167  INTEGER(INTG) :: GLOBAL_NUMBER
22168 
22169  enters("cmfe_DataProjection_RelativeToleranceGetNumber",err,error,*999)
22170 
22171  NULLIFY(region)
22172  NULLIFY(data_points)
22173  NULLIFY(data_projection)
22174  CALL region_user_number_find(regionusernumber,region,err,error,*999)
22175  IF(ASSOCIATED(region)) THEN
22176  CALL region_data_points_get(region,data_points,err,error,*999)
22177  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
22178  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
22179  CALL data_projection_relative_tolerance_get(data_projection,relativetolerance,err,error,*999)
22180  ELSE
22181  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
22182  & " does not exist."
22183  CALL flagerror(localerror,err,error,*999)
22184  END IF
22185 
22186  exits("cmfe_DataProjection_RelativeToleranceGetNumber")
22187  RETURN
22188 999 errors("cmfe_DataProjection_RelativeToleranceGetNumber",err,error)
22189  exits("cmfe_DataProjection_RelativeToleranceGetNumber")
22190  CALL cmfe_handleerror(err,error)
22191  RETURN
22192 
22194 
22195  !
22196  !================================================================================================================================
22197  !
22198 
22200  SUBROUTINE cmfe_dataprojection_relativetolerancegetobj(dataProjection,relativeTolerance,err)
22201  !DLLEXPORT(cmfe_DataProjection_RelativeToleranceGetObj)
22202 
22203  !Argument variables
22204  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
22205  REAL(DP), INTENT(OUT) :: relativeTolerance
22206  INTEGER(INTG), INTENT(OUT) :: err
22207  !Local variables
22208 
22209  enters("cmfe_DataProjection_RelativeToleranceGetObj",err,error,*999)
22210 
22211  CALL data_projection_relative_tolerance_get(dataprojection%dataProjection,relativetolerance,err,error,*999)
22212 
22213  exits("cmfe_DataProjection_RelativeToleranceGetObj")
22214  RETURN
22215 999 errorsexits("cmfe_DataProjection_RelativeToleranceGetObj",err,error)
22216  CALL cmfe_handleerror(err,error)
22217  RETURN
22218 
22220 
22221  !
22222  !================================================================================================================================
22223  !
22224 
22226  SUBROUTINE cmfe_dataprojection_relativetolerancesetnumber(dataProjectionUserNumber,regionUserNumber,relativeTolerance,err)
22227  !DLLEXPORT(cmfe_DataProjection_RelativeToleranceSetNumber)
22228 
22229  !Argument variables
22230  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22231  INTEGER(INTG), INTENT(IN) :: regionUserNumber
22232  REAL(DP), INTENT(IN) :: relativeTolerance
22233  INTEGER(INTG), INTENT(OUT) :: err
22234  !Local variables
22235  TYPE(region_type), POINTER :: REGION
22236  TYPE(data_points_type), POINTER :: DATA_POINTS
22237  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22238  TYPE(varying_string) :: localError
22239  INTEGER(INTG) :: GLOBAL_NUMBER
22240 
22241  enters("cmfe_DataProjection_RelativeToleranceSetNumber",err,error,*999)
22242 
22243  NULLIFY(region)
22244  NULLIFY(data_points)
22245  NULLIFY(data_projection)
22246  CALL region_user_number_find(regionusernumber,region,err,error,*999)
22247  IF(ASSOCIATED(region)) THEN
22248  CALL region_data_points_get(region,data_points,err,error,*999)
22249  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
22250  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
22251  CALL data_projection_relative_tolerance_set(data_projection,relativetolerance,err,error,*999)
22252  ELSE
22253  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
22254  & " does not exist."
22255  CALL flagerror(localerror,err,error,*999)
22256  END IF
22257 
22258  exits("cmfe_DataProjection_RelativeToleranceSetNumber")
22259  RETURN
22260 999 errors("cmfe_DataProjection_RelativeToleranceSetNumber",err,error)
22261  exits("cmfe_DataProjection_RelativeToleranceSetNumber")
22262  CALL cmfe_handleerror(err,error)
22263  RETURN
22264 
22266 
22267  !
22268  !================================================================================================================================
22269  !
22270 
22272  SUBROUTINE cmfe_dataprojection_relativetolerancesetobj(dataProjection,relativeTolerance,err)
22273  !DLLEXPORT(cmfe_DataProjection_RelativeToleranceSetObj)
22274 
22275  !Argument variables
22276  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
22277  REAL(DP), INTENT(IN) :: relativeTolerance
22278  INTEGER(INTG), INTENT(OUT) :: err
22279  !Local variables
22280 
22281  enters("cmfe_DataProjection_RelativeToleranceSetObj",err,error,*999)
22282 
22283  CALL data_projection_relative_tolerance_set(dataprojection%dataProjection,relativetolerance,err,error,*999)
22284 
22285  exits("cmfe_DataProjection_RelativeToleranceSetObj")
22286  RETURN
22287 999 errorsexits("cmfe_DataProjection_RelativeToleranceSetObj",err,error)
22288  CALL cmfe_handleerror(err,error)
22289  RETURN
22290 
22292 
22293  !
22294  !================================================================================================================================
22295  !
22296 
22298  SUBROUTINE cmfe_dataprojection_startingxigetnumber(dataProjectionUserNumber,regionUserNumber,startingXi,err)
22299  !DLLEXPORT(cmfe_DataProjection_StartingXiGetNumber)
22300 
22301  !Argument variables
22302  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22303  INTEGER(INTG), INTENT(IN) :: regionUserNumber
22304  REAL(DP), INTENT(OUT) :: startingXi(:)
22305  INTEGER(INTG), INTENT(OUT) :: err
22306  !Local variables
22307  TYPE(region_type), POINTER :: REGION
22308  TYPE(data_points_type), POINTER :: DATA_POINTS
22309  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22310  TYPE(varying_string) :: localError
22311  INTEGER(INTG) :: GLOBAL_NUMBER
22312 
22313  enters("cmfe_DataProjection_StartingXiGetNumber",err,error,*999)
22314 
22315  NULLIFY(region)
22316  NULLIFY(data_points)
22317  NULLIFY(data_projection)
22318  CALL region_user_number_find(regionusernumber,region,err,error,*999)
22319  IF(ASSOCIATED(region)) THEN
22320  CALL region_data_points_get(region,data_points,err,error,*999)
22321  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
22322  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
22323  CALL data_projection_starting_xi_get(data_projection,startingxi,err,error,*999)
22324  ELSE
22325  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
22326  & " does not exist."
22327  CALL flagerror(localerror,err,error,*999)
22328  END IF
22329 
22330  exits("cmfe_DataProjection_StartingXiGetNumber")
22331  RETURN
22332 999 errorsexits("cmfe_DataProjection_StartingXiGetNumber",err,error)
22333  CALL cmfe_handleerror(err,error)
22334  RETURN
22335 
22337 
22338 
22339  !
22340  !================================================================================================================================
22341  !
22342 
22344  SUBROUTINE cmfe_dataprojection_startingxigetobj(dataProjection,startingXi,err)
22345  !DLLEXPORT(cmfe_DataProjection_StartingXiGetObj)
22346 
22347  !Argument variables
22348  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
22349  REAL(DP), INTENT(OUT) :: startingXi(:)
22350  INTEGER(INTG), INTENT(OUT) :: err
22351  !Local variables
22352 
22353  enters("cmfe_DataProjection_StartingXiGetObj",err,error,*999)
22354 
22355  CALL data_projection_starting_xi_get(dataprojection%dataProjection,startingxi,err,error,*999)
22356 
22357  exits("cmfe_DataProjection_StartingXiGetObj")
22358  RETURN
22359 999 errorsexits("cmfe_DataProjection_StartingXiGetObj",err,error)
22360  CALL cmfe_handleerror(err,error)
22361  RETURN
22362 
22364 
22365  !
22366  !================================================================================================================================
22367  !
22368 
22370  SUBROUTINE cmfe_dataprojection_startingxisetnumber(dataProjectionUserNumber,regionUserNumber,startingXi,err)
22371  !DLLEXPORT(cmfe_DataProjection_StartingXiSetNumber)
22372 
22373  !Argument variables
22374  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22375  INTEGER(INTG), INTENT(IN) :: regionUserNumber
22376  REAL(DP), INTENT(IN) :: startingXi(:)
22377  INTEGER(INTG), INTENT(OUT) :: err
22378  !Local variables
22379  TYPE(region_type), POINTER :: REGION
22380  TYPE(data_points_type), POINTER :: DATA_POINTS
22381  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22382  TYPE(varying_string) :: localError
22383  INTEGER(INTG) :: GLOBAL_NUMBER
22384 
22385  enters("cmfe_DataProjection_StartingXiSetNumber",err,error,*999)
22386 
22387  NULLIFY(region)
22388  NULLIFY(data_points)
22389  NULLIFY(data_projection)
22390  CALL region_user_number_find(regionusernumber,region,err,error,*999)
22391  IF(ASSOCIATED(region)) THEN
22392  CALL region_data_points_get(region,data_points,err,error,*999)
22393  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
22394  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
22395  CALL data_projection_starting_xi_set(data_projection,startingxi,err,error,*999)
22396  ELSE
22397  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
22398  & " does not exist."
22399  CALL flagerror(localerror,err,error,*999)
22400  END IF
22401 
22402  exits("cmfe_DataProjection_StartingXiSetNumber")
22403  RETURN
22404 999 errorsexits("cmfe_DataProjection_StartingXiSetNumber",err,error)
22405  CALL cmfe_handleerror(err,error)
22406  RETURN
22407 
22409 
22410  !
22411  !================================================================================================================================
22412  !
22413 
22415  SUBROUTINE cmfe_dataprojection_startingxisetobj(dataProjection,startingXi,err)
22416  !DLLEXPORT(cmfe_DataProjection_StartingXiSetObj)
22417 
22418  !Argument variables
22419  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
22420  REAL(DP), INTENT(IN) :: startingXi(:)
22421  INTEGER(INTG), INTENT(OUT) :: err
22422  !Local variables
22423 
22424  enters("cmfe_DataProjection_StartingXiSetObj",err,error,*999)
22425 
22426  CALL data_projection_starting_xi_set(dataprojection%dataProjection,startingxi,err,error,*999)
22427 
22428  exits("cmfe_DataProjection_StartingXiSetObj")
22429  RETURN
22430 999 errorsexits("cmfe_DataProjection_StartingXiSetObj",err,error)
22431  CALL cmfe_handleerror(err,error)
22432  RETURN
22433 
22435 
22436  !
22437  !================================================================================================================================
22438  !
22439 
22441  SUBROUTINE cmfe_dataprojection_elementsetinterfacenumber(dataProjectionUserNumber,parentRegionUserNumber,interfaceUserNumber, &
22442  & datapointnumber,elementnumber,err)
22443  !DLLEXPORT(cmfe_DataProjection_ElementSetInterfaceNumber)
22444 
22445  !Argument variables
22446  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22447  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
22448  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
22449  INTEGER(INTG), INTENT(IN) :: dataPointNumber
22450  INTEGER(INTG), INTENT(IN) :: elementNumber
22451  INTEGER(INTG), INTENT(OUT) :: err
22452  !Local variables
22453  TYPE(region_type), POINTER :: PARENT_REGION
22454  TYPE(interface_type), POINTER :: INTERFACE
22455  TYPE(data_points_type), POINTER :: DATA_POINTS
22456  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22457  TYPE(varying_string) :: localError
22458  INTEGER(INTG) :: GLOBAL_NUMBER
22459 
22460  enters("cmfe_DataProjection_ElementSetInterfaceNumber",err,error,*999)
22461 
22462  NULLIFY(parent_region)
22463  NULLIFY(interface)
22464  NULLIFY(data_points)
22465  NULLIFY(data_projection)
22466  CALL region_user_number_find(parentregionusernumber,parent_region,err,error,*999)
22467  IF(ASSOCIATED(parent_region)) THEN
22468  CALL interface_user_number_find(interfaceusernumber,parent_region,interface,err,error,*999)
22469  IF(ASSOCIATED(interface)) THEN
22470  CALL interface_data_points_get(interface,data_points,err,error,*999)
22471  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
22472  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
22473  CALL data_projection_element_set(data_projection,datapointnumber,elementnumber,err,error,*999)
22474  ELSE
22475  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
22476  & " does not exist."
22477  CALL flagerror(localerror,err,error,*999)
22478  ENDIF
22479  ELSE
22480  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
22481  & " does not exist."
22482  CALL flagerror(localerror,err,error,*999)
22483  ENDIF
22484 
22485  exits("cmfe_DataProjection_ElementSetInterfaceNumber")
22486  RETURN
22487 999 errors("cmfe_DataProjection_ElementSetInterfaceNumber",err,error)
22488  exits("cmfe_DataProjection_ElementSetInterfaceNumber")
22489  CALL cmfe_handleerror(err,error)
22490  RETURN
22491 
22493 
22494  !
22495  !================================================================================================================================
22496  !
22497 
22499  SUBROUTINE cmfe_dataprojection_elementsetregionnumber(dataProjectionUserNumber,regionUserNumber,dataPointNumber,elementNumber,err)
22500  !DLLEXPORT(cmfe_DataProjection_ElementSetRegionNumber)
22501 
22502  !Argument variables
22503  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22504  INTEGER(INTG), INTENT(IN) :: regionUserNumber
22505  INTEGER(INTG), INTENT(IN) :: dataPointNumber
22506  INTEGER(INTG), INTENT(IN) :: elementNumber
22507  INTEGER(INTG), INTENT(OUT) :: err
22508  !Local variables
22509  TYPE(region_type), POINTER :: REGION
22510  TYPE(data_points_type), POINTER :: DATA_POINTS
22511  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22512  TYPE(varying_string) :: localError
22513  INTEGER(INTG) :: GLOBAL_NUMBER
22514 
22515  enters("cmfe_DataProjection_ElementSetRegionNumber",err,error,*999)
22516 
22517  NULLIFY(region)
22518  NULLIFY(data_points)
22519  NULLIFY(data_projection)
22520  CALL region_user_number_find(regionusernumber,region,err,error,*999)
22521  IF(ASSOCIATED(region)) THEN
22522  CALL region_data_points_get(region,data_points,err,error,*999)
22523  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,global_number,err,error,*999)
22524  CALL data_points_data_projection_get(data_points,global_number,data_projection,err,error,*999)
22525  CALL data_projection_element_set(data_projection,datapointnumber,elementnumber,err,error,*999)
22526  ELSE
22527  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
22528  & " does not exist."
22529  CALL flagerror(localerror,err,error,*999)
22530  END IF
22531 
22532  exits("cmfe_DataProjection_ElementSetRegionNumber")
22533  RETURN
22534 999 errorsexits("cmfe_DataProjection_ElementSetRegionNumber",err,error)
22535  CALL cmfe_handleerror(err,error)
22536  RETURN
22537 
22539 
22540  !
22541  !================================================================================================================================
22542  !
22543 
22545  SUBROUTINE cmfe_dataprojection_elementsetobj(dataProjection,dataPointNumber,elementNumber,err)
22546  !DLLEXPORT(cmfe_DataProjection_ElementSetObj)
22547 
22548  !Argument variables
22549  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
22550  INTEGER(INTG), INTENT(IN) :: dataPointNumber
22551  INTEGER(INTG), INTENT(IN) :: elementNumber
22552  INTEGER(INTG), INTENT(OUT) :: err
22553  !Local variables
22554 
22555  enters("cmfe_DataProjection_ElementSetObj",err,error,*999)
22556 
22557  CALL data_projection_element_set(dataprojection%dataProjection,datapointnumber,elementnumber,err,error,*999)
22558 
22559  exits("cmfe_DataProjection_ElementSetObj")
22560  RETURN
22561 999 errorsexits("cmfe_DataProjection_ElementSetObj",err,error)
22562  CALL cmfe_handleerror(err,error)
22563  RETURN
22564 
22565  END SUBROUTINE cmfe_dataprojection_elementsetobj
22566 
22567  !
22568  !================================================================================================================================
22569  !
22570 
22572  SUBROUTINE cmfe_dataprojection_labelgetcinterfacenumber(dataProjectionUserNumber,parentRegionUserNumber,interfaceUserNumber, &
22573  & label,err)
22574  !DLLEXPORT(cmfe_DataProjection_LabelGetCInterfaceNumber)
22575 
22576  !Argument variables
22577  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22578  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
22579  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
22580  CHARACTER(LEN=*), INTENT(OUT) :: label
22581  INTEGER(INTG), INTENT(OUT) :: err
22582  !Local variables
22583  TYPE(region_type), POINTER :: PARENT_REGION
22584  TYPE(interface_type), POINTER :: INTERFACE
22585  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22586  TYPE(varying_string) :: localError
22587 
22588  enters("cmfe_DataProjection_LabelGetCInterfaceNumber",err,error,*999)
22589 
22590  NULLIFY(parent_region)
22591  NULLIFY(interface)
22592  NULLIFY(data_projection)
22593  CALL region_user_number_find(parentregionusernumber,parent_region,err,error,*999)
22594  IF(ASSOCIATED(parent_region)) THEN
22595  CALL interface_user_number_find(interfaceusernumber,parent_region,interface,err,error,*999)
22596  IF(ASSOCIATED(interface)) THEN
22597  CALL data_projection_label_get(data_projection,label,err,error,*999)
22598  ELSE
22599  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
22600  & " does not exist."
22601  CALL flagerror(localerror,err,error,*999)
22602  ENDIF
22603  ELSE
22604  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
22605  & " does not exist."
22606  CALL flagerror(localerror,err,error,*999)
22607  ENDIF
22608 
22609  exits("cmfe_DataProjection_LabelGetCInterfaceNumber")
22610  RETURN
22611 999 errors("cmfe_DataProjection_LabelGetCInterfaceNumber",err,error)
22612  exits("cmfe_DataProjection_LabelGetCInterfaceNumber")
22613  CALL cmfe_handleerror(err,error)
22614  RETURN
22615 
22617 
22618  !
22619  !================================================================================================================================
22620  !
22621 
22623  SUBROUTINE cmfe_dataprojection_labelgetvsinterfacenumber(dataProjectionUserNumber,parentRegionUserNumber,interfaceUserNumber, &
22624  & label,err)
22625  !DLLEXPORT(cmfe_DataProjection_LabelGetVSInterfaceNumber)
22626 
22627  !Argument variables
22628  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22629  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
22630  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
22631  TYPE(varying_string), INTENT(OUT) :: label
22632  INTEGER(INTG), INTENT(OUT) :: err
22633  !Local variables
22634  TYPE(region_type), POINTER :: PARENT_REGION
22635  TYPE(interface_type), POINTER :: INTERFACE
22636  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22637  TYPE(varying_string) :: localError
22638 
22639  enters("cmfe_DataProjection_LabelGetVSInterfaceNumber",err,error,*999)
22640 
22641  NULLIFY(parent_region)
22642  NULLIFY(interface)
22643  NULLIFY(data_projection)
22644  CALL region_user_number_find(parentregionusernumber,parent_region,err,error,*999)
22645  IF(ASSOCIATED(parent_region)) THEN
22646  CALL interface_user_number_find(interfaceusernumber,parent_region,interface,err,error,*999)
22647  IF(ASSOCIATED(interface)) THEN
22648  CALL data_projection_label_get(data_projection,label,err,error,*999)
22649  ELSE
22650  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
22651  & " does not exist."
22652  CALL flagerror(localerror,err,error,*999)
22653  ENDIF
22654  ELSE
22655  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
22656  & " does not exist."
22657  CALL flagerror(localerror,err,error,*999)
22658  ENDIF
22659 
22660  exits("cmfe_DataProjection_LabelGetVSInterfaceNumber")
22661  RETURN
22662 999 errors("cmfe_DataProjection_LabelGetVSInterfaceNumber",err,error)
22663  exits("cmfe_DataProjection_LabelGetVSInterfaceNumber")
22664  CALL cmfe_handleerror(err,error)
22665  RETURN
22666 
22668 
22669  !
22670  !================================================================================================================================
22671  !
22672 
22674  SUBROUTINE cmfe_dataprojection_labelgetcregionnumber(dataProjectionUserNumber,regionUserNumber,label,err)
22675  !DLLEXPORT(cmfe_DataProjection_LabelGetCRegionNumber)
22676 
22677  !Argument variables
22678  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22679  INTEGER(INTG), INTENT(IN) :: regionUserNumber
22680  CHARACTER(LEN=*), INTENT(OUT) :: label
22681  INTEGER(INTG), INTENT(OUT) :: err
22682  !Local variables
22683  TYPE(region_type), POINTER :: REGION
22684  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22685  TYPE(varying_string) :: localError
22686 
22687  enters("cmfe_DataProjection_LabelGetCRegionNumber",err,error,*999)
22688 
22689  NULLIFY(region)
22690  NULLIFY(data_projection)
22691  CALL region_user_number_find(regionusernumber,region,err,error,*999)
22692  IF(ASSOCIATED(region)) THEN
22693  CALL data_projection_label_get(data_projection,label,err,error,*999)
22694  ELSE
22695  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
22696  & " does not exist."
22697  CALL flagerror(localerror,err,error,*999)
22698  END IF
22699 
22700  exits("cmfe_DataProjection_LabelGetRegionNumber")
22701  RETURN
22702 999 errorsexits("cmfe_DataProjection_LabelGetCRegionNumber",err,error)
22703  CALL cmfe_handleerror(err,error)
22704  RETURN
22705 
22707 
22708  !
22709  !================================================================================================================================
22710  !
22711 
22713  SUBROUTINE cmfe_dataprojection_labelgetvsregionnumber(dataProjectionUserNumber,regionUserNumber,label,err)
22714  !DLLEXPORT(cmfe_DataProjection_LabelGetVSRegionNumber)
22715 
22716  !Argument variables
22717  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22718  INTEGER(INTG), INTENT(IN) :: regionUserNumber
22719  TYPE(varying_string), INTENT(OUT) :: label
22720  INTEGER(INTG), INTENT(OUT) :: err
22721  !Local variables
22722  TYPE(region_type), POINTER :: REGION
22723  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22724  TYPE(varying_string) :: localError
22725 
22726  enters("cmfe_DataProjection_LabelGetVSRegionNumber",err,error,*999)
22727 
22728  NULLIFY(region)
22729  NULLIFY(data_projection)
22730  CALL region_user_number_find(regionusernumber,region,err,error,*999)
22731  IF(ASSOCIATED(region)) THEN
22732  CALL data_projection_label_get(data_projection,label,err,error,*999)
22733  ELSE
22734  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
22735  & " does not exist."
22736  CALL flagerror(localerror,err,error,*999)
22737  END IF
22738 
22739  exits("cmfe_DataProjection_LabelGetVSRegionNumber")
22740  RETURN
22741 999 errorsexits("cmfe_DataProjection_LabelGetVSRegionNumber",err,error)
22742  CALL cmfe_handleerror(err,error)
22743  RETURN
22744 
22746 
22747  !
22748  !================================================================================================================================
22749  !
22750 
22752  SUBROUTINE cmfe_dataprojection_labelgetcobj(dataProjection,label,err)
22753  !DLLEXPORT(cmfe_DataProjection_LabelGetCObj)
22754 
22755  !Argument variables
22756  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
22757  CHARACTER(LEN=*), INTENT(OUT) :: label
22758  INTEGER(INTG), INTENT(OUT) :: err
22759  !Local variables
22760 
22761  enters("cmfe_DataProjection_LabelGetCObj",err,error,*999)
22762 
22763  CALL data_projection_label_get(dataprojection%dataProjection,label,err,error,*999)
22764 
22765  exits("cmfe_DataProjection_LabelGetCObj")
22766  RETURN
22767 999 errorsexits("cmfe_DataProjection_LabelGetCObj",err,error)
22768  CALL cmfe_handleerror(err,error)
22769  RETURN
22770 
22771  END SUBROUTINE cmfe_dataprojection_labelgetcobj
22772 
22773  !
22774  !================================================================================================================================
22775  !
22776 
22778  SUBROUTINE cmfe_dataprojection_labelgetvsobj(dataProjection,label,err)
22779  !DLLEXPORT(cmfe_DataProjection_LabelGetVSObj)
22780 
22781  !Argument variables
22782  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
22783  TYPE(varying_string), INTENT(OUT) :: label
22784  INTEGER(INTG), INTENT(OUT) :: err
22785  !Local variables
22786 
22787  enters("cmfe_DataProjection_LabelGetVSObj",err,error,*999)
22788 
22789  CALL data_projection_label_get(dataprojection%dataProjection,label,err,error,*999)
22790 
22791  exits("cmfe_DataProjection_LabelGetVSObj")
22792  RETURN
22793 999 errorsexits("cmfe_DataProjection_LabelGetVSObj",err,error)
22794  CALL cmfe_handleerror(err,error)
22795  RETURN
22796 
22797  END SUBROUTINE cmfe_dataprojection_labelgetvsobj
22798 
22799  !
22800  !================================================================================================================================
22801  !
22802 
22804  SUBROUTINE cmfe_dataprojection_labelsetcinterfacenumber(dataProjectionUserNumber,parentRegionUserNumber,interfaceUserNumber, &
22805  & label,err)
22806  !DLLEXPORT(cmfe_DataProjection_LabelSetCInterfaceNumber)
22807 
22808  !Argument variables
22809  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22810  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
22811  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
22812  CHARACTER(LEN=*), INTENT(IN) :: label
22813  INTEGER(INTG), INTENT(OUT) :: err
22814  !Local variables
22815  TYPE(region_type), POINTER :: PARENT_REGION
22816  TYPE(interface_type), POINTER :: INTERFACE
22817  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22818  TYPE(varying_string) :: localError
22819 
22820  enters("cmfe_DataProjection_LabelSetCInterfaceNumber",err,error,*999)
22821 
22822  NULLIFY(parent_region)
22823  NULLIFY(interface)
22824  NULLIFY(data_projection)
22825  CALL region_user_number_find(parentregionusernumber,parent_region,err,error,*999)
22826  IF(ASSOCIATED(parent_region)) THEN
22827  CALL interface_user_number_find(interfaceusernumber,parent_region,interface,err,error,*999)
22828  IF(ASSOCIATED(interface)) THEN
22829  CALL data_projection_label_set(data_projection,label,err,error,*999)
22830  ELSE
22831  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
22832  & " does not exist."
22833  CALL flagerror(localerror,err,error,*999)
22834  ENDIF
22835  ELSE
22836  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
22837  & " does not exist."
22838  CALL flagerror(localerror,err,error,*999)
22839  ENDIF
22840 
22841  exits("cmfe_DataProjection_LabelSetCInterfaceNumber")
22842  RETURN
22843 999 errors("cmfe_DataProjection_LabelSetCInterfaceNumber",err,error)
22844  exits("cmfe_DataProjection_LabelSetCInterfaceNumber")
22845  CALL cmfe_handleerror(err,error)
22846  RETURN
22847 
22849 
22850  !
22851  !================================================================================================================================
22852  !
22853 
22855  SUBROUTINE cmfe_dataprojection_labelsetvsinterfacenumber(dataProjectionUserNumber,parentRegionUserNumber,interfaceUserNumber, &
22856  & label,err)
22857  !DLLEXPORT(cmfe_DataProjection_LabelSetVSInterfaceNumber)
22858 
22859  !Argument variables
22860  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22861  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
22862  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
22863  TYPE(varying_string), INTENT(IN) :: label
22864  INTEGER(INTG), INTENT(OUT) :: err
22865  !Local variables
22866  TYPE(region_type), POINTER :: PARENT_REGION
22867  TYPE(interface_type), POINTER :: INTERFACE
22868  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22869  TYPE(varying_string) :: localError
22870 
22871  enters("cmfe_DataProjection_LabelSetVSInterfaceNumber",err,error,*999)
22872 
22873  NULLIFY(parent_region)
22874  NULLIFY(interface)
22875  NULLIFY(data_projection)
22876  CALL region_user_number_find(parentregionusernumber,parent_region,err,error,*999)
22877  IF(ASSOCIATED(parent_region)) THEN
22878  CALL interface_user_number_find(interfaceusernumber,parent_region,interface,err,error,*999)
22879  IF(ASSOCIATED(interface)) THEN
22880  CALL data_projection_label_set(data_projection,label,err,error,*999)
22881  ELSE
22882  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
22883  & " does not exist."
22884  CALL flagerror(localerror,err,error,*999)
22885  ENDIF
22886  ELSE
22887  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
22888  & " does not exist."
22889  CALL flagerror(localerror,err,error,*999)
22890  ENDIF
22891 
22892  exits("cmfe_DataProjection_LabelSetVSInterfaceNumber")
22893  RETURN
22894 999 errors("cmfe_DataProjection_LabelSetVSInterfaceNumber",err,error)
22895  exits("cmfe_DataProjection_LabelSetVSInterfaceNumber")
22896  CALL cmfe_handleerror(err,error)
22897  RETURN
22898 
22900 
22901  !
22902  !================================================================================================================================
22903  !
22904 
22906  SUBROUTINE cmfe_dataprojection_labelsetcregionnumber(dataProjectionUserNumber,regionUserNumber,label,err)
22907  !DLLEXPORT(cmfe_DataProjection_LabelSetCRegionNumber)
22908 
22909  !Argument variables
22910  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22911  INTEGER(INTG), INTENT(IN) :: regionUserNumber
22912  CHARACTER(LEN=*), INTENT(IN) :: label
22913  INTEGER(INTG), INTENT(OUT) :: err
22914  !Local variables
22915  TYPE(region_type), POINTER :: REGION
22916  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22917  TYPE(varying_string) :: localError
22918 
22919  enters("cmfe_DataProjection_LabelSetCRegionNumber",err,error,*999)
22920 
22921  NULLIFY(region)
22922  NULLIFY(data_projection)
22923  CALL region_user_number_find(regionusernumber,region,err,error,*999)
22924  IF(ASSOCIATED(region)) THEN
22925  CALL data_projection_label_set(data_projection,label,err,error,*999)
22926  ELSE
22927  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
22928  & " does not exist."
22929  CALL flagerror(localerror,err,error,*999)
22930  END IF
22931 
22932  exits("cmfe_DataProjection_LabelSetRegionNumber")
22933  RETURN
22934 999 errorsexits("cmfe_DataProjection_LabelSetCRegionNumber",err,error)
22935  CALL cmfe_handleerror(err,error)
22936  RETURN
22937 
22939 
22940  !
22941  !================================================================================================================================
22942  !
22943 
22945  SUBROUTINE cmfe_dataprojection_labelsetvsregionnumber(dataProjectionUserNumber,regionUserNumber,label,err)
22946  !DLLEXPORT(cmfe_DataProjection_LabelSetVSRegionNumber)
22947 
22948  !Argument variables
22949  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
22950  INTEGER(INTG), INTENT(IN) :: regionUserNumber
22951  TYPE(varying_string), INTENT(IN) :: label
22952  INTEGER(INTG), INTENT(OUT) :: err
22953  !Local variables
22954  TYPE(region_type), POINTER :: REGION
22955  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
22956  TYPE(varying_string) :: localError
22957 
22958  enters("cmfe_DataProjection_LabelSetVSRegionNumber",err,error,*999)
22959 
22960  NULLIFY(region)
22961  NULLIFY(data_projection)
22962  CALL region_user_number_find(regionusernumber,region,err,error,*999)
22963  IF(ASSOCIATED(region)) THEN
22964  CALL data_projection_label_set(data_projection,label,err,error,*999)
22965  ELSE
22966  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
22967  & " does not exist."
22968  CALL flagerror(localerror,err,error,*999)
22969  END IF
22970 
22971  exits("cmfe_DataProjection_LabelSetVSRegionNumber")
22972  RETURN
22973 999 errorsexits("cmfe_DataProjection_LabelSetVSRegionNumber",err,error)
22974  CALL cmfe_handleerror(err,error)
22975  RETURN
22976 
22978 
22979  !
22980  !================================================================================================================================
22981  !
22982 
22984  SUBROUTINE cmfe_dataprojection_labelsetcobj(dataProjection,label,err)
22985  !DLLEXPORT(cmfe_DataProjection_LabelSetCObj)
22986 
22987  !Argument variables
22988  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
22989  CHARACTER(LEN=*), INTENT(IN) :: label
22990  INTEGER(INTG), INTENT(OUT) :: err
22991  !Local variables
22992 
22993  enters("cmfe_DataProjection_LabelSetCObj",err,error,*999)
22994 
22995  CALL data_projection_label_set(dataprojection%dataProjection,label,err,error,*999)
22996 
22997  exits("cmfe_DataProjection_LabelSetCObj")
22998  RETURN
22999 999 errorsexits("cmfe_DataProjection_LabelSetCObj",err,error)
23000  CALL cmfe_handleerror(err,error)
23001  RETURN
23002 
23003  END SUBROUTINE cmfe_dataprojection_labelsetcobj
23004 
23005  !
23006  !================================================================================================================================
23007  !
23008 
23010  SUBROUTINE cmfe_dataprojection_labelsetvsobj(dataProjection,label,err)
23011  !DLLEXPORT(cmfe_DataProjection_LabelSetVSObj)
23012 
23013  !Argument variables
23014  TYPE(cmfe_dataprojectiontype), INTENT(INOUT) :: dataProjection
23015  TYPE(varying_string), INTENT(IN) :: label
23016  INTEGER(INTG), INTENT(OUT) :: err
23017  !Local variables
23018 
23019  enters("cmfe_DataProjection_LabelSetVSObj",err,error,*999)
23020 
23021  CALL data_projection_label_set(dataprojection%dataProjection,label,err,error,*999)
23022 
23023  exits("cmfe_DataProjection_LabelSetVSObj")
23024  RETURN
23025 999 errorsexits("cmfe_DataProjection_LabelSetVSObj",err,error)
23026  CALL cmfe_handleerror(err,error)
23027  RETURN
23028 
23029  END SUBROUTINE cmfe_dataprojection_labelsetvsobj
23030 
23031 !!==================================================================================================================================
23032 !!
23033 !! EQUATIONS_ROUTINES
23034 !!
23035 !!==================================================================================================================================
23036 
23038  SUBROUTINE cmfe_equations_destroynumber(regionUserNumber,equationsSetUserNumber,err)
23039  !DLLEXPORT(cmfe_Equations_DestroyNumber)
23040 
23041  !Argument variables
23042  INTEGER(INTG), INTENT(IN) :: regionUserNumber
23043  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
23044  INTEGER(INTG), INTENT(OUT) :: err
23045  !Local variables
23046  TYPE(equations_type), POINTER :: EQUATIONS
23047  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
23048  TYPE(region_type), POINTER :: REGION
23049  TYPE(varying_string) :: localError
23050 
23051  enters("cmfe_Equations_DestroyNumber",err,error,*999)
23052 
23053  NULLIFY(region)
23054  NULLIFY(equations_set)
23055  NULLIFY(equations)
23056  CALL region_user_number_find(regionusernumber,region,err,error,*999)
23057  IF(ASSOCIATED(region)) THEN
23058  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
23059  IF(ASSOCIATED(equations_set)) THEN
23060  CALL equations_set_equations_get(equations_set,equations,err,error,*999)
23061  CALL equations_destroy(equations,err,error,*999)
23062  ELSE
23063  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
23064  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
23065  CALL flagerror(localerror,err,error,*999)
23066  END IF
23067  ELSE
23068  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
23069  CALL flagerror(localerror,err,error,*999)
23070  END IF
23071 
23072  exits("cmfe_Equations_DestroyNumber")
23073  RETURN
23074 999 errorsexits("cmfe_Equations_DestroyNumber",err,error)
23075  CALL cmfe_handleerror(err,error)
23076  RETURN
23077 
23078  END SUBROUTINE cmfe_equations_destroynumber
23079 
23080  !
23081  !================================================================================================================================
23082  !
23083 
23085  SUBROUTINE cmfe_equations_destroyobj(equations,err)
23086  !DLLEXPORT(cmfe_Equations_DestroyObj)
23087 
23088  !Argument variables
23089  TYPE(cmfe_equationstype), INTENT(INOUT) :: equations
23090  INTEGER(INTG), INTENT(OUT) :: err
23091  !Local variables
23092 
23093  enters("cmfe_Equations_DestroyObj",err,error,*999)
23094 
23095  CALL equations_destroy(equations%equations,err,error,*999)
23096 
23097  exits("cmfe_Equations_DestroyObj")
23098  RETURN
23099 999 errorsexits("cmfe_Equations_DestroyObj",err,error)
23100  CALL cmfe_handleerror(err,error)
23101  RETURN
23102 
23103  END SUBROUTINE cmfe_equations_destroyobj
23104 
23105  !
23106  !================================================================================================================================
23107  !
23108 
23110  SUBROUTINE cmfe_equations_linearitytypegetnumber(regionUserNumber,equationsSetUserNumber,linearityType,err)
23111  !DLLEXPORT(cmfe_Equations_LinearityTypeGetNumber)
23112 
23113  !Argument variables
23114  INTEGER(INTG), INTENT(IN) :: regionUserNumber
23115  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
23116  INTEGER(INTG), INTENT(OUT) :: linearityType
23117  INTEGER(INTG), INTENT(OUT) :: err
23118  !Local variables
23119  TYPE(equations_type), POINTER :: EQUATIONS
23120  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
23121  TYPE(region_type), POINTER :: REGION
23122  TYPE(varying_string) :: localError
23123 
23124  enters("cmfe_Equations_LinearityTypeGetNumber",err,error,*999)
23125 
23126  NULLIFY(region)
23127  NULLIFY(equations_set)
23128  NULLIFY(equations)
23129  CALL region_user_number_find(regionusernumber,region,err,error,*999)
23130  IF(ASSOCIATED(region)) THEN
23131  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
23132  IF(ASSOCIATED(equations_set)) THEN
23133  CALL equations_set_equations_get(equations_set,equations,err,error,*999)
23134  CALL equations_linearity_type_get(equations,linearitytype,err,error,*999)
23135  ELSE
23136  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
23137  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
23138  CALL flagerror(localerror,err,error,*999)
23139  END IF
23140  ELSE
23141  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
23142  CALL flagerror(localerror,err,error,*999)
23143  END IF
23144 
23145  exits("cmfe_Equations_LinearityTypeGetNumber")
23146  RETURN
23147 999 errorsexits("cmfe_Equations_LinearityTypeGetNumber",err,error)
23148  CALL cmfe_handleerror(err,error)
23149  RETURN
23150 
23152 
23153  !
23154  !================================================================================================================================
23155  !
23156 
23158  SUBROUTINE cmfe_equations_linearitytypegetobj(equations,linearityType,err)
23159  !DLLEXPORT(cmfe_Equations_LinearityTypeGetObj)
23160 
23161  !Argument variables
23162  TYPE(cmfe_equationstype), INTENT(IN) :: equations
23163  INTEGER(INTG), INTENT(OUT) :: linearityType
23164  INTEGER(INTG), INTENT(OUT) :: err
23165  !Local variables
23166 
23167  enters("cmfe_Equations_LinearityTypeGetObj",err,error,*999)
23168 
23169  CALL equations_linearity_type_get(equations%equations,linearitytype,err,error,*999)
23170 
23171  exits("cmfe_Equations_LinearityTypeGetObj")
23172  RETURN
23173 999 errorsexits("cmfe_Equations_LinearityTypeGetObj",err,error)
23174  CALL cmfe_handleerror(err,error)
23175  RETURN
23176 
23177  END SUBROUTINE cmfe_equations_linearitytypegetobj
23178 
23179  !
23180  !================================================================================================================================
23181  !
23182 
23184  SUBROUTINE cmfe_equations_lumpingtypegetnumber(regionUserNumber,equationsSetUserNumber,lumpingType,err)
23185  !DLLEXPORT(cmfe_Equations_LumpingTypeGetNumber)
23186 
23187  !Argument variables
23188  INTEGER(INTG), INTENT(IN) :: regionUserNumber
23189  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
23190  INTEGER(INTG), INTENT(OUT) :: lumpingType
23191  INTEGER(INTG), INTENT(OUT) :: err
23192  !Local variables
23193  TYPE(equations_type), POINTER :: EQUATIONS
23194  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
23195  TYPE(region_type), POINTER :: REGION
23196  TYPE(varying_string) :: localError
23197 
23198  enters("cmfe_Equations_LumpingTypeGetNumber",err,error,*999)
23199 
23200  NULLIFY(region)
23201  NULLIFY(equations_set)
23202  NULLIFY(equations)
23203  CALL region_user_number_find(regionusernumber,region,err,error,*999)
23204  IF(ASSOCIATED(region)) THEN
23205  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
23206  IF(ASSOCIATED(equations_set)) THEN
23207  CALL equations_set_equations_get(equations_set,equations,err,error,*999)
23208  CALL equations_lumping_type_get(equations,lumpingtype,err,error,*999)
23209  ELSE
23210  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
23211  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
23212  CALL flagerror(localerror,err,error,*999)
23213  END IF
23214  ELSE
23215  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
23216  CALL flagerror(localerror,err,error,*999)
23217  END IF
23218 
23219  exits("cmfe_Equations_LumpingTypeGetNumber")
23220  RETURN
23221 999 errorsexits("cmfe_Equations_LumpingTypeGetNumber",err,error)
23222  CALL cmfe_handleerror(err,error)
23223  RETURN
23224 
23226 
23227  !
23228  !================================================================================================================================
23229  !
23230 
23232  SUBROUTINE cmfe_equations_lumpingtypegetobj(equations,lumpingType,err)
23233  !DLLEXPORT(cmfe_Equations_LumpingTypeGetObj)
23234 
23235  !Argument variables
23236  TYPE(cmfe_equationstype), INTENT(IN) :: equations
23237  INTEGER(INTG), INTENT(OUT) :: lumpingType
23238  INTEGER(INTG), INTENT(OUT) :: err
23239  !Local variables
23240 
23241  enters("cmfe_Equations_LumpingTypeGetObj",err,error,*999)
23242 
23243  CALL equations_lumping_type_get(equations%equations,lumpingtype,err,error,*999)
23244 
23245  exits("cmfe_Equations_LumpingTypeGetObj")
23246  RETURN
23247 999 errorsexits("cmfe_Equations_LumpingTypeGetObj",err,error)
23248  CALL cmfe_handleerror(err,error)
23249  RETURN
23250 
23251  END SUBROUTINE cmfe_equations_lumpingtypegetobj
23252 
23253  !
23254  !================================================================================================================================
23255  !
23256 
23258  SUBROUTINE cmfe_equations_lumpingtypesetnumber(regionUserNumber,equationsSetUserNumber,lumpingType,err)
23259  !DLLEXPORT(cmfe_Equations_LumpingTypeSetNumber)
23260 
23261  !Argument variables
23262  INTEGER(INTG), INTENT(IN) :: regionUserNumber
23263  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
23264  INTEGER(INTG), INTENT(IN) :: lumpingType
23265  INTEGER(INTG), INTENT(OUT) :: err
23266  !Local variables
23267  TYPE(equations_type), POINTER :: EQUATIONS
23268  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
23269  TYPE(region_type), POINTER :: REGION
23270  TYPE(varying_string) :: localError
23271 
23272  enters("cmfe_Equations_LumpingTypeSetNumber",err,error,*999)
23273 
23274  NULLIFY(region)
23275  NULLIFY(equations_set)
23276  NULLIFY(equations)
23277  CALL region_user_number_find(regionusernumber,region,err,error,*999)
23278  IF(ASSOCIATED(region)) THEN
23279  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
23280  IF(ASSOCIATED(equations_set)) THEN
23281  CALL equations_set_equations_get(equations_set,equations,err,error,*999)
23282  CALL equations_lumping_type_set(equations,lumpingtype,err,error,*999)
23283  ELSE
23284  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
23285  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
23286  CALL flagerror(localerror,err,error,*999)
23287  END IF
23288  ELSE
23289  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
23290  CALL flagerror(localerror,err,error,*999)
23291  END IF
23292 
23293  exits("cmfe_Equations_LumpingTypeSetNumber")
23294  RETURN
23295 999 errorsexits("cmfe_Equations_LumpingTypeSetNumber",err,error)
23296  CALL cmfe_handleerror(err,error)
23297  RETURN
23298 
23300 
23301  !
23302  !================================================================================================================================
23303  !
23304 
23306  SUBROUTINE cmfe_equations_lumpingtypesetobj(equations,lumpingType,err)
23307  !DLLEXPORT(cmfe_Equations_LumpingTypeSetObj)
23308 
23309  !Argument variables
23310  TYPE(cmfe_equationstype), INTENT(INOUT) :: equations
23311  INTEGER(INTG), INTENT(IN) :: lumpingType
23312  INTEGER(INTG), INTENT(OUT) :: err
23313  !Local variables
23314 
23315  enters("cmfe_Equations_LumpingTypeSetObj",err,error,*999)
23316 
23317  CALL equations_lumping_type_set(equations%equations,lumpingtype,err,error,*999)
23318 
23319  exits("cmfe_Equations_LumpingTypeSetObj")
23320  RETURN
23321 999 errorsexits("cmfe_Equations_LumpingTypeSetObj",err,error)
23322  CALL cmfe_handleerror(err,error)
23323  RETURN
23324 
23325  END SUBROUTINE cmfe_equations_lumpingtypesetobj
23326 
23327  !
23328  !================================================================================================================================
23329  !
23330 
23332  SUBROUTINE cmfe_equations_outputtypegetnumber(regionUserNumber,equationsSetUserNumber,outputType,err)
23333  !DLLEXPORT(cmfe_Equations_OutputTypeGetNumber)
23334 
23335  !Argument variables
23336  INTEGER(INTG), INTENT(IN) :: regionUserNumber
23337  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
23338  INTEGER(INTG), INTENT(OUT) :: outputType
23339  INTEGER(INTG), INTENT(OUT) :: err
23340  !Local variables
23341  TYPE(equations_type), POINTER :: EQUATIONS
23342  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
23343  TYPE(region_type), POINTER :: REGION
23344  TYPE(varying_string) :: localError
23345 
23346  enters("cmfe_Equations_OutputTypeGetNumber",err,error,*999)
23347 
23348  NULLIFY(region)
23349  NULLIFY(equations_set)
23350  NULLIFY(equations)
23351  CALL region_user_number_find(regionusernumber,region,err,error,*999)
23352  IF(ASSOCIATED(region)) THEN
23353  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
23354  IF(ASSOCIATED(equations_set)) THEN
23355  CALL equations_set_equations_get(equations_set,equations,err,error,*999)
23356  CALL equations_output_type_get(equations,outputtype,err,error,*999)
23357  ELSE
23358  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
23359  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
23360  CALL flagerror(localerror,err,error,*999)
23361  END IF
23362  ELSE
23363  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
23364  CALL flagerror(localerror,err,error,*999)
23365  END IF
23366 
23367  exits("cmfe_Equations_OutputTypeGetNumber")
23368  RETURN
23369 999 errorsexits("cmfe_Equations_OutputTypeGetNumber",err,error)
23370  CALL cmfe_handleerror(err,error)
23371  RETURN
23372 
23373  END SUBROUTINE cmfe_equations_outputtypegetnumber
23374 
23375  !
23376  !================================================================================================================================
23377  !
23378 
23380  SUBROUTINE cmfe_equations_outputtypegetobj(equations,outputType,err)
23381  !DLLEXPORT(cmfe_Equations_OutputTypeGetObj)
23382 
23383  !Argument variables
23384  TYPE(cmfe_equationstype), INTENT(IN) :: equations
23385  INTEGER(INTG), INTENT(OUT) :: outputType
23386  INTEGER(INTG), INTENT(OUT) :: err
23387  !Local variables
23388 
23389  enters("cmfe_Equations_OutputTypeGetObj",err,error,*999)
23390 
23391  CALL equations_output_type_get(equations%equations,outputtype,err,error,*999)
23392 
23393  exits("cmfe_Equations_OutputTypeGetObj")
23394  RETURN
23395 999 errorsexits("cmfe_Equations_OutputTypeGetObj",err,error)
23396  CALL cmfe_handleerror(err,error)
23397  RETURN
23398 
23399  END SUBROUTINE cmfe_equations_outputtypegetobj
23400 
23401  !
23402  !================================================================================================================================
23403  !
23404 
23406  SUBROUTINE cmfe_equations_outputtypesetnumber(regionUserNumber,equationsSetUserNumber,outputType,err)
23407  !DLLEXPORT(cmfe_Equations_OutputTypeSetNumber)
23408 
23409  !Argument variables
23410  INTEGER(INTG), INTENT(IN) :: regionUserNumber
23411  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
23412  INTEGER(INTG), INTENT(IN) :: outputType
23413  INTEGER(INTG), INTENT(OUT) :: err
23414  !Local variables
23415  TYPE(equations_type), POINTER :: EQUATIONS
23416  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
23417  TYPE(region_type), POINTER :: REGION
23418  TYPE(varying_string) :: localError
23419 
23420  enters("cmfe_Equations_OutputTypeSetNumber",err,error,*999)
23421 
23422  NULLIFY(region)
23423  NULLIFY(equations_set)
23424  NULLIFY(equations)
23425  CALL region_user_number_find(regionusernumber,region,err,error,*999)
23426  IF(ASSOCIATED(region)) THEN
23427  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
23428  IF(ASSOCIATED(equations_set)) THEN
23429  CALL equations_set_equations_get(equations_set,equations,err,error,*999)
23430  CALL equations_output_type_set(equations,outputtype,err,error,*999)
23431  ELSE
23432  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
23433  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
23434  CALL flagerror(localerror,err,error,*999)
23435  END IF
23436  ELSE
23437  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
23438  CALL flagerror(localerror,err,error,*999)
23439  END IF
23440 
23441  exits("cmfe_Equations_OutputTypeSetNumber")
23442  RETURN
23443 999 errorsexits("cmfe_Equations_OutputTypeSetNumber",err,error)
23444  CALL cmfe_handleerror(err,error)
23445  RETURN
23446 
23447  END SUBROUTINE cmfe_equations_outputtypesetnumber
23448 
23449  !
23450  !================================================================================================================================
23451  !
23452 
23454  SUBROUTINE cmfe_equations_outputtypesetobj(equations,outputType,err)
23455  !DLLEXPORT(cmfe_Equations_OutputTypeSetObj)
23456 
23457  !Argument variables
23458  TYPE(cmfe_equationstype), INTENT(INOUT) :: equations
23459  INTEGER(INTG), INTENT(IN) :: outputType
23460  INTEGER(INTG), INTENT(OUT) :: err
23461  !Local variables
23462 
23463  enters("cmfe_Equations_OutputTypeSetObj",err,error,*999)
23464 
23465  CALL equations_output_type_set(equations%equations,outputtype,err,error,*999)
23466 
23467  exits("cmfe_Equations_OutputTypeSetObj")
23468  RETURN
23469 999 errorsexits("cmfe_Equations_OutputTypeSetObj",err,error)
23470  CALL cmfe_handleerror(err,error)
23471  RETURN
23472 
23473  END SUBROUTINE cmfe_equations_outputtypesetobj
23474 
23475  !
23476  !================================================================================================================================
23477  !
23478 
23480  SUBROUTINE cmfe_equations_sparsitytypegetnumber(regionUserNumber,equationsSetUserNumber,sparsityType,err)
23481  !DLLEXPORT(cmfe_Equations_SparsityTypeGetNumber)
23482 
23483  !Argument variables
23484  INTEGER(INTG), INTENT(IN) :: regionUserNumber
23485  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
23486  INTEGER(INTG), INTENT(OUT) :: sparsityType
23487  INTEGER(INTG), INTENT(OUT) :: err
23488  !Local variables
23489  TYPE(equations_type), POINTER :: EQUATIONS
23490  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
23491  TYPE(region_type), POINTER :: REGION
23492  TYPE(varying_string) :: localError
23493 
23494  enters("cmfe_Equations_SparsityTypeGetNumber",err,error,*999)
23495 
23496  NULLIFY(region)
23497  NULLIFY(equations_set)
23498  NULLIFY(equations)
23499  CALL region_user_number_find(regionusernumber,region,err,error,*999)
23500  IF(ASSOCIATED(region)) THEN
23501  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
23502  IF(ASSOCIATED(equations_set)) THEN
23503  CALL equations_set_equations_get(equations_set,equations,err,error,*999)
23504  CALL equations_sparsity_type_get(equations,sparsitytype,err,error,*999)
23505  ELSE
23506  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
23507  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
23508  CALL flagerror(localerror,err,error,*999)
23509  END IF
23510  ELSE
23511  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
23512  CALL flagerror(localerror,err,error,*999)
23513  END IF
23514 
23515  exits("cmfe_Equations_SparsityTypeGetNumber")
23516  RETURN
23517 999 errorsexits("cmfe_Equations_SparsityTypeGetNumber",err,error)
23518  CALL cmfe_handleerror(err,error)
23519  RETURN
23520 
23522 
23523  !
23524  !================================================================================================================================
23525  !
23526 
23528  SUBROUTINE cmfe_equations_sparsitytypegetobj(equations,sparsityType,err)
23529  !DLLEXPORT(cmfe_Equations_SparsityTypeGetObj)
23530 
23531  !Argument variables
23532  TYPE(cmfe_equationstype), INTENT(IN) :: equations
23533  INTEGER(INTG), INTENT(OUT) :: sparsityType
23534  INTEGER(INTG), INTENT(OUT) :: err
23535  !Local variables
23536 
23537  enters("cmfe_Equations_SparsityTypeGetObj",err,error,*999)
23538 
23539  CALL equations_sparsity_type_get(equations%equations,sparsitytype,err,error,*999)
23540 
23541  exits("cmfe_Equations_SparsityTypeGetObj")
23542  RETURN
23543 999 errorsexits("cmfe_Equations_SparsityTypeGetObj",err,error)
23544  CALL cmfe_handleerror(err,error)
23545  RETURN
23546 
23547  END SUBROUTINE cmfe_equations_sparsitytypegetobj
23548 
23549  !
23550  !================================================================================================================================
23551  !
23552 
23554  SUBROUTINE cmfe_equations_sparsitytypesetnumber(regionUserNumber,equationsSetUserNumber,sparsityType,err)
23555  !DLLEXPORT(cmfe_Equations_SparsityTypeSetNumber)
23556 
23557  !Argument variables
23558  INTEGER(INTG), INTENT(IN) :: regionUserNumber
23559  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
23560  INTEGER(INTG), INTENT(IN) :: sparsityType
23561  INTEGER(INTG), INTENT(OUT) :: err
23562  !Local variables
23563  TYPE(equations_type), POINTER :: EQUATIONS
23564  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
23565  TYPE(region_type), POINTER :: REGION
23566  TYPE(varying_string) :: localError
23567 
23568  enters("cmfe_Equations_SparsityTypeSetNumber",err,error,*999)
23569 
23570  NULLIFY(region)
23571  NULLIFY(equations_set)
23572  NULLIFY(equations)
23573  CALL region_user_number_find(regionusernumber,region,err,error,*999)
23574  IF(ASSOCIATED(region)) THEN
23575  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
23576  IF(ASSOCIATED(equations_set)) THEN
23577  CALL equations_set_equations_get(equations_set,equations,err,error,*999)
23578  CALL equations_sparsity_type_set(equations,sparsitytype,err,error,*999)
23579  ELSE
23580  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
23581  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
23582  CALL flagerror(localerror,err,error,*999)
23583  END IF
23584  ELSE
23585  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
23586  CALL flagerror(localerror,err,error,*999)
23587  END IF
23588 
23589  exits("cmfe_Equations_SparsityTypeSetNumber")
23590  RETURN
23591 999 errorsexits("cmfe_Equations_SparsityTypeSetNumber",err,error)
23592  CALL cmfe_handleerror(err,error)
23593  RETURN
23594 
23596 
23597  !
23598  !================================================================================================================================
23599  !
23600 
23602  SUBROUTINE cmfe_equations_sparsitytypesetobj(equations,sparsityType,err)
23603  !DLLEXPORT(cmfe_Equations_SparsityTypeSetObj)
23604 
23605  !Argument variables
23606  TYPE(cmfe_equationstype), INTENT(INOUT) :: equations
23607  INTEGER(INTG), INTENT(IN) :: sparsityType
23608  INTEGER(INTG), INTENT(OUT) :: err
23609  !Local variables
23610 
23611  enters("cmfe_Equations_SparsityTypeSetObj",err,error,*999)
23612 
23613  CALL equations_sparsity_type_set(equations%equations,sparsitytype,err,error,*999)
23614 
23615  exits("cmfe_Equations_SparsityTypeSetObj")
23616  RETURN
23617 999 errorsexits("cmfe_Equations_SparsityTypeSetObj",err,error)
23618  CALL cmfe_handleerror(err,error)
23619  RETURN
23620 
23621  END SUBROUTINE cmfe_equations_sparsitytypesetobj
23622 
23623  !
23624  !================================================================================================================================
23625  !
23626 
23628  SUBROUTINE cmfe_equations_timedependencetypegetnumber(regionUserNumber,equationsSetUserNumber,timeDependenceType,err)
23629  !DLLEXPORT(cmfe_Equations_TimeDependenceTypeGetNumber)
23630 
23631  !Argument variables
23632  INTEGER(INTG), INTENT(IN) :: regionUserNumber
23633  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
23634  INTEGER(INTG), INTENT(OUT) :: timeDependenceType
23635  INTEGER(INTG), INTENT(OUT) :: err
23636  !Local variables
23637  TYPE(equations_type), POINTER :: EQUATIONS
23638  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
23639  TYPE(region_type), POINTER :: REGION
23640  TYPE(varying_string) :: localError
23641 
23642  enters("cmfe_Equations_TimeDependenceTypeGetNumber",err,error,*999)
23643 
23644  NULLIFY(region)
23645  NULLIFY(equations_set)
23646  NULLIFY(equations)
23647  CALL region_user_number_find(regionusernumber,region,err,error,*999)
23648  IF(ASSOCIATED(region)) THEN
23649  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
23650  IF(ASSOCIATED(equations_set)) THEN
23651  CALL equations_set_equations_get(equations_set,equations,err,error,*999)
23652  CALL equations_time_dependence_type_get(equations,timedependencetype,err,error,*999)
23653  ELSE
23654  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
23655  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
23656  CALL flagerror(localerror,err,error,*999)
23657  END IF
23658  ELSE
23659  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
23660  CALL flagerror(localerror,err,error,*999)
23661  END IF
23662 
23663  exits("cmfe_Equations_TimeDependenceTypeGetNumber")
23664  RETURN
23665 999 errorsexits("cmfe_Equations_TimeDependenceTypeGetNumber",err,error)
23666  CALL cmfe_handleerror(err,error)
23667  RETURN
23668 
23670 
23671  !
23672  !================================================================================================================================
23673  !
23674 
23676  SUBROUTINE cmfe_equations_timedependencetypegetobj(equations,timeDependenceType,err)
23677  !DLLEXPORT(cmfe_Equations_TimeDependenceTypeGetObj)
23678 
23679  !Argument variables
23680  TYPE(cmfe_equationstype), INTENT(IN) :: equations
23681  INTEGER(INTG), INTENT(OUT) :: timeDependenceType
23682  INTEGER(INTG), INTENT(OUT) :: err
23683  !Local variables
23684 
23685  enters("cmfe_Equations_TimeDependenceTypeGetObj",err,error,*999)
23686 
23687  CALL equations_time_dependence_type_get(equations%equations,timedependencetype,err,error,*999)
23688 
23689  exits("cmfe_Equations_TimeDependenceTypeGetObj")
23690  RETURN
23691 999 errorsexits("cmfe_Equations_TimeDependenceTypeGetObj",err,error)
23692  CALL cmfe_handleerror(err,error)
23693  RETURN
23694 
23696 
23697  !
23698  !================================================================================================================================
23699  !
23700 
23702  SUBROUTINE cmfe_equations_numberoflinearmatricesget(equations,numberOfMatrices,err)
23703  !DLLEXPORT(cmfe_Equations_NumberOfLinearMatricesGet)
23704 
23705  !Argument variables
23706  TYPE(cmfe_equationstype), INTENT(IN) :: equations
23707  INTEGER(INTG), INTENT(OUT) :: numberOfMatrices
23708  INTEGER(INTG), INTENT(OUT) :: err
23709 
23710  enters("cmfe_Equations_NumberOfLinearMatricesGet",err,error,*999)
23711 
23712  CALL equations_numberoflinearmatricesget(equations%equations,numberofmatrices,err,error,*999)
23713 
23714  exits("cmfe_Equations_NumberOfLinearMatricesGet")
23715  RETURN
23716 999 errorsexits("cmfe_Equations_NumberOfLinearMatricesGet",err,error)
23717  CALL cmfe_handleerror(err,error)
23718  RETURN
23719 
23721 
23722  !
23723  !================================================================================================================================
23724  !
23725 
23727  SUBROUTINE cmfe_equations_numberofjacobianmatricesget(equations,numberOfMatrices,err)
23728  !DLLEXPORT(cmfe_Equations_NumberOfJacobianMatricesGet)
23729 
23730  !Argument variables
23731  TYPE(cmfe_equationstype), INTENT(IN) :: equations
23732  INTEGER(INTG), INTENT(OUT) :: numberOfMatrices
23733  INTEGER(INTG), INTENT(OUT) :: err
23734 
23735  enters("cmfe_Equations_NumberOfJacobianMatricesGet",err,error,*999)
23736 
23737  CALL equations_numberofjacobianmatricesget(equations%equations,numberofmatrices,err,error,*999)
23738 
23739  exits("cmfe_Equations_NumberOfJacobianMatricesGet")
23740  RETURN
23741 999 errorsexits("cmfe_Equations_NumberOfJacobianMatricesGet",err,error)
23742  CALL cmfe_handleerror(err,error)
23743  RETURN
23744 
23746 
23747  !
23748  !================================================================================================================================
23749  !
23750 
23752  SUBROUTINE cmfe_equations_numberofdynamicmatricesget(equations,numberOfMatrices,err)
23753  !DLLEXPORT(cmfe_Equations_NumberOfDynamicMatricesGet)
23754 
23755  !Argument variables
23756  TYPE(cmfe_equationstype), INTENT(IN) :: equations
23757  INTEGER(INTG), INTENT(OUT) :: numberOfMatrices
23758  INTEGER(INTG), INTENT(OUT) :: err
23759 
23760  enters("cmfe_Equations_NumberOfDynamicMatricesGet",err,error,*999)
23761 
23762  CALL equations_numberofdynamicmatricesget(equations%equations,numberofmatrices,err,error,*999)
23763 
23764  exits("cmfe_Equations_NumberOfDynamicMatricesGet")
23765  RETURN
23766 999 errorsexits("cmfe_Equations_NumberOfDynamicMatricesGet",err,error)
23767  CALL cmfe_handleerror(err,error)
23768  RETURN
23769 
23771 
23772  !
23773  !================================================================================================================================
23774  !
23775 
23777  SUBROUTINE cmfe_equations_linearmatrixget(equations,matrixIndex,matrix,err)
23778  !DLLEXPORT(cmfe_Equations_LinearMatrixGet)
23779 
23780  !Argument variables
23781  TYPE(cmfe_equationstype), INTENT(IN) :: equations
23782  INTEGER(INTG), INTENT(IN) :: matrixIndex
23783  TYPE(cmfe_distributedmatrixtype), INTENT(INOUT) :: matrix
23784  INTEGER(INTG), INTENT(OUT) :: err
23785 
23786  enters("cmfe_Equations_LinearMatrixGet",err,error,*999)
23787 
23788  CALL equations_linearmatrixget(equations%equations,matrixindex,matrix%distributedMatrix,err,error,*999)
23789 
23790  exits("cmfe_Equations_LinearMatrixGet")
23791  RETURN
23792 999 errorsexits("cmfe_Equations_LinearMatrixGet",err,error)
23793  CALL cmfe_handleerror(err,error)
23794  RETURN
23795 
23796  END SUBROUTINE cmfe_equations_linearmatrixget
23797 
23798  !
23799  !================================================================================================================================
23800  !
23801 
23803  SUBROUTINE cmfe_equations_jacobianmatricestypesset(equations,jacobianTypes,err)
23804  !DLLEXPORT(cmfe_Equations_JacobianMatricesTypesSet)
23805 
23806  !Argument variables
23807  TYPE(cmfe_equationstype), INTENT(IN) :: equations
23808  INTEGER(INTG), INTENT(IN) :: jacobianTypes
23809  TYPE(equations_matrices_type), POINTER :: equationsMatrices
23810  INTEGER(INTG), INTENT(OUT) :: err
23811 
23812  enters("cmfe_Equations_JacobianMatricesTypesSet",err,error,*999)
23813 
23814  equationsmatrices=>equations%equations%EQUATIONS_MATRICES
23815  CALL equationsmatrices_jacobiantypesset(equationsmatrices,[jacobiantypes],err,error,*999)
23816 
23817  exits("cmfe_Equations_JacobianMatricesTypesSet")
23818  RETURN
23819 999 errors("cmfe_Equations_JacobianMatricesTypesSet",err,error)
23820  exits("cmfe_Equations_JacobianMatricesTypesSet")
23821  CALL cmfe_handleerror(err,error)
23822  RETURN
23823 
23825 
23826 
23827  !
23828  !================================================================================================================================
23829  !
23830 
23832  SUBROUTINE cmfe_equationsset_derivedcreatefinishnumber(regionUserNumber,equationsSetUserNumber,err)
23833  !DLLEXPORT(cmfe_EquationsSet_DerivedCreateFinishNumber)
23834 
23835  !Argument variables
23836  INTEGER(INTG), INTENT(IN) :: regionUserNumber
23837  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
23838  INTEGER(INTG), INTENT(OUT) :: err
23839  !Local variables
23840  TYPE(equations_set_type), POINTER :: equationsSet
23841  TYPE(region_type), POINTER :: region
23842  TYPE(varying_string) :: localError
23843 
23844  enters("cmfe_EquationsSet_DerivedCreateFinishNumber",err,error,*999)
23845 
23846  NULLIFY(region)
23847  NULLIFY(equationsset)
23848  CALL region_user_number_find(regionusernumber,region,err,error,*999)
23849  IF(ASSOCIATED(region)) THEN
23850  CALL equations_set_user_number_find(equationssetusernumber,region,equationsset,err,error,*999)
23851  IF(ASSOCIATED(equationsset)) THEN
23852  CALL equationsset_derivedcreatefinish(equationsset,err,error,*999)
23853  ELSE
23854  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
23855  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
23856  CALL flagerror(localerror,err,error,*999)
23857  END IF
23858  ELSE
23859  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
23860  CALL flagerror(localerror,err,error,*999)
23861  END IF
23862 
23863  exits("cmfe_EquationsSet_DerivedCreateFinishNumber")
23864  RETURN
23865 999 errorsexits("cmfe_EquationsSet_DerivedCreateFinishNumber",err,error)
23866  CALL cmfe_handleerror(err,error)
23867  RETURN
23868 
23870 
23871  !
23872  !================================================================================================================================
23873  !
23874 
23876  SUBROUTINE cmfe_equationsset_derivedcreatefinishobj(equationsSet,err)
23877  !DLLEXPORT(cmfe_EquationsSet_DerivedCreateFinishObj)
23878 
23879  !Argument variables
23880  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
23881  INTEGER(INTG), INTENT(OUT) :: err
23882  !Local variables
23883 
23884  enters("cmfe_EquationsSet_DerivedCreateFinishObj",err,error,*999)
23885 
23886  CALL equationsset_derivedcreatefinish(equationsset%equationsSet,err,error,*999)
23887 
23888  exits("cmfe_EquationsSet_DerivedCreateFinishObj")
23889  RETURN
23890 999 errorsexits("cmfe_EquationsSet_DerivedCreateFinishObj",err,error)
23891  CALL cmfe_handleerror(err,error)
23892  RETURN
23893 
23895 
23896  !
23897  !================================================================================================================================
23898  !
23899 
23901  SUBROUTINE cmfe_equationsset_derivedcreatestartnumber(regionUserNumber,equationsSetUserNumber,derivedFieldUserNumber,err)
23902  !DLLEXPORT(cmfe_EquationsSet_DerivedCreateStartNumber)
23903 
23904  !Argument variables
23905  INTEGER(INTG), INTENT(IN) :: regionUserNumber
23906  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
23907  INTEGER(INTG), INTENT(IN) :: derivedFieldUserNumber
23908  INTEGER(INTG), INTENT(OUT) :: err
23909  !Local variables
23910  TYPE(equations_set_type), POINTER :: equationsSet
23911  TYPE(field_type), POINTER :: derivedField
23912  TYPE(region_type), POINTER :: region
23913  TYPE(varying_string) :: localError
23914 
23915  enters("cmfe_EquationsSet_DerivedCreateStartNumber",err,error,*999)
23916 
23917  NULLIFY(region)
23918  NULLIFY(equationsset)
23919  NULLIFY(derivedfield)
23920  CALL region_user_number_find(regionusernumber,region,err,error,*999)
23921  IF(ASSOCIATED(region)) THEN
23922  CALL equations_set_user_number_find(equationssetusernumber,region,equationsset,err,error,*999)
23923  IF(ASSOCIATED(equationsset)) THEN
23924  CALL field_user_number_find(derivedfieldusernumber,region,derivedfield,err,error,*999)
23925  CALL equationsset_derivedcreatestart(equationsset,derivedfieldusernumber,derivedfield,err,error,*999)
23926  ELSE
23927  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
23928  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
23929  CALL flagerror(localerror,err,error,*999)
23930  END IF
23931  ELSE
23932  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
23933  CALL flagerror(localerror,err,error,*999)
23934  END IF
23935 
23936  exits("cmfe_EquationsSet_DerivedCreateStartNumber")
23937  RETURN
23938 999 errorsexits("cmfe_EquationsSet_DerivedCreateStartNumber",err,error)
23939  CALL cmfe_handleerror(err,error)
23940  RETURN
23941 
23943 
23944  !
23945  !================================================================================================================================
23946  !
23947 
23949  SUBROUTINE cmfe_equationsset_derivedcreatestartobj(equationsSet,derivedFieldUserNumber,derivedField,err)
23950  !DLLEXPORT(cmfe_EquationsSet_DerivedCreateStartObj)
23951 
23952  !Argument variables
23953  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
23954  INTEGER(INTG), INTENT(IN) :: derivedFieldUserNumber
23955  TYPE(cmfe_fieldtype), INTENT(INOUT) :: derivedField
23956  INTEGER(INTG), INTENT(OUT) :: err
23957  !Local variables
23958 
23959  enters("cmfe_EquationsSet_DerivedCreateStartObj",err,error,*999)
23960 
23961  CALL equationsset_derivedcreatestart(equationsset%equationsSet,derivedfieldusernumber,derivedfield%field, &
23962  & err,error,*999)
23963 
23964  exits("cmfe_EquationsSet_DerivedCreateStartObj")
23965  RETURN
23966 999 errorsexits("cmfe_EquationsSet_DerivedCreateStartObj",err,error)
23967  CALL cmfe_handleerror(err,error)
23968  RETURN
23969 
23971 
23972  !
23973  !================================================================================================================================
23974  !
23975 
23977  SUBROUTINE cmfe_equationsset_deriveddestroynumber(regionUserNumber,equationsSetUserNumber,err)
23978  !DLLEXPORT(cmfe_EquationsSet_DerivedDestroyNumber)
23979 
23980  !Argument variables
23981  INTEGER(INTG), INTENT(IN) :: regionUserNumber
23982  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
23983  INTEGER(INTG), INTENT(OUT) :: err
23984  !Local variables
23985  TYPE(equations_set_type), POINTER :: equationsSet
23986  TYPE(region_type), POINTER :: region
23987  TYPE(varying_string) :: localError
23988 
23989  enters("cmfe_EquationsSet_DerivedDestroyNumber",err,error,*999)
23990 
23991  NULLIFY(region)
23992  NULLIFY(equationsset)
23993  CALL region_user_number_find(regionusernumber,region,err,error,*999)
23994  IF(ASSOCIATED(region)) THEN
23995  CALL equations_set_user_number_find(equationssetusernumber,region,equationsset,err,error,*999)
23996  IF(ASSOCIATED(equationsset)) THEN
23997  CALL equationsset_deriveddestroy(equationsset,err,error,*999)
23998  ELSE
23999  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
24000  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
24001  CALL flagerror(localerror,err,error,*999)
24002  END IF
24003  ELSE
24004  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
24005  CALL flagerror(localerror,err,error,*999)
24006  END IF
24007 
24008  exits("cmfe_EquationsSet_DerivedDestroyNumber")
24009  RETURN
24010 999 errorsexits("cmfe_EquationsSet_DerivedDestroyNumber",err,error)
24011  CALL cmfe_handleerror(err,error)
24012  RETURN
24013 
24015 
24016  !
24017  !================================================================================================================================
24018  !
24019 
24021  SUBROUTINE cmfe_equationsset_deriveddestroyobj(equationsSet,err)
24022  !DLLEXPORT(cmfe_EquationsSet_DerivedDestroyObj)
24023 
24024  !Argument variables
24025  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
24026  INTEGER(INTG), INTENT(OUT) :: err
24027  !Local variables
24028 
24029  enters("cmfe_EquationsSet_DerivedDestroyObj",err,error,*999)
24030 
24031  CALL equationsset_deriveddestroy(equationsset%equationsSet,err,error,*999)
24032 
24033  exits("cmfe_EquationsSet_DerivedDestroyObj")
24034  RETURN
24035 999 errorsexits("cmfe_EquationsSet_DerivedDestroyObj",err,error)
24036  CALL cmfe_handleerror(err,error)
24037  RETURN
24038 
24040 
24041  !
24042  !================================================================================================================================
24043  !
24044 
24046  SUBROUTINE cmfe_equationsset_derivedvariablecalculatenumber(regionUserNumber,equationsSetUserNumber,derivedType,err)
24047  !DLLEXPORT(cmfe_EquationsSet_DerivedVariableCalculateNumber)
24048 
24049  !Argument variables
24050  INTEGER(INTG), INTENT(IN) :: regionUserNumber
24051  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
24052  INTEGER(INTG), INTENT(IN) :: derivedType
24053  INTEGER(INTG), INTENT(OUT) :: err
24054  !Local variables
24055  TYPE(equations_set_type), POINTER :: equationsSet
24056  TYPE(region_type), POINTER :: region
24057  TYPE(varying_string) :: localError
24058 
24059  enters("cmfe_EquationsSet_DerivedVariableCalculateNumber",err,error,*999)
24060 
24061  NULLIFY(equationsset)
24062  NULLIFY(region)
24063 
24064  CALL region_user_number_find(regionusernumber,region,err,error,*999)
24065  IF(ASSOCIATED(region)) THEN
24066  CALL equations_set_user_number_find(equationssetusernumber,region,equationsset,err,error,*999)
24067  IF(ASSOCIATED(equationsset)) THEN
24068  CALL equationsset_derivedvariablecalculate(equationsset,derivedtype,err,error,*999)
24069  ELSE
24070  localerror="An equations set with a user number of "//trim(numbertovstring(equationssetusernumber,"*", &
24071  & err,error))//" does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
24072  CALL flagerror(localerror,err,error,*999)
24073  END IF
24074  ELSE
24075  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
24076  CALL flagerror(localerror,err,error,*999)
24077  END IF
24078 
24079  exits("cmfe_EquationsSet_DerivedVariableCalculateNumber")
24080  RETURN
24081 999 errors("cmfe_EquationsSet_DerivedVariableCalculateNumber",err,error)
24082  exits("cmfe_EquationsSet_DerivedVariableCalculateNumber")
24083  CALL cmfe_handleerror(err,error)
24084  RETURN
24085 
24087 
24088  !
24089  !================================================================================================================================
24090  !
24091 
24093  SUBROUTINE cmfe_equationsset_derivedvariablecalculateobj(equationsSet,derivedType,err)
24094  !DLLEXPORT(cmfe_EquationsSet_DerivedVariableCalculateObj)
24095 
24096  !Argument variables
24097  TYPE(cmfe_equationssettype), INTENT(IN) :: equationsSet
24098  INTEGER(INTG), INTENT(IN) :: derivedType
24099  INTEGER(INTG), INTENT(OUT) :: err
24100 
24101  enters("cmfe_EquationsSet_DerivedVariableCalculateObj",err,error,*999)
24102 
24103  CALL equationsset_derivedvariablecalculate(equationsset%equationsSet,derivedtype,err,error,*999)
24104 
24105  exits("cmfe_EquationsSet_DerivedVariableCalculateObj")
24106  RETURN
24107 999 errors("cmfe_EquationsSet_DerivedVariableCalculateObj",err,error)
24108  exits("cmfe_EquationsSet_DerivedVariableCalculateObj")
24109  CALL cmfe_handleerror(err,error)
24110 
24112 
24113  !
24114  !================================================================================================================================
24115  !
24116 
24118  SUBROUTINE cmfe_equationsset_derivedvariablesetnumber(regionUserNumber,equationsSetUserNumber,derivedType,fieldVariableType,err)
24119  !DLLEXPORT(cmfe_EquationsSet_DerivedVariableSetNumber)
24120 
24121  !Argument variables
24122  INTEGER(INTG), INTENT(IN) :: regionUserNumber
24123  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
24124  INTEGER(INTG), INTENT(IN) :: derivedType
24125  INTEGER(INTG), INTENT(IN) :: fieldVariableType
24126  INTEGER(INTG), INTENT(OUT) :: err
24127  !Local variables
24128  TYPE(equations_set_type), POINTER :: equationsSet
24129  TYPE(region_type), POINTER :: region
24130  TYPE(varying_string) :: localError
24131 
24132  enters("cmfe_EquationsSet_DerivedVariableSetNumber",err,error,*999)
24133 
24134  NULLIFY(equationsset)
24135  NULLIFY(region)
24136 
24137  CALL region_user_number_find(regionusernumber,region,err,error,*999)
24138  IF(ASSOCIATED(region)) THEN
24139  CALL equations_set_user_number_find(equationssetusernumber,region,equationsset,err,error,*999)
24140  IF(ASSOCIATED(equationsset)) THEN
24141  CALL equationsset_derivedvariableset(equationsset,derivedtype,fieldvariabletype,err,error,*999)
24142  ELSE
24143  localerror="An equations set with a user number of "//trim(numbertovstring(equationssetusernumber,"*", &
24144  & err,error))//" does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
24145  CALL flagerror(localerror,err,error,*999)
24146  END IF
24147  ELSE
24148  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
24149  CALL flagerror(localerror,err,error,*999)
24150  END IF
24151 
24152  exits("cmfe_EquationsSet_DerivedVariableSetNumber")
24153  RETURN
24154 999 errorsexits("cmfe_EquationsSet_DerivedVariableSetNumber",err,error)
24155  CALL cmfe_handleerror(err,error)
24156 
24158 
24159  !
24160  !================================================================================================================================
24161  !
24162 
24164  SUBROUTINE cmfe_equationsset_derivedvariablesetobj(equationsSet,derivedType,fieldVariableType,err)
24165  !DLLEXPORT(cmfe_EquationsSet_DerivedVariableSetObj)
24166 
24167  !Argument variables
24168  TYPE(cmfe_equationssettype), INTENT(IN) :: equationsSet
24169  INTEGER(INTG), INTENT(IN) :: derivedType
24170  INTEGER(INTG), INTENT(IN) :: fieldVariableType
24171  INTEGER(INTG), INTENT(OUT) :: err
24172 
24173  enters("cmfe_EquationsSet_DerivedVariableSetObj",err,error,*999)
24174 
24175  CALL equationsset_derivedvariableset(equationsset%equationsSet,derivedtype,fieldvariabletype,err,error,*999)
24176 
24177  exits("cmfe_EquationsSet_DerivedVariableSetObj")
24178  RETURN
24179 999 errorsexits("cmfe_EquationsSet_DerivedVariableSetObj",err,error)
24180  CALL cmfe_handleerror(err,error)
24181 
24183 
24184  !
24185  !================================================================================================================================
24186  !
24187 
24189  SUBROUTINE cmfe_equations_jacobianmatrixget(equations,residualIndex,variableType,matrix,err)
24190  !DLLEXPORT(cmfe_Equations_JacobianMatrixGet)
24191 
24192  !Argument variables
24193  TYPE(cmfe_equationstype), INTENT(IN) :: equations
24194  INTEGER(INTG), INTENT(IN) :: residualIndex
24195  INTEGER(INTG), INTENT(IN) :: variableType
24196  TYPE(cmfe_distributedmatrixtype), INTENT(INOUT) :: matrix
24197  INTEGER(INTG), INTENT(OUT) :: err
24198 
24199  enters("cmfe_Equations_JacobianMatrixGet",err,error,*999)
24200 
24201  CALL equations_jacobianmatrixget(equations%equations, &
24202  & residualindex,variabletype,matrix%distributedMatrix,err,error,*999)
24203 
24204  exits("cmfe_Equations_JacobianMatrixGet")
24205  RETURN
24206 999 errorsexits("cmfe_Equations_JacobianMatrixGet",err,error)
24207  CALL cmfe_handleerror(err,error)
24208  RETURN
24209 
24210  END SUBROUTINE cmfe_equations_jacobianmatrixget
24211 
24212  !
24213  !================================================================================================================================
24214  !
24215 
24217  SUBROUTINE cmfe_equations_dynamicmatrixget(equations,matrixIndex,matrix,err)
24218  !DLLEXPORT(cmfe_Equations_DynamicMatrixGet)
24219 
24220  !Argument variables
24221  TYPE(cmfe_equationstype), INTENT(IN) :: equations
24222  INTEGER(INTG), INTENT(IN) :: matrixIndex
24223  TYPE(cmfe_distributedmatrixtype), INTENT(INOUT) :: matrix
24224  INTEGER(INTG), INTENT(OUT) :: err
24225 
24226  enters("cmfe_Equations_DynamicMatrixGet",err,error,*999)
24227 
24228  CALL equations_dynamicmatrixget(equations%equations,matrixindex,matrix%distributedMatrix,err,error,*999)
24229 
24230  exits("cmfe_Equations_DynamicMatrixGet")
24231  RETURN
24232 999 errorsexits("cmfe_Equations_DynamicMatrixGet",err,error)
24233  CALL cmfe_handleerror(err,error)
24234  RETURN
24235 
24236  END SUBROUTINE cmfe_equations_dynamicmatrixget
24237 
24238  !
24239  !================================================================================================================================
24240  !
24241 
24243  SUBROUTINE cmfe_equations_dynamicmatrixgetbytype(equations,matrixType,matrix,err)
24244  !DLLEXPORT(cmfe_Equations_DynamicMatrixGetByType)
24245 
24246  !Argument variables
24247  TYPE(cmfe_equationstype), INTENT(IN) :: equations
24248  INTEGER(INTG), INTENT(IN) :: matrixType
24249  TYPE(cmfe_distributedmatrixtype), INTENT(INOUT) :: matrix
24250  INTEGER(INTG), INTENT(OUT) :: err
24251 
24252  enters("cmfe_Equations_DynamicMatrixGetByType",err,error,*999)
24253 
24254  CALL equations_dynamicmatrixgetbytype(equations%equations,matrixtype,matrix%distributedMatrix,err,error,*999)
24255 
24256  exits("cmfe_Equations_DynamicMatrixGetByType")
24257  RETURN
24258 999 errorsexits("cmfe_Equations_DynamicMatrixGetByType",err,error)
24259  CALL cmfe_handleerror(err,error)
24260  RETURN
24261 
24263 
24264  !
24265  !================================================================================================================================
24266  !
24267 
24269  SUBROUTINE cmfe_equations_dynamicmatrixtypeget(equations,matrixIndex,matrixType,err)
24270  !DLLEXPORT(cmfe_Equations_DynamicMatrixTypeGet)
24271 
24272  !Argument variables
24273  TYPE(cmfe_equationstype), INTENT(IN) :: equations
24274  INTEGER(INTG), INTENT(IN) :: matrixIndex
24275  INTEGER(INTG), INTENT(OUT) :: matrixType
24276  INTEGER(INTG), INTENT(OUT) :: err
24277 
24278  enters("cmfe_Equations_DynamicMatrixTypeGet",err,error,*999)
24279 
24280  CALL equations_dynamicmatrixtypeget(equations%equations,matrixindex,matrixtype,err,error,*999)
24281 
24282  exits("cmfe_Equations_DynamicMatrixTypeGet")
24283  RETURN
24284 999 errorsexits("cmfe_Equations_DynamicMatrixTypeGet",err,error)
24285  CALL cmfe_handleerror(err,error)
24286  RETURN
24287 
24289 
24290  !
24291  !================================================================================================================================
24292  !
24293 
24295  SUBROUTINE cmfe_equations_rhsvectorget(equations,rhsVector,err)
24296  !DLLEXPORT(cmfe_Equations_RhsVectorGet)
24297 
24298  !Argument variables
24299  TYPE(cmfe_equationstype), INTENT(IN) :: equations
24300  TYPE(cmfe_distributedvectortype), INTENT(INOUT) :: rhsVector
24301  INTEGER(INTG), INTENT(OUT) :: err
24302 
24303  enters("cmfe_Equations_RhsVectorGet",err,error,*999)
24304 
24305  CALL equations_rhsvectorget(equations%equations,rhsvector%distributedVector,err,error,*999)
24306 
24307  exits("cmfe_Equations_RhsVectorGet")
24308  RETURN
24309 999 errorsexits("cmfe_Equations_RhsVectorGet",err,error)
24310  CALL cmfe_handleerror(err,error)
24311  RETURN
24312 
24313  END SUBROUTINE cmfe_equations_rhsvectorget
24314 
24315  !
24316  !================================================================================================================================
24317  !
24318 
24320  SUBROUTINE cmfe_equations_sourcevectorget(equations,sourceVector,err)
24321  !DLLEXPORT(cmfe_Equations_SourceVectorGet)
24322 
24323  !Argument variables
24324  TYPE(cmfe_equationstype), INTENT(IN) :: equations
24325  TYPE(cmfe_distributedvectortype), INTENT(INOUT) :: sourceVector
24326  INTEGER(INTG), INTENT(OUT) :: err
24327 
24328  enters("cmfe_Equations_SourceVectorGet",err,error,*999)
24329 
24330  CALL equations_sourcevectorget(equations%equations,sourcevector%distributedVector,err,error,*999)
24331 
24332  exits("cmfe_Equations_SourceVectorGet")
24333  RETURN
24334 999 errorsexits("cmfe_Equations_SourceVectorGet",err,error)
24335  CALL cmfe_handleerror(err,error)
24336  RETURN
24337 
24338  END SUBROUTINE cmfe_equations_sourcevectorget
24339 
24340  !
24341  !================================================================================================================================
24342  !
24343 
24345  SUBROUTINE cmfe_equations_residualvectorget(equations,residualIndex,residualVector,err)
24346  !DLLEXPORT(cmfe_Equations_ResidualVectorGet)
24347 
24348  !Argument variables
24349  TYPE(cmfe_equationstype), INTENT(IN) :: equations
24350  INTEGER(INTG), INTENT(IN) :: residualIndex
24351  TYPE(cmfe_distributedvectortype), INTENT(INOUT) :: residualVector
24352  INTEGER(INTG), INTENT(OUT) :: err
24353 
24354  enters("cmfe_Equations_ResidualVectorGet",err,error,*999)
24355 
24356  CALL equations_residualvectorget(equations%equations,residualindex,residualvector%distributedVector,err,error,*999)
24357 
24358  exits("cmfe_Equations_ResidualVectorGet")
24359  RETURN
24360 999 errorsexits("cmfe_Equations_ResidualVectorGet",err,error)
24361  CALL cmfe_handleerror(err,error)
24362  RETURN
24363 
24364  END SUBROUTINE cmfe_equations_residualvectorget
24365 
24366  !
24367  !================================================================================================================================
24368  !
24369 
24371  SUBROUTINE cmfe_equations_residualnumberofvariablesget(equations,residualIndex,numberOfVariables,err)
24372  !DLLEXPORT(cmfe_Equations_ResidualNumberOfVariablesGet)
24373 
24374  !Argument variables
24375  TYPE(cmfe_equationstype), INTENT(IN) :: equations
24376  INTEGER(INTG), INTENT(IN) :: residualIndex
24377  INTEGER(INTG), INTENT(OUT) :: numberOfVariables
24378  INTEGER(INTG), INTENT(OUT) :: err
24379 
24380  enters("cmfe_Equations_ResidualNumberOfVariablesGet",err,error,*999)
24381 
24382  CALL equations_residualnumberofvariablesget(equations%equations,residualindex,numberofvariables,err,error,*999)
24383 
24384  exits("cmfe_Equations_ResidualNumberOfVariablesGet")
24385  RETURN
24386 999 errorsexits("cmfe_Equations_ResidualNumberOfVariablesGet",err,error)
24387  CALL cmfe_handleerror(err,error)
24388  RETURN
24389 
24391 
24392  !
24393  !================================================================================================================================
24394  !
24395 
24397  SUBROUTINE cmfe_equations_residualvariablesget(equations,residualIndex,residualVariables,err)
24398  !DLLEXPORT(cmfe_Equations_ResidualVariablesGet)
24399 
24400  !Argument variables
24401  TYPE(cmfe_equationstype), INTENT(IN) :: equations
24402  INTEGER(INTG), INTENT(IN) :: residualIndex
24403  INTEGER(INTG), INTENT(OUT) :: residualVariables(:)
24404  INTEGER(INTG), INTENT(OUT) :: err
24405 
24406  enters("cmfe_Equations_ResidualVariablesGet",err,error,*999)
24407 
24408  CALL equations_residualvariablesget(equations%equations,residualindex,residualvariables,err,error,*999)
24409 
24410  exits("cmfe_Equations_ResidualVariablesGet")
24411  RETURN
24412 999 errorsexits("cmfe_Equations_ResidualVariablesGet",err,error)
24413  CALL cmfe_handleerror(err,error)
24414  RETURN
24415 
24417 
24418 !!==================================================================================================================================
24419 !!
24420 !! EQUATIONS_SET_ROUTINES
24421 !!
24422 !!==================================================================================================================================
24423 
24425  SUBROUTINE cmfe_equationsset_analyticcreatefinishnumber(regionUserNumber,equationsSetUserNumber,err)
24426  !DLLEXPORT(cmfe_EquationsSet_AnalyticCreateFinishNumber)
24427 
24428  !Argument variables
24429  INTEGER(INTG), INTENT(IN) :: regionUserNumber
24430  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
24431  INTEGER(INTG), INTENT(OUT) :: err
24432  !Local variables
24433  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
24434  TYPE(region_type), POINTER :: REGION
24435  TYPE(varying_string) :: localError
24436 
24437  enters("cmfe_EquationsSet_AnalyticCreateFinishNumber",err,error,*999)
24438 
24439  NULLIFY(region)
24440  NULLIFY(equations_set)
24441  CALL region_user_number_find(regionusernumber,region,err,error,*999)
24442  IF(ASSOCIATED(region)) THEN
24443  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
24444  IF(ASSOCIATED(equations_set)) THEN
24445  CALL equations_set_analytic_create_finish(equations_set,err,error,*999)
24446  ELSE
24447  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
24448  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
24449  CALL flagerror(localerror,err,error,*999)
24450  END IF
24451  ELSE
24452  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
24453  CALL flagerror(localerror,err,error,*999)
24454  END IF
24455 
24456  exits("cmfe_EquationsSet_AnalyticCreateFinishNumber")
24457  RETURN
24458 999 errors("cmfe_EquationsSet_AnalyticCreateFinishNumber",err,error)
24459  exits("cmfe_EquationsSet_AnalyticCreateFinishNumber")
24460  CALL cmfe_handleerror(err,error)
24461  RETURN
24462 
24464 
24465  !
24466  !================================================================================================================================
24467  !
24468 
24470  SUBROUTINE cmfe_equationsset_analyticcreatefinishobj(equationsSet,err)
24471  !DLLEXPORT(cmfe_EquationsSet_AnalyticCreateFinishObj)
24472 
24473  !Argument variables
24474  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
24475  INTEGER(INTG), INTENT(OUT) :: err
24476  !Local variables
24477 
24478  enters("cmfe_EquationsSet_AnalyticCreateFinishObj",err,error,*999)
24479 
24480  CALL equations_set_analytic_create_finish(equationsset%equationsSet,err,error,*999)
24481 
24482  exits("cmfe_EquationsSet_AnalyticCreateFinishObj")
24483  RETURN
24484 999 errorsexits("cmfe_EquationsSet_AnalyticCreateFinishObj",err,error)
24485  CALL cmfe_handleerror(err,error)
24486  RETURN
24487 
24489 
24490  !
24491  !================================================================================================================================
24492  !
24493 
24495  SUBROUTINE cmfe_equationsset_analyticcreatestartnumber(regionUserNumber,equationsSetUserNumber,analyticFunctionType, &
24496  & analyticfieldusernumber,err)
24497  !DLLEXPORT(cmfe_EquationsSet_AnalyticCreateStartNumber)
24498 
24499  !Argument variables
24500  INTEGER(INTG), INTENT(IN) :: regionUserNumber
24501  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
24502  INTEGER(INTG), INTENT(IN) :: analyticFunctionType
24503  INTEGER(INTG), INTENT(IN) :: analyticFieldUserNumber
24504  INTEGER(INTG), INTENT(OUT) :: err
24505  !Local variables
24506  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
24507  TYPE(field_type), POINTER :: ANALYTIC_FIELD
24508  TYPE(region_type), POINTER :: REGION
24509  TYPE(varying_string) :: localError
24510 
24511  enters("cmfe_EquationsSet_AnalyticCreateStartNumber",err,error,*999)
24512 
24513  NULLIFY(region)
24514  NULLIFY(equations_set)
24515  NULLIFY(analytic_field)
24516  CALL region_user_number_find(regionusernumber,region,err,error,*999)
24517  IF(ASSOCIATED(region)) THEN
24518  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
24519  IF(ASSOCIATED(equations_set)) THEN
24520  CALL field_user_number_find(analyticfieldusernumber,region,analytic_field,err,error,*999)
24521  CALL equations_set_analytic_create_start(equations_set,analyticfunctiontype,analyticfieldusernumber,analytic_field, &
24522  & err,error,*999)
24523  ELSE
24524  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
24525  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
24526  CALL flagerror(localerror,err,error,*999)
24527  END IF
24528  ELSE
24529  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
24530  CALL flagerror(localerror,err,error,*999)
24531  END IF
24532 
24533  exits("cmfe_EquationsSet_AnalyticCreateStartNumber")
24534  RETURN
24535 999 errorsexits("cmfe_EquationsSet_AnalyticCreateStartNumber",err,error)
24536  CALL cmfe_handleerror(err,error)
24537  RETURN
24538 
24540 
24541  !
24542  !================================================================================================================================
24543  !
24544 
24546  SUBROUTINE cmfe_equationsset_analyticcreatestartobj(equationsSet,analyticFunctionType,analyticFieldUserNumber,analyticField,err)
24547  !DLLEXPORT(cmfe_EquationsSet_AnalyticCreateStartObj)
24548 
24549  !Argument variables
24550  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
24551  INTEGER(INTG), INTENT(IN) :: analyticFunctionType
24552  INTEGER(INTG), INTENT(IN) :: analyticFieldUserNumber
24553  TYPE(cmfe_fieldtype), INTENT(INOUT) :: analyticField
24554  INTEGER(INTG), INTENT(OUT) :: err
24555  !Local variables
24556 
24557  enters("cmfe_EquationsSet_AnalyticCreateStartObj",err,error,*999)
24558 
24559  CALL equations_set_analytic_create_start(equationsset%equationsSet,analyticfunctiontype,analyticfieldusernumber, &
24560  & analyticfield%field,err,error,*999)
24561 
24562  exits("cmfe_EquationsSet_AnalyticCreateStartObj")
24563  RETURN
24564 999 errorsexits("cmfe_EquationsSet_AnalyticCreateStartObj",err,error)
24565  CALL cmfe_handleerror(err,error)
24566  RETURN
24567 
24569 
24570  !
24571  !================================================================================================================================
24572  !
24573 
24575  SUBROUTINE cmfe_equationsset_analyticdestroynumber(regionUserNumber,equationsSetUserNumber,err)
24576  !DLLEXPORT(cmfe_EquationsSet_AnalyticDestroyNumber)
24577 
24578  !Argument variables
24579  INTEGER(INTG), INTENT(IN) :: regionUserNumber
24580  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
24581  INTEGER(INTG), INTENT(OUT) :: err
24582  !Local variables
24583  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
24584  TYPE(region_type), POINTER :: REGION
24585  TYPE(varying_string) :: localError
24586 
24587  enters("cmfe_EquationsSet_AnalyticDestroyNumber",err,error,*999)
24588 
24589  NULLIFY(region)
24590  NULLIFY(equations_set)
24591  CALL region_user_number_find(regionusernumber,region,err,error,*999)
24592  IF(ASSOCIATED(region)) THEN
24593  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
24594  IF(ASSOCIATED(equations_set)) THEN
24595  CALL equations_set_analytic_destroy(equations_set,err,error,*999)
24596  ELSE
24597  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
24598  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
24599  CALL flagerror(localerror,err,error,*999)
24600  END IF
24601  ELSE
24602  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
24603  CALL flagerror(localerror,err,error,*999)
24604  END IF
24605 
24606  exits("cmfe_EquationsSet_AnalyticDestroyNumber")
24607  RETURN
24608 999 errorsexits("cmfe_EquationsSet_AnalyticDestroyNumber",err,error)
24609  CALL cmfe_handleerror(err,error)
24610  RETURN
24611 
24613 
24614  !
24615  !================================================================================================================================
24616  !
24617 
24619  SUBROUTINE cmfe_equationsset_analyticdestroyobj(equationsSet,err)
24620  !DLLEXPORT(cmfe_EquationsSet_AnalyticDestroyObj)
24621 
24622  !Argument variables
24623  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
24624  INTEGER(INTG), INTENT(OUT) :: err
24625  !Local variables
24626 
24627  enters("cmfe_EquationsSet_AnalyticDestroyObj",err,error,*999)
24628 
24629  CALL equations_set_analytic_destroy(equationsset%equationsSet,err,error,*999)
24630 
24631  exits("cmfe_EquationsSet_AnalyticDestroyObj")
24632  RETURN
24633 999 errorsexits("cmfe_EquationsSet_AnalyticDestroyObj",err,error)
24634  CALL cmfe_handleerror(err,error)
24635  RETURN
24636 
24638 
24639 
24640  !
24641  !================================================================================================================================
24642  !
24643 
24645  SUBROUTINE cmfe_equationsset_analyticevaluatenumber(regionUserNumber,equationsSetUserNumber,err)
24646  !DLLEXPORT(cmfe_EquationsSet_AnalyticEvaluateNumber)
24647 
24648  !Argument variables
24649  INTEGER(INTG), INTENT(IN) :: regionUserNumber
24650  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
24651  INTEGER(INTG), INTENT(OUT) :: err
24652  !Local variables
24653  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
24654  TYPE(region_type), POINTER :: REGION
24655  TYPE(varying_string) :: localError
24656 
24657  enters("cmfe_EquationsSet_AnalyticEvaluateNumber",err,error,*999)
24658 
24659  NULLIFY(region)
24660  NULLIFY(equations_set)
24661  CALL region_user_number_find(regionusernumber,region,err,error,*999)
24662  IF(ASSOCIATED(region)) THEN
24663  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
24664  IF(ASSOCIATED(equations_set)) THEN
24665  CALL equations_set_analytic_evaluate(equations_set,err,error,*999)
24666  ELSE
24667  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
24668  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
24669  CALL flagerror(localerror,err,error,*999)
24670  END IF
24671  ELSE
24672  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
24673  CALL flagerror(localerror,err,error,*999)
24674  END IF
24675 
24676  exits("cmfe_EquationsSet_AnalyticEvaluateNumber")
24677  RETURN
24678 999 errorsexits("cmfe_EquationsSet_AnalyticEvaluateNumber",err,error)
24679  CALL cmfe_handleerror(err,error)
24680  RETURN
24681 
24683 
24684  !
24685  !================================================================================================================================
24686  !
24687 
24689  SUBROUTINE cmfe_equationsset_analyticevaluateobj(equationsSet,err)
24690  !DLLEXPORT(cmfe_EquationsSet_AnalyticEvaluateObj)
24691 
24692  !Argument variables
24693  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
24694  INTEGER(INTG), INTENT(OUT) :: err
24695  !Local variables
24696 
24697  enters("cmfe_EquationsSet_AnalyticEvaluateObj",err,error,*999)
24698 
24699  CALL equations_set_analytic_evaluate(equationsset%equationsSet,err,error,*999)
24700 
24701  exits("cmfe_EquationsSet_AnalyticEvaluateObj")
24702  RETURN
24703 999 errorsexits("cmfe_EquationsSet_AnalyticEvaluateObj",err,error)
24704  CALL cmfe_handleerror(err,error)
24705  RETURN
24706 
24708 
24709  !
24710  !================================================================================================================================
24711  !
24712 
24714  SUBROUTINE cmfe_equationsset_analytictimegetnumber(regionUserNumber,equationsSetUserNumber,time,err)
24715  !DLLEXPORT(cmfe_EquationsSet_AnalyticTimeGetNumber)
24716 
24717  !Argument variables
24718  INTEGER(INTG), INTENT(IN) :: regionUserNumber
24719  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
24720  REAL(DP), INTENT(OUT) :: time
24721  INTEGER(INTG), INTENT(OUT) :: err
24722  !Local variables
24723  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
24724  TYPE(region_type), POINTER :: REGION
24725  TYPE(varying_string) :: localError
24726 
24727  enters("cmfe_EquationsSet_AnalyticTimeGetNumber",err,error,*999)
24728 
24729  NULLIFY(region)
24730  NULLIFY(equations_set)
24731  CALL region_user_number_find(regionusernumber,region,err,error,*999)
24732  IF(ASSOCIATED(region)) THEN
24733  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
24734  IF(ASSOCIATED(equations_set)) THEN
24735  CALL equations_set_analytic_time_get(equations_set,time,err,error,*999)
24736  ELSE
24737  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
24738  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
24739  CALL flagerror(localerror,err,error,*999)
24740  END IF
24741  ELSE
24742  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
24743  CALL flagerror(localerror,err,error,*999)
24744  END IF
24745 
24746  exits("cmfe_EquationsSet_AnalyticTimeGetNumber")
24747  RETURN
24748 999 errorsexits("cmfe_EquationsSet_AnalyticTimeGetNumber",err,error)
24749  CALL cmfe_handleerror(err,error)
24750  RETURN
24751 
24753 
24754  !
24755  !================================================================================================================================
24756  !
24757 
24759  SUBROUTINE cmfe_equationsset_analytictimegetobj(equationsSet,time,err)
24760  !DLLEXPORT(cmfe_EquationsSet_AnalyticTimeGetObj)
24761 
24762  !Argument variables
24763  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
24764  REAL(DP), INTENT(OUT) :: time
24765  INTEGER(INTG), INTENT(OUT) :: err
24766  !Local variables
24767 
24768  enters("cmfe_EquationsSet_AnalyticTimeGetObj",err,error,*999)
24769 
24770  CALL equations_set_analytic_time_get(equationsset%equationsSet,time,err,error,*999)
24771 
24772  exits("cmfe_EquationsSet_AnalyticTimeGetObj")
24773  RETURN
24774 999 errorsexits("cmfe_EquationsSet_AnalyticTimeGetObj",err,error)
24775  CALL cmfe_handleerror(err,error)
24776  RETURN
24777 
24779 
24780  !
24781  !================================================================================================================================
24782  !
24783 
24785  SUBROUTINE cmfe_equationsset_analytictimesetnumber(regionUserNumber,equationsSetUserNumber,time,err)
24786  !DLLEXPORT(cmfe_EquationsSet_AnalyticTimeSetNumber)
24787 
24788  !Argument variables
24789  INTEGER(INTG), INTENT(IN) :: regionUserNumber
24790  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
24791  REAL(DP), INTENT(IN) :: time
24792  INTEGER(INTG), INTENT(OUT) :: err
24793  !Local variables
24794  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
24795  TYPE(region_type), POINTER :: REGION
24796  TYPE(varying_string) :: localError
24797 
24798  enters("cmfe_EquationsSet_AnalyticTimeSetNumber",err,error,*999)
24799 
24800  NULLIFY(region)
24801  NULLIFY(equations_set)
24802  CALL region_user_number_find(regionusernumber,region,err,error,*999)
24803  IF(ASSOCIATED(region)) THEN
24804  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
24805  IF(ASSOCIATED(equations_set)) THEN
24806  CALL equations_set_analytic_time_set(equations_set,time,err,error,*999)
24807  ELSE
24808  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
24809  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
24810  CALL flagerror(localerror,err,error,*999)
24811  END IF
24812  ELSE
24813  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
24814  CALL flagerror(localerror,err,error,*999)
24815  END IF
24816 
24817  exits("cmfe_EquationsSet_AnalyticTimeSetNumber")
24818  RETURN
24819 999 errorsexits("cmfe_EquationsSet_AnalyticTimeSetNumber",err,error)
24820  CALL cmfe_handleerror(err,error)
24821  RETURN
24822 
24824 
24825  !
24826  !================================================================================================================================
24827  !
24828 
24830  SUBROUTINE cmfe_equationsset_analytictimesetobj(equationsSet,time,err)
24831  !DLLEXPORT(cmfe_EquationsSet_AnalyticTimeSetObj)
24832 
24833  !Argument variables
24834  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
24835  REAL(DP), INTENT(IN) :: time
24836  INTEGER(INTG), INTENT(OUT) :: err
24837  !Local variables
24838 
24839  enters("cmfe_EquationsSet_AnalyticTimeSetObj",err,error,*999)
24840 
24841  CALL equations_set_analytic_time_set(equationsset%equationsSet,time,err,error,*999)
24842 
24843  exits("cmfe_EquationsSet_AnalyticTimeSetObj")
24844  RETURN
24845 999 errorsexits("cmfe_EquationsSet_AnalyticTimeSetObj",err,error)
24846  CALL cmfe_handleerror(err,error)
24847  RETURN
24848 
24850 
24851 
24852  !
24853  !================================================================================================================================
24854  !
24855 
24857  SUBROUTINE cmfe_equationsset_analyticuserparamsetnumber(regionUserNumber,equationsSetUserNumber,paramIdx,param,err)
24858  !DLLEXPORT(cmfe_EquationsSet_AnalyticUserParamSetNumber)
24859  !Argument variables
24860  INTEGER(INTG), INTENT(IN) :: regionUserNumber
24861  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
24862  INTEGER(INTG), INTENT(IN) :: paramIdx
24863  REAL(DP), INTENT(IN) :: param
24864  INTEGER(INTG), INTENT(OUT) :: err
24865  !Local variables
24866  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
24867  TYPE(region_type), POINTER :: REGION
24868  TYPE(varying_string) :: localError
24869 
24870  enters("cmfe_EquationsSet_AnalyticUserParamSetNumber",err,error,*999)
24871 
24872  NULLIFY(region)
24873  NULLIFY(equations_set)
24874  CALL region_user_number_find(regionusernumber,region,err,error,*999)
24875  IF(ASSOCIATED(region)) THEN
24876  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
24877  IF(ASSOCIATED(equations_set)) THEN
24878  IF(ASSOCIATED(equations_set%ANALYTIC)) THEN
24879  CALL equations_set_analytic_user_param_set(equations_set,paramidx,param,err,error,*999)
24880  ELSE
24881  localerror="Equations set analytic is not associated for equations set with a user number of " &
24882  & //trim(numbertovstring(equationssetusernumber,"*",err,error))//"."
24883  CALL flagerror(localerror,err,error,*999)
24884  END IF
24885  ELSE
24886  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
24887  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
24888  CALL flagerror(localerror,err,error,*999)
24889  END IF
24890  ELSE
24891  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
24892  CALL flagerror(localerror,err,error,*999)
24893  END IF
24894 
24895  exits("cmfe_EquationsSet_AnalyticUserParamSetNumber")
24896  RETURN
24897 999 errors("cmfe_EquationsSet_AnalyticUserParamSetNumber",err,error)
24898  exits("cmfe_EquationsSet_AnalyticUserParamSetNumber")
24899  CALL cmfe_handleerror(err,error)
24900  RETURN
24901 
24903 
24904  !
24905  !================================================================================================================================
24906  !
24907 
24909  SUBROUTINE cmfe_equationsset_analyticuserparamsetobj(equationsSet,paramIdx,param,err)
24910  !DLLEXPORT(cmfe_EquationsSet_AnalyticUserParamSetObj)
24911  !Argument variables
24912  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
24913  INTEGER(INTG), INTENT(IN) :: paramIdx
24914  REAL(DP), INTENT(IN) :: param
24915  INTEGER(INTG), INTENT(OUT) :: err
24916  !Local variables
24917 
24918  enters("cmfe_EquationsSet_AnalyticUserParamSetObj",err,error,*999)
24919 
24920  CALL equations_set_analytic_user_param_set(equationsset%equationsSet,paramidx,param,err,error,*999)
24921 
24922  exits("cmfe_EquationsSet_AnalyticUserParamSetObj")
24923  RETURN
24924 999 errorsexits("cmfe_EquationsSet_AnalyticUserParamSetObj",err,error)
24925  CALL cmfe_handleerror(err,error)
24926  RETURN
24927 
24929 
24930  !
24931  !================================================================================================================================
24932  !
24933 
24935  SUBROUTINE cmfe_equationsset_analyticuserparamgetnumber(regionUserNumber,equationsSetUserNumber,paramIdx,param,err)
24936  !DLLEXPORT(cmfe_EquationsSet_AnalyticUserParamGetNumber)
24937  !Argument variables
24938  INTEGER(INTG), INTENT(IN) :: regionUserNumber
24939  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
24940  INTEGER(INTG), INTENT(IN) :: paramIdx
24941  REAL(DP), INTENT(OUT) :: param
24942  INTEGER(INTG), INTENT(OUT) :: err
24943  !Local variables
24944  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
24945  TYPE(region_type), POINTER :: REGION
24946  TYPE(varying_string) :: localError
24947 
24948  enters("cmfe_EquationsSet_AnalyticUserParamGetNumber",err,error,*999)
24949 
24950  NULLIFY(region)
24951  NULLIFY(equations_set)
24952  CALL region_user_number_find(regionusernumber,region,err,error,*999)
24953  IF(ASSOCIATED(region)) THEN
24954  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
24955  IF(ASSOCIATED(equations_set)) THEN
24956  IF(ASSOCIATED(equations_set%ANALYTIC)) THEN
24957  CALL equations_set_analytic_user_param_get(equations_set,paramidx,param,err,error,*999)
24958  ELSE
24959  localerror="Equations set analytic is not associated for equations set with a user number of " &
24960  & //trim(numbertovstring(equationssetusernumber,"*",err,error))//"."
24961  CALL flagerror(localerror,err,error,*999)
24962  END IF
24963  ELSE
24964  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
24965  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
24966  CALL flagerror(localerror,err,error,*999)
24967  END IF
24968  ELSE
24969  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
24970  CALL flagerror(localerror,err,error,*999)
24971  END IF
24972 
24973  exits("cmfe_EquationsSet_AnalyticUserParamGetNumber")
24974  RETURN
24975 999 errors("cmfe_EquationsSet_AnalyticUserParamGetNumber",err,error)
24976  exits("cmfe_EquationsSet_AnalyticUserParamGetNumber")
24977  CALL cmfe_handleerror(err,error)
24978  RETURN
24979 
24981 
24982  !
24983  !================================================================================================================================
24984  !
24985 
24987  SUBROUTINE cmfe_equationsset_analyticuserparamgetobj(equationsSet,paramIdx,param,err)
24988  !DLLEXPORT(cmfe_EquationsSet_AnalyticUserParamGetObj)
24989  !Argument variables
24990  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
24991  INTEGER(INTG), INTENT(IN) :: paramIdx
24992  REAL(DP), INTENT(OUT) :: param
24993  INTEGER(INTG), INTENT(OUT) :: err
24994  !Local variables
24995 
24996  enters("cmfe_EquationsSet_AnalyticUserParamGetObj",err,error,*999)
24997 
24998  CALL equations_set_analytic_user_param_get(equationsset%equationsSet,paramidx,param,err,error,*999)
24999 
25000  exits("cmfe_EquationsSet_AnalyticUserParamGetObj")
25001  RETURN
25002 999 errorsexits("cmfe_EquationsSet_AnalyticUserParamGetObj",err,error)
25003  CALL cmfe_handleerror(err,error)
25004  RETURN
25005 
25007 
25008  !
25009  !================================================================================================================================
25010  !
25011 
25013  SUBROUTINE cmfe_equationsset_createfinishnumber(regionUserNumber,equationsSetUserNumber,err)
25014  !DLLEXPORT(cmfe_EquationsSet_CreateFinishNumber)
25015 
25016  !Argument variables
25017  INTEGER(INTG), INTENT(IN) :: regionUserNumber
25018  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
25019  INTEGER(INTG), INTENT(OUT) :: err
25020  !Local variables
25021  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
25022  TYPE(region_type), POINTER :: REGION
25023  TYPE(varying_string) :: localError
25024 
25025  enters("cmfe_EquationsSet_CreateFinishNumber",err,error,*999)
25026 
25027  NULLIFY(region)
25028  NULLIFY(equations_set)
25029  CALL region_user_number_find(regionusernumber,region,err,error,*999)
25030  IF(ASSOCIATED(region)) THEN
25031  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
25032  IF(ASSOCIATED(equations_set)) THEN
25033  CALL equations_set_create_finish(equations_set,err,error,*999)
25034  ELSE
25035  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
25036  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
25037  CALL flagerror(localerror,err,error,*999)
25038  END IF
25039  ELSE
25040  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
25041  CALL flagerror(localerror,err,error,*999)
25042  END IF
25043 
25044 #ifdef TAUPROF
25045  CALL tau_static_phase_stop('Equations Set Create')
25046 #endif
25047 
25048  exits("cmfe_EquationsSet_CreateFinishNumber")
25049  RETURN
25050 999 errorsexits("cmfe_EquationsSet_CreateFinishNumber",err,error)
25051  CALL cmfe_handleerror(err,error)
25052  RETURN
25053 
25055 
25056  !
25057  !================================================================================================================================
25058  !
25059 
25061  SUBROUTINE cmfe_equationsset_createfinishobj(equationsSet,err)
25062  !DLLEXPORT(cmfe_EquationsSet_CreateFinishObj)
25063 
25064  !Argument variables
25065  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
25066  INTEGER(INTG), INTENT(OUT) :: err
25067  !Local variables
25068 
25069  enters("cmfe_EquationsSet_CreateFinishObj",err,error,*999)
25070 
25071  CALL equations_set_create_finish(equationsset%equationsSet,err,error,*999)
25072 
25073 #ifdef TAUPROF
25074  CALL tau_static_phase_stop('Equations Set Create')
25075 #endif
25076 
25077  exits("cmfe_EquationsSet_CreateFinishObj")
25078  RETURN
25079 999 errorsexits("cmfe_EquationsSet_CreateFinishObj",err,error)
25080  CALL cmfe_handleerror(err,error)
25081  RETURN
25082 
25083  END SUBROUTINE cmfe_equationsset_createfinishobj
25084 
25085  !
25086  !================================================================================================================================
25087  !
25088 
25090  SUBROUTINE cmfe_equationsset_createstartnumber(equationsSetUserNumber,regionUserNumber,geomFibreFieldUserNumber,&
25091  & equationssetspecification,equationssetfieldusernumber,err)
25092  !DLLEXPORT(cmfe_EquationsSet_CreateStartNumber)
25093 
25094  !Argument variables
25095  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
25096  INTEGER(INTG), INTENT(IN) :: regionUserNumber
25097  INTEGER(INTG), INTENT(IN) :: geomFibreFieldUserNumber
25098  INTEGER(INTG), INTENT(IN) :: equationsSetSpecification(:)
25099  INTEGER(INTG), INTENT(IN) :: equationsSetFieldUserNumber
25100  INTEGER(INTG), INTENT(OUT) :: err
25101  !Local variables
25102  TYPE(field_type), POINTER :: EQUATIONS_SET_FIELD
25103  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
25104  TYPE(field_type), POINTER :: GEOM_FIBRE_FIELD
25105  TYPE(region_type), POINTER :: REGION
25106  TYPE(varying_string) :: localError
25107 
25108  enters("cmfe_EquationsSet_CreateStartNumber",err,error,*999)
25109 
25110 #ifdef TAUPROF
25111  CALL tau_static_phase_start('Equations Set Create')
25112 #endif
25113 
25114  NULLIFY(region)
25115  NULLIFY(equations_set)
25116  NULLIFY(geom_fibre_field)
25117  NULLIFY(equations_set_field)
25118  CALL region_user_number_find(regionusernumber,region,err,error,*999)
25119  IF(ASSOCIATED(region)) THEN
25120  CALL field_user_number_find(geomfibrefieldusernumber,region,geom_fibre_field,err,error,*999)
25121 
25122  !Equations set field may not be created
25123  CALL field_user_number_find(equationssetfieldusernumber,region,equations_set_field,err,error,*999)
25124 
25125  IF(ASSOCIATED(geom_fibre_field)) THEN
25126  CALL equations_set_create_start(equationssetusernumber,region,geom_fibre_field,&
25127  & equationssetspecification,equationssetfieldusernumber,&
25128  & equations_set_field,equations_set,err,error,*999)
25129  ELSE
25130  localerror="A field with an user number of "//trim(numbertovstring(geomfibrefieldusernumber,"*",err,error))// &
25131  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
25132  CALL flagerror(localerror,err,error,*999)
25133  END IF
25134  ELSE
25135  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
25136  CALL flagerror(localerror,err,error,*999)
25137  END IF
25138 
25139  exits("cmfe_EquationsSet_CreateStartNumber")
25140  RETURN
25141 999 errorsexits("cmfe_EquationsSet_CreateStartNumber",err,error)
25142  CALL cmfe_handleerror(err,error)
25143  RETURN
25144 
25146 
25147  !
25148  !================================================================================================================================
25149  !
25150 
25152  SUBROUTINE cmfe_equationsset_createstartobj(equationsSetUserNumber,region,geomFibreField,&
25153  & equationssetspecification,equationssetfieldusernumber,&
25154  & equationssetfieldfield,equationsset,err)
25155  !DLLEXPORT(cmfe_EquationsSet_CreateStartObj)
25156 
25157  !Argument variables
25158  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
25159  TYPE(cmfe_regiontype), INTENT(IN) :: region
25160  TYPE(cmfe_fieldtype), INTENT(IN) :: geomFibreField
25161  INTEGER(INTG), INTENT(IN) :: equationsSetSpecification(:)
25162  INTEGER(INTG), INTENT(IN) :: equationsSetFieldUserNumber
25163  TYPE(cmfe_fieldtype), INTENT(INOUT) :: equationsSetFieldField
25164  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
25165  INTEGER(INTG), INTENT(OUT) :: err
25166  !Local variables
25167 
25168  enters("cmfe_EquationsSet_CreateStartObj",err,error,*999)
25169 
25170 #ifdef TAUPROF
25171  CALL tau_static_phase_start('Equations Set Create')
25172 #endif
25173 
25174  CALL equations_set_create_start(equationssetusernumber,region%region,geomfibrefield%field, &
25175  & equationssetspecification,equationssetfieldusernumber,equationssetfieldfield%field,equationsset%equationsSet, &
25176  & err,error,*999)
25177 
25178  exits("cmfe_EquationsSet_CreateStartObj")
25179  RETURN
25180 999 errorsexits("cmfe_EquationsSet_CreateStartObj",err,error)
25181  CALL cmfe_handleerror(err,error)
25182  RETURN
25183 
25184  END SUBROUTINE cmfe_equationsset_createstartobj
25185 
25186  !
25187  !================================================================================================================================
25188  !
25189 
25191  SUBROUTINE cmfe_equationsset_destroynumber(regionUserNumber,equationsSetUserNumber,err)
25192  !DLLEXPORT(cmfe_EquationsSet_DestroyNumber)
25193 
25194  !Argument variables
25195  INTEGER(INTG), INTENT(IN) :: regionUserNumber
25196  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
25197  INTEGER(INTG), INTENT(OUT) :: err
25198  !Local variables
25199  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
25200  TYPE(region_type), POINTER :: REGION
25201  TYPE(varying_string) :: localError
25202 
25203  enters("cmfe_EquationsSet_DestroyNumber",err,error,*999)
25204 
25205  NULLIFY(region)
25206  NULLIFY(equations_set)
25207  CALL region_user_number_find(regionusernumber,region,err,error,*999)
25208  IF(ASSOCIATED(region)) THEN
25209  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
25210  IF(ASSOCIATED(equations_set)) THEN
25211  CALL equations_set_destroy(equations_set,err,error,*999)
25212  ELSE
25213  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
25214  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
25215  CALL flagerror(localerror,err,error,*999)
25216  END IF
25217  ELSE
25218  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
25219  CALL flagerror(localerror,err,error,*999)
25220  END IF
25221 
25222  exits("cmfe_EquationsSet_DestroyNumber")
25223  RETURN
25224 999 errorsexits("cmfe_EquationsSet_DestroyNumber",err,error)
25225  CALL cmfe_handleerror(err,error)
25226  RETURN
25227 
25228  END SUBROUTINE cmfe_equationsset_destroynumber
25229 
25230  !
25231  !================================================================================================================================
25232  !
25233 
25235  SUBROUTINE cmfe_equationsset_destroyobj(equationsSet,err)
25236  !DLLEXPORT(cmfe_EquationsSet_DestroyObj)
25237 
25238  !Argument variables
25239  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
25240  INTEGER(INTG), INTENT(OUT) :: err
25241  !Local variables
25242 
25243  enters("cmfe_EquationsSet_DestroyObj",err,error,*999)
25244 
25245  CALL equations_set_destroy(equationsset%equationsSet,err,error,*999)
25246 
25247  exits("cmfe_EquationsSet_DestroyObj")
25248  RETURN
25249 999 errorsexits("cmfe_EquationsSet_DestroyObj",err,error)
25250  CALL cmfe_handleerror(err,error)
25251  RETURN
25252 
25253  END SUBROUTINE cmfe_equationsset_destroyobj
25254 
25255  !
25256  !================================================================================================================================
25257  !
25258 
25260  SUBROUTINE cmfe_equationsset_dependentcreatefinishnumber(regionUserNumber,equationsSetUserNumber,err)
25261  !DLLEXPORT(cmfe_EquationsSet_DependentCreateFinishNumber)
25262 
25263  !Argument variables
25264  INTEGER(INTG), INTENT(IN) :: regionUserNumber
25265  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
25266  INTEGER(INTG), INTENT(OUT) :: err
25267  !Local variables
25268  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
25269  TYPE(region_type), POINTER :: REGION
25270  TYPE(varying_string) :: localError
25271 
25272  enters("cmfe_EquationsSet_DependentCreateFinishNumber",err,error,*999)
25273 
25274  NULLIFY(region)
25275  NULLIFY(equations_set)
25276  CALL region_user_number_find(regionusernumber,region,err,error,*999)
25277  IF(ASSOCIATED(region)) THEN
25278  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
25279  IF(ASSOCIATED(equations_set)) THEN
25280  CALL equations_set_dependent_create_finish(equations_set,err,error,*999)
25281  ELSE
25282  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
25283  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
25284  CALL flagerror(localerror,err,error,*999)
25285  END IF
25286  ELSE
25287  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
25288  CALL flagerror(localerror,err,error,*999)
25289  END IF
25290 
25291  exits("cmfe_EquationsSet_DependentCreateFinishNumber")
25292  RETURN
25293 999 errors("cmfe_EquationsSet_DependentCreateFinishNumber",err,error)
25294  exits("cmfe_EquationsSet_DependentCreateFinishNumber")
25295  CALL cmfe_handleerror(err,error)
25296  RETURN
25297 
25299 
25300  !
25301  !================================================================================================================================
25302  !
25303 
25305  SUBROUTINE cmfe_equationsset_dependentcreatefinishobj(equationsSet,err)
25306  !DLLEXPORT(cmfe_EquationsSet_DependentCreateFinishObj)
25307 
25308  !Argument variables
25309  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
25310  INTEGER(INTG), INTENT(OUT) :: err
25311  !Local variables
25312 
25313  enters("cmfe_EquationsSet_DependentCreateFinishObj",err,error,*999)
25314 
25315  CALL equations_set_dependent_create_finish(equationsset%equationsSet,err,error,*999)
25316 
25317  exits("cmfe_EquationsSet_DependentCreateFinishObj")
25318  RETURN
25319 999 errorsexits("cmfe_EquationsSet_DependentCreateFinishObj",err,error)
25320  CALL cmfe_handleerror(err,error)
25321  RETURN
25322 
25324 
25325  !
25326  !================================================================================================================================
25327  !
25328 
25330  SUBROUTINE cmfe_equationsset_dependentcreatestartnumber(regionUserNumber,equationsSetUserNumber,dependentFieldUserNumber,err)
25331  !DLLEXPORT(cmfe_EquationsSet_DependentCreateStartNumber)
25332 
25333  !Argument variables
25334  INTEGER(INTG), INTENT(IN) :: regionUserNumber
25335  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
25336  INTEGER(INTG), INTENT(IN) :: dependentFieldUserNumber
25337  INTEGER(INTG), INTENT(OUT) :: err
25338  !Local variables
25339  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
25340  TYPE(field_type), POINTER :: DEPENDENT_FIELD
25341  TYPE(region_type), POINTER :: REGION
25342  TYPE(varying_string) :: localError
25343 
25344  enters("cmfe_EquationsSet_DependentCreateStartNumber",err,error,*999)
25345 
25346  NULLIFY(region)
25347  NULLIFY(equations_set)
25348  NULLIFY(dependent_field)
25349  CALL region_user_number_find(regionusernumber,region,err,error,*999)
25350  IF(ASSOCIATED(region)) THEN
25351  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
25352  IF(ASSOCIATED(equations_set)) THEN
25353  CALL field_user_number_find(dependentfieldusernumber,region,dependent_field,err,error,*999)
25354  CALL equations_set_dependent_create_start(equations_set,dependentfieldusernumber,dependent_field,err,error,*999)
25355  ELSE
25356  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
25357  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
25358  CALL flagerror(localerror,err,error,*999)
25359  END IF
25360  ELSE
25361  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
25362  CALL flagerror(localerror,err,error,*999)
25363  END IF
25364 
25365  exits("cmfe_EquationsSet_DependentCreateStartNumber")
25366  RETURN
25367 999 errors("cmfe_EquationsSet_DependentCreateStartNumber",err,error)
25368  exits("cmfe_EquationsSet_DependentCreateStartNumber")
25369  CALL cmfe_handleerror(err,error)
25370  RETURN
25371 
25373 
25374  !
25375  !================================================================================================================================
25376  !
25377 
25379  SUBROUTINE cmfe_equationsset_dependentcreatestartobj(equationsSet,dependentFieldUserNumber,dependentField,err)
25380  !DLLEXPORT(cmfe_EquationsSet_DependentCreateStartObj)
25381 
25382  !Argument variables
25383  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
25384  INTEGER(INTG), INTENT(IN) :: dependentFieldUserNumber
25385  TYPE(cmfe_fieldtype), INTENT(INOUT) :: dependentField
25386  INTEGER(INTG), INTENT(OUT) :: err
25387  !Local variables
25388 
25389  enters("cmfe_EquationsSet_DependentCreateStartObj",err,error,*999)
25390 
25391  CALL equations_set_dependent_create_start(equationsset%equationsSet,dependentfieldusernumber,dependentfield%field, &
25392  & err,error,*999)
25393 
25394  exits("cmfe_EquationsSet_DependentCreateStartObj")
25395  RETURN
25396 999 errorsexits("cmfe_EquationsSet_DependentCreateStartObj",err,error)
25397  CALL cmfe_handleerror(err,error)
25398  RETURN
25399 
25401 
25402  !
25403  !================================================================================================================================
25404  !
25405 
25407  SUBROUTINE cmfe_equationsset_dependentdestroynumber(regionUserNumber,equationsSetUserNumber,err)
25408  !DLLEXPORT(cmfe_EquationsSet_DependentDestroyNumber)
25409 
25410  !Argument variables
25411  INTEGER(INTG), INTENT(IN) :: regionUserNumber
25412  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
25413  INTEGER(INTG), INTENT(OUT) :: err
25414  !Local variables
25415  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
25416  TYPE(region_type), POINTER :: REGION
25417  TYPE(varying_string) :: localError
25418 
25419  enters("cmfe_EquationsSet_DependentDestroyNumber",err,error,*999)
25420 
25421  NULLIFY(region)
25422  NULLIFY(equations_set)
25423  CALL region_user_number_find(regionusernumber,region,err,error,*999)
25424  IF(ASSOCIATED(region)) THEN
25425  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
25426  IF(ASSOCIATED(equations_set)) THEN
25427  CALL equations_set_dependent_destroy(equations_set,err,error,*999)
25428  ELSE
25429  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
25430  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
25431  CALL flagerror(localerror,err,error,*999)
25432  END IF
25433  ELSE
25434  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
25435  CALL flagerror(localerror,err,error,*999)
25436  END IF
25437 
25438  exits("cmfe_EquationsSet_DependentDestroyNumber")
25439  RETURN
25440 999 errorsexits("cmfe_EquationsSet_DependentDestroyNumber",err,error)
25441  CALL cmfe_handleerror(err,error)
25442  RETURN
25443 
25445 
25446  !
25447  !================================================================================================================================
25448  !
25449 
25451  SUBROUTINE cmfe_equationsset_dependentdestroyobj(equationsSet,err)
25452  !DLLEXPORT(cmfe_EquationsSet_DependentDestroyObj)
25453 
25454  !Argument variables
25455  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
25456  INTEGER(INTG), INTENT(OUT) :: err
25457  !Local variables
25458 
25459  enters("cmfe_EquationsSet_DependentDestroyObj",err,error,*999)
25460 
25461  CALL equations_set_dependent_destroy(equationsset%equationsSet,err,error,*999)
25462 
25463  exits("cmfe_EquationsSet_DependentDestroyObj")
25464  RETURN
25465 999 errorsexits("cmfe_EquationsSet_DependentDestroyObj",err,error)
25466  CALL cmfe_handleerror(err,error)
25467  RETURN
25468 
25470 
25471  !
25472  !================================================================================================================================
25473  !
25474 
25476  SUBROUTINE cmfe_equationsset_equationscreatefinishnumber(regionUserNumber,equationsSetUserNumber,err)
25477  !DLLEXPORT(cmfe_EquationsSet_EquationsCreateFinishNumber)
25478 
25479  !Argument variables
25480  INTEGER(INTG), INTENT(IN) :: regionUserNumber
25481  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
25482  INTEGER(INTG), INTENT(OUT) :: err
25483  !Local variables
25484  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
25485  TYPE(region_type), POINTER :: REGION
25486  TYPE(varying_string) :: localError
25487 
25488  enters("cmfe_EquationsSet_EquationsCreateFinishNumber",err,error,*999)
25489 
25490  NULLIFY(region)
25491  NULLIFY(equations_set)
25492  CALL region_user_number_find(regionusernumber,region,err,error,*999)
25493  IF(ASSOCIATED(region)) THEN
25494  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
25495  IF(ASSOCIATED(equations_set)) THEN
25496  CALL equations_set_equations_create_finish(equations_set,err,error,*999)
25497  ELSE
25498  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
25499  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
25500  CALL flagerror(localerror,err,error,*999)
25501  END IF
25502  ELSE
25503  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
25504  CALL flagerror(localerror,err,error,*999)
25505  END IF
25506 
25507  exits("cmfe_EquationsSet_EquationsCreateFinishNumber")
25508  RETURN
25509 999 errors("cmfe_EquationsSet_EquationsCreateFinishNumber",err,error)
25510  exits("cmfe_EquationsSet_EquationsCreateFinishNumber")
25511  CALL cmfe_handleerror(err,error)
25512  RETURN
25513 
25515 
25516  !
25517  !================================================================================================================================
25518  !
25519 
25521  SUBROUTINE cmfe_equationsset_equationscreatefinishobj(equationsSet,err)
25522  !DLLEXPORT(cmfe_EquationsSet_EquationsCreateFinishObj)
25523 
25524  !Argument variables
25525  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
25526  INTEGER(INTG), INTENT(OUT) :: err
25527  !Local variables
25528 
25529  enters("cmfe_EquationsSet_EquationsCreateFinishObj",err,error,*999)
25530 
25531  CALL equations_set_equations_create_finish(equationsset%equationsSet,err,error,*999)
25532 
25533  exits("cmfe_EquationsSet_EquationsCreateFinishObj")
25534  RETURN
25535 999 errorsexits("cmfe_EquationsSet_EquationsCreateFinishObj",err,error)
25536  CALL cmfe_handleerror(err,error)
25537  RETURN
25538 
25540 
25541  !
25542  !================================================================================================================================
25543  !
25544 
25546  SUBROUTINE cmfe_equationsset_equationscreatestartnumber(regionUserNumber,equationsSetUserNumber,err)
25547  !DLLEXPORT(cmfe_EquationsSet_EquationsCreateStartNumber)
25548 
25549  !Argument variables
25550  INTEGER(INTG), INTENT(IN) :: regionUserNumber
25551  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
25552  INTEGER(INTG), INTENT(OUT) :: err
25553  !Local variables
25554  TYPE(equations_type), POINTER :: EQUATIONS
25555  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
25556  TYPE(region_type), POINTER :: REGION
25557  TYPE(varying_string) :: localError
25558 
25559  enters("cmfe_EquationsSet_EquationsCreateStartNumber",err,error,*999)
25560 
25561  NULLIFY(region)
25562  NULLIFY(equations_set)
25563  NULLIFY(equations)
25564  CALL region_user_number_find(regionusernumber,region,err,error,*999)
25565  IF(ASSOCIATED(region)) THEN
25566  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
25567  IF(ASSOCIATED(equations_set)) THEN
25568  CALL equations_set_equations_create_start(equations_set,equations,err,error,*999)
25569  ELSE
25570  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
25571  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
25572  CALL flagerror(localerror,err,error,*999)
25573  END IF
25574  ELSE
25575  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
25576  CALL flagerror(localerror,err,error,*999)
25577  END IF
25578 
25579  exits("cmfe_EquationsSet_EquationsCreateStartNumber")
25580  RETURN
25581 999 errors("cmfe_EquationsSet_EquationsCreateStartNumber",err,error)
25582  exits("cmfe_EquationsSet_EquationsCreateStartNumber")
25583  CALL cmfe_handleerror(err,error)
25584  RETURN
25585 
25587 
25588  !
25589  !================================================================================================================================
25590  !
25591 
25593  SUBROUTINE cmfe_equationsset_equationscreatestartobj(equationsSet,equations,err)
25594  !DLLEXPORT(cmfe_EquationsSet_EquationsCreateStartObj)
25595 
25596  !Argument variables
25597  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
25598  TYPE(cmfe_equationstype), INTENT(INOUT) :: equations
25599  INTEGER(INTG), INTENT(OUT) :: err
25600  !Local variables
25601 
25602  enters("cmfe_EquationsSet_EquationsCreateStartObj",err,error,*999)
25603 
25604  CALL equations_set_equations_create_start(equationsset%equationsSet,equations%equations,err,error,*999)
25605 
25606  exits("cmfe_EquationsSet_EquationsCreateStartObj")
25607  RETURN
25608 999 errorsexits("cmfe_EquationsSet_EquationsCreateStartObj",err,error)
25609  CALL cmfe_handleerror(err,error)
25610  RETURN
25611 
25613 
25614  !
25615  !================================================================================================================================
25616  !
25617 
25619  SUBROUTINE cmfe_equationsset_equationsdestroynumber(regionUserNumber,equationsSetUserNumber,err)
25620  !DLLEXPORT(cmfe_EquationsSet_EquationsDestroyNumber)
25621 
25622  !Argument variables
25623  INTEGER(INTG), INTENT(IN) :: regionUserNumber
25624  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
25625  INTEGER(INTG), INTENT(OUT) :: err
25626  !Local variables
25627  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
25628  TYPE(region_type), POINTER :: REGION
25629  TYPE(varying_string) :: localError
25630 
25631  enters("cmfe_EquationsSet_EquationsDestroyNumber",err,error,*999)
25632 
25633  NULLIFY(region)
25634  NULLIFY(equations_set)
25635  CALL region_user_number_find(regionusernumber,region,err,error,*999)
25636  IF(ASSOCIATED(region)) THEN
25637  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
25638  IF(ASSOCIATED(equations_set)) THEN
25639  CALL equations_set_equations_destroy(equations_set,err,error,*999)
25640  ELSE
25641  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
25642  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
25643  CALL flagerror(localerror,err,error,*999)
25644  END IF
25645  ELSE
25646  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
25647  CALL flagerror(localerror,err,error,*999)
25648  END IF
25649 
25650  exits("cmfe_EquationsSet_EquationsDestroyNumber")
25651  RETURN
25652 999 errorsexits("cmfe_EquationsSet_EquationsDestroyNumber",err,error)
25653  CALL cmfe_handleerror(err,error)
25654  RETURN
25655 
25657 
25658  !
25659  !================================================================================================================================
25660  !
25661 
25663  SUBROUTINE cmfe_equationsset_equationsdestroyobj(equationsSet,err)
25664  !DLLEXPORT(cmfe_EquationsSet_EquationsDestroyObj)
25665 
25666  !Argument variables
25667  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
25668  INTEGER(INTG), INTENT(OUT) :: err
25669  !Local variables
25670 
25671  enters("cmfe_EquationsSet_EquationsDestroyObj",err,error,*999)
25672 
25673  CALL equations_set_equations_destroy(equationsset%equationsSet,err,error,*999)
25674 
25675  exits("cmfe_EquationsSet_EquationsDestroyObj")
25676  RETURN
25677 999 errorsexits("cmfe_EquationsSet_EquationsDestroyObj",err,error)
25678  CALL cmfe_handleerror(err,error)
25679  RETURN
25680 
25682 
25683  !
25684  !================================================================================================================================
25685  !
25686 
25688  SUBROUTINE cmfe_equationsset_independentcreatefinishnumber(regionUserNumber,equationsSetUserNumber,err)
25689  !DLLEXPORT(cmfe_EquationsSet_IndependentCreateFinishNumber)
25690 
25691  !Argument variables
25692  INTEGER(INTG), INTENT(IN) :: regionUserNumber
25693  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
25694  INTEGER(INTG), INTENT(OUT) :: err
25695  !Local variables
25696  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
25697  TYPE(region_type), POINTER :: REGION
25698  TYPE(varying_string) :: localError
25699 
25700  enters("cmfe_EquationsSet_IndependentCreateFinishNumber",err,error,*999)
25701 
25702  NULLIFY(region)
25703  NULLIFY(equations_set)
25704  CALL region_user_number_find(regionusernumber,region,err,error,*999)
25705  IF(ASSOCIATED(region)) THEN
25706  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
25707  IF(ASSOCIATED(equations_set)) THEN
25708  CALL equations_set_independent_create_finish(equations_set,err,error,*999)
25709  ELSE
25710  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
25711  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
25712  CALL flagerror(localerror,err,error,*999)
25713  END IF
25714  ELSE
25715  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
25716  CALL flagerror(localerror,err,error,*999)
25717  END IF
25718 
25719  exits("cmfe_EquationsSet_IndependentCreateFinishNumber")
25720  RETURN
25721 999 errors("cmfe_EquationsSet_IndependentCreateFinishNumber",err,error)
25722  exits("cmfe_EquationsSet_IndependentCreateFinishNumber")
25723  CALL cmfe_handleerror(err,error)
25724  RETURN
25725 
25727 
25728  !
25729  !================================================================================================================================
25730  !
25731 
25733  SUBROUTINE cmfe_equationsset_independentcreatefinishobj(equationsSet,err)
25734  !DLLEXPORT(cmfe_EquationsSet_IndependentCreateFinishObj)
25735 
25736  !Argument variables
25737  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
25738  INTEGER(INTG), INTENT(OUT) :: err
25739  !Local variables
25740 
25741  enters("cmfe_EquationsSet_IndependentCreateFinishObj",err,error,*999)
25742 
25743  CALL equations_set_independent_create_finish(equationsset%equationsSet,err,error,*999)
25744 
25745  exits("cmfe_EquationsSet_IndependentCreateFinishObj")
25746  RETURN
25747 999 errors("cmfe_EquationsSet_IndependentCreateFinishObj",err,error)
25748  exits("cmfe_EquationsSet_IndependentCreateFinishObj")
25749  CALL cmfe_handleerror(err,error)
25750  RETURN
25751 
25753 
25754  !
25755  !================================================================================================================================
25756  !
25757 
25759  SUBROUTINE cmfe_equationsset_independentcreatestartnumber(regionUserNumber,equationsSetUserNumber,independentFieldUserNumber,err)
25760  !DLLEXPORT(cmfe_EquationsSet_IndependentCreateStartNumber)
25761 
25762  !Argument variables
25763  INTEGER(INTG), INTENT(IN) :: regionUserNumber
25764  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
25765  INTEGER(INTG), INTENT(IN) :: independentFieldUserNumber
25766  INTEGER(INTG), INTENT(OUT) :: err
25767  !Local variables
25768  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
25769  TYPE(field_type), POINTER :: INDEPENDENT_FIELD
25770  TYPE(region_type), POINTER :: REGION
25771  TYPE(varying_string) :: localError
25772 
25773  enters("cmfe_EquationsSet_DependentCreateStartNumber",err,error,*999)
25774 
25775  NULLIFY(region)
25776  NULLIFY(equations_set)
25777  NULLIFY(independent_field)
25778  CALL region_user_number_find(regionusernumber,region,err,error,*999)
25779  IF(ASSOCIATED(region)) THEN
25780  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
25781  IF(ASSOCIATED(equations_set)) THEN
25782  CALL field_user_number_find(independentfieldusernumber,region,independent_field,err,error,*999)
25783  CALL equations_set_dependent_create_start(equations_set,independentfieldusernumber,independent_field,err,error,*999)
25784  ELSE
25785  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
25786  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
25787  CALL flagerror(localerror,err,error,*999)
25788  END IF
25789  ELSE
25790  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
25791  CALL flagerror(localerror,err,error,*999)
25792  END IF
25793 
25794  exits("cmfe_EquationsSet_IndependentCreateStartNumber")
25795  RETURN
25796 999 errors("cmfe_EquationsSet_IndependentCreateStartNumber",err,error)
25797  exits("cmfe_EquationsSet_IndependentCreateStartNumber")
25798  CALL cmfe_handleerror(err,error)
25799  RETURN
25800 
25802 
25803  !
25804  !================================================================================================================================
25805  !
25806 
25808  SUBROUTINE cmfe_equationsset_independentcreatestartobj(equationsSet,independentFieldUserNumber,independentField,err)
25809  !DLLEXPORT(cmfe_EquationsSet_IndependentCreateStartObj)
25810 
25811  !Argument variables
25812  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
25813  INTEGER(INTG), INTENT(IN) :: independentFieldUserNumber
25814  TYPE(cmfe_fieldtype), INTENT(INOUT) :: independentField
25815  INTEGER(INTG), INTENT(OUT) :: err
25816  !Local variables
25817 
25818  enters("cmfe_EquationsSet_IndependentCreateStartObj",err,error,*999)
25819 
25820  CALL equations_set_independent_create_start(equationsset%equationsSet,independentfieldusernumber,independentfield%field, &
25821  & err,error,*999)
25822 
25823  exits("cmfe_EquationsSet_IndependentCreateStartObj")
25824  RETURN
25825 999 errorsexits("cmfe_EquationsSet_IndependentCreateStartObj",err,error)
25826  CALL cmfe_handleerror(err,error)
25827  RETURN
25828 
25830 
25831  !
25832  !================================================================================================================================
25833  !
25834 
25836  SUBROUTINE cmfe_equationsset_independentdestroynumber(regionUserNumber,equationsSetUserNumber,err)
25837  !DLLEXPORT(cmfe_EquationsSet_IndependentDestroyNumber)
25838 
25839  !Argument variables
25840  INTEGER(INTG), INTENT(IN) :: regionUserNumber
25841  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
25842  INTEGER(INTG), INTENT(OUT) :: err
25843  !Local variables
25844  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
25845  TYPE(region_type), POINTER :: REGION
25846  TYPE(varying_string) :: localError
25847 
25848  enters("cmfe_EquationsSet_IndependentDestroyNumber",err,error,*999)
25849 
25850  NULLIFY(region)
25851  NULLIFY(equations_set)
25852  CALL region_user_number_find(regionusernumber,region,err,error,*999)
25853  IF(ASSOCIATED(region)) THEN
25854  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
25855  IF(ASSOCIATED(equations_set)) THEN
25856  CALL equations_set_independent_destroy(equations_set,err,error,*999)
25857  ELSE
25858  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
25859  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
25860  CALL flagerror(localerror,err,error,*999)
25861  END IF
25862  ELSE
25863  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
25864  CALL flagerror(localerror,err,error,*999)
25865  END IF
25866 
25867  exits("cmfe_EquationsSet_IndependentDestroyNumber")
25868  RETURN
25869 999 errorsexits("cmfe_EquationsSet_IndependentDestroyNumber",err,error)
25870  CALL cmfe_handleerror(err,error)
25871  RETURN
25872 
25874 
25875  !
25876  !================================================================================================================================
25877  !
25878 
25880  SUBROUTINE cmfe_equationsset_independentdestroyobj(equationsSet,err)
25881  !DLLEXPORT(cmfe_EquationsSet_IndependentDestroyObj)
25882 
25883  !Argument variables
25884  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
25885  INTEGER(INTG), INTENT(OUT) :: err
25886  !Local variables
25887 
25888  enters("cmfe_EquationsSet_IndependentDestroyObj",err,error,*999)
25889 
25890  CALL equations_set_independent_destroy(equationsset%equationsSet,err,error,*999)
25891 
25892  exits("cmfe_EquationsSet_IndependentDestroyObj")
25893  RETURN
25894 999 errorsexits("cmfe_EquationsSet_IndependentDestroyObj",err,error)
25895  CALL cmfe_handleerror(err,error)
25896  RETURN
25897 
25899 
25900  !
25901  !================================================================================================================================
25902  !
25903 
25904  !
25905  !================================================================================================================================
25906  !
25907 
25909  SUBROUTINE cmfe_equationsset_materialscreatefinishnumber(regionUserNumber,equationsSetUserNumber,err)
25910  !DLLEXPORT(cmfe_EquationsSet_MaterialsCreateFinishNumber)
25911 
25912  !Argument variables
25913  INTEGER(INTG), INTENT(IN) :: regionUserNumber
25914  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
25915  INTEGER(INTG), INTENT(OUT) :: err
25916  !Local variables
25917  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
25918  TYPE(region_type), POINTER :: REGION
25919  TYPE(varying_string) :: localError
25920 
25921  enters("cmfe_EquationsSet_MaterialsCreateFinishNumber",err,error,*999)
25922 
25923  NULLIFY(region)
25924  NULLIFY(equations_set)
25925  CALL region_user_number_find(regionusernumber,region,err,error,*999)
25926  IF(ASSOCIATED(region)) THEN
25927  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
25928  IF(ASSOCIATED(equations_set)) THEN
25929  CALL equations_set_materials_create_finish(equations_set,err,error,*999)
25930  ELSE
25931  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
25932  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
25933  CALL flagerror(localerror,err,error,*999)
25934  END IF
25935  ELSE
25936  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
25937  CALL flagerror(localerror,err,error,*999)
25938  END IF
25939 
25940  exits("cmfe_EquationsSet_MaterialsCreateFinishNumber")
25941  RETURN
25942 999 errors("cmfe_EquationsSet_MaterialsCreateFinishNumber",err,error)
25943  exits("cmfe_EquationsSet_MaterialsCreateFinishNumber")
25944  CALL cmfe_handleerror(err,error)
25945  RETURN
25946 
25948 
25949  !
25950  !================================================================================================================================
25951  !
25952 
25954  SUBROUTINE cmfe_equationsset_materialscreatefinishobj(equationsSet,err)
25955  !DLLEXPORT(cmfe_EquationsSet_MaterialsCreateFinishObj)
25956 
25957  !Argument variables
25958  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
25959  INTEGER(INTG), INTENT(OUT) :: err
25960  !Local variables
25961 
25962  enters("cmfe_EquationsSet_MaterialsCreateFinishObj",err,error,*999)
25963 
25964  CALL equations_set_materials_create_finish(equationsset%equationsSet,err,error,*999)
25965 
25966  exits("cmfe_EquationsSet_MaterialsCreateFinishObj")
25967  RETURN
25968 999 errorsexits("cmfe_EquationsSet_MaterialsCreateFinishObj",err,error)
25969  CALL cmfe_handleerror(err,error)
25970  RETURN
25971 
25973 
25974  !
25975  !================================================================================================================================
25976  !
25977 
25979  SUBROUTINE cmfe_equationsset_materialscreatestartnumber(regionUserNumber,equationsSetUserNumber,materialsFieldUserNumber,err)
25980  !DLLEXPORT(cmfe_EquationsSet_MaterialsCreateStartNumber)
25981 
25982  !Argument variables
25983  INTEGER(INTG), INTENT(IN) :: regionUserNumber
25984  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
25985  INTEGER(INTG), INTENT(IN) :: materialsFieldUserNumber
25986  INTEGER(INTG), INTENT(OUT) :: err
25987  !Local variables
25988  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
25989  TYPE(field_type), POINTER :: MATERIALS_FIELD
25990  TYPE(region_type), POINTER :: REGION
25991  TYPE(varying_string) :: localError
25992 
25993  enters("cmfe_EquationsSet_MaterialsCreateStartNumber",err,error,*999)
25994 
25995  NULLIFY(region)
25996  NULLIFY(equations_set)
25997  NULLIFY(materials_field)
25998  CALL region_user_number_find(regionusernumber,region,err,error,*999)
25999  IF(ASSOCIATED(region)) THEN
26000  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
26001  IF(ASSOCIATED(equations_set)) THEN
26002  CALL field_user_number_find(materialsfieldusernumber,region,materials_field,err,error,*999)
26003  CALL equations_set_materials_create_start(equations_set,materialsfieldusernumber,materials_field,err,error,*999)
26004  ELSE
26005  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
26006  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
26007  CALL flagerror(localerror,err,error,*999)
26008  END IF
26009  ELSE
26010  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
26011  CALL flagerror(localerror,err,error,*999)
26012  END IF
26013 
26014  exits("cmfe_EquationsSet_MaterialsCreateStartNumber")
26015  RETURN
26016 999 errors("cmfe_EquationsSet_MaterialsCreateStartNumber",err,error)
26017  exits("cmfe_EquationsSet_MaterialsCreateStartNumber")
26018  CALL cmfe_handleerror(err,error)
26019  RETURN
26020 
26022 
26023  !
26024  !================================================================================================================================
26025  !
26026 
26028  SUBROUTINE cmfe_equationsset_materialscreatestartobj(equationsSet,materialsFieldUserNumber,materialsField,err)
26029  !DLLEXPORT(cmfe_EquationsSet_MaterialsCreateStartObj)
26030 
26031  !Argument variables
26032  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
26033  INTEGER(INTG), INTENT(IN) :: materialsFieldUserNumber
26034  TYPE(cmfe_fieldtype), INTENT(INOUT) :: materialsField
26035  INTEGER(INTG), INTENT(OUT) :: err
26036  !Local variables
26037 
26038  enters("cmfe_EquationsSet_MaterialsCreateStartObj",err,error,*999)
26039 
26040  CALL equations_set_materials_create_start(equationsset%equationsSet,materialsfieldusernumber,materialsfield%field, &
26041  & err,error,*999)
26042 
26043  exits("cmfe_EquationsSet_MaterialsCreateStartObj")
26044  RETURN
26045 999 errorsexits("cmfe_EquationsSet_MaterialsCreateStartObj",err,error)
26046  CALL cmfe_handleerror(err,error)
26047  RETURN
26048 
26050 
26051  !
26052  !================================================================================================================================
26053  !
26054 
26056  SUBROUTINE cmfe_equationsset_materialsdestroynumber(regionUserNumber,equationsSetUserNumber,err)
26057  !DLLEXPORT(cmfe_EquationsSet_MaterialsDestroyNumber)
26058 
26059  !Argument variables
26060  INTEGER(INTG), INTENT(IN) :: regionUserNumber
26061  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
26062  INTEGER(INTG), INTENT(OUT) :: err
26063  !Local variables
26064  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
26065  TYPE(region_type), POINTER :: REGION
26066  TYPE(varying_string) :: localError
26067 
26068  enters("cmfe_EquationsSet_MaterialsDestroyNumber",err,error,*999)
26069 
26070  NULLIFY(region)
26071  NULLIFY(equations_set)
26072  CALL region_user_number_find(regionusernumber,region,err,error,*999)
26073  IF(ASSOCIATED(region)) THEN
26074  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
26075  IF(ASSOCIATED(equations_set)) THEN
26076  CALL equations_set_materials_destroy(equations_set,err,error,*999)
26077  ELSE
26078  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
26079  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
26080  CALL flagerror(localerror,err,error,*999)
26081  END IF
26082  ELSE
26083  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
26084  CALL flagerror(localerror,err,error,*999)
26085  END IF
26086 
26087  exits("cmfe_EquationsSet_MaterialsDestroyNumber")
26088  RETURN
26089 999 errorsexits("cmfe_EquationsSet_MaterialsDestroyNumber",err,error)
26090  CALL cmfe_handleerror(err,error)
26091  RETURN
26092 
26094 
26095  !
26096  !================================================================================================================================
26097  !
26098 
26100  SUBROUTINE cmfe_equationsset_materialsdestroyobj(equationsSet,err)
26101  !DLLEXPORT(cmfe_EquationsSet_MaterialsDestroyObj)
26102 
26103  !Argument variables
26104  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
26105  INTEGER(INTG), INTENT(OUT) :: err
26106  !Local variables
26107 
26108  enters("cmfe_EquationsSet_MaterialsDestroyObj",err,error,*999)
26109 
26110  CALL equations_set_materials_destroy(equationsset%equationsSet,err,error,*999)
26111 
26112  exits("cmfe_EquationsSet_MaterialsDestroyObj")
26113  RETURN
26114 999 errorsexits("cmfe_EquationsSet_MaterialsDestroyObj",err,error)
26115  CALL cmfe_handleerror(err,error)
26116  RETURN
26117 
26119 
26120  !
26121  !================================================================================================================================
26122  !
26123 
26125  SUBROUTINE cmfe_equationsset_solutionmethodgetnumber(regionUserNumber,equationsSetUserNumber,solutionMethod,err)
26126  !DLLEXPORT(cmfe_EquationsSet_SolutionMethodGetNumber)
26127 
26128  !Argument variables
26129  INTEGER(INTG), INTENT(IN) :: regionUserNumber
26130  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
26131  INTEGER(INTG), INTENT(OUT) :: solutionMethod
26132  INTEGER(INTG), INTENT(OUT) :: err
26133  !Local variables
26134  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
26135  TYPE(region_type), POINTER :: REGION
26136  TYPE(varying_string) :: localError
26137 
26138  enters("cmfe_EquationsSet_SolutionMethodGetNumber",err,error,*999)
26139 
26140  NULLIFY(region)
26141  NULLIFY(equations_set)
26142  CALL region_user_number_find(regionusernumber,region,err,error,*999)
26143  IF(ASSOCIATED(region)) THEN
26144  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
26145  IF(ASSOCIATED(equations_set)) THEN
26146  CALL equations_set_solution_method_get(equations_set,solutionmethod,err,error,*999)
26147  ELSE
26148  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
26149  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
26150  CALL flagerror(localerror,err,error,*999)
26151  END IF
26152  ELSE
26153  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
26154  CALL flagerror(localerror,err,error,*999)
26155  END IF
26156 
26157  exits("cmfe_EquationsSet_SolutionMethodGetNumber")
26158  RETURN
26159 999 errorsexits("cmfe_EquationsSet_SolutionMethodGetNumber",err,error)
26160  CALL cmfe_handleerror(err,error)
26161  RETURN
26162 
26164 
26165  !
26166  !================================================================================================================================
26167  !
26168 
26170  SUBROUTINE cmfe_equationsset_solutionmethodgetobj(equationsSet,solutionMethod,err)
26171  !DLLEXPORT(cmfe_EquationsSet_SolutionMethodGetObj)
26172 
26173  !Argument variables
26174  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
26175  INTEGER(INTG), INTENT(OUT) :: solutionMethod
26176  INTEGER(INTG), INTENT(OUT) :: err
26177  !Local variables
26178 
26179  enters("cmfe_EquationsSet_SolutionMethodGetObj",err,error,*999)
26180 
26181  CALL equations_set_solution_method_get(equationsset%equationsSet,solutionmethod,err,error,*999)
26182 
26183  exits("cmfe_EquationsSet_SolutionMethodGetObj")
26184  RETURN
26185 999 errorsexits("cmfe_EquationsSet_SolutionMethodGetObj",err,error)
26186  CALL cmfe_handleerror(err,error)
26187  RETURN
26188 
26190 
26191  !
26192  !================================================================================================================================
26193  !
26194 
26196  SUBROUTINE cmfe_equationsset_solutionmethodsetnumber(regionUserNumber,equationsSetUserNumber,solutionMethod,err)
26197  !DLLEXPORT(cmfe_EquationsSet_SolutionMethodSetNumber)
26198 
26199  !Argument variables
26200  INTEGER(INTG), INTENT(IN) :: regionUserNumber
26201  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
26202  INTEGER(INTG), INTENT(IN) :: solutionMethod
26203  INTEGER(INTG), INTENT(OUT) :: err
26204  !Local variables
26205  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
26206  TYPE(region_type), POINTER :: REGION
26207  TYPE(varying_string) :: localError
26208 
26209  enters("cmfe_EquationsSet_SolutionMethodSetNumber",err,error,*999)
26210 
26211  NULLIFY(region)
26212  NULLIFY(equations_set)
26213  CALL region_user_number_find(regionusernumber,region,err,error,*999)
26214  IF(ASSOCIATED(region)) THEN
26215  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
26216  IF(ASSOCIATED(equations_set)) THEN
26217  CALL equations_set_solution_method_set(equations_set,solutionmethod,err,error,*999)
26218  ELSE
26219  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
26220  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
26221  CALL flagerror(localerror,err,error,*999)
26222  END IF
26223  ELSE
26224  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
26225  CALL flagerror(localerror,err,error,*999)
26226  END IF
26227 
26228  exits("cmfe_EquationsSet_SolutionMethodSetNumber")
26229  RETURN
26230 999 errorsexits("cmfe_EquationsSet_SolutionMethodSetNumber",err,error)
26231  CALL cmfe_handleerror(err,error)
26232  RETURN
26233 
26235 
26236  !
26237  !================================================================================================================================
26238  !
26239 
26241  SUBROUTINE cmfe_equationsset_solutionmethodsetobj(equationsSet,solutionMethod,err)
26242  !DLLEXPORT(cmfe_EquationsSet_SolutionMethodSetObj)
26243 
26244  !Argument variables
26245  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
26246  INTEGER(INTG), INTENT(IN) :: solutionMethod
26247  INTEGER(INTG), INTENT(OUT) :: err
26248  !Local variables
26249 
26250  enters("cmfe_EquationsSet_SolutionMethodSetObj",err,error,*999)
26251 
26252  CALL equations_set_solution_method_set(equationsset%equationsSet,solutionmethod,err,error,*999)
26253 
26254  exits("cmfe_EquationsSet_SolutionMethodSetObj")
26255  RETURN
26256 999 errorsexits("cmfe_EquationsSet_SolutionMethodSetObj",err,error)
26257  CALL cmfe_handleerror(err,error)
26258  RETURN
26259 
26261 
26262  !
26263  !================================================================================================================================
26264  !
26265 
26267  SUBROUTINE cmfe_equationsset_sourcecreatefinishnumber(regionUserNumber,equationsSetUserNumber,err)
26268  !DLLEXPORT(cmfe_EquationsSet_SourceCreateFinishNumber)
26269 
26270  !Argument variables
26271  INTEGER(INTG), INTENT(IN) :: regionUserNumber
26272  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
26273  INTEGER(INTG), INTENT(OUT) :: err
26274  !Local variables
26275  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
26276  TYPE(region_type), POINTER :: REGION
26277  TYPE(varying_string) :: localError
26278 
26279  enters("cmfe_EquationsSet_SourceCreateFinishNumber",err,error,*999)
26280 
26281  NULLIFY(region)
26282  NULLIFY(equations_set)
26283  CALL region_user_number_find(regionusernumber,region,err,error,*999)
26284  IF(ASSOCIATED(region)) THEN
26285  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
26286  IF(ASSOCIATED(equations_set)) THEN
26287  CALL equations_set_source_create_finish(equations_set,err,error,*999)
26288  ELSE
26289  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
26290  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
26291  CALL flagerror(localerror,err,error,*999)
26292  END IF
26293  ELSE
26294  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
26295  CALL flagerror(localerror,err,error,*999)
26296  END IF
26297 
26298  exits("cmfe_EquationsSet_SourceCreateFinishNumber")
26299  RETURN
26300 999 errorsexits("cmfe_EquationsSet_SourceCreateFinishNumber",err,error)
26301  CALL cmfe_handleerror(err,error)
26302  RETURN
26303 
26305 
26306  !
26307  !================================================================================================================================
26308  !
26309 
26311  SUBROUTINE cmfe_equationsset_sourcecreatefinishobj(equationsSet,err)
26312  !DLLEXPORT(cmfe_EquationsSet_SourceCreateFinishObj)
26313 
26314  !Argument variables
26315  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
26316  INTEGER(INTG), INTENT(OUT) :: err
26317  !Local variables
26318 
26319  enters("cmfe_EquationsSet_SourceCreateFinishObj",err,error,*999)
26320 
26321  CALL equations_set_source_create_finish(equationsset%equationsSet,err,error,*999)
26322 
26323  exits("cmfe_EquationsSet_SourceCreateFinishObj")
26324  RETURN
26325 999 errorsexits("cmfe_EquationsSet_SourceCreateFinishObj",err,error)
26326  CALL cmfe_handleerror(err,error)
26327  RETURN
26328 
26330 
26331  !
26332  !================================================================================================================================
26333  !
26334 
26336  SUBROUTINE cmfe_equationsset_sourcecreatestartnumber(regionUserNumber,equationsSetUserNumber,sourceFieldUserNumber,err)
26337  !DLLEXPORT(cmfe_EquationsSet_SourceCreateStartNumber)
26338 
26339  !Argument variables
26340  INTEGER(INTG), INTENT(IN) :: regionUserNumber
26341  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
26342  INTEGER(INTG), INTENT(IN) :: sourceFieldUserNumber
26343  INTEGER(INTG), INTENT(OUT) :: err
26344  !Local variables
26345  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
26346  TYPE(field_type), POINTER :: SOURCE_FIELD
26347  TYPE(region_type), POINTER :: REGION
26348  TYPE(varying_string) :: localError
26349 
26350  enters("cmfe_EquationsSet_SourceCreateStartNumber",err,error,*999)
26351 
26352  NULLIFY(region)
26353  NULLIFY(equations_set)
26354  NULLIFY(source_field)
26355  CALL region_user_number_find(regionusernumber,region,err,error,*999)
26356  IF(ASSOCIATED(region)) THEN
26357  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
26358  IF(ASSOCIATED(equations_set)) THEN
26359  CALL field_user_number_find(sourcefieldusernumber,region,source_field,err,error,*999)
26360  CALL equations_set_source_create_start(equations_set,sourcefieldusernumber,source_field,err,error,*999)
26361  ELSE
26362  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
26363  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
26364  CALL flagerror(localerror,err,error,*999)
26365  END IF
26366  ELSE
26367  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
26368  CALL flagerror(localerror,err,error,*999)
26369  END IF
26370 
26371  exits("cmfe_EquationsSet_SourceCreateStartNumber")
26372  RETURN
26373 999 errorsexits("cmfe_EquationsSet_SourceCreateStartNumber",err,error)
26374  CALL cmfe_handleerror(err,error)
26375  RETURN
26376 
26378 
26379  !
26380  !================================================================================================================================
26381  !
26382 
26384  SUBROUTINE cmfe_equationsset_sourcecreatestartobj(equationsSet,sourceFieldUserNumber,sourceField,err)
26385  !DLLEXPORT(cmfe_EquationsSet_SourceCreateStartObj)
26386 
26387  !Argument variables
26388  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
26389  INTEGER(INTG), INTENT(IN) :: sourceFieldUserNumber
26390  TYPE(cmfe_fieldtype), INTENT(INOUT) :: sourceField
26391  INTEGER(INTG), INTENT(OUT) :: err
26392  !Local variables
26393 
26394  enters("cmfe_EquationsSet_SourceCreateStartObj",err,error,*999)
26395 
26396  CALL equations_set_source_create_start(equationsset%equationsSet,sourcefieldusernumber,sourcefield%field,err,error,*999)
26397 
26398  exits("cmfe_EquationsSet_SourceCreateStartObj")
26399  RETURN
26400 999 errorsexits("cmfe_EquationsSet_SourceCreateStartObj",err,error)
26401  CALL cmfe_handleerror(err,error)
26402  RETURN
26403 
26405 
26406  !
26407  !================================================================================================================================
26408  !
26409 
26411  SUBROUTINE cmfe_equationsset_sourcedestroynumber(regionUserNumber,equationsSetUserNumber,err)
26412  !DLLEXPORT(cmfe_EquationsSet_SourceDestroyNumber)
26413 
26414  !Argument variables
26415  INTEGER(INTG), INTENT(IN) :: regionUserNumber
26416  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
26417  INTEGER(INTG), INTENT(OUT) :: err
26418  !Local variables
26419  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
26420  TYPE(region_type), POINTER :: REGION
26421  TYPE(varying_string) :: localError
26422 
26423  enters("cmfe_EquationsSet_SourceDestroyNumber",err,error,*999)
26424 
26425  NULLIFY(region)
26426  NULLIFY(equations_set)
26427  CALL region_user_number_find(regionusernumber,region,err,error,*999)
26428  IF(ASSOCIATED(region)) THEN
26429  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
26430  IF(ASSOCIATED(equations_set)) THEN
26431  CALL equations_set_source_destroy(equations_set,err,error,*999)
26432  ELSE
26433  localerror="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
26434  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
26435  CALL flagerror(localerror,err,error,*999)
26436  END IF
26437  ELSE
26438  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
26439  CALL flagerror(localerror,err,error,*999)
26440  END IF
26441 
26442  exits("cmfe_EquationsSet_SourceDestroyNumber")
26443  RETURN
26444 999 errorsexits("cmfe_EquationsSet_SourceDestroyNumber",err,error)
26445  CALL cmfe_handleerror(err,error)
26446  RETURN
26447 
26449 
26450  !
26451  !================================================================================================================================
26452  !
26453 
26455  SUBROUTINE cmfe_equationsset_sourcedestroyobj(equationsSet,err)
26456  !DLLEXPORT(cmfe_EquationsSet_SourceDestroyObj)
26457 
26458  !Argument variables
26459  TYPE(cmfe_equationssettype), INTENT(INOUT) :: equationsSet
26460  INTEGER(INTG), INTENT(OUT) :: err
26461  !Local variables
26462 
26463  enters("cmfe_EquationsSet_SourceDestroyObj",err,error,*999)
26464 
26465  CALL equations_set_source_destroy(equationsset%equationsSet,err,error,*999)
26466 
26467  exits("cmfe_EquationsSet_SourceDestroyObj")
26468  RETURN
26469 999 errorsexits("cmfe_EquationsSet_SourceDestroyObj",err,error)
26470  CALL cmfe_handleerror(err,error)
26471  RETURN
26472 
26473  END SUBROUTINE cmfe_equationsset_sourcedestroyobj
26474 
26475  !
26476  !================================================================================================================================
26477  !
26478 
26480  SUBROUTINE cmfe_equationsset_specificationgetnumber(regionUserNumber,equationsSetUserNumber,equationsSetSpecification,err)
26481  !DLLEXPORT(cmfe_EquationsSet_SpecificationGetNumber)
26482 
26483  !Argument variables
26484  INTEGER(INTG), INTENT(IN) :: regionUserNumber
26485  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
26486  INTEGER(INTG), INTENT(INOUT) :: equationsSetSpecification(:)
26487  INTEGER(INTG), INTENT(OUT) :: err
26488  !Local variables
26489  TYPE(equations_set_type), POINTER :: equationsSet
26490  TYPE(region_type), POINTER :: region
26491  TYPE(varying_string) :: localError
26492 
26493  enters("cmfe_EquationsSet_SpecificationGetNumber",err,error,*999)
26494 
26495  NULLIFY(region)
26496  NULLIFY(equationsset)
26497  CALL region_user_number_find(regionusernumber,region,err,error,*999)
26498  IF(ASSOCIATED(region)) THEN
26499  CALL equations_set_user_number_find(equationssetusernumber,region,equationsset,err,error,*999)
26500  IF(ASSOCIATED(equationsset)) THEN
26501  CALL equationsset_specificationget(equationsset,equationssetspecification,err,error,*999)
26502  ELSE
26503  localerror="An equations set with an user number of "//trim(number_to_vstring(equationssetusernumber,"*",err,error))// &
26504  & " does not exist on region number "//trim(number_to_vstring(regionusernumber,"*",err,error))//"."
26505  CALL flagerror(localerror,err,error,*999)
26506  END IF
26507  ELSE
26508  localerror="A region with an user number of "//trim(number_to_vstring(regionusernumber,"*",err,error))//" does not exist."
26509  CALL flagerror(localerror,err,error,*999)
26510  END IF
26511 
26512  exits("cmfe_EquationsSet_SpecificationGetNumber")
26513  RETURN
26514 999 errors("cmfe_EquationsSet_SpecificationGetNumber",err,error)
26515  exits("cmfe_EquationsSet_SpecificationGetNumber")
26516  CALL cmfe_handleerror(err,error)
26517  RETURN
26518 
26520 
26521  !
26522  !================================================================================================================================
26523  !
26524 
26526  SUBROUTINE cmfe_equationsset_specificationgetobj(equationsSet,equationsSetSpecification,err)
26527  !DLLEXPORT(cmfe_EquationsSet_SpecificationGetObj)
26528 
26529  !Argument variables
26530  TYPE(cmfe_equationssettype), INTENT(IN) :: equationsSet
26531  INTEGER(INTG), INTENT(INOUT) :: equationsSetSpecification(:)
26532  INTEGER(INTG), INTENT(OUT) :: err
26533  !Local variables
26534 
26535  enters("cmfe_EquationsSet_SpecificationGetObj",err,error,*999)
26536 
26537  CALL equationsset_specificationget(equationsset%equationsSet,equationssetspecification,err,error,*999)
26538 
26539  exits("cmfe_EquationsSet_SpecificationGetObj")
26540  RETURN
26541 999 errors("cmfe_EquationsSet_SpecificationGetObj",err,error)
26542  exits("cmfe_EquationsSet_SpecificationGetObj")
26543  CALL cmfe_handleerror(err,error)
26544  RETURN
26545 
26547 
26548  !
26549  !================================================================================================================================
26550  !
26551 
26553  SUBROUTINE cmfe_equationsset_specificationsizegetnumber(regionUserNumber,equationsSetUserNumber,specificationSize,err)
26554  !DLLEXPORT(cmfe_EquationsSet_SpecificationSizeGetNumber)
26555 
26556  !Argument variables
26557  INTEGER(INTG), INTENT(IN) :: regionUserNumber
26558  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
26559  INTEGER(INTG), INTENT(OUT) :: specificationSize
26560  INTEGER(INTG), INTENT(OUT) :: err
26561  !Local variables
26562  TYPE(equations_set_type), POINTER :: equationsSet
26563  TYPE(region_type), POINTER :: region
26564  TYPE(varying_string) :: localError
26565 
26566  enters("cmfe_EquationsSet_SpecificationSizeGetNumber",err,error,*999)
26567 
26568  NULLIFY(region)
26569  NULLIFY(equationsset)
26570  CALL region_user_number_find(regionusernumber,region,err,error,*999)
26571  IF(ASSOCIATED(region)) THEN
26572  CALL equations_set_user_number_find(equationssetusernumber,region,equationsset,err,error,*999)
26573  IF(ASSOCIATED(equationsset)) THEN
26574  CALL equationsset_specificationsizeget(equationsset,specificationsize,err,error,*999)
26575  ELSE
26576  localerror="An equations set with an user number of "//trim(number_to_vstring(equationssetusernumber,"*",err,error))// &
26577  & " does not exist on region number "//trim(number_to_vstring(regionusernumber,"*",err,error))//"."
26578  CALL flagerror(localerror,err,error,*999)
26579  ENDIF
26580  ELSE
26581  localerror="A region with an user number of "//trim(number_to_vstring(regionusernumber,"*",err,error))//" does not exist."
26582  CALL flagerror(localerror,err,error,*999)
26583  ENDIF
26584 
26585  exits("cmfe_EquationsSet_SpecificationSizeGetNumber")
26586  RETURN
26587 999 errors("cmfe_EquationsSet_SpecificationSizeGetNumber",err,error)
26588  exits("cmfe_EquationsSet_SpecificationSizeGetNumber")
26589  CALL cmfe_handleerror(err,error)
26590  RETURN
26591 
26593 
26594  !
26595  !================================================================================================================================
26596  !
26597 
26599  SUBROUTINE cmfe_equationsset_specificationsizegetobj(equationsSet,specificationSize,err)
26600  !DLLEXPORT(cmfe_EquationsSet_SpecificationSizeGetObj)
26601 
26602  !Argument variables
26603  TYPE(cmfe_equationssettype), INTENT(IN) :: equationsSet
26604  INTEGER(INTG), INTENT(OUT) :: specificationSize
26605  INTEGER(INTG), INTENT(OUT) :: err
26606  !Local variables
26607 
26608  enters("cmfe_EquationsSet_SpecificationSizeGetObj",err,error,*999)
26609 
26610  CALL equationsset_specificationsizeget(equationsset%equationsSet,specificationsize,err,error,*999)
26611 
26612  exits("cmfe_EquationsSet_SpecificationSizeGetObj")
26613  RETURN
26614 999 errors("cmfe_EquationsSet_SpecificationSizeGetObj",err,error)
26615  exits("cmfe_EquationsSet_SpecificationSizeGetObj")
26616  CALL cmfe_handleerror(err,error)
26617  RETURN
26618 
26620 
26621  !
26622  !================================================================================================================================
26623  !
26624 
26626  SUBROUTINE cmfe_equationsset_tensorinterpolatexinumber(regionUserNumber,equationsSetUserNumber,tensorEvaluateType, &
26627  & userelementnumber,xi,values,err)
26628  !DLLEXPORT(cmfe_EquationsSet_TensorInterpolateXiNumber)
26629 
26630  !Argument variables
26631  INTEGER(INTG), INTENT(IN) :: regionUserNumber
26632  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
26633  INTEGER(INTG), INTENT(IN) :: tensorEvaluateType
26634  INTEGER(INTG), INTENT(IN) :: userElementNumber
26635  REAL(DP), INTENT(IN) :: xi(:)
26636  REAL(DP), INTENT(OUT) :: values(:,:)
26637  INTEGER(INTG), INTENT(OUT) :: err
26638  !Local variables
26639  TYPE(equations_set_type), POINTER :: equationsSet
26640  TYPE(region_type), POINTER :: region
26641  TYPE(varying_string) :: localError
26642 
26643  enters("cmfe_EquationsSet_TensorInterpolateXiNumber",err,error,*999)
26644 
26645  NULLIFY(equationsset)
26646  NULLIFY(region)
26647 
26648  CALL region_user_number_find(regionusernumber,region,err,error,*999)
26649  IF(ASSOCIATED(region)) THEN
26650  CALL equations_set_user_number_find(equationssetusernumber,region,equationsset,err,error,*999)
26651  IF(ASSOCIATED(equationsset)) THEN
26652  CALL equationsset_tensorinterpolatexi(equationsset,tensorevaluatetype,userelementnumber,xi, &
26653  & values,err,error,*999)
26654  ELSE
26655  localerror="An equations set with a user number of "//trim(numbertovstring(equationssetusernumber,"*", &
26656  & err,error))//" does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
26657  CALL flagerror(localerror,err,error,*999)
26658  END IF
26659  ELSE
26660  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
26661  CALL flagerror(localerror,err,error,*999)
26662  END IF
26663 
26664  exits("cmfe_EquationsSet_TensorInterpolateXiNumber")
26665  RETURN
26666 999 errorsexits("cmfe_EquationsSet_TensorInterpolateXiNumber",err,error)
26667  CALL cmfe_handleerror(err,error)
26668  RETURN
26669 
26671 
26672  !
26673  !================================================================================================================================
26674  !
26675 
26677  SUBROUTINE cmfe_equationsset_tensorinterpolatexiobj(equationsSet,tensorEvaluateType,userElementNumber,xi,values,err)
26678  !DLLEXPORT(cmfe_EquationsSet_TensorInterpolateXiObj)
26679 
26680  !Argument variables
26681  TYPE(cmfe_equationssettype), INTENT(IN) :: equationsSet
26682  INTEGER(INTG), INTENT(IN) :: tensorEvaluateType
26683  INTEGER(INTG), INTENT(IN) :: userElementNumber
26684  REAL(DP), INTENT(IN) :: xi(:)
26685  REAL(DP), INTENT(OUT) :: values(:,:)
26686  INTEGER(INTG), INTENT(OUT) :: err
26687 
26688  enters("cmfe_EquationsSet_TensorInterpolateXiObj",err,error,*999)
26689 
26690  CALL equationsset_tensorinterpolatexi(equationsset%equationsSet,tensorevaluatetype,userelementnumber,xi, &
26691  & values,err,error,*999)
26692 
26693  exits("cmfe_EquationsSet_TensorInterpolateXiObj")
26694  RETURN
26695 999 errorsexits("cmfe_EquationsSet_TensorInterpolateXiObj",err,error)
26696  CALL cmfe_handleerror(err,error)
26697  RETURN
26698 
26700 
26701 !!==================================================================================================================================
26702 !!
26703 !! FIELD_ROUTINES
26704 !!
26705 !!==================================================================================================================================
26706 
26708  SUBROUTINE cmfe_field_componentinterpolationgetnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber, &
26709  & interpolationtype,err)
26710  !DLLEXPORT(cmfe_Field_ComponentInterpolationGetNumber)
26711 
26712  !Argument variables
26713  INTEGER(INTG), INTENT(IN) :: regionUserNumber
26714  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
26715  INTEGER(INTG), INTENT(IN) :: variableType
26716  INTEGER(INTG), INTENT(IN) :: componentNumber
26717  INTEGER(INTG), INTENT(OUT) :: interpolationType
26718  INTEGER(INTG), INTENT(OUT) :: err
26719  !Local variables
26720  TYPE(field_type), POINTER :: FIELD
26721  TYPE(region_type), POINTER :: REGION
26722  TYPE(varying_string) :: localError
26723 
26724  enters("cmfe_Field_ComponentInterpolationGetNumber",err,error,*999)
26725 
26726  NULLIFY(region)
26727  NULLIFY(field)
26728  CALL region_user_number_find(regionusernumber,region,err,error,*999)
26729  IF(ASSOCIATED(region)) THEN
26730  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
26731  IF(ASSOCIATED(field)) THEN
26732  CALL field_component_interpolation_get(field,variabletype,componentnumber,interpolationtype,err,error,*999)
26733  ELSE
26734  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
26735  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
26736  CALL flagerror(localerror,err,error,*999)
26737  END IF
26738  ELSE
26739  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
26740  CALL flagerror(localerror,err,error,*999)
26741  END IF
26742 
26743  exits("cmfe_Field_ComponentInterpolationGetNumber")
26744  RETURN
26745 999 errorsexits("cmfe_Field_ComponentInterpolationGetNumber",err,error)
26746  CALL cmfe_handleerror(err,error)
26747  RETURN
26748 
26750 
26751  !
26752  !================================================================================================================================
26753  !
26754 
26756  SUBROUTINE cmfe_field_componentinterpolationgetobj(field,variableType,componentNumber,interpolationType,err)
26757  !DLLEXPORT(cmfe_Field_ComponentInterpolationGetObj)
26758 
26759  !Argument variables
26760  TYPE(cmfe_fieldtype), INTENT(IN) :: field
26761  INTEGER(INTG), INTENT(IN) :: variableType
26762  INTEGER(INTG), INTENT(IN) :: componentNumber
26763  INTEGER(INTG), INTENT(OUT) :: interpolationType
26764  INTEGER(INTG), INTENT(OUT) :: err
26765  !Local variables
26766 
26767  enters("cmfe_Field_ComponentInterpolationGetObj",err,error,*999)
26768 
26769  CALL field_component_interpolation_get(field%field,variabletype,componentnumber,interpolationtype,err,error,*999)
26770 
26771  exits("cmfe_Field_ComponentInterpolationGetObj")
26772  RETURN
26773 999 errorsexits("cmfe_Field_ComponentInterpolationGetObj",err,error)
26774  CALL cmfe_handleerror(err,error)
26775  RETURN
26776 
26778 
26779  !
26780  !================================================================================================================================
26781  !
26782 
26784  SUBROUTINE cmfe_field_componentinterpolationsetnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber, &
26785  & interpolationtype,err)
26786  !DLLEXPORT(cmfe_Field_ComponentInterpolationSetNumber)
26787 
26788  !Argument variables
26789  INTEGER(INTG), INTENT(IN) :: regionUserNumber
26790  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
26791  INTEGER(INTG), INTENT(IN) :: variableType
26792  INTEGER(INTG), INTENT(IN) :: componentNumber
26793  INTEGER(INTG), INTENT(IN) :: interpolationType
26794  INTEGER(INTG), INTENT(OUT) :: err
26795  !Local variables
26796  TYPE(field_type), POINTER :: FIELD
26797  TYPE(region_type), POINTER :: REGION
26798  TYPE(varying_string) :: localError
26799 
26800  enters("cmfe_Field_ComponentInterpolationSetNumber",err,error,*999)
26801 
26802  NULLIFY(region)
26803  NULLIFY(field)
26804  CALL region_user_number_find(regionusernumber,region,err,error,*999)
26805  IF(ASSOCIATED(region)) THEN
26806  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
26807  IF(ASSOCIATED(field)) THEN
26808  CALL field_component_interpolation_set(field,variabletype,componentnumber,interpolationtype,err,error,*999)
26809  ELSE
26810  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
26811  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
26812  CALL flagerror(localerror,err,error,*999)
26813  END IF
26814  ELSE
26815  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
26816  CALL flagerror(localerror,err,error,*999)
26817  END IF
26818 
26819  exits("cmfe_Field_ComponentInterpolationSetNumber")
26820  RETURN
26821 999 errorsexits("cmfe_Field_ComponentInterpolationSetNumber",err,error)
26822  CALL cmfe_handleerror(err,error)
26823  RETURN
26824 
26826 
26827  !
26828  !================================================================================================================================
26829  !
26830 
26832  SUBROUTINE cmfe_field_componentinterpolationsetobj(field,variableType,componentNumber,interpolationType,err)
26833  !DLLEXPORT(cmfe_Field_ComponentInterpolationSetObj)
26834 
26835  !Argument variables
26836  TYPE(cmfe_fieldtype), INTENT(IN) :: field
26837  INTEGER(INTG), INTENT(IN) :: variableType
26838  INTEGER(INTG), INTENT(IN) :: componentNumber
26839  INTEGER(INTG), INTENT(IN) :: interpolationType
26840  INTEGER(INTG), INTENT(OUT) :: err
26841  !Local variables
26842 
26843  enters("cmfe_Field_ComponentInterpolationSetObj",err,error,*999)
26844 
26845  CALL field_component_interpolation_set(field%field,variabletype,componentnumber,interpolationtype,err,error,*999)
26846 
26847  exits("cmfe_Field_ComponentInterpolationSetObj")
26848  RETURN
26849 999 errorsexits("cmfe_Field_ComponentInterpolationSetObj",err,error)
26850  CALL cmfe_handleerror(err,error)
26851  RETURN
26852 
26854 
26855  !
26856  !================================================================================================================================
26857  !
26858 
26860  SUBROUTINE cmfe_field_componentlabelgetcnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber,label,err)
26861  !DLLEXPORT(cmfe_Field_ComponentLabelGetCNumber)
26862 
26863  !Argument variables
26864  INTEGER(INTG), INTENT(IN) :: regionUserNumber
26865  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
26866  INTEGER(INTG), INTENT(IN) :: variableType
26867  INTEGER(INTG), INTENT(IN) :: componentNumber
26868  CHARACTER(LEN=*), INTENT(OUT) :: label
26869  INTEGER(INTG), INTENT(OUT) :: err
26870  !Local variables
26871  TYPE(field_type), POINTER :: FIELD
26872  TYPE(region_type), POINTER :: REGION
26873  TYPE(varying_string) :: localError
26874 
26875  enters("cmfe_Field_ComponentLabelGetCNumber",err,error,*999)
26876 
26877  NULLIFY(region)
26878  NULLIFY(field)
26879  CALL region_user_number_find(regionusernumber,region,err,error,*999)
26880  IF(ASSOCIATED(region)) THEN
26881  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
26882  IF(ASSOCIATED(field)) THEN
26883  CALL field_component_label_get(field,variabletype,componentnumber,label,err,error,*999)
26884  ELSE
26885  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
26886  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
26887  CALL flagerror(localerror,err,error,*999)
26888  END IF
26889  ELSE
26890  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
26891  CALL flagerror(localerror,err,error,*999)
26892  END IF
26893 
26894  exits("cmfe_Field_ComponentLabelGetCNumber")
26895  RETURN
26896 999 errorsexits("cmfe_Field_ComponentLabelGetCNumber",err,error)
26897  CALL cmfe_handleerror(err,error)
26898  RETURN
26899 
26901 
26902  !
26903  !================================================================================================================================
26904  !
26905 
26907  SUBROUTINE cmfe_field_componentlabelgetcobj(field,variableType,componentNumber,label,err)
26908  !DLLEXPORT(cmfe_Field_ComponentLabelGetCObj)
26909 
26910  !Argument variables
26911  TYPE(cmfe_fieldtype), INTENT(IN) :: field
26912  INTEGER(INTG), INTENT(IN) :: variableType
26913  INTEGER(INTG), INTENT(IN) :: componentNumber
26914  CHARACTER(LEN=*), INTENT(OUT) :: label
26915  INTEGER(INTG), INTENT(OUT) :: err
26916  !Local variables
26917 
26918  enters("cmfe_Field_ComponentLabelGetCObj",err,error,*999)
26919 
26920  CALL field_component_label_get(field%field,variabletype,componentnumber,label,err,error,*999)
26921 
26922  exits("cmfe_Field_ComponentLabelGetCObj")
26923  RETURN
26924 999 errorsexits("cmfe_Field_ComponentLabelGetCObj",err,error)
26925  CALL cmfe_handleerror(err,error)
26926  RETURN
26927 
26928  END SUBROUTINE cmfe_field_componentlabelgetcobj
26929 
26930  !
26931  !================================================================================================================================
26932  !
26933 
26935  SUBROUTINE cmfe_field_componentlabelgetvsnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber,label,err)
26936  !DLLEXPORT(cmfe_Field_ComponentLabelGetVSNumber)
26937 
26938  !Argument variables
26939  INTEGER(INTG), INTENT(IN) :: regionUserNumber
26940  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
26941  INTEGER(INTG), INTENT(IN) :: variableType
26942  INTEGER(INTG), INTENT(IN) :: componentNumber
26943  TYPE(varying_string), INTENT(OUT) :: label
26944  INTEGER(INTG), INTENT(OUT) :: err
26945  !Local variables
26946  TYPE(field_type), POINTER :: FIELD
26947  TYPE(region_type), POINTER :: REGION
26948  TYPE(varying_string) :: localError
26949 
26950  enters("cmfe_Field_ComponentLabelGetVSNumber",err,error,*999)
26951 
26952  NULLIFY(region)
26953  NULLIFY(field)
26954  CALL region_user_number_find(regionusernumber,region,err,error,*999)
26955  IF(ASSOCIATED(region)) THEN
26956  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
26957  IF(ASSOCIATED(field)) THEN
26958  CALL field_component_label_get(field,variabletype,componentnumber,label,err,error,*999)
26959  ELSE
26960  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
26961  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
26962  CALL flagerror(localerror,err,error,*999)
26963  END IF
26964  ELSE
26965  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
26966  CALL flagerror(localerror,err,error,*999)
26967  END IF
26968 
26969  exits("cmfe_Field_ComponentLabelGetVSNumber")
26970  RETURN
26971 999 errorsexits("cmfe_Field_ComponentLabelGetVSNumber",err,error)
26972  CALL cmfe_handleerror(err,error)
26973  RETURN
26974 
26976 
26977  !
26978  !================================================================================================================================
26979  !
26980 
26982  SUBROUTINE cmfe_field_componentlabelgetvsobj(field,variableType,componentNumber,label,err)
26983  !DLLEXPORT(cmfe_Field_ComponentLabelGetVSObj)
26984 
26985  !Argument variables
26986  TYPE(cmfe_fieldtype), INTENT(IN) :: field
26987  INTEGER(INTG), INTENT(IN) :: variableType
26988  INTEGER(INTG), INTENT(IN) :: componentNumber
26989  TYPE(varying_string), INTENT(OUT) :: label
26990  INTEGER(INTG), INTENT(OUT) :: err
26991  !Local variables
26992 
26993  enters("cmfe_Field_ComponentLabelGetVSObj",err,error,*999)
26994 
26995  CALL field_component_label_get(field%field,variabletype,componentnumber,label,err,error,*999)
26996 
26997  exits("cmfe_Field_ComponentLabelGetVSObj")
26998  RETURN
26999 999 errorsexits("cmfe_Field_ComponentLabelGetVSObj",err,error)
27000  CALL cmfe_handleerror(err,error)
27001  RETURN
27002 
27003  END SUBROUTINE cmfe_field_componentlabelgetvsobj
27004 
27005  !
27006  !================================================================================================================================
27007  !
27008 
27010  SUBROUTINE cmfe_field_componentlabelsetcnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber,label,err)
27011  !DLLEXPORT(cmfe_Field_ComponentLabelSetCNumber)
27012 
27013  !Argument variables
27014  INTEGER(INTG), INTENT(IN) :: regionUserNumber
27015  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
27016  INTEGER(INTG), INTENT(IN) :: variableType
27017  INTEGER(INTG), INTENT(IN) :: componentNumber
27018  CHARACTER(LEN=*), INTENT(IN) :: label
27019  INTEGER(INTG), INTENT(OUT) :: err
27020  !Local variables
27021  TYPE(field_type), POINTER :: FIELD
27022  TYPE(region_type), POINTER :: REGION
27023  TYPE(varying_string) :: localError
27024 
27025  enters("cmfe_Field_ComponentLabelSetCNumber",err,error,*999)
27026 
27027  NULLIFY(region)
27028  NULLIFY(field)
27029  CALL region_user_number_find(regionusernumber,region,err,error,*999)
27030  IF(ASSOCIATED(region)) THEN
27031  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
27032  IF(ASSOCIATED(field)) THEN
27033  CALL field_component_label_set(field,variabletype,componentnumber,label,err,error,*999)
27034  ELSE
27035  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
27036  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
27037  CALL flagerror(localerror,err,error,*999)
27038  END IF
27039  ELSE
27040  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
27041  CALL flagerror(localerror,err,error,*999)
27042  END IF
27043 
27044  exits("cmfe_Field_ComponentLabelSetCNumber")
27045  RETURN
27046 999 errorsexits("cmfe_Field_ComponentLabelSetCNumber",err,error)
27047  CALL cmfe_handleerror(err,error)
27048  RETURN
27049 
27051 
27052  !
27053  !================================================================================================================================
27054  !
27055 
27057  SUBROUTINE cmfe_field_componentlabelsetcobj(field,variableType,componentNumber,label,err)
27058  !DLLEXPORT(cmfe_Field_ComponentLabelSetCObj)
27059 
27060  !Argument variables
27061  TYPE(cmfe_fieldtype), INTENT(IN) :: field
27062  INTEGER(INTG), INTENT(IN) :: variableType
27063  INTEGER(INTG), INTENT(IN) :: componentNumber
27064  CHARACTER(LEN=*), INTENT(IN) :: label
27065  INTEGER(INTG), INTENT(OUT) :: err
27066  !Local variables
27067 
27068  enters("cmfe_Field_ComponentLabelSetCObj",err,error,*999)
27069 
27070  CALL field_component_label_set(field%field,variabletype,componentnumber,label,err,error,*999)
27071 
27072  exits("cmfe_Field_ComponentLabelSetCObj")
27073  RETURN
27074 999 errorsexits("cmfe_Field_ComponentLabelSetCObj",err,error)
27075  CALL cmfe_handleerror(err,error)
27076  RETURN
27077 
27078  END SUBROUTINE cmfe_field_componentlabelsetcobj
27079 
27080  !
27081  !================================================================================================================================
27082  !
27083 
27085  SUBROUTINE cmfe_field_componentlabelsetvsnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber,label,err)
27086  !DLLEXPORT(cmfe_Field_ComponentLabelSetVSNumber)
27087 
27088  !Argument variables
27089  INTEGER(INTG), INTENT(IN) :: regionUserNumber
27090  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
27091  INTEGER(INTG), INTENT(IN) :: variableType
27092  INTEGER(INTG), INTENT(IN) :: componentNumber
27093  TYPE(varying_string), INTENT(IN) :: label
27094  INTEGER(INTG), INTENT(OUT) :: err
27095  !Local variables
27096  TYPE(field_type), POINTER :: FIELD
27097  TYPE(region_type), POINTER :: REGION
27098  TYPE(varying_string) :: localError
27099 
27100  enters("cmfe_Field_ComponentLabelSetVSNumber",err,error,*999)
27101 
27102  NULLIFY(region)
27103  NULLIFY(field)
27104  CALL region_user_number_find(regionusernumber,region,err,error,*999)
27105  IF(ASSOCIATED(region)) THEN
27106  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
27107  IF(ASSOCIATED(field)) THEN
27108  CALL field_component_label_set(field,variabletype,componentnumber,label,err,error,*999)
27109  ELSE
27110  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
27111  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
27112  CALL flagerror(localerror,err,error,*999)
27113  END IF
27114  ELSE
27115  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
27116  CALL flagerror(localerror,err,error,*999)
27117  END IF
27118 
27119  exits("cmfe_Field_ComponentLabelSetVSNumber")
27120  RETURN
27121 999 errorsexits("cmfe_Field_ComponentLabelSetVSNumber",err,error)
27122  CALL cmfe_handleerror(err,error)
27123  RETURN
27124 
27126 
27127  !
27128  !================================================================================================================================
27129  !
27130 
27132  SUBROUTINE cmfe_field_componentlabelsetvsobj(field,variableType,componentNumber,label,err)
27133  !DLLEXPORT(cmfe_Field_ComponentLabelSetVSObj)
27134 
27135  !Argument variables
27136  TYPE(cmfe_fieldtype), INTENT(IN) :: field
27137  INTEGER(INTG), INTENT(IN) :: variableType
27138  INTEGER(INTG), INTENT(IN) :: componentNumber
27139  TYPE(varying_string), INTENT(IN) :: label
27140  INTEGER(INTG), INTENT(OUT) :: err
27141  !Local variables
27142 
27143  enters("cmfe_Field_ComponentLabelSetVSObj",err,error,*999)
27144 
27145  CALL field_component_label_set(field%field,variabletype,componentnumber,label,err,error,*999)
27146 
27147  exits("cmfe_Field_ComponentLabelSetVSObj")
27148  RETURN
27149 999 errorsexits("cmfe_Field_ComponentLabelSetVSObj",err,error)
27150  CALL cmfe_handleerror(err,error)
27151  RETURN
27152 
27153  END SUBROUTINE cmfe_field_componentlabelsetvsobj
27154 
27155  !
27156  !================================================================================================================================
27157  !
27158 
27160  SUBROUTINE cmfe_field_componentmeshcomponentgetnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber, &
27161  & meshcomponent,err)
27162  !DLLEXPORT(cmfe_Field_ComponentMeshComponentGetNumber)
27163 
27164  !Argument variables
27165  INTEGER(INTG), INTENT(IN) :: regionUserNumber
27166  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
27167  INTEGER(INTG), INTENT(IN) :: variableType
27168  INTEGER(INTG), INTENT(IN) :: componentNumber
27169  INTEGER(INTG), INTENT(OUT) :: meshComponent
27170  INTEGER(INTG), INTENT(OUT) :: err
27171  !Local variables
27172  TYPE(field_type), POINTER :: FIELD
27173  TYPE(region_type), POINTER :: REGION
27174  TYPE(varying_string) :: localError
27175 
27176  enters("cmfe_Field_ComponentMeshComponentGetNumber",err,error,*999)
27177 
27178  NULLIFY(region)
27179  NULLIFY(field)
27180  CALL region_user_number_find(regionusernumber,region,err,error,*999)
27181  IF(ASSOCIATED(region)) THEN
27182  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
27183  IF(ASSOCIATED(field)) THEN
27184  CALL field_component_mesh_component_get(field,variabletype,componentnumber,meshcomponent,err,error,*999)
27185  ELSE
27186  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
27187  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
27188  CALL flagerror(localerror,err,error,*999)
27189  END IF
27190  ELSE
27191  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
27192  CALL flagerror(localerror,err,error,*999)
27193  END IF
27194 
27195  exits("cmfe_Field_ComponentMeshComponentGetNumber")
27196  RETURN
27197 999 errorsexits("cmfe_Field_ComponentMeshComponentGetNumber",err,error)
27198  CALL cmfe_handleerror(err,error)
27199  RETURN
27200 
27202 
27203  !
27204  !================================================================================================================================
27205  !
27206 
27208  SUBROUTINE cmfe_field_componentmeshcomponentgetobj(field,variableType,componentNumber,meshComponent,err)
27209  !DLLEXPORT(cmfe_Field_ComponentMeshComponentGetObj)
27210 
27211  !Argument variables
27212  TYPE(cmfe_fieldtype), INTENT(IN) :: field
27213  INTEGER(INTG), INTENT(IN) :: variableType
27214  INTEGER(INTG), INTENT(IN) :: componentNumber
27215  INTEGER(INTG), INTENT(OUT) :: meshComponent
27216  INTEGER(INTG), INTENT(OUT) :: err
27217  !Local variables
27218 
27219  enters("cmfe_Field_ComponentMeshComponentGetObj",err,error,*999)
27220 
27221  CALL field_component_mesh_component_get(field%field,variabletype,componentnumber,meshcomponent,err,error,*999)
27222 
27223  exits("cmfe_Field_ComponentMeshComponentGetObj")
27224  RETURN
27225 999 errorsexits("cmfe_Field_ComponentMeshComponentGetObj",err,error)
27226  CALL cmfe_handleerror(err,error)
27227  RETURN
27228 
27230 
27231  !
27232  !================================================================================================================================
27233  !
27234 
27236  SUBROUTINE cmfe_field_componentmeshcomponentsetnumber(regionUserNumber,fieldUserNumber,variableType,componentNumber, &
27237  & meshcomponent,err)
27238  !DLLEXPORT(cmfe_Field_ComponentMeshComponentSetNumber)
27239 
27240  !Argument variables
27241  INTEGER(INTG), INTENT(IN) :: regionUserNumber
27242  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
27243  INTEGER(INTG), INTENT(IN) :: variableType
27244  INTEGER(INTG), INTENT(IN) :: componentNumber
27245  INTEGER(INTG), INTENT(IN) :: meshComponent
27246  INTEGER(INTG), INTENT(OUT) :: err
27247  !Local variables
27248  TYPE(field_type), POINTER :: FIELD
27249  TYPE(region_type), POINTER :: REGION
27250  TYPE(varying_string) :: localError
27251 
27252  enters("cmfe_Field_ComponentMeshComponentSetNumber",err,error,*999)
27253 
27254  NULLIFY(region)
27255  NULLIFY(field)
27256  CALL region_user_number_find(regionusernumber,region,err,error,*999)
27257  IF(ASSOCIATED(region)) THEN
27258  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
27259  IF(ASSOCIATED(field)) THEN
27260  CALL field_component_mesh_component_set(field,variabletype,componentnumber,meshcomponent,err,error,*999)
27261  ELSE
27262  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
27263  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
27264  CALL flagerror(localerror,err,error,*999)
27265  END IF
27266  ELSE
27267  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
27268  CALL flagerror(localerror,err,error,*999)
27269  END IF
27270 
27271  exits("cmfe_Field_ComponentMeshComponentSetNumber")
27272  RETURN
27273 999 errorsexits("cmfe_Field_ComponentMeshComponentSetNumber",err,error)
27274  CALL cmfe_handleerror(err,error)
27275  RETURN
27276 
27278 
27279  !
27280  !================================================================================================================================
27281  !
27282 
27284  SUBROUTINE cmfe_field_componentmeshcomponentsetobj(field,variableType,componentNumber,meshComponent,err)
27285  !DLLEXPORT(cmfe_Field_ComponentMeshComponentSetObj)
27286 
27287  !Argument variables
27288  TYPE(cmfe_fieldtype), INTENT(IN) :: field
27289  INTEGER(INTG), INTENT(IN) :: variableType
27290  INTEGER(INTG), INTENT(IN) :: componentNumber
27291  INTEGER(INTG), INTENT(IN) :: meshComponent
27292  INTEGER(INTG), INTENT(OUT) :: err
27293  !Local variables
27294 
27295  enters("cmfe_Field_ComponentMeshComponentSetObj",err,error,*999)
27296 
27297  CALL field_component_mesh_component_set(field%field,variabletype,componentnumber,meshcomponent,err,error,*999)
27298 
27299  exits("cmfe_Field_ComponentMeshComponentSetObj")
27300  RETURN
27301 999 errorsexits("cmfe_Field_ComponentMeshComponentSetObj",err,error)
27302  CALL cmfe_handleerror(err,error)
27303  RETURN
27304 
27306 
27307  !
27308  !================================================================================================================================
27309  !
27310 
27312  SUBROUTINE cmfe_field_componentvaluesinitialiseintgnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
27313  & componentnumber,value,err)
27314  !DLLEXPORT(cmfe_Field_ComponentValuesInitialiseIntgNumber)
27315 
27316  !Argument variables
27317  INTEGER(INTG), INTENT(IN) :: regionUserNumber
27318  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
27319  INTEGER(INTG), INTENT(IN) :: variableType
27320  INTEGER(INTG), INTENT(IN) :: fieldSetType
27321  INTEGER(INTG), INTENT(IN) :: componentNumber
27322  INTEGER(INTG), INTENT(IN) :: value
27323  INTEGER(INTG), INTENT(OUT) :: err
27324  !Local variables
27325  TYPE(field_type), POINTER :: FIELD
27326  TYPE(region_type), POINTER :: REGION
27327  TYPE(varying_string) :: localError
27328 
27329  enters("cmfe_Field_ComponentValuesInitialiseIntgNumber",err,error,*999)
27330 
27331  NULLIFY(region)
27332  NULLIFY(field)
27333  CALL region_user_number_find(regionusernumber,region,err,error,*999)
27334  IF(ASSOCIATED(region)) THEN
27335  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
27336  IF(ASSOCIATED(field)) THEN
27337  CALL field_component_values_initialise(field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
27338  ELSE
27339  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
27340  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
27341  CALL flagerror(localerror,err,error,*999)
27342  END IF
27343  ELSE
27344  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
27345  CALL flagerror(localerror,err,error,*999)
27346  END IF
27347 
27348  exits("cmfe_Field_ComponentValuesInitialiseIntgNumber")
27349  RETURN
27350 999 errors("cmfe_Field_ComponentValuesInitialiseIntgNumber",err,error)
27351  exits("cmfe_Field_ComponentValuesInitialiseIntgNumber")
27352  CALL cmfe_handleerror(err,error)
27353  RETURN
27354 
27356 
27357  !
27358  !================================================================================================================================
27359  !
27360 
27362  SUBROUTINE cmfe_field_componentvaluesinitialiseintgobj(field,variableType,fieldSetType,componentNumber,value,err)
27363  !DLLEXPORT(cmfe_Field_ComponentValuesInitialiseIntgObj)
27364 
27365  !Argument variables
27366  TYPE(cmfe_fieldtype), INTENT(IN) :: field
27367  INTEGER(INTG), INTENT(IN) :: variableType
27368  INTEGER(INTG), INTENT(IN) :: fieldSetType
27369  INTEGER(INTG), INTENT(IN) :: componentNumber
27370  INTEGER(INTG), INTENT(IN) :: value
27371  INTEGER(INTG), INTENT(OUT) :: err
27372  !Local variables
27373 
27374  enters("cmfe_Field_ComponentValuesInitialiseIntgObj",err,error,*999)
27375 
27376  CALL field_component_values_initialise(field%field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
27377 
27378  exits("cmfe_Field_ComponentValuesInitialiseIntgObj")
27379  RETURN
27380 999 errorsexits("cmfe_Field_ComponentValuesInitialiseIntgObj",err,error)
27381  CALL cmfe_handleerror(err,error)
27382  RETURN
27383 
27385  !
27386  !================================================================================================================================
27387  !
27388 
27390  SUBROUTINE cmfe_field_componentvaluesinitialisespnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
27391  & componentnumber,value,err)
27392  !DLLEXPORT(cmfe_Field_ComponentValuesInitialiseSPNumber)
27393 
27394  !Argument variables
27395  INTEGER(INTG), INTENT(IN) :: regionUserNumber
27396  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
27397  INTEGER(INTG), INTENT(IN) :: variableType
27398  INTEGER(INTG), INTENT(IN) :: fieldSetType
27399  INTEGER(INTG), INTENT(IN) :: componentNumber
27400  REAL(SP), INTENT(IN) :: value
27401  INTEGER(INTG), INTENT(OUT) :: err
27402  !Local variables
27403  TYPE(field_type), POINTER :: FIELD
27404  TYPE(region_type), POINTER :: REGION
27405  TYPE(varying_string) :: localError
27406 
27407  enters("cmfe_Field_ComponentValuesInitialiseSPNumber",err,error,*999)
27408 
27409  NULLIFY(region)
27410  NULLIFY(field)
27411  CALL region_user_number_find(regionusernumber,region,err,error,*999)
27412  IF(ASSOCIATED(region)) THEN
27413  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
27414  IF(ASSOCIATED(field)) THEN
27415  CALL field_component_values_initialise(field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
27416  ELSE
27417  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
27418  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
27419  CALL flagerror(localerror,err,error,*999)
27420  END IF
27421  ELSE
27422  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
27423  CALL flagerror(localerror,err,error,*999)
27424  END IF
27425 
27426  exits("cmfe_Field_ComponentValuesInitialiseSPNumber")
27427  RETURN
27428 999 errors("cmfe_Field_ComponentValuesInitialiseSPNumber",err,error)
27429  exits("cmfe_Field_ComponentValuesInitialiseSPNumber")
27430  CALL cmfe_handleerror(err,error)
27431  RETURN
27432 
27434 
27435  !
27436  !================================================================================================================================
27437  !
27438 
27440  SUBROUTINE cmfe_field_componentvaluesinitialisespobj(field,variableType,fieldSetType,componentNumber,value,err)
27441  !DLLEXPORT(cmfe_Field_ComponentValuesInitialiseSPObj)
27442 
27443  !Argument variables
27444  TYPE(cmfe_fieldtype), INTENT(IN) :: field
27445  INTEGER(INTG), INTENT(IN) :: variableType
27446  INTEGER(INTG), INTENT(IN) :: fieldSetType
27447  INTEGER(INTG), INTENT(IN) :: componentNumber
27448  REAL(SP), INTENT(IN) :: value
27449  INTEGER(INTG), INTENT(OUT) :: err
27450  !Local variables
27451 
27452  enters("cmfe_Field_ComponentValuesInitialiseSPObj",err,error,*999)
27453 
27454  CALL field_component_values_initialise(field%field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
27455 
27456  exits("cmfe_Field_ComponentValuesInitialiseSPObj")
27457  RETURN
27458 999 errorsexits("cmfe_Field_ComponentValuesInitialiseSPObj",err,error)
27459  CALL cmfe_handleerror(err,error)
27460  RETURN
27461 
27463  !
27464  !================================================================================================================================
27465  !
27466 
27468  SUBROUTINE cmfe_field_componentvaluesinitialisedpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
27469  & componentnumber,value,err)
27470  !DLLEXPORT(cmfe_Field_ComponentValuesInitialiseDPNumber)
27471 
27472  !Argument variables
27473  INTEGER(INTG), INTENT(IN) :: regionUserNumber
27474  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
27475  INTEGER(INTG), INTENT(IN) :: variableType
27476  INTEGER(INTG), INTENT(IN) :: fieldSetType
27477  INTEGER(INTG), INTENT(IN) :: componentNumber
27478  REAL(DP), INTENT(IN) :: value
27479  INTEGER(INTG), INTENT(OUT) :: err
27480  !Local variables
27481  TYPE(field_type), POINTER :: FIELD
27482  TYPE(region_type), POINTER :: REGION
27483  TYPE(varying_string) :: localError
27484 
27485  enters("cmfe_Field_ComponentValuesInitialiseDPNumber",err,error,*999)
27486 
27487  NULLIFY(region)
27488  NULLIFY(field)
27489  CALL region_user_number_find(regionusernumber,region,err,error,*999)
27490  IF(ASSOCIATED(region)) THEN
27491  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
27492  IF(ASSOCIATED(field)) THEN
27493  CALL field_component_values_initialise(field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
27494  ELSE
27495  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
27496  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
27497  CALL flagerror(localerror,err,error,*999)
27498  END IF
27499  ELSE
27500  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
27501  CALL flagerror(localerror,err,error,*999)
27502  END IF
27503 
27504  exits("cmfe_Field_ComponentValuesInitialiseDPNumber")
27505  RETURN
27506 999 errors("cmfe_Field_ComponentValuesInitialiseDPNumber",err,error)
27507  exits("cmfe_Field_ComponentValuesInitialiseDPNumber")
27508  CALL cmfe_handleerror(err,error)
27509  RETURN
27510 
27512 
27513  !
27514  !================================================================================================================================
27515  !
27516 
27518  SUBROUTINE cmfe_field_componentvaluesinitialisedpobj(field,variableType,fieldSetType,componentNumber,value,err)
27519  !DLLEXPORT(cmfe_Field_ComponentValuesInitialiseDPObj)
27520 
27521  !Argument variables
27522  TYPE(cmfe_fieldtype), INTENT(IN) :: field
27523  INTEGER(INTG), INTENT(IN) :: variableType
27524  INTEGER(INTG), INTENT(IN) :: fieldSetType
27525  INTEGER(INTG), INTENT(IN) :: componentNumber
27526  REAL(DP), INTENT(IN) :: value
27527  INTEGER(INTG), INTENT(OUT) :: err
27528  !Local variables
27529 
27530  enters("cmfe_Field_ComponentValuesInitialiseDPObj",err,error,*999)
27531 
27532  CALL field_component_values_initialise(field%field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
27533 
27534  exits("cmfe_Field_ComponentValuesInitialiseDPObj")
27535  RETURN
27536 999 errorsexits("cmfe_Field_ComponentValuesInitialiseDPObj",err,error)
27537  CALL cmfe_handleerror(err,error)
27538  RETURN
27539 
27541  !
27542  !================================================================================================================================
27543  !
27544 
27546  SUBROUTINE cmfe_field_componentvaluesinitialiselnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
27547  & componentnumber,value,err)
27548  !DLLEXPORT(cmfe_Field_ComponentValuesInitialiseLNumber)
27549 
27550  !Argument variables
27551  INTEGER(INTG), INTENT(IN) :: regionUserNumber
27552  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
27553  INTEGER(INTG), INTENT(IN) :: variableType
27554  INTEGER(INTG), INTENT(IN) :: fieldSetType
27555  INTEGER(INTG), INTENT(IN) :: componentNumber
27556  LOGICAL, INTENT(IN) :: value
27557  INTEGER(INTG), INTENT(OUT) :: err
27558  !Local variables
27559  TYPE(field_type), POINTER :: FIELD
27560  TYPE(region_type), POINTER :: REGION
27561  TYPE(varying_string) :: localError
27562 
27563  enters("cmfe_Field_ComponentValuesInitialiseLNumber",err,error,*999)
27564 
27565  NULLIFY(region)
27566  NULLIFY(field)
27567  CALL region_user_number_find(regionusernumber,region,err,error,*999)
27568  IF(ASSOCIATED(region)) THEN
27569  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
27570  IF(ASSOCIATED(field)) THEN
27571  CALL field_component_values_initialise(field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
27572  ELSE
27573  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
27574  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
27575  CALL flagerror(localerror,err,error,*999)
27576  END IF
27577  ELSE
27578  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
27579  CALL flagerror(localerror,err,error,*999)
27580  END IF
27581 
27582  exits("cmfe_Field_ComponentValuesInitialiseLNumber")
27583  RETURN
27584 999 errorsexits("cmfe_Field_ComponentValuesInitialiseLNumber",err,error)
27585  CALL cmfe_handleerror(err,error)
27586  RETURN
27587 
27589 
27590  !
27591  !================================================================================================================================
27592  !
27593 
27595  SUBROUTINE cmfe_field_componentvaluesinitialiselobj(field,variableType,fieldSetType,componentNumber,value,err)
27596  !DLLEXPORT(cmfe_Field_ComponentValuesInitialiseLObj)
27597 
27598  !Argument variables
27599  TYPE(cmfe_fieldtype), INTENT(IN) :: field
27600  INTEGER(INTG), INTENT(IN) :: variableType
27601  INTEGER(INTG), INTENT(IN) :: fieldSetType
27602  INTEGER(INTG), INTENT(IN) :: componentNumber
27603  LOGICAL, INTENT(IN) :: value
27604  INTEGER(INTG), INTENT(OUT) :: err
27605  !Local variables
27606 
27607  enters("cmfe_Field_ComponentValuesInitialiseLObj",err,error,*999)
27608 
27609  CALL field_component_values_initialise(field%field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
27610 
27611  exits("cmfe_Field_ComponentValuesInitialiseLObj")
27612  RETURN
27613 999 errorsexits("cmfe_Field_ComponentValuesInitialiseLObj",err,error)
27614  CALL cmfe_handleerror(err,error)
27615  RETURN
27616 
27618 
27619  !
27620  !================================================================================================================================
27621  !
27622 
27624  SUBROUTINE cmfe_field_datatypegetnumber(regionUserNumber,fieldUserNumber,variableType,dataType,err)
27625  !DLLEXPORT(cmfe_Field_DataTypeGetNumber)
27626 
27627  !Argument variables
27628  INTEGER(INTG), INTENT(IN) :: regionUserNumber
27629  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
27630  INTEGER(INTG), INTENT(IN) :: variableType
27631  INTEGER(INTG), INTENT(OUT) :: dataType
27632  INTEGER(INTG), INTENT(OUT) :: err
27633  !Local variables
27634  TYPE(field_type), POINTER :: FIELD
27635  TYPE(region_type), POINTER :: REGION
27636  TYPE(varying_string) :: localError
27637 
27638  enters("cmfe_Field_DataTypeGetNumber",err,error,*999)
27639 
27640  NULLIFY(region)
27641  NULLIFY(field)
27642  CALL region_user_number_find(regionusernumber,region,err,error,*999)
27643  IF(ASSOCIATED(region)) THEN
27644  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
27645  IF(ASSOCIATED(field)) THEN
27646  CALL field_data_type_get(field,variabletype,datatype,err,error,*999)
27647  ELSE
27648  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
27649  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
27650  CALL flagerror(localerror,err,error,*999)
27651  END IF
27652  ELSE
27653  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
27654  CALL flagerror(localerror,err,error,*999)
27655  END IF
27656 
27657  exits("cmfe_Field_DataTypeGetNumber")
27658  RETURN
27659 999 errorsexits("cmfe_Field_DataTypeGetNumber",err,error)
27660  CALL cmfe_handleerror(err,error)
27661  RETURN
27662 
27663  END SUBROUTINE cmfe_field_datatypegetnumber
27664 
27665  !
27666  !================================================================================================================================
27667  !
27668 
27670  SUBROUTINE cmfe_field_datatypegetobj(field,variableType,dataType,err)
27671  !DLLEXPORT(cmfe_Field_DataTypeGetObj)
27672 
27673  !Argument variables
27674  TYPE(cmfe_fieldtype), INTENT(IN) :: field
27675  INTEGER(INTG), INTENT(IN) :: variableType
27676  INTEGER(INTG), INTENT(OUT) :: dataType
27677  INTEGER(INTG), INTENT(OUT) :: err
27678  !Local variables
27679 
27680  enters("cmfe_Field_DataTypeGetObj",err,error,*999)
27681 
27682  CALL field_data_type_get(field%field,variabletype,datatype,err,error,*999)
27683 
27684  exits("cmfe_Field_DataTypeGetObj")
27685  RETURN
27686 999 errorsexits("cmfe_Field_DataTypeGetObj",err,error)
27687  CALL cmfe_handleerror(err,error)
27688  RETURN
27689 
27690  END SUBROUTINE cmfe_field_datatypegetobj
27691 
27692  !
27693  !================================================================================================================================
27694  !
27695 
27697  SUBROUTINE cmfe_field_datatypesetnumber(regionUserNumber,fieldUserNumber,variableType,dataType,err)
27698  !DLLEXPORT(cmfe_Field_DataTypeSetNumber)
27699 
27700  !Argument variables
27701  INTEGER(INTG), INTENT(IN) :: regionUserNumber
27702  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
27703  INTEGER(INTG), INTENT(IN) :: variableType
27704  INTEGER(INTG), INTENT(IN) :: dataType
27705  INTEGER(INTG), INTENT(OUT) :: err
27706  !Local variables
27707  TYPE(field_type), POINTER :: FIELD
27708  TYPE(region_type), POINTER :: REGION
27709  TYPE(varying_string) :: localError
27710 
27711  enters("cmfe_Field_DataTypeSetNumber",err,error,*999)
27712 
27713  NULLIFY(region)
27714  NULLIFY(field)
27715  CALL region_user_number_find(regionusernumber,region,err,error,*999)
27716  IF(ASSOCIATED(region)) THEN
27717  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
27718  IF(ASSOCIATED(field)) THEN
27719  CALL field_data_type_set(field,variabletype,datatype,err,error,*999)
27720  ELSE
27721  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
27722  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
27723  CALL flagerror(localerror,err,error,*999)
27724  END IF
27725  ELSE
27726  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
27727  CALL flagerror(localerror,err,error,*999)
27728  END IF
27729 
27730  exits("cmfe_Field_DataTypeSetNumber")
27731  RETURN
27732 999 errorsexits("cmfe_Field_DataTypeSetNumber",err,error)
27733  CALL cmfe_handleerror(err,error)
27734  RETURN
27735 
27736  END SUBROUTINE cmfe_field_datatypesetnumber
27737 
27738  !
27739  !================================================================================================================================
27740  !
27741 
27743  SUBROUTINE cmfe_field_datatypesetobj(field,variableType,dataType,err)
27744  !DLLEXPORT(cmfe_Field_DataTypeSetObj)
27745 
27746  !Argument variables
27747  TYPE(cmfe_fieldtype), INTENT(IN) :: field
27748  INTEGER(INTG), INTENT(IN) :: variableType
27749  INTEGER(INTG), INTENT(IN) :: dataType
27750  INTEGER(INTG), INTENT(OUT) :: err
27751  !Local variables
27752 
27753  enters("cmfe_Field_DataTypeSetObj",err,error,*999)
27754 
27755  CALL field_data_type_set(field%field,variabletype,datatype,err,error,*999)
27756 
27757  exits("cmfe_Field_DataTypeSetObj")
27758  RETURN
27759 999 errorsexits("cmfe_Field_DataTypeSetObj",err,error)
27760  CALL cmfe_handleerror(err,error)
27761  RETURN
27762 
27763  END SUBROUTINE cmfe_field_datatypesetobj
27764 
27765  !
27766  !================================================================================================================================
27767  !
27768 
27770  SUBROUTINE cmfe_field_dofordertypegetnumber(regionUserNumber,fieldUserNumber,variableType,DOFOrderType,err)
27771  !DLLEXPORT(cmfe_Field_DOFOrderTypeGetNumber)
27772 
27773  !Argument variables
27774  INTEGER(INTG), INTENT(IN) :: regionUserNumber
27775  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
27776  INTEGER(INTG), INTENT(IN) :: variableType
27777  INTEGER(INTG), INTENT(OUT) :: DOFOrderType
27778  INTEGER(INTG), INTENT(OUT) :: err
27779  !Local variables
27780  TYPE(field_type), POINTER :: FIELD
27781  TYPE(region_type), POINTER :: REGION
27782  TYPE(varying_string) :: localError
27783 
27784  enters("cmfe_Field_DOFOrderTypeGetNumber",err,error,*999)
27785 
27786  NULLIFY(region)
27787  NULLIFY(field)
27788  CALL region_user_number_find(regionusernumber,region,err,error,*999)
27789  IF(ASSOCIATED(region)) THEN
27790  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
27791  IF(ASSOCIATED(field)) THEN
27792  CALL field_dof_order_type_get(field,variabletype,dofordertype,err,error,*999)
27793  ELSE
27794  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
27795  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
27796  CALL flagerror(localerror,err,error,*999)
27797  END IF
27798  ELSE
27799  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
27800  CALL flagerror(localerror,err,error,*999)
27801  END IF
27802 
27803  exits("cmfe_Field_DOFOrderTypeGetNumber")
27804  RETURN
27805 999 errorsexits("cmfe_Field_DOFOrderTypeGetNumber",err,error)
27806  CALL cmfe_handleerror(err,error)
27807  RETURN
27808 
27809  END SUBROUTINE cmfe_field_dofordertypegetnumber
27810 
27811  !
27812  !================================================================================================================================
27813  !
27814 
27816  SUBROUTINE cmfe_field_dofordertypegetobj(field,variableType,DOFOrderType,err)
27817  !DLLEXPORT(cmfe_Field_DOFOrderTypeGetObj)
27818 
27819  !Argument variables
27820  TYPE(cmfe_fieldtype), INTENT(IN) :: field
27821  INTEGER(INTG), INTENT(IN) :: variableType
27822  INTEGER(INTG), INTENT(OUT) :: DOFOrderType
27823  INTEGER(INTG), INTENT(OUT) :: err
27824  !Local variables
27825 
27826  enters("cmfe_Field_DOFOrderTypeGetObj",err,error,*999)
27827 
27828  CALL field_dof_order_type_get(field%field,variabletype,dofordertype,err,error,*999)
27829 
27830  exits("cmfe_Field_DOFOrderTypeGetObj")
27831  RETURN
27832 999 errorsexits("cmfe_Field_DOFOrderTypeGetObj",err,error)
27833  CALL cmfe_handleerror(err,error)
27834  RETURN
27835 
27836  END SUBROUTINE cmfe_field_dofordertypegetobj
27837 
27838  !
27839  !================================================================================================================================
27840  !
27841 
27843  SUBROUTINE cmfe_field_dofordertypesetnumber(regionUserNumber,fieldUserNumber,variableType,DOFOrderType,err)
27844  !DLLEXPORT(cmfe_Field_DOFOrderTypeSetNumber)
27845 
27846  !Argument variables
27847  INTEGER(INTG), INTENT(IN) :: regionUserNumber
27848  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
27849  INTEGER(INTG), INTENT(IN) :: variableType
27850  INTEGER(INTG), INTENT(IN) :: DOFOrderType
27851  INTEGER(INTG), INTENT(OUT) :: err
27852  !Local variables
27853  TYPE(field_type), POINTER :: FIELD
27854  TYPE(region_type), POINTER :: REGION
27855  TYPE(varying_string) :: localError
27856 
27857  enters("cmfe_Field_DOFOrderTypeSetNumber",err,error,*999)
27858 
27859  NULLIFY(region)
27860  NULLIFY(field)
27861  CALL region_user_number_find(regionusernumber,region,err,error,*999)
27862  IF(ASSOCIATED(region)) THEN
27863  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
27864  IF(ASSOCIATED(field)) THEN
27865  CALL field_dof_order_type_set(field,variabletype,dofordertype,err,error,*999)
27866  ELSE
27867  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
27868  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
27869  CALL flagerror(localerror,err,error,*999)
27870  END IF
27871  ELSE
27872  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
27873  CALL flagerror(localerror,err,error,*999)
27874  END IF
27875 
27876  exits("cmfe_Field_DOFOrderTypeSetNumber")
27877  RETURN
27878 999 errorsexits("cmfe_Field_DOFOrderTypeSetNumber",err,error)
27879  CALL cmfe_handleerror(err,error)
27880  RETURN
27881 
27882  END SUBROUTINE cmfe_field_dofordertypesetnumber
27883 
27884  !
27885  !================================================================================================================================
27886  !
27887 
27889  SUBROUTINE cmfe_field_dofordertypesetobj(field,variableType,DOFOrderType,err)
27890  !DLLEXPORT(cmfe_Field_DOFOrderTypeSetObj)
27891 
27892  !Argument variables
27893  TYPE(cmfe_fieldtype), INTENT(IN) :: field
27894  INTEGER(INTG), INTENT(IN) :: variableType
27895  INTEGER(INTG), INTENT(IN) :: DOFOrderType
27896  INTEGER(INTG), INTENT(OUT) :: err
27897  !Local variables
27898 
27899  enters("cmfe_Field_DOFOrderTypeSetObj",err,error,*999)
27900 
27901  CALL field_dof_order_type_set(field%field,variabletype,dofordertype,err,error,*999)
27902 
27903  exits("cmfe_Field_DOFOrderTypeSetObj")
27904  RETURN
27905 999 errorsexits("cmfe_Field_DOFOrderTypeSetObj",err,error)
27906  CALL cmfe_handleerror(err,error)
27907  RETURN
27908 
27909  END SUBROUTINE cmfe_field_dofordertypesetobj
27910 
27911  !
27912  !================================================================================================================================
27913  !
27914 
27916  SUBROUTINE cmfe_field_createfinishnumber(regionUserNumber,fieldUserNumber,err)
27917  !DLLEXPORT(cmfe_Field_CreateFinishNumber)
27918 
27919  !Argument variables
27920  INTEGER(INTG), INTENT(IN) :: regionUserNumber
27921  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
27922  INTEGER(INTG), INTENT(OUT) :: err
27923  !Local variables
27924  TYPE(field_type), POINTER :: FIELD
27925  TYPE(region_type), POINTER :: REGION
27926  TYPE(varying_string) :: localError
27927 
27928  enters("cmfe_Field_CreateFinishNumber",err,error,*999)
27929 
27930  NULLIFY(region)
27931  NULLIFY(field)
27932  CALL region_user_number_find(regionusernumber,region,err,error,*999)
27933  IF(ASSOCIATED(region)) THEN
27934  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
27935  IF(ASSOCIATED(field)) THEN
27936  CALL field_create_finish(field,err,error,*999)
27937  ELSE
27938  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
27939  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
27940  CALL flagerror(localerror,err,error,*999)
27941  END IF
27942  ELSE
27943  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
27944  CALL flagerror(localerror,err,error,*999)
27945  END IF
27946 
27947 #ifdef TAUPROF
27948  CALL tau_static_phase_stop('Field Create')
27949 #endif
27950 
27951  exits("cmfe_Field_CreateFinishNumber")
27952  RETURN
27953 999 errorsexits("cmfe_Field_CreateFinishNumber",err,error)
27954  CALL cmfe_handleerror(err,error)
27955  RETURN
27956 
27957  END SUBROUTINE cmfe_field_createfinishnumber
27958 
27959  !
27960  !================================================================================================================================
27961  !
27962 
27964  SUBROUTINE cmfe_field_createfinishobj(field,err)
27965  !DLLEXPORT(cmfe_Field_CreateFinishObj)
27966 
27967  !Argument variables
27968  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
27969  INTEGER(INTG), INTENT(OUT) :: err
27970  !Local variables
27971 
27972  enters("cmfe_Field_CreateFinishObj",err,error,*999)
27973 
27974  CALL field_create_finish(field%field,err,error,*999)
27975 
27976 #ifdef TAUPROF
27977  CALL tau_static_phase_stop('field Create')
27978 #endif
27979 
27980  exits("cmfe_Field_CreateFinishObj")
27981  RETURN
27982 999 errorsexits("cmfe_Field_CreateFinishObj",err,error)
27983  CALL cmfe_handleerror(err,error)
27984  RETURN
27985 
27986  END SUBROUTINE cmfe_field_createfinishobj
27987 
27988  !
27989  !================================================================================================================================
27990  !
27991 
27993  SUBROUTINE cmfe_field_createstartnumber(fieldUserNumber,regionUserNumber,err)
27994  !DLLEXPORT(cmfe_Field_CreateStartNumber)
27995 
27996  !Argument variables
27997  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
27998  INTEGER(INTG), INTENT(IN) :: regionUserNumber
27999  INTEGER(INTG), INTENT(OUT) :: err
28000  !Local variables
28001  TYPE(field_type), POINTER :: FIELD
28002  TYPE(region_type), POINTER :: REGION
28003  TYPE(varying_string) :: localError
28004 
28005  enters("cmfe_Field_CreateStartNumber",err,error,*999)
28006 
28007 #ifdef TAUPROF
28008  CALL tau_static_phase_start('Field Create')
28009 #endif
28010 
28011  NULLIFY(region)
28012  NULLIFY(field)
28013  CALL region_user_number_find(regionusernumber,region,err,error,*999)
28014  IF(ASSOCIATED(region)) THEN
28015  CALL field_create_start(fieldusernumber,region,field,err,error,*999)
28016  ELSE
28017  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
28018  CALL flagerror(localerror,err,error,*999)
28019  END IF
28020 
28021  exits("cmfe_Field_CreateStartNumber")
28022  RETURN
28023 999 errorsexits("cmfe_Field_CreateStartNumber",err,error)
28024  CALL cmfe_handleerror(err,error)
28025  RETURN
28026 
28027  END SUBROUTINE cmfe_field_createstartnumber
28028 
28029  !
28030  !================================================================================================================================
28031  !
28032 
28034  SUBROUTINE cmfe_field_createstartinterfaceobj(fieldUserNumber,interface,field,err)
28035  !DLLEXPORT(cmfe_Field_CreateStartInterfaceObj)
28036 
28037  !Argument variables
28038  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
28039  TYPE(cmfe_interfacetype), INTENT(IN) :: Interface
28040  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
28041  INTEGER(INTG), INTENT(OUT) :: err
28042  !Local variables
28043 
28044  enters("cmfe_Field_CreateStartInterfaceObj",err,error,*999)
28045 
28046  CALL field_create_start(fieldusernumber,interface%interface,field%field,err,error,*999)
28047 
28048  exits("cmfe_Field_CreateStartInterfaceObj")
28049  RETURN
28050 999 errorsexits("cmfe_Field_CreateStartInterfaceObj",err,error)
28051  CALL cmfe_handleerror(err,error)
28052  RETURN
28053 
28054  END SUBROUTINE cmfe_field_createstartinterfaceobj
28055 
28056  !
28057  !================================================================================================================================
28058  !
28059 
28061  SUBROUTINE cmfe_field_createstartregionobj(fieldUserNumber,region,field,err)
28062  !DLLEXPORT(cmfe_Field_CreateStartRegionObj)
28063 
28064  !Argument variables
28065  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
28066  TYPE(cmfe_regiontype), INTENT(IN) :: region
28067  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
28068  INTEGER(INTG), INTENT(OUT) :: err
28069  !Local variables
28070 
28071  enters("cmfe_Field_CreateStartRegionObj",err,error,*999)
28072 
28073 #ifdef TAUPROF
28074  CALL tau_static_phase_start('field Create')
28075 #endif
28076 
28077  CALL field_create_start(fieldusernumber,region%region,field%field,err,error,*999)
28078 
28079  exits("cmfe_Field_CreateStartRegionObj")
28080  RETURN
28081 999 errorsexits("cmfe_Field_CreateStartRegionObj",err,error)
28082  CALL cmfe_handleerror(err,error)
28083  RETURN
28084 
28085  END SUBROUTINE cmfe_field_createstartregionobj
28086 
28087  !
28088  !================================================================================================================================
28089  !
28090 
28092  SUBROUTINE cmfe_field_dependenttypegetnumber(regionUserNumber,fieldUserNumber,dependentType,err)
28093  !DLLEXPORT(cmfe_Field_DependentTypeGetNumber)
28094 
28095  !Argument variables
28096  INTEGER(INTG), INTENT(IN) :: regionUserNumber
28097  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
28098  INTEGER(INTG), INTENT(OUT) :: dependentType
28099  INTEGER(INTG), INTENT(OUT) :: err
28100  !Local variables
28101  TYPE(field_type), POINTER :: FIELD
28102  TYPE(region_type), POINTER :: REGION
28103  TYPE(varying_string) :: localError
28104 
28105  enters("cmfe_Field_DependentTypeGetNumber",err,error,*999)
28106 
28107  NULLIFY(region)
28108  NULLIFY(field)
28109  CALL region_user_number_find(regionusernumber,region,err,error,*999)
28110  IF(ASSOCIATED(region)) THEN
28111  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
28112  IF(ASSOCIATED(field)) THEN
28113  CALL field_dependent_type_get(field,dependenttype,err,error,*999)
28114  ELSE
28115  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
28116  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
28117  CALL flagerror(localerror,err,error,*999)
28118  END IF
28119  ELSE
28120  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
28121  CALL flagerror(localerror,err,error,*999)
28122  END IF
28123 
28124  exits("cmfe_Field_DependentTypeGetNumber")
28125  RETURN
28126 999 errorsexits("cmfe_Field_DependentTypeGetNumber",err,error)
28127  CALL cmfe_handleerror(err,error)
28128  RETURN
28129 
28130  END SUBROUTINE cmfe_field_dependenttypegetnumber
28131 
28132  !
28133  !================================================================================================================================
28134  !
28135 
28137  SUBROUTINE cmfe_field_dependenttypegetobj(field,dependentType,err)
28138  !DLLEXPORT(cmfe_Field_DependentTypeGetObj)
28139 
28140  !Argument variables
28141  TYPE(cmfe_fieldtype), INTENT(IN) :: field
28142  INTEGER(INTG), INTENT(OUT) :: dependentType
28143  INTEGER(INTG), INTENT(OUT) :: err
28144  !Local variables
28145 
28146  enters("cmfe_Field_DependentTypeGetObj",err,error,*999)
28147 
28148  CALL field_dependent_type_get(field%field,dependenttype,err,error,*999)
28149 
28150  exits("cmfe_Field_DependentTypeGetObj")
28151  RETURN
28152 999 errorsexits("cmfe_Field_DependentTypeGetObj",err,error)
28153  CALL cmfe_handleerror(err,error)
28154  RETURN
28155 
28156  END SUBROUTINE cmfe_field_dependenttypegetobj
28157 
28158  !
28159  !================================================================================================================================
28160  !
28161 
28163  SUBROUTINE cmfe_field_dependenttypesetnumber(regionUserNumber,fieldUserNumber,dependentType,err)
28164  !DLLEXPORT(cmfe_Field_DependentTypeSetNumber)
28165 
28166  !Argument variables
28167  INTEGER(INTG), INTENT(IN) :: regionUserNumber
28168  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
28169  INTEGER(INTG), INTENT(IN) :: dependentType
28170  INTEGER(INTG), INTENT(OUT) :: err
28171  !Local variables
28172  TYPE(field_type), POINTER :: FIELD
28173  TYPE(region_type), POINTER :: REGION
28174  TYPE(varying_string) :: localError
28175 
28176  enters("cmfe_Field_DependentTypeSetNumber",err,error,*999)
28177 
28178  NULLIFY(region)
28179  NULLIFY(field)
28180  CALL region_user_number_find(regionusernumber,region,err,error,*999)
28181  IF(ASSOCIATED(region)) THEN
28182  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
28183  IF(ASSOCIATED(field)) THEN
28184  CALL field_dependent_type_set(field,dependenttype,err,error,*999)
28185  ELSE
28186  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
28187  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
28188  CALL flagerror(localerror,err,error,*999)
28189  END IF
28190  ELSE
28191  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
28192  CALL flagerror(localerror,err,error,*999)
28193  END IF
28194 
28195  exits("cmfe_Field_DependentTypeSetNumber")
28196  RETURN
28197 999 errorsexits("cmfe_Field_DependentTypeSetNumber",err,error)
28198  CALL cmfe_handleerror(err,error)
28199  RETURN
28200 
28201  END SUBROUTINE cmfe_field_dependenttypesetnumber
28202 
28203  !
28204  !================================================================================================================================
28205  !
28206 
28208  SUBROUTINE cmfe_field_dependenttypesetobj(field,dependentType,err)
28209  !DLLEXPORT(cmfe_Field_DependentTypeSetObj)
28210 
28211  !Argument variables
28212  TYPE(cmfe_fieldtype), INTENT(IN) :: field
28213  INTEGER(INTG), INTENT(IN) :: dependentType
28214  INTEGER(INTG), INTENT(OUT) :: err
28215  !Local variables
28216 
28217  enters("cmfe_Field_DependentTypeSetObj",err,error,*999)
28218 
28219  CALL field_dependent_type_set(field%field,dependenttype,err,error,*999)
28220 
28221  exits("cmfe_Field_DependentTypeSetObj")
28222  RETURN
28223 999 errorsexits("cmfe_Field_DependentTypeSetObj",err,error)
28224  CALL cmfe_handleerror(err,error)
28225  RETURN
28226 
28227  END SUBROUTINE cmfe_field_dependenttypesetobj
28228 
28229  !
28230  !================================================================================================================================
28231  !
28232 
28234  SUBROUTINE cmfe_field_destroynumber(regionUserNumber,fieldUserNumber,err)
28235  !DLLEXPORT(cmfe_Field_DestroyNumber)
28236 
28237  !Argument variables
28238  INTEGER(INTG), INTENT(IN) :: regionUserNumber
28239  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
28240  INTEGER(INTG), INTENT(OUT) :: err
28241  !Local variables
28242  TYPE(field_type), POINTER :: FIELD
28243  TYPE(region_type), POINTER :: REGION
28244  TYPE(varying_string) :: localError
28245 
28246  enters("cmfe_Field_DestroyNumber",err,error,*999)
28247 
28248  NULLIFY(region)
28249  NULLIFY(field)
28250  CALL region_user_number_find(regionusernumber,region,err,error,*999)
28251  IF(ASSOCIATED(region)) THEN
28252  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
28253  IF(ASSOCIATED(field)) THEN
28254  CALL field_destroy(field,err,error,*999)
28255  ELSE
28256  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
28257  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
28258  CALL flagerror(localerror,err,error,*999)
28259  END IF
28260  ELSE
28261  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
28262  CALL flagerror(localerror,err,error,*999)
28263  END IF
28264 
28265  exits("cmfe_Field_DestroyNumber")
28266  RETURN
28267 999 errorsexits("cmfe_Field_DestroyNumber",err,error)
28268  CALL cmfe_handleerror(err,error)
28269  RETURN
28270 
28271  END SUBROUTINE cmfe_field_destroynumber
28272 
28273  !
28274  !================================================================================================================================
28275  !
28276 
28278  SUBROUTINE cmfe_field_destroyobj(field,err)
28279  !DLLEXPORT(cmfe_Field_DestroyObj)
28280 
28281  !Argument variables
28282  TYPE(cmfe_fieldtype), INTENT(IN) :: field
28283  INTEGER(INTG), INTENT(OUT) :: err
28284  !Local variables
28285 
28286  enters("cmfe_Field_DestroyObj",err,error,*999)
28287 
28288  CALL field_destroy(field%field,err,error,*999)
28289 
28290  exits("cmfe_Field_DestroyObj")
28291  RETURN
28292 999 errorsexits("cmfe_Field_DestroyObj",err,error)
28293  CALL cmfe_handleerror(err,error)
28294  RETURN
28295 
28296  END SUBROUTINE cmfe_field_destroyobj
28297 
28298  !
28299  !================================================================================================================================
28300  !
28301 
28303  SUBROUTINE cmfe_field_dimensiongetnumber(regionUserNumber,fieldUserNumber,variableType,dimension,err)
28304  !DLLEXPORT(cmfe_Field_DimensionGetNumber)
28305 
28306  !Argument variables
28307  INTEGER(INTG), INTENT(IN) :: regionUserNumber
28308  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
28309  INTEGER(INTG), INTENT(IN) :: variableType
28310  INTEGER(INTG), INTENT(OUT) :: dimension
28311  INTEGER(INTG), INTENT(OUT) :: err
28312  !Local variables
28313  TYPE(field_type), POINTER :: FIELD
28314  TYPE(region_type), POINTER :: REGION
28315  TYPE(varying_string) :: localError
28316 
28317  enters("cmfe_Field_DimensionGetNumber",err,error,*999)
28318 
28319  NULLIFY(region)
28320  NULLIFY(field)
28321  CALL region_user_number_find(regionusernumber,region,err,error,*999)
28322  IF(ASSOCIATED(region)) THEN
28323  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
28324  IF(ASSOCIATED(field)) THEN
28325  CALL field_dimension_get(field,variabletype,dimension,err,error,*999)
28326  ELSE
28327  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
28328  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
28329  CALL flagerror(localerror,err,error,*999)
28330  END IF
28331  ELSE
28332  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
28333  CALL flagerror(localerror,err,error,*999)
28334  END IF
28335 
28336  exits("cmfe_Field_DimensionGetNumber")
28337  RETURN
28338 999 errorsexits("cmfe_Field_DimensionGetNumber",err,error)
28339  CALL cmfe_handleerror(err,error)
28340  RETURN
28341 
28342  END SUBROUTINE cmfe_field_dimensiongetnumber
28343 
28344  !
28345  !================================================================================================================================
28346  !
28347 
28349  SUBROUTINE cmfe_field_dimensiongetobj(field,variableType,dimension,err)
28350  !DLLEXPORT(cmfe_Field_DimensionGetObj)
28351 
28352  !Argument variables
28353  TYPE(cmfe_fieldtype), INTENT(IN) :: field
28354  INTEGER(INTG), INTENT(IN) :: variableType
28355  INTEGER(INTG), INTENT(OUT) :: Dimension
28356  INTEGER(INTG), INTENT(OUT) :: err
28357  !Local variables
28358 
28359  enters("cmfe_Field_DimensionGetObj",err,error,*999)
28360 
28361  CALL field_dimension_get(field%field,variabletype,dimension,err,error,*999)
28362 
28363  exits("cmfe_Field_DimensionGetObj")
28364  RETURN
28365 999 errorsexits("cmfe_Field_DimensionGetObj",err,error)
28366  CALL cmfe_handleerror(err,error)
28367  RETURN
28368 
28369  END SUBROUTINE cmfe_field_dimensiongetobj
28370 
28371  !
28372  !================================================================================================================================
28373  !
28374 
28376  SUBROUTINE cmfe_field_dimensionsetnumber(regionUserNumber,fieldUserNumber,variableType,dimension,err)
28377  !DLLEXPORT(cmfe_Field_DimensionSetNumber)
28378 
28379  !Argument variables
28380  INTEGER(INTG), INTENT(IN) :: regionUserNumber
28381  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
28382  INTEGER(INTG), INTENT(IN) :: variableType
28383  INTEGER(INTG), INTENT(IN) :: Dimension
28384  INTEGER(INTG), INTENT(OUT) :: err
28385  !Local variables
28386  TYPE(field_type), POINTER :: FIELD
28387  TYPE(region_type), POINTER :: REGION
28388  TYPE(varying_string) :: localError
28389 
28390  enters("cmfe_Field_DimensionSetNumber",err,error,*999)
28391 
28392  NULLIFY(region)
28393  NULLIFY(field)
28394  CALL region_user_number_find(regionusernumber,region,err,error,*999)
28395  IF(ASSOCIATED(region)) THEN
28396  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
28397  IF(ASSOCIATED(field)) THEN
28398  CALL field_dimension_set(field,variabletype,dimension,err,error,*999)
28399  ELSE
28400  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
28401  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
28402  CALL flagerror(localerror,err,error,*999)
28403  END IF
28404  ELSE
28405  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
28406  CALL flagerror(localerror,err,error,*999)
28407  END IF
28408 
28409  exits("cmfe_Field_DimensionSetNumber")
28410  RETURN
28411 999 errorsexits("cmfe_Field_DimensionSetNumber",err,error)
28412  CALL cmfe_handleerror(err,error)
28413  RETURN
28414 
28415  END SUBROUTINE cmfe_field_dimensionsetnumber
28416 
28417  !
28418  !================================================================================================================================
28419  !
28420 
28422  SUBROUTINE cmfe_field_dimensionsetobj(field,variableType,dimension,err)
28423  !DLLEXPORT(cmfe_Field_DimensionSetObj)
28424 
28425  !Argument variables
28426  TYPE(cmfe_fieldtype), INTENT(IN) :: field
28427  INTEGER(INTG), INTENT(IN) :: variableType
28428  INTEGER(INTG), INTENT(IN) :: dimension
28429  INTEGER(INTG), INTENT(OUT) :: err
28430  !Local variables
28431 
28432  enters("cmfe_Field_DimensionSetObj",err,error,*999)
28433 
28434  CALL field_dimension_set(field%field,variabletype,dimension,err,error,*999)
28435 
28436  exits("cmfe_Field_DimensionSetObj")
28437  RETURN
28438 999 errorsexits("cmfe_Field_DimensionSetObj",err,error)
28439  CALL cmfe_handleerror(err,error)
28440  RETURN
28441 
28442  END SUBROUTINE cmfe_field_dimensionsetobj
28443 
28444  !
28445  !================================================================================================================================
28446  !
28447 
28449  SUBROUTINE cmfe_field_geometricfieldgetnumber(regionUserNumber,fieldUserNumber,geometricFieldUserNumber,err)
28450  !DLLEXPORT(cmfe_Field_GeometricFieldGetNumber)
28451 
28452  !Argument variables
28453  INTEGER(INTG), INTENT(IN) :: regionUserNumber
28454  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
28455  INTEGER(INTG), INTENT(OUT) :: geometricFieldUserNumber
28456  INTEGER(INTG), INTENT(OUT) :: err
28457  !Local variables
28458  TYPE(field_type), POINTER :: FIELD,GEOMETRIC_FIELD
28459  TYPE(region_type), POINTER :: REGION
28460  TYPE(varying_string) :: localError
28461 
28462  enters("cmfe_Field_GeometricFieldGetNumber",err,error,*999)
28463 
28464  NULLIFY(region)
28465  NULLIFY(field)
28466  NULLIFY(geometric_field)
28467  CALL region_user_number_find(regionusernumber,region,err,error,*999)
28468  IF(ASSOCIATED(region)) THEN
28469  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
28470  IF(ASSOCIATED(field)) THEN
28471  CALL field_geometric_field_get(field,geometric_field,err,error,*999)
28472  geometricfieldusernumber=geometric_field%USER_NUMBER
28473  ELSE
28474  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
28475  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
28476  CALL flagerror(localerror,err,error,*999)
28477  END IF
28478  ELSE
28479  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
28480  CALL flagerror(localerror,err,error,*999)
28481  END IF
28482 
28483  exits("cmfe_Field_GeometricFieldGetNumber")
28484  RETURN
28485 999 errorsexits("cmfe_Field_GeometricFieldGetNumber",err,error)
28486  CALL cmfe_handleerror(err,error)
28487  RETURN
28488 
28489  END SUBROUTINE cmfe_field_geometricfieldgetnumber
28490 
28491  !
28492  !================================================================================================================================
28493  !
28494 
28496  SUBROUTINE cmfe_field_geometricfieldgetobj(field,geometricField,err)
28497  !DLLEXPORT(cmfe_Field_GeometricFieldGetObj)
28498 
28499  !Argument variables
28500  TYPE(cmfe_fieldtype), INTENT(IN) :: field
28501  TYPE(cmfe_fieldtype), INTENT(INOUT) :: geometricField
28502  INTEGER(INTG), INTENT(OUT) :: err
28503  !Local variables
28504 
28505  enters("cmfe_Field_GeometricFieldGetObj",err,error,*999)
28506 
28507  CALL field_geometric_field_get(field%field,geometricfield%field,err,error,*999)
28508 
28509  exits("cmfe_Field_GeometricFieldGetObj")
28510  RETURN
28511 999 errorsexits("cmfe_Field_GeometricFieldGetObj",err,error)
28512  CALL cmfe_handleerror(err,error)
28513  RETURN
28514 
28515  END SUBROUTINE cmfe_field_geometricfieldgetobj
28516 
28517  !
28518  !================================================================================================================================
28519  !
28520 
28522  SUBROUTINE cmfe_field_geometricfieldsetnumber(regionUserNumber,fieldUserNumber,geometricFieldUserNumber,err)
28523  !DLLEXPORT(cmfe_Field_GeometricFieldSetNumber)
28524 
28525  !Argument variables
28526  INTEGER(INTG), INTENT(IN) :: regionUserNumber
28527  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
28528  INTEGER(INTG), INTENT(IN) :: geometricFieldUserNumber
28529  INTEGER(INTG), INTENT(OUT) :: err
28530  !Local variables
28531  TYPE(field_type), POINTER :: FIELD,GEOMETRIC_FIELD
28532  TYPE(region_type), POINTER :: REGION
28533  TYPE(varying_string) :: localError
28534 
28535  enters("cmfe_Field_GeometricFieldSetNumber",err,error,*999)
28536 
28537  NULLIFY(region)
28538  NULLIFY(field)
28539  NULLIFY(geometric_field)
28540  CALL region_user_number_find(regionusernumber,region,err,error,*999)
28541  IF(ASSOCIATED(region)) THEN
28542  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
28543  IF(ASSOCIATED(field)) THEN
28544  CALL field_user_number_find(geometricfieldusernumber,region,geometric_field,err,error,*999)
28545  IF(ASSOCIATED(geometric_field)) THEN
28546  CALL field_geometric_field_set(field,geometric_field,err,error,*999)
28547  ELSE
28548  localerror="A geometric field with an user number of "// &
28549  & trim(numbertovstring(geometricfieldusernumber,"*",err,error))// &
28550  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
28551  CALL flagerror(localerror,err,error,*999)
28552  END IF
28553  ELSE
28554  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
28555  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
28556  CALL flagerror(localerror,err,error,*999)
28557  END IF
28558  ELSE
28559  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
28560  CALL flagerror(localerror,err,error,*999)
28561  END IF
28562 
28563  exits("cmfe_Field_GeometricFieldSetNumber")
28564  RETURN
28565 999 errorsexits("cmfe_Field_GeometricFieldSetNumber",err,error)
28566  CALL cmfe_handleerror(err,error)
28567  RETURN
28568 
28569  END SUBROUTINE cmfe_field_geometricfieldsetnumber
28570 
28571  !
28572  !================================================================================================================================
28573  !
28574 
28576  SUBROUTINE cmfe_field_geometricfieldsetobj(field,geometricField,err)
28577  !DLLEXPORT(cmfe_Field_GeometricFieldSetObj)
28578 
28579  !Argument variables
28580  TYPE(cmfe_fieldtype), INTENT(IN) :: field
28581  TYPE(cmfe_fieldtype), INTENT(IN) :: geometricField
28582  INTEGER(INTG), INTENT(OUT) :: err
28583  !Local variables
28584 
28585  enters("cmfe_Field_GeometricFieldSetObj",err,error,*999)
28586 
28587  CALL field_geometric_field_set(field%field,geometricfield%field,err,error,*999)
28588 
28589  exits("cmfe_Field_GeometricFieldSetObj")
28590  RETURN
28591 999 errorsexits("cmfe_Field_GeometricFieldSetObj",err,error)
28592  CALL cmfe_handleerror(err,error)
28593  RETURN
28594 
28595  END SUBROUTINE cmfe_field_geometricfieldsetobj
28596 
28597  !
28598  !================================================================================================================================
28599  !
28600 
28602  SUBROUTINE cmfe_field_geometricparameterselementlinelengthgetnumber(regionUserNumber,geometricFieldUserNumber,elementNumber, &
28603  & elementlinenumber,linelength,err)
28604  !DLLEXPORT(cmfe_Field_GeometricParametersElementLineLengthGetNumber)
28605 
28606  !Argument variables
28607  INTEGER(INTG), INTENT(IN) :: regionUserNumber
28608  INTEGER(INTG), INTENT(IN) :: geometricFieldUserNumber
28609  INTEGER(INTG), INTENT(IN) :: elementNumber
28610  INTEGER(INTG), INTENT(IN) :: elementLineNumber
28611  REAL(DP), INTENT(OUT) :: lineLength
28612  INTEGER(INTG), INTENT(OUT) :: err
28613  !Local variables
28614  TYPE(field_type), POINTER :: geometricField
28615  TYPE(region_type), POINTER :: region
28616  TYPE(varying_string) :: localError
28617 
28618  enters("cmfe_Field_GeometricParametersElementLineLengthGetNumber",err,error,*999)
28619 
28620  NULLIFY(region)
28621  NULLIFY(geometricfield)
28622  CALL region_user_number_find(regionusernumber,region,err,error,*999)
28623  IF(ASSOCIATED(region)) THEN
28624  CALL field_user_number_find(geometricfieldusernumber,region,geometricfield,err,error,*999)
28625  IF(ASSOCIATED(geometricfield)) THEN
28626  CALL field_geometricparameterselementlinelengthget(geometricfield,elementnumber,elementlinenumber,linelength, &
28627  & err,error,*999)
28628  ELSE
28629  localerror="A field with an user number of "//trim(numbertovstring(geometricfieldusernumber,"*",err,error))// &
28630  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
28631  CALL flagerror(localerror,err,error,*999)
28632  END IF
28633  ELSE
28634  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
28635  CALL flagerror(localerror,err,error,*999)
28636  END IF
28637 
28638  exits("cmfe_Field_GeometricParametersElementLineLengthGetNumber")
28639  RETURN
28640 999 errors("cmfe_Field_GeometricParametersElementLineLengthGetNumber",err,error)
28641  exits("cmfe_Field_GeometricParametersElementLineLengthGetNumber")
28642  CALL cmfe_handleerror(err,error)
28643  RETURN
28644 
28646  !
28647  !================================================================================================================================
28648  !
28649 
28651  SUBROUTINE cmfe_field_geometricparameterselementvolumegetnumber(regionUserNumber,geometricFieldUserNumber,elementNumber, &
28652  & elementvolume,err)
28653  !DLLEXPORT(cmfe_Field_GeometricParametersElementVolumeGetNumber)
28654 
28655  !Argument variables
28656  INTEGER(INTG), INTENT(IN) :: regionUserNumber
28657  INTEGER(INTG), INTENT(IN) :: geometricFieldUserNumber
28658  INTEGER(INTG), INTENT(IN) :: elementNumber
28659  REAL(DP), INTENT(OUT) :: elementVolume
28660  INTEGER(INTG), INTENT(OUT) :: err
28661  !Local variables
28662  TYPE(field_type), POINTER :: geometricField
28663  TYPE(region_type), POINTER :: region
28664  TYPE(varying_string) :: localError
28665 
28666  enters("cmfe_Field_GeometricParametersElementVolumeGetNumber",err,error,*999)
28667 
28668  NULLIFY(region)
28669  NULLIFY(geometricfield)
28670  CALL region_user_number_find(regionusernumber,region,err,error,*999)
28671  IF(ASSOCIATED(region)) THEN
28672  CALL field_user_number_find(geometricfieldusernumber,region,geometricfield,err,error,*999)
28673  IF(ASSOCIATED(geometricfield)) THEN
28674  CALL field_geometricparameterselementvolumeget(geometricfield,elementnumber,elementvolume, &
28675  & err,error,*999)
28676  ELSE
28677  localerror="A field with an user number of "//trim(numbertovstring(geometricfieldusernumber,"*",err,error))// &
28678  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
28679  CALL flagerror(localerror,err,error,*999)
28680  END IF
28681  ELSE
28682  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
28683  CALL flagerror(localerror,err,error,*999)
28684  END IF
28685 
28686  exits("cmfe_Field_GeometricParametersElementVolumeGetNumber")
28687  RETURN
28688 999 errors("cmfe_Field_GeometricParametersElementVolumeGetNumber",err,error)
28689  exits("cmfe_Field_GeometricParametersElementVolumeGetNumber")
28690  CALL cmfe_handleerror(err,error)
28691  RETURN
28692 
28694 
28695  !
28696  !================================================================================================================================
28697  !
28698 
28700  SUBROUTINE cmfe_field_geometricparameterselementlinelengthgetobj(geometricField,elementNumber,elementLineNumber,lineLength,err)
28701  !DLLEXPORT(cmfe_Field_GeometricParametersElementLineLengthGetObj)
28702 
28703  !Argument variables
28704  TYPE(cmfe_fieldtype), INTENT(IN) :: geometricField
28705  INTEGER(INTG), INTENT(IN) :: elementNumber
28706  INTEGER(INTG), INTENT(IN) :: elementLineNumber
28707  REAL(DP), INTENT(OUT) :: lineLength
28708  INTEGER(INTG), INTENT(OUT) :: err
28709  !Local variables
28710 
28711  enters("cmfe_Field_GeometricParametersElementLineLengthGetObj",err,error,*999)
28712 
28713  CALL field_geometricparameterselementlinelengthget(geometricfield%field,elementnumber,elementlinenumber,linelength, &
28714  & err,error,*999)
28715 
28716  exits("cmfe_Field_GeometricParametersElementLineLengthGetObj")
28717  RETURN
28718 999 errors("cmfe_Field_GeometricParametersElementLineLengthGetObj",err,error)
28719  exits("cmfe_Field_GeometricParametersElementLineLengthGetObj")
28720  CALL cmfe_handleerror(err,error)
28721  RETURN
28722 
28724 
28725 
28726  !
28727  !================================================================================================================================
28728  !
28729 
28731  SUBROUTINE cmfe_field_geometricparameterselementvolumegetobj(geometricField,elementNumber,elementVolume,err)
28732  !DLLEXPORT(cmfe_Field_GeometricParametersElementVolumeGetObj)
28733 
28734  !Argument variables
28735  TYPE(cmfe_fieldtype), INTENT(IN) :: geometricField
28736  INTEGER(INTG), INTENT(IN) :: elementNumber
28737  REAL(DP), INTENT(OUT) :: elementVolume
28738  INTEGER(INTG), INTENT(OUT) :: err
28739  !Local variables
28740 
28741  enters("cmfe_Field_GeometricParametersElementVolumeGetObj",err,error,*999)
28742 
28743  CALL field_geometricparameterselementvolumeget(geometricfield%field,elementnumber,elementvolume, &
28744  & err,error,*999)
28745 
28746  exits("cmfe_Field_GeometricParametersElementVolumeGetObj")
28747  RETURN
28748 999 errors("cmfe_Field_GeometricParametersElementVolumeGetObj",err,error)
28749  exits("cmfe_Field_GeometricParametersElementVolumeGetObj")
28750  CALL cmfe_handleerror(err,error)
28751  RETURN
28752 
28754 
28755 
28756  !
28757  !================================================================================================================================
28758  !
28759 
28761  SUBROUTINE cmfe_field_parametersetnodescalefactorgetnumber(regionUserNumber,fieldUserNumber,variableType, &
28762  & versionnumber,derivativenumber,nodeusernumber,componentnumber,scalefactor,err)
28763  !DLLEXPORT(cmfe_Field_ParameterSetNodeScaleFactorGetNumber)
28764 
28765  !Argument variables
28766  INTEGER(INTG), INTENT(IN) :: regionUserNumber
28767  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
28768  INTEGER(INTG), INTENT(IN) :: variableType
28769  INTEGER(INTG), INTENT(IN) :: versionNumber
28770  INTEGER(INTG), INTENT(IN) :: derivativeNumber
28771  INTEGER(INTG), INTENT(IN) :: nodeUserNumber
28772  INTEGER(INTG), INTENT(IN) :: componentNumber
28773  REAL(DP), INTENT(OUT) :: scaleFactor
28774  INTEGER(INTG), INTENT(OUT) :: err
28775  !Local variables
28776  TYPE(region_type), POINTER :: region
28777  TYPE(field_type), POINTER :: field
28778  TYPE(varying_string) :: localError
28779 
28780  enters("cmfe_Field_ParameterSetNodeScaleFactorGetNumber",err,error,*999)
28781 
28782  NULLIFY(region)
28783  NULLIFY(field)
28784  CALL region_user_number_find(regionusernumber,region,err,error,*999)
28785  IF(ASSOCIATED(region)) THEN
28786  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
28787  IF(ASSOCIATED(field)) THEN
28788  CALL field_parametersetnodescalefactorget(field,variabletype,versionnumber, &
28789  & derivativenumber,nodeusernumber,componentnumber,scalefactor,err,error,*999)
28790  ELSE
28791  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
28792  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
28793  CALL flagerror(localerror,err,error,*999)
28794  END IF
28795  ELSE
28796  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
28797  CALL flagerror(localerror,err,error,*999)
28798  END IF
28799 
28800  exits("cmfe_Field_ParameterSetNodeScaleFactorGetNumber")
28801  RETURN
28802 999 errors("cmfe_Field_ParameterSetNodeScaleFactorGetNumber",err,error)
28803  exits("cmfe_Field_ParameterSetNodeScaleFactorGetNumber")
28804  CALL cmfe_handleerror(err,error)
28805  RETURN
28806 
28808 
28809  !
28810  !================================================================================================================================
28811  !
28812 
28814  SUBROUTINE cmfe_field_parametersetnodescalefactorgetobj(field,variableType, &
28815  & versionnumber,derivativenumber,nodeusernumber,componentnumber,scalefactor,err)
28816  !DLLEXPORT(cmfe_Field_ParameterSetNodeScaleFactorGetObj)
28817 
28818  !Argument variables
28819  TYPE(cmfe_fieldtype), INTENT(IN) :: field
28820  INTEGER(INTG), INTENT(IN) :: variableType
28821  INTEGER(INTG), INTENT(IN) :: versionNumber
28822  INTEGER(INTG), INTENT(IN) :: derivativeNumber
28823  INTEGER(INTG), INTENT(IN) :: nodeUserNumber
28824  INTEGER(INTG), INTENT(IN) :: componentNumber
28825  REAL(DP), INTENT(OUT) :: scaleFactor
28826  INTEGER(INTG), INTENT(OUT) :: err
28827  !Local variables
28828 
28829  enters("cmfe_Field_ParameterSetNodeScaleFactorGetObj",err,error,*999)
28830 
28831  CALL field_parametersetnodescalefactorget(field%field,variabletype,versionnumber, &
28832  & derivativenumber,nodeusernumber,componentnumber,scalefactor,err,error,*999)
28833 
28834  exits("cmfe_Field_ParameterSetNodeScaleFactorGetObj")
28835  RETURN
28836 999 errors("cmfe_Field_ParameterSetNodeScaleFactorGetObj",err,error)
28837  exits("cmfe_Field_ParameterSetNodeScaleFactorGetObj")
28838  CALL cmfe_handleerror(err,error)
28839  RETURN
28840 
28842 
28843 
28844  !
28845  !================================================================================================================================
28846  !
28847 
28849  SUBROUTINE cmfe_field_parametersetnodescalefactorsgetnumber(regionUserNumber,fieldUserNumber,variableType, &
28850  & meshcomponentnumber,scalefactors,err)
28851  !DLLEXPORT(cmfe_Field_ParameterSetNodeScaleFactorsGetNumber)
28852 
28853  !Argument variables
28854  INTEGER(INTG), INTENT(IN) :: regionUserNumber
28855  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
28856  INTEGER(INTG), INTENT(IN) :: variableType
28857  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
28858  REAL(DP), INTENT(OUT) :: scaleFactors(:)
28859  INTEGER(INTG), INTENT(OUT) :: err
28860  !Local variables
28861  TYPE(region_type), POINTER :: region
28862  TYPE(field_type), POINTER :: field
28863  TYPE(varying_string) :: localError
28864 
28865  enters("cmfe_Field_ParameterSetNodeScaleFactorsGetNumber",err,error,*999)
28866 
28867  NULLIFY(region)
28868  NULLIFY(field)
28869  CALL region_user_number_find(regionusernumber,region,err,error,*999)
28870  IF(ASSOCIATED(region)) THEN
28871  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
28872  IF(ASSOCIATED(field)) THEN
28873  CALL field_parametersetnodescalefactorsget(field,variabletype,meshcomponentnumber,scalefactors,err,error,*999)
28874  ELSE
28875  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
28876  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
28877  CALL flagerror(localerror,err,error,*999)
28878  END IF
28879  ELSE
28880  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
28881  CALL flagerror(localerror,err,error,*999)
28882  END IF
28883 
28884  exits("cmfe_Field_ParameterSetNodeScaleFactorsGetNumber")
28885  RETURN
28886 999 errors("cmfe_Field_ParameterSetNodeScaleFactorsGetNumber",err,error)
28887  exits("cmfe_Field_ParameterSetNodeScaleFactorsGetNumber")
28888  CALL cmfe_handleerror(err,error)
28889  RETURN
28890 
28892 
28893  !
28894  !================================================================================================================================
28895  !
28896 
28898  SUBROUTINE cmfe_field_parametersetnodescalefactorsgetobj(field,variableType,meshComponentNumber,scaleFactors,err)
28899  !DLLEXPORT(cmfe_Field_ParameterSetNodeScaleFactorsGetObj)
28900 
28901  !Argument variables
28902  TYPE(cmfe_fieldtype), INTENT(IN) :: field
28903  INTEGER(INTG), INTENT(IN) :: variableType
28904  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
28905  REAL(DP), INTENT(OUT) :: scaleFactors(:)
28906  INTEGER(INTG), INTENT(OUT) :: err
28907  !Local variables
28908 
28909  enters("cmfe_Field_ParameterSetNodeScaleFactorsGetObj",err,error,*999)
28910 
28911  CALL field_parametersetnodescalefactorsget(field%field,variabletype,meshcomponentnumber,scalefactors,err,error,*999)
28912 
28913  exits("cmfe_Field_ParameterSetNodeScaleFactorsGetObj")
28914  RETURN
28915 999 errors("cmfe_Field_ParameterSetNodeScaleFactorsGetObj",err,error)
28916  exits("cmfe_Field_ParameterSetNodeScaleFactorsGetObj")
28917  CALL cmfe_handleerror(err,error)
28918  RETURN
28919 
28921  !
28922  !================================================================================================================================
28923  !
28924 
28926  SUBROUTINE cmfe_field_parametersetnodenumberofscalefactordofsgetnumber(regionUserNumber,fieldUserNumber,variableType, &
28927  & meshcomponentnumber,numberofscalefactorsdofs,err)
28928  !DLLEXPORT(cmfe_Field_ParameterSetNodeNumberOfScaleFactorDofsGetNumber)
28929 
28930  !Argument variables
28931  INTEGER(INTG), INTENT(IN) :: regionUserNumber
28932  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
28933  INTEGER(INTG), INTENT(IN) :: variableType
28934  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
28935  INTEGER(INTG), INTENT(OUT) :: numberOfScaleFactorsDofs
28936  INTEGER(INTG), INTENT(OUT) :: err
28937  !Local variables
28938  TYPE(region_type), POINTER :: region
28939  TYPE(field_type), POINTER :: field
28940  TYPE(varying_string) :: localError
28941 
28942  enters("cmfe_Field_ParameterSetNodeNumberOfScaleFactorDofsGetNumber",err,error,*999)
28943 
28944  NULLIFY(region)
28945  NULLIFY(field)
28946  CALL region_user_number_find(regionusernumber,region,err,error,*999)
28947  IF(ASSOCIATED(region)) THEN
28948  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
28949  IF(ASSOCIATED(field)) THEN
28950  CALL field_parametersetnodenumberofscalefactordofsget(field,variabletype,meshcomponentnumber,numberofscalefactorsdofs, &
28951  & err,error,*999)
28952  ELSE
28953  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
28954  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
28955  CALL flagerror(localerror,err,error,*999)
28956  END IF
28957  ELSE
28958  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
28959  CALL flagerror(localerror,err,error,*999)
28960  END IF
28961 
28962  exits("cmfe_Field_ParameterSetNodeNumberOfScaleFactorDofsGetNumber")
28963  RETURN
28964 999 errors("cmfe_Field_ParameterSetNodeNumberOfScaleFactorDofsGetNumber",err,error)
28965  exits("cmfe_Field_ParameterSetNodeNumberOfScaleFactorDofsGetNumber")
28966  CALL cmfe_handleerror(err,error)
28967  RETURN
28968 
28970 
28971  !
28972  !================================================================================================================================
28973  !
28974 
28976  SUBROUTINE cmfe_field_parametersetnodenumberofscalefactordofsgetobj(field,variableType,meshComponentNumber, &
28977  & numberofscalefactorsdofs,err)
28978  !DLLEXPORT(cmfe_Field_ParameterSetNodeNumberOfScaleFactorDofsGetObj)
28979 
28980  !Argument variables
28981  TYPE(cmfe_fieldtype), INTENT(IN) :: field
28982  INTEGER(INTG), INTENT(IN) :: variableType
28983  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
28984  INTEGER(INTG), INTENT(OUT) :: numberOfScaleFactorsDofs
28985  INTEGER(INTG), INTENT(OUT) :: err
28986  !Local variables
28987 
28988  enters("cmfe_Field_ParameterSetNodeNumberOfScaleFactorDofsGetObj",err,error,*999)
28989 
28990  CALL field_parametersetnodenumberofscalefactordofsget(field%field,variabletype,meshcomponentnumber,numberofscalefactorsdofs, &
28991  & err,error,*999)
28992 
28993  exits("cmfe_Field_ParameterSetNodeNumberOfScaleFactorDofsGetObj")
28994  RETURN
28995 999 errors("cmfe_Field_ParameterSetNodeNumberOfScaleFactorDofsGetObj",err,error)
28996  exits("cmfe_Field_ParameterSetNodeNumberOfScaleFactorDofsGetObj")
28997  CALL cmfe_handleerror(err,error)
28998  RETURN
28999 
29001 
29002  !
29003  !================================================================================================================================
29004  !
29005 
29007  SUBROUTINE cmfe_field_parametersetnodescalefactorsetnumber(regionUserNumber,fieldUserNumber,variableType, &
29008  & versionnumber,derivativenumber,nodeusernumber,componentnumber,scalefactor,err)
29009  !DLLEXPORT(cmfe_Field_ParameterSetNodeScaleFactorSetNumber)
29010 
29011  !Argument variables
29012  INTEGER(INTG), INTENT(IN) :: regionUserNumber
29013  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
29014  INTEGER(INTG), INTENT(IN) :: variableType
29015  INTEGER(INTG), INTENT(IN) :: versionNumber
29016  INTEGER(INTG), INTENT(IN) :: derivativeNumber
29017  INTEGER(INTG), INTENT(IN) :: nodeUserNumber
29018  INTEGER(INTG), INTENT(IN) :: componentNumber
29019  REAL(DP), INTENT(IN) :: scaleFactor
29020  INTEGER(INTG), INTENT(OUT) :: err
29021  !Local variables
29022  TYPE(region_type), POINTER :: region
29023  TYPE(field_type), POINTER :: field
29024  TYPE(varying_string) :: localError
29025 
29026  enters("cmfe_Field_ParameterSetNodeScaleFactorSetNumber",err,error,*999)
29027 
29028  NULLIFY(region)
29029  NULLIFY(field)
29030  CALL region_user_number_find(regionusernumber,region,err,error,*999)
29031  IF(ASSOCIATED(region)) THEN
29032  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
29033  IF(ASSOCIATED(field)) THEN
29034  CALL field_parametersetnodescalefactorset(field,variabletype,versionnumber, &
29035  & derivativenumber,nodeusernumber,componentnumber,scalefactor,err,error,*999)
29036  ELSE
29037  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
29038  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
29039  CALL flagerror(localerror,err,error,*999)
29040  END IF
29041  ELSE
29042  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
29043  CALL flagerror(localerror,err,error,*999)
29044  END IF
29045 
29046  exits("cmfe_Field_ParameterSetNodeScaleFactorSetNumber")
29047  RETURN
29048 999 errors("cmfe_Field_ParameterSetNodeScaleFactorSetNumber",err,error)
29049  exits("cmfe_Field_ParameterSetNodeScaleFactorSetNumber")
29050  CALL cmfe_handleerror(err,error)
29051  RETURN
29052 
29054 
29055  !
29056  !================================================================================================================================
29057  !
29058 
29060  SUBROUTINE cmfe_field_parametersetnodescalefactorsetobj(field,variableType, &
29061  & versionnumber,derivativenumber,nodeusernumber,componentnumber,scalefactor,err)
29062  !DLLEXPORT(cmfe_Field_ParameterSetNodeScaleFactorSetObj)
29063 
29064  !Argument variables
29065  TYPE(cmfe_fieldtype), INTENT(IN) :: field
29066  INTEGER(INTG), INTENT(IN) :: variableType
29067  INTEGER(INTG), INTENT(IN) :: versionNumber
29068  INTEGER(INTG), INTENT(IN) :: derivativeNumber
29069  INTEGER(INTG), INTENT(IN) :: nodeUserNumber
29070  INTEGER(INTG), INTENT(IN) :: componentNumber
29071  REAL(DP), INTENT(IN) :: scaleFactor
29072  INTEGER(INTG), INTENT(OUT) :: err
29073  !Local variables
29074 
29075  enters("cmfe_Field_ParameterSetNodeScaleFactorSetObj",err,error,*999)
29076 
29077  CALL field_parametersetnodescalefactorset(field%field,variabletype,versionnumber, &
29078  & derivativenumber,nodeusernumber,componentnumber,scalefactor,err,error,*999)
29079 
29080  exits("cmfe_Field_ParameterSetNodeScaleFactorSetObj")
29081  RETURN
29082 999 errors("cmfe_Field_ParameterSetNodeScaleFactorSetObj",err,error)
29083  exits("cmfe_Field_ParameterSetNodeScaleFactorSetObj")
29084  CALL cmfe_handleerror(err,error)
29085  RETURN
29086 
29088 
29089  !
29090  !================================================================================================================================
29091  !
29092 
29094  SUBROUTINE cmfe_field_parametersetnodescalefactorssetnumber(regionUserNumber,fieldUserNumber,variableType, &
29095  & meshcomponentnumber,scalefactors,err)
29096  !DLLEXPORT(cmfe_Field_ParameterSetNodeScaleFactorsSetNumber)
29097 
29098  !Argument variables
29099  INTEGER(INTG), INTENT(IN) :: regionUserNumber
29100  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
29101  INTEGER(INTG), INTENT(IN) :: variableType
29102  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
29103  REAL(DP), INTENT(IN) :: scaleFactors(:)
29104  INTEGER(INTG), INTENT(OUT) :: err
29105  !Local variables
29106  TYPE(region_type), POINTER :: region
29107  TYPE(field_type), POINTER :: field
29108  TYPE(varying_string) :: localError
29109 
29110  enters("cmfe_Field_ParameterSetNodeScaleFactorsSetNumber",err,error,*999)
29111 
29112  NULLIFY(region)
29113  NULLIFY(field)
29114  CALL region_user_number_find(regionusernumber,region,err,error,*999)
29115  IF(ASSOCIATED(region)) THEN
29116  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
29117  IF(ASSOCIATED(field)) THEN
29118  CALL field_parametersetnodescalefactorsset(field,variabletype,meshcomponentnumber,scalefactors,err,error,*999)
29119  ELSE
29120  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
29121  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
29122  CALL flagerror(localerror,err,error,*999)
29123  END IF
29124  ELSE
29125  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
29126  CALL flagerror(localerror,err,error,*999)
29127  END IF
29128 
29129  exits("cmfe_Field_ParameterSetNodeScaleFactorsSetNumber")
29130  RETURN
29131 999 errors("cmfe_Field_ParameterSetNodeScaleFactorsSetNumber",err,error)
29132  exits("cmfe_Field_ParameterSetNodeScaleFactorsSetNumber")
29133  CALL cmfe_handleerror(err,error)
29134  RETURN
29135 
29137 
29138  !
29139  !================================================================================================================================
29140  !
29141 
29143  SUBROUTINE cmfe_field_parametersetnodescalefactorssetobj(field,variableType,meshComponentNumber,scaleFactors,err)
29144  !DLLEXPORT(cmfe_Field_ParameterSetNodeScaleFactorsSetObj)
29145 
29146  !Argument variables
29147  TYPE(cmfe_fieldtype), INTENT(IN) :: field
29148  INTEGER(INTG), INTENT(IN) :: variableType
29149  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
29150  REAL(DP), INTENT(IN) :: scaleFactors(:)
29151  INTEGER(INTG), INTENT(OUT) :: err
29152  !Local variables
29153 
29154  enters("cmfe_Field_ParameterSetNodeScaleFactorsSetObj",err,error,*999)
29155 
29156  CALL field_parametersetnodescalefactorsset(field%field,variabletype,meshcomponentnumber,scalefactors,err,error,*999)
29157 
29158  exits("cmfe_Field_ParameterSetNodeScaleFactorsSetObj")
29159  RETURN
29160 999 errors("cmfe_Field_ParameterSetNodeScaleFactorsSetObj",err,error)
29161  exits("cmfe_Field_ParameterSetNodeScaleFactorsSetObj")
29162  CALL cmfe_handleerror(err,error)
29163  RETURN
29164 
29166 
29167  !
29168  !================================================================================================================================
29169  !
29170 
29172  SUBROUTINE cmfe_field_labelgetcnumber(regionUserNumber,fieldUserNumber,label,err)
29173  !DLLEXPORT(cmfe_Field_LabelGetCNumber)
29174 
29175  !Argument variables
29176  INTEGER(INTG), INTENT(IN) :: regionUserNumber
29177  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
29178  CHARACTER(LEN=*), INTENT(OUT) :: label
29179  INTEGER(INTG), INTENT(OUT) :: err
29180  !Local variables
29181  TYPE(field_type), POINTER :: FIELD
29182  TYPE(region_type), POINTER :: REGION
29183  TYPE(varying_string) :: localError
29184 
29185  enters("cmfe_Field_LabelGetCNumber",err,error,*999)
29186 
29187  NULLIFY(region)
29188  NULLIFY(field)
29189  CALL region_user_number_find(regionusernumber,region,err,error,*999)
29190  IF(ASSOCIATED(region)) THEN
29191  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
29192  IF(ASSOCIATED(field)) THEN
29193  CALL field_label_get(field,label,err,error,*999)
29194  ELSE
29195  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
29196  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
29197  CALL flagerror(localerror,err,error,*999)
29198  END IF
29199  ELSE
29200  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
29201  CALL flagerror(localerror,err,error,*999)
29202  END IF
29203 
29204  exits("cmfe_Field_LabelGetCNumber")
29205  RETURN
29206 999 errorsexits("cmfe_Field_LabelGetCNumber",err,error)
29207  CALL cmfe_handleerror(err,error)
29208  RETURN
29209 
29210  END SUBROUTINE cmfe_field_labelgetcnumber
29211 
29212  !
29213  !================================================================================================================================
29214  !
29215 
29217  SUBROUTINE cmfe_field_labelgetcobj(field,label,err)
29218  !DLLEXPORT(cmfe_Field_LabelGetCObj)
29219 
29220  !Argument variables
29221  TYPE(cmfe_fieldtype), INTENT(IN) :: field
29222  CHARACTER(LEN=*), INTENT(OUT) :: label
29223  INTEGER(INTG), INTENT(OUT) :: err
29224  !Local variables
29225 
29226  enters("cmfe_Field_LabelGetCObj",err,error,*999)
29227 
29228  CALL field_label_get(field%field,label,err,error,*999)
29229 
29230  exits("cmfe_Field_LabelGetCObj")
29231  RETURN
29232 999 errorsexits("cmfe_Field_LabelGetCObj",err,error)
29233  CALL cmfe_handleerror(err,error)
29234  RETURN
29235 
29236  END SUBROUTINE cmfe_field_labelgetcobj
29237 
29238  !
29239  !================================================================================================================================
29240  !
29241 
29243  SUBROUTINE cmfe_field_labelgetvsnumber(regionUserNumber,fieldUserNumber,label,err)
29244  !DLLEXPORT(cmfe_Field_LabelGetVSNumber)
29245 
29246  !Argument variables
29247  INTEGER(INTG), INTENT(IN) :: regionUserNumber
29248  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
29249  TYPE(varying_string), INTENT(OUT) :: label
29250  INTEGER(INTG), INTENT(OUT) :: err
29251  !Local variables
29252  TYPE(field_type), POINTER :: FIELD
29253  TYPE(region_type), POINTER :: REGION
29254  TYPE(varying_string) :: localError
29255 
29256  enters("cmfe_Field_LabelGetVSNumber",err,error,*999)
29257 
29258  NULLIFY(region)
29259  NULLIFY(field)
29260  CALL region_user_number_find(regionusernumber,region,err,error,*999)
29261  IF(ASSOCIATED(region)) THEN
29262  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
29263  IF(ASSOCIATED(field)) THEN
29264  CALL field_label_get(field,label,err,error,*999)
29265  ELSE
29266  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
29267  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
29268  CALL flagerror(localerror,err,error,*999)
29269  END IF
29270  ELSE
29271  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
29272  CALL flagerror(localerror,err,error,*999)
29273  END IF
29274 
29275  exits("cmfe_Field_LabelGetVSNumber")
29276  RETURN
29277 999 errorsexits("cmfe_Field_LabelGetVSNumber",err,error)
29278  CALL cmfe_handleerror(err,error)
29279  RETURN
29280 
29281  END SUBROUTINE cmfe_field_labelgetvsnumber
29282 
29283  !
29284  !================================================================================================================================
29285  !
29286 
29288  SUBROUTINE cmfe_field_labelgetvsobj(field,label,err)
29289  !DLLEXPORT(cmfe_Field_LabelGetVSObj)
29290 
29291  !Argument variables
29292  TYPE(cmfe_fieldtype), INTENT(IN) :: field
29293  TYPE(varying_string), INTENT(OUT) :: label
29294  INTEGER(INTG), INTENT(OUT) :: err
29295  !Local variables
29296 
29297  enters("cmfe_Field_LabelGetVSObj",err,error,*999)
29298 
29299  CALL field_label_get(field%field,label,err,error,*999)
29300 
29301  exits("cmfe_Field_LabelGetVSObj")
29302  RETURN
29303 999 errorsexits("cmfe_Field_LabelGetVSObj",err,error)
29304  CALL cmfe_handleerror(err,error)
29305  RETURN
29306 
29307  END SUBROUTINE cmfe_field_labelgetvsobj
29308 
29309  !
29310  !================================================================================================================================
29311  !
29312 
29314  SUBROUTINE cmfe_field_labelsetcnumber(regionUserNumber,fieldUserNumber,label,err)
29315  !DLLEXPORT(cmfe_Field_LabelSetCNumber)
29316 
29317  !Argument variables
29318  INTEGER(INTG), INTENT(IN) :: regionUserNumber
29319  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
29320  CHARACTER(LEN=*), INTENT(IN) :: label
29321  INTEGER(INTG), INTENT(OUT) :: err
29322  !Local variables
29323  TYPE(field_type), POINTER :: FIELD
29324  TYPE(region_type), POINTER :: REGION
29325  TYPE(varying_string) :: localError
29326 
29327  enters("cmfe_Field_LabelSetCNumber",err,error,*999)
29328 
29329  NULLIFY(region)
29330  NULLIFY(field)
29331  CALL region_user_number_find(regionusernumber,region,err,error,*999)
29332  IF(ASSOCIATED(region)) THEN
29333  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
29334  IF(ASSOCIATED(field)) THEN
29335  CALL field_label_set(field,label,err,error,*999)
29336  ELSE
29337  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
29338  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
29339  CALL flagerror(localerror,err,error,*999)
29340  END IF
29341  ELSE
29342  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
29343  CALL flagerror(localerror,err,error,*999)
29344  END IF
29345 
29346  exits("cmfe_Field_LabelSetCNumber")
29347  RETURN
29348 999 errorsexits("cmfe_Field_LabelSetCNumber",err,error)
29349  CALL cmfe_handleerror(err,error)
29350  RETURN
29351 
29352  END SUBROUTINE cmfe_field_labelsetcnumber
29353 
29354  !
29355  !================================================================================================================================
29356  !
29357 
29359  SUBROUTINE cmfe_field_labelsetcobj(field,label,err)
29360  !DLLEXPORT(cmfe_Field_LabelSetCObj)
29361 
29362  !Argument variables
29363  TYPE(cmfe_fieldtype), INTENT(IN) :: field
29364  CHARACTER(LEN=*), INTENT(IN) :: label
29365  INTEGER(INTG), INTENT(OUT) :: err
29366  !Local variables
29367 
29368  enters("cmfe_Field_LabelSetCObj",err,error,*999)
29369 
29370  CALL field_label_set(field%field,label,err,error,*999)
29371 
29372  exits("cmfe_Field_LabelSetCObj")
29373  RETURN
29374 999 errorsexits("cmfe_Field_LabelSetCObj",err,error)
29375  CALL cmfe_handleerror(err,error)
29376  RETURN
29377 
29378  END SUBROUTINE cmfe_field_labelsetcobj
29379 
29380  !
29381  !================================================================================================================================
29382  !
29383 
29385  SUBROUTINE cmfe_field_labelsetvsnumber(regionUserNumber,fieldUserNumber,label,err)
29386  !DLLEXPORT(cmfe_Field_LabelSetVSNumber)
29387 
29388  !Argument variables
29389  INTEGER(INTG), INTENT(IN) :: regionUserNumber
29390  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
29391  TYPE(varying_string), INTENT(IN) :: label
29392  INTEGER(INTG), INTENT(OUT) :: err
29393  !Local variables
29394  TYPE(field_type), POINTER :: FIELD
29395  TYPE(region_type), POINTER :: REGION
29396  TYPE(varying_string) :: localError
29397 
29398  enters("cmfe_Field_LabelSetVSNumber",err,error,*999)
29399 
29400  NULLIFY(region)
29401  NULLIFY(field)
29402  CALL region_user_number_find(regionusernumber,region,err,error,*999)
29403  IF(ASSOCIATED(region)) THEN
29404  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
29405  IF(ASSOCIATED(field)) THEN
29406  CALL field_label_set(field,label,err,error,*999)
29407  ELSE
29408  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
29409  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
29410  CALL flagerror(localerror,err,error,*999)
29411  END IF
29412  ELSE
29413  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
29414  CALL flagerror(localerror,err,error,*999)
29415  END IF
29416 
29417  exits("cmfe_Field_LabelSetVSNumber")
29418  RETURN
29419 999 errorsexits("cmfe_Field_LabelSetVSNumber",err,error)
29420  CALL cmfe_handleerror(err,error)
29421  RETURN
29422 
29423  END SUBROUTINE cmfe_field_labelsetvsnumber
29424 
29425  !
29426  !================================================================================================================================
29427  !
29428 
29430  SUBROUTINE cmfe_field_labelsetvsobj(field,label,err)
29431  !DLLEXPORT(cmfe_Field_LabelSetVSObj)
29432 
29433  !Argument variables
29434  TYPE(cmfe_fieldtype), INTENT(IN) :: field
29435  TYPE(varying_string), INTENT(IN) :: label
29436  INTEGER(INTG), INTENT(OUT) :: err
29437  !Local variables
29438 
29439  enters("cmfe_Field_LabelSetVSObj",err,error,*999)
29440 
29441  CALL field_label_set(field%field,label,err,error,*999)
29442 
29443  exits("cmfe_Field_LabelSetVSObj")
29444  RETURN
29445 999 errorsexits("cmfe_Field_LabelSetVSObj",err,error)
29446  CALL cmfe_handleerror(err,error)
29447  RETURN
29448 
29449  END SUBROUTINE cmfe_field_labelsetvsobj
29450 
29451  !
29452  !================================================================================================================================
29453  !
29454 
29456  SUBROUTINE cmfe_field_positionnormaltangentcalculatenodenumber(regionUserNumber,fieldUserNumber,variableType,componentNumber, &
29457  & localnodenumber,position,normal,tangents,err)
29458  !DLLEXPORT(cmfe_Field_PositionNormalTangentCalculateNodeNumber)
29459 
29460  !Argument variables
29461  INTEGER(INTG), INTENT(IN) :: regionUserNumber
29462  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
29463  INTEGER(INTG), INTENT(IN) :: variableType
29464  INTEGER(INTG), INTENT(IN) :: componentNumber
29465  INTEGER(INTG), INTENT(IN) :: localNodeNumber
29466  REAL(DP), INTENT(OUT) :: position(:),normal(:),tangents(:,:)
29467  INTEGER(INTG), INTENT(OUT) :: err
29468  !Local variables
29469  TYPE(field_type), POINTER :: FIELD
29470  TYPE(region_type), POINTER :: REGION
29471  TYPE(varying_string) :: localError
29472 
29473  enters("cmfe_Field_PositionNormalTangentCalculateNodeNumber",err,error,*999)
29474 
29475  NULLIFY(region)
29476  NULLIFY(field)
29477  CALL region_user_number_find(regionusernumber,region,err,error,*999)
29478  IF(ASSOCIATED(region)) THEN
29479  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
29480  IF(ASSOCIATED(field)) THEN
29481  CALL field_positionnormaltangentscalculatenode(field,variabletype,componentnumber,localnodenumber, &
29482  & position,normal,tangents,err,error,*999)
29483  ELSE
29484  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
29485  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
29486  CALL flagerror(localerror,err,error,*999)
29487  END IF
29488  ELSE
29489  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
29490  CALL flagerror(localerror,err,error,*999)
29491  END IF
29492 
29493  exits("cmfe_Field_PositionNormalTangentCalculateNodeNumber")
29494  RETURN
29495 999 errors("cmfe_Field_PositionNormalTangentCalculateNodeNumber",err,error)
29496  exits("cmfe_Field_PositionNormalTangentCalculateNodeNumber")
29497  CALL cmfe_handleerror(err,error)
29498  RETURN
29499 
29501 
29502  !
29503  !================================================================================================================================
29504  !
29505 
29507  SUBROUTINE cmfe_field_positionnormaltangentcalculatenodeobj(field,variableType,componentNumber,localNodeNumber, &
29508  & position,normal,tangents,err)
29509  !DLLEXPORT(cmfe_Field_PositionNormalTangentCalculateNodeObj)
29510 
29511  !Argument variables
29512  TYPE(cmfe_fieldtype), INTENT(IN) :: field
29513  INTEGER(INTG), INTENT(IN) :: variableType
29514  INTEGER(INTG), INTENT(IN) :: componentNumber
29515  INTEGER(INTG), INTENT(IN) :: localNodeNumber
29516  REAL(DP), INTENT(OUT) :: position(:),normal(:),tangents(:,:)
29517  INTEGER(INTG), INTENT(OUT) :: err
29518  !Local variables
29519 
29520  enters("cmfe_Field_PositionNormalTangentCalculateNodeObj",err,error,*999)
29521 
29522  CALL field_positionnormaltangentscalculatenode(field%field,variabletype,componentnumber,localnodenumber, &
29523  & position,normal,tangents,err,error,*999)
29524 
29525  exits("cmfe_Field_PositionNormalTangentCalculateNodeObj")
29526  RETURN
29527 999 errors("cmfe_Field_PositionNormalTangentCalculateNodeObj",err,error)
29528  exits("cmfe_Field_PositionNormalTangentCalculateNodeObj")
29529  CALL cmfe_handleerror(err,error)
29530  RETURN
29531 
29533 
29534 
29535 
29536  !
29537  !================================================================================================================================
29538  !
29539 
29541  SUBROUTINE cmfe_field_meshdecompositiongetnumber(regionUserNumber,fieldUserNumber,decompositionUserNumber,err)
29542  !DLLEXPORT(cmfe_Field_MeshDecompositionGetNumber)
29543 
29544  !Argument variables
29545  INTEGER(INTG), INTENT(IN) :: regionUserNumber
29546  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
29547  INTEGER(INTG), INTENT(OUT) :: decompositionUserNumber
29548  INTEGER(INTG), INTENT(OUT) :: err
29549  !Local variables
29550  TYPE(decomposition_type), POINTER :: DECOMPOSITION
29551  TYPE(field_type), POINTER :: FIELD
29552  TYPE(region_type), POINTER :: REGION
29553  TYPE(varying_string) :: localError
29554 
29555  enters("cmfe_Field_MeshDecompositionGetNumber",err,error,*999)
29556 
29557  NULLIFY(region)
29558  NULLIFY(field)
29559  NULLIFY(decomposition)
29560  CALL region_user_number_find(regionusernumber,region,err,error,*999)
29561  IF(ASSOCIATED(region)) THEN
29562  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
29563  IF(ASSOCIATED(field)) THEN
29564  CALL field_mesh_decomposition_get(field,decomposition,err,error,*999)
29565  decompositionusernumber=decomposition%USER_NUMBER
29566  ELSE
29567  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
29568  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
29569  CALL flagerror(localerror,err,error,*999)
29570  END IF
29571  ELSE
29572  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
29573  CALL flagerror(localerror,err,error,*999)
29574  END IF
29575 
29576  exits("cmfe_Field_MeshDecompositionGetNumber")
29577  RETURN
29578 999 errorsexits("cmfe_Field_MeshDecompositionGetNumber",err,error)
29579  CALL cmfe_handleerror(err,error)
29580  RETURN
29581 
29583 
29584  !
29585  !================================================================================================================================
29586  !
29587 
29589  SUBROUTINE cmfe_field_meshdecompositiongetobj(field,meshDecomposition,err)
29590  !DLLEXPORT(cmfe_Field_MeshDecompositionGetObj)
29591 
29592  !Argument variables
29593  TYPE(cmfe_fieldtype), INTENT(IN) :: field
29594  TYPE(cmfe_decompositiontype), INTENT(INOUT) :: meshDecomposition
29595  INTEGER(INTG), INTENT(OUT) :: err
29596  !Local variables
29597 
29598  enters("cmfe_Field_MeshDecompositionGetObj",err,error,*999)
29599 
29600  CALL field_mesh_decomposition_get(field%field,meshdecomposition%decomposition,err,error,*999)
29601 
29602  exits("cmfe_Field_MeshDecompositionGetObj")
29603  RETURN
29604 999 errorsexits("cmfe_Field_MeshDecompositionGetObj",err,error)
29605  CALL cmfe_handleerror(err,error)
29606  RETURN
29607 
29608  END SUBROUTINE cmfe_field_meshdecompositiongetobj
29609 
29610  !
29611  !================================================================================================================================
29612  !
29613 
29615  SUBROUTINE cmfe_field_meshdecompositionsetnumber(regionUserNumber,fieldUserNumber,meshUserNumber,decompositionUserNumber,err)
29616  !DLLEXPORT(cmfe_Field_MeshDecompositionSetNumber)
29617 
29618  !Argument variables
29619  INTEGER(INTG), INTENT(IN) :: regionUserNumber
29620  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
29621  INTEGER(INTG), INTENT(IN) :: meshUserNumber
29622  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
29623  INTEGER(INTG), INTENT(OUT) :: err
29624  !Local variables
29625  TYPE(decomposition_type), POINTER :: DECOMPOSITION
29626  TYPE(field_type), POINTER :: FIELD
29627  TYPE(mesh_type), POINTER :: MESH
29628  TYPE(region_type), POINTER :: REGION
29629  TYPE(varying_string) :: localError
29630 
29631  enters("cmfe_Field_MeshDecompositionSetNumber",err,error,*999)
29632 
29633  NULLIFY(region)
29634  NULLIFY(field)
29635  NULLIFY(decomposition)
29636  NULLIFY(mesh)
29637  CALL region_user_number_find(regionusernumber,region,err,error,*999)
29638  IF(ASSOCIATED(region)) THEN
29639  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
29640  IF(ASSOCIATED(field)) THEN
29641  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
29642  IF(ASSOCIATED(mesh)) THEN
29643  CALL decomposition_user_number_find(decompositionusernumber,mesh,decomposition,err,error,*999)
29644  IF(ASSOCIATED(decomposition)) THEN
29645  CALL field_mesh_decomposition_set(field,decomposition,err,error,*999)
29646  ELSE
29647  localerror="A decomposition with a user number of "//trim(numbertovstring(decompositionusernumber,"*",err,error))// &
29648  & " does not exist on mesh number "//trim(numbertovstring(meshusernumber,"*",err,error))//"."
29649  CALL flagerror(localerror,err,error,*999)
29650  END IF
29651  ELSE
29652  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
29653  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
29654  CALL flagerror(localerror,err,error,*999)
29655  END IF
29656  ELSE
29657  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
29658  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
29659  CALL flagerror(localerror,err,error,*999)
29660  END IF
29661  ELSE
29662  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
29663  CALL flagerror(localerror,err,error,*999)
29664  END IF
29665 
29666  exits("cmfe_Field_MeshDecompositionSetNumber")
29667  RETURN
29668 999 errorsexits("cmfe_Field_MeshDecompositionSetNumber",err,error)
29669  CALL cmfe_handleerror(err,error)
29670  RETURN
29671 
29673 
29674  !
29675  !================================================================================================================================
29676  !
29677 
29679  SUBROUTINE cmfe_field_meshdecompositionsetobj(field,meshDecomposition,err)
29680  !DLLEXPORT(cmfe_Field_MeshDecompositionSetObj)
29681 
29682  !Argument variables
29683  TYPE(cmfe_fieldtype), INTENT(IN) :: field
29684  TYPE(cmfe_decompositiontype), INTENT(IN) :: meshDecomposition
29685  INTEGER(INTG), INTENT(OUT) :: err
29686  !Local variables
29687 
29688  enters("cmfe_Field_MeshDecompositionSetObj",err,error,*999)
29689 
29690  CALL field_mesh_decomposition_set(field%field,meshdecomposition%decomposition,err,error,*999)
29691 
29692  exits("cmfe_Field_MeshDecompositionSetObj")
29693  RETURN
29694 999 errorsexits("cmfe_Field_MeshDecompositionSetObj",err,error)
29695  CALL cmfe_handleerror(err,error)
29696  RETURN
29697 
29698  END SUBROUTINE cmfe_field_meshdecompositionsetobj
29699 
29700  !
29701  !================================================================================================================================
29702  !
29703 
29705  SUBROUTINE cmfe_field_dataprojectionsetnumber(regionUserNumber,fieldUserNumber,dataProjectionUserNumber,err)
29706  !DLLEXPORT(cmfe_Field_DataProjectionSetNumber)
29707 
29708  !Argument variables
29709  INTEGER(INTG), INTENT(IN) :: regionUserNumber
29710  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
29711  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
29712  INTEGER(INTG), INTENT(OUT) :: err
29713  !Local variables
29714  TYPE(data_points_type), POINTER :: DATA_POINTS
29715  TYPE(data_projection_type), POINTER :: DATA_PROJECTION
29716  TYPE(field_type), POINTER :: FIELD
29717  TYPE(region_type), POINTER :: REGION
29718  INTEGER(INTG) :: DATA_PROJECTION_NUMBER
29719  TYPE(varying_string) :: localError
29720 
29721  enters("cmfe_Field_DataProjectionSetNumber",err,error,*999)
29722 
29723  NULLIFY(region)
29724  NULLIFY(field)
29725  NULLIFY(data_points)
29726  CALL region_user_number_find(regionusernumber,region,err,error,*999)
29727  IF(ASSOCIATED(region)) THEN
29728  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
29729  IF(ASSOCIATED(field)) THEN
29730  CALL region_data_points_get(region,data_points,err,error,*999)
29731  IF(ASSOCIATED(data_points)) THEN
29732  CALL datapoints_dataprojectionglobalnumberget(data_points,dataprojectionusernumber,data_projection_number,&
29733  & err,error,*999)
29734  CALL data_points_data_projection_get(data_points,data_projection_number,data_projection,err,error,*999)
29735  IF(ASSOCIATED(data_projection)) THEN
29736  CALL field_dataprojectionset(field,data_projection,err,error,*999)
29737  ELSE
29738  localerror="A data projection does not exist for the data points on region number "// &
29739  & trim(numbertovstring(regionusernumber,"*",err,error))//"."
29740  CALL flagerror(localerror,err,error,*999)
29741  END IF
29742  ELSE
29743  localerror="Data points do not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
29744  CALL flagerror(localerror,err,error,*999)
29745  END IF
29746  ELSE
29747  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
29748  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
29749  CALL flagerror(localerror,err,error,*999)
29750  END IF
29751  ELSE
29752  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
29753  CALL flagerror(localerror,err,error,*999)
29754  END IF
29755 
29756  exits("cmfe_Field_DataProjectionSetNumber")
29757  RETURN
29758 999 errorsexits("cmfe_Field_DataProjectionSetNumber",err,error)
29759  CALL cmfe_handleerror(err,error)
29760  RETURN
29761 
29762  END SUBROUTINE cmfe_field_dataprojectionsetnumber
29763 
29764  !
29765  !================================================================================================================================
29766  !
29767 
29769  SUBROUTINE cmfe_field_dataprojectionsetobj(field,dataProjection,err)
29770  !DLLEXPORT(cmfe_Field_DataProjectionSetObj)
29771 
29772  !Argument variables
29773  TYPE(cmfe_fieldtype), INTENT(IN) :: field
29774  TYPE(cmfe_dataprojectiontype), INTENT(IN) :: dataProjection
29775  INTEGER(INTG), INTENT(OUT) :: err
29776  !Local variables
29777 
29778  enters("cmfe_Field_DataProjectionSetObj",err,error,*999)
29779 
29780  CALL field_dataprojectionset(field%field,dataprojection%dataProjection,err,error,*999)
29781 
29782  exits("cmfe_Field_DataProjectionSetObj")
29783  RETURN
29784 999 errorsexits("cmfe_Field_DataProjectionSetObj",err,error)
29785  CALL cmfe_handleerror(err,error)
29786  RETURN
29787 
29788  END SUBROUTINE cmfe_field_dataprojectionsetobj
29789 
29790  !
29791  !================================================================================================================================
29792  !
29793 
29795  SUBROUTINE cmfe_field_numberofcomponentsgetnumber(regionUserNumber,fieldUserNumber,variableType,numberOfComponents,err)
29796  !DLLEXPORT(cmfe_Field_NumberOfComponentsGetNumber)
29797 
29798  !Argument variables
29799  INTEGER(INTG), INTENT(IN) :: regionUserNumber
29800  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
29801  INTEGER(INTG), INTENT(IN) :: variableType
29802  INTEGER(INTG), INTENT(OUT) :: numberOfComponents
29803  INTEGER(INTG), INTENT(OUT) :: err
29804  !Local variables
29805  TYPE(field_type), POINTER :: FIELD
29806  TYPE(region_type), POINTER :: REGION
29807  TYPE(varying_string) :: localError
29808 
29809  enters("cmfe_Field_NumberOfComponentsGetNumber",err,error,*999)
29810 
29811  NULLIFY(region)
29812  NULLIFY(field)
29813  CALL region_user_number_find(regionusernumber,region,err,error,*999)
29814  IF(ASSOCIATED(region)) THEN
29815  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
29816  IF(ASSOCIATED(field)) THEN
29817  CALL field_number_of_components_get(field,variabletype,numberofcomponents,err,error,*999)
29818  ELSE
29819  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
29820  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
29821  CALL flagerror(localerror,err,error,*999)
29822  END IF
29823  ELSE
29824  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
29825  CALL flagerror(localerror,err,error,*999)
29826  END IF
29827 
29828  exits("cmfe_Field_NumberOfComponentsGetNumber")
29829  RETURN
29830 999 errorsexits("cmfe_Field_NumberOfComponentsGetNumber",err,error)
29831  CALL cmfe_handleerror(err,error)
29832  RETURN
29833 
29835 
29836  !
29837  !================================================================================================================================
29838  !
29839 
29841  SUBROUTINE cmfe_field_numberofcomponentsgetobj(field,variableType,numberOfComponents,err)
29842  !DLLEXPORT(cmfe_Field_NumberOfComponentsGetObj)
29843 
29844  !Argument variables
29845  TYPE(cmfe_fieldtype), INTENT(IN) :: field
29846  INTEGER(INTG), INTENT(IN) :: variableType
29847  INTEGER(INTG), INTENT(OUT) :: numberOfComponents
29848  INTEGER(INTG), INTENT(OUT) :: err
29849  !Local variables
29850 
29851  enters("cmfe_Field_NumberOfComponentsGetObj",err,error,*999)
29852 
29853  CALL field_number_of_components_get(field%field,variabletype,numberofcomponents,err,error,*999)
29854 
29855  exits("cmfe_Field_NumberOfComponentsGetObj")
29856  RETURN
29857 999 errorsexits("cmfe_Field_NumberOfComponentsGetObj",err,error)
29858  CALL cmfe_handleerror(err,error)
29859  RETURN
29860 
29862 
29863  !
29864  !================================================================================================================================
29865  !
29866 
29868  SUBROUTINE cmfe_field_numberofcomponentssetnumber(regionUserNumber,fieldUserNumber,variableType,numberOfComponents,err)
29869  !DLLEXPORT(cmfe_Field_NumberOfComponentsSetNumber)
29870 
29871  !Argument variables
29872  INTEGER(INTG), INTENT(IN) :: regionUserNumber
29873  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
29874  INTEGER(INTG), INTENT(IN) :: variableType
29875  INTEGER(INTG), INTENT(IN) :: numberOfComponents
29876  INTEGER(INTG), INTENT(OUT) :: err
29877  !Local variables
29878  TYPE(field_type), POINTER :: FIELD
29879  TYPE(region_type), POINTER :: REGION
29880  TYPE(varying_string) :: localError
29881 
29882  enters("cmfe_Field_NumberOfComponentsSetNumber",err,error,*999)
29883 
29884  NULLIFY(region)
29885  NULLIFY(field)
29886  CALL region_user_number_find(regionusernumber,region,err,error,*999)
29887  IF(ASSOCIATED(region)) THEN
29888  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
29889  IF(ASSOCIATED(field)) THEN
29890  CALL field_number_of_components_set(field,variabletype,numberofcomponents,err,error,*999)
29891  ELSE
29892  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
29893  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
29894  CALL flagerror(localerror,err,error,*999)
29895  END IF
29896  ELSE
29897  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
29898  CALL flagerror(localerror,err,error,*999)
29899  END IF
29900 
29901  exits("cmfe_Field_NumberOfComponentsSetNumber")
29902  RETURN
29903 999 errorsexits("cmfe_Field_NumberOfComponentsSetNumber",err,error)
29904  CALL cmfe_handleerror(err,error)
29905  RETURN
29906 
29908 
29909  !
29910  !================================================================================================================================
29911  !
29912 
29914  SUBROUTINE cmfe_field_numberofcomponentssetobj(field,variableType,numberOfComponents,err)
29915  !DLLEXPORT(cmfe_Field_NumberOfComponentsSetObj)
29916 
29917  !Argument variables
29918  TYPE(cmfe_fieldtype), INTENT(IN) :: field
29919  INTEGER(INTG), INTENT(IN) :: variableType
29920  INTEGER(INTG), INTENT(IN) :: numberOfComponents
29921  INTEGER(INTG), INTENT(OUT) :: err
29922  !Local variables
29923 
29924  enters("cmfe_Field_NumberOfComponentsSetObj",err,error,*999)
29925 
29926  CALL field_number_of_components_set(field%field,variabletype,numberofcomponents,err,error,*999)
29927 
29928  exits("cmfe_Field_NumberOfComponentsSetObj")
29929  RETURN
29930 999 errorsexits("cmfe_Field_NumberOfComponentsSetObj",err,error)
29931  CALL cmfe_handleerror(err,error)
29932  RETURN
29933 
29935 
29936  !
29937  !================================================================================================================================
29938  !
29939 
29941  SUBROUTINE cmfe_field_numberofvariablesgetnumber(regionUserNumber,fieldUserNumber,numberOfVariables,err)
29942  !DLLEXPORT(cmfe_Field_NumberOfVariablesGetNumber)
29943 
29944  !Argument variables
29945  INTEGER(INTG), INTENT(IN) :: regionUserNumber
29946  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
29947  INTEGER(INTG), INTENT(OUT) :: numberOfVariables
29948  INTEGER(INTG), INTENT(OUT) :: err
29949  !Local variables
29950  TYPE(field_type), POINTER :: FIELD
29951  TYPE(region_type), POINTER :: REGION
29952  TYPE(varying_string) :: localError
29953 
29954  enters("cmfe_Field_NumberOfVariablesGetNumber",err,error,*999)
29955 
29956  NULLIFY(region)
29957  NULLIFY(field)
29958  CALL region_user_number_find(regionusernumber,region,err,error,*999)
29959  IF(ASSOCIATED(region)) THEN
29960  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
29961  IF(ASSOCIATED(field)) THEN
29962  CALL field_number_of_variables_get(field,numberofvariables,err,error,*999)
29963  ELSE
29964  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
29965  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
29966  CALL flagerror(localerror,err,error,*999)
29967  END IF
29968  ELSE
29969  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
29970  CALL flagerror(localerror,err,error,*999)
29971  END IF
29972 
29973  exits("cmfe_Field_NumberOfVariablesGetNumber")
29974  RETURN
29975 999 errorsexits("cmfe_Field_NumberOfVariablesGetNumber",err,error)
29976  CALL cmfe_handleerror(err,error)
29977  RETURN
29978 
29980 
29981  !
29982  !================================================================================================================================
29983  !
29984 
29986  SUBROUTINE cmfe_field_numberofvariablesgetobj(field,numberOfVariables,err)
29987  !DLLEXPORT(cmfe_Field_NumberOfVariablesGetObj)
29988 
29989  !Argument variables
29990  TYPE(cmfe_fieldtype), INTENT(IN) :: field
29991  INTEGER(INTG), INTENT(OUT) :: numberOfVariables
29992  INTEGER(INTG), INTENT(OUT) :: err
29993  !Local variables
29994 
29995  enters("cmfe_Field_NumberOfVariablesGetObj",err,error,*999)
29996 
29997  CALL field_number_of_variables_get(field%field,numberofvariables,err,error,*999)
29998 
29999  exits("cmfe_Field_NumberOfVariablesGetObj")
30000  RETURN
30001 999 errorsexits("cmfe_Field_NumberOfVariablesGetObj",err,error)
30002  CALL cmfe_handleerror(err,error)
30003  RETURN
30004 
30005  END SUBROUTINE cmfe_field_numberofvariablesgetobj
30006 
30007  !
30008  !================================================================================================================================
30009  !
30010 
30012  SUBROUTINE cmfe_field_numberofvariablessetnumber(regionUserNumber,fieldUserNumber,numberOfVariables,err)
30013  !DLLEXPORT(cmfe_Field_NumberOfVariablesSetNumber)
30014 
30015  !Argument variables
30016  INTEGER(INTG), INTENT(IN) :: regionUserNumber
30017  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
30018  INTEGER(INTG), INTENT(IN) :: numberOfVariables
30019  INTEGER(INTG), INTENT(OUT) :: err
30020  !Local variables
30021  TYPE(field_type), POINTER :: FIELD
30022  TYPE(region_type), POINTER :: REGION
30023  TYPE(varying_string) :: localError
30024 
30025  enters("cmfe_Field_NumberOfVariablesSetNumber",err,error,*999)
30026 
30027  NULLIFY(region)
30028  NULLIFY(field)
30029  CALL region_user_number_find(regionusernumber,region,err,error,*999)
30030  IF(ASSOCIATED(region)) THEN
30031  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
30032  IF(ASSOCIATED(field)) THEN
30033  CALL field_number_of_variables_set(field,numberofvariables,err,error,*999)
30034  ELSE
30035  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
30036  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
30037  CALL flagerror(localerror,err,error,*999)
30038  END IF
30039  ELSE
30040  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
30041  CALL flagerror(localerror,err,error,*999)
30042  END IF
30043 
30044  exits("cmfe_Field_NumberOfVariablesSetNumber")
30045  RETURN
30046 999 errorsexits("cmfe_Field_NumberOfVariablesSetNumber",err,error)
30047  CALL cmfe_handleerror(err,error)
30048  RETURN
30049 
30051 
30052  !
30053  !================================================================================================================================
30054  !
30055 
30057  SUBROUTINE cmfe_field_numberofvariablessetobj(field,numberOfVariables,err)
30058  !DLLEXPORT(cmfe_Field_NumberOfVariablesSetObj)
30059 
30060  !Argument variables
30061  TYPE(cmfe_fieldtype), INTENT(IN) :: field
30062  INTEGER(INTG), INTENT(IN) :: numberOfVariables
30063  INTEGER(INTG), INTENT(OUT) :: err
30064  !Local variables
30065 
30066  enters("cmfe_Field_NumberOfVariablesSetObj",err,error,*999)
30067 
30068  CALL field_number_of_variables_set(field%field,numberofvariables,err,error,*999)
30069 
30070  exits("cmfe_Field_NumberOfVariablesSetObj")
30071  RETURN
30072 999 errorsexits("cmfe_Field_NumberOfVariablesSetObj",err,error)
30073  CALL cmfe_handleerror(err,error)
30074  RETURN
30075 
30076  END SUBROUTINE cmfe_field_numberofvariablessetobj
30077 
30078  !
30079  !================================================================================================================================
30080  !
30081 
30083  SUBROUTINE cmfe_field_parametersetaddconstantintgnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
30084  & componentnumber,value,err)
30085  !DLLEXPORT(cmfe_Field_ParameterSetAddConstantIntgNumber)
30086 
30087  !Argument variables
30088  INTEGER(INTG), INTENT(IN) :: regionUserNumber
30089  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
30090  INTEGER(INTG), INTENT(IN) :: variableType
30091  INTEGER(INTG), INTENT(IN) :: fieldSetType
30092  INTEGER(INTG), INTENT(IN) :: componentNumber
30093  INTEGER(INTG), INTENT(IN) :: value
30094  INTEGER(INTG), INTENT(OUT) :: err
30095  !Local variables
30096  TYPE(field_type), POINTER :: FIELD
30097  TYPE(region_type), POINTER :: REGION
30098  TYPE(varying_string) :: localError
30099 
30100  enters("cmfe_Field_ParameterSetAddConstantIntgNumber",err,error,*999)
30101 
30102  NULLIFY(region)
30103  NULLIFY(field)
30104  CALL region_user_number_find(regionusernumber,region,err,error,*999)
30105  IF(ASSOCIATED(region)) THEN
30106  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
30107  IF(ASSOCIATED(field)) THEN
30108  CALL field_parameter_set_add_constant(field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
30109  ELSE
30110  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
30111  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
30112  CALL flagerror(localerror,err,error,*999)
30113  END IF
30114  ELSE
30115  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
30116  CALL flagerror(localerror,err,error,*999)
30117  END IF
30118 
30119  exits("cmfe_Field_ParameterSetAddConstantIntgNumber")
30120  RETURN
30121 999 errors("cmfe_Field_ParameterSetAddConstantIntgNumber",err,error)
30122  exits("cmfe_Field_ParameterSetAddConstantIntgNumber")
30123  CALL cmfe_handleerror(err,error)
30124  RETURN
30125 
30127 
30128  !
30129  !================================================================================================================================
30130  !
30131 
30133  SUBROUTINE cmfe_field_parametersetaddconstantintgobj(field,variableType,fieldSetType,componentNumber,value,err)
30134  !DLLEXPORT(cmfe_Field_ParameterSetAddConstantIntgObj)
30135 
30136  !Argument variables
30137  TYPE(cmfe_fieldtype), INTENT(IN) :: field
30138  INTEGER(INTG), INTENT(IN) :: variableType
30139  INTEGER(INTG), INTENT(IN) :: fieldSetType
30140  INTEGER(INTG), INTENT(IN) :: componentNumber
30141  INTEGER(INTG), INTENT(IN) :: value
30142  INTEGER(INTG), INTENT(OUT) :: err
30143  !Local variables
30144 
30145  enters("cmfe_Field_ParameterSetAddConstantIntgObj",err,error,*999)
30146 
30147  CALL field_parameter_set_add_constant(field%field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
30148 
30149  exits("cmfe_Field_ParameterSetAddConstantIntgObj")
30150  RETURN
30151 999 errorsexits("cmfe_Field_ParameterSetAddConstantIntgObj",err,error)
30152  CALL cmfe_handleerror(err,error)
30153  RETURN
30154 
30156 
30157  !
30158  !================================================================================================================================
30159  !
30160 
30162  SUBROUTINE cmfe_field_parametersetaddconstantspnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
30163  & componentnumber,value,err)
30164  !DLLEXPORT(cmfe_Field_ParameterSetAddConstantSPNumber)
30165 
30166  !Argument variables
30167  INTEGER(INTG), INTENT(IN) :: regionUserNumber
30168  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
30169  INTEGER(INTG), INTENT(IN) :: variableType
30170  INTEGER(INTG), INTENT(IN) :: fieldSetType
30171  INTEGER(INTG), INTENT(IN) :: componentNumber
30172  REAL(SP), INTENT(IN) :: value
30173  INTEGER(INTG), INTENT(OUT) :: err
30174  !Local variables
30175  TYPE(field_type), POINTER :: FIELD
30176  TYPE(region_type), POINTER :: REGION
30177  TYPE(varying_string) :: localError
30178 
30179  enters("cmfe_Field_ParameterSetAddConstantSPNumber",err,error,*999)
30180 
30181  NULLIFY(region)
30182  NULLIFY(field)
30183  CALL region_user_number_find(regionusernumber,region,err,error,*999)
30184  IF(ASSOCIATED(region)) THEN
30185  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
30186  IF(ASSOCIATED(field)) THEN
30187  CALL field_parameter_set_add_constant(field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
30188  ELSE
30189  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
30190  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
30191  CALL flagerror(localerror,err,error,*999)
30192  END IF
30193  ELSE
30194  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
30195  CALL flagerror(localerror,err,error,*999)
30196  END IF
30197 
30198  exits("cmfe_Field_ParameterSetAddConstantSPNumber")
30199  RETURN
30200 999 errorsexits("cmfe_Field_ParameterSetAddConstantSPNumber",err,error)
30201  CALL cmfe_handleerror(err,error)
30202  RETURN
30203 
30205 
30206  !
30207  !================================================================================================================================
30208  !
30209 
30211  SUBROUTINE cmfe_field_parametersetaddconstantspobj(field,variableType,fieldSetType,componentNumber,value,err)
30212  !DLLEXPORT(cmfe_Field_ParameterSetAddConstantSPObj)
30213 
30214  !Argument variables
30215  TYPE(cmfe_fieldtype), INTENT(IN) :: field
30216  INTEGER(INTG), INTENT(IN) :: variableType
30217  INTEGER(INTG), INTENT(IN) :: fieldSetType
30218  INTEGER(INTG), INTENT(IN) :: componentNumber
30219  REAL(SP), INTENT(IN) :: value
30220  INTEGER(INTG), INTENT(OUT) :: err
30221  !Local variables
30222 
30223  enters("cmfe_Field_ParameterSetAddConstantSPObj",err,error,*999)
30224 
30225  CALL field_parameter_set_add_constant(field%field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
30226 
30227  exits("cmfe_Field_ParameterSetAddConstantSPObj")
30228  RETURN
30229 999 errorsexits("cmfe_Field_ParameterSetAddConstantSPObj",err,error)
30230  CALL cmfe_handleerror(err,error)
30231  RETURN
30232 
30234 
30235  !
30236  !================================================================================================================================
30237  !
30238 
30240  SUBROUTINE cmfe_field_parametersetaddconstantdpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
30241  & componentnumber,value,err)
30242  !DLLEXPORT(cmfe_Field_ParameterSetAddConstantDPNumber)
30243 
30244  !Argument variables
30245  INTEGER(INTG), INTENT(IN) :: regionUserNumber
30246  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
30247  INTEGER(INTG), INTENT(IN) :: variableType
30248  INTEGER(INTG), INTENT(IN) :: fieldSetType
30249  INTEGER(INTG), INTENT(IN) :: componentNumber
30250  REAL(DP), INTENT(IN) :: value
30251  INTEGER(INTG), INTENT(OUT) :: err
30252  !Local variables
30253  TYPE(field_type), POINTER :: FIELD
30254  TYPE(region_type), POINTER :: REGION
30255  TYPE(varying_string) :: localError
30256 
30257  enters("cmfe_Field_ParameterSetAddConstantDPNumber",err,error,*999)
30258 
30259  NULLIFY(region)
30260  NULLIFY(field)
30261  CALL region_user_number_find(regionusernumber,region,err,error,*999)
30262  IF(ASSOCIATED(region)) THEN
30263  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
30264  IF(ASSOCIATED(field)) THEN
30265  CALL field_parameter_set_add_constant(field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
30266  ELSE
30267  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
30268  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
30269  CALL flagerror(localerror,err,error,*999)
30270  END IF
30271  ELSE
30272  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
30273  CALL flagerror(localerror,err,error,*999)
30274  END IF
30275 
30276  exits("cmfe_Field_ParameterSetAddConstantDPNumber")
30277  RETURN
30278 999 errorsexits("cmfe_Field_ParameterSetAddConstantDPNumber",err,error)
30279  CALL cmfe_handleerror(err,error)
30280  RETURN
30281 
30283 
30284  !
30285  !================================================================================================================================
30286  !
30287 
30289  SUBROUTINE cmfe_field_parametersetaddconstantdpobj(field,variableType,fieldSetType,componentNumber,value,err)
30290  !DLLEXPORT(cmfe_Field_ParameterSetAddConstantDPObj)
30291 
30292  !Argument variables
30293  TYPE(cmfe_fieldtype), INTENT(IN) :: field
30294  INTEGER(INTG), INTENT(IN) :: variableType
30295  INTEGER(INTG), INTENT(IN) :: fieldSetType
30296  INTEGER(INTG), INTENT(IN) :: componentNumber
30297  REAL(DP), INTENT(IN) :: value
30298  INTEGER(INTG), INTENT(OUT) :: err
30299  !Local variables
30300 
30301  enters("cmfe_Field_ParameterSetAddConstantDPObj",err,error,*999)
30302 
30303  CALL field_parameter_set_add_constant(field%field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
30304 
30305  exits("cmfe_Field_ParameterSetAddConstantDPObj")
30306  RETURN
30307 999 errorsexits("cmfe_Field_ParameterSetAddConstantDPObj",err,error)
30308  CALL cmfe_handleerror(err,error)
30309  RETURN
30310 
30312 
30313  !
30314  !================================================================================================================================
30315  !
30316 
30318  SUBROUTINE cmfe_field_parametersetaddconstantlnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
30319  & componentnumber,value,err)
30320  !DLLEXPORT(cmfe_Field_ParameterSetAddConstantLNumber)
30321 
30322  !Argument variables
30323  INTEGER(INTG), INTENT(IN) :: regionUserNumber
30324  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
30325  INTEGER(INTG), INTENT(IN) :: variableType
30326  INTEGER(INTG), INTENT(IN) :: fieldSetType
30327  INTEGER(INTG), INTENT(IN) :: componentNumber
30328  LOGICAL, INTENT(IN) :: value
30329  INTEGER(INTG), INTENT(OUT) :: err
30330  !Local variables
30331  TYPE(field_type), POINTER :: FIELD
30332  TYPE(region_type), POINTER :: REGION
30333  TYPE(varying_string) :: localError
30334 
30335  enters("cmfe_Field_ParameterSetAddConstantLNumber",err,error,*999)
30336 
30337  NULLIFY(region)
30338  NULLIFY(field)
30339  CALL region_user_number_find(regionusernumber,region,err,error,*999)
30340  IF(ASSOCIATED(region)) THEN
30341  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
30342  IF(ASSOCIATED(field)) THEN
30343  CALL field_parameter_set_add_constant(field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
30344  ELSE
30345  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
30346  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
30347  CALL flagerror(localerror,err,error,*999)
30348  END IF
30349  ELSE
30350  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
30351  CALL flagerror(localerror,err,error,*999)
30352  END IF
30353 
30354  exits("cmfe_Field_ParameterSetAddConstantLNumber")
30355  RETURN
30356 999 errorsexits("cmfe_Field_ParameterSetAddConstantLNumber",err,error)
30357  CALL cmfe_handleerror(err,error)
30358  RETURN
30359 
30361 
30362  !
30363  !================================================================================================================================
30364  !
30365 
30367  SUBROUTINE cmfe_field_parametersetaddconstantlobj(field,variableType,fieldSetType,componentNumber,value,err)
30368  !DLLEXPORT(cmfe_Field_ParameterSetAddConstantLObj)
30369 
30370  !Argument variables
30371  TYPE(cmfe_fieldtype), INTENT(IN) :: field
30372  INTEGER(INTG), INTENT(IN) :: variableType
30373  INTEGER(INTG), INTENT(IN) :: fieldSetType
30374  INTEGER(INTG), INTENT(IN) :: componentNumber
30375  LOGICAL, INTENT(IN) :: value
30376  INTEGER(INTG), INTENT(OUT) :: err
30377  !Local variables
30378 
30379  enters("cmfe_Field_ParameterSetAddConstantLObj",err,error,*999)
30380 
30381  CALL field_parameter_set_add_constant(field%field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
30382 
30383  exits("cmfe_FieldParameterSetAddConstantLbj")
30384  RETURN
30385 999 errorsexits("cmfe_Field_ParameterSetAddConstantLObj",err,error)
30386  CALL cmfe_handleerror(err,error)
30387  RETURN
30388 
30390 
30391  !
30392  !================================================================================================================================
30393  !
30394 
30396  SUBROUTINE cmfe_field_parametersetaddelementintgnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
30397  & userelementnumber,componentnumber,value,err)
30398  !DLLEXPORT(cmfe_Field_ParameterSetAddElementIntgNumber)
30399 
30400  !Argument variables
30401  INTEGER(INTG), INTENT(IN) :: regionUserNumber
30402  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
30403  INTEGER(INTG), INTENT(IN) :: variableType
30404  INTEGER(INTG), INTENT(IN) :: fieldSetType
30405  INTEGER(INTG), INTENT(IN) :: userElementNumber
30406  INTEGER(INTG), INTENT(IN) :: componentNumber
30407  INTEGER(INTG), INTENT(IN) :: value
30408  INTEGER(INTG), INTENT(OUT) :: err
30409  !Local variables
30410  TYPE(field_type), POINTER :: FIELD
30411  TYPE(region_type), POINTER :: REGION
30412  TYPE(varying_string) :: localError
30413 
30414  enters("cmfe_Field_ParameterSetAddElementIntgNumber",err,error,*999)
30415 
30416  NULLIFY(region)
30417  NULLIFY(field)
30418  CALL region_user_number_find(regionusernumber,region,err,error,*999)
30419  IF(ASSOCIATED(region)) THEN
30420  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
30421  IF(ASSOCIATED(field)) THEN
30422  CALL field_parameter_set_add_element(field,variabletype,fieldsettype,userelementnumber,componentnumber,value,err,error,*999)
30423  ELSE
30424  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
30425  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
30426  CALL flagerror(localerror,err,error,*999)
30427  END IF
30428  ELSE
30429  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
30430  CALL flagerror(localerror,err,error,*999)
30431  END IF
30432 
30433  exits("cmfe_Field_ParameterSetAddElementIntgNumber")
30434  RETURN
30435 999 errorsexits("cmfe_Field_ParameterSetAddElementIntgNumber",err,error)
30436  CALL cmfe_handleerror(err,error)
30437  RETURN
30438 
30440 
30441  !
30442  !================================================================================================================================
30443  !
30444 
30446  SUBROUTINE cmfe_field_parametersetaddelementintgobj(field,variableType,fieldSetType,userElementNumber,componentNumber,value,err)
30447  !DLLEXPORT(cmfe_Field_ParameterSetAddElementIntgObj)
30448 
30449  !Argument variables
30450  TYPE(cmfe_fieldtype), INTENT(IN) :: field
30451  INTEGER(INTG), INTENT(IN) :: variableType
30452  INTEGER(INTG), INTENT(IN) :: fieldSetType
30453  INTEGER(INTG), INTENT(IN) :: UserElementNumber
30454  INTEGER(INTG), INTENT(IN) :: componentNumber
30455  INTEGER(INTG), INTENT(IN) :: value
30456  INTEGER(INTG), INTENT(OUT) :: err
30457  !Local variables
30458 
30459  enters("cmfe_Field_ParameterSetAddElementIntgObj",err,error,*999)
30460 
30461  CALL field_parameter_set_add_element(field%field,variabletype,fieldsettype,userelementnumber,componentnumber,value, &
30462  & err,error,*999)
30463 
30464  exits("cmfe_Field_ParameterSetAddElementIntgObj")
30465  RETURN
30466 999 errorsexits("cmfe_Field_ParameterSetAddElementIntgObj",err,error)
30467  CALL cmfe_handleerror(err,error)
30468  RETURN
30469 
30471 
30472  !
30473  !================================================================================================================================
30474  !
30475 
30477  SUBROUTINE cmfe_field_parametersetaddelementspnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
30478  & userelementnumber,componentnumber,value,err)
30479  !DLLEXPORT(cmfe_Field_ParameterSetAddElementSPNumber)
30480 
30481  !Argument variables
30482  INTEGER(INTG), INTENT(IN) :: regionUserNumber
30483  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
30484  INTEGER(INTG), INTENT(IN) :: variableType
30485  INTEGER(INTG), INTENT(IN) :: fieldSetType
30486  INTEGER(INTG), INTENT(IN) :: userElementNumber
30487  INTEGER(INTG), INTENT(IN) :: componentNumber
30488  REAL(SP), INTENT(IN) :: value
30489  INTEGER(INTG), INTENT(OUT) :: err
30490  !Local variables
30491  TYPE(field_type), POINTER :: FIELD
30492  TYPE(region_type), POINTER :: REGION
30493  TYPE(varying_string) :: localError
30494 
30495  enters("cmfe_Field_ParameterSetAddElementSPNumber",err,error,*999)
30496 
30497  NULLIFY(region)
30498  NULLIFY(field)
30499  CALL region_user_number_find(regionusernumber,region,err,error,*999)
30500  IF(ASSOCIATED(region)) THEN
30501  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
30502  IF(ASSOCIATED(field)) THEN
30503  CALL field_parameter_set_add_element(field,variabletype,fieldsettype,userelementnumber,componentnumber,value,err,error,*999)
30504  ELSE
30505  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
30506  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
30507  CALL flagerror(localerror,err,error,*999)
30508  END IF
30509  ELSE
30510  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
30511  CALL flagerror(localerror,err,error,*999)
30512  END IF
30513 
30514  exits("cmfe_Field_ParameterSetAddElementSPNumber")
30515  RETURN
30516 999 errorsexits("cmfe_Field_ParameterSetAddElementSPNumber",err,error)
30517  CALL cmfe_handleerror(err,error)
30518  RETURN
30519 
30521 
30522  !
30523  !================================================================================================================================
30524  !
30525 
30527  SUBROUTINE cmfe_field_parametersetaddelementspobj(field,variableType,fieldSetType,userElementNumber,componentNumber,value,err)
30528  !DLLEXPORT(cmfe_Field_ParameterSetAddElementSPObj)
30529 
30530  !Argument variables
30531  TYPE(cmfe_fieldtype), INTENT(IN) :: field
30532  INTEGER(INTG), INTENT(IN) :: variableType
30533  INTEGER(INTG), INTENT(IN) :: fieldSetType
30534  INTEGER(INTG), INTENT(IN) :: userElementNumber
30535  INTEGER(INTG), INTENT(IN) :: componentNumber
30536  REAL(SP), INTENT(IN) :: value
30537  INTEGER(INTG), INTENT(OUT) :: err
30538  !Local variables
30539 
30540  enters("cmfe_Field_ParameterSetAddElementSPObj",err,error,*999)
30541 
30542  CALL field_parameter_set_add_element(field%field,variabletype,fieldsettype,userelementnumber,componentnumber,value, &
30543  & err,error,*999)
30544 
30545  exits("cmfe_Field_ParameterSetAddElementSPObj")
30546  RETURN
30547 999 errorsexits("cmfe_Field_ParameterSetAddElementSPObj",err,error)
30548  CALL cmfe_handleerror(err,error)
30549  RETURN
30550 
30552 
30553  !
30554  !================================================================================================================================
30555  !
30556 
30558  SUBROUTINE cmfe_field_parametersetaddelementdpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
30559  & userelementnumber,componentnumber,value,err)
30560  !DLLEXPORT(cmfe_Field_ParameterSetAddElementDPNumber)
30561 
30562  !Argument variables
30563  INTEGER(INTG), INTENT(IN) :: regionUserNumber
30564  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
30565  INTEGER(INTG), INTENT(IN) :: variableType
30566  INTEGER(INTG), INTENT(IN) :: fieldSetType
30567  INTEGER(INTG), INTENT(IN) :: userElementNumber
30568  INTEGER(INTG), INTENT(IN) :: componentNumber
30569  REAL(DP), INTENT(IN) :: value
30570  INTEGER(INTG), INTENT(OUT) :: err
30571  !Local variables
30572  TYPE(field_type), POINTER :: FIELD
30573  TYPE(region_type), POINTER :: REGION
30574  TYPE(varying_string) :: localError
30575 
30576  enters("cmfe_Field_ParameterSetAddElementDPNumber",err,error,*999)
30577 
30578  NULLIFY(region)
30579  NULLIFY(field)
30580  CALL region_user_number_find(regionusernumber,region,err,error,*999)
30581  IF(ASSOCIATED(region)) THEN
30582  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
30583  IF(ASSOCIATED(field)) THEN
30584  CALL field_parameter_set_add_element(field,variabletype,fieldsettype,userelementnumber,componentnumber,value,err,error,*999)
30585  ELSE
30586  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
30587  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
30588  CALL flagerror(localerror,err,error,*999)
30589  END IF
30590  ELSE
30591  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
30592  CALL flagerror(localerror,err,error,*999)
30593  END IF
30594 
30595  exits("cmfe_Field_ParameterSetAddElementDPNumber")
30596  RETURN
30597 999 errorsexits("cmfe_Field_ParameterSetAddElementDPNumber",err,error)
30598  CALL cmfe_handleerror(err,error)
30599  RETURN
30600 
30602 
30603  !
30604  !================================================================================================================================
30605  !
30606 
30608  SUBROUTINE cmfe_field_parametersetaddelementdpobj(field,variableType,fieldSetType,userElementNumber,componentNumber,value,err)
30609  !DLLEXPORT(cmfe_Field_ParameterSetAddElementDPObj)
30610 
30611  !Argument variables
30612  TYPE(cmfe_fieldtype), INTENT(IN) :: field
30613  INTEGER(INTG), INTENT(IN) :: variableType
30614  INTEGER(INTG), INTENT(IN) :: fieldSetType
30615  INTEGER(INTG), INTENT(IN) :: userElementNumber
30616  INTEGER(INTG), INTENT(IN) :: componentNumber
30617  REAL(DP), INTENT(IN) :: value
30618  INTEGER(INTG), INTENT(OUT) :: err
30619  !Local variables
30620 
30621  enters("cmfe_Field_ParameterSetAddElementDPObj",err,error,*999)
30622 
30623  CALL field_parameter_set_add_element(field%field,variabletype,fieldsettype,userelementnumber,componentnumber,value, &
30624  & err,error,*999)
30625 
30626  exits("cmfe_Field_ParameterSetAddElementDPObj")
30627  RETURN
30628 999 errorsexits("cmfe_Field_ParameterSetAddElementDPObj",err,error)
30629  CALL cmfe_handleerror(err,error)
30630  RETURN
30631 
30633 
30634  !
30635  !================================================================================================================================
30636  !
30637 
30639  SUBROUTINE cmfe_field_parametersetaddelementlnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
30640  & userelementnumber,componentnumber,value,err)
30641  !DLLEXPORT(cmfe_Field_ParameterSetAddElementLNumber)
30642 
30643  !Argument variables
30644  INTEGER(INTG), INTENT(IN) :: regionUserNumber
30645  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
30646  INTEGER(INTG), INTENT(IN) :: variableType
30647  INTEGER(INTG), INTENT(IN) :: fieldSetType
30648  INTEGER(INTG), INTENT(IN) :: userElementNumber
30649  INTEGER(INTG), INTENT(IN) :: componentNumber
30650  LOGICAL, INTENT(IN) :: value
30651  INTEGER(INTG), INTENT(OUT) :: err
30652  !Local variables
30653  TYPE(field_type), POINTER :: FIELD
30654  TYPE(region_type), POINTER :: REGION
30655  TYPE(varying_string) :: localError
30656 
30657  enters("cmfe_Field_ParameterSetAddElementLNumber",err,error,*999)
30658 
30659  NULLIFY(region)
30660  NULLIFY(field)
30661  CALL region_user_number_find(regionusernumber,region,err,error,*999)
30662  IF(ASSOCIATED(region)) THEN
30663  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
30664  IF(ASSOCIATED(field)) THEN
30665  CALL field_parameter_set_add_element(field,variabletype,fieldsettype,userelementnumber,componentnumber,value,err,error,*999)
30666  ELSE
30667  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
30668  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
30669  CALL flagerror(localerror,err,error,*999)
30670  END IF
30671  ELSE
30672  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
30673  CALL flagerror(localerror,err,error,*999)
30674  END IF
30675 
30676  exits("cmfe_Field_ParameterSetAddElementLNumber")
30677  RETURN
30678 999 errorsexits("cmfe_Field_ParameterSetAddElementLNumber",err,error)
30679  CALL cmfe_handleerror(err,error)
30680  RETURN
30681 
30683 
30684  !
30685  !================================================================================================================================
30686  !
30687 
30689  SUBROUTINE cmfe_field_parametersetaddelementlobj(field,variableType,fieldSetType,userElementNumber,componentNumber,value,err)
30690  !DLLEXPORT(cmfe_Field_ParameterSetAddElementLObj)
30691 
30692  !Argument variables
30693  TYPE(cmfe_fieldtype), INTENT(IN) :: field
30694  INTEGER(INTG), INTENT(IN) :: variableType
30695  INTEGER(INTG), INTENT(IN) :: fieldSetType
30696  INTEGER(INTG), INTENT(IN) :: userElementNumber
30697  INTEGER(INTG), INTENT(IN) :: componentNumber
30698  LOGICAL, INTENT(IN) :: value
30699  INTEGER(INTG), INTENT(OUT) :: err
30700  !Local variables
30701 
30702  enters("cmfe_Field_ParameterSetAddElementLObj",err,error,*999)
30703 
30704  CALL field_parameter_set_add_element(field%field,variabletype,fieldsettype,userelementnumber,componentnumber,value, &
30705  & err,error,*999)
30706 
30707  exits("cmfe_Field_ParameterSetAddElementLObj")
30708  RETURN
30709 999 errorsexits("cmfe_Field_ParameterSetAddElementLObj",err,error)
30710  CALL cmfe_handleerror(err,error)
30711  RETURN
30712 
30714 
30715  !
30716  !================================================================================================================================
30717  !
30718 
30720  SUBROUTINE cmfe_field_parametersetaddnodeintgnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,versionNumber, &
30721  & derivativenumber,usernodenumber,componentnumber,value,err)
30722  !DLLEXPORT(cmfe_Field_ParameterSetAddNodeIntgNumber)
30723 
30724  !Argument variables
30725  INTEGER(INTG), INTENT(IN) :: regionUserNumber
30726  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
30727  INTEGER(INTG), INTENT(IN) :: variableType
30728  INTEGER(INTG), INTENT(IN) :: fieldSetType
30729  INTEGER(INTG), INTENT(IN) :: versionNumber
30730  INTEGER(INTG), INTENT(IN) :: derivativeNumber
30731  INTEGER(INTG), INTENT(IN) :: userNodeNumber
30732  INTEGER(INTG), INTENT(IN) :: componentNumber
30733  INTEGER(INTG), INTENT(IN) :: value
30734  INTEGER(INTG), INTENT(OUT) :: err
30735  !Local variables
30736  TYPE(field_type), POINTER :: FIELD
30737  TYPE(region_type), POINTER :: REGION
30738  TYPE(varying_string) :: localError
30739 
30740  enters("cmfe_Field_ParameterSetAddNodeIntgNumber",err,error,*999)
30741 
30742  NULLIFY(region)
30743  NULLIFY(field)
30744  CALL region_user_number_find(regionusernumber,region,err,error,*999)
30745  IF(ASSOCIATED(region)) THEN
30746  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
30747  IF(ASSOCIATED(field)) THEN
30748  CALL field_parameter_set_add_node(field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
30749  & componentnumber,value,err,error,*999)
30750  ELSE
30751  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
30752  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
30753  CALL flagerror(localerror,err,error,*999)
30754  END IF
30755  ELSE
30756  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
30757  CALL flagerror(localerror,err,error,*999)
30758  END IF
30759 
30760  exits("cmfe_Field_ParameterSetAddNodeIntgNumber")
30761  RETURN
30762 999 errorsexits("cmfe_Field_ParameterSetAddNodeIntgNumber",err,error)
30763  CALL cmfe_handleerror(err,error)
30764  RETURN
30765 
30767 
30768  !
30769  !================================================================================================================================
30770  !
30771 
30773  SUBROUTINE cmfe_field_parametersetaddnodeintgobj(field,variableType,fieldSetType,versionNumber,derivativeNumber,userNodeNumber, &
30774  & componentnumber,value,err)
30775  !DLLEXPORT(cmfe_Field_ParameterSetAddNodeIntgObj)
30776 
30777  !Argument variables
30778  TYPE(cmfe_fieldtype), INTENT(IN) :: field
30779  INTEGER(INTG), INTENT(IN) :: variableType
30780  INTEGER(INTG), INTENT(IN) :: fieldSetType
30781  INTEGER(INTG), INTENT(IN) :: versionNumber
30782  INTEGER(INTG), INTENT(IN) :: derivativeNumber
30783  INTEGER(INTG), INTENT(IN) :: userNodeNumber
30784  INTEGER(INTG), INTENT(IN) :: componentNumber
30785  INTEGER(INTG), INTENT(IN) :: value
30786  INTEGER(INTG), INTENT(OUT) :: err
30787  !Local variables
30788 
30789  enters("cmfe_Field_ParameterSetAddNodeIntgObj",err,error,*999)
30790 
30791  CALL field_parameter_set_add_node(field%field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
30792  & componentnumber,value,err,error,*999)
30793 
30794  exits("cmfe_Field_ParameterSetAddNodeIntgObj")
30795  RETURN
30796 999 errorsexits("cmfe_Field_ParameterSetAddNodeIntgObj",err,error)
30797  CALL cmfe_handleerror(err,error)
30798  RETURN
30799 
30801 
30802  !
30803  !================================================================================================================================
30804  !
30805 
30807  SUBROUTINE cmfe_field_parametersetaddnodespnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,versionNumber, &
30808  & derivativenumber,usernodenumber,componentnumber,value,err)
30809  !DLLEXPORT(cmfe_Field_ParameterSetAddNodeSPNumber)
30810 
30811  !Argument variables
30812  INTEGER(INTG), INTENT(IN) :: regionUserNumber
30813  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
30814  INTEGER(INTG), INTENT(IN) :: variableType
30815  INTEGER(INTG), INTENT(IN) :: fieldSetType
30816  INTEGER(INTG), INTENT(IN) :: versionNumber
30817  INTEGER(INTG), INTENT(IN) :: derivativeNumber
30818  INTEGER(INTG), INTENT(IN) :: userNodeNumber
30819  INTEGER(INTG), INTENT(IN) :: componentNumber
30820  REAL(SP), INTENT(IN) :: value
30821  INTEGER(INTG), INTENT(OUT) :: err
30822  !Local variables
30823  TYPE(field_type), POINTER :: FIELD
30824  TYPE(region_type), POINTER :: REGION
30825  TYPE(varying_string) :: localError
30826 
30827  enters("cmfe_Field_ParameterSetAddNodeSPNumber",err,error,*999)
30828 
30829  NULLIFY(region)
30830  NULLIFY(field)
30831  CALL region_user_number_find(regionusernumber,region,err,error,*999)
30832  IF(ASSOCIATED(region)) THEN
30833  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
30834  IF(ASSOCIATED(field)) THEN
30835  CALL field_parameter_set_add_node(field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
30836  & componentnumber,value,err,error,*999)
30837  ELSE
30838  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
30839  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
30840  CALL flagerror(localerror,err,error,*999)
30841  END IF
30842  ELSE
30843  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
30844  CALL flagerror(localerror,err,error,*999)
30845  END IF
30846 
30847  exits("cmfe_Field_ParameterSetAddNodeSPNumber")
30848  RETURN
30849 999 errorsexits("cmfe_Field_ParameterSetAddNodeSPNumber",err,error)
30850  CALL cmfe_handleerror(err,error)
30851  RETURN
30852 
30854 
30855  !
30856  !================================================================================================================================
30857  !
30858 
30860  SUBROUTINE cmfe_field_parametersetaddnodespobj(field,variableType,fieldSetType,versionNumber,derivativeNumber,userNodeNumber, &
30861  & componentnumber,value,err)
30862  !DLLEXPORT(cmfe_Field_ParameterSetAddNodeSPObj)
30863 
30864  !Argument variables
30865  TYPE(cmfe_fieldtype), INTENT(IN) :: field
30866  INTEGER(INTG), INTENT(IN) :: variableType
30867  INTEGER(INTG), INTENT(IN) :: fieldSetType
30868  INTEGER(INTG), INTENT(IN) :: versionNumber
30869  INTEGER(INTG), INTENT(IN) :: derivativeNumber
30870  INTEGER(INTG), INTENT(IN) :: userNodeNumber
30871  INTEGER(INTG), INTENT(IN) :: componentNumber
30872  REAL(SP), INTENT(IN) :: value
30873  INTEGER(INTG), INTENT(OUT) :: err
30874  !Local variables
30875 
30876  enters("cmfe_Field_ParameterSetAddNodeSPObj",err,error,*999)
30877 
30878  CALL field_parameter_set_add_node(field%field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
30879  & componentnumber,value,err,error,*999)
30880 
30881  exits("cmfe_Field_ParameterSetAddNodeSPObj")
30882  RETURN
30883 999 errorsexits("cmfe_Field_ParameterSetAddNodeSPObj",err,error)
30884  CALL cmfe_handleerror(err,error)
30885  RETURN
30886 
30888 
30889  !
30890  !================================================================================================================================
30891  !
30892 
30894  SUBROUTINE cmfe_field_parametersetaddnodedpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,versionNumber, &
30895  & derivativenumber,usernodenumber,componentnumber,value,err)
30896  !DLLEXPORT(cmfe_Field_ParameterSetAddNodeDPNumber)
30897 
30898  !Argument variables
30899  INTEGER(INTG), INTENT(IN) :: regionUserNumber
30900  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
30901  INTEGER(INTG), INTENT(IN) :: variableType
30902  INTEGER(INTG), INTENT(IN) :: fieldSetType
30903  INTEGER(INTG), INTENT(IN) :: versionNumber
30904  INTEGER(INTG), INTENT(IN) :: derivativeNumber
30905  INTEGER(INTG), INTENT(IN) :: userNodeNumber
30906  INTEGER(INTG), INTENT(IN) :: componentNumber
30907  REAL(DP), INTENT(IN) :: value
30908  INTEGER(INTG), INTENT(OUT) :: err
30909  !Local variables
30910  TYPE(field_type), POINTER :: FIELD
30911  TYPE(region_type), POINTER :: REGION
30912  TYPE(varying_string) :: localError
30913 
30914  enters("cmfe_Field_ParameterSetAddNodeDPNumber",err,error,*999)
30915 
30916  NULLIFY(region)
30917  NULLIFY(field)
30918  CALL region_user_number_find(regionusernumber,region,err,error,*999)
30919  IF(ASSOCIATED(region)) THEN
30920  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
30921  IF(ASSOCIATED(field)) THEN
30922  CALL field_parameter_set_add_node(field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
30923  & componentnumber,value,err,error,*999)
30924  ELSE
30925  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
30926  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
30927  CALL flagerror(localerror,err,error,*999)
30928  END IF
30929  ELSE
30930  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
30931  CALL flagerror(localerror,err,error,*999)
30932  END IF
30933 
30934  exits("cmfe_Field_ParameterSetAddNodeDPNumber")
30935  RETURN
30936 999 errorsexits("cmfe_Field_ParameterSetAddNodeDPNumber",err,error)
30937  CALL cmfe_handleerror(err,error)
30938  RETURN
30939 
30941 
30942  !
30943  !================================================================================================================================
30944  !
30945 
30947  SUBROUTINE cmfe_field_parametersetaddnodedpobj(field,variableType,fieldSetType,versionNumber,derivativeNumber,userNodeNumber, &
30948  & componentnumber,value,err)
30949  !DLLEXPORT(cmfe_Field_ParameterSetAddNodeDPObj)
30950 
30951  !Argument variables
30952  TYPE(cmfe_fieldtype), INTENT(IN) :: field
30953  INTEGER(INTG), INTENT(IN) :: variableType
30954  INTEGER(INTG), INTENT(IN) :: fieldSetType
30955  INTEGER(INTG), INTENT(IN) :: versionNumber
30956  INTEGER(INTG), INTENT(IN) :: derivativeNumber
30957  INTEGER(INTG), INTENT(IN) :: userNodeNumber
30958  INTEGER(INTG), INTENT(IN) :: componentNumber
30959  REAL(DP), INTENT(IN) :: value
30960  INTEGER(INTG), INTENT(OUT) :: err
30961  !Local variables
30962 
30963  enters("cmfe_Field_ParameterSetAddNodeDPObj",err,error,*999)
30964 
30965  CALL field_parameter_set_add_node(field%field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
30966  & componentnumber,value,err,error,*999)
30967 
30968  exits("cmfe_Field_ParameterSetAddNodeDPObj")
30969  RETURN
30970 999 errorsexits("cmfe_Field_ParameterSetAddNodeDPObj",err,error)
30971  CALL cmfe_handleerror(err,error)
30972  RETURN
30973 
30975 
30976  !
30977  !================================================================================================================================
30978  !
30979 
30981  SUBROUTINE cmfe_field_parametersetaddnodelnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,versionNumber, &
30982  & derivativenumber,usernodenumber,componentnumber,value,err)
30983  !DLLEXPORT(cmfe_Field_ParameterSetAddNodeLNumber)
30984 
30985  !Argument variables
30986  INTEGER(INTG), INTENT(IN) :: regionUserNumber
30987  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
30988  INTEGER(INTG), INTENT(IN) :: variableType
30989  INTEGER(INTG), INTENT(IN) :: fieldSetType
30990  INTEGER(INTG), INTENT(IN) :: versionNumber
30991  INTEGER(INTG), INTENT(IN) :: derivativeNumber
30992  INTEGER(INTG), INTENT(IN) :: userNodeNumber
30993  INTEGER(INTG), INTENT(IN) :: componentNumber
30994  LOGICAL, INTENT(IN) :: value
30995  INTEGER(INTG), INTENT(OUT) :: err
30996  !Local variables
30997  TYPE(field_type), POINTER :: FIELD
30998  TYPE(region_type), POINTER :: REGION
30999  TYPE(varying_string) :: localError
31000 
31001  enters("cmfe_Field_ParameterSetAddNodeLNumber",err,error,*999)
31002 
31003  NULLIFY(region)
31004  NULLIFY(field)
31005  CALL region_user_number_find(regionusernumber,region,err,error,*999)
31006  IF(ASSOCIATED(region)) THEN
31007  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
31008  IF(ASSOCIATED(field)) THEN
31009  CALL field_parameter_set_add_node(field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
31010  & componentnumber,value,err,error,*999)
31011  ELSE
31012  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
31013  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
31014  CALL flagerror(localerror,err,error,*999)
31015  END IF
31016  ELSE
31017  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
31018  CALL flagerror(localerror,err,error,*999)
31019  END IF
31020 
31021  exits("cmfe_Field_ParameterSetAddNodeLNumber")
31022  RETURN
31023 999 errorsexits("cmfe_Field_ParameterSetAddNodeLNumber",err,error)
31024  CALL cmfe_handleerror(err,error)
31025  RETURN
31026 
31028 
31029  !
31030  !================================================================================================================================
31031  !
31032 
31034  SUBROUTINE cmfe_field_parametersetaddnodelobj(field,variableType,fieldSetType,versionNumber,derivativeNumber,userNodeNumber, &
31035  & componentnumber, value,err)
31036  !DLLEXPORT(cmfe_Field_ParameterSetAddNodeLObj)
31037 
31038  !Argument variables
31039  TYPE(cmfe_fieldtype), INTENT(IN) :: field
31040  INTEGER(INTG), INTENT(IN) :: variableType
31041  INTEGER(INTG), INTENT(IN) :: fieldSetType
31042  INTEGER(INTG), INTENT(IN) :: versionNumber
31043  INTEGER(INTG), INTENT(IN) :: derivativeNumber
31044  INTEGER(INTG), INTENT(IN) :: userNodeNumber
31045  INTEGER(INTG), INTENT(IN) :: componentNumber
31046  LOGICAL, INTENT(IN) :: value
31047  INTEGER(INTG), INTENT(OUT) :: err
31048  !Local variables
31049 
31050  enters("cmfe_Field_ParameterSetAddNodeLObj",err,error,*999)
31051 
31052  CALL field_parameter_set_add_node(field%field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
31053  & componentnumber, value,err,error,*999)
31054 
31055  exits("cmfe_Field_ParameterSetAddNodeLObj")
31056  RETURN
31057 999 errorsexits("cmfe_Field_ParameterSetAddNodeLObj",err,error)
31058  CALL cmfe_handleerror(err,error)
31059  RETURN
31060 
31061  END SUBROUTINE cmfe_field_parametersetaddnodelobj
31062 
31063  !
31064  !================================================================================================================================
31065  !
31066 
31068  SUBROUTINE cmfe_field_parametersetcreatenumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,err)
31069  !DLLEXPORT(cmfe_Field_ParameterSetCreateNumber)
31070 
31071  !Argument variables
31072  INTEGER(INTG), INTENT(IN) :: regionUserNumber
31073  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
31074  INTEGER(INTG), INTENT(IN) :: variableType
31075  INTEGER(INTG), INTENT(IN) :: fieldSetType
31076  INTEGER(INTG), INTENT(OUT) :: err
31077  !Local variables
31078  TYPE(field_type), POINTER :: FIELD
31079  TYPE(region_type), POINTER :: REGION
31080  TYPE(varying_string) :: localError
31081 
31082  enters("cmfe_Field_ParameterSetCreateNumber",err,error,*999)
31083 
31084  NULLIFY(region)
31085  NULLIFY(field)
31086  CALL region_user_number_find(regionusernumber,region,err,error,*999)
31087  IF(ASSOCIATED(region)) THEN
31088  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
31089  IF(ASSOCIATED(field)) THEN
31090  CALL field_parameter_set_create(field,variabletype,fieldsettype,err,error,*999)
31091  ELSE
31092  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
31093  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
31094  CALL flagerror(localerror,err,error,*999)
31095  END IF
31096  ELSE
31097  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
31098  CALL flagerror(localerror,err,error,*999)
31099  END IF
31100 
31101  exits("cmfe_Field_ParameterSetCreateNumber")
31102  RETURN
31103 999 errorsexits("cmfe_Field_ParameterSetCreateNumber",err,error)
31104  CALL cmfe_handleerror(err,error)
31105  RETURN
31106 
31108 
31109  !
31110  !================================================================================================================================
31111  !
31112 
31114  SUBROUTINE cmfe_field_parametersetcreateobj(field,variableType,fieldSetType,err)
31115  !DLLEXPORT(cmfe_Field_ParameterSetCreateObj)
31116 
31117  !Argument variables
31118  TYPE(cmfe_fieldtype), INTENT(IN) :: field
31119  INTEGER(INTG), INTENT(IN) :: variableType
31120  INTEGER(INTG), INTENT(IN) :: fieldSetType
31121  INTEGER(INTG), INTENT(OUT) :: err
31122  !Local variables
31123 
31124  enters("cmfe_Field_ParameterSetCreateObj",err,error,*999)
31125 
31126  CALL field_parameter_set_create(field%field,variabletype,fieldsettype,err,error,*999)
31127 
31128  exits("cmfe_Field_ParameterSetCreateObj")
31129  RETURN
31130 999 errorsexits("cmfe_Field_ParameterSetCreateObj",err,error)
31131  CALL cmfe_handleerror(err,error)
31132  RETURN
31133 
31134  END SUBROUTINE cmfe_field_parametersetcreateobj
31135 
31136  !
31137  !================================================================================================================================
31138  !
31139 
31141  SUBROUTINE cmfe_field_parametersetdestroynumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,err)
31142  !DLLEXPORT(cmfe_Field_ParameterSetDestroyNumber)
31143 
31144  !Argument variables
31145  INTEGER(INTG), INTENT(IN) :: regionUserNumber
31146  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
31147  INTEGER(INTG), INTENT(IN) :: variableType
31148  INTEGER(INTG), INTENT(IN) :: fieldSetType
31149  INTEGER(INTG), INTENT(OUT) :: err
31150  !Local variables
31151  TYPE(field_type), POINTER :: FIELD
31152  TYPE(region_type), POINTER :: REGION
31153  TYPE(varying_string) :: localError
31154 
31155  enters("cmfe_Field_ParameterSetDestroyNumber",err,error,*999)
31156 
31157  NULLIFY(region)
31158  NULLIFY(field)
31159  CALL region_user_number_find(regionusernumber,region,err,error,*999)
31160  IF(ASSOCIATED(region)) THEN
31161  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
31162  IF(ASSOCIATED(field)) THEN
31163  CALL field_parameter_set_destroy(field,variabletype,fieldsettype,err,error,*999)
31164  ELSE
31165  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
31166  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
31167  CALL flagerror(localerror,err,error,*999)
31168  END IF
31169  ELSE
31170  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
31171  CALL flagerror(localerror,err,error,*999)
31172  END IF
31173 
31174  exits("cmfe_Field_ParameterSetDestroyNumber")
31175  RETURN
31176 999 errorsexits("cmfe_Field_ParameterSetDestroyNumber",err,error)
31177  CALL cmfe_handleerror(err,error)
31178  RETURN
31179 
31181 
31182  !
31183  !================================================================================================================================
31184  !
31185 
31187  SUBROUTINE cmfe_field_parametersetdestroyobj(field,variableType,fieldSetType,err)
31188  !DLLEXPORT(cmfe_Field_ParameterSetDestroyObj)
31189 
31190  !Argument variables
31191  TYPE(cmfe_fieldtype), INTENT(IN) :: field
31192  INTEGER(INTG), INTENT(IN) :: variableType
31193  INTEGER(INTG), INTENT(IN) :: fieldSetType
31194  INTEGER(INTG), INTENT(OUT) :: err
31195  !Local variables
31196 
31197  enters("cmfe_Field_ParameterSetDestroyObj",err,error,*999)
31198 
31199  CALL field_parameter_set_destroy(field%field,variabletype,fieldsettype,err,error,*999)
31200 
31201  exits("cmfe_Field_ParameterSetDestroyObj")
31202  RETURN
31203 999 errorsexits("cmfe_Field_ParameterSetDestroyObj",err,error)
31204  CALL cmfe_handleerror(err,error)
31205  RETURN
31206 
31207  END SUBROUTINE cmfe_field_parametersetdestroyobj
31208 
31209  !
31210  !================================================================================================================================
31211  !
31212 
31214  SUBROUTINE cmfe_field_parametersetdatagetintgnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,parameters,err)
31215  !DLLEXPORT(cmfe_Field_ParameterSetDataGetIntgNumber)
31216 
31217  !Argument variables
31218  INTEGER(INTG), INTENT(IN) :: regionUserNumber
31219  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
31220  INTEGER(INTG), INTENT(IN) :: variableType
31221  INTEGER(INTG), INTENT(IN) :: fieldSetType
31222  INTEGER(INTG), INTENT(OUT), POINTER :: parameters(:)
31223  INTEGER(INTG), INTENT(OUT) :: err
31224  !Local variables
31225  TYPE(field_type), POINTER :: FIELD
31226  TYPE(region_type), POINTER :: REGION
31227  TYPE(varying_string) :: localError
31228 
31229  enters("cmfe_Field_ParameterSetDataGetIntgNumber",err,error,*999)
31230 
31231  NULLIFY(region)
31232  NULLIFY(field)
31233  CALL region_user_number_find(regionusernumber,region,err,error,*999)
31234  IF(ASSOCIATED(region)) THEN
31235  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
31236  IF(ASSOCIATED(field)) THEN
31237  CALL field_parameter_set_data_get(field,variabletype,fieldsettype,parameters,err,error,*999)
31238  ELSE
31239  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
31240  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
31241  CALL flagerror(localerror,err,error,*999)
31242  END IF
31243  ELSE
31244  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
31245  CALL flagerror(localerror,err,error,*999)
31246  END IF
31247 
31248  exits("cmfe_Field_ParameterSetDataGetIntgNumber")
31249  RETURN
31250 999 errorsexits("cmfe_Field_ParameterSetDataGetIntgNumber",err,error)
31251  CALL cmfe_handleerror(err,error)
31252  RETURN
31253 
31255 
31256  !
31257  !================================================================================================================================
31258  !
31259 
31261  SUBROUTINE cmfe_field_parametersetdatagetintgobj(field,variableType,fieldSetType,parameters,err)
31262  !DLLEXPORT(cmfe_Field_ParameterSetDataGetIntgObj)
31263 
31264  !Argument variables
31265  TYPE(cmfe_fieldtype), INTENT(IN) :: field
31266  INTEGER(INTG), INTENT(IN) :: variableType
31267  INTEGER(INTG), INTENT(IN) :: fieldSetType
31268  INTEGER(INTG), INTENT(OUT), POINTER :: parameters(:)
31269  INTEGER(INTG), INTENT(OUT) :: err
31270  !Local variables
31271 
31272  enters("cmfe_Field_ParameterSetDataGetIntgObj",err,error,*999)
31273 
31274  CALL field_parameter_set_data_get(field%field,variabletype,fieldsettype,parameters,err,error,*999)
31275 
31276  exits("cmfe_Field_ParameterSetDataGetIntgObj")
31277  RETURN
31278 999 errorsexits("cmfe_Field_ParameterSetDataGetIntgObj",err,error)
31279  CALL cmfe_handleerror(err,error)
31280  RETURN
31281 
31283 
31284  !
31285  !================================================================================================================================
31286  !
31287 
31289  SUBROUTINE cmfe_field_parametersetdatagetspnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,parameters,err)
31290  !DLLEXPORT(cmfe_Field_ParameterSetDataGetSPNumber)
31291 
31292  !Argument variables
31293  INTEGER(INTG), INTENT(IN) :: regionUserNumber
31294  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
31295  INTEGER(INTG), INTENT(IN) :: variableType
31296  INTEGER(INTG), INTENT(IN) :: fieldSetType
31297  REAL(SP), INTENT(OUT), POINTER :: parameters(:)
31298  INTEGER(INTG), INTENT(OUT) :: err
31299  !Local variables
31300  TYPE(field_type), POINTER :: FIELD
31301  TYPE(region_type), POINTER :: REGION
31302  TYPE(varying_string) :: localError
31303 
31304  enters("cmfe_Field_ParameterSetDataGetSPNumber",err,error,*999)
31305 
31306  NULLIFY(region)
31307  NULLIFY(field)
31308  CALL region_user_number_find(regionusernumber,region,err,error,*999)
31309  IF(ASSOCIATED(region)) THEN
31310  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
31311  IF(ASSOCIATED(field)) THEN
31312  CALL field_parameter_set_data_get(field,variabletype,fieldsettype,parameters,err,error,*999)
31313  ELSE
31314  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
31315  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
31316  CALL flagerror(localerror,err,error,*999)
31317  END IF
31318  ELSE
31319  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
31320  CALL flagerror(localerror,err,error,*999)
31321  END IF
31322 
31323  exits("cmfe_Field_ParameterSetDataGetSPNumber")
31324  RETURN
31325 999 errorsexits("cmfe_Field_ParameterSetDataGetSPNumber",err,error)
31326  CALL cmfe_handleerror(err,error)
31327  RETURN
31328 
31330 
31331  !
31332  !================================================================================================================================
31333  !
31334 
31336  SUBROUTINE cmfe_field_parametersetdatagetspobj(field,variableType,fieldSetType,parameters,err)
31337  !DLLEXPORT(cmfe_Field_ParameterSetDataGetSPObj)
31338 
31339  !Argument variables
31340  TYPE(cmfe_fieldtype), INTENT(IN) :: field
31341  INTEGER(INTG), INTENT(IN) :: variableType
31342  INTEGER(INTG), INTENT(IN) :: fieldSetType
31343  REAL(SP), INTENT(OUT), POINTER :: parameters(:)
31344  INTEGER(INTG), INTENT(OUT) :: err
31345  !Local variables
31346 
31347  enters("cmfe_Field_ParameterSetDataGetSPObj",err,error,*999)
31348 
31349  CALL field_parameter_set_data_get(field%field,variabletype,fieldsettype,parameters,err,error,*999)
31350 
31351  exits("cmfe_Field_ParameterSetDataGetSPObj")
31352  RETURN
31353 999 errorsexits("cmfe_Field_ParameterSetDataGetSPObj",err,error)
31354  CALL cmfe_handleerror(err,error)
31355  RETURN
31356 
31358 
31359  !
31360  !================================================================================================================================
31361  !
31362 
31364  SUBROUTINE cmfe_field_parametersetdatagetdpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,parameters,err)
31365  !DLLEXPORT(cmfe_Field_ParameterSetDataGetDPNumber)
31366 
31367  !Argument variables
31368  INTEGER(INTG), INTENT(IN) :: regionUserNumber
31369  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
31370  INTEGER(INTG), INTENT(IN) :: variableType
31371  INTEGER(INTG), INTENT(IN) :: fieldSetType
31372  REAL(DP), INTENT(OUT), POINTER :: parameters(:)
31373  INTEGER(INTG), INTENT(OUT) :: err
31374  !Local variables
31375  TYPE(field_type), POINTER :: FIELD
31376  TYPE(region_type), POINTER :: REGION
31377  TYPE(varying_string) :: localError
31378 
31379  enters("cmfe_Field_ParameterSetDataGetDPNumber",err,error,*999)
31380 
31381  NULLIFY(region)
31382  NULLIFY(field)
31383  CALL region_user_number_find(regionusernumber,region,err,error,*999)
31384  IF(ASSOCIATED(region)) THEN
31385  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
31386  IF(ASSOCIATED(field)) THEN
31387  CALL field_parameter_set_data_get(field,variabletype,fieldsettype,parameters,err,error,*999)
31388  ELSE
31389  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
31390  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
31391  CALL flagerror(localerror,err,error,*999)
31392  END IF
31393  ELSE
31394  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
31395  CALL flagerror(localerror,err,error,*999)
31396  END IF
31397 
31398  exits("cmfe_Field_ParameterSetDataGetDPNumber")
31399  RETURN
31400 999 errorsexits("cmfe_Field_ParameterSetDataGetDPNumber",err,error)
31401  CALL cmfe_handleerror(err,error)
31402  RETURN
31403 
31405 
31406  !
31407  !================================================================================================================================
31408  !
31409 
31411  SUBROUTINE cmfe_field_parametersetdatagetdpobj(field,variableType,fieldSetType,parameters,err)
31412  !DLLEXPORT(cmfe_Field_ParameterSetDataGetDPObj)
31413 
31414  !Argument variables
31415  TYPE(cmfe_fieldtype), INTENT(IN) :: field
31416  INTEGER(INTG), INTENT(IN) :: variableType
31417  INTEGER(INTG), INTENT(IN) :: fieldSetType
31418  REAL(DP), INTENT(OUT), POINTER :: parameters(:)
31419  INTEGER(INTG), INTENT(OUT) :: err
31420  !Local variables
31421 
31422  enters("cmfe_Field_ParameterSetDataGetDPObj",err,error,*999)
31423 
31424  CALL field_parameter_set_data_get(field%field,variabletype,fieldsettype,parameters,err,error,*999)
31425 
31426  exits("cmfe_Field_ParameterSetDataGetDPObj")
31427  RETURN
31428 999 errorsexits("cmfe_Field_ParameterSetDataGetDPObj",err,error)
31429  CALL cmfe_handleerror(err,error)
31430  RETURN
31431 
31433 
31434  !
31435  !================================================================================================================================
31436  !
31437 
31439  SUBROUTINE cmfe_field_parametersetdatagetlnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,parameters,err)
31440  !DLLEXPORT(cmfe_Field_ParameterSetDataGetLNumber)
31441 
31442  !Argument variables
31443  INTEGER(INTG), INTENT(IN) :: regionUserNumber
31444  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
31445  INTEGER(INTG), INTENT(IN) :: variableType
31446  INTEGER(INTG), INTENT(IN) :: fieldSetType
31447  LOGICAL, INTENT(OUT), POINTER :: parameters(:)
31448  INTEGER(INTG), INTENT(OUT) :: err
31449  !Local variables
31450  TYPE(field_type), POINTER :: FIELD
31451  TYPE(region_type), POINTER :: REGION
31452  TYPE(varying_string) :: localError
31453 
31454  enters("cmfe_Field_ParameterSetDataGetLNumber",err,error,*999)
31455 
31456  NULLIFY(region)
31457  NULLIFY(field)
31458  CALL region_user_number_find(regionusernumber,region,err,error,*999)
31459  IF(ASSOCIATED(region)) THEN
31460  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
31461  IF(ASSOCIATED(field)) THEN
31462  CALL field_parameter_set_data_get(field,variabletype,fieldsettype,parameters,err,error,*999)
31463  ELSE
31464  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
31465  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
31466  CALL flagerror(localerror,err,error,*999)
31467  END IF
31468  ELSE
31469  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
31470  CALL flagerror(localerror,err,error,*999)
31471  END IF
31472 
31473  exits("cmfe_Field_ParameterSetDataGetLNumber")
31474  RETURN
31475 999 errorsexits("cmfe_Field_ParameterSetDataGetLNumber",err,error)
31476  CALL cmfe_handleerror(err,error)
31477  RETURN
31478 
31480 
31481  !
31482  !================================================================================================================================
31483  !
31484 
31486  SUBROUTINE cmfe_field_parametersetdatagetlobj(field,variableType,fieldSetType,parameters,err)
31487  !DLLEXPORT(cmfe_Field_ParameterSetDataGetLObj)
31488 
31489  !Argument variables
31490  TYPE(cmfe_fieldtype), INTENT(IN) :: field
31491  INTEGER(INTG), INTENT(IN) :: variableType
31492  INTEGER(INTG), INTENT(IN) :: fieldSetType
31493  LOGICAL, INTENT(OUT), POINTER :: parameters(:)
31494  INTEGER(INTG), INTENT(OUT) :: err
31495  !Local variables
31496 
31497  enters("cmfe_Field_ParameterSetDataGetLObj",err,error,*999)
31498 
31499  CALL field_parameter_set_data_get(field%field,variabletype,fieldsettype,parameters,err,error,*999)
31500 
31501  exits("cmfe_Field_ParameterSetDataGetLObj")
31502  RETURN
31503 999 errorsexits("cmfe_Field_ParameterSetDataGetLObj",err,error)
31504  CALL cmfe_handleerror(err,error)
31505  RETURN
31506 
31507  END SUBROUTINE cmfe_field_parametersetdatagetlobj
31508 
31509  !
31510  !================================================================================================================================
31511  !
31512 
31514  SUBROUTINE cmfe_field_parametersetdatarestoreintgnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,parameters,err)
31515  !DLLEXPORT(cmfe_Field_ParameterSetDataRestoreIntgNumber)
31516 
31517  !Argument variables
31518  INTEGER(INTG), INTENT(IN) :: regionUserNumber
31519  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
31520  INTEGER(INTG), INTENT(IN) :: variableType
31521  INTEGER(INTG), INTENT(IN) :: fieldSetType
31522  INTEGER(INTG), INTENT(INOUT), POINTER :: parameters(:)
31523  INTEGER(INTG), INTENT(OUT) :: err
31524  !Local variables
31525  TYPE(field_type), POINTER :: FIELD
31526  TYPE(region_type), POINTER :: REGION
31527  TYPE(varying_string) :: localError
31528 
31529  enters("cmfe_Field_ParameterSetDataRestoreIntgNumber",err,error,*999)
31530 
31531  NULLIFY(region)
31532  NULLIFY(field)
31533  CALL region_user_number_find(regionusernumber,region,err,error,*999)
31534  IF(ASSOCIATED(region)) THEN
31535  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
31536  IF(ASSOCIATED(field)) THEN
31537  CALL field_parameter_set_data_restore(field,variabletype,fieldsettype,parameters,err,error,*999)
31538  ELSE
31539  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
31540  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
31541  CALL flagerror(localerror,err,error,*999)
31542  END IF
31543  ELSE
31544  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
31545  CALL flagerror(localerror,err,error,*999)
31546  END IF
31547 
31548  exits("cmfe_Field_ParameterSetDataRestoreIntgNumber")
31549  RETURN
31550 999 errors("cmfe_Field_ParameterSetDataRestoreIntgNumber",err,error)
31551  exits("cmfe_Field_ParameterSetDataRestoreIntgNumber")
31552  CALL cmfe_handleerror(err,error)
31553  RETURN
31554 
31556 
31557  !
31558  !================================================================================================================================
31559  !
31560 
31562  SUBROUTINE cmfe_field_parametersetdatarestoreintgobj(field,variableType,fieldSetType,parameters,err)
31563  !DLLEXPORT(cmfe_Field_ParameterSetDataRestoreIntgObj)
31564 
31565  !Argument variables
31566  TYPE(cmfe_fieldtype), INTENT(IN) :: field
31567  INTEGER(INTG), INTENT(IN) :: variableType
31568  INTEGER(INTG), INTENT(IN) :: fieldSetType
31569  INTEGER(INTG), INTENT(INOUT), POINTER :: parameters(:)
31570  INTEGER(INTG), INTENT(OUT) :: err
31571  !Local variables
31572 
31573  enters("cmfe_Field_ParameterSetDataRestoreIntgObj",err,error,*999)
31574 
31575  CALL field_parameter_set_data_restore(field%field,variabletype,fieldsettype,parameters,err,error,*999)
31576 
31577  exits("cmfe_Field_ParameterSetDataRestoreIntgObj")
31578  RETURN
31579 999 errorsexits("cmfe_Field_ParameterSetDataRestoreIntgObj",err,error)
31580  CALL cmfe_handleerror(err,error)
31581  RETURN
31582 
31584 
31585  !
31586  !================================================================================================================================
31587  !
31588 
31590  SUBROUTINE cmfe_field_parametersetdatarestorespnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,parameters,err)
31591  !DLLEXPORT(cmfe_Field_ParameterSetDataRestoreSPNumber)
31592 
31593  !Argument variables
31594  INTEGER(INTG), INTENT(IN) :: regionUserNumber
31595  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
31596  INTEGER(INTG), INTENT(IN) :: variableType
31597  INTEGER(INTG), INTENT(IN) :: fieldSetType
31598  REAL(SP), INTENT(INOUT), POINTER :: parameters(:)
31599  INTEGER(INTG), INTENT(OUT) :: err
31600  !Local variables
31601  TYPE(field_type), POINTER :: FIELD
31602  TYPE(region_type), POINTER :: REGION
31603  TYPE(varying_string) :: localError
31604 
31605  enters("cmfe_Field_ParameterSetDataRestoreSPNumber",err,error,*999)
31606 
31607  NULLIFY(region)
31608  NULLIFY(field)
31609  CALL region_user_number_find(regionusernumber,region,err,error,*999)
31610  IF(ASSOCIATED(region)) THEN
31611  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
31612  IF(ASSOCIATED(field)) THEN
31613  CALL field_parameter_set_data_restore(field,variabletype,fieldsettype,parameters,err,error,*999)
31614  ELSE
31615  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
31616  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
31617  CALL flagerror(localerror,err,error,*999)
31618  END IF
31619  ELSE
31620  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
31621  CALL flagerror(localerror,err,error,*999)
31622  END IF
31623 
31624  exits("cmfe_Field_ParameterSetDataRestoreSPNumber")
31625  RETURN
31626 999 errorsexits("cmfe_Field_ParameterSetDataRestoreSPNumber",err,error)
31627  CALL cmfe_handleerror(err,error)
31628  RETURN
31629 
31631 
31632  !
31633  !================================================================================================================================
31634  !
31635 
31637  SUBROUTINE cmfe_field_parametersetdatarestorespobj(field,variableType,fieldSetType,parameters,err)
31638  !DLLEXPORT(cmfe_Field_ParameterSetDataRestoreSPObj)
31639 
31640  !Argument variables
31641  TYPE(cmfe_fieldtype), INTENT(IN) :: field
31642  INTEGER(INTG), INTENT(IN) :: variableType
31643  INTEGER(INTG), INTENT(IN) :: fieldSetType
31644  REAL(SP), INTENT(INOUT), POINTER :: parameters(:)
31645  INTEGER(INTG), INTENT(OUT) :: err
31646  !Local variables
31647 
31648  enters("cmfe_Field_ParameterSetDataRestoreSPObj",err,error,*999)
31649 
31650  CALL field_parameter_set_data_restore(field%field,variabletype,fieldsettype,parameters,err,error,*999)
31651 
31652  exits("cmfe_Field_ParameterSetDataRestoreSPObj")
31653  RETURN
31654 999 errorsexits("cmfe_Field_ParameterSetDataRestoreSPObj",err,error)
31655  CALL cmfe_handleerror(err,error)
31656  RETURN
31657 
31659 
31660  !
31661  !================================================================================================================================
31662  !
31663 
31665  SUBROUTINE cmfe_field_parametersetdatarestoredpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,parameters,err)
31666  !DLLEXPORT(cmfe_Field_ParameterSetDataRestoreDPNumber)
31667 
31668  !Argument variables
31669  INTEGER(INTG), INTENT(IN) :: regionUserNumber
31670  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
31671  INTEGER(INTG), INTENT(IN) :: variableType
31672  INTEGER(INTG), INTENT(IN) :: fieldSetType
31673  REAL(DP), INTENT(INOUT), POINTER :: parameters(:)
31674  INTEGER(INTG), INTENT(OUT) :: err
31675  !Local variables
31676  TYPE(field_type), POINTER :: FIELD
31677  TYPE(region_type), POINTER :: REGION
31678  TYPE(varying_string) :: localError
31679 
31680  enters("cmfe_Field_ParameterSetDataRestoreDPNumber",err,error,*999)
31681 
31682  NULLIFY(region)
31683  NULLIFY(field)
31684  CALL region_user_number_find(regionusernumber,region,err,error,*999)
31685  IF(ASSOCIATED(region)) THEN
31686  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
31687  IF(ASSOCIATED(field)) THEN
31688  CALL field_parameter_set_data_restore(field,variabletype,fieldsettype,parameters,err,error,*999)
31689  ELSE
31690  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
31691  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
31692  CALL flagerror(localerror,err,error,*999)
31693  END IF
31694  ELSE
31695  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
31696  CALL flagerror(localerror,err,error,*999)
31697  END IF
31698 
31699  exits("cmfe_Field_ParameterSetDataRestoreDPNumber")
31700  RETURN
31701 999 errorsexits("cmfe_Field_ParameterSetDataRestoreDPNumber",err,error)
31702  CALL cmfe_handleerror(err,error)
31703  RETURN
31704 
31706 
31707  !
31708  !================================================================================================================================
31709  !
31710 
31712  SUBROUTINE cmfe_field_parametersetdatarestoredpobj(field,variableType,fieldSetType,parameters,err)
31713  !DLLEXPORT(cmfe_Field_ParameterSetDataRestoreDPObj)
31714 
31715  !Argument variables
31716  TYPE(cmfe_fieldtype), INTENT(IN) :: field
31717  INTEGER(INTG), INTENT(IN) :: variableType
31718  INTEGER(INTG), INTENT(IN) :: fieldSetType
31719  REAL(DP), INTENT(INOUT), POINTER :: parameters(:)
31720  INTEGER(INTG), INTENT(OUT) :: err
31721  !Local variables
31722 
31723  enters("cmfe_Field_ParameterSetDataRestoreDPObj",err,error,*999)
31724 
31725  CALL field_parameter_set_data_restore(field%field,variabletype,fieldsettype,parameters,err,error,*999)
31726 
31727  exits("cmfe_Field_ParameterSetDataRestoreDPObj")
31728  RETURN
31729 999 errorsexits("cmfe_Field_ParameterSetDataRestoreDPObj",err,error)
31730  CALL cmfe_handleerror(err,error)
31731  RETURN
31732 
31734 
31735  !
31736  !================================================================================================================================
31737  !
31738 
31740  SUBROUTINE cmfe_field_parametersetdatarestorelnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,parameters,err)
31741  !DLLEXPORT(cmfe_Field_ParameterSetDataRestoreLNumber)
31742 
31743  !Argument variables
31744  INTEGER(INTG), INTENT(IN) :: regionUserNumber
31745  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
31746  INTEGER(INTG), INTENT(IN) :: variableType
31747  INTEGER(INTG), INTENT(IN) :: fieldSetType
31748  LOGICAL, INTENT(INOUT), POINTER :: parameters(:)
31749  INTEGER(INTG), INTENT(OUT) :: err
31750  !Local variables
31751  TYPE(field_type), POINTER :: FIELD
31752  TYPE(region_type), POINTER :: REGION
31753  TYPE(varying_string) :: localError
31754 
31755  enters("cmfe_Field_ParameterSetDataRestoreLNumber",err,error,*999)
31756 
31757  NULLIFY(region)
31758  NULLIFY(field)
31759  CALL region_user_number_find(regionusernumber,region,err,error,*999)
31760  IF(ASSOCIATED(region)) THEN
31761  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
31762  IF(ASSOCIATED(field)) THEN
31763  CALL field_parameter_set_data_restore(field,variabletype,fieldsettype,parameters,err,error,*999)
31764  ELSE
31765  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
31766  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
31767  CALL flagerror(localerror,err,error,*999)
31768  END IF
31769  ELSE
31770  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
31771  CALL flagerror(localerror,err,error,*999)
31772  END IF
31773 
31774  exits("cmfe_Field_ParameterSetDataRestoreLNumber")
31775  RETURN
31776 999 errorsexits("cmfe_Field_ParameterSetDataRestoreLNumber",err,error)
31777  CALL cmfe_handleerror(err,error)
31778  RETURN
31779 
31781 
31782  !
31783  !================================================================================================================================
31784  !
31785 
31787  SUBROUTINE cmfe_field_parametersetdatarestorelobj(field,variableType,fieldSetType,parameters,err)
31788  !DLLEXPORT(cmfe_Field_ParameterSetDataRestoreLObj)
31789 
31790  !Argument variables
31791  TYPE(cmfe_fieldtype), INTENT(IN) :: field
31792  INTEGER(INTG), INTENT(IN) :: variableType
31793  INTEGER(INTG), INTENT(IN) :: fieldSetType
31794  LOGICAL, INTENT(INOUT), POINTER :: parameters(:)
31795  INTEGER(INTG), INTENT(OUT) :: err
31796  !Local variables
31797 
31798  enters("cmfe_Field_ParameterSetDataRestoreLObj",err,error,*999)
31799 
31800  CALL field_parameter_set_data_restore(field%field,variabletype,fieldsettype,parameters,err,error,*999)
31801 
31802  exits("cmfe_Field_ParameterSetDataRestoreLObj")
31803  RETURN
31804 999 errorsexits("cmfe_Field_ParameterSetDataRestoreLObj",err,error)
31805  CALL cmfe_handleerror(err,error)
31806  RETURN
31807 
31809 
31810  !
31811  !================================================================================================================================
31812  !
31813 
31815  SUBROUTINE cmfe_field_parametersetgetconstantintgnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
31816  & componentnumber,value,err)
31817  !DLLEXPORT(cmfe_Field_ParameterSetGetConstantIntgNumber)
31818 
31819  !Argument variables
31820  INTEGER(INTG), INTENT(IN) :: regionUserNumber
31821  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
31822  INTEGER(INTG), INTENT(IN) :: variableType
31823  INTEGER(INTG), INTENT(IN) :: fieldSetType
31824  INTEGER(INTG), INTENT(IN) :: componentNumber
31825  INTEGER(INTG), INTENT(OUT) :: value
31826  INTEGER(INTG), INTENT(OUT) :: err
31827  !Local variables
31828  TYPE(field_type), POINTER :: FIELD
31829  TYPE(region_type), POINTER :: REGION
31830  TYPE(varying_string) :: localError
31831 
31832  enters("cmfe_Field_ParameterSetGetConstantIntgNumber",err,error,*999)
31833 
31834  NULLIFY(region)
31835  NULLIFY(field)
31836  CALL region_user_number_find(regionusernumber,region,err,error,*999)
31837  IF(ASSOCIATED(region)) THEN
31838  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
31839  IF(ASSOCIATED(field)) THEN
31840  CALL field_parameter_set_get_constant(field,variabletype,fieldsettype,componentnumber,Value,err,error,*999)
31841  ELSE
31842  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
31843  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
31844  CALL flagerror(localerror,err,error,*999)
31845  END IF
31846  ELSE
31847  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
31848  CALL flagerror(localerror,err,error,*999)
31849  END IF
31850 
31851  exits("cmfe_Field_ParameterSetGetConstantIntgNumber")
31852  RETURN
31853 999 errors("cmfe_Field_ParameterSetGetConstantIntgNumber",err,error)
31854  exits("cmfe_Field_ParameterSetGetConstantIntgNumber")
31855  CALL cmfe_handleerror(err,error)
31856  RETURN
31857 
31859 
31860  !
31861  !================================================================================================================================
31862  !
31863 
31865  SUBROUTINE cmfe_field_parametersetgetconstantintgobj(field,variableType,fieldSetType,componentNumber,value,err)
31866  !DLLEXPORT(cmfe_Field_ParameterSetGetConstantIntgObj)
31867 
31868  !Argument variables
31869  TYPE(cmfe_fieldtype), INTENT(IN) :: field
31870  INTEGER(INTG), INTENT(IN) :: variableType
31871  INTEGER(INTG), INTENT(IN) :: fieldSetType
31872  INTEGER(INTG), INTENT(IN) :: componentNumber
31873  INTEGER(INTG), INTENT(OUT) :: value
31874  INTEGER(INTG), INTENT(OUT) :: err
31875  !Local variables
31876 
31877  enters("cmfe_Field_ParameterSetGetConstantIntgObj",err,error,*999)
31878 
31879  CALL field_parameter_set_get_constant(field%field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
31880 
31881  exits("cmfe_Field_ParameterSetGetConstantIntgObj")
31882  RETURN
31883 999 errorsexits("cmfe_Field_ParameterSetGetConstantIntgObj",err,error)
31884  CALL cmfe_handleerror(err,error)
31885  RETURN
31886 
31888 
31889  !
31890  !================================================================================================================================
31891  !
31892 
31894  SUBROUTINE cmfe_field_parametersetgetconstantspnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
31895  & componentnumber,value,err)
31896  !DLLEXPORT(cmfe_Field_ParameterSetGetConstantSPNumber)
31897 
31898  !Argument variables
31899  INTEGER(INTG), INTENT(IN) :: regionUserNumber
31900  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
31901  INTEGER(INTG), INTENT(IN) :: variableType
31902  INTEGER(INTG), INTENT(IN) :: fieldSetType
31903  INTEGER(INTG), INTENT(IN) :: componentNumber
31904  REAL(SP), INTENT(OUT) :: value
31905  INTEGER(INTG), INTENT(OUT) :: err
31906  !Local variables
31907  TYPE(field_type), POINTER :: FIELD
31908  TYPE(region_type), POINTER :: REGION
31909  TYPE(varying_string) :: localError
31910 
31911  enters("cmfe_Field_ParameterSetGetConstantSPNumber",err,error,*999)
31912 
31913  NULLIFY(region)
31914  NULLIFY(field)
31915  CALL region_user_number_find(regionusernumber,region,err,error,*999)
31916  IF(ASSOCIATED(region)) THEN
31917  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
31918  IF(ASSOCIATED(field)) THEN
31919  CALL field_parameter_set_get_constant(field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
31920  ELSE
31921  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
31922  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
31923  CALL flagerror(localerror,err,error,*999)
31924  END IF
31925  ELSE
31926  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
31927  CALL flagerror(localerror,err,error,*999)
31928  END IF
31929 
31930  exits("cmfe_Field_ParameterSetGetConstantSPNumber")
31931  RETURN
31932 999 errorsexits("cmfe_Field_ParameterSetGetConstantSPNumber",err,error)
31933  CALL cmfe_handleerror(err,error)
31934  RETURN
31935 
31937 
31938  !
31939  !================================================================================================================================
31940  !
31941 
31943  SUBROUTINE cmfe_field_parametersetgetconstantspobj(field,variableType,fieldSetType,componentNumber,value,err)
31944  !DLLEXPORT(cmfe_Field_ParameterSetGetConstantSPObj)
31945 
31946  !Argument variables
31947  TYPE(cmfe_fieldtype), INTENT(IN) :: field
31948  INTEGER(INTG), INTENT(IN) :: variableType
31949  INTEGER(INTG), INTENT(IN) :: fieldSetType
31950  INTEGER(INTG), INTENT(IN) :: componentNumber
31951  REAL(SP), INTENT(OUT) :: value
31952  INTEGER(INTG), INTENT(OUT) :: err
31953  !Local variables
31954 
31955  enters("cmfe_Field_ParameterSetGetConstantSPObj",err,error,*999)
31956 
31957  CALL field_parameter_set_get_constant(field%field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
31958 
31959  exits("cmfe_Field_ParameterSetGetConstantSPObj")
31960  RETURN
31961 999 errorsexits("cmfe_Field_ParameterSetGetConstantSPObj",err,error)
31962  CALL cmfe_handleerror(err,error)
31963  RETURN
31964 
31966 
31967  !
31968  !================================================================================================================================
31969  !
31970 
31972  SUBROUTINE cmfe_field_parametersetgetconstantdpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
31973  & componentnumber,value,err)
31974  !DLLEXPORT(cmfe_Field_ParameterSetGetConstantDPNumber)
31975 
31976  !Argument variables
31977  INTEGER(INTG), INTENT(IN) :: regionUserNumber
31978  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
31979  INTEGER(INTG), INTENT(IN) :: variableType
31980  INTEGER(INTG), INTENT(IN) :: fieldSetType
31981  INTEGER(INTG), INTENT(IN) :: componentNumber
31982  REAL(DP), INTENT(OUT) :: value
31983  INTEGER(INTG), INTENT(OUT) :: err
31984  !Local variables
31985  TYPE(field_type), POINTER :: FIELD
31986  TYPE(region_type), POINTER :: REGION
31987  TYPE(varying_string) :: localError
31988 
31989  enters("cmfe_Field_ParameterSetGetConstantDPNumber",err,error,*999)
31990 
31991  NULLIFY(region)
31992  NULLIFY(field)
31993  CALL region_user_number_find(regionusernumber,region,err,error,*999)
31994  IF(ASSOCIATED(region)) THEN
31995  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
31996  IF(ASSOCIATED(field)) THEN
31997  CALL field_parameter_set_get_constant(field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
31998  ELSE
31999  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
32000  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
32001  CALL flagerror(localerror,err,error,*999)
32002  END IF
32003  ELSE
32004  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
32005  CALL flagerror(localerror,err,error,*999)
32006  END IF
32007 
32008  exits("cmfe_Field_ParameterSetGetConstantDPNumber")
32009  RETURN
32010 999 errorsexits("cmfe_Field_ParameterSetGetConstantDPNumber",err,error)
32011  CALL cmfe_handleerror(err,error)
32012  RETURN
32013 
32015 
32016  !
32017  !================================================================================================================================
32018  !
32019 
32021  SUBROUTINE cmfe_field_parametersetgetconstantdpobj(field,variableType,fieldSetType,componentNumber,value,err)
32022  !DLLEXPORT(cmfe_Field_ParameterSetGetConstantDPObj)
32023 
32024  !Argument variables
32025  TYPE(cmfe_fieldtype), INTENT(IN) :: field
32026  INTEGER(INTG), INTENT(IN) :: variableType
32027  INTEGER(INTG), INTENT(IN) :: fieldSetType
32028  INTEGER(INTG), INTENT(IN) :: componentNumber
32029  REAL(DP), INTENT(OUT) :: value
32030  INTEGER(INTG), INTENT(OUT) :: err
32031  !Local variables
32032 
32033  enters("cmfe_Field_ParameterSetGetConstantDPObj",err,error,*999)
32034 
32035  CALL field_parameter_set_get_constant(field%field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
32036 
32037  exits("cmfe_Field_ParameterSetGetConstantDPObj")
32038  RETURN
32039 999 errorsexits("cmfe_Field_ParameterSetGetConstantDPObj",err,error)
32040  CALL cmfe_handleerror(err,error)
32041  RETURN
32042 
32044 
32045  !
32046  !================================================================================================================================
32047  !
32048 
32050  SUBROUTINE cmfe_field_parametersetgetconstantlnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
32051  & componentnumber,value,err)
32052  !DLLEXPORT(cmfe_Field_ParameterSetGetConstantLNumber)
32053 
32054  !Argument variables
32055  INTEGER(INTG), INTENT(IN) :: regionUserNumber
32056  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
32057  INTEGER(INTG), INTENT(IN) :: variableType
32058  INTEGER(INTG), INTENT(IN) :: fieldSetType
32059  INTEGER(INTG), INTENT(IN) :: componentNumber
32060  LOGICAL, INTENT(OUT) :: value
32061  INTEGER(INTG), INTENT(OUT) :: err
32062  !Local variables
32063  TYPE(field_type), POINTER :: FIELD
32064  TYPE(region_type), POINTER :: REGION
32065  TYPE(varying_string) :: localError
32066 
32067  enters("cmfe_Field_ParameterSetGetConstantLNumber",err,error,*999)
32068 
32069  NULLIFY(region)
32070  NULLIFY(field)
32071  CALL region_user_number_find(regionusernumber,region,err,error,*999)
32072  IF(ASSOCIATED(region)) THEN
32073  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
32074  IF(ASSOCIATED(field)) THEN
32075  CALL field_parameter_set_get_constant(field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
32076  ELSE
32077  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
32078  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
32079  CALL flagerror(localerror,err,error,*999)
32080  END IF
32081  ELSE
32082  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
32083  CALL flagerror(localerror,err,error,*999)
32084  END IF
32085 
32086  exits("cmfe_Field_ParameterSetGetConstantLNumber")
32087  RETURN
32088 999 errorsexits("cmfe_Field_ParameterSetGetConstantLNumber",err,error)
32089  CALL cmfe_handleerror(err,error)
32090  RETURN
32091 
32093 
32094  !
32095  !================================================================================================================================
32096  !
32097 
32099  SUBROUTINE cmfe_field_parametersetgetconstantlobj(field,variableType,fieldSetType,componentNumber,value,err)
32100  !DLLEXPORT(cmfe_Field_ParameterSetGetConstantLObj)
32101 
32102  !Argument variables
32103  TYPE(cmfe_fieldtype), INTENT(IN) :: field
32104  INTEGER(INTG), INTENT(IN) :: variableType
32105  INTEGER(INTG), INTENT(IN) :: fieldSetType
32106  INTEGER(INTG), INTENT(IN) :: componentNumber
32107  LOGICAL, INTENT(OUT) :: value
32108  INTEGER(INTG), INTENT(OUT) :: err
32109  !Local variables
32110 
32111  enters("cmfe_Field_ParameterSetGetConstantLObj",err,error,*999)
32112 
32113  CALL field_parameter_set_get_constant(field%field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
32114 
32115  exits("cmfe_Field_ParameterSetGetConstantLObj")
32116  RETURN
32117 999 errorsexits("cmfe_Field_ParameterSetGetConstantLObj",err,error)
32118  CALL cmfe_handleerror(err,error)
32119  RETURN
32120 
32122 
32123  !
32124  !================================================================================================================================
32125  !
32126 
32128  SUBROUTINE cmfe_field_parametersetgetdatapointintgnumberi(parentRegionUserNumber,interfaceUserNumber,fieldUserNumber, &
32129  & variabletype,fieldsettype,userdatapointnumber,componentnumber,value,err)
32130  !DLLEXPORT(cmfe_Field_ParameterSetGetDataPointIntgNumberI)
32131 
32132  !Argument variables
32133  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
32134  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
32135  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
32136  INTEGER(INTG), INTENT(IN) :: variableType
32137  INTEGER(INTG), INTENT(IN) :: fieldSetType
32138  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
32139  INTEGER(INTG), INTENT(IN) :: componentNumber
32140  INTEGER(INTG), INTENT(OUT) :: value
32141  INTEGER(INTG), INTENT(OUT) :: err
32142  !Local variables
32143  TYPE(field_type), POINTER :: field
32144  TYPE(region_type), POINTER :: region
32145  TYPE(interface_type), POINTER :: interface
32146  TYPE(varying_string) :: localError
32147 
32148  enters("cmfe_Field_ParameterSetGetDataPointIntgNumberI",err,error,*999)
32149 
32150  NULLIFY(region)
32151  NULLIFY(field)
32152  NULLIFY(interface)
32153  CALL region_user_number_find(parentregionusernumber,region,err,error,*999)
32154  IF(ASSOCIATED(region)) THEN
32155  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
32156  IF(ASSOCIATED(interface)) THEN
32157  CALL field_user_number_find(fieldusernumber,interface,field,err,error,*999)
32158  IF(ASSOCIATED(field)) THEN
32159  CALL field_parametersetgetdatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
32160  & err,error,*999)
32161  ELSE
32162  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
32163  & " does not exist on region number "//trim(numbertovstring(parentregionusernumber,"*",err,error))//"."
32164  CALL flagerror(localerror,err,error,*999)
32165  ENDIF
32166  ELSE
32167  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
32168  & " does not exist."
32169  CALL flagerror(localerror,err,error,*999)
32170  ENDIF
32171  ELSE
32172  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
32173  & " does not exist."
32174  CALL flagerror(localerror,err,error,*999)
32175  END IF
32176 
32177  exits("cmfe_Field_ParameterSetGetDataPointIntgNumberI")
32178  RETURN
32179 999 errors("cmfe_Field_ParameterSetGetDataPointIntgNumberI",err,error)
32180  exits("cmfe_Field_ParameterSetGetDataPointIntgNumberI")
32181  CALL cmfe_handleerror(err,error)
32182  RETURN
32183 
32185 
32186  !
32187  !================================================================================================================================
32188  !
32189 
32191  SUBROUTINE cmfe_field_parametersetgetdatapointintgnumberr(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
32192  & userdatapointnumber,componentnumber,value,err)
32193  !DLLEXPORT(cmfe_Field_ParameterSetGetDataPointIntgNumberR)
32194 
32195  !Argument variables
32196  INTEGER(INTG), INTENT(IN) :: regionUserNumber
32197  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
32198  INTEGER(INTG), INTENT(IN) :: variableType
32199  INTEGER(INTG), INTENT(IN) :: fieldSetType
32200  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
32201  INTEGER(INTG), INTENT(IN) :: componentNumber
32202  INTEGER(INTG), INTENT(OUT) :: value
32203  INTEGER(INTG), INTENT(OUT) :: err
32204  !Local variables
32205  TYPE(field_type), POINTER :: field
32206  TYPE(region_type), POINTER :: region
32207  TYPE(varying_string) :: localError
32208 
32209  enters("cmfe_Field_ParameterSetGetDataPointIntgNumberR",err,error,*999)
32210 
32211  NULLIFY(region)
32212  NULLIFY(field)
32213  CALL region_user_number_find(regionusernumber,region,err,error,*999)
32214  IF(ASSOCIATED(region)) THEN
32215  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
32216  IF(ASSOCIATED(field)) THEN
32217  CALL field_parametersetgetdatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
32218  & err,error,*999)
32219  ELSE
32220  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
32221  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
32222  CALL flagerror(localerror,err,error,*999)
32223  END IF
32224  ELSE
32225  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
32226  CALL flagerror(localerror,err,error,*999)
32227  END IF
32228 
32229  exits("cmfe_Field_ParameterSetGetDataPointIntgNumberR")
32230  RETURN
32231 999 errors("cmfe_Field_ParameterSetGetDataPointIntgNumberR",err,error)
32232  exits("cmfe_Field_ParameterSetGetDataPointIntgNumberR")
32233  CALL cmfe_handleerror(err,error)
32234  RETURN
32235 
32237 
32238  !
32239  !================================================================================================================================
32240  !
32241 
32243  SUBROUTINE cmfe_field_parametersetgetdatapointintgobj(field,variableType,fieldSetType,userDataPointNumber,componentNumber, &
32244  & value,err)
32245  !DLLEXPORT(cmfe_Field_ParameterSetGetDataPointIntgObj)
32246 
32247  !Argument variables
32248  TYPE(cmfe_fieldtype), INTENT(IN) :: field
32249  INTEGER(INTG), INTENT(IN) :: variableType
32250  INTEGER(INTG), INTENT(IN) :: fieldSetType
32251  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
32252  INTEGER(INTG), INTENT(IN) :: componentNumber
32253  INTEGER(INTG), INTENT(OUT) :: value
32254  INTEGER(INTG), INTENT(OUT) :: err
32255  !Local variables
32256 
32257  enters("cmfe_Field_ParameterSetGetDataPointIntgObj",err,error,*999)
32258 
32259  CALL field_parametersetgetdatapoint(field%field,variabletype,fieldsettype,userdatapointnumber,componentnumber, &
32260  & value,err,error,*999)
32261 
32262  exits("cmfe_Field_ParameterSetGetDataPointIntgObj")
32263  RETURN
32264 999 errorsexits("cmfe_Field_ParameterSetGetDataPointIntgObj",err,error)
32265  CALL cmfe_handleerror(err,error)
32266  RETURN
32267 
32269 
32270  !
32271  !================================================================================================================================
32272  !
32273 
32275  SUBROUTINE cmfe_field_parametersetgetdatapointspnumberi(parentRegionUserNumber,interfaceUserNumber,fieldUserNumber, &
32276  & variabletype,fieldsettype,userdatapointnumber,componentnumber,value,err)
32277  !DLLEXPORT(cmfe_Field_ParameterSetGetDataPointSPNumberI)
32278 
32279  !Argument variables
32280  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
32281  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
32282  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
32283  INTEGER(INTG), INTENT(IN) :: variableType
32284  INTEGER(INTG), INTENT(IN) :: fieldSetType
32285  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
32286  INTEGER(INTG), INTENT(IN) :: componentNumber
32287  REAL(SP), INTENT(OUT) :: value
32288  INTEGER(INTG), INTENT(OUT) :: err
32289  !Local variables
32290  TYPE(field_type), POINTER :: field
32291  TYPE(region_type), POINTER :: region
32292  TYPE(interface_type), POINTER :: interface
32293  TYPE(varying_string) :: localError
32294 
32295  enters("cmfe_Field_ParameterSetGetDataPointSPNumberI",err,error,*999)
32296 
32297  NULLIFY(region)
32298  NULLIFY(field)
32299  NULLIFY(interface)
32300  CALL region_user_number_find(parentregionusernumber,region,err,error,*999)
32301  IF(ASSOCIATED(region)) THEN
32302  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
32303  IF(ASSOCIATED(interface)) THEN
32304  CALL field_user_number_find(fieldusernumber,interface,field,err,error,*999)
32305  IF(ASSOCIATED(field)) THEN
32306  CALL field_parametersetgetdatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
32307  & err,error,*999)
32308  ELSE
32309  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
32310  & " does not exist on region number "//trim(numbertovstring(parentregionusernumber,"*",err,error))//"."
32311  CALL flagerror(localerror,err,error,*999)
32312  ENDIF
32313  ELSE
32314  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
32315  & " does not exist."
32316  CALL flagerror(localerror,err,error,*999)
32317  ENDIF
32318  ELSE
32319  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
32320  & " does not exist."
32321  CALL flagerror(localerror,err,error,*999)
32322  END IF
32323 
32324  exits("cmfe_Field_ParameterSetGetDataPointSPNumberI")
32325  RETURN
32326 999 errors("cmfe_Field_ParameterSetGetDataPointSPNumberI",err,error)
32327  exits("cmfe_Field_ParameterSetGetDataPointSPNumberI")
32328  CALL cmfe_handleerror(err,error)
32329  RETURN
32330 
32332 
32333  !
32334  !================================================================================================================================
32335  !
32336 
32338  SUBROUTINE cmfe_field_parametersetgetdatapointspnumberr(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
32339  & userdatapointnumber,componentnumber,value,err)
32340  !DLLEXPORT(cmfe_Field_ParameterSetGetDataPointSPNumberR)
32341 
32342  !Argument variables
32343  INTEGER(INTG), INTENT(IN) :: regionUserNumber
32344  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
32345  INTEGER(INTG), INTENT(IN) :: variableType
32346  INTEGER(INTG), INTENT(IN) :: fieldSetType
32347  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
32348  INTEGER(INTG), INTENT(IN) :: componentNumber
32349  REAL(SP), INTENT(OUT) :: value
32350  INTEGER(INTG), INTENT(OUT) :: err
32351  !Local variables
32352  TYPE(field_type), POINTER :: field
32353  TYPE(region_type), POINTER :: region
32354  TYPE(varying_string) :: localError
32355 
32356  enters("cmfe_Field_ParameterSetGetDataPointSPNumberR",err,error,*999)
32357 
32358  NULLIFY(region)
32359  NULLIFY(field)
32360  CALL region_user_number_find(regionusernumber,region,err,error,*999)
32361  IF(ASSOCIATED(region)) THEN
32362  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
32363  IF(ASSOCIATED(field)) THEN
32364  CALL field_parametersetgetdatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
32365  & err,error,*999)
32366  ELSE
32367  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
32368  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
32369  CALL flagerror(localerror,err,error,*999)
32370  END IF
32371  ELSE
32372  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
32373  CALL flagerror(localerror,err,error,*999)
32374  END IF
32375 
32376  exits("cmfe_Field_ParameterSetGetDataPointSPNumberR")
32377  RETURN
32378 999 errors("cmfe_Field_ParameterSetGetDataPointSPNumberR",err,error)
32379  exits("cmfe_Field_ParameterSetGetDataPointSPNumberR")
32380  CALL cmfe_handleerror(err,error)
32381  RETURN
32382 
32384 
32385  !
32386  !================================================================================================================================
32387  !
32388 
32390  SUBROUTINE cmfe_field_parametersetgetdatapointspobj(field,variableType,fieldSetType,userDataPointNumber,componentNumber,value,err)
32391  !DLLEXPORT(cmfe_Field_ParameterSetGetDataPointSPObj)
32392 
32393  !Argument variables
32394  TYPE(cmfe_fieldtype), INTENT(IN) :: field
32395  INTEGER(INTG), INTENT(IN) :: variableType
32396  INTEGER(INTG), INTENT(IN) :: fieldSetType
32397  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
32398  INTEGER(INTG), INTENT(IN) :: componentNumber
32399  REAL(SP), INTENT(OUT) :: value
32400  INTEGER(INTG), INTENT(OUT) :: err
32401  !Local variables
32402 
32403  enters("cmfe_Field_ParameterSetGetDataPointSPObj",err,error,*999)
32404 
32405  CALL field_parametersetgetdatapoint(field%field,variabletype,fieldsettype,userdatapointnumber,componentnumber, &
32406  & value,err,error,*999)
32407 
32408  exits("cmfe_Field_ParameterSetGetDataPointSPObj")
32409  RETURN
32410 999 errorsexits("cmfe_Field_ParameterSetGetDataPointSPObj",err,error)
32411  CALL cmfe_handleerror(err,error)
32412  RETURN
32413 
32415 
32416  !
32417  !================================================================================================================================
32418  !
32419 
32421  SUBROUTINE cmfe_field_parametersetgetdatapointdpnumberi(parentRegionUserNumber,interfaceUserNumber,fieldUserNumber, &
32422  & variabletype,fieldsettype,userdatapointnumber,componentnumber,value,err)
32423  !DLLEXPORT(cmfe_Field_ParameterSetGetDataPointDPNumberI)
32424 
32425  !Argument variables
32426  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
32427  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
32428  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
32429  INTEGER(INTG), INTENT(IN) :: variableType
32430  INTEGER(INTG), INTENT(IN) :: fieldSetType
32431  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
32432  INTEGER(INTG), INTENT(IN) :: componentNumber
32433  REAL(DP), INTENT(OUT) :: value
32434  INTEGER(INTG), INTENT(OUT) :: err
32435  !Local variables
32436  TYPE(field_type), POINTER :: field
32437  TYPE(region_type), POINTER :: region
32438  TYPE(interface_type), POINTER :: interface
32439  TYPE(varying_string) :: localError
32440 
32441  enters("cmfe_Field_ParameterSetGetDataPointDPNumberI",err,error,*999)
32442 
32443  NULLIFY(region)
32444  NULLIFY(field)
32445  NULLIFY(interface)
32446  CALL region_user_number_find(parentregionusernumber,region,err,error,*999)
32447  IF(ASSOCIATED(region)) THEN
32448  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
32449  IF(ASSOCIATED(interface)) THEN
32450  CALL field_user_number_find(fieldusernumber,interface,field,err,error,*999)
32451  IF(ASSOCIATED(field)) THEN
32452  CALL field_parametersetgetdatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
32453  & err,error,*999)
32454  ELSE
32455  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
32456  & " does not exist on region number "//trim(numbertovstring(parentregionusernumber,"*",err,error))//"."
32457  CALL flagerror(localerror,err,error,*999)
32458  ENDIF
32459  ELSE
32460  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
32461  & " does not exist."
32462  CALL flagerror(localerror,err,error,*999)
32463  ENDIF
32464  ELSE
32465  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
32466  & " does not exist."
32467  CALL flagerror(localerror,err,error,*999)
32468  END IF
32469 
32470  exits("cmfe_Field_ParameterSetGetDataPointDPNumberI")
32471  RETURN
32472 999 errors("cmfe_Field_ParameterSetGetDataPointDPNumberI",err,error)
32473  exits("cmfe_Field_ParameterSetGetDataPointDPNumberI")
32474  CALL cmfe_handleerror(err,error)
32475  RETURN
32476 
32478 
32479  !
32480  !================================================================================================================================
32481  !
32482 
32484  SUBROUTINE cmfe_field_parametersetgetdatapointdpnumberr(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
32485  & userdatapointnumber,componentnumber,value,err)
32486  !DLLEXPORT(cmfe_Field_ParameterSetGetDataPointDPNumberR)
32487 
32488  !Argument variables
32489  INTEGER(INTG), INTENT(IN) :: regionUserNumber
32490  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
32491  INTEGER(INTG), INTENT(IN) :: variableType
32492  INTEGER(INTG), INTENT(IN) :: fieldSetType
32493  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
32494  INTEGER(INTG), INTENT(IN) :: componentNumber
32495  REAL(DP), INTENT(OUT) :: value
32496  INTEGER(INTG), INTENT(OUT) :: err
32497  !Local variables
32498  TYPE(field_type), POINTER :: field
32499  TYPE(region_type), POINTER :: region
32500  TYPE(varying_string) :: localError
32501 
32502  enters("cmfe_Field_ParameterSetGetDataPointDPNumberR",err,error,*999)
32503 
32504  NULLIFY(region)
32505  NULLIFY(field)
32506  CALL region_user_number_find(regionusernumber,region,err,error,*999)
32507  IF(ASSOCIATED(region)) THEN
32508  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
32509  IF(ASSOCIATED(field)) THEN
32510  CALL field_parametersetgetdatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
32511  & err,error,*999)
32512  ELSE
32513  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
32514  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
32515  CALL flagerror(localerror,err,error,*999)
32516  END IF
32517  ELSE
32518  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
32519  CALL flagerror(localerror,err,error,*999)
32520  END IF
32521 
32522  exits("cmfe_Field_ParameterSetGetDataPointDPNumberR")
32523  RETURN
32524 999 errors("cmfe_Field_ParameterSetGetDataPointDPNumberR",err,error)
32525  exits("cmfe_Field_ParameterSetGetDataPointDPNumberR")
32526  CALL cmfe_handleerror(err,error)
32527  RETURN
32528 
32530 
32531  !
32532  !================================================================================================================================
32533  !
32534 
32536  SUBROUTINE cmfe_field_parametersetgetdatapointdpobj(field,variableType,fieldSetType,userDataPointNumber,componentNumber,value,err)
32537  !DLLEXPORT(cmfe_Field_ParameterSetGetDataPointDPObj)
32538 
32539  !Argument variables
32540  TYPE(cmfe_fieldtype), INTENT(IN) :: field
32541  INTEGER(INTG), INTENT(IN) :: variableType
32542  INTEGER(INTG), INTENT(IN) :: fieldSetType
32543  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
32544  INTEGER(INTG), INTENT(IN) :: componentNumber
32545  REAL(DP), INTENT(OUT) :: value
32546  INTEGER(INTG), INTENT(OUT) :: err
32547  !Local variables
32548 
32549  enters("cmfe_Field_ParameterSetGetDataPointDPObj",err,error,*999)
32550 
32551  CALL field_parametersetgetdatapoint(field%field,variabletype,fieldsettype,userdatapointnumber,componentnumber, &
32552  & value,err,error,*999)
32553 
32554  exits("cmfe_Field_ParameterSetGetDataPointDPObj")
32555  RETURN
32556 999 errorsexits("cmfe_Field_ParameterSetGetDataPointDPObj",err,error)
32557  CALL cmfe_handleerror(err,error)
32558  RETURN
32559 
32561 
32562  !
32563  !================================================================================================================================
32564  !
32565 
32567  SUBROUTINE cmfe_field_parametersetgetdatapointlnumberi(parentRegionUserNumber,interfaceUserNumber,fieldUserNumber, &
32568  & variabletype,fieldsettype,userdatapointnumber,componentnumber,value,err)
32569  !DLLEXPORT(cmfe_Field_ParameterSetGetDataPointLNumberI)
32570 
32571  !Argument variables
32572  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
32573  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
32574  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
32575  INTEGER(INTG), INTENT(IN) :: variableType
32576  INTEGER(INTG), INTENT(IN) :: fieldSetType
32577  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
32578  INTEGER(INTG), INTENT(IN) :: componentNumber
32579  LOGICAL, INTENT(OUT) :: value
32580  INTEGER(INTG), INTENT(OUT) :: err
32581  !Local variables
32582  TYPE(field_type), POINTER :: field
32583  TYPE(region_type), POINTER :: region
32584  TYPE(interface_type), POINTER :: interface
32585  TYPE(varying_string) :: localError
32586 
32587  enters("cmfe_Field_ParameterSetGetDataPointLNumberI",err,error,*999)
32588 
32589  NULLIFY(region)
32590  NULLIFY(field)
32591  NULLIFY(interface)
32592  CALL region_user_number_find(parentregionusernumber,region,err,error,*999)
32593  IF(ASSOCIATED(region)) THEN
32594  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
32595  IF(ASSOCIATED(interface)) THEN
32596  CALL field_user_number_find(fieldusernumber,interface,field,err,error,*999)
32597  IF(ASSOCIATED(field)) THEN
32598  CALL field_parametersetgetdatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
32599  & err,error,*999)
32600  ELSE
32601  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
32602  & " does not exist on region number "//trim(numbertovstring(parentregionusernumber,"*",err,error))//"."
32603  CALL flagerror(localerror,err,error,*999)
32604  ENDIF
32605  ELSE
32606  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
32607  & " does not exist."
32608  CALL flagerror(localerror,err,error,*999)
32609  ENDIF
32610  ELSE
32611  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
32612  & " does not exist."
32613  CALL flagerror(localerror,err,error,*999)
32614  END IF
32615 
32616  exits("cmfe_Field_ParameterSetGetDataPointLNumberI")
32617  RETURN
32618 999 errorsexits("cmfe_Field_ParameterSetGetDataPointLNumberI",err,error)
32619  CALL cmfe_handleerror(err,error)
32620  RETURN
32621 
32623 
32624  !
32625  !================================================================================================================================
32626  !
32627 
32629  SUBROUTINE cmfe_field_parametersetgetdatapointlnumberr(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
32630  & userdatapointnumber,componentnumber,value,err)
32631  !DLLEXPORT(cmfe_Field_ParameterSetGetDataPointLNumberR)
32632 
32633  !Argument variables
32634  INTEGER(INTG), INTENT(IN) :: regionUserNumber
32635  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
32636  INTEGER(INTG), INTENT(IN) :: variableType
32637  INTEGER(INTG), INTENT(IN) :: fieldSetType
32638  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
32639  INTEGER(INTG), INTENT(IN) :: componentNumber
32640  LOGICAL, INTENT(OUT) :: value
32641  INTEGER(INTG), INTENT(OUT) :: err
32642  !Local variables
32643  TYPE(field_type), POINTER :: field
32644  TYPE(region_type), POINTER :: region
32645  TYPE(varying_string) :: localError
32646 
32647  enters("cmfe_Field_ParameterSetGetDataPointLNumberR",err,error,*999)
32648 
32649  NULLIFY(region)
32650  NULLIFY(field)
32651  CALL region_user_number_find(regionusernumber,region,err,error,*999)
32652  IF(ASSOCIATED(region)) THEN
32653  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
32654  IF(ASSOCIATED(field)) THEN
32655  CALL field_parametersetgetdatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
32656  & err,error,*999)
32657  ELSE
32658  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
32659  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
32660  CALL flagerror(localerror,err,error,*999)
32661  END IF
32662  ELSE
32663  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
32664  CALL flagerror(localerror,err,error,*999)
32665  END IF
32666 
32667  exits("cmfe_Field_ParameterSetGetDataPointLNumberR")
32668  RETURN
32669 999 errorsexits("cmfe_Field_ParameterSetGetDataPointLNumberR",err,error)
32670  CALL cmfe_handleerror(err,error)
32671  RETURN
32672 
32674 
32675  !
32676  !================================================================================================================================
32677  !
32678 
32680  SUBROUTINE cmfe_field_parametersetgetdatapointlobj(field,variableType,fieldSetType,userDataPointNumber,componentNumber,value,err)
32681  !DLLEXPORT(cmfe_Field_ParameterSetGetDataPointLObj)
32682 
32683  !Argument variables
32684  TYPE(cmfe_fieldtype), INTENT(IN) :: field
32685  INTEGER(INTG), INTENT(IN) :: variableType
32686  INTEGER(INTG), INTENT(IN) :: fieldSetType
32687  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
32688  INTEGER(INTG), INTENT(IN) :: componentNumber
32689  LOGICAL, INTENT(OUT) :: value
32690  INTEGER(INTG), INTENT(OUT) :: err
32691  !Local variables
32692 
32693  enters("cmfe_Field_ParameterSetGetDataPointLObj",err,error,*999)
32694 
32695  CALL field_parametersetgetdatapoint(field%field,variabletype,fieldsettype,userdatapointnumber,componentnumber, &
32696  & value,err,error,*999)
32697 
32698  exits("cmfe_Field_ParameterSetGetDataPointLObj")
32699  RETURN
32700 999 errorsexits("cmfe_Field_ParameterSetGetDataPointLObj",err,error)
32701  CALL cmfe_handleerror(err,error)
32702  RETURN
32703 
32705 
32706  !
32707  !================================================================================================================================
32708  !
32709 
32711  SUBROUTINE cmfe_field_parametersetgetelementintgnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
32712  & userelementnumber,componentnumber,value,err)
32713  !DLLEXPORT(cmfe_Field_ParameterSetGetElementIntgNumber)
32714 
32715  !Argument variables
32716  INTEGER(INTG), INTENT(IN) :: regionUserNumber
32717  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
32718  INTEGER(INTG), INTENT(IN) :: variableType
32719  INTEGER(INTG), INTENT(IN) :: fieldSetType
32720  INTEGER(INTG), INTENT(IN) :: userElementNumber
32721  INTEGER(INTG), INTENT(IN) :: componentNumber
32722  INTEGER(INTG), INTENT(OUT) :: value
32723  INTEGER(INTG), INTENT(OUT) :: err
32724  !Local variables
32725  TYPE(field_type), POINTER :: FIELD
32726  TYPE(region_type), POINTER :: REGION
32727  TYPE(varying_string) :: localError
32728 
32729  enters("cmfe_Field_ParameterSetGetElementIntgNumber",err,error,*999)
32730 
32731  NULLIFY(region)
32732  NULLIFY(field)
32733  CALL region_user_number_find(regionusernumber,region,err,error,*999)
32734  IF(ASSOCIATED(region)) THEN
32735  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
32736  IF(ASSOCIATED(field)) THEN
32737  CALL field_parameter_set_get_element(field,variabletype,fieldsettype,userelementnumber,componentnumber,value,err,error,*999)
32738  ELSE
32739  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
32740  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
32741  CALL flagerror(localerror,err,error,*999)
32742  END IF
32743  ELSE
32744  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
32745  CALL flagerror(localerror,err,error,*999)
32746  END IF
32747 
32748  exits("cmfe_Field_ParameterSetGetElementIntgNumber")
32749  RETURN
32750 999 errorsexits("cmfe_Field_ParameterSetGetElementIntgNumber",err,error)
32751  CALL cmfe_handleerror(err,error)
32752  RETURN
32753 
32755 
32756  !
32757  !================================================================================================================================
32758  !
32759 
32761  SUBROUTINE cmfe_field_parametersetgetelementintgobj(field,variableType,fieldSetType,userElementNumber,componentNumber,value,err)
32762  !DLLEXPORT(cmfe_Field_ParameterSetGetElementIntgObj)
32763 
32764  !Argument variables
32765  TYPE(cmfe_fieldtype), INTENT(IN) :: field
32766  INTEGER(INTG), INTENT(IN) :: variableType
32767  INTEGER(INTG), INTENT(IN) :: fieldSetType
32768  INTEGER(INTG), INTENT(IN) :: userElementNumber
32769  INTEGER(INTG), INTENT(IN) :: componentNumber
32770  INTEGER(INTG), INTENT(OUT) :: value
32771  INTEGER(INTG), INTENT(OUT) :: err
32772  !Local variables
32773 
32774  enters("cmfe_Field_ParameterSetGetElementIntgObj",err,error,*999)
32775 
32776  CALL field_parameter_set_get_element(field%field,variabletype,fieldsettype,userelementnumber,componentnumber,value, &
32777  & err,error,*999)
32778 
32779  exits("cmfe_Field_ParameterSetGetElementIntgObj")
32780  RETURN
32781 999 errorsexits("cmfe_Field_ParameterSetGetElementIntgObj",err,error)
32782  CALL cmfe_handleerror(err,error)
32783  RETURN
32784 
32786 
32787  !
32788  !================================================================================================================================
32789  !
32790 
32792  SUBROUTINE cmfe_field_parametersetgetelementspnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
32793  & userelementnumber,componentnumber,value,err)
32794  !DLLEXPORT(cmfe_Field_ParameterSetGetElementSPNumber)
32795 
32796  !Argument variables
32797  INTEGER(INTG), INTENT(IN) :: regionUserNumber
32798  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
32799  INTEGER(INTG), INTENT(IN) :: variableType
32800  INTEGER(INTG), INTENT(IN) :: fieldSetType
32801  INTEGER(INTG), INTENT(IN) :: userElementNumber
32802  INTEGER(INTG), INTENT(IN) :: componentNumber
32803  REAL(SP), INTENT(OUT) :: value
32804  INTEGER(INTG), INTENT(OUT) :: err
32805  !Local variables
32806  TYPE(field_type), POINTER :: FIELD
32807  TYPE(region_type), POINTER :: REGION
32808  TYPE(varying_string) :: localError
32809 
32810  enters("cmfe_Field_ParameterSetGetElementSPNumber",err,error,*999)
32811 
32812  NULLIFY(region)
32813  NULLIFY(field)
32814  CALL region_user_number_find(regionusernumber,region,err,error,*999)
32815  IF(ASSOCIATED(region)) THEN
32816  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
32817  IF(ASSOCIATED(field)) THEN
32818  CALL field_parameter_set_get_element(field,variabletype,fieldsettype,userelementnumber,componentnumber,value,err,error,*999)
32819  ELSE
32820  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
32821  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
32822  CALL flagerror(localerror,err,error,*999)
32823  END IF
32824  ELSE
32825  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
32826  CALL flagerror(localerror,err,error,*999)
32827  END IF
32828 
32829  exits("cmfe_Field_ParameterSetGetElementSPNumber")
32830  RETURN
32831 999 errorsexits("cmfe_Field_ParameterSetGetElementSPNumber",err,error)
32832  CALL cmfe_handleerror(err,error)
32833  RETURN
32834 
32836 
32837  !
32838  !================================================================================================================================
32839  !
32840 
32842  SUBROUTINE cmfe_field_parametersetgetelementspobj(field,variableType,fieldSetType,userElementNumber,componentNumber,value,err)
32843  !DLLEXPORT(cmfe_Field_ParameterSetGetElementSPObj)
32844 
32845  !Argument variables
32846  TYPE(cmfe_fieldtype), INTENT(IN) :: field
32847  INTEGER(INTG), INTENT(IN) :: variableType
32848  INTEGER(INTG), INTENT(IN) :: fieldSetType
32849  INTEGER(INTG), INTENT(IN) :: userElementNumber
32850  INTEGER(INTG), INTENT(IN) :: componentNumber
32851  REAL(SP), INTENT(OUT) :: value
32852  INTEGER(INTG), INTENT(OUT) :: err
32853  !Local variables
32854 
32855  enters("cmfe_Field_ParameterSetGetElementSPObj",err,error,*999)
32856 
32857  CALL field_parameter_set_get_element(field%field,variabletype,fieldsettype,userelementnumber,componentnumber,VALUE, &
32858  & err,error,*999)
32859 
32860  exits("cmfe_Field_ParameterSetGetElementSPObj")
32861  RETURN
32862 999 errorsexits("cmfe_Field_ParameterSetGetElementSPObj",err,error)
32863  CALL cmfe_handleerror(err,error)
32864  RETURN
32865 
32867 
32868  !
32869  !================================================================================================================================
32870  !
32871 
32873  SUBROUTINE cmfe_field_parametersetgetelementdpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
32874  & userelementnumber,componentnumber,value,err)
32875  !DLLEXPORT(cmfe_Field_ParameterSetGetElementDPNumber)
32876 
32877  !Argument variables
32878  INTEGER(INTG), INTENT(IN) :: regionUserNumber
32879  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
32880  INTEGER(INTG), INTENT(IN) :: variableType
32881  INTEGER(INTG), INTENT(IN) :: fieldSetType
32882  INTEGER(INTG), INTENT(IN) :: userElementNumber
32883  INTEGER(INTG), INTENT(IN) :: componentNumber
32884  REAL(DP), INTENT(OUT) :: value
32885  INTEGER(INTG), INTENT(OUT) :: err
32886  !Local variables
32887  TYPE(field_type), POINTER :: FIELD
32888  TYPE(region_type), POINTER :: REGION
32889  TYPE(varying_string) :: localError
32890 
32891  enters("cmfe_Field_ParameterSetGetElementDPNumber",err,error,*999)
32892 
32893  NULLIFY(region)
32894  NULLIFY(field)
32895  CALL region_user_number_find(regionusernumber,region,err,error,*999)
32896  IF(ASSOCIATED(region)) THEN
32897  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
32898  IF(ASSOCIATED(field)) THEN
32899  CALL field_parameter_set_get_element(field,variabletype,fieldsettype,userelementnumber,componentnumber,value,err,error,*999)
32900  ELSE
32901  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
32902  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
32903  CALL flagerror(localerror,err,error,*999)
32904  END IF
32905  ELSE
32906  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
32907  CALL flagerror(localerror,err,error,*999)
32908  END IF
32909 
32910  exits("cmfe_Field_ParameterSetGetElementDPNumber")
32911  RETURN
32912 999 errorsexits("cmfe_Field_ParameterSetGetElementDPNumber",err,error)
32913  CALL cmfe_handleerror(err,error)
32914  RETURN
32915 
32917 
32918  !
32919  !================================================================================================================================
32920  !
32921 
32923  SUBROUTINE cmfe_field_parametersetgetelementdpobj(field,variableType,fieldSetType,userElementNumber,componentNumber,value,err)
32924  !DLLEXPORT(cmfe_Field_ParameterSetGetElementDPObj)
32925 
32926  !Argument variables
32927  TYPE(cmfe_fieldtype), INTENT(IN) :: field
32928  INTEGER(INTG), INTENT(IN) :: variableType
32929  INTEGER(INTG), INTENT(IN) :: fieldSetType
32930  INTEGER(INTG), INTENT(IN) :: userElementNumber
32931  INTEGER(INTG), INTENT(IN) :: componentNumber
32932  REAL(DP), INTENT(OUT) :: value
32933  INTEGER(INTG), INTENT(OUT) :: err
32934  !Local variables
32935 
32936  enters("cmfe_Field_ParameterSetGetElementDPObj",err,error,*999)
32937 
32938  CALL field_parameter_set_get_element(field%field,variabletype,fieldsettype,userelementnumber,componentnumber,value, &
32939  & err,error,*999)
32940 
32941  exits("cmfe_Field_ParameterSetGetElementDPObj")
32942  RETURN
32943 999 errorsexits("cmfe_Field_ParameterSetGetElementDPObj",err,error)
32944  CALL cmfe_handleerror(err,error)
32945  RETURN
32946 
32948 
32949  !
32950  !================================================================================================================================
32951  !
32952 
32954  SUBROUTINE cmfe_field_parametersetgetelementlnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
32955  & userelementnumber,componentnumber,value,err)
32956  !DLLEXPORT(cmfe_Field_ParameterSetGetElementLNumber)
32957 
32958  !Argument variables
32959  INTEGER(INTG), INTENT(IN) :: regionUserNumber
32960  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
32961  INTEGER(INTG), INTENT(IN) :: variableType
32962  INTEGER(INTG), INTENT(IN) :: fieldSetType
32963  INTEGER(INTG), INTENT(IN) :: userElementNumber
32964  INTEGER(INTG), INTENT(IN) :: componentNumber
32965  LOGICAL, INTENT(OUT) :: value
32966  INTEGER(INTG), INTENT(OUT) :: err
32967  !Local variables
32968  TYPE(field_type), POINTER :: FIELD
32969  TYPE(region_type), POINTER :: REGION
32970  TYPE(varying_string) :: localError
32971 
32972  enters("cmfe_Field_ParameterSetGetElementLNumber",err,error,*999)
32973 
32974  NULLIFY(region)
32975  NULLIFY(field)
32976  CALL region_user_number_find(regionusernumber,region,err,error,*999)
32977  IF(ASSOCIATED(region)) THEN
32978  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
32979  IF(ASSOCIATED(field)) THEN
32980  CALL field_parameter_set_get_element(field,variabletype,fieldsettype,userelementnumber,componentnumber,value,err,error,*999)
32981  ELSE
32982  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
32983  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
32984  CALL flagerror(localerror,err,error,*999)
32985  END IF
32986  ELSE
32987  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
32988  CALL flagerror(localerror,err,error,*999)
32989  END IF
32990 
32991  exits("cmfe_Field_ParameterSetGetElementLNumber")
32992  RETURN
32993 999 errorsexits("cmfe_Field_ParameterSetGetElementLNumber",err,error)
32994  CALL cmfe_handleerror(err,error)
32995  RETURN
32996 
32998 
32999  !
33000  !================================================================================================================================
33001  !
33002 
33004  SUBROUTINE cmfe_field_parametersetgetelementlobj(field,variableType,fieldSetType,userElementNumber,componentNumber,value,err)
33005  !DLLEXPORT(cmfe_Field_ParameterSetGetElementLObj)
33006 
33007  !Argument variables
33008  TYPE(cmfe_fieldtype), INTENT(IN) :: field
33009  INTEGER(INTG), INTENT(IN) :: variableType
33010  INTEGER(INTG), INTENT(IN) :: fieldSetType
33011  INTEGER(INTG), INTENT(IN) :: userElementNumber
33012  INTEGER(INTG), INTENT(IN) :: componentNumber
33013  LOGICAL, INTENT(OUT) :: value
33014  INTEGER(INTG), INTENT(OUT) :: err
33015  !Local variables
33016 
33017  enters("cmfe_Field_ParameterSetGetElementLObj",err,error,*999)
33018 
33019  CALL field_parameter_set_get_element(field%field,variabletype,fieldsettype,userelementnumber,componentnumber,VALUE, &
33020  & err,error,*999)
33021 
33022  exits("cmfe_Field_ParameterSetGetElementLObj")
33023  RETURN
33024 999 errorsexits("cmfe_Field_ParameterSetGetElementLObj",err,error)
33025  CALL cmfe_handleerror(err,error)
33026  RETURN
33027 
33029 
33030  !
33031  !================================================================================================================================
33032  !
33033 
33035  SUBROUTINE cmfe_field_parametersetgetnodeintgnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
33036  & versionnumber,derivativenumber,usernodenumber,componentnumber,value,err)
33037  !DLLEXPORT(cmfe_Field_ParameterSetGetNodeIntgNumber)
33038 
33039  !Argument variables
33040  INTEGER(INTG), INTENT(IN) :: regionUserNumber
33041  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
33042  INTEGER(INTG), INTENT(IN) :: variableType
33043  INTEGER(INTG), INTENT(IN) :: fieldSetType
33044  INTEGER(INTG), INTENT(IN) :: versionNumber
33045  INTEGER(INTG), INTENT(IN) :: derivativeNumber
33046  INTEGER(INTG), INTENT(IN) :: userNodeNumber
33047  INTEGER(INTG), INTENT(IN) :: componentNumber
33048  INTEGER(INTG), INTENT(OUT) :: value
33049  INTEGER(INTG), INTENT(OUT) :: err
33050  !Local variables
33051  TYPE(field_type), POINTER :: FIELD
33052  TYPE(region_type), POINTER :: REGION
33053  TYPE(varying_string) :: localError
33054 
33055  enters("cmfe_Field_ParameterSetGetNodeIntgNumber",err,error,*999)
33056 
33057  NULLIFY(region)
33058  NULLIFY(field)
33059  CALL region_user_number_find(regionusernumber,region,err,error,*999)
33060  IF(ASSOCIATED(region)) THEN
33061  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
33062  IF(ASSOCIATED(field)) THEN
33063  CALL field_parameter_set_get_node(field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
33064  & componentnumber,value,err,error,*999)
33065  ELSE
33066  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
33067  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
33068  CALL flagerror(localerror,err,error,*999)
33069  END IF
33070  ELSE
33071  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
33072  CALL flagerror(localerror,err,error,*999)
33073  END IF
33074 
33075  exits("cmfe_Field_ParameterSetGetNodeIntgNumber")
33076  RETURN
33077 999 errorsexits("cmfe_Field_ParameterSetGetNodeIntgNumber",err,error)
33078  CALL cmfe_handleerror(err,error)
33079  RETURN
33080 
33082 
33083  !
33084  !================================================================================================================================
33085  !
33086 
33088  SUBROUTINE cmfe_field_parametersetgetnodeintgobj(field,variableType,fieldSetType,versionNumber,derivativeNumber,userNodeNumber, &
33089  & componentnumber,value,err)
33090  !DLLEXPORT(cmfe_Field_ParameterSetGetNodeIntgObj)
33091 
33092  !Argument variables
33093  TYPE(cmfe_fieldtype), INTENT(IN) :: field
33094  INTEGER(INTG), INTENT(IN) :: variableType
33095  INTEGER(INTG), INTENT(IN) :: fieldSetType
33096  INTEGER(INTG), INTENT(IN) :: versionNumber
33097  INTEGER(INTG), INTENT(IN) :: derivativeNumber
33098  INTEGER(INTG), INTENT(IN) :: userNodeNumber
33099  INTEGER(INTG), INTENT(IN) :: componentNumber
33100  INTEGER(INTG), INTENT(OUT) :: value
33101  INTEGER(INTG), INTENT(OUT) :: err
33102  !Local variables
33103 
33104  enters("cmfe_Field_ParameterSetGetNodeIntgObj",err,error,*999)
33105 
33106  CALL field_parameter_set_get_node(field%field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
33107  & componentnumber,value,err,error,*999)
33108 
33109  exits("cmfe_Field_ParameterSetGetNodeIntgObj")
33110  RETURN
33111 999 errorsexits("cmfe_Field_ParameterSetGetNodeIntgObj",err,error)
33112  CALL cmfe_handleerror(err,error)
33113  RETURN
33114 
33116 
33117  !
33118  !================================================================================================================================
33119  !
33120 
33122  SUBROUTINE cmfe_field_parametersetgetnodespnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
33123  & versionnumber,derivativenumber,usernodenumber,componentnumber,value,err)
33124  !DLLEXPORT(cmfe_Field_ParameterSetGetNodeSPNumber)
33125 
33126  !Argument variables
33127  INTEGER(INTG), INTENT(IN) :: regionUserNumber
33128  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
33129  INTEGER(INTG), INTENT(IN) :: variableType
33130  INTEGER(INTG), INTENT(IN) :: fieldSetType
33131  INTEGER(INTG), INTENT(IN) :: versionNumber
33132  INTEGER(INTG), INTENT(IN) :: derivativeNumber
33133  INTEGER(INTG), INTENT(IN) :: userNodeNumber
33134  INTEGER(INTG), INTENT(IN) :: componentNumber
33135  REAL(SP), INTENT(OUT) :: value
33136  INTEGER(INTG), INTENT(OUT) :: err
33137  !Local variables
33138  TYPE(field_type), POINTER :: FIELD
33139  TYPE(region_type), POINTER :: REGION
33140  TYPE(varying_string) :: localError
33141 
33142  enters("cmfe_Field_ParameterSetGetNodeSPNumber",err,error,*999)
33143 
33144  NULLIFY(region)
33145  NULLIFY(field)
33146  CALL region_user_number_find(regionusernumber,region,err,error,*999)
33147  IF(ASSOCIATED(region)) THEN
33148  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
33149  IF(ASSOCIATED(field)) THEN
33150  CALL field_parameter_set_get_node(field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
33151  & componentnumber,value,err,error,*999)
33152  ELSE
33153  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
33154  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
33155  CALL flagerror(localerror,err,error,*999)
33156  END IF
33157  ELSE
33158  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
33159  CALL flagerror(localerror,err,error,*999)
33160  END IF
33161 
33162  exits("cmfe_Field_ParameterSetGetNodeSPNumber")
33163  RETURN
33164 999 errorsexits("cmfe_Field_ParameterSetGetNodeSPNumber",err,error)
33165  CALL cmfe_handleerror(err,error)
33166  RETURN
33167 
33169 
33170  !
33171  !================================================================================================================================
33172  !
33173 
33175  SUBROUTINE cmfe_field_parametersetgetnodespobj(field,variableType,fieldSetType,versionNumber,derivativeNumber,userNodeNumber, &
33176  & componentnumber,value,err)
33177  !DLLEXPORT(cmfe_Field_ParameterSetGetNodeSPObj)
33178 
33179  !Argument variables
33180  TYPE(cmfe_fieldtype), INTENT(IN) :: field
33181  INTEGER(INTG), INTENT(IN) :: variableType
33182  INTEGER(INTG), INTENT(IN) :: fieldSetType
33183  INTEGER(INTG), INTENT(IN) :: versionNumber
33184  INTEGER(INTG), INTENT(IN) :: derivativeNumber
33185  INTEGER(INTG), INTENT(IN) :: userNodeNumber
33186  INTEGER(INTG), INTENT(IN) :: componentNumber
33187  REAL(SP), INTENT(OUT) :: value
33188  INTEGER(INTG), INTENT(OUT) :: err
33189  !Local variables
33190 
33191  enters("cmfe_Field_ParameterSetGetNodeSPObj",err,error,*999)
33192 
33193  CALL field_parameter_set_get_node(field%field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
33194  & componentnumber,value,err,error,*999)
33195 
33196  exits("cmfe_Field_ParameterSetGetNodeSPObj")
33197  RETURN
33198 999 errorsexits("cmfe_Field_ParameterSetGetNodeSPObj",err,error)
33199  CALL cmfe_handleerror(err,error)
33200  RETURN
33201 
33203 
33204  !
33205  !================================================================================================================================
33206  !
33207 
33209  SUBROUTINE cmfe_field_parametersetgetnodedpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
33210  & versionnumber,derivativenumber,usernodenumber,componentnumber,value,err)
33211  !DLLEXPORT(cmfe_Field_ParameterSetGetNodeDPNumber)
33212 
33213  !Argument variables
33214  INTEGER(INTG), INTENT(IN) :: regionUserNumber
33215  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
33216  INTEGER(INTG), INTENT(IN) :: variableType
33217  INTEGER(INTG), INTENT(IN) :: fieldSetType
33218  INTEGER(INTG), INTENT(IN) :: versionNumber
33219  INTEGER(INTG), INTENT(IN) :: derivativeNumber
33220  INTEGER(INTG), INTENT(IN) :: userNodeNumber
33221  INTEGER(INTG), INTENT(IN) :: componentNumber
33222  REAL(DP), INTENT(OUT) :: value
33223  INTEGER(INTG), INTENT(OUT) :: err
33224  !Local variables
33225  TYPE(field_type), POINTER :: FIELD
33226  TYPE(region_type), POINTER :: REGION
33227  TYPE(varying_string) :: localError
33228 
33229  enters("cmfe_Field_ParameterSetGetNodeDPNumber",err,error,*999)
33230 
33231  NULLIFY(region)
33232  NULLIFY(field)
33233  CALL region_user_number_find(regionusernumber,region,err,error,*999)
33234  IF(ASSOCIATED(region)) THEN
33235  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
33236  IF(ASSOCIATED(field)) THEN
33237  CALL field_parameter_set_get_node(field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
33238  & componentnumber,value,err,error,*999)
33239  ELSE
33240  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
33241  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
33242  CALL flagerror(localerror,err,error,*999)
33243  END IF
33244  ELSE
33245  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
33246  CALL flagerror(localerror,err,error,*999)
33247  END IF
33248 
33249  exits("cmfe_Field_ParameterSetGetNodeDPNumber")
33250  RETURN
33251 999 errorsexits("cmfe_Field_ParameterSetGetNodeDPNumber",err,error)
33252  CALL cmfe_handleerror(err,error)
33253  RETURN
33254 
33256 
33257  !
33258  !================================================================================================================================
33259  !
33260 
33262  SUBROUTINE cmfe_field_parametersetgetnodedpobj(field,variableType,fieldSetType,versionNumber,derivativeNumber,userNodeNumber, &
33263  & componentnumber,value,err)
33264  !DLLEXPORT(cmfe_Field_ParameterSetGetNodeDPObj)
33265 
33266  !Argument variables
33267  TYPE(cmfe_fieldtype), INTENT(IN) :: field
33268  INTEGER(INTG), INTENT(IN) :: variableType
33269  INTEGER(INTG), INTENT(IN) :: fieldSetType
33270  INTEGER(INTG), INTENT(IN) :: versionNumber
33271  INTEGER(INTG), INTENT(IN) :: derivativeNumber
33272  INTEGER(INTG), INTENT(IN) :: userNodeNumber
33273  INTEGER(INTG), INTENT(IN) :: componentNumber
33274  REAL(DP), INTENT(OUT) :: value
33275  INTEGER(INTG), INTENT(OUT) :: err
33276  !Local variables
33277 
33278  enters("cmfe_Field_ParameterSetGetNodeDPObj",err,error,*999)
33279 
33280  CALL field_parameter_set_get_node(field%field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
33281  & componentnumber, value,err,error,*999)
33282 
33283  exits("cmfe_Field_ParameterSetGetNodeDPObj")
33284  RETURN
33285 999 errorsexits("cmfe_Field_ParameterSetGetNodeDPObj",err,error)
33286  CALL cmfe_handleerror(err,error)
33287  RETURN
33288 
33290 
33291  !
33292  !================================================================================================================================
33293  !
33294 
33296  SUBROUTINE cmfe_field_parametersetgetnodelnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
33297  & versionnumber,derivativenumber,usernodenumber,componentnumber,value,err)
33298  !DLLEXPORT(cmfe_Field_ParameterSetGetNodeLNumber)
33299 
33300  !Argument variables
33301  INTEGER(INTG), INTENT(IN) :: regionUserNumber
33302  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
33303  INTEGER(INTG), INTENT(IN) :: variableType
33304  INTEGER(INTG), INTENT(IN) :: fieldSetType
33305  INTEGER(INTG), INTENT(IN) :: versionNumber
33306  INTEGER(INTG), INTENT(IN) :: derivativeNumber
33307  INTEGER(INTG), INTENT(IN) :: userNodeNumber
33308  INTEGER(INTG), INTENT(IN) :: componentNumber
33309  LOGICAL, INTENT(OUT) :: value
33310  INTEGER(INTG), INTENT(OUT) :: err
33311  !Local variables
33312  TYPE(field_type), POINTER :: FIELD
33313  TYPE(region_type), POINTER :: REGION
33314  TYPE(varying_string) :: localError
33315 
33316  enters("cmfe_Field_ParameterSetGetNodeLNumber",err,error,*999)
33317 
33318  NULLIFY(region)
33319  NULLIFY(field)
33320  CALL region_user_number_find(regionusernumber,region,err,error,*999)
33321  IF(ASSOCIATED(region)) THEN
33322  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
33323  IF(ASSOCIATED(field)) THEN
33324  CALL field_parameter_set_get_node(field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
33325  & componentnumber, value,err,error,*999)
33326  ELSE
33327  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
33328  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
33329  CALL flagerror(localerror,err,error,*999)
33330  END IF
33331  ELSE
33332  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
33333  CALL flagerror(localerror,err,error,*999)
33334  END IF
33335 
33336  exits("cmfe_Field_ParameterSetGetNodeLNumber")
33337  RETURN
33338 999 errorsexits("cmfe_Field_ParameterSetGetNodeLNumber",err,error)
33339  CALL cmfe_handleerror(err,error)
33340  RETURN
33341 
33343 
33344  !
33345  !================================================================================================================================
33346  !
33347 
33349  SUBROUTINE cmfe_field_parametersetgetnodelobj(field,variableType,fieldSetType,versionNumber,derivativeNumber,userNodeNumber, &
33350  & componentnumber,value,err)
33351  !DLLEXPORT(cmfe_Field_ParameterSetGetNodeLObj)
33352 
33353  !Argument variables
33354  TYPE(cmfe_fieldtype), INTENT(IN) :: field
33355  INTEGER(INTG), INTENT(IN) :: variableType
33356  INTEGER(INTG), INTENT(IN) :: fieldSetType
33357  INTEGER(INTG), INTENT(IN) :: versionNumber
33358  INTEGER(INTG), INTENT(IN) :: derivativeNumber
33359  INTEGER(INTG), INTENT(IN) :: userNodeNumber
33360  INTEGER(INTG), INTENT(IN) :: componentNumber
33361  LOGICAL, INTENT(OUT) :: value
33362  INTEGER(INTG), INTENT(OUT) :: err
33363  !Local variables
33364 
33365  enters("cmfe_Field_ParameterSetGetNodeLObj",err,error,*999)
33366 
33367  CALL field_parameter_set_get_node(field%field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
33368  & componentnumber,value,err,error,*999)
33369 
33370  exits("cmfe_Field_ParameterSetGetNodeLObj")
33371  RETURN
33372 999 errorsexits("cmfe_Field_ParameterSetGetNodeLObj",err,error)
33373  CALL cmfe_handleerror(err,error)
33374  RETURN
33375 
33376  END SUBROUTINE cmfe_field_parametersetgetnodelobj
33377 
33378  !
33379  !================================================================================================================================
33380  !
33381 
33383  SUBROUTINE cmfe_field_parametersetgetgausspointdpobj(field,variableType,fieldSetType,gaussPointNumber,userElementNumber, &
33384  & componentnumber,VALUE,err)
33385  !DLLEXPORT(cmfe_Field_ParameterSetGetGaussPointDPObj)
33386 
33387  !Argument variables
33388  TYPE(cmfe_fieldtype), INTENT(IN) :: field
33389  INTEGER(INTG), INTENT(IN) :: variableType
33390  INTEGER(INTG), INTENT(IN) :: fieldSetType
33391  INTEGER(INTG), INTENT(IN) :: gaussPointNumber
33392  INTEGER(INTG), INTENT(IN) :: userElementNumber
33393  INTEGER(INTG), INTENT(IN) :: componentNumber
33394  REAL(DP), INTENT(OUT) :: value
33395  INTEGER(INTG), INTENT(OUT) :: err
33396  !Local variables
33397 
33398  enters("cmfe_Field_ParameterSetGetGaussPointDPObj",err,error,*999)
33399 
33400  CALL field_parametersetgetgausspoint(field%field,variabletype,fieldsettype,gausspointnumber,userelementnumber, &
33401  & componentnumber,value,err,error,*999)
33402 
33403  exits("cmfe_Field_ParameterSetGetGaussPointDPObj")
33404  RETURN
33405 999 errorsexits("cmfe_Field_ParameterSetGetGaussPointDPObj",err,error)
33406  CALL cmfe_handleerror(err,error)
33407  RETURN
33408 
33410  !
33411  !================================================================================================================================
33412  !
33413 
33414 
33416  SUBROUTINE cmfe_field_parametersetupdateconstantintgnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
33417  & componentnumber,value,err)
33418  !DLLEXPORT(cmfe_Field_ParameterSetUpdateConstantIntgNumber)
33419 
33420  !Argument variables
33421  INTEGER(INTG), INTENT(IN) :: regionUserNumber
33422  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
33423  INTEGER(INTG), INTENT(IN) :: variableType
33424  INTEGER(INTG), INTENT(IN) :: fieldSetType
33425  INTEGER(INTG), INTENT(IN) :: componentNumber
33426  INTEGER(INTG), INTENT(IN) :: value
33427  INTEGER(INTG), INTENT(OUT) :: err
33428  !Local variables
33429  TYPE(field_type), POINTER :: FIELD
33430  TYPE(region_type), POINTER :: REGION
33431  TYPE(varying_string) :: localError
33432 
33433  enters("cmfe_Field_ParameterSetUpdateConstantIntgNumber",err,error,*999)
33434 
33435  NULLIFY(region)
33436  NULLIFY(field)
33437  CALL region_user_number_find(regionusernumber,region,err,error,*999)
33438  IF(ASSOCIATED(region)) THEN
33439  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
33440  IF(ASSOCIATED(field)) THEN
33441  CALL field_parameter_set_update_constant(field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
33442  ELSE
33443  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
33444  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
33445  CALL flagerror(localerror,err,error,*999)
33446  END IF
33447  ELSE
33448  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
33449  CALL flagerror(localerror,err,error,*999)
33450  END IF
33451 
33452  exits("cmfe_Field_ParameterSetUpdateConstantIntgNumber")
33453  RETURN
33454 999 errors("cmfe_Field_ParameterSetUpdateConstantIntgNumber",err,error)
33455  exits("cmfe_Field_ParameterSetUpdateConstantIntgNumber")
33456  CALL cmfe_handleerror(err,error)
33457  RETURN
33458 
33460 
33461  !
33462  !================================================================================================================================
33463  !
33464 
33466  SUBROUTINE cmfe_field_parametersetupdateconstantintgobj(field,variableType,fieldSetType,componentNumber,value,err)
33467  !DLLEXPORT(cmfe_Field_ParameterSetUpdateConstantIntgObj)
33468 
33469  !Argument variables
33470  TYPE(cmfe_fieldtype), INTENT(IN) :: field
33471  INTEGER(INTG), INTENT(IN) :: variableType
33472  INTEGER(INTG), INTENT(IN) :: fieldSetType
33473  INTEGER(INTG), INTENT(IN) :: componentNumber
33474  INTEGER(INTG), INTENT(IN) :: value
33475  INTEGER(INTG), INTENT(OUT) :: err
33476  !Local variables
33477 
33478  enters("cmfe_Field_ParameterSetUpdateConstantIntgObj",err,error,*999)
33479 
33480  CALL field_parameter_set_update_constant(field%field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
33481 
33482  exits("cmfe_Field_ParameterSetUpdateConstantIntgObj")
33483  RETURN
33484 999 errors("cmfe_Field_ParameterSetUpdateConstantIntgObj",err,error)
33485  exits("cmfe_Field_ParameterSetUpdateConstantIntgObj")
33486  CALL cmfe_handleerror(err,error)
33487  RETURN
33488 
33490 
33491  !
33492  !================================================================================================================================
33493  !
33494 
33496  SUBROUTINE cmfe_field_parametersetupdateconstantspnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
33497  & componentnumber,value,err)
33498  !DLLEXPORT(cmfe_Field_ParameterSetUpdateConstantSPNumber)
33499 
33500  !Argument variables
33501  INTEGER(INTG), INTENT(IN) :: regionUserNumber
33502  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
33503  INTEGER(INTG), INTENT(IN) :: variableType
33504  INTEGER(INTG), INTENT(IN) :: fieldSetType
33505  INTEGER(INTG), INTENT(IN) :: componentNumber
33506  REAL(SP), INTENT(IN) :: value
33507  INTEGER(INTG), INTENT(OUT) :: err
33508  !Local variables
33509  TYPE(field_type), POINTER :: FIELD
33510  TYPE(region_type), POINTER :: REGION
33511  TYPE(varying_string) :: localError
33512 
33513  enters("cmfe_Field_ParameterSetUpdateConstantSPNumber",err,error,*999)
33514 
33515  NULLIFY(region)
33516  NULLIFY(field)
33517  CALL region_user_number_find(regionusernumber,region,err,error,*999)
33518  IF(ASSOCIATED(region)) THEN
33519  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
33520  IF(ASSOCIATED(field)) THEN
33521  CALL field_parameter_set_update_constant(field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
33522  ELSE
33523  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
33524  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
33525  CALL flagerror(localerror,err,error,*999)
33526  END IF
33527  ELSE
33528  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
33529  CALL flagerror(localerror,err,error,*999)
33530  END IF
33531 
33532  exits("cmfe_Field_ParameterSetUpdateConstantSPNumber")
33533  RETURN
33534 999 errors("cmfe_Field_ParameterSetUpdateConstantSPNumber",err,error)
33535  exits("cmfe_Field_ParameterSetUpdateConstantSPNumber")
33536  CALL cmfe_handleerror(err,error)
33537  RETURN
33538 
33540 
33541  !
33542  !================================================================================================================================
33543  !
33544 
33546  SUBROUTINE cmfe_field_parametersetupdateconstantspobj(field,variableType,fieldSetType,componentNumber,value,err)
33547  !DLLEXPORT(cmfe_Field_ParameterSetUpdateConstantSPObj)
33548 
33549  !Argument variables
33550  TYPE(cmfe_fieldtype), INTENT(IN) :: field
33551  INTEGER(INTG), INTENT(IN) :: variableType
33552  INTEGER(INTG), INTENT(IN) :: fieldSetType
33553  INTEGER(INTG), INTENT(IN) :: componentNumber
33554  REAL(SP), INTENT(IN) :: value
33555  INTEGER(INTG), INTENT(OUT) :: err
33556  !Local variables
33557 
33558  enters("cmfe_Field_ParameterSetUpdateConstantSPObj",err,error,*999)
33559 
33560  CALL field_parameter_set_update_constant(field%field,variabletype,fieldsettype,componentnumber,Value,err,error,*999)
33561 
33562  exits("cmfe_Field_ParameterSetUpdateConstantSPObj")
33563  RETURN
33564 999 errorsexits("cmfe_Field_ParameterSetUpdateConstantSPObj",err,error)
33565  CALL cmfe_handleerror(err,error)
33566  RETURN
33567 
33569 
33570  !
33571  !================================================================================================================================
33572  !
33573 
33575  SUBROUTINE cmfe_field_parametersetupdateconstantdpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
33576  & componentnumber,value,err)
33577  !DLLEXPORT(cmfe_Field_ParameterSetUpdateConstantDPNumber)
33578 
33579  !Argument variables
33580  INTEGER(INTG), INTENT(IN) :: regionUserNumber
33581  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
33582  INTEGER(INTG), INTENT(IN) :: variableType
33583  INTEGER(INTG), INTENT(IN) :: fieldSetType
33584  INTEGER(INTG), INTENT(IN) :: componentNumber
33585  REAL(DP), INTENT(IN) :: value
33586  INTEGER(INTG), INTENT(OUT) :: err
33587  !Local variables
33588  TYPE(field_type), POINTER :: FIELD
33589  TYPE(region_type), POINTER :: REGION
33590  TYPE(varying_string) :: localError
33591 
33592  enters("cmfe_Field_ParameterSetUpdateConstantDPNumber",err,error,*999)
33593 
33594  NULLIFY(region)
33595  NULLIFY(field)
33596  CALL region_user_number_find(regionusernumber,region,err,error,*999)
33597  IF(ASSOCIATED(region)) THEN
33598  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
33599  IF(ASSOCIATED(field)) THEN
33600  CALL field_parameter_set_update_constant(field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
33601  ELSE
33602  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
33603  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
33604  CALL flagerror(localerror,err,error,*999)
33605  END IF
33606  ELSE
33607  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
33608  CALL flagerror(localerror,err,error,*999)
33609  END IF
33610 
33611  exits("cmfe_Field_ParameterSetUpdateConstantDPNumber")
33612  RETURN
33613 999 errors("cmfe_Field_ParameterSetUpdateConstantDPNumber",err,error)
33614  exits("cmfe_Field_ParameterSetUpdateConstantDPNumber")
33615  CALL cmfe_handleerror(err,error)
33616  RETURN
33617 
33619 
33620  !
33621  !================================================================================================================================
33622  !
33623 
33625  SUBROUTINE cmfe_field_parametersetupdateconstantdpobj(field,variableType,fieldSetType,componentNumber,value,err)
33626  !DLLEXPORT(cmfe_Field_ParameterSetUpdateConstantDPObj)
33627 
33628  !Argument variables
33629  TYPE(cmfe_fieldtype), INTENT(IN) :: field
33630  INTEGER(INTG), INTENT(IN) :: variableType
33631  INTEGER(INTG), INTENT(IN) :: fieldSetType
33632  INTEGER(INTG), INTENT(IN) :: componentNumber
33633  REAL(DP), INTENT(IN) :: value
33634  INTEGER(INTG), INTENT(OUT) :: err
33635  !Local variables
33636 
33637  enters("cmfe_Field_ParameterSetUpdateConstantDPObj",err,error,*999)
33638 
33639  CALL field_parameter_set_update_constant(field%field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
33640 
33641  exits("cmfe_Field_ParameterSetUpdateConstantDPObj")
33642  RETURN
33643 999 errorsexits("cmfe_Field_ParameterSetUpdateConstantDPObj",err,error)
33644  CALL cmfe_handleerror(err,error)
33645  RETURN
33646 
33648 
33649  !
33650  !================================================================================================================================
33651  !
33652 
33654  SUBROUTINE cmfe_field_parametersetupdateconstantlnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
33655  & componentnumber,value,err)
33656  !DLLEXPORT(cmfe_Field_ParameterSetUpdateConstantLNumber)
33657 
33658  !Argument variables
33659  INTEGER(INTG), INTENT(IN) :: regionUserNumber
33660  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
33661  INTEGER(INTG), INTENT(IN) :: variableType
33662  INTEGER(INTG), INTENT(IN) :: fieldSetType
33663  INTEGER(INTG), INTENT(IN) :: componentNumber
33664  LOGICAL, INTENT(IN) :: value
33665  INTEGER(INTG), INTENT(OUT) :: err
33666  !Local variables
33667  TYPE(field_type), POINTER :: FIELD
33668  TYPE(region_type), POINTER :: REGION
33669  TYPE(varying_string) :: localError
33670 
33671  enters("cmfe_Field_ParameterSetUpdateConstantLNumber",err,error,*999)
33672 
33673  NULLIFY(region)
33674  NULLIFY(field)
33675  CALL region_user_number_find(regionusernumber,region,err,error,*999)
33676  IF(ASSOCIATED(region)) THEN
33677  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
33678  IF(ASSOCIATED(field)) THEN
33679  CALL field_parameter_set_update_constant(field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
33680  ELSE
33681  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
33682  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
33683  CALL flagerror(localerror,err,error,*999)
33684  END IF
33685  ELSE
33686  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
33687  CALL flagerror(localerror,err,error,*999)
33688  END IF
33689 
33690  exits("cmfe_Field_ParameterSetUpdateConstantLNumber")
33691  RETURN
33692 999 errors("cmfe_Field_ParameterSetUpdateConstantLNumber",err,error)
33693  exits("cmfe_Field_ParameterSetUpdateConstantLNumber")
33694  CALL cmfe_handleerror(err,error)
33695  RETURN
33696 
33698 
33699  !
33700  !================================================================================================================================
33701  !
33702 
33704  SUBROUTINE cmfe_field_parametersetupdateconstantlobj(field,variableType,fieldSetType,componentNumber,value,err)
33705  !DLLEXPORT(cmfe_Field_ParameterSetUpdateConstantLObj)
33706 
33707  !Argument variables
33708  TYPE(cmfe_fieldtype), INTENT(IN) :: field
33709  INTEGER(INTG), INTENT(IN) :: variableType
33710  INTEGER(INTG), INTENT(IN) :: fieldSetType
33711  INTEGER(INTG), INTENT(IN) :: componentNumber
33712  LOGICAL, INTENT(IN) :: value
33713  INTEGER(INTG), INTENT(OUT) :: err
33714  !Local variables
33715 
33716  enters("cmfe_Field_ParameterSetUpdateConstantLObj",err,error,*999)
33717 
33718  CALL field_parameter_set_update_constant(field%field,variabletype,fieldsettype,componentnumber,value,err,error,*999)
33719 
33720  exits("cmfe_Field_ParameterSetUpdateConstantLObj")
33721  RETURN
33722 999 errorsexits("cmfe_Field_ParameterSetUpdateConstantLObj",err,error)
33723  CALL cmfe_handleerror(err,error)
33724  RETURN
33725 
33727 
33728  !
33729  !================================================================================================================================
33730  !
33731 
33733  SUBROUTINE cmfe_field_parametersetupdatedatapointintgnumberi(parentRegionUserNumber,interfaceUserNumber,fieldUserNumber, &
33734  & variabletype,fieldsettype,userdatapointnumber,componentnumber,value,err)
33735  !DLLEXPORT(cmfe_Field_ParameterSetUpdateDataPointIntgNumberI)
33736 
33737  !Argument variables
33738  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
33739  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
33740  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
33741  INTEGER(INTG), INTENT(IN) :: variableType
33742  INTEGER(INTG), INTENT(IN) :: fieldSetType
33743  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
33744  INTEGER(INTG), INTENT(IN) :: componentNumber
33745  INTEGER(INTG), INTENT(IN) :: value
33746  INTEGER(INTG), INTENT(OUT) :: err
33747  !Local variables
33748  TYPE(field_type), POINTER :: field
33749  TYPE(region_type), POINTER :: region
33750  TYPE(interface_type), POINTER :: interface
33751  TYPE(varying_string) :: localError
33752 
33753  enters("cmfe_Field_ParameterSetUpdateDataPointIntgNumberI",err,error,*999)
33754 
33755  NULLIFY(region)
33756  NULLIFY(field)
33757  NULLIFY(interface)
33758  CALL region_user_number_find(parentregionusernumber,region,err,error,*999)
33759  IF(ASSOCIATED(region)) THEN
33760  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
33761  IF(ASSOCIATED(interface)) THEN
33762  CALL field_user_number_find(fieldusernumber,interface,field,err,error,*999)
33763  IF(ASSOCIATED(field)) THEN
33764  CALL field_parametersetupdatedatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
33765  & err,error,*999)
33766  ELSE
33767  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
33768  & " does not exist on region number "//trim(numbertovstring(parentregionusernumber,"*",err,error))//"."
33769  CALL flagerror(localerror,err,error,*999)
33770  ENDIF
33771  ELSE
33772  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
33773  & " does not exist."
33774  CALL flagerror(localerror,err,error,*999)
33775  ENDIF
33776  ELSE
33777  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
33778  & " does not exist."
33779  CALL flagerror(localerror,err,error,*999)
33780  END IF
33781 
33782  exits("cmfe_Field_ParameterSetUpdateDataPointIntgNumberI")
33783  RETURN
33784 999 errors("cmfe_Field_ParameterSetUpdateDataPointIntgNumberI",err,error)
33785  exits("cmfe_Field_ParameterSetUpdateDataPointIntgNumberI")
33786  CALL cmfe_handleerror(err,error)
33787  RETURN
33788 
33790 
33791  !
33792  !================================================================================================================================
33793  !
33794 
33796  SUBROUTINE cmfe_field_parametersetupdatedatapointintgnumberr(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
33797  & userdatapointnumber,componentnumber,value,err)
33798  !DLLEXPORT(cmfe_Field_ParameterSetUpdateDataPointIntgNumberR)
33799 
33800  !Argument variables
33801  INTEGER(INTG), INTENT(IN) :: regionUserNumber
33802  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
33803  INTEGER(INTG), INTENT(IN) :: variableType
33804  INTEGER(INTG), INTENT(IN) :: fieldSetType
33805  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
33806  INTEGER(INTG), INTENT(IN) :: componentNumber
33807  INTEGER(INTG), INTENT(IN) :: value
33808  INTEGER(INTG), INTENT(OUT) :: err
33809  !Local variables
33810  TYPE(field_type), POINTER :: field
33811  TYPE(region_type), POINTER :: region
33812  TYPE(varying_string) :: localError
33813 
33814  enters("cmfe_Field_ParameterSetUpdateDataPointIntgNumberR",err,error,*999)
33815 
33816  NULLIFY(region)
33817  NULLIFY(field)
33818  CALL region_user_number_find(regionusernumber,region,err,error,*999)
33819  IF(ASSOCIATED(region)) THEN
33820  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
33821  IF(ASSOCIATED(field)) THEN
33822  CALL field_parametersetupdatedatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
33823  & err,error,*999)
33824  ELSE
33825  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
33826  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
33827  CALL flagerror(localerror,err,error,*999)
33828  END IF
33829  ELSE
33830  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
33831  CALL flagerror(localerror,err,error,*999)
33832  END IF
33833 
33834  exits("cmfe_Field_ParameterSetUpdateDataPointIntgNumberR")
33835  RETURN
33836 999 errors("cmfe_Field_ParameterSetUpdateDataPointIntgNumberR",err,error)
33837  exits("cmfe_Field_ParameterSetUpdateDataPointIntgNumberR")
33838  CALL cmfe_handleerror(err,error)
33839  RETURN
33840 
33842 
33843  !
33844  !================================================================================================================================
33845  !
33846 
33848  SUBROUTINE cmfe_field_parametersetupdatedatapointintgobj(field,variableType,fieldSetType,userDataPointNumber,componentNumber, &
33849  & value,err)
33850  !DLLEXPORT(cmfe_Field_ParameterSetUpdateDataPointIntgObj)
33851 
33852  !Argument variables
33853  TYPE(cmfe_fieldtype), INTENT(IN) :: field
33854  INTEGER(INTG), INTENT(IN) :: variableType
33855  INTEGER(INTG), INTENT(IN) :: fieldSetType
33856  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
33857  INTEGER(INTG), INTENT(IN) :: componentNumber
33858  INTEGER(INTG), INTENT(IN) :: value
33859  INTEGER(INTG), INTENT(OUT) :: err
33860  !Local variables
33861 
33862  enters("cmfe_Field_ParameterSetUpdateDataPointIntgObj",err,error,*999)
33863 
33864  CALL field_parametersetupdatedatapoint(field%field,variabletype,fieldsettype,userdatapointnumber,componentnumber, &
33865  & value,err,error,*999)
33866 
33867  exits("cmfe_Field_ParameterSetUpdateDataPointIntgObj")
33868  RETURN
33869 999 errors("cmfe_Field_ParameterSetUpdateDataPointIntgObj",err,error)
33870  exits("cmfe_Field_ParameterSetUpdateDataPointIntgObj")
33871  CALL cmfe_handleerror(err,error)
33872  RETURN
33873 
33875 
33876  !
33877  !================================================================================================================================
33878  !
33879 
33881  SUBROUTINE cmfe_field_parametersetupdatedatapointspnumberi(parentRegionUserNumber,interfaceUserNumber,fieldUserNumber, &
33882  & variabletype,fieldsettype,userdatapointnumber,componentnumber,value,err)
33883  !DLLEXPORT(cmfe_Field_ParameterSetUpdateDataPointSPNumberI)
33884 
33885  !Argument variables
33886  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
33887  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
33888  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
33889  INTEGER(INTG), INTENT(IN) :: variableType
33890  INTEGER(INTG), INTENT(IN) :: fieldSetType
33891  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
33892  INTEGER(INTG), INTENT(IN) :: componentNumber
33893  REAL(SP), INTENT(IN) :: value
33894  INTEGER(INTG), INTENT(OUT) :: err
33895  !Local variables
33896  TYPE(field_type), POINTER :: field
33897  TYPE(region_type), POINTER :: region
33898  TYPE(interface_type), POINTER :: interface
33899  TYPE(varying_string) :: localError
33900 
33901  enters("cmfe_Field_ParameterSetUpdateDataPointSPNumberI",err,error,*999)
33902 
33903  NULLIFY(region)
33904  NULLIFY(field)
33905  NULLIFY(interface)
33906  CALL region_user_number_find(parentregionusernumber,region,err,error,*999)
33907  IF(ASSOCIATED(region)) THEN
33908  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
33909  IF(ASSOCIATED(interface)) THEN
33910  CALL field_user_number_find(fieldusernumber,interface,field,err,error,*999)
33911  IF(ASSOCIATED(field)) THEN
33912  CALL field_parametersetupdatedatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
33913  & err,error,*999)
33914  ELSE
33915  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
33916  & " does not exist on region number "//trim(numbertovstring(parentregionusernumber,"*",err,error))//"."
33917  CALL flagerror(localerror,err,error,*999)
33918  ENDIF
33919  ELSE
33920  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
33921  & " does not exist."
33922  CALL flagerror(localerror,err,error,*999)
33923  ENDIF
33924  ELSE
33925  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
33926  & " does not exist."
33927  CALL flagerror(localerror,err,error,*999)
33928  END IF
33929 
33930  exits("cmfe_Field_ParameterSetUpdateDataPointSPNumberI")
33931  RETURN
33932 999 errors("cmfe_Field_ParameterSetUpdateDataPointSPNumberI",err,error)
33933  exits("cmfe_Field_ParameterSetUpdateDataPointSPNumberI")
33934  CALL cmfe_handleerror(err,error)
33935  RETURN
33936 
33938 
33939  !
33940  !================================================================================================================================
33941  !
33942 
33944  SUBROUTINE cmfe_field_parametersetupdatedatapointspnumberr(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
33945  & userdatapointnumber,componentnumber,value,err)
33946  !DLLEXPORT(cmfe_Field_ParameterSetUpdateDataPointSPNumberR)
33947 
33948  !Argument variables
33949  INTEGER(INTG), INTENT(IN) :: regionUserNumber
33950  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
33951  INTEGER(INTG), INTENT(IN) :: variableType
33952  INTEGER(INTG), INTENT(IN) :: fieldSetType
33953  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
33954  INTEGER(INTG), INTENT(IN) :: componentNumber
33955  REAL(SP), INTENT(IN) :: value
33956  INTEGER(INTG), INTENT(OUT) :: err
33957  !Local variables
33958  TYPE(field_type), POINTER :: field
33959  TYPE(region_type), POINTER :: region
33960  TYPE(varying_string) :: localError
33961 
33962  enters("cmfe_Field_ParameterSetUpdateDataPointSPNumberR",err,error,*999)
33963 
33964  NULLIFY(region)
33965  NULLIFY(field)
33966  CALL region_user_number_find(regionusernumber,region,err,error,*999)
33967  IF(ASSOCIATED(region)) THEN
33968  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
33969  IF(ASSOCIATED(field)) THEN
33970  CALL field_parametersetupdatedatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
33971  & err,error,*999)
33972  ELSE
33973  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
33974  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
33975  CALL flagerror(localerror,err,error,*999)
33976  END IF
33977  ELSE
33978  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
33979  CALL flagerror(localerror,err,error,*999)
33980  END IF
33981 
33982  exits("cmfe_Field_ParameterSetUpdateDataPointSPNumberR")
33983  RETURN
33984 999 errors("cmfe_Field_ParameterSetUpdateDataPointSPNumberR",err,error)
33985  exits("cmfe_Field_ParameterSetUpdateDataPointSPNumberR")
33986  CALL cmfe_handleerror(err,error)
33987  RETURN
33988 
33990 
33991  !
33992  !================================================================================================================================
33993  !
33994 
33996  SUBROUTINE cmfe_field_parametersetupdatedatapointspobj(field,variableType,fieldSetType,userDataPointNumber,componentNumber, &
33997  & value,err)
33998  !DLLEXPORT(cmfe_Field_ParameterSetUpdateDataPointSPObj)
33999 
34000  !Argument variables
34001  TYPE(cmfe_fieldtype), INTENT(IN) :: field
34002  INTEGER(INTG), INTENT(IN) :: variableType
34003  INTEGER(INTG), INTENT(IN) :: fieldSetType
34004  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
34005  INTEGER(INTG), INTENT(IN) :: componentNumber
34006  REAL(SP), INTENT(IN) :: value
34007  INTEGER(INTG), INTENT(OUT) :: err
34008  !Local variables
34009 
34010  enters("cmfe_Field_ParameterSetUpdateDataPointSPObj",err,error,*999)
34011 
34012  CALL field_parametersetupdatedatapoint(field%field,variabletype,fieldsettype,userdatapointnumber,componentnumber, &
34013  & value,err,error,*999)
34014 
34015  exits("cmfe_Field_ParameterSetUpdateDataPointSPObj")
34016  RETURN
34017 999 errorsexits("cmfe_Field_ParameterSetUpdateDataPointSPObj",err,error)
34018  CALL cmfe_handleerror(err,error)
34019  RETURN
34020 
34022 
34023  !
34024  !================================================================================================================================
34025  !
34026 
34028  SUBROUTINE cmfe_field_parametersetupdatedatapointdpnumberi(parentRegionUserNumber,interfaceUserNumber,fieldUserNumber, &
34029  & variabletype,fieldsettype,userdatapointnumber,componentnumber,value,err)
34030  !DLLEXPORT(cmfe_Field_ParameterSetUpdateDataPointDPNumberI)
34031 
34032  !Argument variables
34033  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
34034  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
34035  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
34036  INTEGER(INTG), INTENT(IN) :: variableType
34037  INTEGER(INTG), INTENT(IN) :: fieldSetType
34038  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
34039  INTEGER(INTG), INTENT(IN) :: componentNumber
34040  REAL(DP), INTENT(IN) :: value
34041  INTEGER(INTG), INTENT(OUT) :: err
34042  !Local variables
34043  TYPE(field_type), POINTER :: field
34044  TYPE(region_type), POINTER :: region
34045  TYPE(interface_type), POINTER :: interface
34046  TYPE(varying_string) :: localError
34047 
34048  enters("cmfe_Field_ParameterSetUpdateDataPointDPNumberI",err,error,*999)
34049 
34050  NULLIFY(region)
34051  NULLIFY(field)
34052  NULLIFY(interface)
34053  CALL region_user_number_find(parentregionusernumber,region,err,error,*999)
34054  IF(ASSOCIATED(region)) THEN
34055  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
34056  IF(ASSOCIATED(interface)) THEN
34057  CALL field_user_number_find(fieldusernumber,interface,field,err,error,*999)
34058  IF(ASSOCIATED(field)) THEN
34059  CALL field_parametersetupdatedatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
34060  & err,error,*999)
34061  ELSE
34062  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
34063  & " does not exist on region number "//trim(numbertovstring(parentregionusernumber,"*",err,error))//"."
34064  CALL flagerror(localerror,err,error,*999)
34065  ENDIF
34066  ELSE
34067  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
34068  & " does not exist."
34069  CALL flagerror(localerror,err,error,*999)
34070  ENDIF
34071  ELSE
34072  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
34073  & " does not exist."
34074  CALL flagerror(localerror,err,error,*999)
34075  END IF
34076 
34077  exits("cmfe_Field_ParameterSetUpdateDataPointDPNumberI")
34078  RETURN
34079 999 errors("cmfe_Field_ParameterSetUpdateDataPointDPNumberI",err,error)
34080  exits("cmfe_Field_ParameterSetUpdateDataPointDPNumberI")
34081  CALL cmfe_handleerror(err,error)
34082  RETURN
34083 
34085 
34086  !
34087  !================================================================================================================================
34088  !
34089 
34091  SUBROUTINE cmfe_field_parametersetupdatedatapointdpnumberr(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
34092  & userdatapointnumber,componentnumber,value,err)
34093  !DLLEXPORT(cmfe_Field_ParameterSetUpdateDataPointDPNumberR)
34094 
34095  !Argument variables
34096  INTEGER(INTG), INTENT(IN) :: regionUserNumber
34097  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
34098  INTEGER(INTG), INTENT(IN) :: variableType
34099  INTEGER(INTG), INTENT(IN) :: fieldSetType
34100  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
34101  INTEGER(INTG), INTENT(IN) :: componentNumber
34102  REAL(DP), INTENT(IN) :: value
34103  INTEGER(INTG), INTENT(OUT) :: err
34104  !Local variables
34105  TYPE(field_type), POINTER :: field
34106  TYPE(region_type), POINTER :: region
34107  TYPE(varying_string) :: localError
34108 
34109  enters("cmfe_Field_ParameterSetUpdateDataPointDPNumberR",err,error,*999)
34110 
34111  NULLIFY(region)
34112  NULLIFY(field)
34113  CALL region_user_number_find(regionusernumber,region,err,error,*999)
34114  IF(ASSOCIATED(region)) THEN
34115  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
34116  IF(ASSOCIATED(field)) THEN
34117  CALL field_parametersetupdatedatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
34118  & err,error,*999)
34119  ELSE
34120  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
34121  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
34122  CALL flagerror(localerror,err,error,*999)
34123  END IF
34124  ELSE
34125  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
34126  CALL flagerror(localerror,err,error,*999)
34127  END IF
34128 
34129  exits("cmfe_Field_ParameterSetUpdateDataPointDPNumberR")
34130  RETURN
34131 999 errors("cmfe_Field_ParameterSetUpdateDataPointDPNumberR",err,error)
34132  exits("cmfe_Field_ParameterSetUpdateDataPointDPNumberR")
34133  CALL cmfe_handleerror(err,error)
34134  RETURN
34135 
34137 
34138  !
34139  !================================================================================================================================
34140  !
34141 
34143  SUBROUTINE cmfe_field_parametersetupdatedatapointdpobj(field,variableType,fieldSetType,userDataPointNumber,componentNumber, &
34144  & value,err)
34145  !DLLEXPORT(cmfe_Field_ParameterSetUpdateDataPointDPObj)
34146 
34147  !Argument variables
34148  TYPE(cmfe_fieldtype), INTENT(IN) :: field
34149  INTEGER(INTG), INTENT(IN) :: variableType
34150  INTEGER(INTG), INTENT(IN) :: fieldSetType
34151  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
34152  INTEGER(INTG), INTENT(IN) :: componentNumber
34153  REAL(DP), INTENT(IN) :: value
34154  INTEGER(INTG), INTENT(OUT) :: err
34155  !Local variables
34156 
34157  enters("cmfe_Field_ParameterSetUpdateDataPointDPObj",err,error,*999)
34158 
34159  CALL field_parametersetupdatedatapoint(field%field,variabletype,fieldsettype,userdatapointnumber,componentnumber, &
34160  & value,err,error,*999)
34161 
34162  exits("cmfe_Field_ParameterSetUpdateDataPointDPObj")
34163  RETURN
34164 999 errorsexits("cmfe_Field_ParameterSetUpdateDataPointDPObj",err,error)
34165  CALL cmfe_handleerror(err,error)
34166  RETURN
34167 
34169 
34170  !
34171  !================================================================================================================================
34172  !
34173 
34175  SUBROUTINE cmfe_field_parametersetupdatedatapointlnumberi(parentRegionUserNumber,interfaceUserNumber,fieldUserNumber, &
34176  & variabletype,fieldsettype,userdatapointnumber,componentnumber,value,err)
34177  !DLLEXPORT(cmfe_Field_ParameterSetUpdateDataPointLNumberI)
34178 
34179  !Argument variables
34180  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
34181  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
34182  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
34183  INTEGER(INTG), INTENT(IN) :: variableType
34184  INTEGER(INTG), INTENT(IN) :: fieldSetType
34185  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
34186  INTEGER(INTG), INTENT(IN) :: componentNumber
34187  LOGICAL, INTENT(IN) :: value
34188  INTEGER(INTG), INTENT(OUT) :: err
34189  !Local variables
34190  TYPE(field_type), POINTER :: field
34191  TYPE(region_type), POINTER :: region
34192  TYPE(interface_type), POINTER :: interface
34193  TYPE(varying_string) :: localError
34194 
34195  enters("cmfe_Field_ParameterSetUpdateDataPointLNumberI",err,error,*999)
34196 
34197  NULLIFY(region)
34198  NULLIFY(field)
34199  NULLIFY(interface)
34200  CALL region_user_number_find(parentregionusernumber,region,err,error,*999)
34201  IF(ASSOCIATED(region)) THEN
34202  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
34203  IF(ASSOCIATED(interface)) THEN
34204  CALL field_user_number_find(fieldusernumber,interface,field,err,error,*999)
34205  IF(ASSOCIATED(field)) THEN
34206  CALL field_parametersetupdatedatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
34207  & err,error,*999)
34208  ELSE
34209  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
34210  & " does not exist on region number "//trim(numbertovstring(parentregionusernumber,"*",err,error))//"."
34211  CALL flagerror(localerror,err,error,*999)
34212  ENDIF
34213  ELSE
34214  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
34215  & " does not exist."
34216  CALL flagerror(localerror,err,error,*999)
34217  ENDIF
34218  ELSE
34219  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
34220  & " does not exist."
34221  CALL flagerror(localerror,err,error,*999)
34222  END IF
34223 
34224  exits("cmfe_Field_ParameterSetUpdateDataPointLNumberI")
34225  RETURN
34226 999 errors("cmfe_Field_ParameterSetUpdateDataPointLNumberI",err,error)
34227  exits("cmfe_Field_ParameterSetUpdateDataPointLNumberI")
34228  CALL cmfe_handleerror(err,error)
34229  RETURN
34230 
34232 
34233  !
34234  !================================================================================================================================
34235  !
34236 
34238  SUBROUTINE cmfe_field_parametersetupdatedatapointlnumberr(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
34239  & userdatapointnumber,componentnumber,value,err)
34240  !DLLEXPORT(cmfe_Field_ParameterSetUpdateDataPointLNumberR)
34241 
34242  !Argument variables
34243  INTEGER(INTG), INTENT(IN) :: regionUserNumber
34244  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
34245  INTEGER(INTG), INTENT(IN) :: variableType
34246  INTEGER(INTG), INTENT(IN) :: fieldSetType
34247  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
34248  INTEGER(INTG), INTENT(IN) :: componentNumber
34249  LOGICAL, INTENT(IN) :: value
34250  INTEGER(INTG), INTENT(OUT) :: err
34251  !Local variables
34252  TYPE(field_type), POINTER :: field
34253  TYPE(region_type), POINTER :: region
34254  TYPE(varying_string) :: localError
34255 
34256  enters("cmfe_Field_ParameterSetUpdateDataPointLNumberR",err,error,*999)
34257 
34258  NULLIFY(region)
34259  NULLIFY(field)
34260  CALL region_user_number_find(regionusernumber,region,err,error,*999)
34261  IF(ASSOCIATED(region)) THEN
34262  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
34263  IF(ASSOCIATED(field)) THEN
34264  CALL field_parametersetupdatedatapoint(field,variabletype,fieldsettype,userdatapointnumber,componentnumber,value, &
34265  & err,error,*999)
34266  ELSE
34267  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
34268  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
34269  CALL flagerror(localerror,err,error,*999)
34270  END IF
34271  ELSE
34272  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
34273  CALL flagerror(localerror,err,error,*999)
34274  END IF
34275 
34276  exits("cmfe_Field_ParameterSetUpdateDataPointLNumberR")
34277  RETURN
34278 999 errors("cmfe_Field_ParameterSetUpdateDataPointLNumberR",err,error)
34279  exits("cmfe_Field_ParameterSetUpdateDataPointLNumberR")
34280  CALL cmfe_handleerror(err,error)
34281  RETURN
34282 
34284 
34285  !
34286  !================================================================================================================================
34287  !
34288 
34290  SUBROUTINE cmfe_field_parametersetupdatedatapointlobj(field,variableType,fieldSetType,userDataPointNumber,componentNumber, &
34291  & value,err)
34292  !DLLEXPORT(cmfe_Field_ParameterSetUpdateDataPointLObj)
34293 
34294  !Argument variables
34295  TYPE(cmfe_fieldtype), INTENT(IN) :: field
34296  INTEGER(INTG), INTENT(IN) :: variableType
34297  INTEGER(INTG), INTENT(IN) :: fieldSetType
34298  INTEGER(INTG), INTENT(IN) :: userDataPointNumber
34299  INTEGER(INTG), INTENT(IN) :: componentNumber
34300  LOGICAL, INTENT(IN) :: value
34301  INTEGER(INTG), INTENT(OUT) :: err
34302  !Local variables
34303 
34304  enters("cmfe_Field_ParameterSetUpdateDataPointLObj",err,error,*999)
34305 
34306  CALL field_parametersetupdatedatapoint(field%field,variabletype,fieldsettype,userdatapointnumber,componentnumber, &
34307  & value,err,error,*999)
34308 
34309  exits("cmfe_Field_ParameterSetUpdateDataPointLObj")
34310  RETURN
34311 999 errorsexits("cmfe_Field_ParameterSetUpdateDataPointLObj",err,error)
34312  CALL cmfe_handleerror(err,error)
34313  RETURN
34314 
34316 
34317  !
34318  !================================================================================================================================
34319  !
34320 
34322  SUBROUTINE cmfe_field_parametersetupdateelementintgnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
34323  & userelementnumber,componentnumber,value,err)
34324  !DLLEXPORT(cmfe_Field_ParameterSetUpdateElementIntgNumber)
34325 
34326  !Argument variables
34327  INTEGER(INTG), INTENT(IN) :: regionUserNumber
34328  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
34329  INTEGER(INTG), INTENT(IN) :: variableType
34330  INTEGER(INTG), INTENT(IN) :: fieldSetType
34331  INTEGER(INTG), INTENT(IN) :: userElementNumber
34332  INTEGER(INTG), INTENT(IN) :: componentNumber
34333  INTEGER(INTG), INTENT(IN) :: value
34334  INTEGER(INTG), INTENT(OUT) :: err
34335  !Local variables
34336  TYPE(field_type), POINTER :: FIELD
34337  TYPE(region_type), POINTER :: REGION
34338  TYPE(varying_string) :: localError
34339 
34340  enters("cmfe_Field_ParameterSetUpdateElementIntgNumber",err,error,*999)
34341 
34342  NULLIFY(region)
34343  NULLIFY(field)
34344  CALL region_user_number_find(regionusernumber,region,err,error,*999)
34345  IF(ASSOCIATED(region)) THEN
34346  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
34347  IF(ASSOCIATED(field)) THEN
34348  CALL field_parameter_set_update_element(field,variabletype,fieldsettype,userelementnumber,componentnumber,value, &
34349  & err,error,*999)
34350  ELSE
34351  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
34352  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
34353  CALL flagerror(localerror,err,error,*999)
34354  END IF
34355  ELSE
34356  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
34357  CALL flagerror(localerror,err,error,*999)
34358  END IF
34359 
34360  exits("cmfe_Field_ParameterSetUpdateElementIntgNumber")
34361  RETURN
34362 999 errors("cmfe_Field_ParameterSetUpdateElementIntgNumber",err,error)
34363  exits("cmfe_Field_ParameterSetUpdateElementIntgNumber")
34364  CALL cmfe_handleerror(err,error)
34365  RETURN
34366 
34368 
34369  !
34370  !================================================================================================================================
34371  !
34372 
34374  SUBROUTINE cmfe_field_parametersetupdateelementintgobj(field,variableType,fieldSetType,userElementNumber,componentNumber, &
34375  & value,err)
34376  !DLLEXPORT(cmfe_Field_ParameterSetUpdateElementIntgObj)
34377 
34378  !Argument variables
34379  TYPE(cmfe_fieldtype), INTENT(IN) :: field
34380  INTEGER(INTG), INTENT(IN) :: variableType
34381  INTEGER(INTG), INTENT(IN) :: fieldSetType
34382  INTEGER(INTG), INTENT(IN) :: userElementNumber
34383  INTEGER(INTG), INTENT(IN) :: componentNumber
34384  INTEGER(INTG), INTENT(IN) :: value
34385  INTEGER(INTG), INTENT(OUT) :: err
34386  !Local variables
34387 
34388  enters("cmfe_Field_ParameterSetUpdateElementIntgObj",err,error,*999)
34389 
34390  CALL field_parameter_set_update_element(field%field,variabletype,fieldsettype,userelementnumber,componentnumber,value, &
34391  & err,error,*999)
34392 
34393  exits("cmfe_Field_ParameterSetUpdateElementIntgObj")
34394  RETURN
34395 999 errorsexits("cmfe_Field_ParameterSetUpdateElementIntgObj",err,error)
34396  CALL cmfe_handleerror(err,error)
34397  RETURN
34398 
34400 
34401  !
34402  !================================================================================================================================
34403  !
34404 
34406  SUBROUTINE cmfe_field_parametersetupdateelementspnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
34407  & userelementnumber,componentnumber,value,err)
34408  !DLLEXPORT(cmfe_Field_ParameterSetUpdateElementSPNumber)
34409 
34410  !Argument variables
34411  INTEGER(INTG), INTENT(IN) :: regionUserNumber
34412  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
34413  INTEGER(INTG), INTENT(IN) :: variableType
34414  INTEGER(INTG), INTENT(IN) :: fieldSetType
34415  INTEGER(INTG), INTENT(IN) :: userElementNumber
34416  INTEGER(INTG), INTENT(IN) :: componentNumber
34417  REAL(SP), INTENT(IN) :: value
34418  INTEGER(INTG), INTENT(OUT) :: err
34419  !Local variables
34420  TYPE(field_type), POINTER :: FIELD
34421  TYPE(region_type), POINTER :: REGION
34422  TYPE(varying_string) :: localError
34423 
34424  enters("cmfe_Field_ParameterSetUpdateElementSPNumber",err,error,*999)
34425 
34426  NULLIFY(region)
34427  NULLIFY(field)
34428  CALL region_user_number_find(regionusernumber,region,err,error,*999)
34429  IF(ASSOCIATED(region)) THEN
34430  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
34431  IF(ASSOCIATED(field)) THEN
34432  CALL field_parameter_set_update_element(field,variabletype,fieldsettype,userelementnumber,componentnumber,value, &
34433  & err,error,*999)
34434  ELSE
34435  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
34436  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
34437  CALL flagerror(localerror,err,error,*999)
34438  END IF
34439  ELSE
34440  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
34441  CALL flagerror(localerror,err,error,*999)
34442  END IF
34443 
34444  exits("cmfe_Field_ParameterSetUpdateElementSPNumber")
34445  RETURN
34446 999 errors("cmfe_Field_ParameterSetUpdateElementSPNumber",err,error)
34447  exits("cmfe_Field_ParameterSetUpdateElementSPNumber")
34448  CALL cmfe_handleerror(err,error)
34449  RETURN
34450 
34452 
34453  !
34454  !================================================================================================================================
34455  !
34456 
34458  SUBROUTINE cmfe_field_parametersetupdateelementspobj(field,variableType,fieldSetType,userElementNumber,componentNumber, &
34459  & value,err)
34460  !DLLEXPORT(cmfe_Field_ParameterSetUpdateElementSPObj)
34461 
34462  !Argument variables
34463  TYPE(cmfe_fieldtype), INTENT(IN) :: field
34464  INTEGER(INTG), INTENT(IN) :: variableType
34465  INTEGER(INTG), INTENT(IN) :: fieldSetType
34466  INTEGER(INTG), INTENT(IN) :: userElementNumber
34467  INTEGER(INTG), INTENT(IN) :: componentNumber
34468  REAL(SP), INTENT(IN) :: value
34469  INTEGER(INTG), INTENT(OUT) :: err
34470  !Local variables
34471 
34472  enters("cmfe_Field_ParameterSetUpdateElementSPObj",err,error,*999)
34473 
34474  CALL field_parameter_set_update_element(field%field,variabletype,fieldsettype,userelementnumber,componentnumber,value, &
34475  & err,error,*999)
34476 
34477  exits("cmfe_Field_ParameterSetUpdateElementSPObj")
34478  RETURN
34479 999 errorsexits("cmfe_Field_ParameterSetUpdateElementSPObj",err,error)
34480  CALL cmfe_handleerror(err,error)
34481  RETURN
34482 
34484 
34485  !
34486  !================================================================================================================================
34487  !
34488 
34490  SUBROUTINE cmfe_field_parametersetupdateelementdpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
34491  & userelementnumber,componentnumber,value,err)
34492  !DLLEXPORT(cmfe_Field_ParameterSetUpdateElementDPNumber)
34493 
34494  !Argument variables
34495  INTEGER(INTG), INTENT(IN) :: regionUserNumber
34496  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
34497  INTEGER(INTG), INTENT(IN) :: variableType
34498  INTEGER(INTG), INTENT(IN) :: fieldSetType
34499  INTEGER(INTG), INTENT(IN) :: userElementNumber
34500  INTEGER(INTG), INTENT(IN) :: componentNumber
34501  REAL(DP), INTENT(IN) :: Value
34502  INTEGER(INTG), INTENT(OUT) :: err
34503  !Local variables
34504  TYPE(field_type), POINTER :: FIELD
34505  TYPE(region_type), POINTER :: REGION
34506  TYPE(varying_string) :: localError
34507 
34508  enters("cmfe_Field_ParameterSetUpdateElementDPNumber",err,error,*999)
34509 
34510  NULLIFY(region)
34511  NULLIFY(field)
34512  CALL region_user_number_find(regionusernumber,region,err,error,*999)
34513  IF(ASSOCIATED(region)) THEN
34514  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
34515  IF(ASSOCIATED(field)) THEN
34516  CALL field_parameter_set_update_element(field,variabletype,fieldsettype,userelementnumber,componentnumber,Value, &
34517  & err,error,*999)
34518  ELSE
34519  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
34520  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
34521  CALL flagerror(localerror,err,error,*999)
34522  END IF
34523  ELSE
34524  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
34525  CALL flagerror(localerror,err,error,*999)
34526  END IF
34527 
34528  exits("cmfe_Field_ParameterSetUpdateElementDPNumber")
34529  RETURN
34530 999 errors("cmfe_Field_ParameterSetUpdateElementDPNumber",err,error)
34531  exits("cmfe_Field_ParameterSetUpdateElementDPNumber")
34532  CALL cmfe_handleerror(err,error)
34533  RETURN
34534 
34536 
34537  !
34538  !================================================================================================================================
34539  !
34540 
34542  SUBROUTINE cmfe_field_parametersetupdateelementdpobj(field,variableType,fieldSetType,userElementNumber,componentNumber, &
34543  & value,err)
34544  !DLLEXPORT(cmfe_Field_ParameterSetUpdateElementDPObj)
34545 
34546  !Argument variables
34547  TYPE(cmfe_fieldtype), INTENT(IN) :: field
34548  INTEGER(INTG), INTENT(IN) :: variableType
34549  INTEGER(INTG), INTENT(IN) :: fieldSetType
34550  INTEGER(INTG), INTENT(IN) :: userElementNumber
34551  INTEGER(INTG), INTENT(IN) :: componentNumber
34552  REAL(DP), INTENT(IN) :: VALUE
34553  INTEGER(INTG), INTENT(OUT) :: err
34554  !Local variables
34555 
34556  enters("cmfe_Field_ParameterSetUpdateElementDPObj",err,error,*999)
34557 
34558  CALL field_parameter_set_update_element(field%field,variabletype,fieldsettype,userelementnumber,componentnumber,value, &
34559  & err,error,*999)
34560 
34561  exits("cmfe_Field_ParameterSetUpdateElementDPObj")
34562  RETURN
34563 999 errorsexits("cmfe_Field_ParameterSetUpdateElementDPObj",err,error)
34564  CALL cmfe_handleerror(err,error)
34565  RETURN
34566 
34568 
34569  !
34570  !================================================================================================================================
34571  !
34572 
34574  SUBROUTINE cmfe_field_parametersetupdateelementlnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
34575  & userelementnumber,componentnumber,value,err)
34576  !DLLEXPORT(cmfe_Field_ParameterSetUpdateElementLNumber)
34577 
34578  !Argument variables
34579  INTEGER(INTG), INTENT(IN) :: regionUserNumber
34580  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
34581  INTEGER(INTG), INTENT(IN) :: variableType
34582  INTEGER(INTG), INTENT(IN) :: fieldSetType
34583  INTEGER(INTG), INTENT(IN) :: userElementNumber
34584  INTEGER(INTG), INTENT(IN) :: componentNumber
34585  LOGICAL, INTENT(IN) :: value
34586  INTEGER(INTG), INTENT(OUT) :: err
34587  !Local variables
34588  TYPE(field_type), POINTER :: FIELD
34589  TYPE(region_type), POINTER :: REGION
34590  TYPE(varying_string) :: localError
34591 
34592  enters("cmfe_Field_ParameterSetUpdateElementLNumber",err,error,*999)
34593 
34594  NULLIFY(region)
34595  NULLIFY(field)
34596  CALL region_user_number_find(regionusernumber,region,err,error,*999)
34597  IF(ASSOCIATED(region)) THEN
34598  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
34599  IF(ASSOCIATED(field)) THEN
34600  CALL field_parameter_set_update_element(field,variabletype,fieldsettype,userelementnumber,componentnumber,value, &
34601  & err,error,*999)
34602  ELSE
34603  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
34604  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
34605  CALL flagerror(localerror,err,error,*999)
34606  END IF
34607  ELSE
34608  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
34609  CALL flagerror(localerror,err,error,*999)
34610  END IF
34611 
34612  exits("cmfe_Field_ParameterSetUpdateElementLNumber")
34613  RETURN
34614 999 errorsexits("cmfe_Field_ParameterSetUpdateElementLNumber",err,error)
34615  CALL cmfe_handleerror(err,error)
34616  RETURN
34617 
34619 
34620  !
34621  !================================================================================================================================
34622  !
34623 
34625  SUBROUTINE cmfe_field_parametersetupdateelementlobj(field,variableType,fieldSetType,userElementNumber,componentNumber, &
34626  & value,err)
34627  !DLLEXPORT(cmfe_Field_ParameterSetUpdateElementLObj)
34628 
34629  !Argument variables
34630  TYPE(cmfe_fieldtype), INTENT(IN) :: field
34631  INTEGER(INTG), INTENT(IN) :: variableType
34632  INTEGER(INTG), INTENT(IN) :: fieldSetType
34633  INTEGER(INTG), INTENT(IN) :: userElementNumber
34634  INTEGER(INTG), INTENT(IN) :: componentNumber
34635  LOGICAL, INTENT(IN) :: value
34636  INTEGER(INTG), INTENT(OUT) :: err
34637  !Local variables
34638 
34639  enters("cmfe_Field_ParameterSetUpdateElementLObj",err,error,*999)
34640 
34641  CALL field_parameter_set_update_element(field%field,variabletype,fieldsettype,userelementnumber,componentnumber,value, &
34642  & err,error,*999)
34643 
34644  exits("cmfe_Field_ParameterSetUpdateElementLObj")
34645  RETURN
34646 999 errorsexits("cmfe_Field_ParameterSetUpdateElementLObj",err,error)
34647  CALL cmfe_handleerror(err,error)
34648  RETURN
34649 
34651 
34652  !
34653  !================================================================================================================================
34654  !
34655 
34657  SUBROUTINE cmfe_field_parametersetupdateelementdatapointdpobj(field,variableType,fieldSetType,elementNumber,dataPointIndex, &
34658  & componentnumber,value,err)
34659  !DLLEXPORT(cmfe_Field_ParameterSetUpdateElementDataPointDPObj)
34660 
34661  !Argument variables
34662  TYPE(cmfe_fieldtype), INTENT(IN) :: field
34663  INTEGER(INTG), INTENT(IN) :: variableType
34664  INTEGER(INTG), INTENT(IN) :: fieldSetType
34665  INTEGER(INTG), INTENT(IN) :: elementNumber
34666  INTEGER(INTG), INTENT(IN) :: dataPointIndex
34667  INTEGER(INTG), INTENT(IN) :: componentNumber
34668  REAL(DP), INTENT(IN) :: value
34669  INTEGER(INTG), INTENT(OUT) :: err
34670  !Local variables
34671 
34672  enters("cmfe_Field_ParameterSetUpdateElementDataPointDPObj",err,error,*999)
34673 
34674  CALL field_parametersetupdateelementdatapoint(field%field,variabletype,fieldsettype,elementnumber,&
34675  & datapointindex,componentnumber,value,err,error,*999)
34676 
34677  exits("cmfe_Field_ParameterSetUpdateElementDataPointDPObj")
34678  RETURN
34679 999 errors("cmfe_Field_ParameterSetUpdateElementDataPointDPObj",err,error)
34680  exits("cmfe_Field_ParameterSetUpdateElementDataPointDPObj")
34681  CALL cmfe_handleerror(err,error)
34682  RETURN
34683 
34685 
34686  !
34687  !================================================================================================================================
34688  !
34689 
34691  SUBROUTINE cmfe_field_parametersetupdatefinishnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,err)
34692  !DLLEXPORT(cmfe_Field_ParameterSetUpdateFinishNumber)
34693 
34694  !Argument variables
34695  INTEGER(INTG), INTENT(IN) :: regionUserNumber
34696  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
34697  INTEGER(INTG), INTENT(IN) :: variableType
34698  INTEGER(INTG), INTENT(IN) :: fieldSetType
34699  INTEGER(INTG), INTENT(OUT) :: err
34700  !Local variables
34701  TYPE(field_type), POINTER :: FIELD
34702  TYPE(region_type), POINTER :: REGION
34703  TYPE(varying_string) :: localError
34704 
34705  enters("cmfe_Field_ParameterSetUpdateFinishNumber",err,error,*999)
34706 
34707  NULLIFY(region)
34708  NULLIFY(field)
34709  CALL region_user_number_find(regionusernumber,region,err,error,*999)
34710  IF(ASSOCIATED(region)) THEN
34711  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
34712  IF(ASSOCIATED(field)) THEN
34713  CALL field_parameter_set_update_finish(field,variabletype,fieldsettype,err,error,*999)
34714  ELSE
34715  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
34716  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
34717  CALL flagerror(localerror,err,error,*999)
34718  END IF
34719  ELSE
34720  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
34721  CALL flagerror(localerror,err,error,*999)
34722  END IF
34723 
34724  exits("cmfe_Field_ParameterSetUpdateFinishNumber")
34725  RETURN
34726 999 errorsexits("cmfe_Field_ParameterSetUpdateFinishNumber",err,error)
34727  CALL cmfe_handleerror(err,error)
34728  RETURN
34729 
34731 
34732  !
34733  !================================================================================================================================
34734  !
34735 
34737  SUBROUTINE cmfe_field_parametersetupdatefinishobj(field,variableType,fieldSetType,err)
34738  !DLLEXPORT(cmfe_Field_ParameterSetUpdateFinishObj)
34739 
34740  !Argument variables
34741  TYPE(cmfe_fieldtype), INTENT(IN) :: field
34742  INTEGER(INTG), INTENT(IN) :: variableType
34743  INTEGER(INTG), INTENT(IN) :: fieldSetType
34744  INTEGER(INTG), INTENT(OUT) :: err
34745  !Local variables
34746 
34747  enters("cmfe_Field_ParameterSetUpdateFinishObj",err,error,*999)
34748 
34749  CALL field_parameter_set_update_finish(field%field,variabletype,fieldsettype,err,error,*999)
34750 
34751  exits("cmfe_Field_ParameterSetUpdateFinishObj")
34752  RETURN
34753 999 errorsexits("cmfe_Field_ParameterSetUpdateFinishObj",err,error)
34754  CALL cmfe_handleerror(err,error)
34755  RETURN
34756 
34758 
34759  !
34760  !================================================================================================================================
34761  !
34762 
34764  SUBROUTINE cmfe_field_parametersetupdatenodeintgnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
34765  & versionnumber,derivativenumber,usernodenumber,componentnumber,value,err)
34766  !DLLEXPORT(cmfe_Field_ParameterSetUpdateNodeIntgNumber)
34767 
34768  !Argument variables
34769  INTEGER(INTG), INTENT(IN) :: regionUserNumber
34770  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
34771  INTEGER(INTG), INTENT(IN) :: variableType
34772  INTEGER(INTG), INTENT(IN) :: fieldSetType
34773  INTEGER(INTG), INTENT(IN) :: versionNumber
34774  INTEGER(INTG), INTENT(IN) :: derivativeNumber
34775  INTEGER(INTG), INTENT(IN) :: userNodeNumber
34776  INTEGER(INTG), INTENT(IN) :: componentNumber
34777  INTEGER(INTG), INTENT(IN) :: value
34778  INTEGER(INTG), INTENT(OUT) :: err
34779  !Local variables
34780  TYPE(field_type), POINTER :: FIELD
34781  TYPE(region_type), POINTER :: REGION
34782  TYPE(varying_string) :: localError
34783 
34784  enters("cmfe_Field_ParameterSetUpdateNodeIntgNumber",err,error,*999)
34785 
34786  NULLIFY(region)
34787  NULLIFY(field)
34788  CALL region_user_number_find(regionusernumber,region,err,error,*999)
34789  IF(ASSOCIATED(region)) THEN
34790  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
34791  IF(ASSOCIATED(field)) THEN
34792  CALL field_parameter_set_update_node(field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
34793  & componentnumber,value,err,error,*999)
34794  ELSE
34795  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
34796  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
34797  CALL flagerror(localerror,err,error,*999)
34798  END IF
34799  ELSE
34800  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
34801  CALL flagerror(localerror,err,error,*999)
34802  END IF
34803 
34804  exits("cmfe_Field_ParameterSetUpdateNodeIntgNumber")
34805  RETURN
34806 999 errorsexits("cmfe_Field_ParameterSetUpdateNodeIntgNumber",err,error)
34807  CALL cmfe_handleerror(err,error)
34808  RETURN
34809 
34811 
34812  !
34813  !================================================================================================================================
34814  !
34815 
34817 
34818  SUBROUTINE cmfe_field_parametersetupdatenodeintgobj(field,variableType,fieldSetType,versionNumber,derivativeNumber, &
34819  & usernodenumber,componentnumber,value,err)
34820  !DLLEXPORT(cmfe_Field_ParameterSetUpdateNodeIntgObj)
34821 
34822  !Argument variables
34823  TYPE(cmfe_fieldtype), INTENT(IN) :: field
34824  INTEGER(INTG), INTENT(IN) :: variableType
34825  INTEGER(INTG), INTENT(IN) :: fieldSetType
34826  INTEGER(INTG), INTENT(IN) :: versionNumber
34827  INTEGER(INTG), INTENT(IN) :: derivativeNumber
34828  INTEGER(INTG), INTENT(IN) :: userNodeNumber
34829  INTEGER(INTG), INTENT(IN) :: componentNumber
34830  INTEGER(INTG), INTENT(IN) :: value
34831  INTEGER(INTG), INTENT(OUT) :: err
34832  !Local variables
34833 
34834  enters("cmfe_Field_ParameterSetUpdateNodeIntgObj",err,error,*999)
34835 
34836  CALL field_parameter_set_update_node(field%field,variabletype,fieldsettype,versionnumber,derivativenumber, &
34837  & usernodenumber,componentnumber, value,err,error,*999)
34838 
34839  exits("cmfe_Field_ParameterSetUpdateNodeIntgObj")
34840  RETURN
34841 999 errorsexits("cmfe_Field_ParameterSetUpdateNodeIntgObj",err,error)
34842  CALL cmfe_handleerror(err,error)
34843  RETURN
34844 
34846 
34847  !
34848  !================================================================================================================================
34849  !
34850 
34852  SUBROUTINE cmfe_field_parametersetupdatenodespnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
34853  & versionnumber,derivativenumber,usernodenumber,componentnumber,value,err)
34854  !DLLEXPORT(cmfe_Field_ParameterSetUpdateNodeSPNumber)
34855 
34856  !Argument variables
34857  INTEGER(INTG), INTENT(IN) :: regionUserNumber
34858  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
34859  INTEGER(INTG), INTENT(IN) :: variableType
34860  INTEGER(INTG), INTENT(IN) :: fieldSetType
34861  INTEGER(INTG), INTENT(IN) :: versionNumber
34862  INTEGER(INTG), INTENT(IN) :: derivativeNumber
34863  INTEGER(INTG), INTENT(IN) :: userNodeNumber
34864  INTEGER(INTG), INTENT(IN) :: componentNumber
34865  REAL(SP), INTENT(IN) :: value
34866  INTEGER(INTG), INTENT(OUT) :: err
34867  !Local variables
34868  TYPE(field_type), POINTER :: FIELD
34869  TYPE(region_type), POINTER :: REGION
34870  TYPE(varying_string) :: localError
34871 
34872  enters("cmfe_Field_ParameterSetUpdateNodeSPNumber",err,error,*999)
34873 
34874  NULLIFY(region)
34875  NULLIFY(field)
34876  CALL region_user_number_find(regionusernumber,region,err,error,*999)
34877  IF(ASSOCIATED(region)) THEN
34878  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
34879  IF(ASSOCIATED(field)) THEN
34880  CALL field_parameter_set_update_node(field,variabletype,fieldsettype,versionnumber,derivativenumber,usernodenumber, &
34881  & componentnumber, value,err,error,*999)
34882  ELSE
34883  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
34884  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
34885  CALL flagerror(localerror,err,error,*999)
34886  END IF
34887  ELSE
34888  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
34889  CALL flagerror(localerror,err,error,*999)
34890  END IF
34891 
34892  exits("cmfe_Field_ParameterSetUpdateNodeSPNumber")
34893  RETURN
34894 999 errorsexits("cmfe_Field_ParameterSetUpdateNodeSPNumber",err,error)
34895  CALL cmfe_handleerror(err,error)
34896  RETURN
34897 
34899 
34900  !
34901  !================================================================================================================================
34902  !
34903 
34905 
34906  SUBROUTINE cmfe_field_parametersetupdatenodespobj(field,variableType,fieldSetType,versionNumber,derivativeNumber, &
34907  & usernodenumber, componentnumber,value,err)
34908  !DLLEXPORT(cmfe_Field_ParameterSetUpdateNodeSPObj)
34909 
34910  !Argument variables
34911  TYPE(cmfe_fieldtype), INTENT(IN) :: field
34912  INTEGER(INTG), INTENT(IN) :: variableType
34913  INTEGER(INTG), INTENT(IN) :: fieldSetType
34914  INTEGER(INTG), INTENT(IN) :: versionNumber
34915  INTEGER(INTG), INTENT(IN) :: derivativeNumber
34916  INTEGER(INTG), INTENT(IN) :: userNodeNumber
34917  INTEGER(INTG), INTENT(IN) :: componentNumber
34918  REAL(SP), INTENT(IN) :: value
34919  INTEGER(INTG), INTENT(OUT) :: err
34920  !Local variables
34921 
34922  enters("cmfe_Field_ParameterSetUpdateNodeSPObj",err,error,*999)
34923 
34924  CALL field_parameter_set_update_node(field%field,variabletype,fieldsettype,versionnumber,derivativenumber, &
34925  & usernodenumber,componentnumber, value,err,error,*999)
34926 
34927  exits("cmfe_Field_ParameterSetUpdateNodeSPObj")
34928  RETURN
34929 999 errorsexits("cmfe_Field_ParameterSetUpdateNodeSPObj",err,error)
34930  CALL cmfe_handleerror(err,error)
34931  RETURN
34932 
34934 
34935  !
34936  !================================================================================================================================
34937  !
34938 
34940  SUBROUTINE cmfe_field_parametersetupdatenodedpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
34941  & versionnumber,derivativenumber,usernodenumber,componentnumber,value,err)
34942  !DLLEXPORT(cmfe_Field_ParameterSetUpdateNodeDPNumber)
34943 
34944  !Argument variables
34945  INTEGER(INTG), INTENT(IN) :: regionUserNumber
34946  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
34947  INTEGER(INTG), INTENT(IN) :: variableType
34948  INTEGER(INTG), INTENT(IN) :: fieldSetType
34949  INTEGER(INTG), INTENT(IN) :: versionNumber
34950  INTEGER(INTG), INTENT(IN) :: derivativeNumber
34951  INTEGER(INTG), INTENT(IN) :: userNodeNumber
34952  INTEGER(INTG), INTENT(IN) :: componentNumber
34953  REAL(DP), INTENT(IN) :: value
34954  INTEGER(INTG), INTENT(OUT) :: err
34955  !Local variables
34956  TYPE(field_type), POINTER :: FIELD
34957  TYPE(region_type), POINTER :: REGION
34958  TYPE(varying_string) :: localError
34959 
34960  enters("cmfe_Field_ParameterSetUpdateNodeDPNumber",err,error,*999)
34961 
34962  NULLIFY(region)
34963  NULLIFY(field)
34964  CALL region_user_number_find(regionusernumber,region,err,error,*999)
34965  IF(ASSOCIATED(region)) THEN
34966  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
34967  IF(ASSOCIATED(field)) THEN
34968  CALL field_parameter_set_update_node(field,variabletype,fieldsettype,versionnumber,derivativenumber, &
34969  & usernodenumber,componentnumber,value,err,error,*999)
34970  ELSE
34971  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
34972  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
34973  CALL flagerror(localerror,err,error,*999)
34974  END IF
34975  ELSE
34976  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
34977  CALL flagerror(localerror,err,error,*999)
34978  END IF
34979 
34980  exits("cmfe_Field_ParameterSetUpdateNodeDPNumber")
34981  RETURN
34982 999 errorsexits("cmfe_Field_ParameterSetUpdateNodeDPNumber",err,error)
34983  CALL cmfe_handleerror(err,error)
34984  RETURN
34985 
34987 
34988  !
34989  !================================================================================================================================
34990  !
34991 
34993 
34994  SUBROUTINE cmfe_field_parametersetupdatenodedpobj(field,variableType,fieldSetType,versionNumber,derivativeNumber,userNodeNumber, &
34995  & componentnumber,value,err)
34996  !DLLEXPORT(cmfe_Field_ParameterSetUpdateNodeDPObj)
34997 
34998  !Argument variables
34999  TYPE(cmfe_fieldtype), INTENT(IN) :: field
35000  INTEGER(INTG), INTENT(IN) :: variableType
35001  INTEGER(INTG), INTENT(IN) :: fieldSetType
35002  INTEGER(INTG), INTENT(IN) :: versionNumber
35003  INTEGER(INTG), INTENT(IN) :: derivativeNumber
35004  INTEGER(INTG), INTENT(IN) :: userNodeNumber
35005  INTEGER(INTG), INTENT(IN) :: componentNumber
35006  REAL(DP), INTENT(IN) :: value
35007  INTEGER(INTG), INTENT(OUT) :: err
35008  !Local variables
35009 
35010  enters("cmfe_Field_ParameterSetUpdateNodeDPObj",err,error,*999)
35011 
35012  CALL field_parameter_set_update_node(field%field,variabletype,fieldsettype,versionnumber,derivativenumber, &
35013  & usernodenumber,componentnumber,value,err,error,*999)
35014 
35015  exits("cmfe_Field_ParameterSetUpdateNodeDPObj")
35016  RETURN
35017 999 errorsexits("cmfe_Field_ParameterSetUpdateNodeDPObj",err,error)
35018  CALL cmfe_handleerror(err,error)
35019  RETURN
35020 
35022 
35023  !
35024  !================================================================================================================================
35025  !
35026 
35028  SUBROUTINE cmfe_field_parametersetupdatenodelnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
35029  & versionnumber,derivativenumber,usernodenumber,componentnumber,value,err)
35030  !DLLEXPORT(cmfe_Field_ParameterSetUpdateNodeLNumber)
35031 
35032  !Argument variables
35033  INTEGER(INTG), INTENT(IN) :: regionUserNumber
35034  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
35035  INTEGER(INTG), INTENT(IN) :: variableType
35036  INTEGER(INTG), INTENT(IN) :: fieldSetType
35037  INTEGER(INTG), INTENT(IN) :: versionNumber
35038  INTEGER(INTG), INTENT(IN) :: derivativeNumber
35039  INTEGER(INTG), INTENT(IN) :: userNodeNumber
35040  INTEGER(INTG), INTENT(IN) :: componentNumber
35041  LOGICAL, INTENT(IN) :: value
35042  INTEGER(INTG), INTENT(OUT) :: err
35043  !Local variables
35044  TYPE(field_type), POINTER :: FIELD
35045  TYPE(region_type), POINTER :: REGION
35046  TYPE(varying_string) :: localError
35047 
35048  enters("cmfe_Field_ParameterSetUpdateNodeLNumber",err,error,*999)
35049 
35050  NULLIFY(region)
35051  NULLIFY(field)
35052  CALL region_user_number_find(regionusernumber,region,err,error,*999)
35053  IF(ASSOCIATED(region)) THEN
35054  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
35055  IF(ASSOCIATED(field)) THEN
35056  CALL field_parameter_set_update_node(field,variabletype,fieldsettype,versionnumber,derivativenumber, &
35057  & usernodenumber,componentnumber,value,err,error,*999)
35058  ELSE
35059  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
35060  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
35061  CALL flagerror(localerror,err,error,*999)
35062  END IF
35063  ELSE
35064  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
35065  CALL flagerror(localerror,err,error,*999)
35066  END IF
35067 
35068  exits("cmfe_Field_ParameterSetUpdateNodeLNumber")
35069  RETURN
35070 999 errorsexits("cmfe_Field_ParameterSetUpdateNodeLNumber",err,error)
35071  CALL cmfe_handleerror(err,error)
35072  RETURN
35073 
35075 
35076  !
35077  !================================================================================================================================
35078  !
35079 
35081 
35082  SUBROUTINE cmfe_field_parametersetupdatenodelobj(field,variableType,fieldSetType,versionNumber,derivativeNumber,userNodeNumber, &
35083  & componentnumber,value,err)
35084  !DLLEXPORT(cmfe_Field_ParameterSetUpdateNodeLObj)
35085 
35086  !Argument variables
35087  TYPE(cmfe_fieldtype), INTENT(IN) :: field
35088  INTEGER(INTG), INTENT(IN) :: variableType
35089  INTEGER(INTG), INTENT(IN) :: fieldSetType
35090  INTEGER(INTG), INTENT(IN) :: versionNumber
35091  INTEGER(INTG), INTENT(IN) :: derivativeNumber
35092  INTEGER(INTG), INTENT(IN) :: userNodeNumber
35093  INTEGER(INTG), INTENT(IN) :: componentNumber
35094  LOGICAL, INTENT(IN) :: value
35095  INTEGER(INTG), INTENT(OUT) :: err
35096  !Local variables
35097 
35098  enters("cmfe_Field_ParameterSetUpdateNodeLObj",err,error,*999)
35099 
35100  CALL field_parameter_set_update_node(field%field,variabletype,fieldsettype,versionnumber,derivativenumber, &
35101  & usernodenumber,componentnumber, value,err,error,*999)
35102 
35103  exits("cmfe_Field_ParameterSetUpdateNodeLObj")
35104  RETURN
35105 999 errorsexits("cmfe_Field_ParameterSetUpdateNodeLObj",err,error)
35106  CALL cmfe_handleerror(err,error)
35107  RETURN
35108 
35110 
35111  !
35112  !================================================================================================================================
35113  !
35114 
35116  SUBROUTINE cmfe_field_parametersetupdatelocaldofsdpobj(field,variableType,fieldSetType,values,err)
35117  !DLLEXPORT(cmfe_Field_ParameterSetUpdateLocalDofsDPObj)
35118 
35119  !Argument variables
35120  TYPE(cmfe_fieldtype), INTENT(IN) :: field
35121  INTEGER(INTG), INTENT(IN) :: variableType
35122  INTEGER(INTG), INTENT(IN) :: fieldSetType
35123  REAL(DP), INTENT(IN) :: values(:)
35124  INTEGER(INTG), INTENT(OUT) :: err
35125  !Local variables
35126 
35127  enters("cmfe_Field_ParameterSetUpdateLocalDofsDPObj",err,error,*999)
35128 
35129  CALL field_parameter_set_update_local_dofs(field%field,variabletype,fieldsettype,values,err,error,*999)
35130 
35131  exits("cmfe_Field_ParameterSetUpdateLocalDofsDPObj")
35132  RETURN
35133 999 errorsexits("cmfe_Field_ParameterSetUpdateLocalDofsDPObj",err,error)
35134  CALL cmfe_handleerror(err,error)
35135  RETURN
35136 
35138 
35139  !
35140  !================================================================================================================================
35141  !
35142 
35144  SUBROUTINE cmfe_field_parametersetupdategausspointintgnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
35145  & gausspointnumber,userelementnumber,componentnumber,value,err)
35146  !DLLEXPORT(cmfe_Field_ParameterSetUpdateGaussPointIntgNumber)
35147 
35148  !Argument variables
35149  INTEGER(INTG), INTENT(IN) :: regionUserNumber
35150  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
35151  INTEGER(INTG), INTENT(IN) :: variableType
35152  INTEGER(INTG), INTENT(IN) :: fieldSetType
35153  INTEGER(INTG), INTENT(IN) :: gaussPointNumber
35154  INTEGER(INTG), INTENT(IN) :: userElementNumber
35155  INTEGER(INTG), INTENT(IN) :: componentNumber
35156  INTEGER(INTG), INTENT(IN) :: value
35157  INTEGER(INTG), INTENT(OUT) :: err
35158  !Local variables
35159  TYPE(field_type), POINTER :: field
35160  TYPE(region_type), POINTER :: region
35161  TYPE(varying_string) :: localError
35162 
35163  enters("cmfe_Field_ParameterSetUpdateGaussPointIntgNumber",err,error,*999)
35164 
35165  NULLIFY(region)
35166  NULLIFY(field)
35167  CALL region_user_number_find(regionusernumber,region,err,error,*999)
35168  IF(ASSOCIATED(region)) THEN
35169  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
35170  IF(ASSOCIATED(field)) THEN
35171  CALL field_parametersetupdategausspoint(field,variabletype,fieldsettype,gausspointnumber,userelementnumber, &
35172  & componentnumber,value,err,error,*999)
35173  ELSE
35174  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
35175  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
35176  CALL flagerror(localerror,err,error,*999)
35177  ENDIF
35178  ELSE
35179  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
35180  CALL flagerror(localerror,err,error,*999)
35181  ENDIF
35182 
35183  exits("cmfe_Field_ParameterSetUpdateGaussPointIntgNumber")
35184  RETURN
35185 999 errors("cmfe_Field_ParameterSetUpdateGaussPointIntgNumber",err,error)
35186  exits("cmfe_Field_ParameterSetUpdateGaussPointIntgNumber")
35187  CALL cmfe_handleerror(err,error)
35188  RETURN
35189 
35191 
35192  !
35193  !================================================================================================================================
35194  !
35195 
35197  SUBROUTINE cmfe_field_parametersetupdategausspointintgobj(field,variableType,fieldSetType,gaussPointNumber,userElementNumber, &
35198  & componentnumber, value,err)
35199  !DLLEXPORT(cmfe_Field_ParameterSetUpdateGaussPointIntgObj)
35200 
35201  !Argument variables
35202  TYPE(cmfe_fieldtype), INTENT(IN) :: field
35203  INTEGER(INTG), INTENT(IN) :: variableType
35204  INTEGER(INTG), INTENT(IN) :: fieldSetType
35205  INTEGER(INTG), INTENT(IN) :: gaussPointNumber
35206  INTEGER(INTG), INTENT(IN) :: userElementNumber
35207  INTEGER(INTG), INTENT(IN) :: componentNumber
35208  INTEGER(INTG), INTENT(IN) :: value
35209  INTEGER(INTG), INTENT(OUT) :: err
35210  !Local variables
35211 
35212  enters("cmfe_Field_ParameterSetUpdateGaussPointIntgObj",err,error,*999)
35213 
35214  CALL field_parametersetupdategausspoint(field%field,variabletype,fieldsettype,gausspointnumber,userelementnumber, &
35215  & componentnumber,value,err,error,*999)
35216 
35217  exits("cmfe_Field_ParameterSetUpdateGaussPointIntgObj")
35218  RETURN
35219 999 errors("cmfe_Field_ParameterSetUpdateGaussPointIntgObj",err,error)
35220  exits("cmfe_Field_ParameterSetUpdateGaussPointIntgObj")
35221  CALL cmfe_handleerror(err,error)
35222  RETURN
35223 
35225 
35226  !
35227  !================================================================================================================================
35228  !
35229 
35230 !!\todo Should also think about quadrature schemes?
35231 
35233  SUBROUTINE cmfe_field_parametersetupdategausspointspnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
35234  & gausspointnumber,userelementnumber,componentnumber,value,err)
35235  !DLLEXPORT(cmfe_Field_ParameterSetUpdateGaussPointSPNumber)
35236 
35237  !Argument variables
35238  INTEGER(INTG), INTENT(IN) :: regionUserNumber
35239  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
35240  INTEGER(INTG), INTENT(IN) :: variableType
35241  INTEGER(INTG), INTENT(IN) :: fieldSetType
35242  INTEGER(INTG), INTENT(IN) :: gaussPointNumber
35243  INTEGER(INTG), INTENT(IN) :: userElementNumber
35244  INTEGER(INTG), INTENT(IN) :: componentNumber
35245  REAL(SP), INTENT(IN) :: value
35246  INTEGER(INTG), INTENT(OUT) :: err
35247  !Local variables
35248  TYPE(field_type), POINTER :: field
35249  TYPE(region_type), POINTER :: region
35250  TYPE(varying_string) :: localError
35251 
35252  enters("cmfe_Field_ParameterSetUpdateGaussPointSPNumber",err,error,*999)
35253 
35254  NULLIFY(region)
35255  NULLIFY(field)
35256  CALL region_user_number_find(regionusernumber,region,err,error,*999)
35257  IF(ASSOCIATED(region)) THEN
35258  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
35259  IF(ASSOCIATED(field)) THEN
35260  CALL field_parametersetupdategausspoint(field,variabletype,fieldsettype,gausspointnumber,userelementnumber, &
35261  & componentnumber,value,err,error,*999)
35262  ELSE
35263  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
35264  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
35265  CALL flagerror(localerror,err,error,*999)
35266  ENDIF
35267  ELSE
35268  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
35269  CALL flagerror(localerror,err,error,*999)
35270  ENDIF
35271 
35272  exits("cmfe_Field_ParameterSetUpdateGaussPointSPNumber")
35273  RETURN
35274 999 errors("cmfe_Field_ParameterSetUpdateGaussPointSPNumber",err,error)
35275  exits("cmfe_Field_ParameterSetUpdateGaussPointSPNumber")
35276  CALL cmfe_handleerror(err,error)
35277  RETURN
35278 
35280 
35281  !
35282  !================================================================================================================================
35283  !
35284 
35286  SUBROUTINE cmfe_field_parametersetupdategausspointspobj(field,variableType,fieldSetType,gaussPointNumber,userElementNumber, &
35287  & componentnumber,value,err)
35288  !DLLEXPORT(cmfe_Field_ParameterSetUpdateGaussPointSPObj)
35289 
35290  !Argument variables
35291  TYPE(cmfe_fieldtype), INTENT(IN) :: field
35292  INTEGER(INTG), INTENT(IN) :: variableType
35293  INTEGER(INTG), INTENT(IN) :: fieldSetType
35294  INTEGER(INTG), INTENT(IN) :: gaussPointNumber
35295  INTEGER(INTG), INTENT(IN) :: userElementNumber
35296  INTEGER(INTG), INTENT(IN) :: componentNumber
35297  REAL(SP), INTENT(IN) :: value
35298  INTEGER(INTG), INTENT(OUT) :: err
35299  !Local variables
35300 
35301  enters("cmfe_Field_ParameterSetUpdateGaussPointSPObj",err,error,*999)
35302 
35303  CALL field_parametersetupdategausspoint(field%field,variabletype,fieldsettype,gausspointnumber,userelementnumber, &
35304  & componentnumber,value,err,error,*999)
35305 
35306  exits("cmfe_Field_ParameterSetUpdateGaussPointSPObj")
35307  RETURN
35308 999 errors("cmfe_Field_ParameterSetUpdateGaussPointSPObj",err,error)
35309  exits("cmfe_Field_ParameterSetUpdateGaussPointSPObj")
35310  CALL cmfe_handleerror(err,error)
35311  RETURN
35312 
35314 
35315  !
35316  !================================================================================================================================
35317  !
35318 
35319 !!\todo Should also think about quadrature schemes?
35320 
35322  SUBROUTINE cmfe_field_parametersetupdategausspointdpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
35323  & gausspointnumber,userelementnumber,componentnumber,value,err)
35324  !DLLEXPORT(cmfe_Field_ParameterSetUpdateGaussPointDPNumber)
35325 
35326  !Argument variables
35327  INTEGER(INTG), INTENT(IN) :: regionUserNumber
35328  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
35329  INTEGER(INTG), INTENT(IN) :: variableType
35330  INTEGER(INTG), INTENT(IN) :: fieldSetType
35331  INTEGER(INTG), INTENT(IN) :: gaussPointNumber
35332  INTEGER(INTG), INTENT(IN) :: userElementNumber
35333  INTEGER(INTG), INTENT(IN) :: componentNumber
35334  REAL(DP), INTENT(IN) :: value
35335  INTEGER(INTG), INTENT(OUT) :: err
35336  !Local variables
35337  TYPE(field_type), POINTER :: field
35338  TYPE(region_type), POINTER :: region
35339  TYPE(varying_string) :: localError
35340 
35341  enters("cmfe_Field_ParameterSetUpdateGaussPointDPNumber",err,error,*999)
35342 
35343  NULLIFY(region)
35344  NULLIFY(field)
35345  CALL region_user_number_find(regionusernumber,region,err,error,*999)
35346  IF(ASSOCIATED(region)) THEN
35347  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
35348  IF(ASSOCIATED(field)) THEN
35349  CALL field_parametersetupdategausspoint(field,variabletype,fieldsettype,gausspointnumber,userelementnumber, &
35350  & componentnumber,value,err,error,*999)
35351  ELSE
35352  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
35353  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
35354  CALL flagerror(localerror,err,error,*999)
35355  ENDIF
35356  ELSE
35357  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
35358  CALL flagerror(localerror,err,error,*999)
35359  ENDIF
35360 
35361  exits("cmfe_Field_ParameterSetUpdateGaussPointDPNumber")
35362  RETURN
35363 999 errors("cmfe_Field_ParameterSetUpdateGaussPointDPNumber",err,error)
35364  exits("cmfe_Field_ParameterSetUpdateGaussPointDPNumber")
35365  CALL cmfe_handleerror(err,error)
35366  RETURN
35367 
35369 
35370  !
35371  !================================================================================================================================
35372  !
35373 
35375  SUBROUTINE cmfe_field_parametersetupdategausspointdpobj(field,variableType,fieldSetType,gaussPointNumber,userElementNumber, &
35376  & componentnumber, value,err)
35377  !DLLEXPORT(cmfe_Field_ParameterSetUpdateGaussPointDPObj)
35378 
35379  !Argument variables
35380  TYPE(cmfe_fieldtype), INTENT(IN) :: field
35381  INTEGER(INTG), INTENT(IN) :: variableType
35382  INTEGER(INTG), INTENT(IN) :: fieldSetType
35383  INTEGER(INTG), INTENT(IN) :: gaussPointNumber
35384  INTEGER(INTG), INTENT(IN) :: userElementNumber
35385  INTEGER(INTG), INTENT(IN) :: componentNumber
35386  REAL(DP), INTENT(IN) :: value
35387  INTEGER(INTG), INTENT(OUT) :: err
35388  !Local variables
35389 
35390  enters("cmfe_Field_ParameterSetUpdateGaussPointDPObj",err,error,*999)
35391 
35392  CALL field_parametersetupdategausspoint(field%field,variabletype,fieldsettype,gausspointnumber,userelementnumber, &
35393  & componentnumber,value,err,error,*999)
35394 
35395  exits("cmfe_Field_ParameterSetUpdateGaussPointDPObj")
35396  RETURN
35397 999 errors("cmfe_Field_ParameterSetUpdateGaussPointDPObj",err,error)
35398  exits("cmfe_Field_ParameterSetUpdateGaussPointDPObj")
35399  CALL cmfe_handleerror(err,error)
35400  RETURN
35401 
35403 
35404  !
35405  !================================================================================================================================
35406  !
35407 
35408 !!\todo Should also think about quadrature schemes?
35409 
35411  SUBROUTINE cmfe_field_parametersetupdategausspointlnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
35412  & gausspointnumber,userelementnumber,componentnumber,value,err)
35413  !DLLEXPORT(cmfe_Field_ParameterSetUpdateGaussPointLNumber)
35414 
35415  !Argument variables
35416  INTEGER(INTG), INTENT(IN) :: regionUserNumber
35417  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
35418  INTEGER(INTG), INTENT(IN) :: variableType
35419  INTEGER(INTG), INTENT(IN) :: fieldSetType
35420  INTEGER(INTG), INTENT(IN) :: gaussPointNumber
35421  INTEGER(INTG), INTENT(IN) :: userElementNumber
35422  INTEGER(INTG), INTENT(IN) :: componentNumber
35423  LOGICAL, INTENT(IN) :: value
35424  INTEGER(INTG), INTENT(OUT) :: err
35425  !Local variables
35426  TYPE(field_type), POINTER :: field
35427  TYPE(region_type), POINTER :: region
35428  TYPE(varying_string) :: localError
35429 
35430  enters("cmfe_Field_ParameterSetUpdateGaussPointLNumber",err,error,*999)
35431 
35432  NULLIFY(region)
35433  NULLIFY(field)
35434  CALL region_user_number_find(regionusernumber,region,err,error,*999)
35435  IF(ASSOCIATED(region)) THEN
35436  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
35437  IF(ASSOCIATED(field)) THEN
35438  CALL field_parametersetupdategausspoint(field,variabletype,fieldsettype,gausspointnumber,userelementnumber, &
35439  & componentnumber,value,err,error,*999)
35440  ELSE
35441  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
35442  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
35443  CALL flagerror(localerror,err,error,*999)
35444  ENDIF
35445  ELSE
35446  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
35447  CALL flagerror(localerror,err,error,*999)
35448  ENDIF
35449 
35450  exits("cmfe_Field_ParameterSetUpdateGaussPointLNumber")
35451  RETURN
35452 999 errors("cmfe_Field_ParameterSetUpdateGaussPointLNumber",err,error)
35453  exits("cmfe_Field_ParameterSetUpdateGaussPointLNumber")
35454  CALL cmfe_handleerror(err,error)
35455  RETURN
35456 
35458 
35459  !
35460  !================================================================================================================================
35461  !
35462 
35463 !!\todo Should also think about quadrature schemes?
35464 
35466  SUBROUTINE cmfe_field_parametersetupdategausspointlobj(field,variableType,fieldSetType,gaussPointNumber,userElementNumber, &
35467  & componentnumber,value,err)
35468  !DLLEXPORT(cmfe_Field_ParameterSetUpdateGaussPointLObj)
35469 
35470  !Argument variables
35471  TYPE(cmfe_fieldtype), INTENT(IN) :: field
35472  INTEGER(INTG), INTENT(IN) :: variableType
35473  INTEGER(INTG), INTENT(IN) :: fieldSetType
35474  INTEGER(INTG), INTENT(IN) :: gaussPointNumber
35475  INTEGER(INTG), INTENT(IN) :: userElementNumber
35476  INTEGER(INTG), INTENT(IN) :: componentNumber
35477  LOGICAL, INTENT(IN) :: value
35478  INTEGER(INTG), INTENT(OUT) :: err
35479  !Local variables
35480 
35481  enters("cmfe_Field_ParameterSetUpdateGaussPointLObj",err,error,*999)
35482 
35483  CALL field_parametersetupdategausspoint(field%field,variabletype,fieldsettype,gausspointnumber,userelementnumber, &
35484  & componentnumber,value,err,error,*999)
35485 
35486  exits("cmfe_Field_ParameterSetUpdateGaussPointLObj")
35487  RETURN
35488 999 errorsexits("cmfe_Field_ParameterSetUpdateGaussPointLObj",err,error)
35489  CALL cmfe_handleerror(err,error)
35490  RETURN
35491 
35493 
35494  !
35495  !================================================================================================================================
35496  !
35497 
35499  SUBROUTINE cmfe_field_parametersetinterpolatesinglexidpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
35500  & derivativenumber,userelementnumber,xi,values,err)
35501  !DLLEXPORT(cmfe_Field_ParameterSetInterpolateSingleXiDPNumber)
35502 
35503  !Argument variables
35504  INTEGER(INTG), INTENT(IN) :: regionUserNumber
35505  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
35506  INTEGER(INTG), INTENT(IN) :: variableType
35507  INTEGER(INTG), INTENT(IN) :: fieldSetType
35508  INTEGER(INTG), INTENT(IN) :: derivativeNumber
35509  INTEGER(INTG), INTENT(IN) :: userElementNumber
35510  REAL(DP), INTENT(IN) :: xi(:)
35511  REAL(DP), INTENT(OUT) :: values(:)
35512  INTEGER(INTG), INTENT(OUT) :: err
35513  !Local variables
35514  TYPE(field_type), POINTER :: FIELD
35515  TYPE(region_type), POINTER :: REGION
35516  TYPE(varying_string) :: localError
35517 
35518  enters("cmfe_Field_ParameterSetInterpolateSingleXiDPNumber",err,error,*999)
35519 
35520  NULLIFY(region)
35521  NULLIFY(field)
35522  CALL region_user_number_find(regionusernumber,region,err,error,*999)
35523  IF(ASSOCIATED(region)) THEN
35524  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
35525  IF(ASSOCIATED(field)) THEN
35526  CALL field_parameter_set_interpolate_single_xi(field,variabletype,fieldsettype,derivativenumber,userelementnumber, &
35527  & xi,values,err,error,*999)
35528  ELSE
35529  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
35530  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
35531  CALL flagerror(localerror,err,error,*999)
35532  END IF
35533  ELSE
35534  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
35535  CALL flagerror(localerror,err,error,*999)
35536  END IF
35537 
35538  exits("cmfe_Field_ParameterSetInterpolateSingleXiDPNumber")
35539  RETURN
35540 999 errors("cmfe_Field_ParameterSetInterpolateSingleXiDPNumber",err,error)
35541  exits("cmfe_Field_ParameterSetInterpolateSingleXiDPNumber")
35542  CALL cmfe_handleerror(err,error)
35543  RETURN
35544 
35546 
35547  !
35548  !================================================================================================================================
35549  !
35550 
35552  SUBROUTINE cmfe_field_parametersetinterpolatesinglexidpobj(field,variableType,fieldSetType,derivativeNumber,userElementNumber, &
35553  & xi,values,err)
35554  !DLLEXPORT(cmfe_Field_ParameterSetInterpolateSingleXiDPObj)
35555 
35556  !Argument variables
35557  TYPE(cmfe_fieldtype), INTENT(IN) :: field
35558  INTEGER(INTG), INTENT(IN) :: variableType
35559  INTEGER(INTG), INTENT(IN) :: fieldSetType
35560  INTEGER(INTG), INTENT(IN) :: derivativeNumber
35561  INTEGER(INTG), INTENT(IN) :: userElementNumber
35562  REAL(DP), INTENT(IN) :: xi(:)
35563  REAL(DP), INTENT(OUT) :: values(:)
35564  INTEGER(INTG), INTENT(OUT) :: err
35565  !Local variables
35566 
35567  enters("cmfe_Field_ParameterSetInterpolateSingleXiDPObj",err,error,*999)
35568 
35569  CALL field_parameter_set_interpolate_single_xi(field%field,variabletype,fieldsettype,derivativenumber,userelementnumber,xi, &
35570  & values,err,error,*999)
35571 
35572  exits("cmfe_Field_ParameterSetInterpolateSingleXiDPObj")
35573  RETURN
35574 999 errors("cmfe_Field_ParameterSetInterpolateSingleXiDPObj",err,error)
35575  exits("cmfe_Field_ParameterSetInterpolateSingleXiDPObj")
35576  CALL cmfe_handleerror(err,error)
35577  RETURN
35578 
35580 
35581  !
35582  !================================================================================================================================
35583  !
35584 
35586  SUBROUTINE cmfe_field_parametersetinterpolatemultiplexidpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
35587  & derivativenumber,userelementnumber,xi,values,err)
35588  !DLLEXPORT(cmfe_Field_ParameterSetInterpolateMultipleXiDPNumber)
35589 
35590  !Argument variables
35591  INTEGER(INTG), INTENT(IN) :: regionUserNumber
35592  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
35593  INTEGER(INTG), INTENT(IN) :: variableType
35594  INTEGER(INTG), INTENT(IN) :: fieldSetType
35595  INTEGER(INTG), INTENT(IN) :: derivativeNumber
35596  INTEGER(INTG), INTENT(IN) :: userElementNumber
35597  REAL(DP), INTENT(IN) :: xi(:,:)
35598  REAL(DP), INTENT(OUT) :: values(:,:)
35599  INTEGER(INTG), INTENT(OUT) :: err
35600  !Local variables
35601  TYPE(field_type), POINTER :: FIELD
35602  TYPE(region_type), POINTER :: REGION
35603  TYPE(varying_string) :: localError
35604 
35605  enters("cmfe_Field_ParameterSetInterpolateMultipleXiDPNumber",err,error,*999)
35606 
35607  NULLIFY(region)
35608  NULLIFY(field)
35609  CALL region_user_number_find(regionusernumber,region,err,error,*999)
35610  IF(ASSOCIATED(region)) THEN
35611  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
35612  IF(ASSOCIATED(field)) THEN
35613  CALL field_parameter_set_interpolate_multiple_xi(field,variabletype,fieldsettype,derivativenumber,userelementnumber, &
35614  & xi,values,err,error,*999)
35615  ELSE
35616  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
35617  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
35618  CALL flagerror(localerror,err,error,*999)
35619  END IF
35620  ELSE
35621  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
35622  CALL flagerror(localerror,err,error,*999)
35623  END IF
35624 
35625  exits("cmfe_Field_ParameterSetInterpolateMultipleXiDPNumber")
35626  RETURN
35627 999 errors("cmfe_Field_ParameterSetInterpolateMultipleXiDPNumber",err,error)
35628  exits("cmfe_Field_ParameterSetInterpolateMultipleXiDPNumber")
35629  CALL cmfe_handleerror(err,error)
35630  RETURN
35631 
35633 
35634  !
35635  !================================================================================================================================
35636  !
35637 
35639  SUBROUTINE cmfe_field_parametersetinterpolatemultiplexidpobj(field,variableType,fieldSetType,derivativeNumber,userElementNumber, &
35640  & xi,values,err)
35641  !DLLEXPORT(cmfe_Field_ParameterSetInterpolateMultipleXiDPObj)
35642 
35643  !Argument variables
35644  TYPE(cmfe_fieldtype), INTENT(IN) :: field
35645  INTEGER(INTG), INTENT(IN) :: variableType
35646  INTEGER(INTG), INTENT(IN) :: fieldSetType
35647  INTEGER(INTG), INTENT(IN) :: derivativeNumber
35648  INTEGER(INTG), INTENT(IN) :: userElementNumber
35649  REAL(DP), INTENT(IN) :: xi(:,:)
35650  REAL(DP), INTENT(OUT) :: values(:,:)
35651  INTEGER(INTG), INTENT(OUT) :: err
35652  !Local variables
35653 
35654  enters("cmfe_Field_ParameterSetInterpolateMultipleXiDPObj",err,error,*999)
35655 
35656  CALL field_parameter_set_interpolate_multiple_xi(field%field,variabletype,fieldsettype,derivativenumber,userelementnumber,xi, &
35657  & values,err,error,*999)
35658 
35659  exits("cmfe_Field_ParameterSetInterpolateMultipleXiDPObj")
35660  RETURN
35661 999 errors("cmfe_Field_ParameterSetInterpolateMultipleXiDPObj",err,error)
35662  exits("cmfe_Field_ParameterSetInterpolateMultipleXiDPObj")
35663  CALL cmfe_handleerror(err,error)
35664  RETURN
35665 
35667 
35668  !
35669  !================================================================================================================================
35670  !
35671 
35673  SUBROUTINE cmfe_field_parametersetinterpolatesinglegaussdpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
35674  & derivativenumber,userelementnumber,quadraturescheme,gausspoint,values,err)
35675  !DLLEXPORT(cmfe_Field_ParameterSetInterpolateSingleGaussDPNumber)
35676 
35677  !Argument variables
35678  INTEGER(INTG), INTENT(IN) :: regionUserNumber
35679  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
35680  INTEGER(INTG), INTENT(IN) :: variableType
35681  INTEGER(INTG), INTENT(IN) :: fieldSetType
35682  INTEGER(INTG), INTENT(IN) :: derivativeNumber
35683  INTEGER(INTG), INTENT(IN) :: userElementNumber
35684  INTEGER(INTG), INTENT(IN) :: quadratureScheme
35685  INTEGER(INTG), INTENT(IN) :: GaussPoint
35686  REAL(DP), INTENT(OUT) :: values(:)
35687  INTEGER(INTG), INTENT(OUT) :: err
35688  !Local variables
35689  TYPE(field_type), POINTER :: FIELD
35690  TYPE(region_type), POINTER :: REGION
35691  TYPE(varying_string) :: localError
35692 
35693  enters("cmfe_Field_ParameterSetInterpolateSingleGaussDPNumber",err,error,*999)
35694 
35695  NULLIFY(region)
35696  NULLIFY(field)
35697  CALL region_user_number_find(regionusernumber,region,err,error,*999)
35698  IF(ASSOCIATED(region)) THEN
35699  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
35700  IF(ASSOCIATED(field)) THEN
35701  CALL field_parameter_set_interpolate_single_gauss(field,variabletype,fieldsettype,derivativenumber,userelementnumber, &
35702  & quadraturescheme,gausspoint,values,err,error,*999)
35703  ELSE
35704  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
35705  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
35706  CALL flagerror(localerror,err,error,*999)
35707  END IF
35708  ELSE
35709  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
35710  CALL flagerror(localerror,err,error,*999)
35711  END IF
35712 
35713  exits("cmfe_Field_ParameterSetInterpolateSingleGaussDPNumber")
35714  RETURN
35715 999 errors("cmfe_Field_ParameterSetInterpolateSingleGaussDPNumber",err,error)
35716  exits("cmfe_Field_ParameterSetInterpolateSingleGaussDPNumber")
35717  CALL cmfe_handleerror(err,error)
35718  RETURN
35719 
35721 
35722  !
35723  !================================================================================================================================
35724  !
35725 
35727  SUBROUTINE cmfe_field_parametersetinterpolatesinglegaussdpobj(field,variableType,fieldSetType,derivativeNumber, &
35728  & userelementnumber,quadraturescheme, gausspoint,values,err)
35729  !DLLEXPORT(cmfe_Field_ParameterSetInterpolateSingleGaussDPObj)
35730 
35731  !Argument variables
35732  TYPE(cmfe_fieldtype), INTENT(IN) :: field
35733  INTEGER(INTG), INTENT(IN) :: variableType
35734  INTEGER(INTG), INTENT(IN) :: fieldSetType
35735  INTEGER(INTG), INTENT(IN) :: derivativeNumber
35736  INTEGER(INTG), INTENT(IN) :: userElementNumber
35737  INTEGER(INTG), INTENT(IN) :: quadratureScheme
35738  INTEGER(INTG), INTENT(IN) :: GaussPoint
35739  REAL(DP), INTENT(OUT) :: values(:)
35740  INTEGER(INTG), INTENT(OUT) :: err
35741  !Local variables
35742 
35743  enters("cmfe_Field_ParameterSetInterpolateSingleGaussDPObj",err,error,*999)
35744 
35745  CALL field_parameter_set_interpolate_single_gauss(field%field,variabletype,fieldsettype,derivativenumber,userelementnumber, &
35746  & quadraturescheme,gausspoint,values,err,error,*999)
35747 
35748  exits("cmfe_Field_ParameterSetInterpolateSingleGaussDPObj")
35749  RETURN
35750 999 errors("cmfe_Field_ParameterSetInterpolateSingleGaussDPObj",err,error)
35751  exits("cmfe_Field_ParameterSetInterpolateSingleGaussDPObj")
35752  CALL cmfe_handleerror(err,error)
35753  RETURN
35754 
35756 
35757  !
35758  !================================================================================================================================
35759  !
35760 
35762  SUBROUTINE cmfe_field_parametersetinterpolatemultiplegaussdpnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType, &
35763  & derivativenumber,userelementnumber,quadraturescheme,gausspoints,values,err)
35764  !DLLEXPORT(cmfe_Field_ParameterSetInterpolateMultipleGaussDPNumber)
35765 
35766  !Argument variables
35767  INTEGER(INTG), INTENT(IN) :: regionUserNumber
35768  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
35769  INTEGER(INTG), INTENT(IN) :: variableType
35770  INTEGER(INTG), INTENT(IN) :: fieldSetType
35771  INTEGER(INTG), INTENT(IN) :: derivativeNumber
35772  INTEGER(INTG), INTENT(IN) :: userElementNumber
35773  INTEGER(INTG), INTENT(IN) :: quadratureScheme
35774  INTEGER(INTG), INTENT(IN) :: GaussPoints(:)
35775  REAL(DP), INTENT(OUT) :: values(:,:)
35776  INTEGER(INTG), INTENT(OUT) :: err
35777  !Local variables
35778  TYPE(field_type), POINTER :: FIELD
35779  TYPE(region_type), POINTER :: REGION
35780  TYPE(varying_string) :: localError
35781 
35782  enters("cmfe_Field_ParameterSetInterpolateMultipleGaussDPNumber",err,error,*999)
35783 
35784  NULLIFY(region)
35785  NULLIFY(field)
35786  CALL region_user_number_find(regionusernumber,region,err,error,*999)
35787  IF(ASSOCIATED(region)) THEN
35788  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
35789  IF(ASSOCIATED(field)) THEN
35790  CALL field_parameter_set_interpolate_multiple_gauss(field,variabletype,fieldsettype,derivativenumber,userelementnumber, &
35791  & quadraturescheme,gausspoints,values,err,error,*999)
35792  ELSE
35793  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
35794  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
35795  CALL flagerror(localerror,err,error,*999)
35796  END IF
35797  ELSE
35798  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
35799  CALL flagerror(localerror,err,error,*999)
35800  END IF
35801 
35802  exits("cmfe_Field_ParameterSetInterpolateMultipleGaussDPNumber")
35803  RETURN
35804 999 errors("cmfe_Field_ParameterSetInterpolateMultipleGaussDPNumber",err,error)
35805  exits("cmfe_Field_ParameterSetInterpolateMultipleGaussDPNumber")
35806  CALL cmfe_handleerror(err,error)
35807  RETURN
35808 
35810 
35811  !
35812  !================================================================================================================================
35813  !
35814 
35816  SUBROUTINE cmfe_field_parametersetinterpolatemultiplegaussdpobj(field,variableType,fieldSetType,derivativeNumber, &
35817  & userelementnumber,quadraturescheme, gausspoints,values,err)
35818  !DLLEXPORT(cmfe_Field_ParameterSetInterpolateMultipleGaussDPObj)
35819 
35820  !Argument variables
35821  TYPE(cmfe_fieldtype), INTENT(IN) :: field
35822  INTEGER(INTG), INTENT(IN) :: variableType
35823  INTEGER(INTG), INTENT(IN) :: fieldSetType
35824  INTEGER(INTG), INTENT(IN) :: derivativeNumber
35825  INTEGER(INTG), INTENT(IN) :: userElementNumber
35826  INTEGER(INTG), INTENT(IN) :: quadratureScheme
35827  INTEGER(INTG), INTENT(IN) :: GaussPoints(:)
35828  REAL(DP), INTENT(OUT) :: values(:,:)
35829  INTEGER(INTG), INTENT(OUT) :: err
35830  !Local variables
35831 
35832  enters("cmfe_Field_ParameterSetInterpolateMultipleGaussDPObj",err,error,*999)
35833 
35834  CALL field_parameter_set_interpolate_multiple_gauss(field%field,variabletype,fieldsettype,derivativenumber,userelementnumber, &
35835  & quadraturescheme,gausspoints,values,err,error,*999)
35836 
35837  exits("cmfe_Field_ParameterSetInterpolateMultipleGaussDPObj")
35838  RETURN
35839 999 errors("cmfe_Field_ParameterSetInterpolateMultipleGaussDPObj",err,error)
35840  exits("cmfe_Field_ParameterSetInterpolateMultipleGaussDPObj")
35841  CALL cmfe_handleerror(err,error)
35842  RETURN
35843 
35845 
35846  !
35847  !================================================================================================================================
35848  !
35849 
35851  SUBROUTINE cmfe_field_parametersetupdatestartnumber(regionUserNumber,fieldUserNumber,variableType,fieldSetType,err)
35852  !DLLEXPORT(cmfe_Field_ParameterSetUpdateStartNumber)
35853 
35854  !Argument variables
35855  INTEGER(INTG), INTENT(IN) :: regionUserNumber
35856  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
35857  INTEGER(INTG), INTENT(IN) :: variableType
35858  INTEGER(INTG), INTENT(IN) :: fieldSetType
35859  INTEGER(INTG), INTENT(OUT) :: err
35860  !Local variables
35861  TYPE(field_type), POINTER :: FIELD
35862  TYPE(region_type), POINTER :: REGION
35863  TYPE(varying_string) :: localError
35864 
35865  enters("cmfe_Field_ParameterSetUpdateStartNumber",err,error,*999)
35866 
35867  NULLIFY(region)
35868  NULLIFY(field)
35869  CALL region_user_number_find(regionusernumber,region,err,error,*999)
35870  IF(ASSOCIATED(region)) THEN
35871  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
35872  IF(ASSOCIATED(field)) THEN
35873  CALL field_parameter_set_update_start(field,variabletype,fieldsettype,err,error,*999)
35874  ELSE
35875  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
35876  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
35877  CALL flagerror(localerror,err,error,*999)
35878  END IF
35879  ELSE
35880  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
35881  CALL flagerror(localerror,err,error,*999)
35882  END IF
35883 
35884  exits("cmfe_Field_ParameterSetUpdateStartNumber")
35885  RETURN
35886 999 errorsexits("cmfe_Field_ParameterSetUpdateStartNumber",err,error)
35887  CALL cmfe_handleerror(err,error)
35888  RETURN
35889 
35891 
35892  !
35893  !================================================================================================================================
35894  !
35895 
35897  SUBROUTINE cmfe_field_parametersetupdatestartobj(field,variableType,fieldSetType,err)
35898  !DLLEXPORT(cmfe_Field_ParameterSetUpdateStartObj)
35899 
35900  !Argument variables
35901  TYPE(cmfe_fieldtype), INTENT(IN) :: field
35902  INTEGER(INTG), INTENT(IN) :: variableType
35903  INTEGER(INTG), INTENT(IN) :: fieldSetType
35904  INTEGER(INTG), INTENT(OUT) :: err
35905  !Local variables
35906 
35907  enters("cmfe_Field_ParameterSetUpdateStartObj",err,error,*999)
35908 
35909  CALL field_parameter_set_update_start(field%field,variabletype,fieldsettype,err,error,*999)
35910 
35911  exits("cmfe_Field_ParameterSetUpdateStartObj")
35912  RETURN
35913 999 errorsexits("cmfe_Field_ParameterSetUpdateStartObj",err,error)
35914  CALL cmfe_handleerror(err,error)
35915  RETURN
35916 
35918 
35919  !
35920  !================================================================================================================================
35921  !
35922 
35925  SUBROUTINE cmfe_field_parameterstofieldparameterscomponentcopynumber(fromRegionUserNumber,fromFieldUserNumber,fromVariableType, &
35926  & fromparametersettype, fromcomponentnumber,toregionusernumber,tofieldusernumber,tovariabletype,toparametersettype, &
35927  & tocomponentnumber,err)
35928  !DLLEXPORT(cmfe_Field_ParametersToFieldParametersComponentCopyNumber)
35929 
35930  !Argument variables
35931  INTEGER(INTG), INTENT(IN) :: fromRegionUserNumber
35932  INTEGER(INTG), INTENT(IN) :: fromFieldUserNumber
35933  INTEGER(INTG), INTENT(IN) :: fromVariableType
35934  INTEGER(INTG), INTENT(IN) :: fromParameterSetType
35935  INTEGER(INTG), INTENT(IN) :: fromComponentNumber
35936  INTEGER(INTG), INTENT(IN) :: toRegionUserNumber
35937  INTEGER(INTG), INTENT(IN) :: toFieldUserNumber
35938  INTEGER(INTG), INTENT(IN) :: toVariableType
35939  INTEGER(INTG), INTENT(IN) :: toParameterSetType
35940  INTEGER(INTG), INTENT(IN) :: toComponentNumber
35941  INTEGER(INTG), INTENT(OUT) :: err
35942  !Local variables
35943  TYPE(region_type), POINTER :: FROM_REGION
35944  TYPE(field_type), POINTER :: FROM_FIELD
35945  TYPE(region_type), POINTER :: TO_REGION
35946  TYPE(field_type), POINTER :: TO_FIELD
35947  TYPE(varying_string) :: localError
35948 
35949  enters("cmfe_Field_ParametersToFieldParametersComponentCopyNumber",err,error,*999)
35950 
35951  NULLIFY(from_region)
35952  NULLIFY(from_field)
35953  NULLIFY(to_region)
35954  NULLIFY(to_field)
35955  CALL region_user_number_find(fromregionusernumber,from_region,err,error,*999)
35956  IF(ASSOCIATED(from_region)) THEN
35957  CALL field_user_number_find(fromfieldusernumber,from_region,from_field,err,error,*999)
35958  IF(ASSOCIATED(from_field)) THEN
35959  CALL region_user_number_find(toregionusernumber,to_region,err,error,*999)
35960  IF(ASSOCIATED(to_region)) THEN
35961  CALL field_user_number_find(tofieldusernumber,to_region,to_field,err,error,*999)
35962  IF(ASSOCIATED(to_field)) THEN
35963  CALL field_parameterstofieldparameterscopy(from_field,fromvariabletype,fromparametersettype, &
35964  & fromcomponentnumber,to_field,tovariabletype,toparametersettype,tocomponentnumber,err,error,*999)
35965  ELSE
35966  localerror="A field with an user number of "//trim(numbertovstring(tofieldusernumber,"*",err,error))// &
35967  & " does not exist on region number "//trim(numbertovstring(toregionusernumber,"*",err,error))//"."
35968  CALL flagerror(localerror,err,error,*999)
35969  END IF
35970  ELSE
35971  localerror="A region with an user number of "//trim(numbertovstring(toregionusernumber,"*",err,error))// &
35972  & " does not exist."
35973  CALL flagerror(localerror,err,error,*999)
35974  END IF
35975  ELSE
35976  localerror="A field with an user number of "//trim(numbertovstring(fromfieldusernumber,"*",err,error))// &
35977  & " does not exist on region number "//trim(numbertovstring(fromregionusernumber,"*",err,error))//"."
35978  CALL flagerror(localerror,err,error,*999)
35979  END IF
35980  ELSE
35981  localerror="A region with an user number of "//trim(numbertovstring(fromregionusernumber,"*",err,error))// &
35982  & " does not exist."
35983  CALL flagerror(localerror,err,error,*999)
35984  END IF
35985 
35986  RETURN
35987 999 errors("cmfe_Field_ParametersToFieldParametersComponentCopyNumber",err,error)
35988  exits("cmfe_Field_ParametersToFieldParametersComponentCopyNumber")
35989  CALL cmfe_handleerror(err,error)
35990  RETURN
35991 
35993 
35994  !
35995  !================================================================================================================================
35996  !
35997 
36000  SUBROUTINE cmfe_field_parameterstofieldparameterscomponentcopyobj(fromField,fromVariableType,fromParameterSetType, &
36001  & fromcomponentnumber,tofield,tovariabletype,toparametersettype,tocomponentnumber,err)
36002  !DLLEXPORT(cmfe_Field_ParametersToFieldParametersComponentCopyObj)
36003 
36004  !Argument variables
36005  TYPE(cmfe_fieldtype), INTENT(IN) :: fromField
36006  INTEGER(INTG), INTENT(IN) :: fromVariableType
36007  INTEGER(INTG), INTENT(IN) :: fromParameterSetType
36008  INTEGER(INTG), INTENT(IN) :: fromComponentNumber
36009  TYPE(cmfe_fieldtype), INTENT(IN) :: toField
36010  INTEGER(INTG), INTENT(IN) :: toVariableType
36011  INTEGER(INTG), INTENT(IN) :: toParameterSetType
36012  INTEGER(INTG), INTENT(IN) :: toComponentNumber
36013  INTEGER(INTG), INTENT(OUT) :: err
36014  !Local variables
36015 
36016  enters("cmfe_Field_ParametersToFieldParametersComponentCopyObj",err,error,*999)
36017 
36018  CALL field_parameterstofieldparameterscopy(fromfield%field,fromvariabletype,fromparametersettype, &
36019  & fromcomponentnumber,tofield%field,tovariabletype,toparametersettype,tocomponentnumber,err,error,*999)
36020 
36021  RETURN
36022 999 errors("cmfe_Field_ParametersToFieldParametersComponentCopyObj",err,error)
36023  exits("cmfe_Field_ParametersToFieldParametersComponentCopyObj")
36024  CALL cmfe_handleerror(err,error)
36025  RETURN
36026 
36028 
36029  !
36030  !================================================================================================================================
36031  !
36032 
36034  SUBROUTINE cmfe_field_scalingtypegetnumber(regionUserNumber,fieldUserNumber,scalingType,err)
36035  !DLLEXPORT(cmfe_Field_ScalingTypeGetNumber)
36036 
36037  !Argument variables
36038  INTEGER(INTG), INTENT(IN) :: regionUserNumber
36039  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
36040  INTEGER(INTG), INTENT(OUT) :: scalingType
36041  INTEGER(INTG), INTENT(OUT) :: err
36042  !Local variables
36043  TYPE(field_type), POINTER :: FIELD
36044  TYPE(region_type), POINTER :: REGION
36045  TYPE(varying_string) :: localError
36046 
36047  enters("cmfe_Field_ScalingTypeGetNumber",err,error,*999)
36048 
36049  NULLIFY(region)
36050  NULLIFY(field)
36051  CALL region_user_number_find(regionusernumber,region,err,error,*999)
36052  IF(ASSOCIATED(region)) THEN
36053  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
36054  IF(ASSOCIATED(field)) THEN
36055  CALL field_scaling_type_get(field,scalingtype,err,error,*999)
36056  ELSE
36057  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
36058  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
36059  CALL flagerror(localerror,err,error,*999)
36060  END IF
36061  ELSE
36062  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
36063  CALL flagerror(localerror,err,error,*999)
36064  END IF
36065 
36066  exits("cmfe_Field_ScalingTypeGetNumber")
36067  RETURN
36068 999 errorsexits("cmfe_Field_ScalingTypeGetNumber",err,error)
36069  CALL cmfe_handleerror(err,error)
36070  RETURN
36071 
36072  END SUBROUTINE cmfe_field_scalingtypegetnumber
36073 
36074  !
36075  !================================================================================================================================
36076  !
36077 
36079  SUBROUTINE cmfe_field_scalingtypegetobj(field,scalingType,err)
36080  !DLLEXPORT(cmfe_Field_ScalingTypeGetObj)
36081 
36082  !Argument variables
36083  TYPE(cmfe_fieldtype), INTENT(IN) :: field
36084  INTEGER(INTG), INTENT(OUT) :: scalingType
36085  INTEGER(INTG), INTENT(OUT) :: err
36086  !Local variables
36087 
36088  enters("cmfe_Field_ScalingTypeGetObj",err,error,*999)
36089 
36090  CALL field_scaling_type_get(field%field,scalingtype,err,error,*999)
36091 
36092  exits("cmfe_Field_ScalingTypeGetObj")
36093  RETURN
36094 999 errorsexits("cmfe_Field_ScalingTypeGetObj",err,error)
36095  CALL cmfe_handleerror(err,error)
36096  RETURN
36097 
36098  END SUBROUTINE cmfe_field_scalingtypegetobj
36099 
36100  !
36101  !================================================================================================================================
36102  !
36103 
36105  SUBROUTINE cmfe_field_scalingtypesetnumber(regionUserNumber,fieldUserNumber,scalingType,err)
36106  !DLLEXPORT(cmfe_Field_ScalingTypeSetNumber)
36107 
36108  !Argument variables
36109  INTEGER(INTG), INTENT(IN) :: regionUserNumber
36110  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
36111  INTEGER(INTG), INTENT(IN) :: scalingType
36112  INTEGER(INTG), INTENT(OUT) :: err
36113  !Local variables
36114  TYPE(field_type), POINTER :: FIELD
36115  TYPE(region_type), POINTER :: REGION
36116  TYPE(varying_string) :: localError
36117 
36118  enters("cmfe_Field_ScalingTypeSetNumber",err,error,*999)
36119 
36120  NULLIFY(region)
36121  NULLIFY(field)
36122  CALL region_user_number_find(regionusernumber,region,err,error,*999)
36123  IF(ASSOCIATED(region)) THEN
36124  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
36125  IF(ASSOCIATED(field)) THEN
36126  CALL field_scaling_type_set(field,scalingtype,err,error,*999)
36127  ELSE
36128  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
36129  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
36130  CALL flagerror(localerror,err,error,*999)
36131  END IF
36132  ELSE
36133  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
36134  CALL flagerror(localerror,err,error,*999)
36135  END IF
36136 
36137  exits("cmfe_Field_ScalingTypeSetNumber")
36138  RETURN
36139 999 errorsexits("cmfe_Field_ScalingTypeSetNumber",err,error)
36140  CALL cmfe_handleerror(err,error)
36141  RETURN
36142 
36143  END SUBROUTINE cmfe_field_scalingtypesetnumber
36144 
36145  !
36146  !================================================================================================================================
36147  !
36148 
36150  SUBROUTINE cmfe_field_scalingtypesetobj(field,scalingType,err)
36151  !DLLEXPORT(cmfe_Field_ScalingTypeSetObj)
36152 
36153  !Argument variables
36154  TYPE(cmfe_fieldtype), INTENT(IN) :: field
36155  INTEGER(INTG), INTENT(IN) :: scalingType
36156  INTEGER(INTG), INTENT(OUT) :: err
36157  !Local variables
36158 
36159  enters("cmfe_Field_ScalingTypeSetObj",err,error,*999)
36160 
36161  CALL field_scaling_type_set(field%field,scalingtype,err,error,*999)
36162 
36163  exits("cmfe_Field_ScalingTypeSetObj")
36164  RETURN
36165 999 errorsexits("cmfe_Field_ScalingTypeSetObj",err,error)
36166  CALL cmfe_handleerror(err,error)
36167  RETURN
36168 
36169  END SUBROUTINE cmfe_field_scalingtypesetobj
36170 
36171  !
36172  !================================================================================================================================
36173  !
36174 
36176  SUBROUTINE cmfe_field_typegetnumber(regionUserNumber,fieldUserNumber,fieldType,err)
36177  !DLLEXPORT(cmfe_Field_TypeGetNumber)
36178 
36179  !Argument variables
36180  INTEGER(INTG), INTENT(IN) :: regionUserNumber
36181  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
36182  INTEGER(INTG), INTENT(OUT) :: fieldType
36183  INTEGER(INTG), INTENT(OUT) :: err
36184  !Local variables
36185  TYPE(field_type), POINTER :: FIELD
36186  TYPE(region_type), POINTER :: REGION
36187  TYPE(varying_string) :: localError
36188 
36189  enters("cmfe_Field_TypeGetNumber",err,error,*999)
36190 
36191  NULLIFY(region)
36192  NULLIFY(field)
36193  CALL region_user_number_find(regionusernumber,region,err,error,*999)
36194  IF(ASSOCIATED(region)) THEN
36195  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
36196  IF(ASSOCIATED(field)) THEN
36197  CALL field_type_get(field,fieldtype,err,error,*999)
36198  ELSE
36199  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
36200  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
36201  CALL flagerror(localerror,err,error,*999)
36202  END IF
36203  ELSE
36204  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
36205  CALL flagerror(localerror,err,error,*999)
36206  END IF
36207 
36208  exits("cmfe_Field_TypeGetNumber")
36209  RETURN
36210 999 errorsexits("cmfe_Field_TypeGetNumber",err,error)
36211  CALL cmfe_handleerror(err,error)
36212  RETURN
36213 
36214  END SUBROUTINE cmfe_field_typegetnumber
36215 
36216  !
36217  !================================================================================================================================
36218  !
36219 
36221  SUBROUTINE cmfe_field_typegetobj(field,fieldType,err)
36222  !DLLEXPORT(cmfe_Field_TypeGetObj)
36223 
36224  !Argument variables
36225  TYPE(cmfe_fieldtype), INTENT(IN) :: field
36226  INTEGER(INTG), INTENT(OUT) :: fieldType
36227  INTEGER(INTG), INTENT(OUT) :: err
36228  !Local variables
36229 
36230  enters("cmfe_Field_TypeGetObj",err,error,*999)
36231 
36232  CALL field_type_get(field%field,fieldtype,err,error,*999)
36233 
36234  exits("cmfe_Field_TypeGetObj")
36235  RETURN
36236 999 errorsexits("cmfe_Field_TypeGetObj",err,error)
36237  CALL cmfe_handleerror(err,error)
36238  RETURN
36239 
36240  END SUBROUTINE cmfe_field_typegetobj
36241 
36242  !
36243  !================================================================================================================================
36244  !
36245 
36247  SUBROUTINE cmfe_field_typesetnumber(regionUserNumber,fieldUserNumber,fieldType,err)
36248  !DLLEXPORT(cmfe_Field_TypeSetNumber)
36249 
36250  !Argument variables
36251  INTEGER(INTG), INTENT(IN) :: regionUserNumber
36252  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
36253  INTEGER(INTG), INTENT(IN) :: fieldType
36254  INTEGER(INTG), INTENT(OUT) :: err
36255  !Local variables
36256  TYPE(field_type), POINTER :: FIELD
36257  TYPE(region_type), POINTER :: REGION
36258  TYPE(varying_string) :: localError
36259 
36260  enters("cmfe_Field_TypeSetNumber",err,error,*999)
36261 
36262  NULLIFY(region)
36263  NULLIFY(field)
36264  CALL region_user_number_find(regionusernumber,region,err,error,*999)
36265  IF(ASSOCIATED(region)) THEN
36266  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
36267  IF(ASSOCIATED(field)) THEN
36268  CALL field_type_set(field,fieldtype,err,error,*999)
36269  ELSE
36270  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
36271  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
36272  CALL flagerror(localerror,err,error,*999)
36273  END IF
36274  ELSE
36275  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
36276  CALL flagerror(localerror,err,error,*999)
36277  END IF
36278 
36279  exits("cmfe_Field_TypeSetNumber")
36280  RETURN
36281 999 errorsexits("cmfe_Field_TypeSetNumber",err,error)
36282  CALL cmfe_handleerror(err,error)
36283  RETURN
36284 
36285  END SUBROUTINE cmfe_field_typesetnumber
36286 
36287  !
36288  !================================================================================================================================
36289  !
36290 
36292  SUBROUTINE cmfe_field_typesetobj(field,fieldType,err)
36293  !DLLEXPORT(cmfe_Field_TypeSetObj)
36294 
36295  !Argument variables
36296  TYPE(cmfe_fieldtype), INTENT(IN) :: field
36297  INTEGER(INTG), INTENT(IN) :: fieldType
36298  INTEGER(INTG), INTENT(OUT) :: err
36299  !Local variables
36300 
36301  enters("cmfe_Field_TypeSetObj",err,error,*999)
36302 
36303  CALL field_type_set(field%field,fieldtype,err,error,*999)
36304 
36305  exits("cmfe_Field_TypeSetObj")
36306  RETURN
36307 999 errorsexits("cmfe_Field_TypeSetObj",err,error)
36308  CALL cmfe_handleerror(err,error)
36309  RETURN
36310 
36311  END SUBROUTINE cmfe_field_typesetobj
36312 
36313  !
36314  !================================================================================================================================
36315  !
36316 
36318  SUBROUTINE cmfe_field_variablelabelgetcnumber(regionUserNumber,fieldUserNumber,variableType,label,err)
36319  !DLLEXPORT(cmfe_Field_VariableLabelGetCNumber)
36320 
36321  !Argument variables
36322  INTEGER(INTG), INTENT(IN) :: regionUserNumber
36323  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
36324  INTEGER(INTG), INTENT(IN) :: variableType
36325  CHARACTER(LEN=*), INTENT(OUT) :: label
36326  INTEGER(INTG), INTENT(OUT) :: err
36327  !Local variables
36328  TYPE(field_type), POINTER :: FIELD
36329  TYPE(region_type), POINTER :: REGION
36330  TYPE(varying_string) :: localError
36331 
36332  enters("cmfe_Field_VariableLabelGetCNumber",err,error,*999)
36333 
36334  NULLIFY(region)
36335  NULLIFY(field)
36336  CALL region_user_number_find(regionusernumber,region,err,error,*999)
36337  IF(ASSOCIATED(region)) THEN
36338  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
36339  IF(ASSOCIATED(field)) THEN
36340  CALL field_variable_label_get(field,variabletype,label,err,error,*999)
36341  ELSE
36342  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
36343  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
36344  CALL flagerror(localerror,err,error,*999)
36345  END IF
36346  ELSE
36347  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
36348  CALL flagerror(localerror,err,error,*999)
36349  END IF
36350 
36351  exits("cmfe_Field_VariableLabelGetCNumber")
36352  RETURN
36353 999 errorsexits("cmfe_Field_VariableLabelGetCNumber",err,error)
36354  CALL cmfe_handleerror(err,error)
36355  RETURN
36356 
36357  END SUBROUTINE cmfe_field_variablelabelgetcnumber
36358 
36359  !
36360  !================================================================================================================================
36361  !
36362 
36364  SUBROUTINE cmfe_field_variablelabelgetcobj(field,variableType,label,err)
36365  !DLLEXPORT(cmfe_Field_VariableLabelGetCObj)
36366 
36367  !Argument variables
36368  TYPE(cmfe_fieldtype), INTENT(IN) :: field
36369  INTEGER(INTG), INTENT(IN) :: variableType
36370  CHARACTER(LEN=*), INTENT(OUT) :: label
36371  INTEGER(INTG), INTENT(OUT) :: err
36372  !Local variables
36373 
36374  enters("cmfe_Field_VariableLabelGetCObj",err,error,*999)
36375 
36376  CALL field_variable_label_get(field%field,variabletype,label,err,error,*999)
36377 
36378  exits("cmfe_Field_VariableLabelGetCObj")
36379  RETURN
36380 999 errorsexits("cmfe_Field_VariableLabelGetCObj",err,error)
36381  CALL cmfe_handleerror(err,error)
36382  RETURN
36383 
36384  END SUBROUTINE cmfe_field_variablelabelgetcobj
36385 
36386  !
36387  !================================================================================================================================
36388  !
36389 
36391  SUBROUTINE cmfe_field_variablelabelgetvsnumber(regionUserNumber,fieldUserNumber,variableType,label,err)
36392  !DLLEXPORT(cmfe_Field_VariableLabelGetVSNumber)
36393 
36394  !Argument variables
36395  INTEGER(INTG), INTENT(IN) :: regionUserNumber
36396  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
36397  INTEGER(INTG), INTENT(IN) :: variableType
36398  TYPE(varying_string), INTENT(OUT) :: label
36399  INTEGER(INTG), INTENT(OUT) :: err
36400  !Local variables
36401  TYPE(field_type), POINTER :: FIELD
36402  TYPE(region_type), POINTER :: REGION
36403  TYPE(varying_string) :: localError
36404 
36405  enters("cmfe_Field_VariableLabelGetVSNumber",err,error,*999)
36406 
36407  NULLIFY(region)
36408  NULLIFY(field)
36409  CALL region_user_number_find(regionusernumber,region,err,error,*999)
36410  IF(ASSOCIATED(region)) THEN
36411  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
36412  IF(ASSOCIATED(field)) THEN
36413  CALL field_variable_label_get(field,variabletype,label,err,error,*999)
36414  ELSE
36415  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
36416  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
36417  CALL flagerror(localerror,err,error,*999)
36418  END IF
36419  ELSE
36420  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
36421  CALL flagerror(localerror,err,error,*999)
36422  END IF
36423 
36424  exits("cmfe_Field_VariableLabelGetVSNumber")
36425  RETURN
36426 999 errorsexits("cmfe_Field_VariableLabelGetVSNumber",err,error)
36427  CALL cmfe_handleerror(err,error)
36428  RETURN
36429 
36431 
36432  !
36433  !================================================================================================================================
36434  !
36435 
36437  SUBROUTINE cmfe_field_variablelabelgetvsobj(field,variableType,label,err)
36438  !DLLEXPORT(cmfe_Field_VariableLabelGetVSObj)
36439 
36440  !Argument variables
36441  TYPE(cmfe_fieldtype), INTENT(IN) :: field
36442  INTEGER(INTG), INTENT(IN) :: variableType
36443  TYPE(varying_string), INTENT(OUT) :: label
36444  INTEGER(INTG), INTENT(OUT) :: err
36445  !Local variables
36446 
36447  enters("cmfe_Field_VariableLabelGetVSObj",err,error,*999)
36448 
36449  CALL field_variable_label_get(field%field,variabletype,label,err,error,*999)
36450 
36451  exits("cmfe_Field_VariableLabelGetVSObj")
36452  RETURN
36453 999 errorsexits("cmfe_Field_VariableLabelGetVSObj",err,error)
36454  CALL cmfe_handleerror(err,error)
36455  RETURN
36456 
36457  END SUBROUTINE cmfe_field_variablelabelgetvsobj
36458 
36459  !
36460  !================================================================================================================================
36461  !
36462 
36464  SUBROUTINE cmfe_field_variablelabelsetcnumber(regionUserNumber,fieldUserNumber,variableType,label,err)
36465  !DLLEXPORT(cmfe_Field_VariableLabelSetCNumber)
36466 
36467  !Argument variables
36468  INTEGER(INTG), INTENT(IN) :: regionUserNumber
36469  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
36470  INTEGER(INTG), INTENT(IN) :: variableType
36471  CHARACTER(LEN=*), INTENT(IN) :: label
36472  INTEGER(INTG), INTENT(OUT) :: err
36473  !Local variables
36474  TYPE(field_type), POINTER :: FIELD
36475  TYPE(region_type), POINTER :: REGION
36476  TYPE(varying_string) :: localError
36477 
36478  enters("cmfe_Field_VariableLabelSetCNumber",err,error,*999)
36479 
36480  NULLIFY(region)
36481  NULLIFY(field)
36482  CALL region_user_number_find(regionusernumber,region,err,error,*999)
36483  IF(ASSOCIATED(region)) THEN
36484  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
36485  IF(ASSOCIATED(field)) THEN
36486  CALL field_variable_label_set(field,variabletype,label,err,error,*999)
36487  ELSE
36488  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
36489  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
36490  CALL flagerror(localerror,err,error,*999)
36491  END IF
36492  ELSE
36493  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
36494  CALL flagerror(localerror,err,error,*999)
36495  END IF
36496 
36497  exits("cmfe_Field_VariableLabelSetCNumber")
36498  RETURN
36499 999 errorsexits("cmfe_Field_VariableLabelSetCNumber",err,error)
36500  CALL cmfe_handleerror(err,error)
36501  RETURN
36502 
36503  END SUBROUTINE cmfe_field_variablelabelsetcnumber
36504 
36505  !
36506  !================================================================================================================================
36507  !
36508 
36510  SUBROUTINE cmfe_field_variablelabelsetcobj(field,variableType,label,err)
36511  !DLLEXPORT(cmfe_Field_VariableLabelSetCObj)
36512 
36513  !Argument variables
36514  TYPE(cmfe_fieldtype), INTENT(IN) :: field
36515  INTEGER(INTG), INTENT(IN) :: variableType
36516  CHARACTER(LEN=*), INTENT(IN) :: label
36517  INTEGER(INTG), INTENT(OUT) :: err
36518  !Local variables
36519 
36520  enters("cmfe_Field_VariableLabelSetCObj",err,error,*999)
36521 
36522  CALL field_variable_label_set(field%field,variabletype,label,err,error,*999)
36523 
36524  exits("cmfe_Field_VariableLabelSetCObj")
36525  RETURN
36526 999 errorsexits("cmfe_Field_VariableLabelSetCObj",err,error)
36527  CALL cmfe_handleerror(err,error)
36528  RETURN
36529 
36530  END SUBROUTINE cmfe_field_variablelabelsetcobj
36531 
36532  !
36533  !================================================================================================================================
36534  !
36535 
36537  SUBROUTINE cmfe_field_variablelabelsetvsnumber(regionUserNumber,fieldUserNumber,variableType,label,err)
36538  !DLLEXPORT(cmfe_Field_VariableLabelSetVSNumber)
36539 
36540  !Argument variables
36541  INTEGER(INTG), INTENT(IN) :: regionUserNumber
36542  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
36543  INTEGER(INTG), INTENT(IN) :: variableType
36544  TYPE(varying_string), INTENT(IN) :: label
36545  INTEGER(INTG), INTENT(OUT) :: err
36546  !Local variables
36547  TYPE(field_type), POINTER :: FIELD
36548  TYPE(region_type), POINTER :: REGION
36549  TYPE(varying_string) :: localError
36550 
36551  enters("cmfe_Field_VariableLabelSetVSNumber",err,error,*999)
36552 
36553  NULLIFY(region)
36554  NULLIFY(field)
36555  CALL region_user_number_find(regionusernumber,region,err,error,*999)
36556  IF(ASSOCIATED(region)) THEN
36557  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
36558  IF(ASSOCIATED(field)) THEN
36559  CALL field_variable_label_set(field,variabletype,label,err,error,*999)
36560  ELSE
36561  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
36562  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
36563  CALL flagerror(localerror,err,error,*999)
36564  END IF
36565  ELSE
36566  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
36567  CALL flagerror(localerror,err,error,*999)
36568  END IF
36569 
36570  exits("cmfe_Field_VariableLabelSetVSNumber")
36571  RETURN
36572 999 errorsexits("cmfe_Field_VariableLabelSetVSNumber",err,error)
36573  CALL cmfe_handleerror(err,error)
36574  RETURN
36575 
36577 
36578  !
36579  !================================================================================================================================
36580  !
36581 
36583  SUBROUTINE cmfe_field_variablelabelsetvsobj(field,variableType,label,err)
36584  !DLLEXPORT(cmfe_Field_VariableLabelSetVSObj)
36585 
36586  !Argument variables
36587  TYPE(cmfe_fieldtype), INTENT(IN) :: field
36588  INTEGER(INTG), INTENT(IN) :: variableType
36589  TYPE(varying_string), INTENT(IN) :: label
36590  INTEGER(INTG), INTENT(OUT) :: err
36591  !Local variables
36592 
36593  enters("cmfe_Field_VariableLabelSetVSObj",err,error,*999)
36594 
36595  CALL field_variable_label_set(field%field,variabletype,label,err,error,*999)
36596 
36597  exits("cmfe_Field_VariableLabelSetVSObj")
36598  RETURN
36599 999 errorsexits("cmfe_Field_VariableLabelSetVSObj",err,error)
36600  CALL cmfe_handleerror(err,error)
36601  RETURN
36602 
36603  END SUBROUTINE cmfe_field_variablelabelsetvsobj
36604 
36605  !
36606  !================================================================================================================================
36607  !
36608 
36610  SUBROUTINE cmfe_field_variabletypesgetnumber(regionUserNumber,fieldUserNumber,variableTypes,err)
36611  !DLLEXPORT(cmfe_Field_VariableTypesGetNumber)
36612 
36613  !Argument variables
36614  INTEGER(INTG), INTENT(IN) :: regionUserNumber
36615  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
36616  INTEGER(INTG), INTENT(OUT) :: variableTypes(:)
36617  INTEGER(INTG), INTENT(OUT) :: err
36618  !Local variables
36619  TYPE(field_type), POINTER :: FIELD
36620  TYPE(region_type), POINTER :: REGION
36621  TYPE(varying_string) :: localError
36622 
36623  enters("cmfe_Field_VariableTypesGetNumber",err,error,*999)
36624 
36625  NULLIFY(region)
36626  NULLIFY(field)
36627  CALL region_user_number_find(regionusernumber,region,err,error,*999)
36628  IF(ASSOCIATED(region)) THEN
36629  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
36630  IF(ASSOCIATED(field)) THEN
36631  CALL field_variable_types_get(field,variabletypes,err,error,*999)
36632  ELSE
36633  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
36634  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
36635  CALL flagerror(localerror,err,error,*999)
36636  END IF
36637  ELSE
36638  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
36639  CALL flagerror(localerror,err,error,*999)
36640  END IF
36641 
36642  exits("cmfe_Field_VariableTypesGetNumber")
36643  RETURN
36644 999 errorsexits("cmfe_Field_VariableTypesGetNumber",err,error)
36645  CALL cmfe_handleerror(err,error)
36646  RETURN
36647 
36648  END SUBROUTINE cmfe_field_variabletypesgetnumber
36649 
36650  !
36651  !================================================================================================================================
36652  !
36653 
36655  SUBROUTINE cmfe_field_variabletypesgetobj(field,variableTypes,err)
36656  !DLLEXPORT(cmfe_Field_VariableTypesGetObj)
36657 
36658  !Argument variables
36659  TYPE(cmfe_fieldtype), INTENT(IN) :: field
36660  INTEGER(INTG), INTENT(OUT) :: variableTypes(:)
36661  INTEGER(INTG), INTENT(OUT) :: err
36662  !Local variables
36663 
36664  enters("cmfe_Field_VariableTypesGetObj",err,error,*999)
36665 
36666  CALL field_variable_types_get(field%field,variabletypes,err,error,*999)
36667 
36668  exits("cmfe_Field_VariableTypesGetObj")
36669  RETURN
36670 999 errorsexits("cmfe_Field_VariableTypesGetObj",err,error)
36671  CALL cmfe_handleerror(err,error)
36672  RETURN
36673 
36674  END SUBROUTINE cmfe_field_variabletypesgetobj
36675 
36676  !
36677  !================================================================================================================================
36678  !
36679 
36681  SUBROUTINE cmfe_field_variabletypessetnumber(regionUserNumber,fieldUserNumber,variableTypes,err)
36682  !DLLEXPORT(cmfe_Field_VariableTypesSetNumber)
36683 
36684  !Argument variables
36685  INTEGER(INTG), INTENT(IN) :: regionUserNumber
36686  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
36687  INTEGER(INTG), INTENT(IN) :: variableTypes(:)
36688  INTEGER(INTG), INTENT(OUT) :: err
36689  !Local variables
36690  TYPE(field_type), POINTER :: FIELD
36691  TYPE(region_type), POINTER :: REGION
36692  TYPE(varying_string) :: localError
36693 
36694  enters("cmfe_Field_VariableTypesSetNumber",err,error,*999)
36695 
36696  NULLIFY(region)
36697  NULLIFY(field)
36698  CALL region_user_number_find(regionusernumber,region,err,error,*999)
36699  IF(ASSOCIATED(region)) THEN
36700  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
36701  IF(ASSOCIATED(field)) THEN
36702  CALL field_variable_types_set(field,variabletypes,err,error,*999)
36703  ELSE
36704  localerror="A field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
36705  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
36706  CALL flagerror(localerror,err,error,*999)
36707  END IF
36708  ELSE
36709  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
36710  CALL flagerror(localerror,err,error,*999)
36711  END IF
36712 
36713  exits("cmfe_Field_VariableTypesSetNumber")
36714  RETURN
36715 999 errorsexits("cmfe_Field_VariableTypesSetNumber",err,error)
36716  CALL cmfe_handleerror(err,error)
36717  RETURN
36718 
36719  END SUBROUTINE cmfe_field_variabletypessetnumber
36720 
36721  !
36722  !================================================================================================================================
36723  !
36724 
36726  SUBROUTINE cmfe_field_variabletypessetobj(field,variableTypes,err)
36727  !DLLEXPORT(cmfe_Field_VariableTypesSetObj)
36728 
36729  !Argument variables
36730  TYPE(cmfe_fieldtype), INTENT(IN) :: field
36731  INTEGER(INTG), INTENT(IN) :: variableTypes(:)
36732  INTEGER(INTG), INTENT(OUT) :: err
36733  !Local variables
36734 
36735  enters("cmfe_Field_VariableTypesSetObj",err,error,*999)
36736 
36737  CALL field_variable_types_set(field%field,variabletypes,err,error,*999)
36738 
36739  exits("cmfe_Field_VariableTypesSetObj")
36740  RETURN
36741 999 errorsexits("cmfe_Field_VariableTypesSetObj",err,error)
36742  CALL cmfe_handleerror(err,error)
36743  RETURN
36744 
36745  END SUBROUTINE cmfe_field_variabletypessetobj
36746 
36747 !!==================================================================================================================================
36748 !!
36749 !! FIELD_IO_ROUTINES
36750 !!
36751 !!==================================================================================================================================
36752 
36754  SUBROUTINE cmfe_fields_elementsexportccobj(fields,fileName,method,err)
36755  !DLLEXPORT(cmfe_Fields_ElementsExportCCObj)
36756 
36757  !Argument variables
36758  TYPE(cmfe_fieldstype), INTENT(INOUT) :: fields
36759  CHARACTER(LEN=*), INTENT(IN) :: fileName
36760  CHARACTER(LEN=*), INTENT(IN):: method
36761  INTEGER(INTG), INTENT(OUT) :: err
36762  !Local variables
36763  TYPE(varying_string) :: VFileName
36764  TYPE(varying_string) :: VMethod
36765  INTEGER(INTG) :: FileNameLength
36766  INTEGER(INTG) :: MethodLength
36767 
36768  enters("cmfe_Fields_ElementsExportCCObj",err,error,*999)
36769 
36770  filenamelength = len_trim(filename)
36771  vfilename = filename(1:filenamelength)
36772  methodlength = len_trim(method)
36773  vmethod = method(1:methodlength)
36774 
36775  CALL field_io_elements_export(fields%fields,vfilename,vmethod,err,error,*999)
36776 
36777  exits("cmfe_Fields_ElementsExportCCObj")
36778  RETURN
36779 999 errorsexits("cmfe_Fields_ElementsExportCCObj",err,error)
36780  CALL cmfe_handleerror(err,error)
36781  RETURN
36782 
36783  END SUBROUTINE cmfe_fields_elementsexportccobj
36784 
36785  !
36786  !================================================================================================================================
36787  !
36788 
36789 
36791  SUBROUTINE cmfe_fields_elementsexportvscobj(fields,fileName,method,err)
36792  !DLLEXPORT(cmfe_Fields_ElementsExportVSCObj)
36793 
36794  !Argument variables
36795  TYPE(cmfe_fieldstype), INTENT(INOUT) :: fields
36796  TYPE(varying_string), INTENT(IN) :: fileName
36797  CHARACTER(LEN=*), INTENT(IN):: method
36798  INTEGER(INTG), INTENT(OUT) :: err
36799  !Local variables
36800  TYPE(varying_string) :: VMethod
36801  INTEGER(INTG) :: MethodLength
36802 
36803  enters("cmfe_Fields_ElementsExportVSCObj",err,error,*999)
36804 
36805  methodlength = len_trim(method)
36806  vmethod = method(1:methodlength)
36807 
36808  CALL field_io_elements_export(fields%fields,filename,vmethod,err,error,*999)
36809 
36810  exits("cmfe_Fields_ElementsExportVSCObj")
36811  RETURN
36812 999 errorsexits("cmfe_Fields_ElementsExportVSCObj",err,error)
36813  CALL cmfe_handleerror(err,error)
36814  RETURN
36815 
36816  END SUBROUTINE cmfe_fields_elementsexportvscobj
36817 
36818  !
36819  !================================================================================================================================
36820  !
36821 
36822 
36824  SUBROUTINE cmfe_fields_elementsexportcvsobj(fields,fileName,method,err)
36825  !DLLEXPORT(cmfe_Fields_ElementsExportCVSObj)
36826 
36827  !Argument variables
36828  TYPE(cmfe_fieldstype), INTENT(INOUT) :: fields
36829  CHARACTER(LEN=*), INTENT(IN) :: fileName
36830  TYPE(varying_string), INTENT(IN):: method
36831  INTEGER(INTG), INTENT(OUT) :: err
36832  !Local variables
36833  TYPE(varying_string) :: VFileName
36834  INTEGER(INTG) :: FileNameLength
36835 
36836  enters("cmfe_Fields_ElementsExportCVSObj",err,error,*999)
36837 
36838  filenamelength = len_trim(filename)
36839  vfilename = filename(1:filenamelength)
36840 
36841  CALL field_io_elements_export(fields%fields,vfilename,method,err,error,*999)
36842 
36843  exits("cmfe_Fields_ElementsExportCVSObj")
36844  RETURN
36845 999 errorsexits("cmfe_Fields_ElementsExportCVSObj",err,error)
36846  CALL cmfe_handleerror(err,error)
36847  RETURN
36848 
36849  END SUBROUTINE cmfe_fields_elementsexportcvsobj
36850 
36851  !
36852  !================================================================================================================================
36853  !
36854 
36856  SUBROUTINE cmfe_fields_elementsexportvsvsobj(fields,fileName,method,err)
36857  !DLLEXPORT(cmfe_Fields_ElementsExportVSVSObj)
36858 
36859  !Argument variables
36860  TYPE(cmfe_fieldstype), INTENT(INOUT) :: fields
36861  TYPE(varying_string), INTENT(IN) :: fileName
36862  TYPE(varying_string), INTENT(IN):: method
36863  INTEGER(INTG), INTENT(OUT) :: err
36864  !Local variables
36865 
36866  enters("cmfe_Fields_ElementsExportVSVSObj",err,error,*999)
36867 
36868  CALL field_io_elements_export(fields%fields,filename,method,err,error,*999)
36869 
36870  exits("cmfe_Fields_ElementsExportVSVSObj")
36871  RETURN
36872 999 errorsexits("cmfe_FieldIOElementsExportVSObj",err,error)
36873  CALL cmfe_handleerror(err,error)
36874  RETURN
36875 
36876  END SUBROUTINE cmfe_fields_elementsexportvsvsobj
36877 
36878  !
36879  !================================================================================================================================
36880  !
36881 
36883  SUBROUTINE cmfe_fields_nodesexportccobj(fields,fileName,method,err)
36884  !DLLEXPORT(cmfe_Fields_NodesExportCCObj)
36885 
36886  !Argument variables
36887  TYPE(cmfe_fieldstype), INTENT(INOUT) :: fields
36888  CHARACTER(LEN=*), INTENT(IN) :: fileName
36889  CHARACTER(LEN=*), INTENT(IN):: method
36890  INTEGER(INTG), INTENT(OUT) :: err
36891  !Local variables
36892  TYPE(varying_string) :: VFileName
36893  TYPE(varying_string) :: VMethod
36894  INTEGER(INTG) :: FileNameLength
36895  INTEGER(INTG) :: MethodLength
36896 
36897  enters("cmfe_Fields_NodesExportCCObj",err,error,*999)
36898 
36899  filenamelength = len_trim(filename)
36900  vfilename = filename(1:filenamelength)
36901  methodlength = len_trim(method)
36902  vmethod = method(1:methodlength)
36903 
36904  CALL field_io_nodes_export(fields%fields,vfilename,vmethod,err,error,*999)
36905 
36906  exits("cmfe_Fields_NodesExportCCObj")
36907  RETURN
36908 999 errorsexits("cmfe_Fields_NodesExportCCObj",err,error)
36909  CALL cmfe_handleerror(err,error)
36910  RETURN
36911 
36912  END SUBROUTINE cmfe_fields_nodesexportccobj
36913 
36914  !
36915  !================================================================================================================================
36916  !
36917 
36919  SUBROUTINE cmfe_fields_nodesexportvscobj(fields,fileName,method,err)
36920  !DLLEXPORT(cmfe_Fields_NodesExportVSCObj)
36921 
36922  !Argument variables
36923  TYPE(cmfe_fieldstype), INTENT(INOUT) :: fields
36924  TYPE(varying_string), INTENT(IN) :: fileName
36925  CHARACTER(LEN=*), INTENT(IN):: method
36926  INTEGER(INTG), INTENT(OUT) :: err
36927  !Local variables
36928  TYPE(varying_string) :: VMethod
36929  INTEGER(INTG) :: MethodLength
36930 
36931  enters("cmfe_Fields_NodesExportVSCObj",err,error,*999)
36932 
36933  methodlength = len_trim(method)
36934  vmethod = method(1:methodlength)
36935 
36936  CALL field_io_nodes_export(fields%fields,filename,vmethod,err,error,*999)
36937 
36938  exits("cmfe_Fields_NodesExportVSCObj")
36939  RETURN
36940 999 errorsexits("cmfe_Fields_NodesExportVSCObj",err,error)
36941  CALL cmfe_handleerror(err,error)
36942  RETURN
36943 
36944  END SUBROUTINE cmfe_fields_nodesexportvscobj
36945 
36946  !
36947  !================================================================================================================================
36948  !
36949 
36951  SUBROUTINE cmfe_fields_nodesexportcvsobj(fields,fileName,method,err)
36952  !DLLEXPORT(cmfe_Fields_NodesExportCVSObj)
36953 
36954  !Argument variables
36955  TYPE(cmfe_fieldstype), INTENT(INOUT) :: fields
36956  CHARACTER(LEN=*), INTENT(IN) :: fileName
36957  TYPE(varying_string), INTENT(IN):: method
36958  INTEGER(INTG), INTENT(OUT) :: err
36959  !Local variables
36960  TYPE(varying_string) :: VFileName
36961  INTEGER(INTG) :: FileNameLength
36962 
36963  enters("cmfe_Fields_NodesExportCVSObj",err,error,*999)
36964 
36965  filenamelength = len_trim(filename)
36966  vfilename = filename(1:filenamelength)
36967 
36968  CALL field_io_nodes_export(fields%fields,vfilename,method,err,error,*999)
36969 
36970  exits("cmfe_Fields_NodesExportCVSObj")
36971  RETURN
36972 999 errorsexits("cmfe_Fields_NodesExportCVSObj",err,error)
36973  CALL cmfe_handleerror(err,error)
36974  RETURN
36975 
36976  END SUBROUTINE cmfe_fields_nodesexportcvsobj
36977 
36978  !
36979  !================================================================================================================================
36980  !
36981 
36983  SUBROUTINE cmfe_fields_nodesexportvsvsobj(fields,fileName,method,err)
36984  !DLLEXPORT(cmfe_Fields_NodesExportVSVSObj)
36985 
36986  !Argument variables
36987  TYPE(cmfe_fieldstype), INTENT(INOUT) :: fields
36988  TYPE(varying_string), INTENT(IN) :: fileName
36989  TYPE(varying_string), INTENT(IN):: method
36990  INTEGER(INTG), INTENT(OUT) :: err
36991  !Local variables
36992 
36993  enters("cmfe_Fields_NodesExportVSVSObj",err,error,*999)
36994 
36995  CALL field_io_nodes_export(fields%fields,filename,method,err,error,*999)
36996 
36997  exits("cmfe_Fields_NodesExportVSVSObj")
36998  RETURN
36999 999 errorsexits("cmfe_Fields_NodesExportVSVSObj",err,error)
37000  CALL cmfe_handleerror(err,error)
37001  RETURN
37002 
37003  END SUBROUTINE cmfe_fields_nodesexportvsvsobj
37004 
37005 !!==================================================================================================================================
37006 !!
37007 !! GENERATED_MESH_ROUTINES
37008 !!
37009 !!==================================================================================================================================
37010 
37012  SUBROUTINE cmfe_generatedmesh_basisgetnumber(regionUserNumber,generatedMeshUserNumber,basisUserNumbers,err)
37013  !DLLEXPORT(cmfe_GeneratedMesh_BasisGetNumber)
37014 
37015  !Argument variables
37016  INTEGER(INTG), INTENT(IN) :: regionUserNumber
37017  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
37018  INTEGER(INTG), INTENT(INOUT) :: basisUserNumbers(:)
37019  INTEGER(INTG), INTENT(OUT) :: err
37020  !Local variables
37021  TYPE(basis_ptr_type), POINTER :: BASES(:)
37022  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
37023  TYPE(region_type), POINTER :: REGION
37024  TYPE(varying_string) :: localError
37025  INTEGER(INTG) :: basis_idx,NumBases
37026 
37027  enters("cmfe_GeneratedMesh_BasisGetNumber",err,error,*999)
37028 
37029  NULLIFY(region)
37030  NULLIFY(generated_mesh)
37031  NULLIFY(bases)
37032 
37033  CALL region_user_number_find(regionusernumber,region,err,error,*999)
37034  IF(ASSOCIATED(region)) THEN
37035  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
37036  IF(ASSOCIATED(generated_mesh)) THEN
37037  CALL generated_mesh_basis_get(generated_mesh,bases,err,error,*999)
37038  IF(ASSOCIATED(bases)) THEN
37039  numbases=SIZE(bases)
37040  IF(SIZE(basisusernumbers)<numbases) THEN
37041  localerror="The basis user numbers array must have a size of at least "// &
37042  & trim(numbertovstring(numbases,"*",err,error))// &
37043  & ". However, it has a size of " &
37044  & //trim(numbertovstring(SIZE(basisusernumbers),"*",err,error))//"."
37045  CALL flagerror(localerror,err,error,*999)
37046  END IF
37047  DO basis_idx=1,numbases
37048  IF(ASSOCIATED(bases(basis_idx)%PTR)) THEN
37049  basisusernumbers(basis_idx)=bases(basis_idx)%PTR%USER_NUMBER
37050  ELSE
37051  localerror="The basis with index "//trim(numbertovstring(basis_idx,"*",err,error))// &
37052  & " is not associated for the generated mesh with a user number of "// &
37053  & trim(numbertovstring(generatedmeshusernumber,"*",err,error))//"."
37054  CALL flagerror(localerror,err,error,*999)
37055  END IF
37056  END DO
37057  ELSE
37058  localerror="The bases are not associated for the generated mesh with a user number of "// &
37059  & trim(numbertovstring(generatedmeshusernumber,"*",err,error))//"."
37060  CALL flagerror(localerror,err,error,*999)
37061  END IF
37062  ELSE
37063  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
37064  & " does not exist on the region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
37065  CALL flagerror(localerror,err,error,*999)
37066  END IF
37067  ELSE
37068  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
37069  & " does not exist."
37070  CALL flagerror(localerror,err,error,*999)
37071  END IF
37072 
37073  exits("cmfe_GeneratedMesh_BasisGetNumber")
37074  RETURN
37075 999 errorsexits("cmfe_GeneratedMesh_BasisGetNumber",err,error)
37076  CALL cmfe_handleerror(err,error)
37077  RETURN
37078 
37079  END SUBROUTINE cmfe_generatedmesh_basisgetnumber
37080 
37081  !
37082  !================================================================================================================================
37083  !
37084 
37086  SUBROUTINE cmfe_generatedmesh_basisgetobj(generatedMesh,bases,err)
37087  !DLLEXPORT(cmfe_GeneratedMesh_BasisGetObj)
37088 
37089  !Argument variables
37090  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
37091  TYPE(cmfe_basistype), INTENT(INOUT) :: bases(:)
37092  INTEGER(INTG), INTENT(OUT) :: err
37093  !Local variables
37094  TYPE(basis_ptr_type), POINTER :: BASIS_PTRS(:)
37095  INTEGER(INTG) :: basis_idx,NumBases
37096  TYPE(varying_string) :: localError
37097 
37098  enters("cmfe_GeneratedMesh_BasisGetObj",err,error,*999)
37099 
37100  NULLIFY(basis_ptrs)
37101 
37102  CALL generated_mesh_basis_get(generatedmesh%generatedMesh,basis_ptrs,err,error,*999)
37103  IF(ASSOCIATED(basis_ptrs)) THEN
37104  numbases=SIZE(basis_ptrs)
37105  IF(SIZE(bases)<numbases) THEN
37106  localerror="The bases array must have a size of at least "// &
37107  & trim(numbertovstring(numbases,"*",err,error))// &
37108  & ". However, it has a size of " &
37109  & //trim(numbertovstring(SIZE(bases),"*",err,error))//"."
37110  CALL flagerror(localerror,err,error,*999)
37111  END IF
37112  DO basis_idx=1,numbases
37113  bases(basis_idx)%basis=>basis_ptrs(basis_idx)%PTR
37114  END DO
37115  ELSE
37116  localerror="The bases are not associated for the generated mesh."
37117  CALL flagerror(localerror,err,error,*999)
37118  END IF
37119 
37120  exits("cmfe_GeneratedMesh_BasisGetObj")
37121  RETURN
37122 999 errorsexits("cmfe_GeneratedMesh_BasisGetObj",err,error)
37123  CALL cmfe_handleerror(err,error)
37124  RETURN
37125 
37126  END SUBROUTINE cmfe_generatedmesh_basisgetobj
37127 
37128  !
37129  !================================================================================================================================
37130  !
37131 
37133  SUBROUTINE cmfe_generatedmesh_basissetnumber0(regionUserNumber,generatedMeshUserNumber,basisUserNumber,err)
37134  !DLLEXPORT(cmfe_GeneratedMesh_BasisSetNumber0)
37135 
37136  !Argument variables
37137  INTEGER(INTG), INTENT(IN) :: regionUserNumber
37138  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
37139  INTEGER(INTG), INTENT(IN) :: basisUserNumber
37140  INTEGER(INTG), INTENT(OUT) :: err
37141  !Local variables
37142  TYPE(basis_ptr_type), POINTER :: BASES(:)
37143  TYPE(basis_type), POINTER :: BASIS
37144  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
37145  TYPE(region_type), POINTER :: REGION
37146  TYPE(varying_string) :: localError
37147 
37148  enters("cmfe_GeneratedMesh_BasisSetNumber0",err,error,*999)
37149 
37150  NULLIFY(region)
37151  NULLIFY(generated_mesh)
37152  NULLIFY(basis)
37153 
37154  CALL region_user_number_find(regionusernumber,region,err,error,*999)
37155  IF(ASSOCIATED(region)) THEN
37156  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
37157  IF(ASSOCIATED(generated_mesh)) THEN
37158  CALL basis_user_number_find(basisusernumber,basis,err,error,*999)
37159  IF(ASSOCIATED(basis)) THEN
37160  ALLOCATE(bases(1),stat=err)
37161  IF(err/=0) CALL flagerror("Could not allocate bases.",err,error,*999)
37162  bases(1)%PTR=>basis
37163  CALL generated_mesh_basis_set(generated_mesh,bases,err,error,*999)
37164  ELSE
37165  localerror="A basis with an user number of "//trim(numbertovstring(basisusernumber,"*",err,error))// &
37166  & " does not exist."
37167  CALL flagerror(localerror,err,error,*999)
37168  END IF
37169  ELSE
37170  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
37171  & " does not exist on the region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
37172  CALL flagerror(localerror,err,error,*999)
37173  END IF
37174  ELSE
37175  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
37176  & " does not exist."
37177  CALL flagerror(localerror,err,error,*999)
37178  END IF
37179 
37180  exits("cmfe_GeneratedMesh_BasisSetNumber0")
37181  RETURN
37182 999 errorsexits("cmfe_GeneratedMesh_BasisSetNumber0",err,error)
37183  CALL cmfe_handleerror(err,error)
37184  RETURN
37185 
37186  END SUBROUTINE cmfe_generatedmesh_basissetnumber0
37187 
37188  !
37189  !================================================================================================================================
37190  !
37191 
37193  SUBROUTINE cmfe_generatedmesh_basissetnumber1(regionUserNumber,generatedMeshUserNumber,basisUserNumbers,err)
37194  !DLLEXPORT(cmfe_GeneratedMesh_BasisSetNumber1)
37195 
37196  !Argument variables
37197  INTEGER(INTG), INTENT(IN) :: regionUserNumber
37198  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
37199  INTEGER(INTG), INTENT(IN) :: basisUserNumbers(:)
37200  INTEGER(INTG), INTENT(OUT) :: err
37201  !Local variables
37202  TYPE(basis_ptr_type), POINTER :: BASES(:)
37203  TYPE(basis_type), POINTER :: BASIS
37204  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
37205  TYPE(region_type), POINTER :: REGION
37206  TYPE(varying_string) :: localError
37207  INTEGER(INTG) :: basis_idx,NumBases
37208 
37209  enters("cmfe_GeneratedMesh_BasisSetNumber1",err,error,*999)
37210 
37211  NULLIFY(region)
37212  NULLIFY(generated_mesh)
37213  NULLIFY(bases)
37214 
37215  numbases=SIZE(basisusernumbers)
37216  ALLOCATE(bases(numbases),stat=err)
37217  IF(err/=0) CALL flagerror("Could not allocate bases.",err,error,*999)
37218 
37219  CALL region_user_number_find(regionusernumber,region,err,error,*999)
37220  IF(ASSOCIATED(region)) THEN
37221  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
37222  IF(ASSOCIATED(generated_mesh)) THEN
37223  DO basis_idx=1,numbases
37224  NULLIFY(basis)
37225  CALL basis_user_number_find(basisusernumbers(basis_idx),basis,err,error,*999)
37226  IF(ASSOCIATED(basis)) THEN
37227  bases(basis_idx)%PTR=>basis
37228  ELSE
37229  localerror="A basis with an user number of "//trim(numbertovstring(basisusernumbers(basis_idx),"*",err,error))// &
37230  & " does not exist."
37231  CALL flagerror(localerror,err,error,*999)
37232  END IF
37233  END DO
37234  CALL generated_mesh_basis_set(generated_mesh,bases,err,error,*999)
37235  ELSE
37236  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
37237  & " does not exist on the region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
37238  CALL flagerror(localerror,err,error,*999)
37239  END IF
37240  ELSE
37241  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
37242  & " does not exist."
37243  CALL flagerror(localerror,err,error,*999)
37244  END IF
37245 
37246  exits("cmfe_GeneratedMesh_BasisSetNumber1")
37247  RETURN
37248 999 errorsexits("cmfe_GeneratedMesh_BasisSetNumber1",err,error)
37249  CALL cmfe_handleerror(err,error)
37250  RETURN
37251 
37252  END SUBROUTINE cmfe_generatedmesh_basissetnumber1
37253 
37254  !
37255  !================================================================================================================================
37256  !
37257 
37259  SUBROUTINE cmfe_generatedmesh_basissetobj0(generatedMesh,basis,err)
37260  !DLLEXPORT(cmfe_GeneratedMesh_BasisSetObj0)
37261 
37262  !Argument variables
37263  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
37264  TYPE(cmfe_basistype), INTENT(IN) :: basis
37265  INTEGER(INTG), INTENT(OUT) :: err
37266  !Local variables
37267 
37268  enters("cmfe_GeneratedMesh_BasisSetObj0",err,error,*999)
37269 
37270  CALL cmfe_generatedmesh_basissetobj1(generatedmesh,[basis],err)
37271 
37272  exits("cmfe_GeneratedMesh_BasisSetObj0")
37273  RETURN
37274 999 errorsexits("cmfe_GeneratedMesh_BasisSetObj0",err,error)
37275  CALL cmfe_handleerror(err,error)
37276  RETURN
37277 
37278  END SUBROUTINE cmfe_generatedmesh_basissetobj0
37279 
37280  !
37281  !================================================================================================================================
37282  !
37283 
37285  SUBROUTINE cmfe_generatedmesh_basissetobj1(generatedMesh,bases,err)
37286  !DLLEXPORT(cmfe_GeneratedMesh_BasisSetObj1)
37287 
37288  !Argument variables
37289  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
37290  TYPE(cmfe_basistype), INTENT(IN) :: bases(:)
37291  INTEGER(INTG), INTENT(OUT) :: err
37292  !Local variables
37293  INTEGER(INTG) :: basis_idx
37294  TYPE(basis_ptr_type), ALLOCATABLE :: BASIS_PTRS(:)
37295  TYPE(varying_string) :: localError
37296 
37297  enters("cmfe_GeneratedMesh_BasisSetObj1",err,error,*999)
37298 
37299  ALLOCATE(basis_ptrs(SIZE(bases,1)),stat=err)
37300  IF(err/=0) CALL flagerror("Could not allocate bases.",err,error,*999)
37301  DO basis_idx=1,SIZE(bases,1)
37302  IF(ASSOCIATED(bases(basis_idx)%basis)) THEN
37303  basis_ptrs(basis_idx)%PTR=>bases(basis_idx)%basis
37304  ELSE
37305  localerror="The basis for index "//trim(numbertovstring(basis_idx,"*",err,error))//" is not associated."
37306  CALL flagerror(localerror,err,error,*999)
37307  END IF
37308  END DO
37309 
37310  CALL generated_mesh_basis_set(generatedmesh%generatedMesh,basis_ptrs,err,error,*999)
37311 
37312  exits("cmfe_GeneratedMesh_BasisSetObj1")
37313  RETURN
37314 999 errorsexits("cmfe_GeneratedMesh_BasisSetObj1",err,error)
37315  CALL cmfe_handleerror(err,error)
37316  RETURN
37317 
37318  END SUBROUTINE cmfe_generatedmesh_basissetobj1
37319 
37320  !
37321  !================================================================================================================================
37322  !
37323 
37325  SUBROUTINE cmfe_generatedmesh_basevectorssetnumber(regionUserNumber,generatedMeshUserNumber,baseVectors,err)
37326  !DLLEXPORT(cmfe_GeneratedMesh_BaseVectorsSetNumber)
37327 
37328  !Argument variables
37329  INTEGER(INTG), INTENT(IN) :: regionUserNumber
37330  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
37331  REAL(DP), INTENT(IN) :: baseVectors(:,:)
37332  INTEGER(INTG), INTENT(OUT) :: err
37333  !Local variables
37334  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
37335  TYPE(region_type), POINTER :: REGION
37336  TYPE(varying_string) :: localError
37337 
37338  enters("cmfe_GeneratedMesh_BaseVectorsSetNumber",err,error,*999)
37339 
37340  NULLIFY(region)
37341  NULLIFY(generated_mesh)
37342  CALL region_user_number_find(regionusernumber,region,err,error,*999)
37343  IF(ASSOCIATED(region)) THEN
37344  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
37345  IF(ASSOCIATED(generated_mesh)) THEN
37346  CALL generated_mesh_base_vectors_set(generated_mesh,basevectors,err,error,*999)
37347  ELSE
37348  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
37349  & " does not exist on the region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
37350  CALL flagerror(localerror,err,error,*999)
37351  END IF
37352  ELSE
37353  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
37354  & " does not exist."
37355  CALL flagerror(localerror,err,error,*999)
37356  END IF
37357 
37358  exits("cmfe_GeneratedMesh_BaseVectorsSetNumber")
37359  RETURN
37360 999 errorsexits("cmfe_GeneratedMesh_BaseVectorsSetNumber",err,error)
37361  CALL cmfe_handleerror(err,error)
37362  RETURN
37363 
37365 
37366  !
37367  !================================================================================================================================
37368  !
37369 
37371  SUBROUTINE cmfe_generatedmesh_basevectorssetobj(generatedMesh,baseVectors,err)
37372  !DLLEXPORT(cmfe_GeneratedMesh_BaseVectorsSetObj)
37373 
37374  !Argument variables
37375  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
37376  REAL(DP), INTENT(IN) :: baseVectors(:,:)
37377  INTEGER(INTG), INTENT(OUT) :: err
37378  !Local variables
37379 
37380  enters("cmfe_GeneratedMesh_BaseVectorsSetObj",err,error,*999)
37381 
37382  CALL generated_mesh_base_vectors_set(generatedmesh%generatedMesh,basevectors,err,error,*999)
37383 
37384  exits("cmfe_GeneratedMesh_BaseVectorsSetObj")
37385  RETURN
37386 999 errorsexits("cmfe_GeneratedMesh_BaseVectorsSetObj",err,error)
37387  CALL cmfe_handleerror(err,error)
37388  RETURN
37389 
37391 
37392  !
37393  !================================================================================================================================
37394  !
37395 
37397  SUBROUTINE cmfe_generatedmesh_createfinishnumber(regionUserNumber,generatedMeshUserNumber,meshUserNumber,err)
37398  !DLLEXPORT(cmfe_GeneratedMesh_CreateFinishNumber)
37399 
37400  !Argument variables
37401  INTEGER(INTG), INTENT(IN) :: regionUserNumber
37402  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
37403  INTEGER(INTG), INTENT(IN) :: meshUserNumber
37404  INTEGER(INTG), INTENT(OUT) :: err
37405  !Local variables
37406  TYPE(mesh_type), POINTER :: MESH
37407  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
37408  TYPE(region_type), POINTER :: REGION
37409  TYPE(varying_string) :: localError
37410 
37411  enters("cmfe_GeneratedMesh_CreateFinishNumber",err,error,*999)
37412 
37413  NULLIFY(region)
37414  NULLIFY(generated_mesh)
37415  NULLIFY(mesh)
37416  CALL region_user_number_find(regionusernumber,region,err,error,*999)
37417  IF(ASSOCIATED(region)) THEN
37418  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
37419  IF(ASSOCIATED(generated_mesh)) THEN
37420  CALL generated_mesh_create_finish(generated_mesh,meshusernumber,mesh,err,error,*999)
37421  ELSE
37422  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
37423  & " does not exist on the region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
37424  CALL flagerror(localerror,err,error,*999)
37425  END IF
37426  ELSE
37427  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
37428  & " does not exist."
37429  CALL flagerror(localerror,err,error,*999)
37430  END IF
37431 
37432 #ifdef TAUPROF
37433  CALL tau_static_phase_stop('Generated Mesh Create')
37434 #endif
37435 
37436  exits("cmfe_GeneratedMesh_CreateFinishNumber")
37437  RETURN
37438 999 errorsexits("cmfe_GeneratedMesh_CreateFinishNumber",err,error)
37439  CALL cmfe_handleerror(err,error)
37440  RETURN
37441 
37443 
37444  !
37445  !================================================================================================================================
37446  !
37447 
37449  SUBROUTINE cmfe_generatedmesh_createfinishobj(generatedMesh,meshUserNumber,mesh,err)
37450  !DLLEXPORT(cmfe_GeneratedMesh_CreateFinishObj)
37451 
37452  !Argument variables
37453  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
37454  INTEGER(INTG), INTENT(IN) :: meshUserNumber
37455  TYPE(cmfe_meshtype), INTENT(INOUT) :: mesh
37456  INTEGER(INTG), INTENT(OUT) :: err
37457  !Local variables
37458 
37459  enters("cmfe_GeneratedMesh_CreateFinishObj",err,error,*999)
37460 
37461  CALL generated_mesh_create_finish(generatedmesh%generatedMesh,meshusernumber,mesh%mesh,err,error,*999)
37462 
37463 #ifdef TAUPROF
37464  CALL tau_static_phase_stop('Generated Mesh Create')
37465 #endif
37466 
37467  exits("cmfe_GeneratedMesh_CreateFinishObj")
37468  RETURN
37469 999 errorsexits("cmfe_GeneratedMesh_CreateFinishObj",err,error)
37470  CALL cmfe_handleerror(err,error)
37471  RETURN
37472 
37473  END SUBROUTINE cmfe_generatedmesh_createfinishobj
37474 
37475  !
37476  !================================================================================================================================
37477  !
37478 
37480  SUBROUTINE cmfe_generatedmesh_createstartnumber(generatedMeshUserNumber,regionUserNumber,err)
37481  !DLLEXPORT(cmfe_GeneratedMesh_CreateStartNumber)
37482 
37483  !Argument variables
37484  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
37485  INTEGER(INTG), INTENT(IN) :: regionUserNumber
37486  INTEGER(INTG), INTENT(OUT) :: err
37487  !Local variables
37488  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
37489  TYPE(region_type), POINTER :: REGION
37490  TYPE(varying_string) :: localError
37491 
37492  enters("cmfe_GeneratedMesh_CreateStartNumber",err,error,*999)
37493 
37494 #ifdef TAUPROF
37495  CALL tau_static_phase_start('Generated Mesh Create')
37496 #endif
37497 
37498  NULLIFY(region)
37499  NULLIFY(generated_mesh)
37500  CALL region_user_number_find(regionusernumber,region,err,error,*999)
37501  IF(ASSOCIATED(region)) THEN
37502  CALL generated_mesh_create_start(generatedmeshusernumber,region,generated_mesh,err,error,*999)
37503  ELSE
37504  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
37505  & " does not exist."
37506  CALL flagerror(localerror,err,error,*999)
37507  END IF
37508 
37509  exits("cmfe_GeneratedMesh_CreateStartNumber")
37510  RETURN
37511 999 errorsexits("cmfe_GeneratedMesh_CreateStartNumber",err,error)
37512  CALL cmfe_handleerror(err,error)
37513  RETURN
37514 
37516 
37517  !
37518  !================================================================================================================================
37519  !
37520 
37522  SUBROUTINE cmfe_generatedmesh_createstartinterfaceobj(generatedMeshUserNumber,interface,generatedMesh,err)
37523  !DLLEXPORT(cmfe_GeneratedMesh_CreateStartInterfaceObj)
37524 
37525  !Argument variables
37526  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
37527  TYPE(cmfe_interfacetype), INTENT(INOUT) :: interface
37528  TYPE(cmfe_generatedmeshtype), INTENT(INOUT) :: generatedMesh
37529  INTEGER(INTG), INTENT(OUT) :: err
37530  !Local variables
37531 
37532  enters("cmfe_GeneratedMesh_CreateStartInterfaceObj",err,error,*999)
37533 
37534  CALL generated_mesh_create_start(generatedmeshusernumber,interface%interface,generatedmesh%generatedMesh,err,error,*999)
37535 
37536  exits("cmfe_GeneratedMesh_CreateStartInterfaceObj")
37537  RETURN
37538 999 errorsexits("cmfe_GeneratedMesh_CreateStartInterfaceObj",err,error)
37539  CALL cmfe_handleerror(err,error)
37540  RETURN
37541 
37543 
37544  !
37545  !================================================================================================================================
37546  !
37547 
37549  SUBROUTINE cmfe_generatedmesh_createstartregionobj(generatedMeshUserNumber,region,generatedMesh,err)
37550  !DLLEXPORT(cmfe_GeneratedMesh_CreateStartRegionObj)
37551 
37552  !Argument variables
37553  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
37554  TYPE(cmfe_regiontype), INTENT(INOUT) :: region
37555  TYPE(cmfe_generatedmeshtype), INTENT(INOUT) :: generatedMesh
37556  INTEGER(INTG), INTENT(OUT) :: err
37557  !Local variables
37558 
37559  enters("cmfe_GeneratedMesh_CreateStartRegionObj",err,error,*999)
37560 
37561 #ifdef TAUPROF
37562  CALL tau_static_phase_start('Generated Mesh Create')
37563 #endif
37564 
37565  CALL generated_mesh_create_start(generatedmeshusernumber,region%region,generatedmesh%generatedMesh,err,error,*999)
37566 
37567  exits("cmfe_GeneratedMesh_CreateStartRegionObj")
37568  RETURN
37569 999 errorsexits("cmfe_GeneratedMesh_CreateStartRegionObj",err,error)
37570  CALL cmfe_handleerror(err,error)
37571  RETURN
37572 
37574 
37575  !
37576  !================================================================================================================================
37577  !
37578 
37580  SUBROUTINE cmfe_generatedmesh_destroynumber(regionUserNumber,generatedMeshUserNumber,err)
37581  !DLLEXPORT(cmfe_GeneratedMesh_DestroyNumber)
37582 
37583  !Argument variables
37584  INTEGER(INTG), INTENT(IN) :: regionUserNumber
37585  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
37586  INTEGER(INTG), INTENT(OUT) :: err
37587  !Local variables
37588  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
37589  TYPE(region_type), POINTER :: REGION
37590  TYPE(varying_string) :: localError
37591 
37592  enters("cmfe_GeneratedMesh_DestroyNumber",err,error,*999)
37593 
37594  NULLIFY(region)
37595  NULLIFY(generated_mesh)
37596  CALL region_user_number_find(regionusernumber,region,err,error,*999)
37597  IF(ASSOCIATED(region)) THEN
37598  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
37599  IF(ASSOCIATED(generated_mesh)) THEN
37600  CALL generated_mesh_destroy(generated_mesh,err,error,*999)
37601  ELSE
37602  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
37603  & " does not exist on the region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
37604  CALL flagerror(localerror,err,error,*999)
37605  END IF
37606  ELSE
37607  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
37608  & " does not exist."
37609  CALL flagerror(localerror,err,error,*999)
37610  END IF
37611 
37612  exits("cmfe_GeneratedMesh_DestroyNumber")
37613  RETURN
37614 999 errorsexits("cmfe_GeneratedMesh_DestroyNumber",err,error)
37615  CALL cmfe_handleerror(err,error)
37616  RETURN
37617 
37618  END SUBROUTINE cmfe_generatedmesh_destroynumber
37619 
37620  !
37621  !================================================================================================================================
37622  !
37623 
37625  SUBROUTINE cmfe_generatedmesh_destroyobj(generatedMesh,err)
37626  !DLLEXPORT(cmfe_GeneratedMesh_DestroyObj)
37627 
37628  !Argument variables
37629  TYPE(cmfe_generatedmeshtype), INTENT(INOUT) :: generatedMesh
37630  INTEGER(INTG), INTENT(OUT) :: err
37631  !Local variables
37632 
37633  enters("cmfe_GeneratedMesh_DestroyObj",err,error,*999)
37634 
37635  CALL generated_mesh_destroy(generatedmesh%generatedMesh,err,error,*999)
37636 
37637  exits("cmfe_GeneratedMesh_DestroyObj")
37638  RETURN
37639 999 errorsexits("cmfe_GeneratedMesh_DestroyObj",err,error)
37640  CALL cmfe_handleerror(err,error)
37641  RETURN
37642 
37643  END SUBROUTINE cmfe_generatedmesh_destroyobj
37644  !
37645  !================================================================================================================================
37646  !
37647 
37649  SUBROUTINE cmfe_generatedmesh_extentgetnumber(regionUserNumber,generatedMeshUserNumber,extent,err)
37650  !DLLEXPORT(cmfe_GeneratedMesh_ExtentGetNumber)
37651 
37652  !Argument variables
37653  INTEGER(INTG), INTENT(IN) :: regionUserNumber
37654  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
37655  REAL(DP), INTENT(OUT) :: extent(:)
37656  INTEGER(INTG), INTENT(OUT) :: err
37657  !Local variables
37658  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
37659  TYPE(region_type), POINTER :: REGION
37660  TYPE(varying_string) :: localError
37661 
37662  enters("cmfe_GeneratedMesh_ExtentGetNumber",err,error,*999)
37663 
37664  NULLIFY(region)
37665  NULLIFY(generated_mesh)
37666  CALL region_user_number_find(regionusernumber,region,err,error,*999)
37667  IF(ASSOCIATED(region)) THEN
37668  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
37669  IF(ASSOCIATED(generated_mesh)) THEN
37670  CALL generated_mesh_extent_get(generated_mesh,extent,err,error,*999)
37671  ELSE
37672  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
37673  & " does not exist on the region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
37674  CALL flagerror(localerror,err,error,*999)
37675  END IF
37676  ELSE
37677  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
37678  & " does not exist."
37679  CALL flagerror(localerror,err,error,*999)
37680  END IF
37681 
37682  exits("cmfe_GeneratedMesh_ExtentGetNumber")
37683  RETURN
37684 999 errorsexits("cmfe_GeneratedMesh_ExtentGetNumber",err,error)
37685  CALL cmfe_handleerror(err,error)
37686  RETURN
37687 
37688  END SUBROUTINE cmfe_generatedmesh_extentgetnumber
37689 
37690  !
37691  !================================================================================================================================
37692  !
37693 
37695  SUBROUTINE cmfe_generatedmesh_extentgetobj(generatedMesh,extent,err)
37696  !DLLEXPORT(cmfe_GeneratedMesh_ExtentGetObj)
37697 
37698  !Argument variables
37699  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
37700  REAL(DP), INTENT(OUT) :: extent(:)
37701  INTEGER(INTG), INTENT(OUT) :: err
37702  !Local variables
37703 
37704  enters("cmfe_GeneratedMesh_ExtentGetObj",err,error,*999)
37705 
37706  CALL generated_mesh_extent_get(generatedmesh%generatedMesh,extent,err,error,*999)
37707 
37708  exits("cmfe_GeneratedMesh_ExtentGetObj")
37709  RETURN
37710 999 errorsexits("cmfe_GeneratedMesh_ExtentGetObj",err,error)
37711  CALL cmfe_handleerror(err,error)
37712  RETURN
37713 
37714  END SUBROUTINE cmfe_generatedmesh_extentgetobj
37715 
37716  !
37717  !================================================================================================================================
37718  !
37719 
37721  SUBROUTINE cmfe_generatedmesh_extentsetnumber(regionUserNumber,generatedMeshUserNumber,extent,err)
37722  !DLLEXPORT(cmfe_GeneratedMesh_ExtentSetNumber)
37723 
37724  !Argument variables
37725  INTEGER(INTG), INTENT(IN) :: regionUserNumber
37726  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
37727  REAL(DP), INTENT(IN) :: extent(:)
37728  INTEGER(INTG), INTENT(OUT) :: err
37729  !Local variables
37730  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
37731  TYPE(region_type), POINTER :: REGION
37732  TYPE(varying_string) :: localError
37733 
37734  enters("cmfe_GeneratedMesh_ExtentSetNumber",err,error,*999)
37735 
37736  NULLIFY(region)
37737  NULLIFY(generated_mesh)
37738  CALL region_user_number_find(regionusernumber,region,err,error,*999)
37739  IF(ASSOCIATED(region)) THEN
37740  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
37741  IF(ASSOCIATED(generated_mesh)) THEN
37742  CALL generated_mesh_extent_set(generated_mesh,extent,err,error,*999)
37743  ELSE
37744  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
37745  & " does not exist on the region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
37746  CALL flagerror(localerror,err,error,*999)
37747  END IF
37748  ELSE
37749  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
37750  & " does not exist."
37751  CALL flagerror(localerror,err,error,*999)
37752  END IF
37753 
37754  exits("cmfe_GeneratedMesh_ExtentSetNumber")
37755  RETURN
37756 999 errorsexits("cmfe_GeneratedMesh_ExtentSetNumber",err,error)
37757  CALL cmfe_handleerror(err,error)
37758  RETURN
37759 
37760  END SUBROUTINE cmfe_generatedmesh_extentsetnumber
37761 
37762  !
37763  !================================================================================================================================
37764  !
37765 
37767  SUBROUTINE cmfe_generatedmesh_extentsetobj(generatedMesh,extent,err)
37768  !DLLEXPORT(cmfe_GeneratedMesh_ExtentSetObj)
37769 
37770  !Argument variables
37771  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
37772  REAL(DP), INTENT(IN) :: extent(:)
37773  INTEGER(INTG), INTENT(OUT) :: err
37774  !Local variables
37775 
37776  enters("cmfe_GeneratedMesh_ExtentSetObj",err,error,*999)
37777 
37778  CALL generated_mesh_extent_set(generatedmesh%generatedMesh,extent,err,error,*999)
37779 
37780  exits("cmfe_GeneratedMesh_ExtentSetObj")
37781  RETURN
37782 999 errorsexits("cmfe_GeneratedMesh_ExtentSetObj",err,error)
37783  CALL cmfe_handleerror(err,error)
37784  RETURN
37785 
37786  END SUBROUTINE cmfe_generatedmesh_extentsetobj
37787 
37788  !
37789  !================================================================================================================================
37790  !
37791 
37793  SUBROUTINE cmfe_generatedmesh_numberofelementsgetnumber(regionUserNumber,generatedMeshUserNumber,numberOfElements,err)
37794  !DLLEXPORT(cmfe_GeneratedMesh_NumberOfElementsGetNumber)
37795 
37796  !Argument variables
37797  INTEGER(INTG), INTENT(IN) :: regionUserNumber
37798  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
37799  INTEGER(INTG), INTENT(OUT) :: numberOfElements(:)
37800  INTEGER(INTG), INTENT(OUT) :: err
37801  !Local variables
37802  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
37803  TYPE(region_type), POINTER :: REGION
37804  TYPE(varying_string) :: localError
37805 
37806  enters("cmfe_GeneratedMesh_NumberOfElementsGetNumber",err,error,*999)
37807 
37808  NULLIFY(region)
37809  NULLIFY(generated_mesh)
37810  CALL region_user_number_find(regionusernumber,region,err,error,*999)
37811  IF(ASSOCIATED(region)) THEN
37812  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
37813  IF(ASSOCIATED(generated_mesh)) THEN
37814  CALL generated_mesh_number_of_elements_get(generated_mesh,numberofelements,err,error,*999)
37815  ELSE
37816  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
37817  & " does not exist on the region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
37818  CALL flagerror(localerror,err,error,*999)
37819  END IF
37820  ELSE
37821  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
37822  & " does not exist."
37823  CALL flagerror(localerror,err,error,*999)
37824  END IF
37825 
37826  exits("cmfe_GeneratedMesh_NumberOfElementsGetNumber")
37827  RETURN
37828 999 errors("cmfe_GeneratedMesh_NumberOfElementsGetNumber",err,error)
37829  exits("cmfe_GeneratedMesh_NumberOfElementsGetNumber")
37830  CALL cmfe_handleerror(err,error)
37831  RETURN
37832 
37834 
37835  !
37836  !================================================================================================================================
37837  !
37838 
37840  SUBROUTINE cmfe_generatedmesh_numberofelementsgetobj(generatedMesh,numberOfElements,err)
37841  !DLLEXPORT(cmfe_GeneratedMesh_NumberOfElementsGetObj)
37842 
37843  !Argument variables
37844  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
37845  INTEGER(INTG), INTENT(OUT) :: numberOfElements(:)
37846  INTEGER(INTG), INTENT(OUT) :: err
37847  !Local variables
37848 
37849  enters("cmfe_GeneratedMesh_NumberOfElementsGetObj",err,error,*999)
37850 
37851  CALL generated_mesh_number_of_elements_get(generatedmesh%generatedMesh,numberofelements,err,error,*999)
37852 
37853  exits("cmfe_GeneratedMesh_NumberOfElementsGetObj")
37854  RETURN
37855 999 errorsexits("cmfe_GeneratedMesh_NumberOfElementsGetObj",err,error)
37856  CALL cmfe_handleerror(err,error)
37857  RETURN
37858 
37860 
37861  !
37862  !================================================================================================================================
37863  !
37864 
37866  SUBROUTINE cmfe_generatedmesh_numberofelementssetnumber(regionUserNumber,generatedMeshUserNumber,numberOfElements,err)
37867  !DLLEXPORT(cmfe_GeneratedMesh_NumberOfElementsSetNumber)
37868 
37869  !Argument variables
37870  INTEGER(INTG), INTENT(IN) :: regionUserNumber
37871  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
37872  INTEGER(INTG), INTENT(IN) :: numberOfElements(:)
37873  INTEGER(INTG), INTENT(OUT) :: err
37874  !Local variables
37875  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
37876  TYPE(region_type), POINTER :: REGION
37877  TYPE(varying_string) :: localError
37878 
37879  enters("cmfe_GeneratedMesh_NumberOfElementsSetNumber",err,error,*999)
37880 
37881  NULLIFY(region)
37882  NULLIFY(generated_mesh)
37883  CALL region_user_number_find(regionusernumber,region,err,error,*999)
37884  IF(ASSOCIATED(region)) THEN
37885  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
37886  IF(ASSOCIATED(generated_mesh)) THEN
37887  CALL generated_mesh_number_of_elements_set(generated_mesh,numberofelements,err,error,*999)
37888  ELSE
37889  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
37890  & " does not exist on the region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
37891  CALL flagerror(localerror,err,error,*999)
37892  END IF
37893  ELSE
37894  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
37895  & " does not exist."
37896  CALL flagerror(localerror,err,error,*999)
37897  END IF
37898 
37899  exits("cmfe_GeneratedMesh_NumberOfElementsSetNumber")
37900  RETURN
37901 999 errors("cmfe_GeneratedMesh_NumberOfElementsSetNumber",err,error)
37902  exits("cmfe_GeneratedMesh_NumberOfElementsSetNumber")
37903  CALL cmfe_handleerror(err,error)
37904  RETURN
37905 
37907 
37908  !
37909  !================================================================================================================================
37910  !
37911 
37913  SUBROUTINE cmfe_generatedmesh_numberofelementssetobj(generatedMesh,numberOfElements,err)
37914  !DLLEXPORT(cmfe_GeneratedMesh_NumberOfElementsSetObj)
37915 
37916  !Argument variables
37917  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
37918  INTEGER(INTG), INTENT(IN) :: numberOfElements(:)
37919  INTEGER(INTG), INTENT(OUT) :: err
37920  !Local variables
37921 
37922  enters("cmfe_GeneratedMesh_NumberOfElementsSetObj",err,error,*999)
37923 
37924  CALL generated_mesh_number_of_elements_set(generatedmesh%generatedMesh,numberofelements,err,error,*999)
37925 
37926  exits("cmfe_GeneratedMesh_NumberOfElementsSetObj")
37927  RETURN
37928 999 errorsexits("cmfe_GeneratedMesh_NumberOfElementsSetObj",err,error)
37929  CALL cmfe_handleerror(err,error)
37930  RETURN
37931 
37933 
37934  !
37935  !================================================================================================================================
37936  !
37937 
37939  SUBROUTINE cmfe_generatedmesh_origingetnumber(regionUserNumber,generatedMeshUserNumber,origin,err)
37940  !DLLEXPORT(cmfe_GeneratedMesh_OriginGetNumber)
37941 
37942  !Argument variables
37943  INTEGER(INTG), INTENT(IN) :: regionUserNumber
37944  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
37945  REAL(DP), INTENT(OUT) :: origin(:)
37946  INTEGER(INTG), INTENT(OUT) :: err
37947  !Local variables
37948  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
37949  TYPE(region_type), POINTER :: REGION
37950  TYPE(varying_string) :: localError
37951 
37952  enters("cmfe_GeneratedMesh_OriginGetNumber",err,error,*999)
37953 
37954  NULLIFY(region)
37955  NULLIFY(generated_mesh)
37956  CALL region_user_number_find(regionusernumber,region,err,error,*999)
37957  IF(ASSOCIATED(region)) THEN
37958  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
37959  IF(ASSOCIATED(generated_mesh)) THEN
37960  CALL generated_mesh_origin_get(generated_mesh,origin,err,error,*999)
37961  ELSE
37962  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
37963  & " does not exist on the region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
37964  CALL flagerror(localerror,err,error,*999)
37965  END IF
37966  ELSE
37967  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
37968  & " does not exist."
37969  CALL flagerror(localerror,err,error,*999)
37970  END IF
37971 
37972  exits("cmfe_GeneratedMesh_OriginGetNumber")
37973  RETURN
37974 999 errorsexits("cmfe_GeneratedMesh_OriginGetNumber",err,error)
37975  CALL cmfe_handleerror(err,error)
37976  RETURN
37977 
37978  END SUBROUTINE cmfe_generatedmesh_origingetnumber
37979 
37980  !
37981  !================================================================================================================================
37982  !
37983 
37985  SUBROUTINE cmfe_generatedmesh_origingetobj(generatedMesh,origin,err)
37986  !DLLEXPORT(cmfe_GeneratedMesh_OriginGetObj)
37987 
37988  !Argument variables
37989  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
37990  REAL(DP), INTENT(OUT) :: origin(:)
37991  INTEGER(INTG), INTENT(OUT) :: err
37992  !Local variables
37993 
37994  enters("cmfe_GeneratedMesh_OriginGetObj",err,error,*999)
37995 
37996  CALL generated_mesh_origin_get(generatedmesh%generatedMesh,origin,err,error,*999)
37997 
37998  exits("cmfe_GeneratedMesh_OriginGetObj")
37999  RETURN
38000 999 errorsexits("cmfe_GeneratedMesh_OriginGetObj",err,error)
38001  CALL cmfe_handleerror(err,error)
38002  RETURN
38003 
38004  END SUBROUTINE cmfe_generatedmesh_origingetobj
38005 
38006  !
38007  !================================================================================================================================
38008  !
38009 
38011  SUBROUTINE cmfe_generatedmesh_originsetnumber(regionUserNumber,generatedMeshUserNumber,origin,err)
38012  !DLLEXPORT(cmfe_GeneratedMesh_OriginSetNumber)
38013 
38014  !Argument variables
38015  INTEGER(INTG), INTENT(IN) :: regionUserNumber
38016  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
38017  REAL(DP), INTENT(IN) :: origin(:)
38018  INTEGER(INTG), INTENT(OUT) :: err
38019  !Local variables
38020  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
38021  TYPE(region_type), POINTER :: REGION
38022  TYPE(varying_string) :: localError
38023 
38024  enters("cmfe_GeneratedMesh_OriginSetNumber",err,error,*999)
38025 
38026  NULLIFY(region)
38027  NULLIFY(generated_mesh)
38028  CALL region_user_number_find(regionusernumber,region,err,error,*999)
38029  IF(ASSOCIATED(region)) THEN
38030  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
38031  IF(ASSOCIATED(generated_mesh)) THEN
38032  CALL generated_mesh_origin_set(generated_mesh,origin,err,error,*999)
38033  ELSE
38034  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
38035  & " does not exist on the region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
38036  CALL flagerror(localerror,err,error,*999)
38037  END IF
38038  ELSE
38039  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
38040  & " does not exist."
38041  CALL flagerror(localerror,err,error,*999)
38042  END IF
38043 
38044  exits("cmfe_GeneratedMesh_OriginSetNumber")
38045  RETURN
38046 999 errorsexits("cmfe_GeneratedMesh_OriginSetNumber",err,error)
38047  CALL cmfe_handleerror(err,error)
38048  RETURN
38049 
38050  END SUBROUTINE cmfe_generatedmesh_originsetnumber
38051 
38052  !
38053  !================================================================================================================================
38054  !
38055 
38057  SUBROUTINE cmfe_generatedmesh_originsetobj(generatedMesh,origin,err)
38058  !DLLEXPORT(cmfe_GeneratedMesh_OriginSetObj)
38059 
38060  !Argument variables
38061  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
38062  REAL(DP), INTENT(IN) :: origin(:)
38063  INTEGER(INTG), INTENT(OUT) :: err
38064  !Local variables
38065 
38066  enters("cmfe_GeneratedMesh_OriginSetObj",err,error,*999)
38067 
38068  CALL generated_mesh_origin_set(generatedmesh%generatedMesh,origin,err,error,*999)
38069 
38070  exits("cmfe_GeneratedMesh_OriginSetObj")
38071  RETURN
38072 999 errorsexits("cmfe_GeneratedMesh_OriginSetObj",err,error)
38073  CALL cmfe_handleerror(err,error)
38074  RETURN
38075 
38076  END SUBROUTINE cmfe_generatedmesh_originsetobj
38077 
38078  !
38079  !================================================================================================================================
38080  !
38081 
38083  SUBROUTINE cmfe_generatedmesh_typegetnumber(regionUserNumber,generatedMeshUserNumber,generatedMeshType,err)
38084  !DLLEXPORT(cmfe_GeneratedMesh_TypeGetNumber)
38085 
38086  !Argument variables
38087  INTEGER(INTG), INTENT(IN) :: regionUserNumber
38088  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
38089  INTEGER(INTG), INTENT(OUT) :: generatedMeshType
38090  INTEGER(INTG), INTENT(OUT) :: err
38091  !Local variables
38092  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
38093  TYPE(region_type), POINTER :: REGION
38094  TYPE(varying_string) :: localError
38095 
38096  enters("cmfe_GeneratedMesh_TypeGetNumber",err,error,*999)
38097 
38098  NULLIFY(region)
38099  NULLIFY(generated_mesh)
38100  CALL region_user_number_find(regionusernumber,region,err,error,*999)
38101  IF(ASSOCIATED(region)) THEN
38102  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
38103  IF(ASSOCIATED(generated_mesh)) THEN
38104  CALL generated_mesh_type_get(generated_mesh,generatedmeshtype,err,error,*999)
38105  ELSE
38106  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
38107  & " does not exist on the region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
38108  CALL flagerror(localerror,err,error,*999)
38109  END IF
38110  ELSE
38111  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
38112  & " does not exist."
38113  CALL flagerror(localerror,err,error,*999)
38114  END IF
38115 
38116  exits("cmfe_GeneratedMesh_TypeGetNumber")
38117  RETURN
38118 999 errorsexits("cmfe_GeneratedMesh_TypeGetNumber",err,error)
38119  CALL cmfe_handleerror(err,error)
38120  RETURN
38121 
38122  END SUBROUTINE cmfe_generatedmesh_typegetnumber
38123 
38124  !
38125  !================================================================================================================================
38126  !
38127 
38129  SUBROUTINE cmfe_generatedmesh_typegetobj(generatedMesh,generatedMeshType,err)
38130  !DLLEXPORT(cmfe_GeneratedMesh_TypeGetObj)
38131 
38132  !Argument variables
38133  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
38134  INTEGER(INTG), INTENT(OUT) :: generatedMeshType
38135  INTEGER(INTG), INTENT(OUT) :: err
38136  !Local variables
38137 
38138  enters("cmfe_GeneratedMesh_TypeGetObj",err,error,*999)
38139 
38140  CALL generated_mesh_type_get(generatedmesh%generatedMesh,generatedmeshtype,err,error,*999)
38141 
38142  exits("cmfe_GeneratedMesh_TypeGetObj")
38143  RETURN
38144 999 errorsexits("cmfe_GeneratedMesh_TypeGetObj",err,error)
38145  CALL cmfe_handleerror(err,error)
38146  RETURN
38147 
38148  END SUBROUTINE cmfe_generatedmesh_typegetobj
38149 
38150  !
38151  !================================================================================================================================
38152  !
38153 
38155  SUBROUTINE cmfe_generatedmesh_typesetnumber(regionUserNumber,generatedMeshUserNumber,generatedMeshType,err)
38156  !DLLEXPORT(cmfe_GeneratedMesh_TypeSetNumber)
38157 
38158  !Argument variables
38159  INTEGER(INTG), INTENT(IN) :: regionUserNumber
38160  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
38161  INTEGER(INTG), INTENT(IN) :: generatedMeshType
38162  INTEGER(INTG), INTENT(OUT) :: err
38163  !Local variables
38164  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
38165  TYPE(region_type), POINTER :: REGION
38166  TYPE(varying_string) :: localError
38167 
38168  enters("cmfe_GeneratedMesh_TypeSetNumber",err,error,*999)
38169 
38170  NULLIFY(region)
38171  NULLIFY(generated_mesh)
38172  CALL region_user_number_find(regionusernumber,region,err,error,*999)
38173  IF(ASSOCIATED(region)) THEN
38174  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
38175  IF(ASSOCIATED(generated_mesh)) THEN
38176  CALL generated_mesh_type_set(generated_mesh,generatedmeshtype,err,error,*999)
38177  ELSE
38178  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
38179  & " does not exist on a region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
38180  CALL flagerror(localerror,err,error,*999)
38181  END IF
38182  ELSE
38183  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
38184  & " does not exist."
38185  CALL flagerror(localerror,err,error,*999)
38186  END IF
38187 
38188  exits("cmfe_GeneratedMesh_TypeSetNumber")
38189  RETURN
38190 999 errorsexits("cmfe_GeneratedMesh_TypeSetNumber",err,error)
38191  CALL cmfe_handleerror(err,error)
38192  RETURN
38193 
38194  END SUBROUTINE cmfe_generatedmesh_typesetnumber
38195 
38196  !
38197  !================================================================================================================================
38198  !
38199 
38201  SUBROUTINE cmfe_generatedmesh_typesetobj(generatedMesh,generatedMeshType,err)
38202  !DLLEXPORT(cmfe_GeneratedMesh_TypeSetObj)
38203 
38204  !Argument variables
38205  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
38206  INTEGER(INTG), INTENT(IN) :: generatedMeshType
38207  INTEGER(INTG), INTENT(OUT) :: err
38208  !Local variables
38209 
38210  enters("cmfe_GeneratedMesh_TypeSetObj",err,error,*999)
38211 
38212  CALL generated_mesh_type_set(generatedmesh%generatedMesh,generatedmeshtype,err,error,*999)
38213 
38214  exits("cmfe_GeneratedMesh_TypeSetObj")
38215  RETURN
38216 999 errorsexits("cmfe_GeneratedMesh_TypeSetObj",err,error)
38217  CALL cmfe_handleerror(err,error)
38218  RETURN
38219 
38220  END SUBROUTINE cmfe_generatedmesh_typesetobj
38221 
38222  !
38223  !================================================================================================================================
38224  !
38225 
38227  SUBROUTINE cmfe_generatedmesh_geometricparameterscalculatenumber(regionUserNumber,generatedMeshUserNumber, &
38228  & fieldusernumber,err)
38229  !DLLEXPORT(cmfe_GeneratedMesh_GeometricParametersCalculateNumber)
38230 
38231  !Argument variables
38232  INTEGER(INTG), INTENT(IN) :: regionUserNumber
38233  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
38234  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
38235  INTEGER(INTG), INTENT(OUT) :: err
38236  !Local variables
38237  TYPE(field_type), POINTER :: FIELD
38238  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
38239  TYPE(region_type), POINTER :: REGION
38240  TYPE(varying_string) :: localError
38241 
38242  enters("cmfe_GeneratedMesh_GeometricParametersCalculateNumber",err,error,*999)
38243 
38244  NULLIFY(region)
38245  NULLIFY(field)
38246  NULLIFY(generated_mesh)
38247  CALL region_user_number_find(regionusernumber,region,err,error,*999)
38248  IF(ASSOCIATED(region)) THEN
38249  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
38250  IF(ASSOCIATED(field)) THEN
38251  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
38252  IF(ASSOCIATED(generated_mesh)) THEN
38253  CALL generatedmesh_geometricparameterscalculate(field,generated_mesh,err,error,*999)
38254  ELSE
38255  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
38256  & " does not exist."
38257  CALL flagerror(localerror,err,error,*999)
38258  END IF
38259  ELSE
38260  localerror="An field with an user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
38261  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
38262  CALL flagerror(localerror,err,error,*999)
38263  END IF
38264  ELSE
38265  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
38266  & " does not exist."
38267  CALL flagerror(localerror,err,error,*999)
38268  END IF
38269 
38270  exits("cmfe_GeneratedMesh_GeometricParametersCalculateNumber")
38271  RETURN
38272 999 errors("cmfe_GeneratedMesh_GeometricParametersCalculateNumber",err,error)
38273  exits("cmfe_GeneratedMesh_GeometricParametersCalculateNumber")
38274  CALL cmfe_handleerror(err,error)
38275  RETURN
38276 
38278 
38279  !
38280  !================================================================================================================================
38281  !
38282 
38284  SUBROUTINE cmfe_generatedmesh_geometricparameterscalculateobj(generatedMesh,field,err)
38285  !DLLEXPORT(cmfe_GeneratedMesh_GeometricParametersCalculateObj)
38286 
38287  !Argument variables
38288  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
38289  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
38290  INTEGER(INTG), INTENT(OUT) :: err
38291  !Local variables
38292 
38293  enters("cmfe_GeneratedMesh_GeometricParametersCalculateObj",err,error,*999)
38294 
38295  CALL generatedmesh_geometricparameterscalculate(field%field,generatedmesh%generatedMesh,err,error,*999)
38296 
38297  exits("cmfe_GeneratedMesh_GeometricParametersCalculateObj")
38298  RETURN
38299 999 errors("cmfe_GeneratedMesh_GeometricParametersCalculateObj",err,error)
38300  exits("cmfe_GeneratedMesh_GeometricParametersCalculateObj")
38301  CALL cmfe_handleerror(err,error)
38302  RETURN
38303 
38305 
38306  !
38307  !================================================================================================================================
38308  !
38309 
38311  SUBROUTINE cmfe_generatedmesh_surfacegetnumber0(regionUserNumber,generatedMeshUserNumber,surfaceType,surfaceNodes,normalXi,err)
38312  !DLLEXPORT(cmfe_GeneratedMesh_SurfaceGetNumber0)
38313 
38314  !Argument variables
38315  INTEGER(INTG), INTENT(IN) :: regionUserNumber
38316  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
38317  INTEGER(INTG), INTENT(IN) :: surfaceType
38318  INTEGER(INTG), INTENT(OUT), ALLOCATABLE :: surfaceNodes(:)
38319  INTEGER(INTG), INTENT(OUT) :: normalXi
38320  INTEGER(INTG), INTENT(OUT) :: err
38321  !Local variables
38322  TYPE(region_type), POINTER :: REGION
38323  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
38324  TYPE(varying_string) :: localError
38325 
38326  enters("cmfe_GeneratedMesh_SurfaceGetNumber0",err,error,*999)
38327 
38328  NULLIFY(region)
38329  NULLIFY(generated_mesh)
38330 
38331  CALL region_user_number_find(regionusernumber,region,err,error,*999)
38332  IF(ASSOCIATED(region)) THEN
38333  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
38334  IF(ASSOCIATED(generated_mesh)) THEN
38335  CALL generated_mesh_surface_get(generated_mesh,1,surfacetype,surfacenodes,normalxi,err,error,*999)
38336  ELSE
38337  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
38338  & " does not exist."
38339  CALL flagerror(localerror,err,error,*999)
38340  END IF
38341  ELSE
38342  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
38343  & " does not exist."
38344  CALL flagerror(localerror,err,error,*999)
38345  END IF
38346 
38347  exits("cmfe_GeneratedMesh_SurfaceGetNumber0")
38348  RETURN
38349 999 errorsexits("cmfe_GeneratedMesh_SurfaceGetNumber0",err,error)
38350  CALL cmfe_handleerror(err,error)
38351  RETURN
38353 
38354  !
38355  !================================================================================================================================
38356  !
38357 
38359  SUBROUTINE cmfe_generatedmesh_surfacegetnumber1(regionUserNumber,meshComponent,generatedMeshUserNumber,surfaceType, &
38360  & surfacenodes,normalxi,err)
38361  !DLLEXPORT(cmfe_GeneratedMesh_SurfaceGetNumber1)
38362 
38363  !Argument variables
38364  INTEGER(INTG), INTENT(IN) :: regionUserNumber
38365  INTEGER(INTG), INTENT(IN) :: meshComponent
38366  INTEGER(INTG), INTENT(IN) :: generatedMeshUserNumber
38367  INTEGER(INTG), INTENT(IN) :: surfaceType
38368  INTEGER(INTG), INTENT(OUT), ALLOCATABLE :: surfaceNodes(:)
38369  INTEGER(INTG), INTENT(OUT) :: normalXi
38370  INTEGER(INTG), INTENT(OUT) :: err
38371  !Local variables
38372  TYPE(region_type), POINTER :: REGION
38373  TYPE(generated_mesh_type), POINTER :: GENERATED_MESH
38374  TYPE(varying_string) :: localError
38375 
38376  enters("cmfe_GeneratedMesh_SurfaceGetNumber1",err,error,*999)
38377 
38378  NULLIFY(region)
38379  NULLIFY(generated_mesh)
38380 
38381  CALL region_user_number_find(regionusernumber,region,err,error,*999)
38382  IF(ASSOCIATED(region)) THEN
38383  CALL generated_mesh_user_number_find(generatedmeshusernumber,region,generated_mesh,err,error,*999)
38384  IF(ASSOCIATED(generated_mesh)) THEN
38385  CALL generated_mesh_surface_get(generated_mesh,meshcomponent,surfacetype,surfacenodes,normalxi,err,error,*999)
38386  ELSE
38387  localerror="A generated mesh with an user number of "//trim(numbertovstring(generatedmeshusernumber,"*",err,error))// &
38388  & " does not exist."
38389  CALL flagerror(localerror,err,error,*999)
38390  END IF
38391  ELSE
38392  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
38393  & " does not exist."
38394  CALL flagerror(localerror,err,error,*999)
38395  END IF
38396 
38397  exits("cmfe_GeneratedMesh_SurfaceGetNumber1")
38398  RETURN
38399 999 errorsexits("cmfe_GeneratedMesh_SurfaceGetNumber1",err,error)
38400  CALL cmfe_handleerror(err,error)
38401  RETURN
38403 
38404  !
38405  !================================================================================================================================
38406  !
38407 
38409  SUBROUTINE cmfe_generatedmesh_surfacegetobj0(generatedMesh,surfaceType,surfaceNodes,normalXi,err)
38410  !DLLEXPORT(cmfe_GeneratedMesh_SurfaceGetObj0)
38411 
38412  !Argument variables
38413  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
38414  INTEGER(INTG), INTENT(IN) :: surfaceType
38415  INTEGER(INTG), INTENT(OUT), ALLOCATABLE :: surfaceNodes(:)
38416  INTEGER(INTG), INTENT(OUT) :: normalXi
38417  INTEGER(INTG), INTENT(OUT) :: err
38418 
38419  enters("cmfe_GeneratedMesh_SurfaceGetObj0",err,error,*999)
38420 
38421  CALL generated_mesh_surface_get(generatedmesh%generatedMesh,1,surfacetype,surfacenodes,normalxi,err,error,*999)
38422 
38423  exits("cmfe_GeneratedMesh_SurfaceGetObj0")
38424  RETURN
38425 999 errorsexits("cmfe_GeneratedMesh_SurfaceGetObj0",err,error)
38426  CALL cmfe_handleerror(err,error)
38427  RETURN
38428  END SUBROUTINE cmfe_generatedmesh_surfacegetobj0
38429 
38430  !
38431  !================================================================================================================================
38432  !
38433 
38435  SUBROUTINE cmfe_generatedmesh_surfacegetobj1(generatedMesh,meshComponent,surfaceType,surfaceNodes,normalXi,err)
38436  !DLLEXPORT(cmfe_GeneratedMesh_SurfaceGetObj1)
38437 
38438  !Argument variables
38439  TYPE(cmfe_generatedmeshtype), INTENT(IN) :: generatedMesh
38440  INTEGER(INTG), INTENT(IN) :: meshComponent
38441  INTEGER(INTG), INTENT(IN) :: surfaceType
38442  INTEGER(INTG), INTENT(OUT), ALLOCATABLE :: surfaceNodes(:)
38443  INTEGER(INTG), INTENT(OUT) :: normalXi
38444  INTEGER(INTG), INTENT(OUT) :: err
38445 
38446  enters("cmfe_GeneratedMesh_SurfaceGetObj1",err,error,*999)
38447 
38448  CALL generated_mesh_surface_get(generatedmesh%generatedMesh,meshcomponent,surfacetype,surfacenodes,normalxi,err,error,*999)
38449 
38450  exits("cmfe_GeneratedMesh_SurfaceGetObj1")
38451  RETURN
38452 999 errorsexits("cmfe_GeneratedMesh_SurfaceGetObj1",err,error)
38453  CALL cmfe_handleerror(err,error)
38454  RETURN
38455  END SUBROUTINE cmfe_generatedmesh_surfacegetobj1
38456 
38457 
38458 !!==================================================================================================================================
38459 !!
38460 !! MESH EMBEDDING ROUTINES
38461 !!
38462 !!==================================================================================================================================
38463  !
38464  !================================================================================================================================
38465  !
38466 
38468  SUBROUTINE cmfe_meshembedding_initialise(meshEmbedding,err)
38469  !DLLEXPORT(cmfe_MeshEmbedding_Initialise)
38470  !Argument variables
38471  TYPE(cmfe_meshembeddingtype), INTENT(OUT) :: meshEmbedding
38472  INTEGER(INTG), INTENT(OUT) :: err
38473  !Local variables
38474 
38475  enters("cmfe_MeshEmbedding_Initialise",err,error,*999)
38476 
38477  NULLIFY(meshembedding%meshEmbedding)
38478 
38479  exits("cmfe_MeshEmbedding_Initialise")
38480  RETURN
38481 999 errorsexits("cmfe_MeshEmbedding_Initialise",err,error)
38482  CALL cmfe_handleerror(err,error)
38483  RETURN
38484 
38485  END SUBROUTINE cmfe_meshembedding_initialise
38486 
38487  !
38488  !================================================================================================================================
38489  !
38491  SUBROUTINE cmfe_meshembedding_createnumber(regionOneUserNumber,regionTwoUserNumber,meshEmbedding,parentMeshUserNumber, &
38492  & childmeshusernumber,err)
38493  !DLLEXPORT(cmfe_MeshEmbedding_CreateNumber)
38494 
38495  TYPE(cmfe_meshembeddingtype), INTENT(INOUT) :: meshEmbedding
38496  TYPE(region_type), POINTER :: REGION1, REGION2
38497  TYPE(varying_string) :: localError
38498  TYPE(mesh_type), POINTER :: PARENTMESH,CHILDMESH
38499  INTEGER(INTG), INTENT(IN) :: parentMeshUserNumber, childMeshUserNumber
38500  INTEGER(INTG), INTENT(IN) :: regionOneUserNumber, regionTwoUserNumber
38501  INTEGER(INTG), INTENT(OUT) :: err
38502 
38503 
38504  enters("cmfe_MeshEmbedding_CreateNumber",err,error,*999)
38505 
38506  NULLIFY(region1)
38507  NULLIFY(region2)
38508  NULLIFY(parentmesh)
38509  NULLIFY(childmesh)
38510 
38511  CALL region_user_number_find(regiononeusernumber,region1,err,error,*999)
38512  CALL region_user_number_find(regiontwousernumber,region2,err,error,*999)
38513  IF(ASSOCIATED(region1)) THEN
38514  CALL mesh_user_number_find(parentmeshusernumber,region1,parentmesh,err,error,*999)
38515  IF(ASSOCIATED(region2)) THEN
38516  CALL mesh_user_number_find(childmeshusernumber,region2,childmesh,err,error,*999)
38517  IF(ASSOCIATED(parentmesh).AND.ASSOCIATED(childmesh)) THEN
38518  CALL mesh_embedding_create(meshembedding%meshEmbedding,parentmesh,childmesh,err,error,*999)
38519  ELSE
38520  localerror="Meshes with user number of "//trim(numbertovstring(parentmeshusernumber,"*",err,error))// &
38521  & " and "//trim(numbertovstring(childmeshusernumber,"*",err,error))// " do not exist."
38522  CALL flagerror(localerror,err,error,*999)
38523  END IF
38524  ELSE
38525  localerror="A region with an user number of "//trim(numbertovstring(regiontwousernumber,"*",err,error))// &
38526  & " does not exist."
38527  CALL flagerror(localerror,err,error,*999)
38528  END IF
38529  ELSE
38530  localerror="A region with an user number of "//trim(numbertovstring(regiononeusernumber,"*",err,error))// &
38531  & " does not exist."
38532  CALL flagerror(localerror,err,error,*999)
38533  END IF
38534 
38535  exits("cmfe_MeshEmbedding_CreateNumber")
38536  RETURN
38537 999 errorsexits("cmfe_MeshEmbedding_CreateNumber",err,error)
38538  CALL cmfe_handleerror(err,error)
38539  RETURN
38540 
38541  END SUBROUTINE cmfe_meshembedding_createnumber
38542 
38543  !
38544  !================================================================================================================================
38545  !
38546 
38548  SUBROUTINE cmfe_meshembedding_createobj(meshEmbedding, parentMesh, childMesh, err)
38549  !DLLEXPORT(cmfe_MeshEmbedding_CreateObj)
38550  TYPE(cmfe_meshembeddingtype), INTENT(INOUT) :: meshEmbedding
38551  TYPE(cmfe_meshtype), INTENT(IN) :: parentMesh, childMesh
38552  INTEGER(INTG), INTENT(OUT) :: err
38553  CALL mesh_embedding_create(meshembedding%meshEmbedding,parentmesh%mesh,childmesh%mesh,err,error,*999)
38554 999 RETURN
38555  END SUBROUTINE cmfe_meshembedding_createobj
38556 
38557  !
38558  !================================================================================================================================
38559  !
38560 
38562  SUBROUTINE cmfe_meshembedding_setchildnodepositionobj(meshEmbedding, elementNumber, nodeNumbers, xiCoords, err)
38563  !DLLEXPORT(cmfe_MeshEmbedding_SetChildNodePositionObj)
38564  TYPE(cmfe_meshembeddingtype), INTENT(INOUT) :: meshEmbedding
38565  INTEGER(INTG), INTENT(IN) :: elementNumber
38566  INTEGER(INTG), INTENT(IN) :: nodeNumbers(:)
38567  REAL(DP), INTENT(IN) :: xiCoords(:,:)
38568  INTEGER(INTG), INTENT(OUT) :: err
38569  CALL mesh_embedding_set_child_node_position(meshembedding%meshEmbedding,elementnumber, nodenumbers, xicoords, err, error, *999)
38570 999 RETURN
38572 
38573  !
38574  !================================================================================================================================
38575  !
38576 
38578  SUBROUTINE cmfe_meshembedding_pushdataobj(meshEmbedding, parentField, parentComponent, childField, childComponent, err)
38579  !DLLEXPORT(cmfe_MeshEmbedding_PushDataObj)
38580  TYPE(cmfe_meshembeddingtype), INTENT(INOUT) :: meshEmbedding
38581  TYPE(cmfe_fieldtype), INTENT(IN) :: parentField, childField
38582 ! TYPE(cmfe_FieldType), POINTER, INTENT(IN) :: parentField, childField !<Fields associated with parent and child mesh to get/set data from
38583 
38584  INTEGER(INTG), INTENT(IN) :: parentComponent, childComponent
38585  INTEGER(INTG), INTENT(OUT) :: err
38586  CALL mesh_embedding_push_data(meshembedding%meshEmbedding,parentfield%field, parentcomponent, childfield%field, &
38587  & childcomponent, err, error, *999)
38588 999 RETURN
38589  END SUBROUTINE cmfe_meshembedding_pushdataobj
38590 
38591 !
38592  !================================================================================================================================
38593  !
38594 ! !>Sets the positions of a Gauss point of the parent mesh in terms of element/xi coordinated in the child mesh
38595  SUBROUTINE cmfe_meshembedding_setgausspointdataobj(meshEmbedding, parentElementNumber,gaussPointNumber, &
38596  & parentxicoords,childelementnumber,childxicoords, err)
38597  !DLLEXPORT(cmfe_MeshEmbedding_SetGaussPointDataObj)
38598  TYPE(cmfe_meshembeddingtype), INTENT(INOUT) :: meshEmbedding
38599  INTEGER(INTG), INTENT(IN) :: parentElementNumber
38600  INTEGER(INTG), INTENT(IN) :: childElementNumber
38601  INTEGER(INTG), INTENT(IN) :: gaussPointNumber
38602  REAL(DP), INTENT(IN) :: parentXiCoords(:)
38603  REAL(DP), INTENT(IN) :: childXiCoords(:)
38604  INTEGER(INTG), INTENT(OUT) :: err
38605 !
38606  CALL mesh_embedding_set_gauss_point_data(meshembedding%meshEmbedding, parentelementnumber, gausspointnumber,&
38607  & parentxicoords, childelementnumber, childxicoords,err,error,*999)
38608  999 RETURN
38610 ! !
38611  !================================================================================================================================
38612  !
38613 ! !>Sets the positions of a Gauss point of the parent mesh in terms of element/xi coordinated in the child mesh
38614  SUBROUTINE cmfe_meshembedding_pullgausspointdataobj(meshEmbedding, parentField, parentComponent, childField, &
38615  & childcomponent, err)
38616  !DLLEXPORT(cmfe_MeshEmbedding_PullGaussPointDataObj)
38617  TYPE(cmfe_meshembeddingtype), INTENT(INOUT) :: meshEmbedding
38618  TYPE(cmfe_fieldtype), INTENT(IN) :: parentField, childField
38619  INTEGER(INTG), INTENT(IN) :: parentComponent, childComponent
38620  INTEGER(INTG), INTENT(OUT) :: err
38621 
38622  CALL mesh_embedding_pull_gauss_point_data(meshembedding%meshEmbedding,parentfield%field, parentcomponent, &
38623  & childfield%field,childcomponent, err, error, *999)
38624 999 RETURN
38626 ! !
38627  !================================================================================================================================
38628  !
38629  SUBROUTINE cmfe_field_parametersetgetgausspointcoordobj(meshEmbedding,componentNumber,numberOfGaussPoints, &
38630  & coords,err)
38631  !DLLEXPORT(cmfe_Field_ParameterSetGetGaussPointCoordObj)
38632 
38633  !Argument variables
38634  TYPE(cmfe_meshembeddingtype), INTENT(INOUT) :: meshEmbedding
38635  INTEGER(INTG), INTENT(IN) :: componentNumber
38636  INTEGER(INTG), INTENT(OUT) :: numberOfGaussPoints
38637  REAL(DP), INTENT(OUT) :: coords(:)
38638  INTEGER(INTG), INTENT(OUT) :: err
38639  !Local variables
38640 
38641  enters("cmfe_Field_ParameterSetGetGaussPointCoordObj",err,error,*999)
38642 
38643  CALL field_parameter_set_get_gauss_point_coord(meshembedding%meshEmbedding,componentnumber, &
38644  & numberofgausspoints,coords,err,error,*999)
38645 
38646  exits("cmfe_Field_ParameterSetGetGaussPointCoordObj")
38647 
38648 999 RETURN
38649 
38651 !!==================================================================================================================================
38652 !!
38653 !! INTERFACE_ROUTINES
38654 !!
38655 !!==================================================================================================================================
38656 
38657  !
38658  !================================================================================================================================
38659  !
38660 
38662  SUBROUTINE cmfe_interface_createfinishnumber(regionUserNumber,interfaceUserNumber,err)
38663  !DLLEXPORT(cmfe_Interface_CreateFinishNumber)
38664 
38665  !Argument variables
38666  INTEGER(INTG), INTENT(IN) :: regionUserNumber
38667  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
38668  INTEGER(INTG), INTENT(OUT) :: err
38669  !Local variables
38670  TYPE(interface_type), POINTER :: INTERFACE
38671  TYPE(region_type), POINTER :: REGION
38672  TYPE(varying_string) :: localError
38673 
38674  enters("cmfe_Interface_CreateFinishNumber",err,error,*999)
38675 
38676  NULLIFY(region)
38677  NULLIFY(interface)
38678  CALL region_user_number_find(regionusernumber,region,err,error,*999)
38679  IF(ASSOCIATED(region)) THEN
38680  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
38681  IF(ASSOCIATED(interface)) THEN
38682  CALL interface_create_finish(interface,err,error,*999)
38683  ELSE
38684  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
38685  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
38686  CALL flagerror(localerror,err,error,*999)
38687  END IF
38688  ELSE
38689  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
38690  & " does not exist."
38691  CALL flagerror(localerror,err,error,*999)
38692  END IF
38693 
38694  exits("cmfe_Interface_CreateFinishNumber")
38695  RETURN
38696 999 errorsexits("cmfe_Interface_CreateFinishNumber",err,error)
38697  CALL cmfe_handleerror(err,error)
38698  RETURN
38699 
38700  END SUBROUTINE cmfe_interface_createfinishnumber
38701 
38702  !
38703  !================================================================================================================================
38704  !
38705 
38707  SUBROUTINE cmfe_interface_createfinishobj(interface,err)
38708  !DLLEXPORT(cmfe_Interface_CreateFinishObj)
38709 
38710  !Argument variables
38711  TYPE(cmfe_interfacetype), INTENT(IN) :: interface
38712  INTEGER(INTG), INTENT(OUT) :: err
38713  !Local variables
38714 
38715  enters("cmfe_Interface_CreateFinishObj",err,error,*999)
38716 
38717  CALL interface_create_finish(interface%interface,err,error,*999)
38718 
38719  exits("cmfe_Interface_CreateFinishObj")
38720  RETURN
38721 999 errorsexits("cmfe_Interface_CreateFinishObj",err,error)
38722  CALL cmfe_handleerror(err,error)
38723  RETURN
38724 
38725  END SUBROUTINE cmfe_interface_createfinishobj
38726 
38727  !
38728  !================================================================================================================================
38729  !
38730 
38732  SUBROUTINE cmfe_interface_createstartnumber(interfaceUserNumber,regionUserNumber,err)
38733  !DLLEXPORT(cmfe_Interface_CreateStartNumber)
38734 
38735  !Argument variables
38736  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
38737  INTEGER(INTG), INTENT(IN) :: regionUserNumber
38738  INTEGER(INTG), INTENT(OUT) :: err
38739  !Local variables
38740  TYPE(interface_type), POINTER :: INTERFACE
38741  TYPE(region_type), POINTER :: REGION
38742  TYPE(varying_string) :: localError
38743 
38744  enters("cmfe_Interface_CreateStartNumber",err,error,*999)
38745 
38746  NULLIFY(region)
38747  NULLIFY(interface)
38748  CALL region_user_number_find(regionusernumber,region,err,error,*999)
38749  IF(ASSOCIATED(region)) THEN
38750  CALL interface_create_start(interfaceusernumber,region,interface,err,error,*999)
38751  ELSE
38752  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
38753  & " does not exist."
38754  CALL flagerror(localerror,err,error,*999)
38755  END IF
38756 
38757  exits("cmfe_Interface_CreateStartNumber")
38758  RETURN
38759 999 errorsexits("cmfe_Interface_CreateStartNumber",err,error)
38760  CALL cmfe_handleerror(err,error)
38761  RETURN
38762 
38763  END SUBROUTINE cmfe_interface_createstartnumber
38764 
38765  !
38766  !================================================================================================================================
38767  !
38768 
38770  SUBROUTINE cmfe_interface_createstartobj(interfaceUserNumber,region,interface,err)
38771  !DLLEXPORT(cmfe_Interface_CreateStartObj)
38772 
38773  !Argument variables
38774  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
38775  TYPE(cmfe_regiontype), INTENT(IN) :: region
38776  TYPE(cmfe_interfacetype), INTENT(IN) :: interface
38777  INTEGER(INTG), INTENT(OUT) :: err
38778  !Local variables
38779 
38780  enters("cmfe_Interface_CreateStartObj",err,error,*999)
38781 
38782  CALL interface_create_start(interfaceusernumber,region%region,interface%interface,err,error,*999)
38783 
38784  exits("cmfe_Interface_CreateStartObj")
38785  RETURN
38786 999 errorsexits("cmfe_Interface_CreateStartObj",err,error)
38787  CALL cmfe_handleerror(err,error)
38788  RETURN
38789 
38790  END SUBROUTINE cmfe_interface_createstartobj
38791 
38792  !
38793  !================================================================================================================================
38794  !
38795 
38797  SUBROUTINE cmfe_interface_coordinatesystemsetnumber(parentRegionUserNumber,interfaceUserNumber,coordinateSystemUserNumber,err)
38798  !DLLEXPORT(cmfe_Interface_CoordinateSystemSetNumber)
38799 
38800  !Argument variables
38801  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
38802  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
38803  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
38804  INTEGER(INTG), INTENT(OUT) :: Err
38805  !Local variables
38806  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
38807  TYPE(region_type), POINTER :: REGION
38808  TYPE(interface_type), POINTER :: INTERFACE
38809  TYPE(varying_string) :: localError
38810 
38811  enters("cmfe_Interface_CoordinateSystemSetNumber",err,error,*999)
38812 
38813  NULLIFY(interface)
38814  NULLIFY(region)
38815  NULLIFY(coordinate_system)
38816  CALL region_user_number_find(parentregionusernumber,region,err,error,*999)
38817  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
38818 
38819  IF(ASSOCIATED(interface)) THEN
38820  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
38821  IF(ASSOCIATED(coordinate_system)) THEN
38822  CALL interface_coordinate_system_set(interface,coordinate_system,err,error,*999)
38823  ELSE
38824  localerror="A coordinate system with an user number of "// &
38825  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//" does not exist."
38826  CALL flagerror(localerror,err,error,*999)
38827  ENDIF
38828  ELSE
38829  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
38830  & " does not exist."
38831  CALL flagerror(localerror,err,error,*999)
38832  ENDIF
38833 
38834  exits("cmfe_Interface_CoordinateSystemSetNumber")
38835  RETURN
38836 999 errorsexits("cmfe_Interface_CoordinateSystemSetNumber",err,error)
38837  CALL cmfe_handleerror(err,error)
38838  RETURN
38839 
38841 
38842  !
38843  !================================================================================================================================
38844  !
38845 
38847  SUBROUTINE cmfe_interface_coordinatesystemsetobj(interface,coordinateSystem,err)
38848  !DLLEXPORT(cmfe_Interface_CoordinateSystemSetObj)
38849 
38850  !Argument variables
38851  TYPE(cmfe_interfacetype), INTENT(IN) :: interface
38852  TYPE(cmfe_coordinatesystemtype), INTENT(IN) :: coordinateSystem
38853  INTEGER(INTG), INTENT(OUT) :: Err
38854  !Local variables
38855 
38856  enters("cmfe_Interface_CoordinateSystemSetObj",err,error,*999)
38857 
38858  CALL interface_coordinate_system_set(interface%interface,coordinatesystem%coordinateSystem,err,error,*999)
38859 
38860  exits("cmfe_Interface_CoordinateSystemSetObj")
38861  RETURN
38862 999 errorsexits("cmfe_Interface_CoordinateSystemSetObj",err,error)
38863  CALL cmfe_handleerror(err,error)
38864  RETURN
38866 
38867  !
38868  !================================================================================================================================
38869  !
38870 
38872  SUBROUTINE cmfe_interface_coordinatesystemgetnumber(parentRegionUserNumber,interfaceUserNumber,coordinateSystemUserNumber,err)
38873  !DLLEXPORT(cmfe_Interface_CoordinateSystemGetNumber)
38874 
38875  !Argument variables
38876  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
38877  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
38878  INTEGER(INTG), INTENT(OUT) :: coordinateSystemUserNumber
38879  INTEGER(INTG), INTENT(OUT) :: err
38880  !Local variables
38881  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
38882  TYPE(interface_type), POINTER :: INTERFACE
38883  TYPE(region_type), POINTER :: REGION
38884  TYPE(varying_string) :: localError
38885 
38886  enters("cmfe_Interface_CoordinateSystemGetNumber",err,error,*999)
38887 
38888  NULLIFY(region)
38889  NULLIFY(interface)
38890  NULLIFY(coordinate_system)
38891  CALL region_user_number_find(parentregionusernumber,region,err,error,*999)
38892  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
38893  IF(ASSOCIATED(interface)) THEN
38894  CALL interface_coordinate_system_get(interface,coordinate_system,err,error,*999)
38895  IF(ASSOCIATED(coordinate_system)) THEN
38896  coordinatesystemusernumber = coordinate_system%USER_NUMBER
38897  ELSE
38898  localerror="The coordinate system is not associated for interface number "// &
38899  & trim(numbertovstring(interfaceusernumber,"*",err,error))//" does not exist."
38900  CALL flagerror(localerror,err,error,*999)
38901  ENDIF
38902  ELSE
38903  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
38904  & " does not exist."
38905  CALL flagerror(localerror,err,error,*999)
38906  ENDIF
38907 
38908  exits("cmfe_Interface_CoordinateSystemGetNumber")
38909  RETURN
38910 999 errorsexits("cmfe_Interface_CoordinateSystemGetNumber",err,error)
38911  CALL cmfe_handleerror(err,error)
38912  RETURN
38913 
38915 
38916  !
38917  !================================================================================================================================
38918  !
38919 
38921  SUBROUTINE cmfe_interface_coordinatesystemgetobj(Interface,CoordinateSystem,err)
38922  !DLLEXPORT(cmfe_Interface_CoordinateSystemGetObj)
38923 
38924  !Argument variables
38925  TYPE(cmfe_interfacetype), INTENT(IN) :: Interface
38926  TYPE(cmfe_coordinatesystemtype), INTENT(INOUT) :: CoordinateSystem
38927  INTEGER(INTG), INTENT(OUT) :: Err
38928  !Local variables
38929 
38930  enters("cmfe_Interface_CoordinateSystemGetObj",err,error,*999)
38931 
38932  CALL interface_coordinate_system_get(interface%interface,coordinatesystem%coordinateSystem,err,error,*999)
38933 
38934  exits("cmfe_Interface_CoordinateSystemGetObj")
38935  RETURN
38936 999 errorsexits("cmfe_Interface_CoordinateSystemGetObj",err,error)
38937  CALL cmfe_handleerror(err,error)
38938  RETURN
38939 
38941 
38942  !
38943  !================================================================================================================================
38944  !
38945 
38947  SUBROUTINE cmfe_interface_destroynumber(regionUserNumber,interfaceUserNumber,err)
38948  !DLLEXPORT(cmfe_Interface_DestroyNumber)
38949 
38950  !Argument variables
38951  INTEGER(INTG), INTENT(IN) :: regionUserNumber
38952  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
38953  INTEGER(INTG), INTENT(OUT) :: err
38954  !Local variables
38955  TYPE(interface_type), POINTER :: INTERFACE
38956  TYPE(region_type), POINTER :: REGION
38957  TYPE(varying_string) :: localError
38958 
38959  enters("cmfe_FInterfaceDestroyNumber",err,error,*999)
38960 
38961  NULLIFY(region)
38962  NULLIFY(interface)
38963  CALL region_user_number_find(regionusernumber,region,err,error,*999)
38964  IF(ASSOCIATED(region)) THEN
38965  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
38966  IF(ASSOCIATED(interface)) THEN
38967  CALL interface_destroy(interface,err,error,*999)
38968  ELSE
38969  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
38970  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
38971  CALL flagerror(localerror,err,error,*999)
38972  END IF
38973  ELSE
38974  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
38975  CALL flagerror(localerror,err,error,*999)
38976  END IF
38977 
38978  exits("cmfe_Interface_DestroyNumber")
38979  RETURN
38980 999 errorsexits("cmfe_Interface_DestroyNumber",err,error)
38981  CALL cmfe_handleerror(err,error)
38982  RETURN
38983 
38984  END SUBROUTINE cmfe_interface_destroynumber
38985 
38986  !
38987  !================================================================================================================================
38988  !
38989 
38991  SUBROUTINE cmfe_interface_destroyobj(interface,err)
38992  !DLLEXPORT(cmfe_Interface_DestroyObj)
38993 
38994  !Argument variables
38995  TYPE(cmfe_interfacetype), INTENT(IN) :: Interface
38996  INTEGER(INTG), INTENT(OUT) :: err
38997  !Local variables
38998 
38999  enters("cmfe_Interface_DestroyObj",err,error,*999)
39000 
39001  CALL interface_destroy(interface%interface,err,error,*999)
39002 
39003  exits("cmfe_Interface_DestroyObj")
39004  RETURN
39005 999 errorsexits("cmfe_Interface_DestroyObj",err,error)
39006  CALL cmfe_handleerror(err,error)
39007  RETURN
39008 
39009  END SUBROUTINE cmfe_interface_destroyobj
39010 
39011  !
39012  !================================================================================================================================
39013  !
39014 
39016  SUBROUTINE cmfe_interface_labelgetcnumber(parentRegionUserNumber,interfaceUserNumber,label,err)
39017  !DLLEXPORT(cmfe_Interface_LabelGetCNumber)
39018 
39019  !Argument variables
39020  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
39021  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
39022  CHARACTER(LEN=*), INTENT(OUT) :: label
39023  INTEGER(INTG), INTENT(OUT) :: err
39024  !Local variables
39025  TYPE(interface_type), POINTER :: INTERFACE
39026  TYPE(region_type), POINTER :: PARENT_REGION
39027  TYPE(varying_string) :: localError
39028 
39029  enters("cmfe_Interface_LabelGetCNumber",err,error,*999)
39030 
39031  NULLIFY(parent_region)
39032  NULLIFY(interface)
39033  CALL region_user_number_find(parentregionusernumber,parent_region,err,error,*999)
39034  IF(ASSOCIATED(parent_region)) THEN
39035  CALL interface_user_number_find(interfaceusernumber,parent_region,interface,err,error,*999)
39036  IF(ASSOCIATED(interface)) THEN
39037  CALL interface_label_get(interface,label,err,error,*999)
39038  ELSE
39039  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
39040  & " does not exist on a parent region with a user number of "// &
39041  & trim(numbertovstring(parentregionusernumber,"*",err,error))//"."
39042  CALL flagerror(localerror,err,error,*999)
39043  END IF
39044  ELSE
39045  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
39046  & " does not exist."
39047  CALL flagerror(localerror,err,error,*999)
39048  END IF
39049 
39050  exits("cmfe_Interface_LabelGetCNumber")
39051  RETURN
39052 999 errorsexits("cmfe_Interface_LabelGetCNumber",err,error)
39053  CALL cmfe_handleerror(err,error)
39054  RETURN
39055 
39056  END SUBROUTINE cmfe_interface_labelgetcnumber
39057 
39058  !
39059  !================================================================================================================================
39060  !
39061 
39063  SUBROUTINE cmfe_interface_labelgetcobj(interface,label,err)
39064  !DLLEXPORT(cmfe_Interface_LabelGetCObj)
39065 
39066  !Argument variables
39067  TYPE(cmfe_interfacetype), INTENT(IN) :: interface
39068  CHARACTER(LEN=*), INTENT(OUT) :: label
39069  INTEGER(INTG), INTENT(OUT) :: err
39070  !Local variables
39071 
39072  enters("cmfe_Interface_LabelGetCObj",err,error,*999)
39073 
39074  CALL interface_label_get(interface%interface,label,err,error,*999)
39075 
39076  exits("cmfe_Interface_LabelGetCObj")
39077  RETURN
39078 999 errorsexits("cmfe_Interface_LabelGetCObj",err,error)
39079  CALL cmfe_handleerror(err,error)
39080  RETURN
39081 
39082  END SUBROUTINE cmfe_interface_labelgetcobj
39083 
39084  !
39085  !================================================================================================================================
39086  !
39087 
39089  SUBROUTINE cmfe_interface_labelgetvsnumber(parentRegionUserNumber,interfaceUserNumber,label,err)
39090  !DLLEXPORT(cmfe_Interface_LabelGetVSNumber)
39091 
39092  !Argument variables
39093  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
39094  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
39095  TYPE(varying_string), INTENT(OUT) :: label
39096  INTEGER(INTG), INTENT(OUT) :: err
39097  !Local variables
39098  TYPE(interface_type), POINTER :: INTERFACE
39099  TYPE(region_type), POINTER :: PARENT_REGION
39100  TYPE(varying_string) :: localError
39101 
39102  enters("cmfe_Interface_LabelGetVSNumber",err,error,*999)
39103 
39104  NULLIFY(parent_region)
39105  NULLIFY(interface)
39106  CALL region_user_number_find(parentregionusernumber,parent_region,err,error,*999)
39107  IF(ASSOCIATED(parent_region)) THEN
39108  CALL interface_user_number_find(interfaceusernumber,parent_region,interface,err,error,*999)
39109  IF(ASSOCIATED(interface)) THEN
39110  CALL interface_label_get(interface,label,err,error,*999)
39111  ELSE
39112  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
39113  & " does not exist on a parent region with a user number of "// &
39114  & trim(numbertovstring(parentregionusernumber,"*",err,error))//"."
39115  CALL flagerror(localerror,err,error,*999)
39116  END IF
39117  ELSE
39118  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
39119  & " does not exist."
39120  CALL flagerror(localerror,err,error,*999)
39121  END IF
39122 
39123  exits("cmfe_Interface_LabelGetVSNumber")
39124  RETURN
39125 999 errorsexits("cmfe_Interface_LabelGetVSNumber",err,error)
39126  CALL cmfe_handleerror(err,error)
39127  RETURN
39128 
39129  END SUBROUTINE cmfe_interface_labelgetvsnumber
39130 
39131  !
39132  !================================================================================================================================
39133  !
39134 
39136  SUBROUTINE cmfe_interface_labelgetvsobj(interface,label,err)
39137  !DLLEXPORT(cmfe_Interface_LabelGetVSObj)
39138 
39139  !Argument variables
39140  TYPE(cmfe_interfacetype), INTENT(IN) :: Interface
39141  TYPE(varying_string), INTENT(OUT) :: label
39142  INTEGER(INTG), INTENT(OUT) :: err
39143  !Local variables
39144 
39145  enters("cmfe_Interface_LabelGetVSObj",err,error,*999)
39146 
39147  CALL interface_label_get(interface%interface,label,err,error,*999)
39148 
39149  exits("cmfe_Interface_LabelGetVSObj")
39150  RETURN
39151 999 errorsexits("cmfe_Interface_LabelGetVSObj",err,error)
39152  CALL cmfe_handleerror(err,error)
39153  RETURN
39154 
39155  END SUBROUTINE cmfe_interface_labelgetvsobj
39156 
39157  !
39158  !================================================================================================================================
39159  !
39160 
39162  SUBROUTINE cmfe_interface_labelsetcnumber(parentRegionUserNumber,interfaceUserNumber,label,err)
39163  !DLLEXPORT(cmfe_Interface_LabelSetCNumber)
39164 
39165  !Argument variables
39166  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
39167  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
39168  CHARACTER(LEN=*), INTENT(IN) :: label
39169  INTEGER(INTG), INTENT(OUT) :: err
39170  !Local variables
39171  TYPE(interface_type), POINTER :: INTERFACE
39172  TYPE(region_type), POINTER :: PARENT_REGION
39173  TYPE(varying_string) :: localError
39174 
39175  enters("cmfe_Interface_LabelSetCNumber",err,error,*999)
39176 
39177  NULLIFY(parent_region)
39178  NULLIFY(interface)
39179  CALL region_user_number_find(parentregionusernumber,parent_region,err,error,*999)
39180  IF(ASSOCIATED(parent_region)) THEN
39181  CALL interface_user_number_find(interfaceusernumber,parent_region,interface,err,error,*999)
39182  IF(ASSOCIATED(interface)) THEN
39183  CALL interface_label_set(interface,label,err,error,*999)
39184  ELSE
39185  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
39186  & " does not exist on a parent region with a user number of "// &
39187  & trim(numbertovstring(parentregionusernumber,"*",err,error))//"."
39188  CALL flagerror(localerror,err,error,*999)
39189  END IF
39190  ELSE
39191  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
39192  & " does not exist."
39193  CALL flagerror(localerror,err,error,*999)
39194  END IF
39195 
39196  exits("cmfe_Interface_LabelSetCNumber")
39197  RETURN
39198 999 errorsexits("cmfe_Interface_LabelSetCNumber",err,error)
39199  CALL cmfe_handleerror(err,error)
39200  RETURN
39201 
39202  END SUBROUTINE cmfe_interface_labelsetcnumber
39203 
39204  !
39205  !================================================================================================================================
39206  !
39207 
39209  SUBROUTINE cmfe_interface_labelsetcobj(interface,label,err)
39210  !DLLEXPORT(cmfe_Interface_LabelSetCObj)
39211 
39212  !Argument variables
39213  TYPE(cmfe_interfacetype), INTENT(IN) :: Interface
39214  CHARACTER(LEN=*), INTENT(IN) :: label
39215  INTEGER(INTG), INTENT(OUT) :: err
39216  !Local variables
39217 
39218  enters("cmfe_Interface_LabelSetCObj",err,error,*999)
39219 
39220  CALL interface_label_set(interface%interface,label,err,error,*999)
39221 
39222  exits("cmfe_Interface_LabelSetCObj")
39223  RETURN
39224 999 errorsexits("cmfe_Interface_LabelSetCObj",err,error)
39225  CALL cmfe_handleerror(err,error)
39226  RETURN
39227 
39228  END SUBROUTINE cmfe_interface_labelsetcobj
39229 
39230  !
39231  !================================================================================================================================
39232  !
39233 
39235  SUBROUTINE cmfe_interface_labelsetvsnumber(parentRegionUserNumber,interfaceUserNumber,label,err)
39236  !DLLEXPORT(cmfe_Interface_LabelSetVSNumber)
39237 
39238  !Argument variables
39239  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
39240  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
39241  TYPE(varying_string), INTENT(IN) :: label
39242  INTEGER(INTG), INTENT(OUT) :: err
39243  !Local variables
39244  TYPE(interface_type), POINTER :: INTERFACE
39245  TYPE(region_type), POINTER :: PARENT_REGION
39246  TYPE(varying_string) :: localError
39247 
39248  enters("cmfe_Interface_LabelSetVSNumber",err,error,*999)
39249 
39250  NULLIFY(parent_region)
39251  NULLIFY(interface)
39252  CALL region_user_number_find(parentregionusernumber,parent_region,err,error,*999)
39253  IF(ASSOCIATED(parent_region)) THEN
39254  CALL interface_user_number_find(interfaceusernumber,parent_region,interface,err,error,*999)
39255  IF(ASSOCIATED(interface)) THEN
39256  CALL interface_label_set(interface,char(label),err,error,*999)
39257  ELSE
39258  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
39259  & " does not exist on a parent region with a user number of "// &
39260  & trim(numbertovstring(parentregionusernumber,"*",err,error))//"."
39261  CALL flagerror(localerror,err,error,*999)
39262  END IF
39263  ELSE
39264  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
39265  & " does not exist."
39266  CALL flagerror(localerror,err,error,*999)
39267  END IF
39268 
39269  exits("cmfe_InterfaceLabelStVSNumber")
39270  RETURN
39271 999 errorsexits("cmfe_Interface_LabelSetVSNumber",err,error)
39272  CALL cmfe_handleerror(err,error)
39273  RETURN
39274 
39275  END SUBROUTINE cmfe_interface_labelsetvsnumber
39276 
39277  !
39278  !================================================================================================================================
39279  !
39280 
39282  SUBROUTINE cmfe_interface_labelsetvsobj(interface,label,err)
39283  !DLLEXPORT(cmfe_Interface_LabelSetVSObj)
39284 
39285  !Argument variables
39286  TYPE(cmfe_interfacetype), INTENT(IN) :: Interface
39287  TYPE(varying_string), INTENT(IN) :: label
39288  INTEGER(INTG), INTENT(OUT) :: err
39289  !Local variables
39290 
39291  enters("cmfe_Interface_LabelSetVSObj",err,error,*999)
39292 
39293  CALL interface_label_set(interface%interface,char(label),err,error,*999)
39294 
39295  exits("cmfe_Interface_LabelSetVSObj")
39296  RETURN
39297 999 errorsexits("cmfe_Interface_LabelSetVSObj",err,error)
39298  CALL cmfe_handleerror(err,error)
39299  RETURN
39300 
39301  END SUBROUTINE cmfe_interface_labelsetvsobj
39302 
39303  !
39304  !================================================================================================================================
39305  !
39306 
39308  SUBROUTINE cmfe_interface_nodesgetobj(interface,nodes,err)
39309  !DLLEXPORT(cmfe_Interface_NodesGetObj)
39310 
39311  !Argument variables
39312  TYPE(cmfe_interfacetype), INTENT(IN) :: interface
39313  TYPE(cmfe_nodestype), INTENT(INOUT) :: nodes
39314  INTEGER(INTG), INTENT(OUT) :: err
39315  !Local variables
39316 
39317  enters("cmfe_Interface_NodesGetObj",err,error,*999)
39318 
39319  CALL interface_nodes_get(interface%interface,nodes%nodes,err,error,*999)
39320 
39321  exits("cmfe_Interface_NodesGetObj")
39322  RETURN
39323 999 errorsexits("cmfe_Interface_NodesGetObj",err,error)
39324  CALL cmfe_handleerror(err,error)
39325  RETURN
39326 
39327  END SUBROUTINE cmfe_interface_nodesgetobj
39328 
39329  !
39330  !================================================================================================================================
39331  !
39332 
39334  SUBROUTINE cmfe_interface_meshaddnumber(interfaceRegionUserNumber,interfaceUserNumber,meshRegionUserNumber, &
39335  & meshusernumber,meshindex,err)
39336  !DLLEXPORT(cmfe_Interface_MeshAddNumber)
39337 
39338  !Argument variables
39339  INTEGER(INTG), INTENT(IN) :: interfaceRegionUserNumber
39340  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
39341  INTEGER(INTG), INTENT(IN) :: meshRegionUserNumber
39342  INTEGER(INTG), INTENT(IN) :: meshUserNumber
39343  INTEGER(INTG), INTENT(OUT) :: meshIndex
39344  INTEGER(INTG), INTENT(OUT) :: err
39345  !Local variables
39346  TYPE(interface_type), POINTER :: INTERFACE
39347  TYPE(mesh_type), POINTER :: MESH
39348  TYPE(region_type), POINTER :: MESH_REGION,PARENT_REGION
39349  TYPE(varying_string) :: localError
39350 
39351  enters("cmfe_Interface_MeshAddNumber",err,error,*999)
39352 
39353  NULLIFY(parent_region)
39354  NULLIFY(interface)
39355  NULLIFY(mesh_region)
39356  NULLIFY(mesh)
39357  CALL region_user_number_find(interfaceregionusernumber,parent_region,err,error,*999)
39358  IF(ASSOCIATED(parent_region)) THEN
39359  CALL interface_user_number_find(interfaceusernumber,parent_region,interface,err,error,*999)
39360  IF(ASSOCIATED(interface)) THEN
39361  CALL region_user_number_find(meshregionusernumber,mesh_region,err,error,*999)
39362  IF(ASSOCIATED(mesh_region)) THEN
39363  CALL mesh_user_number_find(meshusernumber,mesh_region,mesh,err,error,*999)
39364  IF(ASSOCIATED(mesh)) THEN
39365  CALL interface_mesh_add(interface,mesh,meshindex,err,error,*999)
39366  ELSE
39367  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
39368  & " does not exist on the region with an user number of "// &
39369  & trim(numbertovstring(meshregionusernumber,"*",err,error))//"."
39370  CALL flagerror(localerror,err,error,*999)
39371  END IF
39372  ELSE
39373  localerror="The mesh region with an user number of "//trim(numbertovstring(meshregionusernumber,"*",err,error))// &
39374  & " does not exist."
39375  CALL flagerror(localerror,err,error,*999)
39376  END IF
39377  ELSE
39378  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
39379  & " does not exist on the region with an user number of "// &
39380  & trim(numbertovstring(interfaceregionusernumber,"*",err,error))//"."
39381  CALL flagerror(localerror,err,error,*999)
39382  END IF
39383  ELSE
39384  localerror="The interface parent region with an user number of "// &
39385  & trim(numbertovstring(interfaceregionusernumber,"*",err,error))//" does not exist."
39386  CALL flagerror(localerror,err,error,*999)
39387  END IF
39388 
39389  exits("cmfe_Interface_MeshAddNumber")
39390  RETURN
39391 999 errorsexits("cmfe_Interface_MeshAddNumber",err,error)
39392  CALL cmfe_handleerror(err,error)
39393  RETURN
39394 
39395  END SUBROUTINE cmfe_interface_meshaddnumber
39396 
39397  !
39398  !================================================================================================================================
39399  !
39400 
39402  SUBROUTINE cmfe_interface_meshaddobj(interface,mesh,meshIndex,err)
39403  !DLLEXPORT(cmfe_Interface_MeshAddObj)
39404 
39405  !Argument variables
39406  TYPE(cmfe_interfacetype), INTENT(IN) :: interface
39407  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
39408  INTEGER(INTG), INTENT(OUT) :: meshIndex
39409  INTEGER(INTG), INTENT(OUT) :: err
39410  !Local variables
39411 
39412  enters("cmfe_Interface_MeshAddObj",err,error,*999)
39413 
39414  CALL interface_mesh_add(interface%interface,mesh%mesh,meshindex,err,error,*999)
39415 
39416  exits("cmfe_Interface_MeshAddObj")
39417  RETURN
39418 999 errorsexits("cmfe_Interface_MeshAddObj",err,error)
39419  CALL cmfe_handleerror(err,error)
39420  RETURN
39421 
39422  END SUBROUTINE cmfe_interface_meshaddobj
39423 
39424  !
39425  !================================================================================================================================
39426  !
39427 
39429  SUBROUTINE cmfe_interfacemeshconnectivity_createfinishnumber(regionUserNumber,interfaceUserNumber,err)
39430  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_CreateFinishNumber)
39431 
39432  !Argument variables
39433  INTEGER(INTG), INTENT(IN) :: regionUserNumber
39434  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
39435  INTEGER(INTG), INTENT(OUT) :: err
39436  !Local variables
39437  TYPE(interface_type), POINTER :: INTERFACE
39438  TYPE(region_type), POINTER :: REGION
39439  TYPE(varying_string) :: localError
39440 
39441  enters("cmfe_InterfaceMeshConnectivity_CreateFinishNumber",err,error,*999)
39442 
39443  NULLIFY(region)
39444  NULLIFY(interface)
39445  CALL region_user_number_find(regionusernumber,region,err,error,*999)
39446  IF(ASSOCIATED(region)) THEN
39447  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
39448  IF(ASSOCIATED(interface)) THEN
39449  CALL interface_mesh_connectivity_create_finish(interface%MESH_CONNECTIVITY,err,error,*999)
39450  ELSE
39451  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
39452  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
39453  CALL flagerror(localerror,err,error,*999)
39454  ENDIF
39455  ELSE
39456  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
39457  & " does not exist."
39458  CALL flagerror(localerror,err,error,*999)
39459  ENDIF
39460 
39461  exits("cmfe_InterfaceMeshConnectivity_CreateFinishNumber")
39462  RETURN
39463 999 errors("cmfe_InterfaceMeshConnectivity_CreateFinishNumber",err,error)
39464  exits("cmfe_InterfaceMeshConnectivity_CreateFinishNumber")
39465  CALL cmfe_handleerror(err,error)
39466  RETURN
39467 
39469 
39470  !
39471  !================================================================================================================================
39472  !
39473 
39475  SUBROUTINE cmfe_interfacemeshconnectivity_createfinishobj(interfaceMeshConnectivity,err)
39476  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_CreateFinishObj)
39477 
39478  !Argument variables
39479  TYPE(cmfe_interfacemeshconnectivitytype), INTENT(IN) :: interfaceMeshConnectivity
39480  INTEGER(INTG), INTENT(OUT) :: err
39481  !Local variables
39482 
39483  enters("cmfe_InterfaceMeshConnectivity_CreateFinishObj",err,error,*999)
39484 
39485  CALL interface_mesh_connectivity_create_finish(interfacemeshconnectivity%meshConnectivity,err,error,*999)
39486 
39487  exits("cmfe_InterfaceMeshConnectivity_CreateFinishObj")
39488  RETURN
39489 999 errors("cmfe_InterfaceMeshConnectivity_CreateFinishObj",err,error)
39490  exits("cmfe_InterfaceMeshConnectivity_CreateFinishObj")
39491  CALL cmfe_handleerror(err,error)
39492  RETURN
39493 
39495 
39496  !
39497  !================================================================================================================================
39498  !
39499 
39501  SUBROUTINE cmfe_interfacemeshconnectivity_createstartnumber(regionUserNumber,interfaceUserNumber,meshNumber,err)
39502  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_CreateStartNumber)
39503 
39504  !Argument variables
39505  INTEGER(INTG), INTENT(IN) :: regionUserNumber
39506  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
39507  INTEGER(INTG), INTENT(IN) :: meshNumber
39508  INTEGER(INTG), INTENT(OUT) :: err
39509  !Local variables
39510  TYPE(interface_type), POINTER :: INTERFACE
39511  TYPE(mesh_type), POINTER :: MESH
39512  TYPE(interface_mesh_connectivity_type), POINTER :: INTERFACE_MESH_CONNECTIVITY
39513  TYPE(region_type), POINTER :: REGION
39514  TYPE(varying_string) :: localError
39515 
39516  enters("cmfe_InterfaceMeshConnectivity_CreateStartNumber",err,error,*999)
39517 
39518  NULLIFY(region)
39519  NULLIFY(interface)
39520  NULLIFY(interface_mesh_connectivity)
39521  CALL region_user_number_find(regionusernumber,region,err,error,*999)
39522  IF(ASSOCIATED(region)) THEN
39523  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
39524  IF(ASSOCIATED(interface)) THEN
39525  CALL mesh_user_number_find(meshnumber,interface,mesh,err,error,*999)
39526  IF(ASSOCIATED(mesh)) THEN
39527  CALL interface_mesh_connectivity_create_start(interface,mesh,interface_mesh_connectivity,err,error,*999)
39528  ELSE
39529  localerror="A mesh with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
39530  & " does not exist on the interface with user number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
39531  CALL flagerror(localerror,err,error,*999)
39532  END IF
39533  ELSE
39534  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
39535  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
39536  CALL flagerror(localerror,err,error,*999)
39537  END IF
39538  ELSE
39539  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
39540  & " does not exist."
39541  CALL flagerror(localerror,err,error,*999)
39542  END IF
39543 
39544  exits("cmfe_InterfaceMeshConnectivity_CreateStartNumber")
39545  RETURN
39546 999 errors("cmfe_InterfaceMeshConnectivity_CreateStartNumber",err,error)
39547  exits("cmfe_InterfaceMeshConnectivity_CreateStartNumber")
39548  CALL cmfe_handleerror(err,error)
39549  RETURN
39550 
39552 
39553  !
39554  !================================================================================================================================
39555  !
39556 
39558  SUBROUTINE cmfe_interfacemeshconnectivity_createstartobj(interface,interfaceMesh,interfaceMeshConnectivity,err)
39559  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_CreateStartObj)
39560 
39561  !Argument variables
39562  TYPE(cmfe_interfacetype), INTENT(IN) :: interface
39563  TYPE(cmfe_meshtype), INTENT(IN) :: interfaceMesh
39564  TYPE(cmfe_interfacemeshconnectivitytype), INTENT(INOUT) :: interfaceMeshConnectivity
39565  INTEGER(INTG), INTENT(OUT) :: err
39566  !Local variables
39567 
39568  enters("cmfe_InterfaceMeshConnectivity_CreateStartObj",err,error,*999)
39569 
39570  CALL interface_mesh_connectivity_create_start(interface%interface,interfacemesh%mesh, &
39571  & interfacemeshconnectivity%meshConnectivity,err,error,*999)
39572 
39573  exits("cmfe_InterfaceMeshConnectivity_CreateStartObj")
39574  RETURN
39575 999 errors("cmfe_InterfaceMeshConnectivity_CreateStartObj",err,error)
39576  exits("cmfe_InterfaceMeshConnectivity_CreateStartObj")
39577  CALL cmfe_handleerror(err,error)
39578  RETURN
39579 
39581 
39582 
39583  !
39584  !================================================================================================================================
39585  !
39586 
39588  SUBROUTINE cmfe_interfacemeshconnectivity_elementnumbersetnumber(regionUserNumber,interfaceUserNumber, &
39589  & interfaceelementnumber,coupledmeshindexnumber,coupledmeshelementnumber,err)
39590  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_ElementNumberSetNumber)
39591 
39592  !Argument variables
39593  INTEGER(INTG), INTENT(IN) :: regionUserNumber
39594  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
39595  INTEGER(INTG), INTENT(IN) :: interfaceElementNumber
39596  INTEGER(INTG), INTENT(IN) :: coupledMeshIndexNumber
39597  INTEGER(INTG), INTENT(IN) :: coupledMeshElementNumber
39598  INTEGER(INTG), INTENT(OUT) :: err
39599  !Local variables
39600  TYPE(interface_type), POINTER :: INTERFACE
39601  TYPE(region_type), POINTER :: REGION
39602  TYPE(varying_string) :: localError
39603 
39604  enters("cmfe_InterfaceMeshConnectivity_ElementNumberSetNumber",err,error,*999)
39605 
39606  NULLIFY(region)
39607  NULLIFY(interface)
39608  CALL region_user_number_find(regionusernumber,region,err,error,*999)
39609  IF(ASSOCIATED(region)) THEN
39610  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
39611  IF(ASSOCIATED(interface)) THEN
39612  CALL interfacemeshconnectivity_elementnumberset(interface%MESH_CONNECTIVITY,interfaceelementnumber, &
39613  & coupledmeshindexnumber,coupledmeshelementnumber,err,error,*999)
39614  ELSE
39615  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
39616  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
39617  CALL flagerror(localerror,err,error,*999)
39618  END IF
39619  ELSE
39620  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
39621  & " does not exist."
39622  CALL flagerror(localerror,err,error,*999)
39623  END IF
39624 
39625  exits("cmfe_InterfaceMeshConnectivity_ElementNumberSetNumber")
39626  RETURN
39627 999 errors("cmfe_InterfaceMeshConnectivity_ElementNumberSetNumber",err,error)
39628  exits("cmfe_InterfaceMeshConnectivity_ElementNumberSetNumber")
39629  CALL cmfe_handleerror(err,error)
39630  RETURN
39631 
39633 
39634  !
39635  !================================================================================================================================
39636  !
39637 
39639  SUBROUTINE cmfe_interfacemeshconnectivity_elementnumbersetobj(interfaceMeshConnectivity,interfaceElementNumber, &
39640  & coupledmeshindexnumber,coupledmeshelementnumber,err)
39641  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_ElementNumberSetObj)
39642 
39643  !Argument variables
39644  TYPE(cmfe_interfacemeshconnectivitytype), INTENT(IN) :: interfaceMeshConnectivity
39645  INTEGER(INTG), INTENT(IN) :: interfaceElementNumber
39646  INTEGER(INTG), INTENT(IN) :: coupledMeshIndexNumber
39647  INTEGER(INTG), INTENT(IN) :: coupledMeshElementNumber
39648  INTEGER(INTG), INTENT(OUT) :: err
39649  !Local variables
39650 
39651  enters("cmfe_InterfaceMeshConnectivity_ElementNumberSetObj",err,error,*999)
39652 
39653  CALL interfacemeshconnectivity_elementnumberset(interfacemeshconnectivity%meshConnectivity, &
39654  & interfaceelementnumber,coupledmeshindexnumber,coupledmeshelementnumber,err,error,*999)
39655 
39656  exits("cmfe_InterfaceMeshConnectivity_ElementNumberSetObj")
39657  RETURN
39658 999 errors("cmfe_InterfaceMeshConnectivity_ElementNumberSetObj",err,error)
39659  exits("cmfe_InterfaceMeshConnectivity_ElementNumberSetObj")
39660  CALL cmfe_handleerror(err,error)
39661  RETURN
39662 
39664 
39665 
39666  !
39667  !================================================================================================================================
39668  !
39669 
39671  SUBROUTINE cmfe_interfacemeshconnectivity_nodenumbersetnumber(regionUserNumber,interfaceUserNumber, &
39672  & interfaceelementnumber,coupledmeshindexnumber,coupledmeshelementnumber,err)
39673  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_NodeNumberSetNumber)
39674 
39675  !Argument variables
39676  INTEGER(INTG), INTENT(IN) :: regionUserNumber
39677  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
39678  INTEGER(INTG), INTENT(IN) :: interfaceElementNumber
39679  INTEGER(INTG), INTENT(IN) :: coupledMeshIndexNumber
39680  INTEGER(INTG), INTENT(IN) :: coupledMeshElementNumber
39681  INTEGER(INTG), INTENT(OUT) :: err
39682  !Local variables
39683 
39684  enters("cmfe_InterfaceMeshConnectivity_ElementNumberSetNumber",err,error,*999)
39685 
39686  CALL flagerror("Not implemented yet.",err,error,*999)
39687 
39688  exits("cmfe_InterfaceMeshConnectivity_ElementNumberSetNumber")
39689  RETURN
39690 999 errors("cmfe_InterfaceMeshConnectivity_ElementNumberSetNumber",err,error)
39691  exits("cmfe_InterfaceMeshConnectivity_ElementNumberSetNumber")
39692  CALL cmfe_handleerror(err,error)
39693  RETURN
39694 
39696 
39697  !
39698  !================================================================================================================================
39699  !
39700 
39702  SUBROUTINE cmfe_interfacemeshconnectivity_nodenumbersetobj(interfaceMeshConnectivity,interfaceNodeNumbers, &
39703  & firstcoupledmeshindexnumber,firstcoupledmeshnodenumbers,secondcoupledmeshindexnumber,secondcoupledmeshnodenumbers,err)
39704  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_NodeNumberSetObj)
39705 
39706  !Argument variables
39707  TYPE(cmfe_interfacemeshconnectivitytype), INTENT(IN) :: interfaceMeshConnectivity
39708  INTEGER(INTG), INTENT(IN) :: interfaceNodeNumbers(:)
39709  INTEGER(INTG), INTENT(IN) :: firstCoupledMeshIndexNumber,secondCoupledMeshIndexNumber
39710  INTEGER(INTG), INTENT(IN) :: firstCoupledMeshNodeNumbers(:),secondCoupledMeshNodeNumbers(:)
39711  INTEGER(INTG), INTENT(OUT) :: err
39712  !Local variables
39713  TYPE(varying_string) :: localError
39714 
39715  enters("cmfe_InterfaceMeshConnectivity_NodeNumberSetObj",err,error,*999)
39716 
39717  IF(SIZE(interfacenodenumbers(:))==SIZE(firstcoupledmeshnodenumbers(:)) &
39718  & .AND.SIZE(interfacenodenumbers(:))==SIZE(secondcoupledmeshnodenumbers(:))) THEN
39719  !TODO Check pointers
39720  !Set interface mesh connectivity node connectivity
39721  CALL interface_mesh_connectivity_node_number_set(interfacemeshconnectivity%meshConnectivity%interface%nodes, &
39722  & interfacenodenumbers,firstcoupledmeshindexnumber,firstcoupledmeshnodenumbers, &
39723  & secondcoupledmeshindexnumber,secondcoupledmeshnodenumbers,err,error,*999)
39724  ELSE
39725  localerror="Interface number of nodes does not match coupled meshes number of nodes."
39726  CALL flagerror(localerror,err,error,*999)
39727  ENDIF
39728 
39729  exits("cmfe_InterfaceMeshConnectivity_NodeNumberSetObj")
39730  RETURN
39731 999 errors("cmfe_InterfaceMeshConnectivity_NodeNumberSetObj",err,error)
39732  exits("cmfe_InterfaceMeshConnectivity_NodeNumberSetObj")
39733  CALL cmfe_handleerror(err,error)
39734  RETURN
39735 
39737 
39738  !
39739  !================================================================================================================================
39740  !
39741 
39743  SUBROUTINE cmfe_interfacemeshconnectivity_elementxisetnumber(regionUserNumber,interfaceUserNumber,interfaceElementNumber, &
39744  & coupledmeshindexnumber,coupledmeshelementnumber,interfacemeshlocalnodenumber,interfacemeshcomponentnodenumber,xi,err)
39745  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_ElementXiSetNumber)
39746 
39747  !Argument variables
39748  INTEGER(INTG), INTENT(IN) :: regionUserNumber
39749  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
39750  INTEGER(INTG), INTENT(IN) :: interfaceElementNumber
39751  INTEGER(INTG), INTENT(IN) :: coupledMeshIndexNumber
39752  INTEGER(INTG), INTENT(IN) :: coupledMeshElementNumber
39753  INTEGER(INTG), INTENT(IN) :: interfaceMeshLocalNodeNumber
39754  INTEGER(INTG), INTENT(IN) :: interfaceMeshComponentNodeNumber
39755  REAL(DP), INTENT(IN) :: xi(:)
39756  INTEGER(INTG), INTENT(OUT) :: err
39757 
39758  !Local variables
39759  TYPE(interface_type), POINTER :: INTERFACE
39760  TYPE(region_type), POINTER :: REGION
39761  TYPE(varying_string) :: localError
39762 
39763  enters("cmfe_InterfaceMeshConnectivity_ElementXiSetNumber",err,error,*999)
39764 
39765  NULLIFY(region)
39766  NULLIFY(interface)
39767  CALL region_user_number_find(regionusernumber,region,err,error,*999)
39768  IF(ASSOCIATED(region)) THEN
39769  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
39770  IF(ASSOCIATED(interface)) THEN
39771  CALL interface_mesh_connectivity_element_xi_set(interface%MESH_CONNECTIVITY,interfaceelementnumber, &
39772  & coupledmeshindexnumber,coupledmeshelementnumber,interfacemeshlocalnodenumber,interfacemeshcomponentnodenumber,xi, &
39773  & err,error,*999)
39774  ELSE
39775  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
39776  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
39777  CALL flagerror(localerror,err,error,*999)
39778  END IF
39779  ELSE
39780  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
39781  & " does not exist."
39782  CALL flagerror(localerror,err,error,*999)
39783  END IF
39784 
39785  exits("cmfe_InterfaceMeshConnectivity_ElementXiSetNumber")
39786  RETURN
39787 999 errors("cmfe_InterfaceMeshConnectivity_ElementXiSetNumber",err,error)
39788  exits("cmfe_InterfaceMeshConnectivity_ElementXiSetNumber")
39789  CALL cmfe_handleerror(err,error)
39790  RETURN
39791 
39793 
39794  !
39795  !================================================================================================================================
39796  !
39797 
39799  SUBROUTINE cmfe_interfacemeshconnectivity_elementxisetobj(interfaceMeshConnectivity,interfaceElementNumber, &
39800  & coupledmeshindexnumber,coupledmeshelementnumber,interfacemeshlocalnodenumber,interfacemeshcomponentnodenumber,xi,err)
39801  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_ElementXiSetObj)
39802 
39803  !Argument variables
39804  TYPE(cmfe_interfacemeshconnectivitytype), INTENT(IN) :: interfaceMeshConnectivity
39805  INTEGER(INTG), INTENT(IN) :: interfaceElementNumber
39806  INTEGER(INTG), INTENT(IN) :: coupledMeshIndexNumber
39807  INTEGER(INTG), INTENT(IN) :: coupledMeshElementNumber
39808  INTEGER(INTG), INTENT(IN) :: interfaceMeshLocalNodeNumber
39809  INTEGER(INTG), INTENT(IN) :: interfaceMeshComponentNodeNumber
39810  REAL(DP), INTENT(IN) :: xi(:)
39811  INTEGER(INTG), INTENT(OUT) :: err
39812  !Local variables
39813 
39814  enters("cmfe_InterfaceMeshConnectivity_ElementXiSetObj",err,error,*999)
39815 
39816  CALL interface_mesh_connectivity_element_xi_set(interfacemeshconnectivity%meshConnectivity,interfaceelementnumber, &
39817  & coupledmeshindexnumber,coupledmeshelementnumber,interfacemeshlocalnodenumber,interfacemeshcomponentnodenumber,xi, &
39818  & err,error,*999)
39819 
39820  exits("cmfe_InterfaceMeshConnectivity_ElementXiSetObj")
39821  RETURN
39822 999 errors("cmfe_InterfaceMeshConnectivity_ElementXiSetObj",err,error)
39823  exits("cmfe_InterfaceMeshConnectivity_ElementXiSetObj")
39824  CALL cmfe_handleerror(err,error)
39825  RETURN
39826 
39828 
39829  !
39830  !================================================================================================================================
39831  !
39832 
39833  SUBROUTINE cmfe_interfacemeshconnectivity_basissetnumber(regionUserNumber,interfaceUserNumber,interfaceBasisNumber,err)
39834  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_BasisSetNumber)
39835 
39836  !Argument variables
39837  INTEGER(INTG), INTENT(IN) :: regionUserNumber
39838  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
39839  INTEGER(INTG), INTENT(IN) :: interfaceBasisNumber
39840  INTEGER(INTG), INTENT(OUT) :: err
39841  !Local variables
39842  TYPE(basis_type), POINTER :: BASIS
39843  TYPE(interface_type), POINTER :: INTERFACE
39844  TYPE(region_type), POINTER :: REGION
39845  TYPE(varying_string) :: localError
39846 
39847  enters("cmfe_InterfaceMeshConnectivity_BasisSetNumber",err,error,*999)
39848 
39849  NULLIFY(region)
39850  NULLIFY(interface)
39851  NULLIFY(basis)
39852  CALL region_user_number_find(regionusernumber,region,err,error,*999)
39853  IF(ASSOCIATED(region)) THEN
39854  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
39855  IF(ASSOCIATED(interface)) THEN
39856  CALL basis_user_number_find(interfacebasisnumber,basis,err,error,*999)
39857  IF (ASSOCIATED(basis)) THEN
39858  CALL interface_mesh_connectivity_basis_set(interface%MESH_CONNECTIVITY,basis,err,error,*999)
39859  ELSE
39860  localerror="A basis with the user number "//trim(numbertovstring(interfacebasisnumber,"*",err,error))// &
39861  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
39862  CALL flagerror(localerror,err,error,*999)
39863  END IF
39864  ELSE
39865  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
39866  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
39867  CALL flagerror(localerror,err,error,*999)
39868  END IF
39869  ELSE
39870  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
39871  CALL flagerror(localerror,err,error,*999)
39872  END IF
39873 
39874  exits("cmfe_InterfaceMeshConnectivity_BasisSetNumber")
39875  RETURN
39876 999 errors("cmfe_InterfaceMeshConnectivity_BasisSetNumber",err,error)
39877  exits("cmfe_InterfaceMeshConnectivity_BasisSetNumber")
39878  CALL cmfe_handleerror(err,error)
39879  RETURN
39880 
39882 
39883  !
39884  !================================================================================================================================
39885  !
39886 
39888  SUBROUTINE cmfe_interfacemeshconnectivity_basissetobj(interfaceMeshConnectivity,interfaceMappingBasis,err)
39889  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_BasisSetObj)
39890 
39891  !Argument variables
39892  TYPE(cmfe_interfacemeshconnectivitytype), INTENT(IN) :: interfaceMeshConnectivity
39893  TYPE(cmfe_basistype), INTENT(INOUT) :: interfaceMappingBasis
39894  INTEGER(INTG), INTENT(OUT) :: err
39895  !Local variables
39896 
39897  enters("cmfe_InterfaceMeshConnectivity_BasisSetObj",err,error,*999)
39898 
39899  CALL interface_mesh_connectivity_basis_set(interfacemeshconnectivity%meshConnectivity,interfacemappingbasis%basis, &
39900  & err,error,*999)
39901 
39902  exits("cmfe_InterfaceMeshConnectivity_BasisSetObj")
39903  RETURN
39904 999 errorsexits("cmfe_InterfaceMeshConnectivity_BasisSetObj",err,error)
39905  CALL cmfe_handleerror(err,error)
39906  RETURN
39907 
39909 
39910  !
39911  !================================================================================================================================
39912  !
39913 
39915  SUBROUTINE cmfe_interfacemeshconnectivity_destroynumber(regionUserNumber,interfaceUserNumber,err)
39916  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_DestroyNumber)
39917 
39918  !Argument variables
39919  INTEGER(INTG), INTENT(IN) :: regionUserNumber
39920  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
39921  INTEGER(INTG), INTENT(OUT) :: err
39922  !Local variables
39923  TYPE(interface_type), POINTER :: INTERFACE
39924  TYPE(region_type), POINTER :: REGION
39925  TYPE(varying_string) :: localError
39926 
39927  enters("cmfe_FInterfaceMeshConnectivityDestroyNumber",err,error,*999)
39928 
39929  NULLIFY(region)
39930  NULLIFY(interface)
39931  CALL region_user_number_find(regionusernumber,region,err,error,*999)
39932  IF(ASSOCIATED(region)) THEN
39933  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
39934  IF(ASSOCIATED(interface)) THEN
39935  CALL interface_mesh_connectivity_destroy(interface%MESH_CONNECTIVITY,err,error,*999)
39936  ELSE
39937  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
39938  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
39939  CALL flagerror(localerror,err,error,*999)
39940  END IF
39941  ELSE
39942  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
39943  CALL flagerror(localerror,err,error,*999)
39944  END IF
39945 
39946  exits("cmfe_InterfaceMeshConnectivity_DestroyNumber")
39947  RETURN
39948 999 errors("cmfe_InterfaceMeshConnectivity_DestroyNumber",err,error)
39949  exits("cmfe_InterfaceMeshConnectivity_DestroyNumber")
39950  CALL cmfe_handleerror(err,error)
39951  RETURN
39952 
39954 
39955  !
39956  !================================================================================================================================
39957  !
39958 
39960  SUBROUTINE cmfe_interfacemeshconnectivity_destroyobj(interfaceMeshConnectivity,err)
39961  !DLLEXPORT(cmfe_InterfaceMeshConnectivity_DestroyObj)
39962 
39963  !Argument variables
39964  TYPE(cmfe_interfacemeshconnectivitytype), INTENT(IN) :: interfaceMeshConnectivity
39965  INTEGER(INTG), INTENT(OUT) :: err
39966  !Local variables
39967 
39968  enters("cmfe_InterfaceMeshConnectivity_DestroyObj",err,error,*999)
39969 
39970  IF(ASSOCIATED(interfacemeshconnectivity%meshConnectivity)) &
39971  & CALL interface_mesh_connectivity_destroy(interfacemeshconnectivity%meshConnectivity,err,error,*999)
39972 
39973  exits("cmfe_InterfaceMeshConnectivity_DestroyObj")
39974  RETURN
39975 999 errorsexits("cmfe_InterfaceMeshConnectivity_DestroyObj",err,error)
39976  CALL cmfe_handleerror(err,error)
39977  RETURN
39978 
39980 
39981  !
39982  !================================================================================================================================
39983  !
39984 
39986  SUBROUTINE cmfe_interfacepointsconnectivity_createfinishnumber(regionUserNumber,interfaceUserNumber,err)
39987  !DLLEXPORT(cmfe_InterfacePointsConnectivity_CreateFinishNumber)
39988 
39989  !Argument variables
39990  INTEGER(INTG), INTENT(IN) :: regionUserNumber
39991  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
39992  INTEGER(INTG), INTENT(OUT) :: err
39993  !Local variables
39994  TYPE(interface_type), POINTER :: interface
39995  TYPE(region_type), POINTER :: region
39996  TYPE(varying_string) :: localError
39997 
39998  enters("cmfe_InterfacePointsConnectivity_CreateFinishNumber",err,error,*999)
39999 
40000  NULLIFY(region)
40001  NULLIFY(interface)
40002  CALL region_user_number_find(regionusernumber,region,err,error,*999)
40003  IF(ASSOCIATED(region)) THEN
40004  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
40005  IF(ASSOCIATED(interface)) THEN
40006  CALL interfacepointsconnectivity_createfinish(interface%pointsConnectivity,err,error,*999)
40007  ELSE
40008  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40009  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
40010  CALL flagerror(localerror,err,error,*999)
40011  ENDIF
40012  ELSE
40013  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
40014  & " does not exist."
40015  CALL flagerror(localerror,err,error,*999)
40016  ENDIF
40017 
40018  exits("cmfe_InterfacePointsConnectivity_CreateFinishNumber")
40019  RETURN
40020 999 errors("cmfe_InterfacePointsConnectivity_CreateFinishNumber",err,error)
40021  exits("cmfe_InterfacePointsConnectivity_CreateFinishNumber")
40022  CALL cmfe_handleerror(err,error)
40023  RETURN
40024 
40026 
40027  !
40028  !================================================================================================================================
40029  !
40030 
40032  SUBROUTINE cmfe_interfacepointsconnectivity_createfinishobj(interfacePointsConnectivity,err)
40033  !DLLEXPORT(cmfe_InterfacePointsConnectivity_CreateFinishObj)
40034 
40035  !Argument variables
40036  TYPE(cmfe_interfacepointsconnectivitytype), INTENT(IN) :: interfacePointsConnectivity
40037  INTEGER(INTG), INTENT(OUT) :: Err
40038  !Local variables
40039 
40040  enters("cmfe_InterfacePointsConnectivity_CreateFinishObj",err,error,*999)
40041 
40042  CALL interfacepointsconnectivity_createfinish(interfacepointsconnectivity%pointsConnectivity,err,error,*999)
40043 
40044  exits("cmfe_InterfacePointsConnectivity_CreateFinishObj")
40045  RETURN
40046 999 errors("cmfe_InterfacePointsConnectivity_CreateFinishObj",err,error)
40047  exits("cmfe_InterfacePointsConnectivity_CreateFinishObj")
40048  CALL cmfe_handleerror(err,error)
40049  RETURN
40050 
40052 
40053  !
40054  !================================================================================================================================
40055  !
40056 
40058  SUBROUTINE cmfe_interfacepointsconnectivity_createstartnumber(regionUserNumber,interfaceUserNumber,MeshNumber,err)
40059  !DLLEXPORT(cmfe_InterfacePointsConnectivity_CreateStartNumber)
40060 
40061  !Argument variables
40062  INTEGER(INTG), INTENT(IN) :: regionUserNumber
40063  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
40064  INTEGER(INTG), INTENT(IN) :: MeshNumber
40065  INTEGER(INTG), INTENT(OUT) :: err
40066  !Local variables
40067  TYPE(interface_type), POINTER :: interface
40068  TYPE(mesh_type), POINTER :: mesh
40069  TYPE(interfacepointsconnectivitytype), POINTER :: interfacePointsConnectivity
40070  TYPE(region_type), POINTER :: region
40071  TYPE(varying_string) :: localError
40072 
40073  enters("cmfe_InterfacePointsConnectivity_CreateStartNumber",err,error,*999)
40074 
40075  NULLIFY(region)
40076  NULLIFY(interface)
40077  NULLIFY(interfacepointsconnectivity)
40078  CALL region_user_number_find(regionusernumber,region,err,error,*999)
40079  IF(ASSOCIATED(region)) THEN
40080  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
40081  IF(ASSOCIATED(interface)) THEN
40082  CALL mesh_user_number_find(meshnumber,interface,mesh,err,error,*999)
40083  IF(ASSOCIATED(mesh)) THEN
40084  CALL interfacepointsconnectivity_createstart(interface,mesh,interfacepointsconnectivity,err,error,*999)
40085  ELSE
40086  localerror="A mesh with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40087  & " does not exist on the interface with user number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
40088  CALL flag_error(localerror,err,error,*999)
40089  END IF
40090  ELSE
40091  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40092  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
40093  CALL flag_error(localerror,err,error,*999)
40094  ENDIF
40095  ELSE
40096  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
40097  & " does not exist."
40098  CALL flagerror(localerror,err,error,*999)
40099  ENDIF
40100 
40101  exits("cmfe_InterfacePointsConnectivity_CreateStartNumber")
40102  RETURN
40103 999 errors("cmfe_InterfacePointsConnectivity_CreateStartNumber",err,error)
40104  exits("cmfe_InterfacePointsConnectivity_CreateStartNumber")
40105  CALL cmfe_handleerror(err,error)
40106  RETURN
40107 
40109 
40110  !
40111  !================================================================================================================================
40112  !
40113 
40115  SUBROUTINE cmfe_interfacepointsconnectivity_createstartobj(interface,interfaceMesh,interfacePointsConnectivity,err)
40116  !DLLEXPORT(cmfe_InterfacePointsConnectivity_CreateStartObj)
40117 
40118  !Argument variables
40119  TYPE(cmfe_interfacetype), INTENT(IN) :: interface
40120  TYPE(cmfe_meshtype), INTENT(IN) :: interfaceMesh
40121  TYPE(cmfe_interfacepointsconnectivitytype), INTENT(INOUT) :: interfacePointsConnectivity
40122  INTEGER(INTG), INTENT(OUT) :: err
40123  !Local variables
40124 
40125  enters("cmfe_InterfacePointsConnectivity_CreateStartObj",err,error,*999)
40126 
40127  CALL interfacepointsconnectivity_createstart(interface%interface,interfacemesh%mesh, &
40128  & interfacepointsconnectivity%pointsConnectivity,err,error,*999)
40129 
40130  exits("cmfe_InterfacePointsConnectivity_CreateStartObj")
40131  RETURN
40132 999 errors("cmfe_InterfacePointsConnectivity_CreateStartObj",err,error)
40133  exits("cmfe_InterfacePointsConnectivity_CreateStartObj")
40134  CALL cmfe_handleerror(err,error)
40135  RETURN
40136 
40138 
40139  !
40140  !================================================================================================================================
40141  !
40142 
40144  SUBROUTINE cmfe_interfacepointsconnectivity_destroynumber(regionUserNumber,interfaceUserNumber,err)
40145  !DLLEXPORT(cmfe_InterfacePointsConnectivity_DestroyNumber)
40146 
40147  !Argument variables
40148  INTEGER(INTG), INTENT(IN) :: regionUserNumber
40149  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
40150  INTEGER(INTG), INTENT(OUT) :: err
40151  !Local variables
40152  TYPE(interface_type), POINTER :: interface
40153  TYPE(region_type), POINTER :: region
40154  TYPE(varying_string) :: localError
40155 
40156  enters("cmfe_InterfacePointsConnectivity_DestroyNumber",err,error,*999)
40157 
40158  NULLIFY(region)
40159  NULLIFY(interface)
40160  CALL region_user_number_find(regionusernumber,region,err,error,*999)
40161  IF(ASSOCIATED(region)) THEN
40162  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
40163  IF(ASSOCIATED(interface)) THEN
40164  CALL interfacepointsconnectivity_destroy(interface%pointsConnectivity,err,error,*999)
40165  ELSE
40166  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40167  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
40168  CALL flagerror(localerror,err,error,*999)
40169  END IF
40170  ELSE
40171  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
40172  CALL flagerror(localerror,err,error,*999)
40173  END IF
40174 
40175  exits("cmfe_InterfacePointsConnectivity_DestroyNumber")
40176  RETURN
40177 999 errors("cmfe_InterfacePointsConnectivity_DestroyNumber",err,error)
40178  exits("cmfe_InterfacePointsConnectivity_DestroyNumber")
40179  CALL cmfe_handleerror(err,error)
40180  RETURN
40181 
40183 
40184  !
40185  !================================================================================================================================
40186  !
40187 
40189  SUBROUTINE cmfe_interfacepointsconnectivity_destroyobj(interfacePointsConnectivity,err)
40190  !DLLEXPORT(cmfe_InterfacePointsConnectivity_DestroyObj)
40191 
40192  !Argument variables
40193  TYPE(cmfe_interfacepointsconnectivitytype), INTENT(IN) :: interfacePointsConnectivity
40194  INTEGER(INTG), INTENT(OUT) :: err
40195  !Local variables
40196 
40197  enters("cmfe_InterfacePointsConnectivity_DestroyObj",err,error,*999)
40198 
40199  CALL interfacepointsconnectivity_destroy(interfacepointsconnectivity%pointsConnectivity,err,error,*999)
40200 
40201  exits("cmfe_InterfacePointsConnectivity_DestroyObj")
40202  RETURN
40203 999 errorsexits("cmfe_InterfacePointsConnectivity_DestroyObj",err,error)
40204  CALL cmfe_handleerror(err,error)
40205  RETURN
40206 
40208 
40209  !
40210  !================================================================================================================================
40211  !
40212 
40214  SUBROUTINE cmfe_interfacepointsconnectivity_elementnumbergetnumber(regionUserNumber,interfaceUserNumber, &
40215  & interfacedatapointindexnumber,coupledmeshindexnumber,meshcomponentnumber,coupledmeshelementnumber,err)
40216  !DLLEXPORT(cmfe_InterfacePointsConnectivity_ElementNumberGetNumber)
40217 
40218  !Argument variables
40219  INTEGER(INTG), INTENT(IN) :: regionUserNumber
40220  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
40221  INTEGER(INTG), INTENT(IN) :: interfaceDataPointIndexNumber
40222  INTEGER(INTG), INTENT(IN) :: coupledMeshIndexNumber
40223  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
40224  INTEGER(INTG), INTENT(OUT) :: coupledMeshElementNumber
40225  INTEGER(INTG), INTENT(OUT) :: err
40226  !Local variables
40227  TYPE(interface_type), POINTER :: interface
40228  TYPE(region_type), POINTER :: region
40229  TYPE(varying_string) :: localError
40230 
40231  enters("cmfe_InterfacePointsConnectivity_ElementNumberGetNumber",err,error,*999)
40232 
40233  NULLIFY(region)
40234  NULLIFY(interface)
40235  CALL region_user_number_find(regionusernumber,region,err,error,*999)
40236  IF(ASSOCIATED(region)) THEN
40237  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
40238  IF(ASSOCIATED(interface)) THEN
40239  CALL interfacepointsconnectivity_elementnumberget(interface%pointsConnectivity,interfacedatapointindexnumber, &
40240  & coupledmeshindexnumber,meshcomponentnumber,coupledmeshelementnumber,err,error,*999)
40241  ELSE
40242  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40243  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
40244  CALL flagerror(localerror,err,error,*999)
40245  ENDIF
40246  ELSE
40247  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
40248  & " does not exist."
40249  CALL flagerror(localerror,err,error,*999)
40250  ENDIF
40251 
40252  exits("cmfe_InterfacePointsConnectivity_ElementNumberGetNumber")
40253  RETURN
40254 999 errors("cmfe_InterfacePointsConnectivity_ElementNumberGetNumber",err,error)
40255  exits("cmfe_InterfacePointsConnectivity_ElementNumberGetNumber")
40256  CALL cmfe_handleerror(err,error)
40257  RETURN
40258 
40260 
40261  !
40262  !================================================================================================================================
40263  !
40264 
40266  SUBROUTINE cmfe_interfacepointsconnectivity_elementnumbergetobj(interfacePointsConnectivity,interfaceDataPointIndexNumber, &
40267  & coupledmeshindexnumber,meshcomponentnumber,coupledmeshelementnumber,err)
40268  !DLLEXPORT(cmfe_InterfacePointsConnectivity_ElementNumberGetObj)
40269 
40270  !Argument variables
40271  TYPE(cmfe_interfacepointsconnectivitytype), INTENT(IN) :: InterfacePointsConnectivity
40272  INTEGER(INTG), INTENT(IN) :: interfaceDataPointIndexNumber
40273  INTEGER(INTG), INTENT(IN) :: coupledMeshIndexNumber
40274  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
40275  INTEGER(INTG), INTENT(OUT) :: coupledMeshElementNumber
40276  INTEGER(INTG), INTENT(OUT) :: err
40277  !Local variables
40278 
40279  enters("cmfe_InterfacePointsConnectivity_ElementNumberGetObj",err,error,*999)
40280 
40281  CALL interfacepointsconnectivity_elementnumberget(interfacepointsconnectivity%pointsConnectivity, &
40282  & interfacedatapointindexnumber,coupledmeshindexnumber,meshcomponentnumber,coupledmeshelementnumber,err,error,*999)
40283 
40284  exits("cmfe_InterfacePointsConnectivity_ElementNumberGetObj")
40285  RETURN
40286 999 errors("cmfe_InterfacePointsConnectivity_ElementNumberGetObj",err,error)
40287  exits("cmfe_InterfacePointsConnectivity_ElementNumberGetObj")
40288  CALL cmfe_handleerror(err,error)
40289  RETURN
40290 
40292 
40293  !
40294  !================================================================================================================================
40295  !
40296 
40298  SUBROUTINE cmfe_interfacepointsconnectivity_elementnumbersetnumber(regionUserNumber,interfaceUserNumber, &
40299  & interfacedatapointindexnumber,coupledmeshindexnumber,coupledmeshelementnumber,meshcomponentnumber,err)
40300  !DLLEXPORT(cmfe_InterfacePointsConnectivity_ElementNumberSetNumber)
40301 
40302  !Argument variables
40303  INTEGER(INTG), INTENT(IN) :: regionUserNumber
40304  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
40305  INTEGER(INTG), INTENT(IN) :: interfaceDataPointIndexNumber
40306  INTEGER(INTG), INTENT(IN) :: coupledMeshIndexNumber
40307  INTEGER(INTG), INTENT(IN) :: coupledMeshElementNumber
40308  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
40309  INTEGER(INTG), INTENT(OUT) :: err
40310  !Local variables
40311  TYPE(interface_type), POINTER :: interface
40312  TYPE(region_type), POINTER :: region
40313  TYPE(varying_string) :: localError
40314 
40315  enters("cmfe_InterfacePointsConnectivity_ElementNumberSetNumber",err,error,*999)
40316 
40317  NULLIFY(region)
40318  NULLIFY(interface)
40319  CALL region_user_number_find(regionusernumber,region,err,error,*999)
40320  IF(ASSOCIATED(region)) THEN
40321  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
40322  IF(ASSOCIATED(interface)) THEN
40323  CALL interfacepointsconnectivity_elementnumberset(interface%pointsConnectivity,interfacedatapointindexnumber, &
40324  & coupledmeshindexnumber,coupledmeshelementnumber,meshcomponentnumber,err,error,*999)
40325  ELSE
40326  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40327  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
40328  CALL flagerror(localerror,err,error,*999)
40329  ENDIF
40330  ELSE
40331  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
40332  & " does not exist."
40333  CALL flagerror(localerror,err,error,*999)
40334  ENDIF
40335 
40336  exits("cmfe_InterfacePointsConnectivity_ElementNumberSetNumber")
40337  RETURN
40338 999 errors("cmfe_InterfacePointsConnectivity_ElementNumberSetNumber",err,error)
40339  exits("cmfe_InterfacePointsConnectivity_ElementNumberSetNumber")
40340  CALL cmfe_handleerror(err,error)
40341  RETURN
40342 
40344 
40345  !
40346  !================================================================================================================================
40347  !
40348 
40350  SUBROUTINE cmfe_interfacepointsconnectivity_elementnumbersetobj(interfacePointsConnectivity,interfaceDataPointIndexNumber, &
40351  & coupledmeshindexnumber,coupledmeshelementnumber,meshcomponentnumber,err)
40352  !DLLEXPORT(cmfe_InterfacePointsConnectivity_ElementNumberSetObj)
40353 
40354  !Argument variables
40355  TYPE(cmfe_interfacepointsconnectivitytype), INTENT(IN) :: InterfacePointsConnectivity
40356  INTEGER(INTG), INTENT(IN) :: interfaceDataPointIndexNumber
40357  INTEGER(INTG), INTENT(IN) :: coupledMeshIndexNumber
40358  INTEGER(INTG), INTENT(IN) :: coupledMeshElementNumber
40359  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
40360  INTEGER(INTG), INTENT(OUT) :: err
40361  !Local variables
40362 
40363  enters("cmfe_InterfacePointsConnectivity_ElementNumberSetObj",err,error,*999)
40364 
40365  CALL interfacepointsconnectivity_elementnumberset(interfacepointsconnectivity%pointsConnectivity, &
40366  & interfacedatapointindexnumber,coupledmeshindexnumber,coupledmeshelementnumber,meshcomponentnumber,err,error,*999)
40367 
40368  exits("cmfe_InterfacePointsConnectivity_ElementNumberSetObj")
40369  RETURN
40370 999 errors("cmfe_InterfacePointsConnectivity_ElementNumberSetObj",err,error)
40371  exits("cmfe_InterfacePointsConnectivity_ElementNumberSetObj")
40372  CALL cmfe_handleerror(err,error)
40373  RETURN
40374 
40376 
40377  !
40378  !================================================================================================================================
40379  !
40380 
40382  SUBROUTINE cmfe_interfacepointsconnectivity_pointxigetnumber(regionUserNumber,interfaceUserNumber, &
40383  & interfacedatapointindexnumber,coupledmeshindexnumber,xi,err)
40384  !DLLEXPORT(cmfe_InterfacePointsConnectivity_PointXiGetNumber)
40385 
40386  !Argument variables
40387  INTEGER(INTG), INTENT(IN) :: regionUserNumber
40388  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
40389  INTEGER(INTG), INTENT(IN) :: interfaceDataPointIndexNumber
40390  INTEGER(INTG), INTENT(IN) :: coupledMeshIndexNumber
40391  REAL(DP), INTENT(OUT) :: xi(:)
40392  INTEGER(INTG), INTENT(OUT) :: err
40393  !Local variables
40394  TYPE(interface_type), POINTER :: interface
40395  TYPE(region_type), POINTER :: region
40396  TYPE(varying_string) :: localError
40397 
40398  enters("cmfe_InterfacePointsConnectivity_PointXiGetNumber",err,error,*999)
40399 
40400  NULLIFY(region)
40401  NULLIFY(interface)
40402  CALL region_user_number_find(regionusernumber,region,err,error,*999)
40403  IF(ASSOCIATED(region)) THEN
40404  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
40405  IF(ASSOCIATED(interface)) THEN
40406  CALL interfacepointsconnectivity_pointxiget(interface%pointsConnectivity,interfacedatapointindexnumber, &
40407  & coupledmeshindexnumber,xi,err,error,*999)
40408  ELSE
40409  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40410  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
40411  CALL flagerror(localerror,err,error,*999)
40412  ENDIF
40413  ELSE
40414  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
40415  & " does not exist."
40416  CALL flagerror(localerror,err,error,*999)
40417  ENDIF
40418 
40419  exits("cmfe_InterfacePointsConnectivity_PointXiGetNumber")
40420  RETURN
40421 999 errors("cmfe_InterfacePointsConnectivity_PointXiGetNumber",err,error)
40422  exits("cmfe_InterfacePointsConnectivity_PointXiGetNumber")
40423  CALL cmfe_handleerror(err,error)
40424  RETURN
40425 
40427 
40428  !
40429  !================================================================================================================================
40430  !
40431 
40433  SUBROUTINE cmfe_interfacepointsconnectivity_pointxigetobj(interfacePointsConnectivity,interfaceDataPointIndexNumber, &
40434  & coupledmeshindexnumber,xi,err)
40435  !DLLEXPORT(cmfe_InterfacePointsConnectivity_PointXiGetObj)
40436 
40437  !Argument variables
40438  TYPE(cmfe_interfacepointsconnectivitytype), INTENT(IN) :: InterfacePointsConnectivity
40439  INTEGER(INTG), INTENT(IN) :: interfaceDataPointIndexNumber
40440  INTEGER(INTG), INTENT(IN) :: coupledMeshIndexNumber
40441  REAL(DP), INTENT(OUT) :: xi(:)
40442  INTEGER(INTG), INTENT(OUT) :: Err
40443  !Local variables
40444 
40445  enters("cmfe_InterfacePointsConnectivity_PointXiGetObj",err,error,*999)
40446 
40447  CALL interfacepointsconnectivity_pointxiget(interfacepointsconnectivity%pointsConnectivity, &
40448  & interfacedatapointindexnumber,coupledmeshindexnumber,xi,err,error,*999)
40449 
40450  exits("cmfe_InterfacePointsConnectivity_PointXiGetObj")
40451  RETURN
40452 999 errors("cmfe_InterfacePointsConnectivity_PointXiGetObj",err,error)
40453  exits("cmfe_InterfacePointsConnectivity_PointXiGetObj")
40454  CALL cmfe_handleerror(err,error)
40455  RETURN
40456 
40458 
40459  !
40460  !================================================================================================================================
40461  !
40462 
40464  SUBROUTINE cmfe_interfacepointsconnectivity_pointxisetnumber(regionUserNumber,interfaceUserNumber, &
40465  & interfacedatapointindexnumber,coupledmeshindexnumber,xi,err)
40466  !DLLEXPORT(cmfe_InterfacePointsConnectivity_PointXiSetNumber)
40467 
40468  !Argument variables
40469  INTEGER(INTG), INTENT(IN) :: regionUserNumber
40470  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
40471  INTEGER(INTG), INTENT(IN) :: interfaceDataPointIndexNumber
40472  INTEGER(INTG), INTENT(IN) :: coupledMeshIndexNumber
40473  REAL(DP), INTENT(IN) :: xi(:)
40474  INTEGER(INTG), INTENT(OUT) :: err
40475  !Local variables
40476  TYPE(interface_type), POINTER :: interface
40477  TYPE(region_type), POINTER :: region
40478  TYPE(varying_string) :: localError
40479 
40480  enters("cmfe_InterfacePointsConnectivity_PointXiSetNumber",err,error,*999)
40481 
40482  NULLIFY(region)
40483  NULLIFY(interface)
40484  CALL region_user_number_find(regionusernumber,region,err,error,*999)
40485  IF(ASSOCIATED(region)) THEN
40486  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
40487  IF(ASSOCIATED(interface)) THEN
40488  CALL interfacepointsconnectivity_pointxiset(interface%pointsConnectivity,interfacedatapointindexnumber, &
40489  & coupledmeshindexnumber,xi,err,error,*999)
40490  ELSE
40491  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40492  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
40493  CALL flagerror(localerror,err,error,*999)
40494  ENDIF
40495  ELSE
40496  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
40497  & " does not exist."
40498  CALL flagerror(localerror,err,error,*999)
40499  ENDIF
40500 
40501  exits("cmfe_InterfacePointsConnectivity_PointXiSetNumber")
40502  RETURN
40503 999 errors("cmfe_InterfacePointsConnectivity_PointXiSetNumber",err,error)
40504  exits("cmfe_InterfacePointsConnectivity_PointXiSetNumber")
40505  CALL cmfe_handleerror(err,error)
40506  RETURN
40507 
40509 
40510  !
40511  !================================================================================================================================
40512  !
40513 
40515  SUBROUTINE cmfe_interfacepointsconnectivity_pointxisetobj(interfacePointsConnectivity,interfaceDataPointIndexNumber, &
40516  & coupledmeshindexnumber,xi,err)
40517  !DLLEXPORT(cmfe_InterfacePointsConnectivity_PointXiSetObj)
40518 
40519  !Argument variables
40520  TYPE(cmfe_interfacepointsconnectivitytype), INTENT(IN) :: InterfacePointsConnectivity
40521  INTEGER(INTG), INTENT(IN) :: interfaceDataPointIndexNumber
40522  INTEGER(INTG), INTENT(IN) :: coupledMeshIndexNumber
40523  REAL(DP), INTENT(IN) :: xi(:)
40524  INTEGER(INTG), INTENT(OUT) :: Err
40525  !Local variables
40526 
40527  enters("cmfe_InterfacePointsConnectivity_PointXiSetObj",err,error,*999)
40528 
40529  CALL interfacepointsconnectivity_pointxiset(interfacepointsconnectivity%pointsConnectivity, &
40530  & interfacedatapointindexnumber,coupledmeshindexnumber,xi,err,error,*999)
40531 
40532  exits("cmfe_InterfacePointsConnectivity_PointXiSetObj")
40533  RETURN
40534 999 errors("cmfe_InterfacePointsConnectivity_PointXiSetObj",err,error)
40535  exits("cmfe_InterfacePointsConnectivity_PointXiSetObj")
40536  CALL cmfe_handleerror(err,error)
40537  RETURN
40538 
40540 
40541  !
40542  !================================================================================================================================
40543  !
40544 
40546  SUBROUTINE cmfe_interfacepointsconnectivity_updatefromprojectionrnumber(regionUserNumber,interfaceUserNumber, &
40547  & datapointsregionusernumber,dataprojectionusernumber,coupledmeshindex,err)
40548  !DLLEXPORT(cmfe_InterfacePointsConnectivity_UpdateFromProjectionRNumber)
40549 
40550  !Argument variables
40551  INTEGER(INTG), INTENT(IN) :: regionUserNumber
40552  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
40553  INTEGER(INTG), INTENT(IN) :: dataPointsRegionUserNumber
40554  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
40555  INTEGER(INTG), INTENT(IN) :: coupledMeshIndex
40556  INTEGER(INTG), INTENT(OUT) :: err
40557  !Local variables
40558  INTEGER(INTG) :: dataProjectionGlobalNumber
40559  TYPE(interface_type), POINTER :: interface
40560  TYPE(region_type), POINTER :: ParentRegion,dataPointsRegion
40561  TYPE(data_points_type), POINTER :: dataPoints
40562  TYPE(data_projection_type), POINTER :: dataProjection
40563  TYPE(varying_string) :: localError
40564 
40565  enters("cmfe_InterfacePointsConnectivity_UpdateFromProjectionRNumber",err,error,*999)
40566 
40567  NULLIFY(parentregion)
40568  NULLIFY(datapointsregion)
40569  NULLIFY(interface)
40570  NULLIFY(datapoints)
40571  NULLIFY(dataprojection)
40572  CALL region_user_number_find(regionusernumber,parentregion,err,error,*999)
40573  IF(ASSOCIATED(parentregion)) THEN
40574  CALL interface_user_number_find(interfaceusernumber,parentregion,interface,err,error,*999)
40575  IF(ASSOCIATED(interface)) THEN
40576  CALL region_user_number_find(datapointsregionusernumber,datapointsregion,err,error,*999)
40577  CALL region_data_points_get(datapointsregion,datapoints,err,error,*999)
40578  CALL datapoints_dataprojectionglobalnumberget(datapoints,dataprojectionusernumber,dataprojectionglobalnumber, &
40579  & err,error,*999)
40580  CALL data_points_data_projection_get(datapoints,dataprojectionglobalnumber,dataprojection,err,error,*999)
40581  CALL interfacepointsconnectivity_updatefromprojection(interface%PointsConnectivity, &
40582  & dataprojection,coupledmeshindex,err,error,*999)
40583  ELSE
40584  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40585  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
40586  CALL flagerror(localerror,err,error,*999)
40587  ENDIF
40588  ELSE
40589  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
40590  & " does not exist."
40591  CALL flagerror(localerror,err,error,*999)
40592  ENDIF
40593 
40594  exits("cmfe_InterfacePointsConnectivity_UpdateFromProjectionRNumber")
40595  RETURN
40596 999 errors("cmfe_InterfacePointsConnectivity_UpdateFromProjectionRNumber",err,error)
40597  exits("cmfe_InterfacePointsConnectivity_UpdateFromProjectionRNumber")
40598  CALL cmfe_handleerror(err,error)
40599  RETURN
40600 
40602 
40603  !
40604  !================================================================================================================================
40605  !
40606 
40608  SUBROUTINE cmfe_interfacepointsconnectivity_updatefromprojectioninumber(regionUserNumber,interfaceUserNumber, &
40609  & datapointsregionusernumber,datapointsinterfaceusernumber,dataprojectionusernumber,coupledmeshindex,err)
40610  !DLLEXPORT(cmfe_InterfacePointsConnectivity_UpdateFromProjectionINumber)
40611 
40612  !Argument variables
40613  INTEGER(INTG), INTENT(IN) :: regionUserNumber
40614  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
40615  INTEGER(INTG), INTENT(IN) :: dataPointsRegionUserNumber
40616  INTEGER(INTG), INTENT(IN) :: dataPointsInterfaceUserNumber
40617  INTEGER(INTG), INTENT(IN) :: dataProjectionUserNumber
40618  INTEGER(INTG), INTENT(IN) :: coupledMeshIndex
40619  INTEGER(INTG), INTENT(OUT) :: err
40620  !Local variables
40621  INTEGER(INTG) :: dataProjectionGlobalNumber
40622  TYPE(interface_type), POINTER :: interface,dataPointsInterface
40623  TYPE(region_type), POINTER :: ParentRegion,dataPointsRegion
40624  TYPE(data_points_type), POINTER :: dataPoints
40625  TYPE(data_projection_type), POINTER :: dataProjection
40626  TYPE(varying_string) :: localError
40627 
40628  enters("cmfe_InterfacePointsConnectivity_UpdateFromProjectionINumber",err,error,*999)
40629 
40630  NULLIFY(parentregion)
40631  NULLIFY(datapointsregion)
40632  NULLIFY(interface)
40633  NULLIFY(datapointsinterface)
40634  NULLIFY(datapoints)
40635  NULLIFY(dataprojection)
40636  CALL region_user_number_find(regionusernumber,parentregion,err,error,*999)
40637  IF(ASSOCIATED(parentregion)) THEN
40638  CALL interface_user_number_find(interfaceusernumber,parentregion,interface,err,error,*999)
40639  IF(ASSOCIATED(interface)) THEN
40640  CALL region_user_number_find(datapointsregionusernumber,datapointsregion,err,error,*999)
40641  CALL interface_user_number_find(datapointsinterfaceusernumber,datapointsregion,datapointsinterface,err,error,*999)
40642  CALL interface_data_points_get(datapointsinterface,datapoints,err,error,*999)
40643  CALL datapoints_dataprojectionglobalnumberget(datapoints,dataprojectionusernumber,dataprojectionglobalnumber, &
40644  & err,error,*999)
40645  CALL data_points_data_projection_get(datapoints,dataprojectionglobalnumber,dataprojection,err,error,*999)
40646  CALL interfacepointsconnectivity_updatefromprojection(interface%PointsConnectivity, &
40647  & dataprojection,coupledmeshindex,err,error,*999)
40648  ELSE
40649  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40650  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
40651  CALL flagerror(localerror,err,error,*999)
40652  ENDIF
40653  ELSE
40654  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
40655  & " does not exist."
40656  CALL flagerror(localerror,err,error,*999)
40657  ENDIF
40658 
40659  exits("cmfe_InterfacePointsConnectivity_UpdateFromProjectionINumber")
40660  RETURN
40661 999 errors("cmfe_InterfacePointsConnectivity_UpdateFromProjectionINumber",err,error)
40662  exits("cmfe_InterfacePointsConnectivity_UpdateFromProjectionINumber")
40663  CALL cmfe_handleerror(err,error)
40664  RETURN
40665 
40667 
40668  !
40669  !================================================================================================================================
40670  !
40671 
40673  SUBROUTINE cmfe_interfacepointsconnectivity_updatefromprojectionobj(pointsConnectivity,dataProjection, &
40674  & coupledmeshindex,err)
40675  !DLLEXPORT(cmfe_InterfacePointsConnectivity_UpdateFromProjectionObj)
40676 
40677  !Argument variables
40678  TYPE(cmfe_interfacepointsconnectivitytype), INTENT(IN) :: pointsConnectivity
40679  TYPE(cmfe_dataprojectiontype), INTENT(IN) :: dataProjection
40680  INTEGER(INTG), INTENT(IN) :: coupledMeshIndex
40681  INTEGER(INTG), INTENT(OUT) :: err
40682  !Local variables
40683 
40684  enters("cmfe_InterfacePointsConnectivity_UpdateFromProjectionObj",err,error,*999)
40685 
40686  CALL interfacepointsconnectivity_updatefromprojection(pointsconnectivity%pointsConnectivity, &
40687  & dataprojection%dataProjection,coupledmeshindex,err,error,*999)
40688 
40689  exits("cmfe_InterfacePointsConnectivity_UpdateFromProjectionObj")
40690  RETURN
40691 999 errors("cmfe_InterfacePointsConnectivity_UpdateFromProjectionObj",err,error)
40692  exits("cmfe_InterfacePointsConnectivity_UpdateFromProjectionObj")
40693  CALL cmfe_handleerror(err,error)
40694  RETURN
40695 
40697 
40698 !!==================================================================================================================================
40699 !!
40700 !! INTERFACE_CONDITIONS_ROUTINES
40701 !!
40702 !!==================================================================================================================================
40703 
40705  SUBROUTINE cmfe_interfacecondition_createfinishnumber(regionUserNumber,interfaceUserNumber,interfaceConditionUserNumber,err)
40706  !DLLEXPORT(cmfe_InterfaceCondition_CreateFinishNumber)
40707 
40708  !Argument variables
40709  INTEGER(INTG), INTENT(IN) :: regionUserNumber
40710  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
40711  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
40712  INTEGER(INTG), INTENT(OUT) :: err
40713  !Local variables
40714  TYPE(interface_type), POINTER :: INTERFACE
40715  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
40716  TYPE(region_type), POINTER :: REGION
40717  TYPE(varying_string) :: localError
40718 
40719  enters("cmfe_InterfaceCondition_CreateFinishNumber",err,error,*999)
40720 
40721  NULLIFY(region)
40722  NULLIFY(interface)
40723  NULLIFY(interface_condition)
40724  CALL region_user_number_find(regionusernumber,region,err,error,*999)
40725  IF(ASSOCIATED(region)) THEN
40726  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
40727  IF(ASSOCIATED(interface)) THEN
40728  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
40729  IF(ASSOCIATED(interface_condition)) THEN
40730  CALL interface_condition_create_finish(interface_condition,err,error,*999)
40731  ELSE
40732  localerror="An interface condition with an user number of "// &
40733  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
40734  & " does not exist on the interface with a user number of "// &
40735  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40736  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
40737  CALL flagerror(localerror,err,error,*999)
40738  END IF
40739  ELSE
40740  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40741  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
40742  CALL flagerror(localerror,err,error,*999)
40743  END IF
40744  ELSE
40745  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
40746  & " does not exist."
40747  CALL flagerror(localerror,err,error,*999)
40748  END IF
40749 
40750  exits("cmfe_InterfaceCondition_CreateFinishNumber")
40751  RETURN
40752 999 errorsexits("cmfe_InterfaceCondition_CreateFinishNumber",err,error)
40753  CALL cmfe_handleerror(err,error)
40754  RETURN
40755 
40757 
40758  !
40759  !================================================================================================================================
40760  !
40761 
40763  SUBROUTINE cmfe_interfacecondition_createfinishobj(interfaceCondition,err)
40764  !DLLEXPORT(cmfe_InterfaceCondition_CreateFinishObj)
40765 
40766  !Argument variables
40767  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
40768  INTEGER(INTG), INTENT(OUT) :: err
40769  !Local variables
40770 
40771  enters("cmfe_InterfaceCondition_CreateFinishObj",err,error,*999)
40772 
40773  CALL interface_condition_create_finish(interfacecondition%interfaceCondition,err,error,*999)
40774 
40775  exits("cmfe_InterfaceCondition_CreateFinishObj")
40776  RETURN
40777 999 errorsexits("cmfe_InterfaceCondition_CreateFinishObj",err,error)
40778  CALL cmfe_handleerror(err,error)
40779  RETURN
40780 
40782 
40783  !
40784  !================================================================================================================================
40785  !
40786 
40788  SUBROUTINE cmfe_interfacecondition_createstartnumber(interfaceConditionUserNumber,regionUserNumber,interfaceUserNumber, &
40789  & geometricfieldusernumber,err)
40790  !DLLEXPORT(cmfe_InterfaceCondition_CreateStartNumber)
40791 
40792  !Argument variables
40793  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
40794  INTEGER(INTG), INTENT(IN) :: regionUserNumber
40795  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
40796  INTEGER(INTG), INTENT(IN) :: geometricFieldUserNumber
40797  INTEGER(INTG), INTENT(OUT) :: err
40798  !Local variables
40799  TYPE(field_type), POINTER :: GEOMETRIC_FIELD
40800  TYPE(interface_type), POINTER :: INTERFACE
40801  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
40802  TYPE(region_type), POINTER :: REGION
40803  TYPE(varying_string) :: localError
40804 
40805  enters("cmfe_InterfaceCondition_CreateStartNumber",err,error,*999)
40806 
40807  NULLIFY(region)
40808  NULLIFY(interface)
40809  NULLIFY(geometric_field)
40810  NULLIFY(interface_condition)
40811  CALL region_user_number_find(regionusernumber,region,err,error,*999)
40812  IF(ASSOCIATED(region)) THEN
40813  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
40814  IF(ASSOCIATED(interface)) THEN
40815  CALL field_user_number_find(geometricfieldusernumber,interface,geometric_field,err,error,*999)
40816  IF(ASSOCIATED(geometric_field)) THEN
40817  CALL interface_condition_create_start(interfaceconditionusernumber,interface,geometric_field,interface_condition, &
40818  & err,error,*999)
40819  ELSE
40820  localerror="A field with an user number of "//trim(numbertovstring(geometricfieldusernumber,"*",err,error))// &
40821  & " does not exist on the interface with a user number of "// &
40822  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40823  & " in the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
40824  CALL flagerror(localerror,err,error,*999)
40825  END IF
40826  ELSE
40827  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40828  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
40829  CALL flagerror(localerror,err,error,*999)
40830  END IF
40831  ELSE
40832  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
40833  & " does not exist."
40834  CALL flagerror(localerror,err,error,*999)
40835  END IF
40836 
40837  exits("cmfe_InterfaceCondition_CreateStartNumber")
40838  RETURN
40839 999 errorsexits("cmfe_InterfaceCondition_CreateStartNumber",err,error)
40840  CALL cmfe_handleerror(err,error)
40841  RETURN
40842 
40844 
40845  !
40846  !================================================================================================================================
40847  !
40848 
40850  SUBROUTINE cmfe_interfacecondition_createstartobj(interfaceConditionUserNumber,interface,geometricField,interfaceCondition,err)
40851  !DLLEXPORT(cmfe_InterfaceCondition_CreateStartObj)
40852 
40853  !Argument variables
40854  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
40855  TYPE(cmfe_interfacetype), INTENT(IN) :: interface
40856  TYPE(cmfe_fieldtype), INTENT(IN) :: geometricField
40857  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
40858  INTEGER(INTG), INTENT(OUT) :: err
40859  !Local variables
40860 
40861  enters("cmfe_InterfaceCondition_CreateStartObj",err,error,*999)
40862 
40863  CALL interface_condition_create_start(interfaceconditionusernumber,interface%interface,geometricfield%field, &
40864  & interfacecondition%interfaceCondition,err,error,*999)
40865 
40866  exits("cmfe_InterfaceCondition_CreateStartObj")
40867  RETURN
40868 999 errorsexits("cmfe_InterfaceCondition_CreateStartObj",err,error)
40869  CALL cmfe_handleerror(err,error)
40870  RETURN
40871 
40873 
40874  !
40875  !================================================================================================================================
40876  !
40877 
40879  SUBROUTINE cmfe_interfacecondition_dependentvariableaddnumber(interfaceRegionUserNumber,interfaceUserNumber, &
40880  & interfaceconditionusernumber,meshindex,equationssetregionusernumber,equationssetusernumber,variabletype,err)
40881  !DLLEXPORT(cmfe_InterfaceCondition_DependentVariableAddNumber)
40882 
40883  !Argument variables
40884  INTEGER(INTG), INTENT(IN) :: interfaceRegionUserNumber
40885  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
40886  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
40887  INTEGER(INTG), INTENT(IN) :: meshIndex
40888  INTEGER(INTG), INTENT(IN) :: equationsSetRegionUserNumber
40889  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
40890  INTEGER(INTG), INTENT(IN) :: variableType
40891  INTEGER(INTG), INTENT(OUT) :: err
40892  !Local variables
40893  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
40894  TYPE(interface_type), POINTER :: INTERFACE
40895  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
40896  TYPE(region_type), POINTER :: EQUATIONS_SET_REGION,INTERFACE_REGION
40897  TYPE(varying_string) :: localError
40898 
40899  enters("cmfe_InterfaceCondition_DependentVariableAddNumber",err,error,*999)
40900 
40901  NULLIFY(interface_region)
40902  NULLIFY(interface)
40903  NULLIFY(interface_condition)
40904  NULLIFY(equations_set_region)
40905  NULLIFY(equations_set)
40906  CALL region_user_number_find(interfaceregionusernumber,interface_region,err,error,*999)
40907  IF(ASSOCIATED(interface_region)) THEN
40908  CALL interface_user_number_find(interfaceusernumber,interface_region,interface,err,error,*999)
40909  IF(ASSOCIATED(interface)) THEN
40910  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
40911  IF(ASSOCIATED(interface_condition)) THEN
40912  CALL region_user_number_find(equationssetregionusernumber,equations_set_region,err,error,*999)
40913  IF(ASSOCIATED(equations_set_region)) THEN
40914  CALL equations_set_user_number_find(equationssetusernumber,equations_set_region,equations_set,err,error,*999)
40915  IF(ASSOCIATED(equations_set)) THEN
40916  CALL interface_condition_dependent_variable_add(interface_condition,meshindex,equations_set,variabletype, &
40917  & err,error,*999)
40918  ELSE
40919  localerror="An equations set with an user number of "// &
40920  & trim(numbertovstring(equationssetusernumber,"*",err,error))// &
40921  & " does not exist on region number "//trim(numbertovstring(equationssetregionusernumber,"*",err,error))//"."
40922  CALL flagerror(localerror,err,error,*999)
40923  END IF
40924  ELSE
40925  localerror="The equations set region with an user number of "// &
40926  & trim(numbertovstring(equationssetregionusernumber,"*",err,error))//" does not exist."
40927  CALL flagerror(localerror,err,error,*999)
40928  END IF
40929  ELSE
40930  localerror="An interface condition with an user number of "// &
40931  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
40932  & " does not exist on the interface with a user number of "// &
40933  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40934  & " defined on a region with a user number of "//trim(numbertovstring(interfaceregionusernumber,"*",err,error))//"."
40935  CALL flagerror(localerror,err,error,*999)
40936  END IF
40937  ELSE
40938  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
40939  & " does not exist on region number "//trim(numbertovstring(interfaceregionusernumber,"*",err,error))//"."
40940  CALL flagerror(localerror,err,error,*999)
40941  END IF
40942  ELSE
40943  localerror="The interface region with an user number of "// &
40944  & trim(numbertovstring(interfaceregionusernumber,"*",err,error))//" does not exist."
40945  CALL flagerror(localerror,err,error,*999)
40946  END IF
40947 
40948  exits("cmfe_InterfaceCondition_DependentVariableAddNumber")
40949  RETURN
40950 999 errors("cmfe_InterfaceCondition_DependentVariableAddNumber",err,error)
40951  exits("cmfe_InterfaceCondition_DependentVariableAddNumber")
40952  CALL cmfe_handleerror(err,error)
40953  RETURN
40954 
40956 
40957  !
40958  !================================================================================================================================
40959  !
40960 
40962  SUBROUTINE cmfe_interfacecondition_dependentvariableaddobj(interfaceCondition,meshIndex,equationsSet,variableType,err)
40963  !DLLEXPORT(cmfe_InterfaceCondition_DependentVariableAddObj)
40964 
40965  !Argument variables
40966  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
40967  INTEGER(INTG), INTENT(IN) :: meshIndex
40968  TYPE(cmfe_equationssettype), INTENT(IN) :: equationsSet
40969  INTEGER(INTG), INTENT(IN) :: variableType
40970  INTEGER(INTG), INTENT(OUT) :: err
40971  !Local variables
40972 
40973  enters("cmfe_InterfaceCondition_DependentVariableAddObj",err,error,*999)
40974 
40975  CALL interface_condition_dependent_variable_add(interfacecondition%interfaceCondition,meshindex,equationsset%equationsSet, &
40976  & variabletype,err,error,*999)
40977 
40978  exits("cmfe_InterfaceCondition_DependentVariableAddObj")
40979  RETURN
40980 999 errors("cmfe_InterfaceCondition_DependentVariableAddObj",err,error)
40981  exits("cmfe_InterfaceCondition_DependentVariableAddObj")
40982  CALL cmfe_handleerror(err,error)
40983  RETURN
40984 
40986 
40987  !
40988  !================================================================================================================================
40989  !
40990 
40992  SUBROUTINE cmfe_interfacecondition_destroynumber(regionUserNumber,interfaceUserNumber,interfaceConditionUserNumber,err)
40993  !DLLEXPORT(cmfe_InterfaceCondition_DestroyNumber)
40994 
40995  !Argument variables
40996  INTEGER(INTG), INTENT(IN) :: regionUserNumber
40997  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
40998  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
40999  INTEGER(INTG), INTENT(OUT) :: err
41000  !Local variables
41001  TYPE(interface_type), POINTER :: INTERFACE
41002  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
41003  TYPE(region_type), POINTER :: REGION
41004  TYPE(varying_string) :: localError
41005 
41006  enters("cmfe_FInterfaceConditionDestroyNumber",err,error,*999)
41007 
41008  NULLIFY(region)
41009  NULLIFY(interface)
41010  NULLIFY(interface_condition)
41011  CALL region_user_number_find(regionusernumber,region,err,error,*999)
41012  IF(ASSOCIATED(region)) THEN
41013  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
41014  IF(ASSOCIATED(interface)) THEN
41015  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
41016  IF(ASSOCIATED(interface_condition)) THEN
41017  CALL interface_condition_destroy(interface_condition,err,error,*999)
41018  ELSE
41019  localerror="An interface condition with an user number of "// &
41020  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
41021  & " does not exist on the interface with a user number of "// &
41022  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41023  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41024  CALL flagerror(localerror,err,error,*999)
41025  END IF
41026  ELSE
41027  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41028  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41029  CALL flagerror(localerror,err,error,*999)
41030  END IF
41031  ELSE
41032  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
41033  CALL flagerror(localerror,err,error,*999)
41034  END IF
41035 
41036  exits("cmfe_InterfaceCondition_DestroyNumber")
41037  RETURN
41038 999 errorsexits("cmfe_InterfaceCondition_DestroyNumber",err,error)
41039  CALL cmfe_handleerror(err,error)
41040  RETURN
41041 
41043 
41044  !
41045  !================================================================================================================================
41046  !
41047 
41049  SUBROUTINE cmfe_interfacecondition_destroyobj(interfaceCondition,err)
41050  !DLLEXPORT(cmfe_InterfaceCondition_DestroyObj)
41051 
41052  !Argument variables
41053  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
41054  INTEGER(INTG), INTENT(OUT) :: err
41055  !Local variables
41056 
41057  enters("cmfe_InterfaceCondition_DestroyObj",err,error,*999)
41058 
41059  CALL interface_condition_destroy(interfacecondition%interfaceCondition,err,error,*999)
41060 
41061  exits("cmfe_InterfaceCondition_DestroyObj")
41062  RETURN
41063 999 errorsexits("cmfe_InterfaceCondition_DestroyObj",err,error)
41064  CALL cmfe_handleerror(err,error)
41065  RETURN
41066 
41067  END SUBROUTINE cmfe_interfacecondition_destroyobj
41068 
41069  !
41070  !================================================================================================================================
41071  !
41072 
41074  SUBROUTINE cmfe_interfacecondition_equationscreatefinishnumber(regionUserNumber,interfaceUserNumber, &
41075  & interfaceconditionusernumber,err)
41076  !DLLEXPORT(cmfe_InterfaceCondition_EquationsCreateFinishNumber)
41077 
41078  !Argument variables
41079  INTEGER(INTG), INTENT(IN) :: regionUserNumber
41080  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
41081  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
41082  INTEGER(INTG), INTENT(OUT) :: err
41083  !Local variables
41084  TYPE(interface_type), POINTER :: INTERFACE
41085  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
41086  TYPE(region_type), POINTER :: REGION
41087  TYPE(varying_string) :: localError
41088 
41089  enters("cmfe_InterfaceCondition_EquationsCreateFinishNumber",err,error,*999)
41090 
41091  NULLIFY(region)
41092  NULLIFY(interface)
41093  NULLIFY(interface_condition)
41094  CALL region_user_number_find(regionusernumber,region,err,error,*999)
41095  IF(ASSOCIATED(region)) THEN
41096  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
41097  IF(ASSOCIATED(interface)) THEN
41098  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
41099  IF(ASSOCIATED(interface_condition)) THEN
41100  CALL interface_condition_equations_create_finish(interface_condition,err,error,*999)
41101  ELSE
41102  localerror="An interface condition with an user number of "// &
41103  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
41104  & " does not exist on the interface with a user number of "// &
41105  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41106  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41107  CALL flagerror(localerror,err,error,*999)
41108  END IF
41109  ELSE
41110  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41111  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41112  CALL flagerror(localerror,err,error,*999)
41113  END IF
41114  ELSE
41115  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
41116  & " does not exist."
41117  CALL flagerror(localerror,err,error,*999)
41118  END IF
41119 
41120  exits("cmfe_InterfaceCondition_EquationsCreateFinishNumber")
41121  RETURN
41122 999 errors("cmfe_InterfaceCondition_EquationsCreateFinishNumber",err,error)
41123  exits("cmfe_InterfaceCondition_EquationsCreateFinishNumber")
41124  CALL cmfe_handleerror(err,error)
41125  RETURN
41126 
41128 
41129  !
41130  !================================================================================================================================
41131  !
41132 
41134  SUBROUTINE cmfe_interfacecondition_equationscreatefinishobj(interfaceCondition,err)
41135  !DLLEXPORT(cmfe_InterfaceCondition_EquationsCreateFinishObj)
41136 
41137  !Argument variables
41138  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
41139  INTEGER(INTG), INTENT(OUT) :: err
41140  !Local variables
41141 
41142  enters("cmfe_InterfaceCondition_EquationsCreateFinishObj",err,error,*999)
41143 
41144  CALL interface_condition_equations_create_finish(interfacecondition%interfaceCondition,err,error,*999)
41145 
41146  exits("cmfe_InterfaceCondition_EquationsCreateFinishObj")
41147  RETURN
41148 999 errors("cmfe_InterfaceCondition_EquationsCreateFinishObj",err,error)
41149  exits("cmfe_InterfaceCondition_EquationsCreateFinishObj")
41150  CALL cmfe_handleerror(err,error)
41151  RETURN
41152 
41154 
41155  !
41156  !================================================================================================================================
41157  !
41158 
41160  SUBROUTINE cmfe_interfacecondition_equationscreatestartnumber(regionUserNumber,interfaceUserNumber,interfaceConditionUserNumber, &
41161  & err)
41162  !DLLEXPORT(cmfe_InterfaceCondition_EquationsCreateStartNumber)
41163 
41164  !Argument variables
41165  INTEGER(INTG), INTENT(IN) :: regionUserNumber
41166  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
41167  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
41168  INTEGER(INTG), INTENT(OUT) :: err
41169  !Local variables
41170  TYPE(interface_type), POINTER :: INTERFACE
41171  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
41172  TYPE(interface_equations_type), POINTER :: INTERFACE_EQUATIONS
41173  TYPE(region_type), POINTER :: REGION
41174  TYPE(varying_string) :: localError
41175 
41176  enters("cmfe_InterfaceCondition_EquationsCreateStartNumber",err,error,*999)
41177 
41178  NULLIFY(region)
41179  NULLIFY(interface)
41180  NULLIFY(interface_condition)
41181  NULLIFY(interface_equations)
41182  CALL region_user_number_find(regionusernumber,region,err,error,*999)
41183  IF(ASSOCIATED(region)) THEN
41184  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
41185  IF(ASSOCIATED(interface)) THEN
41186  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
41187  IF(ASSOCIATED(interface_condition)) THEN
41188  CALL interface_condition_equations_create_start(interface_condition,interface_equations,err,error,*999)
41189  ELSE
41190  localerror="An interface condition with an user number of "// &
41191  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
41192  & " does not exist on the interface with a user number of "// &
41193  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41194  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41195  CALL flagerror(localerror,err,error,*999)
41196  END IF
41197  ELSE
41198  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41199  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41200  CALL flagerror(localerror,err,error,*999)
41201  END IF
41202  ELSE
41203  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
41204  & " does not exist."
41205  CALL flagerror(localerror,err,error,*999)
41206  END IF
41207 
41208  exits("cmfe_InterfaceCondition_EquationsCreateStartNumber")
41209  RETURN
41210 999 errors("cmfe_InterfaceCondition_EquationsCreateStartNumber",err,error)
41211  exits("cmfe_InterfaceCondition_EquationsCreateStartNumber")
41212  CALL cmfe_handleerror(err,error)
41213  RETURN
41214 
41216 
41217  !
41218  !================================================================================================================================
41219  !
41220 
41222  SUBROUTINE cmfe_interfacecondition_equationscreatestartobj(interfaceCondition,interfaceEquations,err)
41223  !DLLEXPORT(cmfe_InterfaceCondition_EquationsCreateStartObj)
41224 
41225  !Argument variables
41226  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
41227  TYPE(cmfe_interfaceequationstype), INTENT(IN) :: interfaceEquations
41228  INTEGER(INTG), INTENT(OUT) :: err
41229  !Local variables
41230 
41231  enters("cmfe_InterfaceCondition_EquationsCreateStartObj",err,error,*999)
41232 
41233  CALL interface_condition_equations_create_start(interfacecondition%interfaceCondition,interfaceequations% &
41234  & interfaceequations,err,error,*999)
41235 
41236  exits("cmfe_InterfaceCondition_EquationsCreateStartObj")
41237  RETURN
41238 999 errors("cmfe_InterfaceCondition_EquationsCreateStartObj",err,error)
41239  exits("cmfe_InterfaceCondition_EquationsCreateStartObj")
41240  CALL cmfe_handleerror(err,error)
41241  RETURN
41242 
41244 
41245  !
41246  !================================================================================================================================
41247  !
41248 
41250  SUBROUTINE cmfe_interfacecondition_equationsdestroynumber(regionUserNumber,interfaceUserNumber,interfaceConditionUserNumber,err)
41251  !DLLEXPORT(cmfe_InterfaceCondition_EquationsDestroyNumber)
41252 
41253  !Argument variables
41254  INTEGER(INTG), INTENT(IN) :: regionUserNumber
41255  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
41256  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
41257  INTEGER(INTG), INTENT(OUT) :: err
41258  !Local variables
41259  TYPE(interface_type), POINTER :: INTERFACE
41260  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
41261  TYPE(region_type), POINTER :: REGION
41262  TYPE(varying_string) :: localError
41263 
41264  enters("cmfe_FInterfaceConditionEquationsDestroyNumber",err,error,*999)
41265 
41266  NULLIFY(region)
41267  NULLIFY(interface)
41268  NULLIFY(interface_condition)
41269  CALL region_user_number_find(regionusernumber,region,err,error,*999)
41270  IF(ASSOCIATED(region)) THEN
41271  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
41272  IF(ASSOCIATED(interface)) THEN
41273  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
41274  IF(ASSOCIATED(interface_condition)) THEN
41275  CALL interface_condition_equations_destroy(interface_condition,err,error,*999)
41276  ELSE
41277  localerror="An interface condition with an user number of "// &
41278  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
41279  & " does not exist on the interface with a user number of "// &
41280  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41281  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41282  CALL flagerror(localerror,err,error,*999)
41283  END IF
41284  ELSE
41285  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41286  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41287  CALL flagerror(localerror,err,error,*999)
41288  END IF
41289  ELSE
41290  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
41291  CALL flagerror(localerror,err,error,*999)
41292  END IF
41293 
41294  exits("cmfe_InterfaceCondition_EquationsDestroyNumber")
41295  RETURN
41296 999 errors("cmfe_InterfaceCondition_EquationsDestroyNumber",err,error)
41297  exits("cmfe_InterfaceCondition_EquationsDestroyNumber")
41298  CALL cmfe_handleerror(err,error)
41299  RETURN
41300 
41302 
41303  !
41304  !================================================================================================================================
41305  !
41306 
41308  SUBROUTINE cmfe_interfacecondition_equationsdestroyobj(interfaceCondition,err)
41309  !DLLEXPORT(cmfe_InterfaceCondition_EquationsDestroyObj)
41310 
41311  !Argument variables
41312  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
41313  INTEGER(INTG), INTENT(OUT) :: err
41314  !Local variables
41315 
41316  enters("cmfe_InterfaceCondition_EquationsDestroyObj",err,error,*999)
41317 
41318  CALL interface_condition_equations_destroy(interfacecondition%interfaceCondition,err,error,*999)
41319 
41320  exits("cmfe_InterfaceCondition_EquationsDestroyObj")
41321  RETURN
41322 999 errorsexits("cmfe_InterfaceCondition_EquationsDestroyObj",err,error)
41323  CALL cmfe_handleerror(err,error)
41324  RETURN
41325 
41327 
41328  !
41329  !================================================================================================================================
41330  !
41331 
41333  SUBROUTINE cmfe_interfacecondition_integrationtypegetnumber(regionUserNumber,interfaceUserNumber,interfaceConditionUserNumber, &
41334  & interfaceconditionintegrationtype,err)
41335  !DLLEXPORT(cmfe_InterfaceCondition_IntegrationTypeGetNumber)
41336 
41337  !Argument variables
41338  INTEGER(INTG), INTENT(IN) :: regionUserNumber
41339  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
41340  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
41341  INTEGER(INTG), INTENT(OUT) :: interfaceConditionIntegrationType
41342  INTEGER(INTG), INTENT(OUT) :: err
41343  !Local variables
41344  TYPE(interface_type), POINTER :: interface
41345  TYPE(interface_condition_type), POINTER :: interfaceCondition
41346  TYPE(region_type), POINTER :: region
41347  TYPE(varying_string) :: localError
41348 
41349  enters("cmfe_InterfaceCondition_IntegrationTypeGetNumber",err,error,*999)
41350 
41351  NULLIFY(region)
41352  NULLIFY(interface)
41353  NULLIFY(interfacecondition)
41354  CALL region_user_number_find(regionusernumber,region,err,error,*999)
41355  IF(ASSOCIATED(region)) THEN
41356  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
41357  IF(ASSOCIATED(interface)) THEN
41358  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interfacecondition,err,error,*999)
41359  IF(ASSOCIATED(interfacecondition)) THEN
41360  CALL interfacecondition_integrationtypeget(interfacecondition,interfaceconditionintegrationtype,err,error,*999)
41361  ELSE
41362  localerror="An interface condition with an user number of "// &
41363  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
41364  & " does not exist on the interface with a user number of "// &
41365  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41366  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41367  CALL flagerror(localerror,err,error,*999)
41368  END IF
41369  ELSE
41370  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41371  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41372  CALL flagerror(localerror,err,error,*999)
41373  END IF
41374  ELSE
41375  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
41376  CALL flagerror(localerror,err,error,*999)
41377  END IF
41378 
41379  exits("cmfe_InterfaceCondition_IntegrationTypeGetNumber")
41380  RETURN
41381 999 errors("cmfe_InterfaceCondition_IntegrationTypeGetNumber",err,error)
41382  exits("cmfe_InterfaceCondition_IntegrationTypeGetNumber")
41383  CALL cmfe_handleerror(err,error)
41384  RETURN
41385 
41387 
41388  !
41389  !================================================================================================================================
41390  !
41391 
41393  SUBROUTINE cmfe_interfacecondition_integrationtypegetobj(interfaceCondition,interfaceConditionIntegrationType,err)
41394  !DLLEXPORT(cmfe_InterfaceCondition_IntegrationTypeGetObj)
41395 
41396  !Argument variables
41397  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
41398  INTEGER(INTG), INTENT(OUT) :: interfaceConditionIntegrationType
41399  INTEGER(INTG), INTENT(OUT) :: err
41400  !Local variables
41401 
41402  enters("cmfe_InterfaceCondition_IntegrationTypeGetObj",err,error,*999)
41403 
41404  CALL interfacecondition_integrationtypeget(interfacecondition%interfaceCondition,interfaceconditionintegrationtype, &
41405  & err,error,*999)
41406 
41407  exits("cmfe_InterfaceCondition_IntegrationTypeGetObj")
41408  RETURN
41409 999 errors("cmfe_InterfaceCondition_IntegrationTypeGetObj",err,error)
41410  exits("cmfe_InterfaceCondition_IntegrationTypeGetObj")
41411  CALL cmfe_handleerror(err,error)
41412  RETURN
41413 
41415 
41416  !
41417  !================================================================================================================================
41418  !
41419 
41421  SUBROUTINE cmfe_interfacecondition_integrationtypesetnumber(regionUserNumber,interfaceUserNumber,interfaceConditionUserNumber, &
41422  & interfaceconditionintegrationtype,err)
41423  !DLLEXPORT(cmfe_InterfaceCondition_IntegrationTypeSetNumber)
41424 
41425  !Argument variables
41426  INTEGER(INTG), INTENT(IN) :: regionUserNumber
41427  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
41428  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
41429  INTEGER(INTG), INTENT(IN) :: interfaceConditionIntegrationType
41430  INTEGER(INTG), INTENT(OUT) :: err
41431  !Local variables
41432  TYPE(interface_type), POINTER :: interface
41433  TYPE(interface_condition_type), POINTER :: interfaceCondition
41434  TYPE(region_type), POINTER :: region
41435  TYPE(varying_string) :: localError
41436 
41437  enters("cmfe_InterfaceCondition_IntegrationTypeSetNumber",err,error,*999)
41438 
41439  NULLIFY(region)
41440  NULLIFY(interface)
41441  NULLIFY(interfacecondition)
41442  CALL region_user_number_find(regionusernumber,region,err,error,*999)
41443  IF(ASSOCIATED(region)) THEN
41444  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
41445  IF(ASSOCIATED(interface)) THEN
41446  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interfacecondition,err,error,*999)
41447  IF(ASSOCIATED(interfacecondition)) THEN
41448  CALL interfacecondition_integrationtypeset(interfacecondition,interfaceconditionintegrationtype,err,error,*999)
41449  ELSE
41450  localerror="An interface condition with an user number of "// &
41451  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
41452  & " does not exist on the interface with a user number of "// &
41453  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41454  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41455  CALL flagerror(localerror,err,error,*999)
41456  END IF
41457  ELSE
41458  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41459  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41460  CALL flagerror(localerror,err,error,*999)
41461  END IF
41462  ELSE
41463  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
41464  CALL flagerror(localerror,err,error,*999)
41465  END IF
41466 
41467  exits("cmfe_InterfaceCondition_IntegrationTypeSetNumber")
41468  RETURN
41469 999 errors("cmfe_InterfaceCondition_IntegrationTypeSetNumber",err,error)
41470  exits("cmfe_InterfaceCondition_IntegrationTypeSetNumber")
41471  CALL cmfe_handleerror(err,error)
41472  RETURN
41473 
41475 
41476  !
41477  !================================================================================================================================
41478  !
41479 
41481  SUBROUTINE cmfe_interfacecondition_integrationtypesetobj(interfaceCondition,interfaceConditionIntegrationType,err)
41482  !DLLEXPORT(cmfe_InterfaceCondition_IntegrationTypeSetObj)
41483 
41484  !Argument variables
41485  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
41486  INTEGER(INTG), INTENT(IN) :: interfaceConditionIntegrationType
41487  INTEGER(INTG), INTENT(OUT) :: err
41488  !Local variables
41489 
41490  enters("cmfe_InterfaceCondition_MethodSetObj",err,error,*999)
41491 
41492  CALL interfacecondition_integrationtypeset(interfacecondition%interfaceCondition,interfaceconditionintegrationtype, &
41493  & err,error,*999)
41494 
41495  exits("cmfe_InterfaceCondition_IntegrationTypeSetObj")
41496  RETURN
41497 999 errors("cmfe_InterfaceCondition_IntegrationTypeSetObj",err,error)
41498  exits("cmfe_InterfaceCondition_IntegrationTypeSetObj")
41499  CALL cmfe_handleerror(err,error)
41500  RETURN
41501 
41503 
41504  !
41505  !================================================================================================================================
41506  !
41507 
41509  SUBROUTINE cmfe_interfacecondition_lagrangefieldcreatefinishnumber(regionUserNumber,interfaceUserNumber, &
41510  & interfaceconditionusernumber,err)
41511  !DLLEXPORT(cmfe_InterfaceCondition_LagrangeFieldCreateFinishNumber)
41512 
41513  !Argument variables
41514  INTEGER(INTG), INTENT(IN) :: regionUserNumber
41515  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
41516  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
41517  INTEGER(INTG), INTENT(OUT) :: err
41518  !Local variables
41519  TYPE(interface_type), POINTER :: INTERFACE
41520  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
41521  TYPE(region_type), POINTER :: REGION
41522  TYPE(varying_string) :: localError
41523 
41524  enters("cmfe_InterfaceCondition_LagrangeFieldCreateFinishNumber",err,error,*999)
41525 
41526  NULLIFY(region)
41527  NULLIFY(interface)
41528  NULLIFY(interface_condition)
41529  CALL region_user_number_find(regionusernumber,region,err,error,*999)
41530  IF(ASSOCIATED(region)) THEN
41531  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
41532  IF(ASSOCIATED(interface)) THEN
41533  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
41534  IF(ASSOCIATED(interface_condition)) THEN
41535  CALL interfacecondition_lagrangefieldcreatefinish(interface_condition,err,error,*999)
41536  ELSE
41537  localerror="An interface condition with an user number of "// &
41538  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
41539  & " does not exist on the interface with a user number of "// &
41540  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41541  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41542  CALL flagerror(localerror,err,error,*999)
41543  END IF
41544  ELSE
41545  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41546  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41547  CALL flagerror(localerror,err,error,*999)
41548  END IF
41549  ELSE
41550  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
41551  & " does not exist."
41552  CALL flagerror(localerror,err,error,*999)
41553  END IF
41554 
41555  exits("cmfe_InterfaceCondition_LagrangeFieldCreateFinishNumber")
41556  RETURN
41557 999 errors("cmfe_InterfaceCondition_LagrangeFieldCreateFinishNumber",err,error)
41558  exits("cmfe_InterfaceCondition_LagrangeFieldCreateFinishNumber")
41559  CALL cmfe_handleerror(err,error)
41560  RETURN
41561 
41563 
41564  !
41565  !================================================================================================================================
41566  !
41567 
41569  SUBROUTINE cmfe_interfacecondition_lagrangefieldcreatefinishobj(interfaceCondition,err)
41570  !DLLEXPORT(cmfe_InterfaceCondition_LagrangeFieldCreateFinishObj)
41571 
41572  !Argument variables
41573  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
41574  INTEGER(INTG), INTENT(OUT) :: err
41575  !Local variables
41576 
41577  enters("cmfe_InterfaceCondition_LagrangeFieldCreateFinishObj",err,error,*999)
41578 
41579  CALL interfacecondition_lagrangefieldcreatefinish(interfacecondition%interfaceCondition,err,error,*999)
41580 
41581  exits("cmfe_InterfaceCondition_LagrangeFieldCreateFinishObj")
41582  RETURN
41583 999 errors("cmfe_InterfaceCondition_LagrangeFieldCreateFinishObj",err,error)
41584  exits("cmfe_InterfaceCondition_LagrangeFieldCreateFinishObj")
41585  CALL cmfe_handleerror(err,error)
41586  RETURN
41587 
41589 
41590  !
41591  !================================================================================================================================
41592  !
41593 
41595  SUBROUTINE cmfe_interfacecondition_lagrangefieldcreatestartnumber(regionUserNumber,interfaceUserNumber, &
41596  & interfaceconditionusernumber,lagrangefieldusernumber,err)
41597  !DLLEXPORT(cmfe_InterfaceCondition_LagrangeFieldCreateStartNumber)
41598 
41599  !Argument variables
41600  INTEGER(INTG), INTENT(IN) :: regionUserNumber
41601  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
41602  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
41603  INTEGER(INTG), INTENT(IN) :: lagrangeFieldUserNumber
41604  INTEGER(INTG), INTENT(OUT) :: err
41605  !Local variables
41606  TYPE(field_type), POINTER :: LAGRANGE_FIELD
41607  TYPE(interface_type), POINTER :: INTERFACE
41608  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
41609  TYPE(region_type), POINTER :: REGION
41610  TYPE(varying_string) :: localError
41611 
41612  enters("cmfe_InterfaceCondition_LagrangeFieldCreateStartNumber",err,error,*999)
41613 
41614  NULLIFY(region)
41615  NULLIFY(interface)
41616  NULLIFY(interface_condition)
41617  NULLIFY(lagrange_field)
41618  CALL region_user_number_find(regionusernumber,region,err,error,*999)
41619  IF(ASSOCIATED(region)) THEN
41620  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
41621  IF(ASSOCIATED(interface)) THEN
41622  CALL interface_condition_user_number_find(interfaceusernumber,interface,interface_condition,err,error,*999)
41623  IF(ASSOCIATED(interface_condition)) THEN
41624  CALL interfacecondition_lagrangefieldcreatestart(interface_condition,lagrangefieldusernumber,lagrange_field, &
41625  & err,error,*999)
41626  ELSE
41627  localerror="An interface condition with an user number of "// &
41628  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
41629  & " does not exist on the interface with a user number of "// &
41630  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41631  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41632  CALL flagerror(localerror,err,error,*999)
41633  END IF
41634  ELSE
41635  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41636  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41637  CALL flagerror(localerror,err,error,*999)
41638  END IF
41639  ELSE
41640  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
41641  & " does not exist."
41642  CALL flagerror(localerror,err,error,*999)
41643  END IF
41644 
41645  exits("cmfe_InterfaceCondition_LagrangeFieldCreateStartNumber")
41646  RETURN
41647 999 errors("cmfe_InterfaceCondition_LagrangeFieldCreateStartNumber",err,error)
41648  exits("cmfe_InterfaceCondition_LagrangeFieldCreateStartNumber")
41649  CALL cmfe_handleerror(err,error)
41650  RETURN
41651 
41653 
41654  !
41655  !================================================================================================================================
41656  !
41657 
41659  SUBROUTINE cmfe_interfacecondition_lagrangefieldcreatestartobj(interfaceCondition,lagrangeFieldUserNumber,lagrangeField,err)
41660  !DLLEXPORT(cmfe_InterfaceCondition_LagrangeFieldCreateStartObj)
41661 
41662  !Argument variables
41663  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
41664  INTEGER(INTG), INTENT(IN) :: lagrangeFieldUserNumber
41665  TYPE(cmfe_fieldtype), INTENT(INOUT) :: lagrangeField
41666  INTEGER(INTG), INTENT(OUT) :: err
41667  !Local variables
41668 
41669  enters("cmfe_InterfaceCondition_LagrangeFieldCreateStartObj",err,error,*999)
41670 
41671  CALL interfacecondition_lagrangefieldcreatestart(interfacecondition%interfaceCondition,lagrangefieldusernumber, &
41672  & lagrangefield%field,err,error,*999)
41673 
41674  exits("cmfe_InterfaceCondition_LagrangeFieldCreateStartObj")
41675  RETURN
41676 999 errors("cmfe_InterfaceCondition_LagrangeFieldCreateStartObj",err,error)
41677  exits("cmfe_InterfaceCondition_LagrangeFieldCreateStartObj")
41678  CALL cmfe_handleerror(err,error)
41679  RETURN
41680 
41682 
41683  !
41684  !================================================================================================================================
41685  !
41686 
41688  SUBROUTINE cmfe_interfacecondition_penaltyfieldcreatefinishnumber(RegionUserNumber,InterfaceUserNumber, &
41689  & interfaceconditionusernumber,err)
41690  !DLLEXPORT(cmfe_InterfaceCondition_PenaltyFieldCreateFinishNumber)
41691 
41692  !Argument variables
41693  INTEGER(INTG), INTENT(IN) :: RegionUserNumber
41694  INTEGER(INTG), INTENT(IN) :: InterfaceUserNumber
41695  INTEGER(INTG), INTENT(IN) :: InterfaceConditionUserNumber
41696  INTEGER(INTG), INTENT(OUT) :: Err
41697  !Local variables
41698  TYPE(interface_type), POINTER :: INTERFACE
41699  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
41700  TYPE(region_type), POINTER :: REGION
41701  TYPE(varying_string) :: localError
41702 
41703  enters("cmfe_InterfaceCondition_PenaltyFieldCreateFinishNumber",err,error,*999)
41704 
41705  NULLIFY(region)
41706  NULLIFY(interface)
41707  NULLIFY(interface_condition)
41708  CALL region_user_number_find(regionusernumber,region,err,error,*999)
41709  IF(ASSOCIATED(region)) THEN
41710  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
41711  IF(ASSOCIATED(interface)) THEN
41712  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
41713  IF(ASSOCIATED(interface_condition)) THEN
41714  CALL interfacecondition_penaltyfieldcreatefinish(interface_condition,err,error,*999)
41715  ELSE
41716  localerror="An interface condition with an user number of "// &
41717  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
41718  & " does not exist on the interface with a user number of "// &
41719  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41720  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41721  CALL flagerror(localerror,err,error,*999)
41722  ENDIF
41723  ELSE
41724  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41725  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41726  CALL flagerror(localerror,err,error,*999)
41727  ENDIF
41728  ELSE
41729  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
41730  & " does not exist."
41731  CALL flagerror(localerror,err,error,*999)
41732  ENDIF
41733 
41734  exits("cmfe_InterfaceCondition_PenaltyFieldCreateFinishNumber")
41735  RETURN
41736 999 errors("cmfe_InterfaceCondition_PenaltyFieldCreateFinishNumber",err,error)
41737  exits("cmfe_InterfaceCondition_PenaltyFieldCreateFinishNumber")
41738  CALL cmfe_handleerror(err,error)
41739  RETURN
41740 
41742 
41743  !
41744  !================================================================================================================================
41745  !
41746 
41748  SUBROUTINE cmfe_interfacecondition_penaltyfieldcreatefinishobj(InterfaceCondition,err)
41749  !DLLEXPORT(cmfe_InterfaceCondition_PenaltyFieldCreateFinishObj)
41750 
41751  !Argument variables
41752  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: InterfaceCondition
41753  INTEGER(INTG), INTENT(OUT) :: Err
41754  !Local variables
41755 
41756  enters("cmfe_InterfaceCondition_PenaltyFieldCreateFinishObj",err,error,*999)
41757 
41758  CALL interfacecondition_penaltyfieldcreatefinish(interfacecondition%interfaceCondition,err,error,*999)
41759 
41760  exits("cmfe_InterfaceCondition_PenaltyFieldCreateFinishObj")
41761  RETURN
41762 999 errors("cmfe_InterfaceCondition_PenaltyFieldCreateFinishObj",err,error)
41763  exits("cmfe_InterfaceCondition_PenaltyFieldCreateFinishObj")
41764  CALL cmfe_handleerror(err,error)
41765  RETURN
41766 
41768 
41769  !
41770  !================================================================================================================================
41771  !
41772 
41774  SUBROUTINE cmfe_interfacecondition_penaltyfieldcreatestartnumber(RegionUserNumber,InterfaceUserNumber, &
41775  & interfaceconditionusernumber,penaltyfieldusernumber,err)
41776  !DLLEXPORT(cmfe_InterfaceCondition_PenaltyFieldCreateStartNumber)
41777 
41778  !Argument variables
41779  INTEGER(INTG), INTENT(IN) :: RegionUserNumber
41780  INTEGER(INTG), INTENT(IN) :: InterfaceUserNumber
41781  INTEGER(INTG), INTENT(IN) :: InterfaceConditionUserNumber
41782  INTEGER(INTG), INTENT(IN) :: PenaltyFieldUserNumber
41783  INTEGER(INTG), INTENT(OUT) :: Err
41784  !Local variables
41785  TYPE(field_type), POINTER :: PENALTY_FIELD
41786  TYPE(interface_type), POINTER :: INTERFACE
41787  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
41788  TYPE(region_type), POINTER :: REGION
41789  TYPE(varying_string) :: localError
41790 
41791  enters("cmfe_InterfaceCondition_PenaltyFieldCreateStartNumber",err,error,*999)
41792 
41793  NULLIFY(region)
41794  NULLIFY(interface)
41795  NULLIFY(interface_condition)
41796  NULLIFY(penalty_field)
41797  CALL region_user_number_find(regionusernumber,region,err,error,*999)
41798  IF(ASSOCIATED(region)) THEN
41799  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
41800  IF(ASSOCIATED(interface)) THEN
41801  CALL interface_condition_user_number_find(interfaceusernumber,interface,interface_condition,err,error,*999)
41802  IF(ASSOCIATED(interface_condition)) THEN
41803  CALL interfacecondition_penaltyfieldcreatestart(interface_condition,penaltyfieldusernumber,penalty_field, &
41804  & err,error,*999)
41805  ELSE
41806  localerror="An interface condition with an user number of "// &
41807  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
41808  & " does not exist on the interface with a user number of "// &
41809  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41810  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41811  CALL flagerror(localerror,err,error,*999)
41812  ENDIF
41813  ELSE
41814  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41815  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41816  CALL flagerror(localerror,err,error,*999)
41817  ENDIF
41818  ELSE
41819  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
41820  & " does not exist."
41821  CALL flagerror(localerror,err,error,*999)
41822  ENDIF
41823 
41824  exits("cmfe_InterfaceCondition_PenaltyFieldCreateStartNumber")
41825  RETURN
41826 999 errors("cmfe_InterfaceCondition_PenaltyFieldCreateStartNumber",err,error)
41827  exits("cmfe_InterfaceCondition_PenaltyFieldCreateStartNumber")
41828  CALL cmfe_handleerror(err,error)
41829  RETURN
41830 
41832 
41833  !
41834  !================================================================================================================================
41835  !
41836 
41838  SUBROUTINE cmfe_interfacecondition_penaltyfieldcreatestartobj(InterfaceCondition,PenaltyFieldUserNumber,PenaltyField,err)
41839  !DLLEXPORT(cmfe_InterfaceCondition_PenaltyFieldCreateStartObj)
41840 
41841  !Argument variables
41842  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: InterfaceCondition
41843  INTEGER(INTG), INTENT(IN) :: PenaltyFieldUserNumber
41844  TYPE(cmfe_fieldtype), INTENT(INOUT) :: PenaltyField
41845  INTEGER(INTG), INTENT(OUT) :: Err
41846  !Local variables
41847 
41848  enters("cmfe_InterfaceCondition_PenaltyFieldCreateStartObj",err,error,*999)
41849 
41850  CALL interfacecondition_penaltyfieldcreatestart(interfacecondition%interfaceCondition,penaltyfieldusernumber, &
41851  & penaltyfield%field,err,error,*999)
41852 
41853  exits("cmfe_InterfaceCondition_PenaltyFieldCreateStartObj")
41854  RETURN
41855 999 errors("cmfe_InterfaceCondition_PenaltyFieldCreateStartObj",err,error)
41856  exits("cmfe_InterfaceCondition_PenaltyFieldCreateStartObj")
41857  CALL cmfe_handleerror(err,error)
41858  RETURN
41859 
41861 
41862  !
41863  !================================================================================================================================
41864  !
41865 
41867  SUBROUTINE cmfe_interfacecondition_methodgetnumber(regionUserNumber,interfaceUserNumber,interfaceConditionUserNumber, &
41868  & interfaceconditionmethod,err)
41869  !DLLEXPORT(cmfe_InterfaceCondition_MethodGetNumber)
41870 
41871  !Argument variables
41872  INTEGER(INTG), INTENT(IN) :: regionUserNumber
41873  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
41874  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
41875  INTEGER(INTG), INTENT(OUT) :: interfaceConditionMethod
41876  INTEGER(INTG), INTENT(OUT) :: err
41877  !Local variables
41878  TYPE(interface_type), POINTER :: INTERFACE
41879  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
41880  TYPE(region_type), POINTER :: REGION
41881  TYPE(varying_string) :: localError
41882 
41883  enters("cmfe_InterfaceCondition_MethodGetNumber",err,error,*999)
41884 
41885  NULLIFY(region)
41886  NULLIFY(interface)
41887  NULLIFY(interface_condition)
41888  CALL region_user_number_find(regionusernumber,region,err,error,*999)
41889  IF(ASSOCIATED(region)) THEN
41890  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
41891  IF(ASSOCIATED(interface)) THEN
41892  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
41893  IF(ASSOCIATED(interface_condition)) THEN
41894  CALL interface_condition_method_get(interface_condition,interfaceconditionmethod,err,error,*999)
41895  ELSE
41896  localerror="An interface condition with an user number of "// &
41897  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
41898  & " does not exist on the interface with a user number of "// &
41899  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41900  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41901  CALL flagerror(localerror,err,error,*999)
41902  END IF
41903  ELSE
41904  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41905  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41906  CALL flagerror(localerror,err,error,*999)
41907  END IF
41908  ELSE
41909  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
41910  CALL flagerror(localerror,err,error,*999)
41911  END IF
41912 
41913  exits("cmfe_InterfaceCondition_MethodGetNumber")
41914  RETURN
41915 999 errorsexits("cmfe_InterfaceCondition_MethodGetNumber",err,error)
41916  CALL cmfe_handleerror(err,error)
41917  RETURN
41918 
41920 
41921  !
41922  !================================================================================================================================
41923  !
41924 
41926  SUBROUTINE cmfe_interfacecondition_methodgetobj(interfaceCondition,interfaceConditionMethod,err)
41927  !DLLEXPORT(cmfe_InterfaceCondition_MethodGetObj)
41928 
41929  !Argument variables
41930  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
41931  INTEGER(INTG), INTENT(OUT) :: interfaceConditionMethod
41932  INTEGER(INTG), INTENT(OUT) :: err
41933  !Local variables
41934 
41935  enters("cmfe_InterfaceCondition_MethodGetObj",err,error,*999)
41936 
41937  CALL interface_condition_method_get(interfacecondition%interfaceCondition,interfaceconditionmethod,err,error,*999)
41938 
41939  exits("cmfe_InterfaceCondition_MethodGetObj")
41940  RETURN
41941 999 errorsexits("cmfe_InterfaceCondition_MethodGetObj",err,error)
41942  CALL cmfe_handleerror(err,error)
41943  RETURN
41944 
41946 
41947  !
41948  !================================================================================================================================
41949  !
41950 
41952  SUBROUTINE cmfe_interfacecondition_methodsetnumber(regionUserNumber,interfaceUserNumber,interfaceConditionUserNumber, &
41953  & interfaceconditionmethod,err)
41954  !DLLEXPORT(cmfe_InterfaceCondition_MethodSetNumber)
41955 
41956  !Argument variables
41957  INTEGER(INTG), INTENT(IN) :: regionUserNumber
41958  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
41959  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
41960  INTEGER(INTG), INTENT(IN) :: interfaceConditionMethod
41961  INTEGER(INTG), INTENT(OUT) :: err
41962  !Local variables
41963  TYPE(interface_type), POINTER :: INTERFACE
41964  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
41965  TYPE(region_type), POINTER :: REGION
41966  TYPE(varying_string) :: localError
41967 
41968  enters("cmfe_InterfaceCondition_MethodSetNumber",err,error,*999)
41969 
41970  NULLIFY(region)
41971  NULLIFY(interface)
41972  NULLIFY(interface_condition)
41973  CALL region_user_number_find(regionusernumber,region,err,error,*999)
41974  IF(ASSOCIATED(region)) THEN
41975  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
41976  IF(ASSOCIATED(interface)) THEN
41977  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
41978  IF(ASSOCIATED(interface_condition)) THEN
41979  CALL interface_condition_method_set(interface_condition,interfaceconditionmethod,err,error,*999)
41980  ELSE
41981  localerror="An interface condition with an user number of "// &
41982  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
41983  & " does not exist on the interface with a user number of "// &
41984  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41985  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41986  CALL flagerror(localerror,err,error,*999)
41987  END IF
41988  ELSE
41989  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
41990  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
41991  CALL flagerror(localerror,err,error,*999)
41992  END IF
41993  ELSE
41994  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
41995  CALL flagerror(localerror,err,error,*999)
41996  END IF
41997 
41998  exits("cmfe_InterfaceCondition_MethodSetNumber")
41999  RETURN
42000 999 errorsexits("cmfe_InterfaceCondition_MethodSetNumber",err,error)
42001  CALL cmfe_handleerror(err,error)
42002  RETURN
42003 
42005 
42006  !
42007  !================================================================================================================================
42008  !
42009 
42011  SUBROUTINE cmfe_interfacecondition_methodsetobj(interfaceCondition,interfaceConditionMethod,err)
42012  !DLLEXPORT(cmfe_InterfaceCondition_MethodSetObj)
42013 
42014  !Argument variables
42015  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
42016  INTEGER(INTG), INTENT(IN) :: interfaceConditionMethod
42017  INTEGER(INTG), INTENT(OUT) :: err
42018  !Local variables
42019 
42020  enters("cmfe_InterfaceCondition_MethodSetObj",err,error,*999)
42021 
42022  CALL interface_condition_method_set(interfacecondition%interfaceCondition,interfaceconditionmethod,err,error,*999)
42023 
42024  exits("cmfe_InterfaceCondition_MethodSetObj")
42025  RETURN
42026 999 errorsexits("cmfe_InterfaceCondition_MethodSetObj",err,error)
42027  CALL cmfe_handleerror(err,error)
42028  RETURN
42029 
42031 
42032  !
42033  !================================================================================================================================
42034  !
42035 
42037  SUBROUTINE cmfe_interfacecondition_operatorgetnumber(regionUserNumber,interfaceUserNumber,interfaceConditionUserNumber, &
42038  & interfaceconditionoperator,err)
42039  !DLLEXPORT(cmfe_InterfaceCondition_OperatorGetNumber)
42040 
42041  !Argument variables
42042  INTEGER(INTG), INTENT(IN) :: regionUserNumber
42043  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
42044  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
42045  INTEGER(INTG), INTENT(OUT) :: interfaceConditionOperator
42046  INTEGER(INTG), INTENT(OUT) :: err
42047  !Local variables
42048  TYPE(interface_type), POINTER :: INTERFACE
42049  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
42050  TYPE(region_type), POINTER :: REGION
42051  TYPE(varying_string) :: localError
42052 
42053  enters("cmfe_InterfaceCondition_OperatorGetNumber",err,error,*999)
42054 
42055  NULLIFY(region)
42056  NULLIFY(interface)
42057  NULLIFY(interface_condition)
42058  CALL region_user_number_find(regionusernumber,region,err,error,*999)
42059  IF(ASSOCIATED(region)) THEN
42060  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
42061  IF(ASSOCIATED(interface)) THEN
42062  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
42063  IF(ASSOCIATED(interface_condition)) THEN
42064  CALL interface_condition_operator_get(interface_condition,interfaceconditionoperator,err,error,*999)
42065  ELSE
42066  localerror="An interface condition with an user number of "// &
42067  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
42068  & " does not exist on the interface with a user number of "// &
42069  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
42070  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42071  CALL flagerror(localerror,err,error,*999)
42072  END IF
42073  ELSE
42074  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
42075  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42076  CALL flagerror(localerror,err,error,*999)
42077  END IF
42078  ELSE
42079  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
42080  CALL flagerror(localerror,err,error,*999)
42081  END IF
42082 
42083  exits("cmfe_InterfaceCondition_OperatorGetNumber")
42084  RETURN
42085 999 errorsexits("cmfe_InterfaceCondition_OperatorGetNumber",err,error)
42086  CALL cmfe_handleerror(err,error)
42087  RETURN
42088 
42090 
42091  !
42092  !================================================================================================================================
42093  !
42094 
42096  SUBROUTINE cmfe_interfacecondition_operatorgetobj(interfaceCondition,interfaceConditionOperator,err)
42097  !DLLEXPORT(cmfe_InterfaceCondition_OperatorGetObj)
42098 
42099  !Argument variables
42100  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
42101  INTEGER(INTG), INTENT(OUT) :: interfaceConditionOperator
42102  INTEGER(INTG), INTENT(OUT) :: err
42103  !Local variables
42104 
42105  enters("cmfe_InterfaceCondition_OperatorGetObj",err,error,*999)
42106 
42107  CALL interface_condition_operator_get(interfacecondition%interfaceCondition,interfaceconditionoperator, &
42108  & err,error,*999)
42109 
42110  exits("cmfe_InterfaceCondition_OperatorGetObj")
42111  RETURN
42112 999 errorsexits("cmfe_InterfaceCondition_OperatorGetObj",err,error)
42113  CALL cmfe_handleerror(err,error)
42114  RETURN
42115 
42117 
42118  !
42119  !================================================================================================================================
42120  !
42121 
42123  SUBROUTINE cmfe_interfacecondition_operatorsetnumber(regionUserNumber,interfaceUserNumber,interfaceConditionUserNumber, &
42124  & interfaceconditionoperator,err)
42125  !DLLEXPORT(cmfe_InterfaceCondition_OperatorSetNumber)
42126 
42127  !Argument variables
42128  INTEGER(INTG), INTENT(IN) :: regionUserNumber
42129  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
42130  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
42131  INTEGER(INTG), INTENT(IN) :: interfaceConditionOperator
42132  INTEGER(INTG), INTENT(OUT) :: err
42133  !Local variables
42134  TYPE(interface_type), POINTER :: INTERFACE
42135  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
42136  TYPE(region_type), POINTER :: REGION
42137  TYPE(varying_string) :: localError
42138 
42139  enters("cmfe_InterfaceCondition_OperatorSetNumber",err,error,*999)
42140 
42141  NULLIFY(region)
42142  NULLIFY(interface)
42143  NULLIFY(interface_condition)
42144  CALL region_user_number_find(regionusernumber,region,err,error,*999)
42145  IF(ASSOCIATED(region)) THEN
42146  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
42147  IF(ASSOCIATED(interface)) THEN
42148  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
42149  IF(ASSOCIATED(interface_condition)) THEN
42150  CALL interface_condition_operator_set(interface_condition,interfaceconditionoperator,err,error,*999)
42151  ELSE
42152  localerror="An interface condition with an user number of "// &
42153  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
42154  & " does not exist on the interface with a user number of "// &
42155  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
42156  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42157  CALL flagerror(localerror,err,error,*999)
42158  END IF
42159  ELSE
42160  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
42161  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42162  CALL flagerror(localerror,err,error,*999)
42163  END IF
42164  ELSE
42165  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
42166  CALL flagerror(localerror,err,error,*999)
42167  END IF
42168 
42169  exits("cmfe_InterfaceCondition_OperatorSetNumber")
42170  RETURN
42171 999 errorsexits("cmfe_InterfaceCondition_OperatorSetNumber",err,error)
42172  CALL cmfe_handleerror(err,error)
42173  RETURN
42174 
42176 
42177  !
42178  !================================================================================================================================
42179  !
42180 
42182  SUBROUTINE cmfe_interfacecondition_operatorsetobj(interfaceCondition,interfaceConditionOperator,err)
42183  !DLLEXPORT(cmfe_InterfaceCondition_OperatorSetObj)
42184 
42185  !Argument variables
42186  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
42187  INTEGER(INTG), INTENT(IN) :: interfaceConditionOperator
42188  INTEGER(INTG), INTENT(OUT) :: err
42189  !Local variables
42190 
42191  enters("cmfe_InterfaceCondition_OperatorSetObj",err,error,*999)
42192 
42193  CALL interface_condition_operator_set(interfacecondition%interfaceCondition,interfaceconditionoperator, &
42194  & err,error,*999)
42195 
42196  exits("cmfe_InterfaceCondition_OperatorSetObj")
42197  RETURN
42198 999 errorsexits("cmfe_InterfaceCondition_OperatorSetObj",err,error)
42199  CALL cmfe_handleerror(err,error)
42200  RETURN
42201 
42203 
42204  !
42205  !================================================================================================================================
42206  !
42207 
42209  SUBROUTINE cmfe_interfaceequations_outputtypegetnumber(regionUserNumber,interfaceUserNumber,interfaceConditionUserNumber, &
42210  & outputtype,err)
42211  !DLLEXPORT(cmfe_InterfaceEquations_OutputTypeGetNumber)
42212 
42213  !Argument variables
42214  INTEGER(INTG), INTENT(IN) :: regionUserNumber
42215  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
42216  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
42217  INTEGER(INTG), INTENT(OUT) :: outputType
42218  INTEGER(INTG), INTENT(OUT) :: err
42219  !Local variables
42220  TYPE(interface_type), POINTER :: INTERFACE
42221  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
42222  TYPE(interface_equations_type), POINTER :: INTERFACE_EQUATIONS
42223  TYPE(region_type), POINTER :: REGION
42224  TYPE(varying_string) :: localError
42225 
42226  enters("cmfe_InterfaceEquations_OutputTypeGetNumber",err,error,*999)
42227 
42228  NULLIFY(region)
42229  NULLIFY(interface)
42230  NULLIFY(interface_condition)
42231  NULLIFY(interface_equations)
42232  CALL region_user_number_find(regionusernumber,region,err,error,*999)
42233  IF(ASSOCIATED(region)) THEN
42234  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
42235  IF(ASSOCIATED(interface)) THEN
42236  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
42237  IF(ASSOCIATED(interface_condition)) THEN
42238  CALL interface_condition_equations_get(interface_condition,interface_equations,err,error,*999)
42239  CALL interface_equations_output_type_get(interface_equations,outputtype,err,error,*999)
42240  ELSE
42241  localerror="An interface condition with an user number of "// &
42242  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
42243  & " does not exist on the interface with a user number of "// &
42244  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
42245  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42246  CALL flagerror(localerror,err,error,*999)
42247  END IF
42248  ELSE
42249  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
42250  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42251  CALL flagerror(localerror,err,error,*999)
42252  END IF
42253  ELSE
42254  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
42255  CALL flagerror(localerror,err,error,*999)
42256  END IF
42257 
42258  exits("cmfe_InterfaceEquations_OutputTypeGetNumber")
42259  RETURN
42260 999 errorsexits("cmfe_InterfaceEquations_OutputTypeGetNumber",err,error)
42261  CALL cmfe_handleerror(err,error)
42262  RETURN
42263 
42265 
42266  !
42267  !================================================================================================================================
42268  !
42269 
42271  SUBROUTINE cmfe_interfaceequations_outputtypegetobj(interfaceEquations,outputType,err)
42272  !DLLEXPORT(cmfe_InterfaceEquations_OutputTypeGetObj)
42273 
42274  !Argument variables
42275  TYPE(cmfe_interfaceequationstype), INTENT(IN) :: interfaceEquations
42276  INTEGER(INTG), INTENT(OUT) :: outputType
42277  INTEGER(INTG), INTENT(OUT) :: err
42278  !Local variables
42279 
42280  enters("cmfe_InterfaceEquations_OutputTypeGetObj",err,error,*999)
42281 
42282  CALL interface_equations_output_type_get(interfaceequations%interfaceEquations,outputtype,err,error,*999)
42283 
42284  exits("cmfe_InterfaceEquations_OutputTypeGetObj")
42285  RETURN
42286 999 errorsexits("cmfe_InterfaceEquations_OutputTypeGetObj",err,error)
42287  CALL cmfe_handleerror(err,error)
42288  RETURN
42289 
42291 
42292  !
42293  !================================================================================================================================
42294  !
42295 
42297  SUBROUTINE cmfe_interfaceequations_outputtypesetnumber(regionUserNumber,interfaceUserNumber,interfaceConditionUserNumber, &
42298  & outputtype,err)
42299  !DLLEXPORT(cmfe_InterfaceEquations_OutputTypeSetNumber)
42300 
42301  !Argument variables
42302  INTEGER(INTG), INTENT(IN) :: regionUserNumber
42303  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
42304  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
42305  INTEGER(INTG), INTENT(IN) :: outputType
42306  INTEGER(INTG), INTENT(OUT) :: err
42307  !Local variables
42308  TYPE(interface_type), POINTER :: INTERFACE
42309  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
42310  TYPE(interface_equations_type), POINTER :: INTERFACE_EQUATIONS
42311  TYPE(region_type), POINTER :: REGION
42312  TYPE(varying_string) :: localError
42313 
42314  enters("cmfe_InterfaceEquations_OutputTypeSetNumber",err,error,*999)
42315 
42316  NULLIFY(region)
42317  NULLIFY(interface)
42318  NULLIFY(interface_condition)
42319  NULLIFY(interface_equations)
42320  CALL region_user_number_find(regionusernumber,region,err,error,*999)
42321  IF(ASSOCIATED(region)) THEN
42322  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
42323  IF(ASSOCIATED(interface)) THEN
42324  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
42325  IF(ASSOCIATED(interface_condition)) THEN
42326  CALL interface_condition_equations_get(interface_condition,interface_equations,err,error,*999)
42327  CALL interface_equations_output_type_set(interface_equations,outputtype,err,error,*999)
42328  ELSE
42329  localerror="An interface condition with an user number of "// &
42330  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
42331  & " does not exist on the interface with a user number of "// &
42332  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
42333  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42334  CALL flagerror(localerror,err,error,*999)
42335  END IF
42336  ELSE
42337  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
42338  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42339  CALL flagerror(localerror,err,error,*999)
42340  END IF
42341  ELSE
42342  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
42343  CALL flagerror(localerror,err,error,*999)
42344  END IF
42345 
42346  exits("cmfe_InterfaceEquations_OutputTypeSetNumber")
42347  RETURN
42348 999 errorsexits("cmfe_InterfaceEquations_OutputTypeSetNumber",err,error)
42349  CALL cmfe_handleerror(err,error)
42350  RETURN
42351 
42353 
42354  !
42355  !================================================================================================================================
42356  !
42357 
42359  SUBROUTINE cmfe_interfaceequations_outputtypesetobj(interfaceEquations,outputType,err)
42360  !DLLEXPORT(cmfe_InterfaceEquations_OutputTypeSetObj)
42361 
42362  !Argument variables
42363  TYPE(cmfe_interfaceequationstype), INTENT(IN) :: interfaceEquations
42364  INTEGER(INTG), INTENT(IN) :: outputType
42365  INTEGER(INTG), INTENT(OUT) :: err
42366  !Local variables
42367 
42368  enters("cmfe_InterfaceEquations_OutputTypeSetObj",err,error,*999)
42369 
42370  CALL interface_equations_output_type_set(interfaceequations%interfaceEquations,outputtype,err,error,*999)
42371 
42372  exits("cmfe_InterfaceEquations_OutputTypeSetObj")
42373  RETURN
42374 999 errorsexits("cmfe_InterfaceEquations_OutputTypeSetObj",err,error)
42375  CALL cmfe_handleerror(err,error)
42376  RETURN
42377 
42379 
42380  !
42381  !================================================================================================================================
42382  !
42383 
42385  SUBROUTINE cmfe_interfaceequations_sparsitygetnumber(regionUserNumber,interfaceUserNumber,interfaceConditionUserNumber, &
42386  & sparsitytype,err)
42387  !DLLEXPORT(cmfe_InterfaceEquations_SparsityGetNumber)
42388 
42389  !Argument variables
42390  INTEGER(INTG), INTENT(IN) :: regionUserNumber
42391  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
42392  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
42393  INTEGER(INTG), INTENT(OUT) :: sparsityType
42394  INTEGER(INTG), INTENT(OUT) :: err
42395  !Local variables
42396  TYPE(interface_type), POINTER :: INTERFACE
42397  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
42398  TYPE(interface_equations_type), POINTER :: INTERFACE_EQUATIONS
42399  TYPE(region_type), POINTER :: REGION
42400  TYPE(varying_string) :: localError
42401 
42402  enters("cmfe_InterfaceEquations_SparsityGetNumber",err,error,*999)
42403 
42404  NULLIFY(region)
42405  NULLIFY(interface)
42406  NULLIFY(interface_condition)
42407  NULLIFY(interface_equations)
42408  CALL region_user_number_find(regionusernumber,region,err,error,*999)
42409  IF(ASSOCIATED(region)) THEN
42410  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
42411  IF(ASSOCIATED(interface)) THEN
42412  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
42413  IF(ASSOCIATED(interface_condition)) THEN
42414  CALL interface_condition_equations_get(interface_condition,interface_equations,err,error,*999)
42415  CALL interface_equations_sparsity_type_get(interface_equations,sparsitytype,err,error,*999)
42416  ELSE
42417  localerror="An interface condition with an user number of "// &
42418  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
42419  & " does not exist on the interface with a user number of "// &
42420  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
42421  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42422  CALL flagerror(localerror,err,error,*999)
42423  END IF
42424  ELSE
42425  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
42426  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42427  CALL flagerror(localerror,err,error,*999)
42428  END IF
42429  ELSE
42430  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
42431  CALL flagerror(localerror,err,error,*999)
42432  END IF
42433 
42434  exits("cmfe_InterfaceEquations_SparsityGetNumber")
42435  RETURN
42436 999 errorsexits("cmfe_InterfaceEquations_SparsityGetNumber",err,error)
42437  CALL cmfe_handleerror(err,error)
42438  RETURN
42439 
42441 
42442  !
42443  !================================================================================================================================
42444  !
42445 
42447  SUBROUTINE cmfe_interfaceequations_sparsitygetobj(interfaceEquations,sparsityType,err)
42448  !DLLEXPORT(cmfe_InterfaceEquations_SparsityGetObj)
42449 
42450  !Argument variables
42451  TYPE(cmfe_interfaceequationstype), INTENT(IN) :: interfaceEquations
42452  INTEGER(INTG), INTENT(OUT) :: sparsityType
42453  INTEGER(INTG), INTENT(OUT) :: err
42454  !Local variables
42455 
42456  enters("cmfe_InterfaceEquations_SparsityGetObj",err,error,*999)
42457 
42458  CALL interface_equations_sparsity_type_get(interfaceequations%interfaceEquations,sparsitytype,err,error,*999)
42459 
42460  exits("cmfe_InterfaceEquations_SparsityGetObj")
42461  RETURN
42462 999 errorsexits("cmfe_InterfaceEquations_SparsityGetObj",err,error)
42463  CALL cmfe_handleerror(err,error)
42464  RETURN
42465 
42467 
42468  !
42469  !================================================================================================================================
42470  !
42471 
42473  SUBROUTINE cmfe_interfaceequations_sparsitysetnumber(regionUserNumber,interfaceUserNumber,interfaceConditionUserNumber, &
42474  & sparsitytype,err)
42475  !DLLEXPORT(cmfe_InterfaceEquations_SparsitySetNumber)
42476 
42477  !Argument variables
42478  INTEGER(INTG), INTENT(IN) :: regionUserNumber
42479  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
42480  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
42481  INTEGER(INTG), INTENT(IN) :: sparsityType
42482  INTEGER(INTG), INTENT(OUT) :: err
42483  !Local variables
42484  TYPE(interface_type), POINTER :: INTERFACE
42485  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
42486  TYPE(interface_equations_type), POINTER :: INTERFACE_EQUATIONS
42487  TYPE(region_type), POINTER :: REGION
42488  TYPE(varying_string) :: localError
42489 
42490  enters("cmfe_InterfaceEquations_SparsitySetNumber",err,error,*999)
42491 
42492  NULLIFY(region)
42493  NULLIFY(interface)
42494  NULLIFY(interface_condition)
42495  NULLIFY(interface_equations)
42496  CALL region_user_number_find(regionusernumber,region,err,error,*999)
42497  IF(ASSOCIATED(region)) THEN
42498  CALL interface_user_number_find(interfaceusernumber,region,interface,err,error,*999)
42499  IF(ASSOCIATED(interface)) THEN
42500  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
42501  IF(ASSOCIATED(interface_condition)) THEN
42502  CALL interface_condition_equations_get(interface_condition,interface_equations,err,error,*999)
42503  CALL interface_equations_sparsity_type_set(interface_equations,sparsitytype,err,error,*999)
42504  ELSE
42505  localerror="An interface condition with an user number of "// &
42506  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
42507  & " does not exist on the interface with a user number of "// &
42508  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
42509  & " defined on a region with a user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42510  CALL flagerror(localerror,err,error,*999)
42511  END IF
42512  ELSE
42513  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
42514  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42515  CALL flagerror(localerror,err,error,*999)
42516  END IF
42517  ELSE
42518  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
42519  CALL flagerror(localerror,err,error,*999)
42520  END IF
42521 
42522  exits("cmfe_InterfaceEquations_SparsitySetNumber")
42523  RETURN
42524 999 errorsexits("cmfe_InterfaceEquations_SparsitySetNumber",err,error)
42525  CALL cmfe_handleerror(err,error)
42526  RETURN
42527 
42529 
42530  !
42531  !================================================================================================================================
42532  !
42533 
42535  SUBROUTINE cmfe_interfaceequations_sparsitysetobj(interfaceEquations,sparsityType,err)
42536  !DLLEXPORT(cmfe_InterfaceEquations_SparsitySetObj)
42537 
42538  !Argument variables
42539  TYPE(cmfe_interfaceequationstype), INTENT(IN) :: interfaceEquations
42540  INTEGER(INTG), INTENT(IN) :: sparsityType
42541  INTEGER(INTG), INTENT(OUT) :: err
42542  !Local variables
42543 
42544  enters("cmfe_InterfaceEquations_SparsitySetObj",err,error,*999)
42545 
42546  CALL interface_equations_sparsity_type_set(interfaceequations%interfaceEquations,sparsitytype,err,error,*999)
42547 
42548  exits("cmfe_InterfaceEquations_SparsitySetObj")
42549  RETURN
42550 999 errorsexits("cmfe_InterfaceEquations_SparsitySetObj",err,error)
42551  CALL cmfe_handleerror(err,error)
42552  RETURN
42553 
42555 
42556 !!==================================================================================================================================
42557 !!
42558 !! MESH_ROUTINES
42559 !!
42560 !!==================================================================================================================================
42561 
42563  SUBROUTINE cmfe_decomposition_createfinishnumber(regionUserNumber,meshUserNumber,decompositionUserNumber,err)
42564  !DLLEXPORT(cmfe_Decomposition_CreateFinishNumber)
42565 
42566  !Argument variables
42567  INTEGER(INTG), INTENT(IN) :: regionUserNumber
42568  INTEGER(INTG), INTENT(IN) :: meshUserNumber
42569  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
42570  INTEGER(INTG), INTENT(OUT) :: err
42571  !Local variables
42572  TYPE(decomposition_type), POINTER :: DECOMPOSITION
42573  TYPE(mesh_type), POINTER :: MESH
42574  TYPE(region_type), POINTER :: REGION
42575  TYPE(varying_string) :: localError
42576 
42577  enters("cmfe_Decomposition_CreateFinishNumber",err,error,*999)
42578 
42579  NULLIFY(region)
42580  NULLIFY(mesh)
42581  NULLIFY(decomposition)
42582  CALL region_user_number_find(regionusernumber,region,err,error,*999)
42583  IF(ASSOCIATED(region)) THEN
42584  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
42585  IF(ASSOCIATED(mesh)) THEN
42586  CALL decomposition_user_number_find(decompositionusernumber,mesh,decomposition,err,error,*999)
42587  IF(ASSOCIATED(decomposition)) THEN
42588  CALL decomposition_create_finish(decomposition,err,error,*999)
42589  ELSE
42590  localerror="A decomposition with an user number of "//trim(numbertovstring(decompositionusernumber,"*",err,error))// &
42591  & " does not exist on the mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))//"."
42592  CALL flagerror(localerror,err,error,*999)
42593  END IF
42594  ELSE
42595  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
42596  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42597  CALL flagerror(localerror,err,error,*999)
42598  END IF
42599  ELSE
42600  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
42601  & " does not exist."
42602  CALL flagerror(localerror,err,error,*999)
42603  END IF
42604 
42605 #ifdef TAUPROF
42606  CALL tau_static_phase_stop('Decomposition Create')
42607 #endif
42608 
42609  exits("cmfe_Decomposition_CreateFinishNumber")
42610  RETURN
42611 999 errorsexits("cmfe_Decomposition_CreateFinishNumber",err,error)
42612  CALL cmfe_handleerror(err,error)
42613  RETURN
42614 
42616 
42617  !
42618  !================================================================================================================================
42619  !
42620 
42622  SUBROUTINE cmfe_decomposition_createfinishobj(decomposition,err)
42623  !DLLEXPORT(cmfe_Decomposition_CreateFinishObj)
42624 
42625  !Argument variables
42626  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
42627  INTEGER(INTG), INTENT(OUT) :: err
42628  !Local variables
42629 
42630  enters("cmfe_Decomposition_CreateFinishObj",err,error,*999)
42631 
42632  CALL decomposition_create_finish(decomposition%decomposition,err,error,*999)
42633 
42634 #ifdef TAUPROF
42635  CALL tau_static_phase_stop('decomposition Create')
42636 #endif
42637 
42638  exits("cmfe_Decomposition_CreateFinishObj")
42639  RETURN
42640 999 errorsexits("cmfe_Decomposition_CreateFinishObj",err,error)
42641  CALL cmfe_handleerror(err,error)
42642  RETURN
42643 
42644  END SUBROUTINE cmfe_decomposition_createfinishobj
42645 
42646  !
42647  !================================================================================================================================
42648  !
42649 
42651  SUBROUTINE cmfe_decomposition_topologydataprojectioncalculateobj(decomposition,err)
42652  !DLLEXPORT(cmfe_Decomposition_TopologyDataProjectionCalculateObj)
42653 
42654  !Argument variables
42655  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
42656  INTEGER(INTG), INTENT(OUT) :: err
42657  !Local variables
42658 
42659  enters("cmfe_Decomposition_TopologyDataProjectionCalculateObj",err,error,*999)
42660 
42661  CALL decompositiontopology_dataprojectioncalculate(decomposition%decomposition%TOPOLOGY,err,error,*999)
42662 
42663 #ifdef TAUPROF
42664  CALL tau_static_phase_stop('cmfe_Decomposition_TopologyDataProjectionCalculateObj',err,error,*999)
42665 #endif
42666 
42667  exits("cmfe_Decomposition_TopologyDataProjectionCalculateObj")
42668  RETURN
42669 999 errors("cmfe_Decomposition_TopologyDataProjectionCalculateObj",err,error)
42670  exits("cmfe_Decomposition_TopologyDataProjectionCalculateObj")
42671  CALL cmfe_handleerror(err,error)
42672  RETURN
42673 
42675 
42676  !
42677  !================================================================================================================================
42678  !
42679 
42681  SUBROUTINE cmfe_decomposition_topologyelementdatapointlocalnumbergetobj(decomposition,elementNumber,dataPointIndex, &
42682  & datapointlocalnumber,err)
42683  !DLLEXPORT(cmfe_Decomposition_TopologyElementDataPointLocalNumberGetObj)
42684 
42685  !Argument variables
42686  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
42687  INTEGER(INTG), INTENT(IN) :: elementNumber
42688  INTEGER(INTG), INTENT(IN) :: dataPointIndex
42689  INTEGER(INTG), INTENT(OUT) :: dataPointLocalNumber
42690  INTEGER(INTG), INTENT(OUT) :: err
42691  !Local variables
42692 
42693  enters("cmfe_Decomposition_TopologyElementDataPointLocalNumberGetObj",err,error,*999)
42694 
42695  CALL decompositiontopology_elementdatapointlocalnumberget(decomposition%decomposition%TOPOLOGY,elementnumber,datapointindex, &
42696  & datapointlocalnumber,err,error,*999)
42697 
42698 #ifdef TAUPROF
42699  CALL tau_static_phase_stop('cmfe_Decomposition_TopologyElementDataPointLocalNumberGetObj',err,error,*999)
42700 #endif
42701 
42702  exits("cmfe_Decomposition_TopologyElementDataPointLocalNumberGetObj")
42703  RETURN
42704 999 errors("cmfe_Decomposition_TopologyElementDataPointLocalNumberGetObj",err,error)
42705  exits("cmfe_Decomposition_TopologyElementDataPointLocalNumberGetObj")
42706  CALL cmfe_handleerror(err,error)
42707  RETURN
42708 
42710 
42711  !
42712  !================================================================================================================================
42713  !
42714 
42716  SUBROUTINE cmfe_decomposition_topologyelementdatapointusernumbergetobj(decomposition,elementNumber,dataPointIndex, &
42717  & datapointusernumber,err)
42718  !DLLEXPORT(cmfe_Decomposition_TopologyElementDataPointUserNumberGetObj)
42719 
42720  !Argument variables
42721  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
42722  INTEGER(INTG), INTENT(IN) :: elementNumber
42723  INTEGER(INTG), INTENT(IN) :: dataPointIndex
42724  INTEGER(INTG), INTENT(OUT) :: dataPointUserNumber
42725  INTEGER(INTG), INTENT(OUT) :: err
42726  !Local variables
42727 
42728  enters("cmfe_Decomposition_TopologyElementDataPointUserNumberGetObj",err,error,*999)
42729 
42730  CALL decompositiontopology_elementdatapointusernumberget(decomposition%decomposition%TOPOLOGY,elementnumber,datapointindex, &
42731  & datapointusernumber,err,error,*999)
42732 
42733 #ifdef TAUPROF
42734  CALL tau_static_phase_stop('cmfe_Decomposition_TopologyElementDataPointUserNumberGetObj',err,error,*999)
42735 #endif
42736 
42737  exits("cmfe_Decomposition_TopologyElementDataPointUserNumberGetObj")
42738  RETURN
42739 999 errors("cmfe_Decomposition_TopologyElementDataPointUserNumberGetObj",err,error)
42740  exits("cmfe_Decomposition_TopologyElementDataPointUserNumberGetObj")
42741  CALL cmfe_handleerror(err,error)
42742  RETURN
42743 
42745 
42746  !
42747  !================================================================================================================================
42748  !
42749 
42751  SUBROUTINE cmfe_decomposition_topologynumberofelementdatapointsgetobj(decomposition,elementNumber,numberOfDataPoints,err)
42752  !DLLEXPORT(cmfe_Decomposition_TopologyNumberOfElementDataPointsGetObj)
42753 
42754  !Argument variables
42755  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
42756  INTEGER(INTG), INTENT(IN) :: elementNumber
42757  INTEGER(INTG), INTENT(OUT) :: numberOfDataPoints
42758  INTEGER(INTG), INTENT(OUT) :: err
42759  !Local variables
42760 
42761  enters("cmfe_Decomposition_TopologyNumberOfElementDataPointsGetObj",err,error,*999)
42762 
42763  CALL decompositiontopology_numberofelementdatapointsget(decomposition%decomposition%TOPOLOGY,elementnumber, &
42764  & numberofdatapoints,err,error,*999)
42765 
42766 #ifdef TAUPROF
42767  CALL tau_static_phase_stop('cmfe_Decomposition_TopologyNumberOfElementDataPointsGetObj',err,error,*999)
42768 #endif
42769 
42770  exits("cmfe_Decomposition_TopologyNumberOfElementDataPointsGetObj")
42771  RETURN
42772 999 errors("cmfe_Decomposition_TopologyNumberOfElementDataPointsGetObj",err,error)
42773  exits("cmfe_Decomposition_TopologyNumberOfElementDataPointsGetObj")
42774  CALL cmfe_handleerror(err,error)
42775  RETURN
42776 
42778 
42779  !
42780  !================================================================================================================================
42781  !
42782 
42784  SUBROUTINE cmfe_decomposition_createstartnumber(decompositionUserNumber,regionUserNumber,meshUserNumber,err)
42785  !DLLEXPORT(cmfe_Decomposition_CreateStartNumber)
42786 
42787  !Argument variables
42788  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
42789  INTEGER(INTG), INTENT(IN) :: regionUserNumber
42790  INTEGER(INTG), INTENT(IN) :: meshUserNumber
42791  INTEGER(INTG), INTENT(OUT) :: err
42792  !Local variables
42793  TYPE(decomposition_type), POINTER :: DECOMPOSITION
42794  TYPE(mesh_type), POINTER :: MESH
42795  TYPE(region_type), POINTER :: REGION
42796  TYPE(varying_string) :: localError
42797 
42798  enters("cmfe_Decomposition_CreateStartNumber",err,error,*999)
42799 
42800 #ifdef TAUPROF
42801  CALL tau_static_phase_start('Decomposition Create')
42802 #endif
42803 
42804  NULLIFY(region)
42805  NULLIFY(mesh)
42806  NULLIFY(decomposition)
42807  CALL region_user_number_find(regionusernumber,region,err,error,*999)
42808  IF(ASSOCIATED(region)) THEN
42809  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
42810  IF(ASSOCIATED(mesh)) THEN
42811  CALL decomposition_create_start(decompositionusernumber,mesh,decomposition,err,error,*999)
42812  ELSE
42813  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
42814  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42815  CALL flagerror(localerror,err,error,*999)
42816  END IF
42817  ELSE
42818  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
42819  & " does not exist."
42820  CALL flagerror(localerror,err,error,*999)
42821  END IF
42822 
42823  exits("cmfe_Decomposition_CreateStartNumber")
42824  RETURN
42825 999 errorsexits("cmfe_Decomposition_CreateStartNumber",err,error)
42826  CALL cmfe_handleerror(err,error)
42827  RETURN
42828 
42830 
42831  !
42832  !================================================================================================================================
42833  !
42834 
42836  SUBROUTINE cmfe_decomposition_createstartobj(decompositionUserNumber,mesh,decomposition,err)
42837  !DLLEXPORT(cmfe_Decomposition_CreateStartObj)
42838 
42839  !Argument variables
42840  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
42841  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
42842  TYPE(cmfe_decompositiontype), INTENT(INOUT) :: decomposition
42843  INTEGER(INTG), INTENT(OUT) :: err
42844  !Local variables
42845 
42846  enters("cmfe_Decomposition_CreateStartObj",err,error,*999)
42847 
42848 #ifdef TAUPROF
42849  CALL tau_static_phase_start('decomposition Create')
42850 #endif
42851 
42852  CALL decomposition_create_start(decompositionusernumber,mesh%mesh,decomposition%decomposition,err,error,*999)
42853 
42854  exits("cmfe_Decomposition_CreateStartObj")
42855  RETURN
42856 999 errorsexits("cmfe_Decomposition_CreateStartObj",err,error)
42857  CALL cmfe_handleerror(err,error)
42858  RETURN
42859 
42860  END SUBROUTINE cmfe_decomposition_createstartobj
42861 
42862  !
42863  !================================================================================================================================
42864  !
42865 
42867  SUBROUTINE cmfe_decomposition_destroynumber(regionUserNumber,meshUserNumber,decompositionUserNumber,err)
42868  !DLLEXPORT(cmfe_Decomposition_DestroyNumber)
42869 
42870  !Argument variables
42871  INTEGER(INTG), INTENT(IN) :: regionUserNumber
42872  INTEGER(INTG), INTENT(IN) :: meshUserNumber
42873  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
42874  INTEGER(INTG), INTENT(OUT) :: err
42875  !Local variables
42876  TYPE(decomposition_type), POINTER :: DECOMPOSITION
42877  TYPE(mesh_type), POINTER :: MESH
42878  TYPE(region_type), POINTER :: REGION
42879  TYPE(varying_string) :: localError
42880 
42881  enters("cmfe_Decomposition_DestroyNumber",err,error,*999)
42882 
42883  NULLIFY(region)
42884  NULLIFY(mesh)
42885  NULLIFY(decomposition)
42886  CALL region_user_number_find(regionusernumber,region,err,error,*999)
42887  IF(ASSOCIATED(region)) THEN
42888  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
42889  IF(ASSOCIATED(mesh)) THEN
42890  CALL decomposition_user_number_find(decompositionusernumber,mesh,decomposition,err,error,*999)
42891  IF(ASSOCIATED(decomposition)) THEN
42892  CALL decomposition_destroy(decomposition,err,error,*999)
42893  ELSE
42894  localerror="A decomposition with an user number of "//trim(numbertovstring(decompositionusernumber,"*",err,error))// &
42895  & " does not exist on the mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))//"."
42896  CALL flagerror(localerror,err,error,*999)
42897  END IF
42898  ELSE
42899  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
42900  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42901  CALL flagerror(localerror,err,error,*999)
42902  END IF
42903  ELSE
42904  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
42905  & " does not exist."
42906  CALL flagerror(localerror,err,error,*999)
42907  END IF
42908 
42909  exits("cmfe_Decomposition_DestroyNumber")
42910  RETURN
42911 999 errorsexits("cmfe_Decomposition_DestroyNumber",err,error)
42912  CALL cmfe_handleerror(err,error)
42913  RETURN
42914 
42915  END SUBROUTINE cmfe_decomposition_destroynumber
42916 
42917  !
42918  !================================================================================================================================
42919  !
42920 
42922  SUBROUTINE cmfe_decomposition_destroyobj(decomposition,err)
42923  !DLLEXPORT(cmfe_Decomposition_DestroyObj)
42924 
42925  !Argument variables
42926  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
42927  INTEGER(INTG), INTENT(OUT) :: err
42928  !Local variables
42929 
42930  enters("cmfe_Decomposition_DestroyObj",err,error,*999)
42931 
42932  CALL decomposition_destroy(decomposition%decomposition,err,error,*999)
42933 
42934  exits("cmfe_Decomposition_DestroyObj")
42935  RETURN
42936 999 errorsexits("cmfe_Decomposition_DestroyObj",err,error)
42937  CALL cmfe_handleerror(err,error)
42938  RETURN
42939 
42940  END SUBROUTINE cmfe_decomposition_destroyobj
42941 
42942  !
42943  !================================================================================================================================
42944  !
42945 
42947  SUBROUTINE cmfe_decomposition_elementdomaincalculatenumber(regionUserNumber,meshUserNumber,decompositionUserNumber,err)
42948  !DLLEXPORT(cmfe_Decomposition_ElementDomainCalculateNumber)
42949 
42950  !Argument variables
42951  INTEGER(INTG), INTENT(IN) :: regionUserNumber
42952  INTEGER(INTG), INTENT(IN) :: meshUserNumber
42953  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
42954  INTEGER(INTG), INTENT(OUT) :: err
42955  !Local variables
42956  TYPE(decomposition_type), POINTER :: DECOMPOSITION
42957  TYPE(mesh_type), POINTER :: MESH
42958  TYPE(region_type), POINTER :: REGION
42959  TYPE(varying_string) :: localError
42960 
42961  enters("cmfe_Decomposition_ElementDomainCalculateNumber",err,error,*999)
42962 
42963  NULLIFY(region)
42964  NULLIFY(mesh)
42965  NULLIFY(decomposition)
42966  CALL region_user_number_find(regionusernumber,region,err,error,*999)
42967  IF(ASSOCIATED(region)) THEN
42968  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
42969  IF(ASSOCIATED(mesh)) THEN
42970  CALL decomposition_user_number_find(decompositionusernumber,mesh,decomposition,err,error,*999)
42971  IF(ASSOCIATED(decomposition)) THEN
42972  CALL decomposition_element_domain_calculate(decomposition,err,error,*999)
42973  ELSE
42974  localerror="A decomposition with an user number of "//trim(numbertovstring(decompositionusernumber,"*",err,error))// &
42975  & " does not exist on the mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))//"."
42976  CALL flagerror(localerror,err,error,*999)
42977  END IF
42978  ELSE
42979  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
42980  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
42981  CALL flagerror(localerror,err,error,*999)
42982  END IF
42983  ELSE
42984  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
42985  & " does not exist."
42986  CALL flagerror(localerror,err,error,*999)
42987  END IF
42988 
42989  exits("cmfe_Decomposition_ElementDomainCalculateNumber")
42990  RETURN
42991 999 errors("cmfe_Decomposition_ElementDomainCalculateNumber",err,error)
42992  exits("cmfe_Decomposition_ElementDomainCalculateNumber")
42993  CALL cmfe_handleerror(err,error)
42994  RETURN
42995 
42997 
42998  !
42999  !================================================================================================================================
43000  !
43001 
43003  SUBROUTINE cmfe_decomposition_elementdomaincalculateobj(decomposition,err)
43004  !DLLEXPORT(cmfe_Decomposition_ElementDomainCalculateObj)
43005 
43006  !Argument variables
43007  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
43008  INTEGER(INTG), INTENT(OUT) :: err
43009  !Local variables
43010 
43011  enters("cmfe_Decomposition_ElementDomainCalculateObj",err,error,*999)
43012 
43013  CALL decomposition_element_domain_calculate(decomposition%decomposition,err,error,*999)
43014 
43015  exits("cmfe_Decomposition_ElementDomainCalculateObj")
43016  RETURN
43017 999 errors("cmfe_Decomposition_ElementDomainCalculateObj",err,error)
43018  exits("cmfe_Decomposition_ElementDomainCalculateObj")
43019  CALL cmfe_handleerror(err,error)
43020  RETURN
43021 
43023 
43024  !
43025  !================================================================================================================================
43026  !
43027 
43029  SUBROUTINE cmfe_decomposition_elementdomaingetnumber(regionUserNumber,meshUserNumber,decompositionUserNumber, &
43030  & elementusernumber,domain,err)
43031  !DLLEXPORT(cmfe_Decomposition_ElementDomainGetNumber)
43032 
43033  !Argument variables
43034  INTEGER(INTG), INTENT(IN) :: regionUserNumber
43035  INTEGER(INTG), INTENT(IN) :: meshUserNumber
43036  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
43037  INTEGER(INTG), INTENT(IN) :: elementUserNumber
43038  INTEGER(INTG), INTENT(OUT) :: domain
43039  INTEGER(INTG), INTENT(OUT) :: err
43040  !Local variables
43041  TYPE(decomposition_type), POINTER :: DECOMPOSITION
43042  TYPE(mesh_type), POINTER :: MESH
43043  TYPE(region_type), POINTER :: REGION
43044  TYPE(varying_string) :: localError
43045 
43046  enters("cmfe_Decomposition_ElementDomainGetNumber",err,error,*999)
43047 
43048  NULLIFY(region)
43049  NULLIFY(mesh)
43050  NULLIFY(decomposition)
43051  CALL region_user_number_find(regionusernumber,region,err,error,*999)
43052  IF(ASSOCIATED(region)) THEN
43053  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
43054  IF(ASSOCIATED(mesh)) THEN
43055  CALL decomposition_user_number_find(decompositionusernumber,mesh,decomposition,err,error,*999)
43056  IF(ASSOCIATED(decomposition)) THEN
43057  CALL decomposition_element_domain_get(decomposition,elementusernumber,domain,err,error,*999)
43058  ELSE
43059  localerror="A decomposition with an user number of "//trim(numbertovstring(decompositionusernumber,"*",err,error))// &
43060  & " does not exist on the mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))//"."
43061  CALL flagerror(localerror,err,error,*999)
43062  END IF
43063  ELSE
43064  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
43065  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
43066  CALL flagerror(localerror,err,error,*999)
43067  END IF
43068  ELSE
43069  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
43070  & " does not exist."
43071  CALL flagerror(localerror,err,error,*999)
43072  END IF
43073 
43074  exits("cmfe_Decomposition_ElementDomainGetNumber")
43075  RETURN
43076 999 errorsexits("cmfe_Decomposition_ElementDomainGetNumber",err,error)
43077  CALL cmfe_handleerror(err,error)
43078  RETURN
43079 
43081 
43082  !
43083  !================================================================================================================================
43084  !
43085 
43087  SUBROUTINE cmfe_decomposition_elementdomaingetobj(decomposition,elementUserNumber,domain,err)
43088  !DLLEXPORT(cmfe_Decomposition_ElementDomainGetObj)
43089 
43090  !Argument variables
43091  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
43092  INTEGER(INTG), INTENT(IN) :: elementUserNumber
43093  INTEGER(INTG), INTENT(OUT) :: domain
43094  INTEGER(INTG), INTENT(OUT) :: err
43095  !Local variables
43096 
43097  enters("cmfe_Decomposition_ElementDomainGetObj",err,error,*999)
43098 
43099  CALL decomposition_element_domain_get(decomposition%decomposition,elementusernumber,domain,err,error,*999)
43100 
43101  exits("cmfe_Decomposition_ElementDomainGetObj")
43102  RETURN
43103 999 errorsexits("cmfe_Decomposition_ElementDomainGetObj",err,error)
43104  CALL cmfe_handleerror(err,error)
43105  RETURN
43106 
43108 
43109  !
43110  !================================================================================================================================
43111  !
43112 
43114  SUBROUTINE cmfe_decomposition_elementdomainsetnumber(regionUserNumber,meshUserNumber,decompositionUserNumber, &
43115  & elementusernumber,domain,err)
43116  !DLLEXPORT(cmfe_Decomposition_ElementDomainSetNumber)
43117 
43118  !Argument variables
43119  INTEGER(INTG), INTENT(IN) :: regionUserNumber
43120  INTEGER(INTG), INTENT(IN) :: meshUserNumber
43121  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
43122  INTEGER(INTG), INTENT(IN) :: elementUserNumber
43123  INTEGER(INTG), INTENT(IN) :: domain
43124  INTEGER(INTG), INTENT(OUT) :: err
43125  !Local variables
43126  TYPE(decomposition_type), POINTER :: DECOMPOSITION
43127  TYPE(mesh_type), POINTER :: MESH
43128  TYPE(region_type), POINTER :: REGION
43129  TYPE(varying_string) :: localError
43130 
43131  enters("cmfe_Decomposition_ElementDomainSetNumber",err,error,*999)
43132 
43133  NULLIFY(region)
43134  NULLIFY(mesh)
43135  NULLIFY(decomposition)
43136  CALL region_user_number_find(regionusernumber,region,err,error,*999)
43137  IF(ASSOCIATED(region)) THEN
43138  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
43139  IF(ASSOCIATED(mesh)) THEN
43140  CALL decomposition_user_number_find(decompositionusernumber,mesh,decomposition,err,error,*999)
43141  IF(ASSOCIATED(decomposition)) THEN
43142  CALL decomposition_element_domain_set(decomposition,elementusernumber,domain,err,error,*999)
43143  ELSE
43144  localerror="A decomposition with an user number of "//trim(numbertovstring(decompositionusernumber,"*",err,error))// &
43145  & " does not exist on the mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))//"."
43146  CALL flagerror(localerror,err,error,*999)
43147  END IF
43148  ELSE
43149  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
43150  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
43151  CALL flagerror(localerror,err,error,*999)
43152  END IF
43153  ELSE
43154  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
43155  & " does not exist."
43156  CALL flagerror(localerror,err,error,*999)
43157  END IF
43158 
43159  exits("cmfe_Decomposition_ElementDomainSetNumber")
43160  RETURN
43161 999 errorsexits("cmfe_Decomposition_ElementDomainSetNumber",err,error)
43162  CALL cmfe_handleerror(err,error)
43163  RETURN
43164 
43166 
43167  !
43168  !================================================================================================================================
43169  !
43170 
43172  SUBROUTINE cmfe_decomposition_elementdomainsetobj(decomposition,elementUserNumber,domain,err)
43173  !DLLEXPORT(cmfe_Decomposition_ElementDomainSetObj)
43174 
43175  !Argument variables
43176  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
43177  INTEGER(INTG), INTENT(IN) :: elementUserNumber
43178  INTEGER(INTG), INTENT(IN) :: domain
43179  INTEGER(INTG), INTENT(OUT) :: err
43180  !Local variables
43181 
43182  enters("cmfe_Decomposition_ElementDomainSetObj",err,error,*999)
43183 
43184  CALL decomposition_element_domain_set(decomposition%decomposition,elementusernumber,domain,err,error,*999)
43185 
43186  exits("cmfe_Decomposition_ElementDomainSetObj")
43187  RETURN
43188 999 errorsexits("cmfe_Decomposition_ElementDomainSetObj",err,error)
43189  CALL cmfe_handleerror(err,error)
43190  RETURN
43191 
43193 
43194  !
43195  !================================================================================================================================
43196  !
43197 
43199  SUBROUTINE cmfe_decomposition_meshcomponentgetnumber(regionUserNumber,meshUserNumber,decompositionUserNumber, &
43200  & meshcomponentnumber,err)
43201  !DLLEXPORT(cmfe_Decomposition_MeshComponentGetNumber)
43202 
43203  !Argument variables
43204  INTEGER(INTG), INTENT(IN) :: regionUserNumber
43205  INTEGER(INTG), INTENT(IN) :: meshUserNumber
43206  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
43207  INTEGER(INTG), INTENT(OUT) :: meshComponentNumber
43208  INTEGER(INTG), INTENT(OUT) :: err
43209  !Local variables
43210  TYPE(decomposition_type), POINTER :: DECOMPOSITION
43211  TYPE(mesh_type), POINTER :: MESH
43212  TYPE(region_type), POINTER :: REGION
43213  TYPE(varying_string) :: localError
43214 
43215  enters("cmfe_Decomposition_MeshComponentGetNumber",err,error,*999)
43216 
43217  NULLIFY(region)
43218  NULLIFY(mesh)
43219  NULLIFY(decomposition)
43220  CALL region_user_number_find(regionusernumber,region,err,error,*999)
43221  IF(ASSOCIATED(region)) THEN
43222  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
43223  IF(ASSOCIATED(mesh)) THEN
43224  CALL decomposition_user_number_find(decompositionusernumber,mesh,decomposition,err,error,*999)
43225  IF(ASSOCIATED(decomposition)) THEN
43226  CALL decomposition_mesh_component_number_get(decomposition,meshcomponentnumber,err,error,*999)
43227  ELSE
43228  localerror="A decomposition with an user number of "//trim(numbertovstring(decompositionusernumber,"*",err,error))// &
43229  & " does not exist on the mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))//"."
43230  CALL flagerror(localerror,err,error,*999)
43231  END IF
43232  ELSE
43233  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
43234  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
43235  CALL flagerror(localerror,err,error,*999)
43236  END IF
43237  ELSE
43238  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
43239  & " does not exist."
43240  CALL flagerror(localerror,err,error,*999)
43241  END IF
43242 
43243  exits("cmfe_Decomposition_MeshComponentGetNumber")
43244  RETURN
43245 999 errorsexits("cmfe_Decomposition_MeshComponentGetNumber",err,error)
43246  CALL cmfe_handleerror(err,error)
43247  RETURN
43248 
43250 
43251  !
43252  !================================================================================================================================
43253  !
43254 
43256  SUBROUTINE cmfe_decomposition_meshcomponentgetobj(decomposition,meshComponentNumber,err)
43257  !DLLEXPORT(cmfe_Decomposition_MeshComponentGetObj)
43258 
43259  !Argument variables
43260  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
43261  INTEGER(INTG), INTENT(OUT) :: meshComponentNumber
43262  INTEGER(INTG), INTENT(OUT) :: err
43263  !Local variables
43264 
43265  enters("cmfe_Decomposition_MeshComponentGetObj",err,error,*999)
43266 
43267  CALL decomposition_mesh_component_number_get(decomposition%decomposition,meshcomponentnumber,err,error,*999)
43268 
43269  exits("cmfe_Decomposition_MeshComponentGetObj")
43270  RETURN
43271 999 errorsexits("cmfe_Decomposition_MeshComponentGetObj",err,error)
43272  CALL cmfe_handleerror(err,error)
43273  RETURN
43274 
43276 
43277  !
43278  !================================================================================================================================
43279  !
43280 
43282  SUBROUTINE cmfe_decomposition_meshcomponentsetnumber(regionUserNumber,meshUserNumber,decompositionUserNumber, &
43283  & meshcomponentnumber,err)
43284  !DLLEXPORT(cmfe_Decomposition_MeshComponentSetNumber)
43285 
43286  !Argument variables
43287  INTEGER(INTG), INTENT(IN) :: regionUserNumber
43288  INTEGER(INTG), INTENT(IN) :: meshUserNumber
43289  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
43290  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
43291  INTEGER(INTG), INTENT(OUT) :: err
43292  !Local variables
43293  TYPE(decomposition_type), POINTER :: DECOMPOSITION
43294  TYPE(mesh_type), POINTER :: MESH
43295  TYPE(region_type), POINTER :: REGION
43296  TYPE(varying_string) :: localError
43297 
43298  enters("cmfe_Decomposition_MeshComponentSetNumber",err,error,*999)
43299 
43300  NULLIFY(region)
43301  NULLIFY(mesh)
43302  NULLIFY(decomposition)
43303  CALL region_user_number_find(regionusernumber,region,err,error,*999)
43304  IF(ASSOCIATED(region)) THEN
43305  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
43306  IF(ASSOCIATED(mesh)) THEN
43307  CALL decomposition_user_number_find(decompositionusernumber,mesh,decomposition,err,error,*999)
43308  IF(ASSOCIATED(decomposition)) THEN
43309  CALL decomposition_mesh_component_number_set(decomposition,meshcomponentnumber,err,error,*999)
43310  ELSE
43311  localerror="A decomposition with an user number of "//trim(numbertovstring(decompositionusernumber,"*",err,error))// &
43312  & " does not exist on the mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))//"."
43313  CALL flagerror(localerror,err,error,*999)
43314  END IF
43315  ELSE
43316  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
43317  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
43318  CALL flagerror(localerror,err,error,*999)
43319  END IF
43320  ELSE
43321  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
43322  & " does not exist."
43323  CALL flagerror(localerror,err,error,*999)
43324  END IF
43325 
43326  exits("cmfe_Decomposition_MeshComponentSetNumber")
43327  RETURN
43328 999 errorsexits("cmfe_Decomposition_MeshComponentSetNumber",err,error)
43329  CALL cmfe_handleerror(err,error)
43330  RETURN
43331 
43333 
43334  !
43335  !================================================================================================================================
43336  !
43337 
43339  SUBROUTINE cmfe_decomposition_meshcomponentsetobj(decomposition,meshComponentNumber,err)
43340  !DLLEXPORT(cmfe_Decomposition_MeshComponentSetObj)
43341 
43342  !Argument variables
43343  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
43344  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
43345  INTEGER(INTG), INTENT(OUT) :: err
43346  !Local variables
43347 
43348  enters("cmfe_Decomposition_MeshComponentSetObj",err,error,*999)
43349 
43350  CALL decomposition_mesh_component_number_set(decomposition%decomposition,meshcomponentnumber,err,error,*999)
43351 
43352  exits("cmfe_Decomposition_MeshComponentSetObj")
43353  RETURN
43354 999 errorsexits("cmfe_Decomposition_MeshComponentSetObj",err,error)
43355  CALL cmfe_handleerror(err,error)
43356  RETURN
43357 
43359 
43360  !
43361  !================================================================================================================================
43362  !
43363 
43365  SUBROUTINE cmfe_decomposition_numberofdomainsgetnumber(regionUserNumber,meshUserNumber,decompositionUserNumber, &
43366  & numberofdomains,err)
43367  !DLLEXPORT(cmfe_Decomposition_NumberOfDomainsGetNumber)
43368 
43369  !Argument variables
43370  INTEGER(INTG), INTENT(IN) :: regionUserNumber
43371  INTEGER(INTG), INTENT(IN) :: meshUserNumber
43372  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
43373  INTEGER(INTG), INTENT(OUT) :: numberOfDomains
43374  INTEGER(INTG), INTENT(OUT) :: err
43375  !Local variables
43376  TYPE(decomposition_type), POINTER :: DECOMPOSITION
43377  TYPE(mesh_type), POINTER :: MESH
43378  TYPE(region_type), POINTER :: REGION
43379  TYPE(varying_string) :: localError
43380 
43381  enters("cmfe_Decomposition_NumberOfDomainsGetNumber",err,error,*999)
43382 
43383  NULLIFY(region)
43384  NULLIFY(mesh)
43385  NULLIFY(decomposition)
43386  CALL region_user_number_find(regionusernumber,region,err,error,*999)
43387  IF(ASSOCIATED(region)) THEN
43388  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
43389  IF(ASSOCIATED(mesh)) THEN
43390  CALL decomposition_user_number_find(decompositionusernumber,mesh,decomposition,err,error,*999)
43391  IF(ASSOCIATED(decomposition)) THEN
43392  CALL decomposition_number_of_domains_get(decomposition,numberofdomains,err,error,*999)
43393  ELSE
43394  localerror="A decomposition with an user number of "//trim(numbertovstring(decompositionusernumber,"*",err,error))// &
43395  & " does not exist on the mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))//"."
43396  CALL flagerror(localerror,err,error,*999)
43397  END IF
43398  ELSE
43399  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
43400  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
43401  CALL flagerror(localerror,err,error,*999)
43402  END IF
43403  ELSE
43404  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
43405  & " does not exist."
43406  CALL flagerror(localerror,err,error,*999)
43407  END IF
43408 
43409  exits("cmfe_Decomposition_NumberOfDomainsGetNumber")
43410  RETURN
43411 999 errorsexits("cmfe_Decomposition_NumberOfDomainsGetNumber",err,error)
43412  CALL cmfe_handleerror(err,error)
43413  RETURN
43414 
43416 
43417  !
43418  !================================================================================================================================
43419  !
43420 
43422  SUBROUTINE cmfe_decomposition_numberofdomainsgetobj(decomposition,numberOfDomains,err)
43423  !DLLEXPORT(cmfe_Decomposition_NumberOfDomainsGetObj)
43424 
43425  !Argument variables
43426  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
43427  INTEGER(INTG), INTENT(OUT) :: numberOfDomains
43428  INTEGER(INTG), INTENT(OUT) :: err
43429  !Local variables
43430 
43431  enters("cmfe_Decomposition_NumberOfDomainsGetObj",err,error,*999)
43432 
43433  CALL decomposition_number_of_domains_get(decomposition%decomposition,numberofdomains,err,error,*999)
43434 
43435  exits("cmfe_Decomposition_NumberOfDomainsGetObj")
43436  RETURN
43437 999 errorsexits("cmfe_Decomposition_NumberOfDomainsGetObj",err,error)
43438  CALL cmfe_handleerror(err,error)
43439  RETURN
43440 
43442 
43443  !
43444  !================================================================================================================================
43445  !
43446 
43448  SUBROUTINE cmfe_decomposition_numberofdomainssetnumber(regionUserNumber,meshUserNumber,decompositionUserNumber, &
43449  & numberofdomains,err)
43450  !DLLEXPORT(cmfe_Decomposition_NumberOfDomainsSetNumber)
43451 
43452  !Argument variables
43453  INTEGER(INTG), INTENT(IN) :: regionUserNumber
43454  INTEGER(INTG), INTENT(IN) :: meshUserNumber
43455  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
43456  INTEGER(INTG), INTENT(IN) :: numberOfDomains
43457  INTEGER(INTG), INTENT(OUT) :: err
43458  !Local variables
43459  TYPE(decomposition_type), POINTER :: DECOMPOSITION
43460  TYPE(mesh_type), POINTER :: MESH
43461  TYPE(region_type), POINTER :: REGION
43462  TYPE(varying_string) :: localError
43463 
43464  enters("cmfe_Decomposition_NumberOfDomainsSetNumber",err,error,*999)
43465 
43466  NULLIFY(region)
43467  NULLIFY(mesh)
43468  NULLIFY(decomposition)
43469  CALL region_user_number_find(regionusernumber,region,err,error,*999)
43470  IF(ASSOCIATED(region)) THEN
43471  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
43472  IF(ASSOCIATED(mesh)) THEN
43473  CALL decomposition_user_number_find(decompositionusernumber,mesh,decomposition,err,error,*999)
43474  IF(ASSOCIATED(decomposition)) THEN
43475  CALL decomposition_number_of_domains_set(decomposition,numberofdomains,err,error,*999)
43476  ELSE
43477  localerror="A decomposition with an user number of "//trim(numbertovstring(decompositionusernumber,"*",err,error))// &
43478  & " does not exist on the mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))//"."
43479  CALL flagerror(localerror,err,error,*999)
43480  END IF
43481  ELSE
43482  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
43483  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
43484  CALL flagerror(localerror,err,error,*999)
43485  END IF
43486  ELSE
43487  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
43488  & " does not exist."
43489  CALL flagerror(localerror,err,error,*999)
43490  END IF
43491 
43492  exits("cmfe_Decomposition_NumberOfDomainsSetNumber")
43493  RETURN
43494 999 errorsexits("cmfe_Decomposition_NumberOfDomainsSetNumber",err,error)
43495  CALL cmfe_handleerror(err,error)
43496  RETURN
43497 
43499 
43500  !
43501  !================================================================================================================================
43502  !
43503 
43505  SUBROUTINE cmfe_decomposition_numberofdomainssetobj(decomposition,numberOfDomains,err)
43506  !DLLEXPORT(cmfe_Decomposition_NumberOfDomainsSetObj)
43507 
43508  !Argument variables
43509  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
43510  INTEGER(INTG), INTENT(IN) :: numberOfDomains
43511  INTEGER(INTG), INTENT(OUT) :: err
43512  !Local variables
43513 
43514  enters("cmfe_Decomposition_NumberOfDomainsSetObj",err,error,*999)
43515 
43516  CALL decomposition_number_of_domains_set(decomposition%decomposition,numberofdomains,err,error,*999)
43517 
43518  exits("cmfe_Decomposition_NumberOfDomainsSetObj")
43519  RETURN
43520 999 errorsexits("cmfe_Decomposition_NumberOfDomainsSetObj",err,error)
43521  CALL cmfe_handleerror(err,error)
43522  RETURN
43523 
43525 
43526  !
43527  !================================================================================================================================
43528  !
43529 
43531  SUBROUTINE cmfe_decomposition_typegetnumber(regionUserNumber,meshUserNumber,decompositionUserNumber,decompositionType,err)
43532  !DLLEXPORT(cmfe_Decomposition_TypeGetNumber)
43533 
43534  !Argument variables
43535  INTEGER(INTG), INTENT(IN) :: regionUserNumber
43536  INTEGER(INTG), INTENT(IN) :: meshUserNumber
43537  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
43538  INTEGER(INTG), INTENT(OUT) :: decompositionType
43539  INTEGER(INTG), INTENT(OUT) :: err
43540  !Local variables
43541  TYPE(decomposition_type), POINTER :: DECOMPOSITION
43542  TYPE(mesh_type), POINTER :: MESH
43543  TYPE(region_type), POINTER :: REGION
43544  TYPE(varying_string) :: localError
43545 
43546  enters("cmfe_Decomposition_TypeGetNumber",err,error,*999)
43547 
43548  NULLIFY(region)
43549  NULLIFY(mesh)
43550  NULLIFY(decomposition)
43551  CALL region_user_number_find(regionusernumber,region,err,error,*999)
43552  IF(ASSOCIATED(region)) THEN
43553  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
43554  IF(ASSOCIATED(mesh)) THEN
43555  CALL decomposition_user_number_find(decompositionusernumber,mesh,decomposition,err,error,*999)
43556  IF(ASSOCIATED(decomposition)) THEN
43557  CALL decomposition_type_get(decomposition,decompositiontype,err,error,*999)
43558  ELSE
43559  localerror="A decomposition with an user number of "//trim(numbertovstring(decompositionusernumber,"*",err,error))// &
43560  & " does not exist on the mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))//"."
43561  CALL flagerror(localerror,err,error,*999)
43562  END IF
43563  ELSE
43564  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
43565  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
43566  CALL flagerror(localerror,err,error,*999)
43567  END IF
43568  ELSE
43569  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
43570  & " does not exist."
43571  CALL flagerror(localerror,err,error,*999)
43572  END IF
43573 
43574  exits("cmfe_Decomposition_TypeGetNumber")
43575  RETURN
43576 999 errorsexits("cmfe_Decomposition_TypeGetNumber",err,error)
43577  CALL cmfe_handleerror(err,error)
43578  RETURN
43579 
43580  END SUBROUTINE cmfe_decomposition_typegetnumber
43581 
43582  !
43583  !================================================================================================================================
43584  !
43585 
43587  SUBROUTINE cmfe_decomposition_typegetobj(decomposition,decompositionType,err)
43588  !DLLEXPORT(cmfe_Decomposition_TypeGetObj)
43589 
43590  !Argument variables
43591  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
43592  INTEGER(INTG), INTENT(OUT) :: decompositionType
43593  INTEGER(INTG), INTENT(OUT) :: err
43594  !Local variables
43595 
43596  enters("cmfe_Decomposition_TypeGetObj",err,error,*999)
43597 
43598  CALL decomposition_type_get(decomposition%decomposition,decompositiontype,err,error,*999)
43599 
43600  exits("cmfe_Decomposition_TypeGetObj")
43601  RETURN
43602 999 errorsexits("cmfe_Decomposition_TypeGetObj",err,error)
43603  CALL cmfe_handleerror(err,error)
43604  RETURN
43605 
43606  END SUBROUTINE cmfe_decomposition_typegetobj
43607 
43608  !
43609  !================================================================================================================================
43610  !
43611 
43613  SUBROUTINE cmfe_decomposition_typesetnumber(regionUserNumber,meshUserNumber,decompositionUserNumber,decompositionType,err)
43614  !DLLEXPORT(cmfe_Decomposition_TypeSetNumber)
43615 
43616  !Argument variables
43617  INTEGER(INTG), INTENT(IN) :: regionUserNumber
43618  INTEGER(INTG), INTENT(IN) :: meshUserNumber
43619  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
43620  INTEGER(INTG), INTENT(IN) :: decompositionType
43621  INTEGER(INTG), INTENT(OUT) :: err
43622  !Local variables
43623  TYPE(decomposition_type), POINTER :: DECOMPOSITION
43624  TYPE(mesh_type), POINTER :: MESH
43625  TYPE(region_type), POINTER :: REGION
43626  TYPE(varying_string) :: localError
43627 
43628  enters("cmfe_Decomposition_TypeSetNumber",err,error,*999)
43629 
43630  NULLIFY(region)
43631  NULLIFY(mesh)
43632  NULLIFY(decomposition)
43633  CALL region_user_number_find(regionusernumber,region,err,error,*999)
43634  IF(ASSOCIATED(region)) THEN
43635  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
43636  IF(ASSOCIATED(mesh)) THEN
43637  CALL decomposition_user_number_find(decompositionusernumber,mesh,decomposition,err,error,*999)
43638  IF(ASSOCIATED(decomposition)) THEN
43639  CALL decomposition_type_set(decomposition,decompositiontype,err,error,*999)
43640  ELSE
43641  localerror="A decomposition with an user number of "//trim(numbertovstring(decompositionusernumber,"*",err,error))// &
43642  & " does not exist on the mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))//"."
43643  CALL flagerror(localerror,err,error,*999)
43644  END IF
43645  ELSE
43646  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
43647  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
43648  CALL flagerror(localerror,err,error,*999)
43649  END IF
43650  ELSE
43651  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
43652  & " does not exist."
43653  CALL flagerror(localerror,err,error,*999)
43654  END IF
43655 
43656  exits("cmfe_Decomposition_TypeSetNumber")
43657  RETURN
43658 999 errorsexits("cmfe_Decomposition_TypeSetNumber",err,error)
43659  CALL cmfe_handleerror(err,error)
43660  RETURN
43661 
43662  END SUBROUTINE cmfe_decomposition_typesetnumber
43663 
43664  !
43665  !================================================================================================================================
43666  !
43667 
43669  SUBROUTINE cmfe_decomposition_typesetobj(decomposition,decompositionType,err)
43670  !DLLEXPORT(cmfe_Decomposition_TypeSetObj)
43671 
43672  !Argument variables
43673  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
43674  INTEGER(INTG), INTENT(IN) :: decompositionType
43675  INTEGER(INTG), INTENT(OUT) :: err
43676  !Local variables
43677 
43678  enters("cmfe_Decomposition_TypeSetObj",err,error,*999)
43679 
43680  CALL decomposition_type_set(decomposition%decomposition,decompositiontype,err,error,*999)
43681 
43682  exits("cmfe_Decomposition_TypeSetObj")
43683  RETURN
43684 999 errorsexits("cmfe_Decomposition_TypeSetObj",err,error)
43685  CALL cmfe_handleerror(err,error)
43686  RETURN
43687 
43688  END SUBROUTINE cmfe_decomposition_typesetobj
43689 
43690  !
43691  !================================================================================================================================
43692  !
43693 
43695  SUBROUTINE cmfe_decomposition_calculatelinessetnumber(regionUserNumber,meshUserNumber,&
43696  & decompositionusernumber,calculatelinesflag,err)
43697  !DLLEXPORT(cmfe_Decomposition_CalculateLinesSetNumber)
43698 
43699  !Argument variables
43700  INTEGER(INTG), INTENT(IN) :: regionUserNumber
43701  INTEGER(INTG), INTENT(IN) :: meshUserNumber
43702  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
43703  LOGICAL, INTENT(IN) :: calculateLinesFlag
43704  INTEGER(INTG), INTENT(OUT) :: err
43705  !Local variables
43706  TYPE(decomposition_type), POINTER :: DECOMPOSITION
43707  TYPE(mesh_type), POINTER :: MESH
43708  TYPE(region_type), POINTER :: REGION
43709  TYPE(varying_string) :: localError
43710 
43711  enters("cmfe_Decomposition_CalculateLinesSetNumber",err,error,*999)
43712 
43713  NULLIFY(region)
43714  NULLIFY(mesh)
43715  NULLIFY(decomposition)
43716  CALL region_user_number_find(regionusernumber,region,err,error,*999)
43717  IF(ASSOCIATED(region)) THEN
43718  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
43719  IF(ASSOCIATED(mesh)) THEN
43720  CALL decomposition_user_number_find(decompositionusernumber,mesh,decomposition,err,error,*999)
43721  IF(ASSOCIATED(decomposition)) THEN
43722  CALL decomposition_calculate_lines_set(decomposition,calculatelinesflag,err,error,*999)
43723  ELSE
43724  localerror="A decomposition with an user number of "//trim(numbertovstring(decompositionusernumber,"*",err,error))// &
43725  & " does not exist on the mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))//"."
43726  CALL flagerror(localerror,err,error,*999)
43727  END IF
43728  ELSE
43729  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
43730  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
43731  CALL flagerror(localerror,err,error,*999)
43732  END IF
43733  ELSE
43734  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
43735  & " does not exist."
43736  CALL flagerror(localerror,err,error,*999)
43737  END IF
43738 
43739  exits("cmfe_Decomposition_CalculateLinesSetNumber")
43740  RETURN
43741 999 errorsexits("cmfe_Decomposition_CalculateLinesSetNumber",err,error)
43742  CALL cmfe_handleerror(err,error)
43743  RETURN
43744 
43746 
43747  !
43748  !================================================================================================================================
43749  !
43750 
43752  SUBROUTINE cmfe_decomposition_calculatelinessetobj(decomposition,calculateLinesFlag,err)
43753  !DLLEXPORT(cmfe_Decomposition_CalculateLinesSetObj)
43754 
43755  !Argument variables
43756  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
43757  LOGICAL, INTENT(IN) :: calculateLinesFlag
43758  INTEGER(INTG), INTENT(OUT) :: err
43759  !Local variables
43760 
43761  enters("cmfe_Decomposition_CalculateLinesSetObj",err,error,*999)
43762 
43763  CALL decomposition_calculate_lines_set(decomposition%decomposition,calculatelinesflag,err,error,*999)
43764 
43765  exits("cmfe_Decomposition_CalculateLinesSetObj")
43766  RETURN
43767 999 errorsexits("cmfe_Decomposition_CalculateLinesSetObj",err,error)
43768  CALL cmfe_handleerror(err,error)
43769  RETURN
43770 
43772 
43773  !
43774  !================================================================================================================================
43775  !
43776 
43778  SUBROUTINE cmfe_decomposition_calculatefacessetnumber(regionUserNumber,meshUserNumber, &
43779  & decompositionusernumber,calculatefacesflag,err)
43780  !DLLEXPORT(cmfe_Decomposition_CalculateFacesSetNumber)
43781 
43782  !Argument variables
43783  INTEGER(INTG), INTENT(IN) :: regionUserNumber
43784  INTEGER(INTG), INTENT(IN) :: meshUserNumber
43785  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
43786  LOGICAL, INTENT(IN) :: calculateFacesFlag
43787  INTEGER(INTG), INTENT(OUT) :: err
43788  !Local variables
43789  TYPE(decomposition_type), POINTER :: DECOMPOSITION
43790  TYPE(mesh_type), POINTER :: MESH
43791  TYPE(region_type), POINTER :: REGION
43792  TYPE(varying_string) :: localError
43793 
43794  enters("cmfe_Decomposition_CalculateFacesSetNumber",err,error,*999)
43795 
43796  NULLIFY(region)
43797  NULLIFY(mesh)
43798  NULLIFY(decomposition)
43799  CALL region_user_number_find(regionusernumber,region,err,error,*999)
43800  IF(ASSOCIATED(region)) THEN
43801  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
43802  IF(ASSOCIATED(mesh)) THEN
43803  CALL decomposition_user_number_find(decompositionusernumber,mesh,decomposition,err,error,*999)
43804  IF(ASSOCIATED(decomposition)) THEN
43805  CALL decomposition_calculate_faces_set(decomposition,calculatefacesflag,err,error,*999)
43806  ELSE
43807  localerror="A decomposition with an user number of "//trim(numbertovstring(decompositionusernumber,"*",err,error))// &
43808  & " does not exist on the mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))//"."
43809  CALL flagerror(localerror,err,error,*999)
43810  END IF
43811  ELSE
43812  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
43813  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
43814  CALL flagerror(localerror,err,error,*999)
43815  END IF
43816  ELSE
43817  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
43818  & " does not exist."
43819  CALL flagerror(localerror,err,error,*999)
43820  END IF
43821 
43822  exits("cmfe_Decomposition_CalculateFacesSetNumber")
43823  RETURN
43824 999 errorsexits("cmfe_Decomposition_CalculateFacesSetNumber",err,error)
43825  CALL cmfe_handleerror(err,error)
43826  RETURN
43827 
43829 
43830  !
43831  !================================================================================================================================
43832  !
43833 
43835  SUBROUTINE cmfe_decomposition_calculatefacessetobj(decomposition,calculateFacesFlag,err)
43836  !DLLEXPORT(cmfe_Decomposition_CalculateFacesSetObj)
43837 
43838  !Argument variables
43839  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
43840  LOGICAL, INTENT(IN) :: calculateFacesFlag
43841  INTEGER(INTG), INTENT(OUT) :: err
43842  !Local variables
43843 
43844  enters("cmfe_Decomposition_CalculateFacesSetObj",err,error,*999)
43845 
43846  CALL decomposition_calculate_faces_set(decomposition%decomposition,calculatefacesflag,err,error,*999)
43847 
43848  exits("cmfe_Decomposition_CalculateFacesSetObj")
43849  RETURN
43850 999 errorsexits("cmfe_Decomposition_CalculateFacesSetObj",err,error)
43851  CALL cmfe_handleerror(err,error)
43852  RETURN
43853 
43855 
43856  !
43857  !================================================================================================================================
43858  !
43859 
43861  SUBROUTINE cmfe_decomposition_nodedomaingetnumber(regionUserNumber,meshUserNumber,decompositionUserNumber, &
43862  & nodeusernumber,meshcomponentnumber,domain,err)
43863  !DLLEXPORT(cmfe_Decomposition_NodeDomainGetNumber)
43864 
43865  !Argument variables
43866  INTEGER(INTG), INTENT(IN) :: regionUserNumber
43867  INTEGER(INTG), INTENT(IN) :: meshUserNumber
43868  INTEGER(INTG), INTENT(IN) :: decompositionUserNumber
43869  INTEGER(INTG), INTENT(IN) :: nodeUserNumber
43870  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
43871  INTEGER(INTG), INTENT(OUT) :: domain
43872  INTEGER(INTG), INTENT(OUT) :: err
43873  !Local variables
43874  TYPE(decomposition_type), POINTER :: DECOMPOSITION
43875  TYPE(mesh_type), POINTER :: MESH
43876  TYPE(region_type), POINTER :: REGION
43877  TYPE(varying_string) :: localError
43878 
43879  enters("cmfe_Decomposition_NodeDomainGetNumber",err,error,*999)
43880 
43881  NULLIFY(region)
43882  NULLIFY(mesh)
43883  NULLIFY(decomposition)
43884  CALL region_user_number_find(regionusernumber,region,err,error,*999)
43885  IF(ASSOCIATED(region)) THEN
43886  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
43887  IF(ASSOCIATED(mesh)) THEN
43888  CALL decomposition_user_number_find(decompositionusernumber,mesh,decomposition,err,error,*999)
43889  IF(ASSOCIATED(decomposition)) THEN
43890  CALL decomposition_node_domain_get(decomposition,nodeusernumber,meshcomponentnumber,domain,err,error,*999)
43891  ELSE
43892  localerror="A decomposition with an user number of "//trim(numbertovstring(decompositionusernumber,"*",err,error))// &
43893  & " does not exist on the mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))//"."
43894  CALL flagerror(localerror,err,error,*999)
43895  END IF
43896  ELSE
43897  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
43898  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
43899  CALL flagerror(localerror,err,error,*999)
43900  END IF
43901  ELSE
43902  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
43903  & " does not exist."
43904  CALL flagerror(localerror,err,error,*999)
43905  END IF
43906 
43907  exits("cmfe_Decomposition_NodeDomainGetNumber")
43908  RETURN
43909 999 errorsexits("cmfe_Decomposition_NodeDomainGetNumber",err,error)
43910  CALL cmfe_handleerror(err,error)
43911  RETURN
43912 
43914 
43915  !
43916  !================================================================================================================================
43917  !
43918 
43920  SUBROUTINE cmfe_decomposition_nodedomaingetobj(decomposition,nodeUserNumber,meshComponentNumber,domain,err)
43921  !DLLEXPORT(cmfe_Decomposition_NodeDomainGetObj)
43922 
43923  !Argument variables
43924  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
43925  INTEGER(INTG), INTENT(IN) :: nodeUserNumber
43926  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
43927  INTEGER(INTG), INTENT(OUT) :: domain
43928  INTEGER(INTG), INTENT(OUT) :: err
43929  !Local variables
43930 
43931  enters("cmfe_Decomposition_NodeDomainGetObj",err,error,*999)
43932 
43933  CALL decomposition_node_domain_get(decomposition%decomposition,nodeusernumber,meshcomponentnumber,domain,err,error,*999)
43934 
43935  exits("cmfe_Decomposition_NodeDomainGetObj")
43936  RETURN
43937 999 errorsexits("cmfe_Decomposition_NodeDomainGetObj",err,error)
43938  CALL cmfe_handleerror(err,error)
43939  RETURN
43940 
43942 
43943  !
43944  !================================================================================================================================
43945  !
43946 
43948  SUBROUTINE cmfe_mesh_createfinishnumber(regionUserNumber,meshUserNumber,err)
43949  !DLLEXPORT(cmfe_Mesh_CreateFinishNumber)
43950 
43951  !Argument variables
43952  INTEGER(INTG), INTENT(IN) :: regionUserNumber
43953  INTEGER(INTG), INTENT(IN) :: meshUserNumber
43954  INTEGER(INTG), INTENT(OUT) :: err
43955  !Local variables
43956  TYPE(mesh_type), POINTER :: MESH
43957  TYPE(region_type), POINTER :: REGION
43958  TYPE(varying_string) :: localError
43959 
43960  enters("cmfe_Mesh_CreateFinishNumber",err,error,*999)
43961 
43962  NULLIFY(region)
43963  NULLIFY(mesh)
43964  CALL region_user_number_find(regionusernumber,region,err,error,*999)
43965  IF(ASSOCIATED(region)) THEN
43966  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
43967  IF(ASSOCIATED(mesh)) THEN
43968  CALL mesh_create_finish(mesh,err,error,*999)
43969  ELSE
43970  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
43971  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
43972  CALL flagerror(localerror,err,error,*999)
43973  END IF
43974  ELSE
43975  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
43976  & " does not exist."
43977  CALL flagerror(localerror,err,error,*999)
43978  END IF
43979 
43980 #ifdef TAUPROF
43981  CALL tau_static_phase_stop('Mesh Create')
43982 #endif
43983 
43984  exits("cmfe_Mesh_CreateFinishNumber")
43985  RETURN
43986 999 errorsexits("cmfe_Mesh_CreateFinishNumber",err,error)
43987  CALL cmfe_handleerror(err,error)
43988  RETURN
43989 
43990  END SUBROUTINE cmfe_mesh_createfinishnumber
43991 
43992  !
43993  !================================================================================================================================
43994  !
43995 
43997  SUBROUTINE cmfe_mesh_createfinishobj(mesh,err)
43998  !DLLEXPORT(cmfe_Mesh_CreateFinishObj)
43999 
44000  !Argument variables
44001  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
44002  INTEGER(INTG), INTENT(OUT) :: err
44003  !Local variables
44004 
44005  enters("cmfe_Mesh_CreateFinishObj",err,error,*999)
44006 
44007  CALL mesh_create_finish(mesh%mesh,err,error,*999)
44008 
44009 #ifdef TAUPROF
44010  CALL tau_static_phase_stop('mesh Create')
44011 #endif
44012 
44013  exits("cmfe_Mesh_CreateFinishObj")
44014  RETURN
44015 999 errorsexits("cmfe_Mesh_CreateFinishObj",err,error)
44016  CALL cmfe_handleerror(err,error)
44017  RETURN
44018 
44019  END SUBROUTINE cmfe_mesh_createfinishobj
44020 
44021  !
44022  !================================================================================================================================
44023  !
44024 
44026  SUBROUTINE cmfe_mesh_createstartnumber(meshUserNumber,regionUserNumber,numberOfDimensions,err)
44027  !DLLEXPORT(cmfe_Mesh_CreateStartNumber)
44028 
44029  !Argument variables
44030  INTEGER(INTG), INTENT(IN) :: meshUserNumber
44031  INTEGER(INTG), INTENT(IN) :: regionUserNumber
44032  INTEGER(INTG), INTENT(IN) :: numberOfDimensions
44033  INTEGER(INTG), INTENT(OUT) :: err
44034  !Local variables
44035  TYPE(mesh_type), POINTER :: MESH
44036  TYPE(region_type), POINTER :: REGION
44037  TYPE(varying_string) :: localError
44038 
44039  enters("cmfe_Mesh_CreateStartNumber",err,error,*999)
44040 
44041 #ifdef TAUPROF
44042  CALL tau_static_phase_start('Mesh Create')
44043 #endif
44044 
44045  NULLIFY(region)
44046  NULLIFY(mesh)
44047  CALL region_user_number_find(regionusernumber,region,err,error,*999)
44048  IF(ASSOCIATED(region)) THEN
44049  CALL mesh_create_start(meshusernumber,region,numberofdimensions,mesh,err,error,*999)
44050  ELSE
44051  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
44052  & " does not exist."
44053  CALL flagerror(localerror,err,error,*999)
44054  END IF
44055 
44056  exits("cmfe_Mesh_CreateStartNumber")
44057  RETURN
44058 999 errorsexits("cmfe_Mesh_CreateStartNumber",err,error)
44059  CALL cmfe_handleerror(err,error)
44060  RETURN
44061 
44062  END SUBROUTINE cmfe_mesh_createstartnumber
44063 
44064  !
44065  !================================================================================================================================
44066  !
44067 
44069  SUBROUTINE cmfe_mesh_createstartobj(meshUserNumber,region,numberOfDimensions,mesh,err)
44070  !DLLEXPORT(cmfe_Mesh_CreateStartObj)
44071 
44072  !Argument variables
44073  INTEGER(INTG), INTENT(IN) :: meshUserNumber
44074  TYPE(cmfe_regiontype), INTENT(IN) :: region
44075  INTEGER(INTG), INTENT(IN) :: numberOfDimensions
44076  TYPE(cmfe_meshtype), INTENT(INOUT) :: mesh
44077  INTEGER(INTG), INTENT(OUT) :: err
44078  !Local variables
44079 
44080  enters("cmfe_Mesh_CreateStartObj",err,error,*999)
44081 
44082 #ifdef TAUPROF
44083  CALL tau_static_phase_start('mesh Create')
44084 #endif
44085 
44086  CALL mesh_create_start(meshusernumber,region%region,numberofdimensions,mesh%mesh,err,error,*999)
44087 
44088  exits("cmfe_Mesh_CreateStartObj")
44089  RETURN
44090 999 errorsexits("cmfe_Mesh_CreateStartObj",err,error)
44091  CALL cmfe_handleerror(err,error)
44092  RETURN
44093 
44094  END SUBROUTINE cmfe_mesh_createstartobj
44095 
44096  !
44097  !================================================================================================================================
44098  !
44099 
44101  SUBROUTINE cmfe_mesh_createstartinterfaceobj(meshUserNumber,interface,numberOfDimensions,mesh,err)
44102  !DLLEXPORT(cmfe_Mesh_CreateStartInterfaceObj)
44103 
44104  !Argument variables
44105  INTEGER(INTG), INTENT(IN) :: meshUserNumber
44106  TYPE(cmfe_interfacetype), INTENT(IN) :: interface
44107  INTEGER(INTG), INTENT(IN) :: numberOfDimensions
44108  TYPE(cmfe_meshtype), INTENT(INOUT) :: mesh
44109  INTEGER(INTG), INTENT(OUT) :: err
44110  !Local variables
44111 
44112  enters("cmfe_Mesh_CreateStartInterfaceObj",err,error,*999)
44113 
44114 #ifdef TAUPROF
44115  CALL tau_static_phase_start('mesh Create')
44116 #endif
44117 
44118  CALL mesh_create_start(meshusernumber,interface%interface,numberofdimensions,mesh%mesh,err,error,*999)
44119 
44120  exits("cmfe_Mesh_CreateStartInterfaceObj")
44121  RETURN
44122 999 errorsexits("cmfe_Mesh_CreateStartInterfaceObj",err,error)
44123  CALL cmfe_handleerror(err,error)
44124  RETURN
44125 
44126  END SUBROUTINE cmfe_mesh_createstartinterfaceobj
44127 
44128  !
44129  !================================================================================================================================
44130  !
44131 
44133  SUBROUTINE cmfe_mesh_destroynumber(regionUserNumber,meshUserNumber,err)
44134  !DLLEXPORT(cmfe_Mesh_DestroyNumber)
44135 
44136  !Argument variables
44137  INTEGER(INTG), INTENT(IN) :: regionUserNumber
44138  INTEGER(INTG), INTENT(IN) :: meshUserNumber
44139  INTEGER(INTG), INTENT(OUT) :: err
44140  !Local variables
44141  TYPE(mesh_type), POINTER :: MESH
44142  TYPE(region_type), POINTER :: REGION
44143  TYPE(varying_string) :: localError
44144 
44145  enters("cmfe_Mesh_DestroyNumber",err,error,*999)
44146 
44147  NULLIFY(region)
44148  NULLIFY(mesh)
44149  CALL region_user_number_find(regionusernumber,region,err,error,*999)
44150  IF(ASSOCIATED(region)) THEN
44151  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
44152  IF(ASSOCIATED(mesh)) THEN
44153  CALL mesh_destroy(mesh,err,error,*999)
44154  ELSE
44155  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
44156  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
44157  CALL flagerror(localerror,err,error,*999)
44158  END IF
44159  ELSE
44160  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
44161  & " does not exist."
44162  CALL flagerror(localerror,err,error,*999)
44163  END IF
44164 
44165  exits("cmfe_Mesh_DestroyNumber")
44166  RETURN
44167 999 errorsexits("cmfe_Mesh_DestroyNumber",err,error)
44168  CALL cmfe_handleerror(err,error)
44169  RETURN
44170 
44171  END SUBROUTINE cmfe_mesh_destroynumber
44172 
44173  !
44174  !================================================================================================================================
44175  !
44176 
44178  SUBROUTINE cmfe_mesh_destroyobj(mesh,err)
44179  !DLLEXPORT(cmfe_Mesh_DestroyObj)
44180 
44181  !Argument variables
44182  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
44183  INTEGER(INTG), INTENT(OUT) :: err
44184  !Local variables
44185 
44186  enters("cmfe_Mesh_DestroyObj",err,error,*999)
44187 
44188  CALL mesh_destroy(mesh%mesh,err,error,*999)
44189 
44190  exits("cmfe_Mesh_DestroyObj")
44191  RETURN
44192 999 errorsexits("cmfe_Mesh_DestroyObj",err,error)
44193  CALL cmfe_handleerror(err,error)
44194  RETURN
44195 
44196  END SUBROUTINE cmfe_mesh_destroyobj
44197 
44198  !
44199  !================================================================================================================================
44200  !
44201 
44203  SUBROUTINE cmfe_mesh_numberofcomponentsgetnumber(regionUserNumber,meshUserNumber,numberOfComponents,err)
44204  !DLLEXPORT(cmfe_Mesh_NumberOfComponentsGetNumber)
44205 
44206  !Argument variables
44207  INTEGER(INTG), INTENT(IN) :: regionUserNumber
44208  INTEGER(INTG), INTENT(IN) :: meshUserNumber
44209  INTEGER(INTG), INTENT(OUT) :: numberOfComponents
44210  INTEGER(INTG), INTENT(OUT) :: err
44211  !Local variables
44212  TYPE(mesh_type), POINTER :: MESH
44213  TYPE(region_type), POINTER :: REGION
44214  TYPE(varying_string) :: localError
44215 
44216  enters("cmfe_Mesh_NumberOfComponentsGetNumber",err,error,*999)
44217 
44218  NULLIFY(region)
44219  NULLIFY(mesh)
44220  CALL region_user_number_find(regionusernumber,region,err,error,*999)
44221  IF(ASSOCIATED(region)) THEN
44222  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
44223  IF(ASSOCIATED(mesh)) THEN
44224  CALL mesh_number_of_components_get(mesh,numberofcomponents,err,error,*999)
44225  ELSE
44226  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
44227  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
44228  CALL flagerror(localerror,err,error,*999)
44229  END IF
44230  ELSE
44231  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
44232  & " does not exist."
44233  CALL flagerror(localerror,err,error,*999)
44234  END IF
44235 
44236  exits("cmfe_Mesh_NumberOfComponentsGetNumber")
44237  RETURN
44238 999 errorsexits("cmfe_Mesh_NumberOfComponentsGetNumber",err,error)
44239  CALL cmfe_handleerror(err,error)
44240  RETURN
44241 
44243 
44244  !
44245  !================================================================================================================================
44246  !
44247 
44249  SUBROUTINE cmfe_mesh_numberofcomponentsgetobj(mesh,numberOfComponents,err)
44250  !DLLEXPORT(cmfe_Mesh_NumberOfComponentsGetObj)
44251 
44252  !Argument variables
44253  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
44254  INTEGER(INTG), INTENT(OUT) :: numberOfComponents
44255  INTEGER(INTG), INTENT(OUT) :: err
44256  !Local variables
44257 
44258  enters("cmfe_Mesh_NumberOfComponentsGetObj",err,error,*999)
44259 
44260  CALL mesh_number_of_components_get(mesh%mesh,numberofcomponents,err,error,*999)
44261 
44262  exits("cmfe_Mesh_NumberOfComponentsGetObj")
44263  RETURN
44264 999 errorsexits("cmfe_Mesh_NumberOfComponentsGetObj",err,error)
44265  CALL cmfe_handleerror(err,error)
44266  RETURN
44267 
44268  END SUBROUTINE cmfe_mesh_numberofcomponentsgetobj
44269 
44270  !
44271  !================================================================================================================================
44272  !
44273 
44275  SUBROUTINE cmfe_mesh_numberofcomponentssetnumber(regionUserNumber,meshUserNumber,numberOfComponents,err)
44276  !DLLEXPORT(cmfe_Mesh_NumberOfComponentsSetNumber)
44277 
44278  !Argument variables
44279  INTEGER(INTG), INTENT(IN) :: regionUserNumber
44280  INTEGER(INTG), INTENT(IN) :: meshUserNumber
44281  INTEGER(INTG), INTENT(IN) :: numberOfComponents
44282  INTEGER(INTG), INTENT(OUT) :: err
44283  !Local variables
44284  TYPE(mesh_type), POINTER :: MESH
44285  TYPE(region_type), POINTER :: REGION
44286  TYPE(varying_string) :: localError
44287 
44288  enters("cmfe_Mesh_NumberOfComponentsSetNumber",err,error,*999)
44289 
44290  NULLIFY(region)
44291  NULLIFY(mesh)
44292  CALL region_user_number_find(regionusernumber,region,err,error,*999)
44293  IF(ASSOCIATED(region)) THEN
44294  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
44295  IF(ASSOCIATED(mesh)) THEN
44296  CALL mesh_number_of_components_set(mesh,numberofcomponents,err,error,*999)
44297  ELSE
44298  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
44299  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
44300  CALL flagerror(localerror,err,error,*999)
44301  END IF
44302  ELSE
44303  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
44304  & " does not exist."
44305  CALL flagerror(localerror,err,error,*999)
44306  END IF
44307 
44308  exits("cmfe_Mesh_NumberOfComponentsSetNumber")
44309  RETURN
44310 999 errorsexits("cmfe_Mesh_NumberOfComponentsSetNumber",err,error)
44311  CALL cmfe_handleerror(err,error)
44312  RETURN
44313 
44315 
44316  !
44317  !================================================================================================================================
44318  !
44319 
44321  SUBROUTINE cmfe_mesh_numberofcomponentssetobj(mesh,numberOfComponents,err)
44322  !DLLEXPORT(cmfe_Mesh_NumberOfComponentsSetObj)
44323 
44324  !Argument variables
44325  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
44326  INTEGER(INTG), INTENT(IN) :: numberOfComponents
44327  INTEGER(INTG), INTENT(OUT) :: err
44328  !Local variables
44329 
44330  enters("cmfe_Mesh_NumberOfComponentsSetObj",err,error,*999)
44331 
44332  CALL mesh_number_of_components_set(mesh%mesh,numberofcomponents,err,error,*999)
44333 
44334  exits("cmfe_Mesh_NumberOfComponentsSetObj")
44335  RETURN
44336 999 errorsexits("cmfe_Mesh_NumberOfComponentsSetObj",err,error)
44337  CALL cmfe_handleerror(err,error)
44338  RETURN
44339 
44340  END SUBROUTINE cmfe_mesh_numberofcomponentssetobj
44341 
44342  !
44343  !================================================================================================================================
44344  !
44345 
44347  SUBROUTINE cmfe_mesh_surroundingelementscalculatesetnumber(regionUserNumber,meshUserNumber,surroundingElementsCalculateFlag,err)
44348  !DLLEXPORT(cmfe_Mesh_SurroundingElementsCalculateSetNumber)
44349 
44350  !Argument variables
44351  INTEGER(INTG), INTENT(IN) :: regionUserNumber
44352  INTEGER(INTG), INTENT(IN) :: meshUserNumber
44353  LOGICAL, INTENT(IN) :: surroundingElementsCalculateFlag
44354  INTEGER(INTG), INTENT(OUT) :: err
44355  !Local variables
44356  TYPE(mesh_type), POINTER :: MESH
44357  TYPE(region_type), POINTER :: REGION
44358  TYPE(varying_string) :: localError
44359 
44360  enters("cmfe_Mesh_SurroundingElementsCalculateSetNumber",err,error,*999)
44361 
44362  NULLIFY(region)
44363  NULLIFY(mesh)
44364  CALL region_user_number_find(regionusernumber,region,err,error,*999)
44365  IF(ASSOCIATED(region)) THEN
44366  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
44367  IF(ASSOCIATED(mesh)) THEN
44368  CALL mesh_surrounding_elements_calculate_set(mesh,surroundingelementscalculateflag,err,error,*999)
44369  ELSE
44370  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
44371  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
44372  CALL flagerror(localerror,err,error,*999)
44373  END IF
44374  ELSE
44375  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
44376  & " does not exist."
44377  CALL flagerror(localerror,err,error,*999)
44378  END IF
44379 
44380  exits("cmfe_Mesh_SurroundingElementsCalculateSetNumber")
44381  RETURN
44382 999 errors("cmfe_Mesh_SurroundingElementsCalculateSetNumber",err,error)
44383  exits("cmfe_Mesh_SurroundingElementsCalculateSetNumber")
44384  CALL cmfe_handleerror(err,error)
44385  RETURN
44386 
44388 
44389  !
44390  !================================================================================================================================
44391  !
44392 
44394  SUBROUTINE cmfe_mesh_surroundingelementscalculatesetobj(mesh,surroundingElementsCalculateFlag,err)
44395  !DLLEXPORT(cmfe_Mesh_SurroundingElementsCalculateSetObj)
44396 
44397  !Argument variables
44398  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
44399  LOGICAL, INTENT(IN) :: surroundingElementsCalculateFlag
44400  INTEGER(INTG), INTENT(OUT) :: err
44401  !Local variables
44402 
44403  enters("cmfe_Mesh_SurroundingElementsCalculateSetObj",err,error,*999)
44404 
44405  CALL mesh_surrounding_elements_calculate_set(mesh%mesh,surroundingelementscalculateflag,err,error,*999)
44406 
44407  exits("cmfe_Mesh_SurroundingElementsCalculateSetObj")
44408  RETURN
44409 999 errors("cmfe_Mesh_SurroundingElementsCalculateSetObj",err,error)
44410  exits("cmfe_Mesh_SurroundingElementsCalculateSetObj")
44411  CALL cmfe_handleerror(err,error)
44412  RETURN
44413 
44415 
44416  !
44417  !================================================================================================================================
44418  !
44419 
44421  SUBROUTINE cmfe_mesh_numberofelementsgetnumber(regionUserNumber,meshUserNumber,numberOfElements,err)
44422  !DLLEXPORT(cmfe_Mesh_NumberOfElementsGetNumber)
44423 
44424  !Argument variables
44425  INTEGER(INTG), INTENT(IN) :: regionUserNumber
44426  INTEGER(INTG), INTENT(IN) :: meshUserNumber
44427  INTEGER(INTG), INTENT(OUT) :: numberOfElements
44428  INTEGER(INTG), INTENT(OUT) :: err
44429  !Local variables
44430  TYPE(mesh_type), POINTER :: MESH
44431  TYPE(region_type), POINTER :: REGION
44432  TYPE(varying_string) :: localError
44433 
44434  enters("cmfe_Mesh_NumberOfElementsGetNumber",err,error,*999)
44435 
44436  NULLIFY(region)
44437  NULLIFY(mesh)
44438  CALL region_user_number_find(regionusernumber,region,err,error,*999)
44439  IF(ASSOCIATED(region)) THEN
44440  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
44441  IF(ASSOCIATED(mesh)) THEN
44442  CALL mesh_number_of_elements_get(mesh,numberofelements,err,error,*999)
44443  ELSE
44444  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
44445  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
44446  CALL flagerror(localerror,err,error,*999)
44447  END IF
44448  ELSE
44449  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
44450  & " does not exist."
44451  CALL flagerror(localerror,err,error,*999)
44452  END IF
44453 
44454  exits("cmfe_Mesh_NumberOfElementsGetNumber")
44455  RETURN
44456 999 errorsexits("cmfe_Mesh_NumberOfElementsGetNumber",err,error)
44457  CALL cmfe_handleerror(err,error)
44458  RETURN
44459 
44461 
44462  !
44463  !================================================================================================================================
44464  !
44465 
44467  SUBROUTINE cmfe_mesh_numberofelementsgetobj(mesh,numberOfElements,err)
44468  !DLLEXPORT(cmfe_Mesh_NumberOfElementsGetObj)
44469 
44470  !Argument variables
44471  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
44472  INTEGER(INTG), INTENT(OUT) :: numberOfElements
44473  INTEGER(INTG), INTENT(OUT) :: err
44474  !Local variables
44475 
44476  enters("cmfe_Mesh_NumberOfElementsGetObj",err,error,*999)
44477 
44478  CALL mesh_number_of_elements_get(mesh%mesh,numberofelements,err,error,*999)
44479 
44480  exits("cmfe_Mesh_NumberOfElementsGetObj")
44481  RETURN
44482 999 errorsexits("cmfe_Mesh_NumberOfElementsGetObj",err,error)
44483  CALL cmfe_handleerror(err,error)
44484  RETURN
44485 
44486  END SUBROUTINE cmfe_mesh_numberofelementsgetobj
44487 
44488  !
44489  !================================================================================================================================
44490  !
44491 
44493  SUBROUTINE cmfe_mesh_numberofelementssetnumber(regionUserNumber,meshUserNumber,numberOfElements,err)
44494  !DLLEXPORT(cmfe_Mesh_NumberOfElementsSetNumber)
44495 
44496  !Argument variables
44497  INTEGER(INTG), INTENT(IN) :: regionUserNumber
44498  INTEGER(INTG), INTENT(IN) :: meshUserNumber
44499  INTEGER(INTG), INTENT(IN) :: numberOfElements
44500  INTEGER(INTG), INTENT(OUT) :: err
44501  !Local variables
44502  TYPE(mesh_type), POINTER :: MESH
44503  TYPE(region_type), POINTER :: REGION
44504  TYPE(varying_string) :: localError
44505 
44506  enters("cmfe_Mesh_NumberOfElementsSetNumber",err,error,*999)
44507 
44508  NULLIFY(region)
44509  NULLIFY(mesh)
44510  CALL region_user_number_find(regionusernumber,region,err,error,*999)
44511  IF(ASSOCIATED(region)) THEN
44512  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
44513  IF(ASSOCIATED(mesh)) THEN
44514  CALL mesh_number_of_elements_set(mesh,numberofelements,err,error,*999)
44515  ELSE
44516  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
44517  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
44518  CALL flagerror(localerror,err,error,*999)
44519  END IF
44520  ELSE
44521  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
44522  & " does not exist."
44523  CALL flagerror(localerror,err,error,*999)
44524  END IF
44525 
44526  exits("cmfe_Mesh_NumberOfElementsSetNumber")
44527  RETURN
44528 999 errorsexits("cmfe_Mesh_NumberOfElementsSetNumber",err,error)
44529  CALL cmfe_handleerror(err,error)
44530  RETURN
44531 
44533 
44534  !
44535  !================================================================================================================================
44536  !
44537 
44539  SUBROUTINE cmfe_mesh_numberofelementssetobj(mesh,numberOfElements,err)
44540  !DLLEXPORT(cmfe_Mesh_NumberOfElementsSetObj)
44541 
44542  !Argument variables
44543  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
44544  INTEGER(INTG), INTENT(IN) :: numberOfElements
44545  INTEGER(INTG), INTENT(OUT) :: err
44546  !Local variables
44547 
44548  enters("cmfe_Mesh_NumberOfElementsSetObj",err,error,*999)
44549 
44550  CALL mesh_number_of_elements_set(mesh%mesh,numberofelements,err,error,*999)
44551 
44552  exits("cmfe_Mesh_NumberOfElementsSetObj")
44553  RETURN
44554 999 errorsexits("cmfe_Mesh_NumberOfElementsSetObj",err,error)
44555  CALL cmfe_handleerror(err,error)
44556  RETURN
44557 
44558  END SUBROUTINE cmfe_mesh_numberofelementssetobj
44559 
44560  !
44561  !================================================================================================================================
44562  !
44563 
44565  SUBROUTINE cmfe_mesh_topologydatapointscalculateprojectionregionnumber(regionUserNumber,MeshUserNumber, &
44566  & dataprojection,err)
44567  !DLLEXPORT(cmfe_Mesh_TopologyDataPointsCalculateProjectionRegionNumber)
44568 
44569  !Argument variables
44570  INTEGER(INTG), INTENT(IN) :: regionUserNumber
44571  INTEGER(INTG), INTENT(IN) :: MeshUserNumber
44572  TYPE(cmfe_dataprojectiontype), INTENT(IN) :: DataProjection
44573  INTEGER(INTG), INTENT(OUT) :: Err
44574  !Local variables
44575  TYPE(mesh_type), POINTER :: MESH
44576  TYPE(region_type), POINTER :: REGION
44577  TYPE(varying_string) :: localError
44578 
44579  enters("cmfe_Mesh_TopologyDataPointsCalculateProjectionRegionNumber",err,error,*999)
44580 
44581  NULLIFY(region)
44582  NULLIFY(mesh)
44583  CALL region_user_number_find(regionusernumber,region,err,error,*999)
44584  IF(ASSOCIATED(region)) THEN
44585  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
44586  IF(ASSOCIATED(mesh)) THEN
44587  CALL meshtopologydatapointscalculateprojection(mesh,dataprojection%dataProjection,err,error,*999)
44588  ELSE
44589  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
44590  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
44591  CALL flagerror(localerror,err,error,*999)
44592  ENDIF
44593  ELSE
44594  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
44595  & " does not exist."
44596  CALL flagerror(localerror,err,error,*999)
44597  ENDIF
44598 
44599  exits("cmfe_Mesh_TopologyDataPointsCalculateProjectionRegionNumber")
44600  RETURN
44601 999 errors("cmfe_Mesh_TopologyDataPointsCalculateProjectionRegionNumber",err,error)
44602  exits("cmfe_Mesh_TopologyDataPointsCalculateProjectionRegionNumber")
44603  CALL cmfe_handleerror(err,error)
44604  RETURN
44605 
44607 
44608  !
44609  !================================================================================================================================
44610  !
44611 
44613  SUBROUTINE cmfe_mesh_topologydatapointscalculateprojectioninterfacenumber(parentRegionUserNumber,interfaceUserNumber, &
44614  & meshusernumber,dataprojection,err)
44615  !DLLEXPORT(cmfe_Mesh_TopologyDataPointsCalculateProjectionInterfaceNumber)
44616 
44617  !Argument variables
44618  INTEGER(INTG), INTENT(IN) :: parentregionUserNumber
44619  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
44620  INTEGER(INTG), INTENT(IN) :: MeshUserNumber
44621  TYPE(cmfe_dataprojectiontype), INTENT(IN) :: DataProjection
44622  INTEGER(INTG), INTENT(OUT) :: Err
44623  TYPE(mesh_type), POINTER :: MESH
44624  TYPE(region_type), POINTER :: PARENT_REGION
44625  TYPE(interface_type), POINTER :: INTERFACE
44626  TYPE(varying_string) :: localError
44627 
44628  enters("cmfe_Mesh_TopologyDataPointsCalculateProjectionInterfaceNumber",err,error,*999)
44629 
44630  NULLIFY(parent_region)
44631  NULLIFY(interface)
44632  NULLIFY(mesh)
44633  CALL region_user_number_find(parentregionusernumber,parent_region,err,error,*999)
44634  IF(ASSOCIATED(parent_region)) THEN
44635  CALL interface_user_number_find(interfaceusernumber,parent_region,interface,err,error,*999)
44636  IF(ASSOCIATED(interface)) THEN
44637  CALL mesh_user_number_find(meshusernumber,interface,mesh,err,error,*999)
44638  IF(ASSOCIATED(mesh)) THEN
44639  CALL meshtopologydatapointscalculateprojection(mesh,dataprojection%dataProjection,err,error,*999)
44640  ELSE
44641  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
44642  & " does not exist on the region with an user number of "//trim(numbertovstring(parentregionusernumber, &
44643  & "*",err,error))//"."
44644  CALL flagerror(localerror,err,error,*999)
44645  ENDIF
44646  ELSE
44647  localerror="An interface with an user number of "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
44648  & " does not exist."
44649  CALL flagerror(localerror,err,error,*999)
44650  ENDIF
44651  ELSE
44652  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
44653  & " does not exist."
44654  CALL flagerror(localerror,err,error,*999)
44655  ENDIF
44656 
44657  exits("cmfe_Mesh_TopologyDataPointsCalculateProjectionInterfaceNumber")
44658  RETURN
44659 999 errors("cmfe_Mesh_TopologyDataPointsCalculateProjectionInterfaceNumber",err,error)
44660  exits("cmfe_Mesh_TopologyDataPointsCalculateProjectionInterfaceNumber")
44661  CALL cmfe_handleerror(err,error)
44662  RETURN
44663 
44665 
44666  !
44667  !================================================================================================================================
44668  !
44669 
44671  SUBROUTINE cmfe_mesh_topologydatapointscalculateprojectionobj(Mesh,DataProjection,err)
44672  !DLLEXPORT(cmfe_Mesh_TopologyDataPointsCalculateProjectionObj)
44673 
44674  !Argument variables
44675  TYPE(cmfe_meshtype), INTENT(IN) :: Mesh
44676  TYPE(cmfe_dataprojectiontype), INTENT(IN) :: DataProjection
44677  INTEGER(INTG), INTENT(OUT) :: Err
44678  !Local variables
44679 
44680  enters("cmfe_Mesh_TopologyDataPointsCalculateProjectionObj",err,error,*999)
44681 
44682  CALL meshtopologydatapointscalculateprojection(mesh%mesh,dataprojection%dataProjection,err,error,*999)
44683 
44684  exits("cmfe_Mesh_TopologyDataPointsCalculateProjectionObj")
44685  RETURN
44686 999 errors("cmfe_Mesh_TopologyDataPointsCalculateProjectionObj",err,error)
44687  exits("cmfe_Mesh_TopologyDataPointsCalculateProjectionObj")
44688  CALL cmfe_handleerror(err,error)
44689  RETURN
44690 
44692 
44693  !
44694  !================================================================================================================================
44695  !
44696 
44698  SUBROUTINE cmfe_meshelements_createfinishnumber(regionUserNumber,meshUserNumber,meshComponentNumber,err)
44699  !DLLEXPORT(cmfe_MeshElements_CreateFinishNumber)
44700 
44701  !Argument variables
44702  INTEGER(INTG), INTENT(IN) :: regionUserNumber
44703  INTEGER(INTG), INTENT(IN) :: meshUserNumber
44704  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
44705  INTEGER(INTG), INTENT(OUT) :: err
44706  !Local variables
44707  TYPE(mesh_type), POINTER :: MESH
44708  TYPE(meshelementstype), POINTER :: MESH_ELEMENTS
44709  TYPE(region_type), POINTER :: REGION
44710  TYPE(varying_string) :: localError
44711 
44712  enters("cmfe_MeshElements_CreateFinishNumber",err,error,*999)
44713 
44714  NULLIFY(region)
44715  NULLIFY(mesh)
44716  NULLIFY(mesh_elements)
44717  CALL region_user_number_find(regionusernumber,region,err,error,*999)
44718  IF(ASSOCIATED(region)) THEN
44719  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
44720  IF(ASSOCIATED(mesh)) THEN
44721  CALL mesh_topology_elements_get(mesh,meshcomponentnumber,mesh_elements,err,error,*999)
44722  CALL mesh_topology_elements_create_finish(mesh_elements,err,error,*999)
44723  ELSE
44724  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
44725  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
44726  CALL flagerror(localerror,err,error,*999)
44727  END IF
44728  ELSE
44729  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
44730  & " does not exist."
44731  CALL flagerror(localerror,err,error,*999)
44732  END IF
44733 
44734  exits("cmfe_MeshElements_CreateFinishNumber")
44735  RETURN
44736 999 errorsexits("cmfe_MeshElements_CreateFinishNumber",err,error)
44737  CALL cmfe_handleerror(err,error)
44738  RETURN
44739 
44741 
44742  !
44743  !================================================================================================================================
44744  !
44745 
44747  SUBROUTINE cmfe_meshelements_createfinishobj(meshElements,err)
44748  !DLLEXPORT(cmfe_MeshElements_CreateFinishObj)
44749 
44750  !Argument variables
44751  TYPE(cmfe_meshelementstype), INTENT(IN) :: meshElements
44752  INTEGER(INTG), INTENT(OUT) :: err
44753  !Local variables
44754 
44755  enters("cmfe_MeshElements_CreateFinishObj",err,error,*999)
44756 
44757  CALL mesh_topology_elements_create_finish(meshelements%meshElements,err,error,*999)
44758 
44759  exits("cmfe_MeshElements_CreateFinishObj")
44760  RETURN
44761 999 errorsexits("cmfe_MeshElements_CreateFinishObj",err,error)
44762  CALL cmfe_handleerror(err,error)
44763  RETURN
44764 
44765  END SUBROUTINE cmfe_meshelements_createfinishobj
44766 
44767  !
44768  !================================================================================================================================
44769  !
44770 
44772  SUBROUTINE cmfe_meshelements_createstartnumber(regionUserNumber,meshUserNumber,meshComponentNumber,basisUserNumber,err)
44773  !DLLEXPORT(cmfe_MeshElements_CreateStartNumber)
44774 
44775  !Argument variables
44776  INTEGER(INTG), INTENT(IN) :: regionUserNumber
44777  INTEGER(INTG), INTENT(IN) :: meshUserNumber
44778  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
44779  INTEGER(INTG), INTENT(IN) :: basisUserNumber
44780  INTEGER(INTG), INTENT(OUT) :: err
44781  !Local variables
44782  TYPE(basis_type), POINTER :: BASIS
44783  TYPE(mesh_type), POINTER :: MESH
44784  TYPE(meshelementstype), POINTER :: MESH_ELEMENTS
44785  TYPE(region_type), POINTER :: REGION
44786  TYPE(varying_string) :: localError
44787 
44788  enters("cmfe_MeshElements_CreateStartNumber",err,error,*999)
44789 
44790  NULLIFY(region)
44791  NULLIFY(mesh)
44792  NULLIFY(basis)
44793  NULLIFY(mesh_elements)
44794  CALL region_user_number_find(regionusernumber,region,err,error,*999)
44795  IF(ASSOCIATED(region)) THEN
44796  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
44797  IF(ASSOCIATED(mesh)) THEN
44798  CALL basis_user_number_find(basisusernumber,basis,err,error,*999)
44799  IF(ASSOCIATED(basis)) THEN
44800  CALL mesh_topology_elements_create_start(mesh,meshcomponentnumber,basis,mesh_elements,err,error,*999)
44801  ELSE
44802  localerror="A basis with an user number of "//trim(numbertovstring(basisusernumber,"*",err,error))// &
44803  & " does not exist."
44804  CALL flagerror(localerror,err,error,*999)
44805  END IF
44806  ELSE
44807  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
44808  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
44809  CALL flagerror(localerror,err,error,*999)
44810  END IF
44811  ELSE
44812  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
44813  & " does not exist."
44814  CALL flagerror(localerror,err,error,*999)
44815  END IF
44816 
44817  exits("cmfe_MeshElements_CreateStartNumber")
44818  RETURN
44819 999 errorsexits("cmfe_MeshElements_CreateStartNumber",err,error)
44820  CALL cmfe_handleerror(err,error)
44821  RETURN
44822 
44824 
44825  !
44826  !================================================================================================================================
44827  !
44828 
44830  SUBROUTINE cmfe_meshelements_createstartobj(mesh,meshComponentNumber,basis,meshElements,err)
44831  !DLLEXPORT(cmfe_MeshElements_CreateStartObj)
44832 
44833  !Argument variables
44834  TYPE(cmfe_meshtype), INTENT(INOUT) :: mesh
44835  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
44836  TYPE(cmfe_basistype), INTENT(IN) :: basis
44837  TYPE(cmfe_meshelementstype), INTENT(INOUT) :: meshElements
44838  INTEGER(INTG), INTENT(OUT) :: err
44839  !Local variables
44840 
44841  enters("cmfe_MeshElements_CreateStartObj",err,error,*999)
44842 
44843  CALL mesh_topology_elements_create_start(mesh%mesh,meshcomponentnumber,basis%basis,meshelements%meshElements,err,error,*999)
44844 
44845  exits("cmfe_MeshElements_CreateStartObj")
44846  RETURN
44847 999 errorsexits("cmfe_MeshElements_CreateStartObj",err,error)
44848  CALL cmfe_handleerror(err,error)
44849  RETURN
44850 
44851  END SUBROUTINE cmfe_meshelements_createstartobj
44852 
44853  !
44854  !================================================================================================================================
44855  !
44856 
44858  SUBROUTINE cmfe_mesh_elementsgetnumber(regionUserNumber,meshUserNumber,meshComponentNumber,meshElements,err)
44859  !DLLEXPORT(cmfe_Mesh_ElementsGetNumber)
44860 
44861  !Argument variables
44862  INTEGER(INTG), INTENT(IN) :: regionUserNumber
44863  INTEGER(INTG), INTENT(IN) :: meshUserNumber
44864  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
44865  TYPE(cmfe_meshelementstype), INTENT(INOUT) :: meshElements
44866  INTEGER(INTG), INTENT(OUT) :: err
44867 
44868  !Local variables
44869  TYPE(mesh_type), POINTER :: MESH
44870  TYPE(region_type), POINTER :: REGION
44871  TYPE(varying_string) :: localError
44872 
44873  enters("cmfe_Mesh_ElementsGetNumber",err,error,*999)
44874 
44875  NULLIFY(region)
44876  NULLIFY(mesh)
44877  CALL region_user_number_find(regionusernumber,region,err,error,*999)
44878  IF(ASSOCIATED(region)) THEN
44879  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
44880  IF(ASSOCIATED(mesh)) THEN
44881  CALL mesh_topology_elements_get(mesh,meshcomponentnumber,meshelements%meshElements,err,error,*999)
44882  ELSE
44883  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
44884  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
44885  CALL flagerror(localerror,err,error,*999)
44886  END IF
44887  ELSE
44888  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
44889  & " does not exist."
44890  CALL flagerror(localerror,err,error,*999)
44891  END IF
44892 
44893  exits("cmfe_Mesh_ElementsGetNumber")
44894  RETURN
44895 999 errorsexits("cmfe_Mesh_ElementsGetNumber",err,error)
44896  CALL cmfe_handleerror(err,error)
44897  RETURN
44898 
44899  END SUBROUTINE cmfe_mesh_elementsgetnumber
44900 
44901 
44902  !
44903  !================================================================================================================================
44904  !
44905 
44907  !user number.
44908  SUBROUTINE cmfe_mesh_elementsgetobj(mesh,meshComponentNumber,meshElements,err)
44909  !DLLEXPORT(cmfe_Mesh_ElementsGetObj)
44910 
44911  !Argument variables
44912  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
44913  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
44914  TYPE(cmfe_meshelementstype), INTENT(INOUT) :: meshElements
44915  INTEGER(INTG), INTENT(OUT) :: err
44916 
44917  !Local variables
44918 
44919  enters("cmfe_Mesh_ElementsGetObj",err,error,*999)
44920 
44921  CALL mesh_topology_elements_get(mesh%mesh,meshcomponentnumber,meshelements%meshElements,err,error,*999)
44922 
44923  exits("cmfe_Mesh_ElementsGetObj")
44924  RETURN
44925 999 errorsexits("cmfe_Mesh_ElementsGetObj",err,error)
44926  CALL cmfe_handleerror(err,error)
44927  RETURN
44928 
44929  END SUBROUTINE cmfe_mesh_elementsgetobj
44930 
44931  !
44932  !================================================================================================================================
44933  !
44934 
44936  SUBROUTINE cmfe_meshelements_basisgetnumber(regionUserNumber,meshUserNumber,meshComponentNumber,globalElementNumber, &
44937  & basisusernumber,err)
44938  !DLLEXPORT(cmfe_MeshElements_BasisGetNumber)
44939 
44940  !Argument variables
44941  INTEGER(INTG), INTENT(IN) :: regionUserNumber
44942  INTEGER(INTG), INTENT(IN) :: meshUserNumber
44943  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
44944  INTEGER(INTG), INTENT(IN) :: globalElementNumber
44945  INTEGER(INTG), INTENT(OUT) :: basisUserNumber
44946  INTEGER(INTG), INTENT(OUT) :: err
44947  !Local variables
44948  TYPE(basis_type), POINTER :: BASIS
44949  TYPE(mesh_type), POINTER :: MESH
44950  TYPE(meshelementstype), POINTER :: MESH_ELEMENTS
44951  TYPE(region_type), POINTER :: REGION
44952  TYPE(varying_string) :: localError
44953 
44954  enters("cmfe_MeshElements_BasisGetNumber",err,error,*999)
44955 
44956  NULLIFY(region)
44957  NULLIFY(mesh)
44958  NULLIFY(mesh_elements)
44959  NULLIFY(basis)
44960  CALL region_user_number_find(regionusernumber,region,err,error,*999)
44961  IF(ASSOCIATED(region)) THEN
44962  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
44963  IF(ASSOCIATED(mesh)) THEN
44964  CALL mesh_topology_elements_get(mesh,meshcomponentnumber,mesh_elements,err,error,*999)
44965  CALL mesh_topology_elements_element_basis_get(globalelementnumber,mesh_elements,basis,err,error,*999)
44966  IF(ASSOCIATED(basis)) THEN
44967  basisusernumber = basis%USER_NUMBER
44968  ELSE
44969  localerror="The basis is not associated for global element number "// &
44970  & trim(numbertovstring(globalelementnumber,"*",err,error))//" of mesh component number "// &
44971  & trim(numbertovstring(meshcomponentnumber,"*",err,error))//" from the mesh with a user number of "//&
44972  & trim(numbertovstring(meshusernumber,"*",err,error))//" in the region with a user number of "// &
44973  & trim(numbertovstring(regionusernumber,"*",err,error))//"."
44974  CALL flagerror(localerror,err,error,*999)
44975  END IF
44976  ELSE
44977  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
44978  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
44979  CALL flagerror(localerror,err,error,*999)
44980  END IF
44981  ELSE
44982  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
44983  & " does not exist."
44984  CALL flagerror(localerror,err,error,*999)
44985  END IF
44986 
44987  exits("cmfe_MeshElements_BasisGetNumber")
44988  RETURN
44989 999 errorsexits("cmfe_MeshElements_BasisGetNumber",err,error)
44990  CALL cmfe_handleerror(err,error)
44991  RETURN
44992 
44993  END SUBROUTINE cmfe_meshelements_basisgetnumber
44994 
44995  !
44996  !================================================================================================================================
44997  !
44998 
45000  SUBROUTINE cmfe_meshelements_basisgetobj(meshElements,globalElementNumber,basis,err)
45001  !DLLEXPORT(cmfe_MeshElements_BasisGetObj)
45002 
45003  !Argument variables
45004  TYPE(cmfe_meshelementstype), INTENT(IN) :: meshElements
45005  INTEGER(INTG), INTENT(IN) :: globalElementNumber
45006  TYPE(cmfe_basistype), INTENT(INOUT) :: basis
45007  INTEGER(INTG), INTENT(OUT) :: err
45008  !Local variables
45009 
45010  enters("cmfe_MeshElements_BasisGetObj",err,error,*999)
45011 
45012  CALL mesh_topology_elements_element_basis_get(globalelementnumber,meshelements%meshElements,basis%basis,err,error,*999)
45013 
45014  exits("cmfe_MeshElements_BasisGetObj")
45015  RETURN
45016 999 errorsexits("cmfe_MeshElements_BasisGetObj",err,error)
45017  CALL cmfe_handleerror(err,error)
45018  RETURN
45019 
45020  END SUBROUTINE cmfe_meshelements_basisgetobj
45021 
45022  !
45023  !================================================================================================================================
45024  !
45025 
45027  SUBROUTINE cmfe_meshelements_basissetnumber(regionUserNumber,meshUserNumber,meshComponentNumber,globalElementNumber, &
45028  & basisusernumber,err)
45029  !DLLEXPORT(cmfe_MeshElements_BasisSetNumber)
45030 
45031  !Argument variables
45032  INTEGER(INTG), INTENT(IN) :: regionUserNumber
45033  INTEGER(INTG), INTENT(IN) :: meshUserNumber
45034  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
45035  INTEGER(INTG), INTENT(IN) :: globalElementNumber
45036  INTEGER(INTG), INTENT(IN) :: basisUserNumber
45037  INTEGER(INTG), INTENT(OUT) :: err
45038  !Local variables
45039  TYPE(basis_type), POINTER :: BASIS
45040  TYPE(mesh_type), POINTER :: MESH
45041  TYPE(meshelementstype), POINTER :: MESH_ELEMENTS
45042  TYPE(region_type), POINTER :: REGION
45043  TYPE(varying_string) :: localError
45044 
45045  enters("cmfe_MeshElements_BasisSetNumber",err,error,*999)
45046 
45047  NULLIFY(region)
45048  NULLIFY(mesh)
45049  NULLIFY(mesh_elements)
45050  NULLIFY(basis)
45051  CALL region_user_number_find(regionusernumber,region,err,error,*999)
45052  IF(ASSOCIATED(region)) THEN
45053  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
45054  IF(ASSOCIATED(mesh)) THEN
45055  CALL mesh_topology_elements_get(mesh,meshcomponentnumber,mesh_elements,err,error,*999)
45056  CALL basis_user_number_find(basisusernumber,basis,err,error,*999)
45057  IF(ASSOCIATED(basis)) THEN
45058  CALL mesh_topology_elements_element_basis_set(globalelementnumber,mesh_elements,basis,err,error,*999)
45059  ELSE
45060  localerror="A basis with an user number of "//trim(numbertovstring(basisusernumber,"*",err,error))// &
45061  & " does not exist."
45062  CALL flagerror(localerror,err,error,*999)
45063  END IF
45064  ELSE
45065  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
45066  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
45067  CALL flagerror(localerror,err,error,*999)
45068  END IF
45069  ELSE
45070  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
45071  & " does not exist."
45072  CALL flagerror(localerror,err,error,*999)
45073  END IF
45074 
45075  exits("cmfe_MeshElements_BasisSetNumber")
45076  RETURN
45077 999 errorsexits("cmfe_MeshElements_BasisSetNumber",err,error)
45078  CALL cmfe_handleerror(err,error)
45079  RETURN
45080 
45081  END SUBROUTINE cmfe_meshelements_basissetnumber
45082 
45083  !
45084  !================================================================================================================================
45085  !
45086 
45088  SUBROUTINE cmfe_meshelements_basissetobj(meshElements,globalElementNumber,basis,err)
45089  !DLLEXPORT(cmfe_MeshElements_BasisSetObj)
45090 
45091  !Argument variables
45092  TYPE(cmfe_meshelementstype), INTENT(IN) :: meshElements
45093  INTEGER(INTG), INTENT(IN) :: globalElementNumber
45094  TYPE(cmfe_basistype), INTENT(IN) :: basis
45095  INTEGER(INTG), INTENT(OUT) :: err
45096  !Local variables
45097 
45098  enters("cmfe_MeshElements_BasisSetObj",err,error,*999)
45099 
45100  CALL mesh_topology_elements_element_basis_set(globalelementnumber,meshelements%meshElements,basis%basis,err,error,*999)
45101 
45102  exits("cmfe_MeshElements_BasisSetObj")
45103  RETURN
45104 999 errorsexits("cmfe_MeshElements_BasisSetObj",err,error)
45105  CALL cmfe_handleerror(err,error)
45106  RETURN
45107 
45108  END SUBROUTINE cmfe_meshelements_basissetobj
45109 
45110  !
45111  !================================================================================================================================
45112  !
45113 
45115  SUBROUTINE cmfe_meshelements_adjacentelementgetnumber(regionUserNumber,meshUserNumber,meshComponentNumber,globalElementNumber, &
45116  & adjacentelementxi,adjacentelement,err)
45117  !DLLEXPORT(cmfe_MeshElements_AdjacentElementGetNumber)
45118 
45119  !Argument variables
45120  INTEGER(INTG), INTENT(IN) :: regionUserNumber
45121  INTEGER(INTG), INTENT(IN) :: meshUserNumber
45122  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
45123  INTEGER(INTG), INTENT(IN) :: globalElementNumber
45124  INTEGER(INTG), INTENT(IN) :: adjacentElementXi
45125  INTEGER(INTG), INTENT(OUT) :: adjacentElement
45126  INTEGER(INTG), INTENT(OUT) :: err
45127  !Local variables
45128  TYPE(mesh_type), POINTER :: MESH
45129  TYPE(meshelementstype), POINTER :: MESH_ELEMENTS
45130  TYPE(region_type), POINTER :: REGION
45131  TYPE(varying_string) :: localError
45132 
45133  enters("cmfe_MeshElements_AdjacentElementGetNumber",err,error,*999)
45134 
45135  NULLIFY(region)
45136  NULLIFY(mesh)
45137  NULLIFY(mesh_elements)
45138  CALL region_user_number_find(regionusernumber,region,err,error,*999)
45139  IF(ASSOCIATED(region)) THEN
45140  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
45141  IF(ASSOCIATED(mesh)) THEN
45142  CALL mesh_topology_elements_get(mesh,meshcomponentnumber,mesh_elements,err,error,*999)
45143  CALL mesh_topology_elements_adjacent_element_get(globalelementnumber,mesh_elements,adjacentelementxi,adjacentelement, &
45144  & err,error,*999)
45145  ELSE
45146  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
45147  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
45148  CALL flagerror(localerror,err,error,*999)
45149  END IF
45150  ELSE
45151  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
45152  & " does not exist."
45153  CALL flagerror(localerror,err,error,*999)
45154  END IF
45155 
45156  exits("cmfe_MeshElements_AdjacentElementGetNumber")
45157  RETURN
45158 999 errorsexits("cmfe_MeshElements_AdjacentElementGetNumber",err,error)
45159  CALL cmfe_handleerror(err,error)
45160  RETURN
45161 
45163 
45164  !
45165  !================================================================================================================================
45166  !
45167 
45169  SUBROUTINE cmfe_meshelements_adjacentelementgetobj(meshElements,globalElementNumber,adjacentElementXi,adjacentElement,err)
45170  !DLLEXPORT(cmfe_MeshElements_AdjacentElementGetObj)
45171 
45172  !Argument variables
45173  TYPE(cmfe_meshelementstype), INTENT(IN) :: meshElements
45174  INTEGER(INTG), INTENT(IN) :: globalElementNumber
45175  INTEGER(INTG), INTENT(IN) :: adjacentElementXi
45176  INTEGER(INTG), INTENT(OUT) :: adjacentElement
45177  INTEGER(INTG), INTENT(OUT) :: err
45178  !Local variables
45179 
45180  enters("cmfe_MeshElements_AdjacentElementGetObj",err,error,*999)
45181 
45182  CALL mesh_topology_elements_adjacent_element_get(globalelementnumber,meshelements%meshElements,adjacentelementxi, &
45183  & adjacentelement,err,error,*999)
45184 
45185  exits("cmfe_MeshElements_AdjacentElementGetObj")
45186  RETURN
45187 999 errorsexits("cmfe_MeshElements_AdjacentElementGetObj",err,error)
45188  CALL cmfe_handleerror(err,error)
45189  RETURN
45190 
45192 
45193  !
45194  !================================================================================================================================
45195  !
45196 
45198  SUBROUTINE cmfe_meshelements_nodesgetnumber(regionUserNumber,meshUserNumber,meshComponentNumber,globalElementNumber, &
45199  & elementusernodes,err)
45200  !DLLEXPORT(cmfe_MeshElements_NodesGetNumber)
45201 
45202  !Argument variables
45203  INTEGER(INTG), INTENT(IN) :: regionUserNumber
45204  INTEGER(INTG), INTENT(IN) :: meshUserNumber
45205  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
45206  INTEGER(INTG), INTENT(IN) :: globalElementNumber
45207  INTEGER(INTG), INTENT(OUT) :: elementUserNodes(:)
45208  INTEGER(INTG), INTENT(OUT) :: err
45209  !Local variables
45210  TYPE(mesh_type), POINTER :: MESH
45211  TYPE(meshelementstype), POINTER :: MESH_ELEMENTS
45212  TYPE(region_type), POINTER :: REGION
45213  TYPE(varying_string) :: localError
45214 
45215  enters("cmfe_MeshElements_NodesGetNumber",err,error,*999)
45216 
45217  NULLIFY(region)
45218  NULLIFY(mesh)
45219  NULLIFY(mesh_elements)
45220  CALL region_user_number_find(regionusernumber,region,err,error,*999)
45221  IF(ASSOCIATED(region)) THEN
45222  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
45223  IF(ASSOCIATED(mesh)) THEN
45224  CALL mesh_topology_elements_get(mesh,meshcomponentnumber,mesh_elements,err,error,*999)
45225  CALL mesh_topology_elements_element_nodes_get(globalelementnumber,mesh_elements,elementusernodes,err,error,*999)
45226  ELSE
45227  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
45228  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
45229  CALL flagerror(localerror,err,error,*999)
45230  END IF
45231  ELSE
45232  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
45233  & " does not exist."
45234  CALL flagerror(localerror,err,error,*999)
45235  END IF
45236 
45237  exits("cmfe_MeshElements_NodesGetNumber")
45238  RETURN
45239 999 errorsexits("cmfe_MeshElements_NodesGetNumber",err,error)
45240  CALL cmfe_handleerror(err,error)
45241  RETURN
45242 
45243  END SUBROUTINE cmfe_meshelements_nodesgetnumber
45244 
45245  !
45246  !================================================================================================================================
45247  !
45248 
45250  SUBROUTINE cmfe_meshelements_nodesgetobj(meshElements,globalElementNumber,elementUserNodes,err)
45251  !DLLEXPORT(cmfe_MeshElements_NodesGetObj)
45252 
45253  !Argument variables
45254  TYPE(cmfe_meshelementstype), INTENT(IN) :: meshElements
45255  INTEGER(INTG), INTENT(IN) :: globalElementNumber
45256  INTEGER(INTG), INTENT(OUT) :: elementUserNodes(:)
45257  INTEGER(INTG), INTENT(OUT) :: err
45258  !Local variables
45259 
45260  enters("cmfe_MeshElements_NodesGetObj",err,error,*999)
45261 
45262  CALL mesh_topology_elements_element_nodes_get(globalelementnumber,meshelements%meshElements,elementusernodes,err,error,*999)
45263 
45264  exits("cmfe_MeshElements_NodesGetObj")
45265  RETURN
45266 999 errorsexits("cmfe_MeshElements_NodesGetObj",err,error)
45267  CALL cmfe_handleerror(err,error)
45268  RETURN
45269 
45270  END SUBROUTINE cmfe_meshelements_nodesgetobj
45271 
45272  !
45273  !================================================================================================================================
45274  !
45275 
45277  SUBROUTINE cmfe_meshelements_nodessetnumber(regionUserNumber,meshUserNumber,meshComponentNumber,globalElementNumber, &
45278  & elementusernodes,err)
45279  !DLLEXPORT(cmfe_MeshElements_NodesSetNumber)
45280 
45281  !Argument variables
45282  INTEGER(INTG), INTENT(IN) :: regionUserNumber
45283  INTEGER(INTG), INTENT(IN) :: meshUserNumber
45284  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
45285  INTEGER(INTG), INTENT(IN) :: globalElementNumber
45286  INTEGER(INTG), INTENT(IN) :: elementUserNodes(:)
45287  INTEGER(INTG), INTENT(OUT) :: err
45288  !Local variables
45289  TYPE(mesh_type), POINTER :: MESH
45290  TYPE(meshelementstype), POINTER :: MESH_ELEMENTS
45291  TYPE(region_type), POINTER :: REGION
45292  TYPE(varying_string) :: localError
45293 
45294  enters("cmfe_MeshElements_NodesSetNumber",err,error,*999)
45295 
45296  NULLIFY(region)
45297  NULLIFY(mesh)
45298  NULLIFY(mesh_elements)
45299  CALL region_user_number_find(regionusernumber,region,err,error,*999)
45300  IF(ASSOCIATED(region)) THEN
45301  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
45302  IF(ASSOCIATED(mesh)) THEN
45303  CALL mesh_topology_elements_get(mesh,meshcomponentnumber,mesh_elements,err,error,*999)
45304  CALL mesh_topology_elements_element_nodes_set(globalelementnumber,mesh_elements,elementusernodes,err,error,*999)
45305  ELSE
45306  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
45307  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
45308  CALL flagerror(localerror,err,error,*999)
45309  END IF
45310  ELSE
45311  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
45312  & " does not exist."
45313  CALL flagerror(localerror,err,error,*999)
45314  END IF
45315 
45316  exits("cmfe_MeshElements_NodesSetNumber")
45317  RETURN
45318 999 errorsexits("cmfe_MeshElements_NodesSetNumber",err,error)
45319  CALL cmfe_handleerror(err,error)
45320  RETURN
45321 
45322  END SUBROUTINE cmfe_meshelements_nodessetnumber
45323 
45324  !
45325  !================================================================================================================================
45326  !
45327 
45329  SUBROUTINE cmfe_meshelements_nodessetobj(meshElements,globalElementNumber,elementUserNodes,err)
45330  !DLLEXPORT(cmfe_MeshElements_NodesSetObj)
45331 
45332  !Argument variables
45333  TYPE(cmfe_meshelementstype), INTENT(IN) :: meshElements
45334  INTEGER(INTG), INTENT(IN) :: globalElementNumber
45335  INTEGER(INTG), INTENT(IN) :: elementUserNodes(:)
45336  INTEGER(INTG), INTENT(OUT) :: err
45337  !Local variables
45338 
45339  enters("cmfe_MeshElements_NodesSetObj",err,error,*999)
45340 
45341  CALL mesh_topology_elements_element_nodes_set(globalelementnumber,meshelements%meshElements,elementusernodes,err,error,*999)
45342 
45343  exits("cmfe_MeshElements_NodesSetObj")
45344  RETURN
45345 999 errorsexits("cmfe_MeshElements_NodesSetObj",err,error)
45346  CALL cmfe_handleerror(err,error)
45347  RETURN
45348 
45349  END SUBROUTINE cmfe_meshelements_nodessetobj
45350 
45351 
45352  !
45353  !================================================================================================================================
45354  !
45355 
45357  SUBROUTINE cmfe_meshelements_usernodeversionsetnumber(regionUserNumber,meshUserNumber,globalElementNumber,versionNumber, &
45358  & derivativenumber,usernodenumber,meshcomponentnumber,err)
45359  !DLLEXPORT(cmfe_MeshElements_UserNodeVersionSetNumber)
45360 
45361  !Argument variables
45362  INTEGER(INTG), INTENT(IN) :: regionUserNumber
45363  INTEGER(INTG), INTENT(IN) :: meshUserNumber
45364  INTEGER(INTG), INTENT(IN) :: globalElementNumber
45365  INTEGER(INTG), INTENT(IN) :: versionNumber
45366  INTEGER(INTG), INTENT(IN) :: derivativeNumber
45367  INTEGER(INTG), INTENT(IN) :: userNodeNumber
45368  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
45369 
45370  INTEGER(INTG), INTENT(OUT) :: err
45371  !Local variables
45372  TYPE(mesh_type), POINTER :: MESH
45373  TYPE(meshelementstype), POINTER :: MESH_ELEMENTS
45374  TYPE(region_type), POINTER :: REGION
45375  TYPE(varying_string) :: localError
45376  INTEGER(INTG) :: localelementnode
45377  LOGICAL :: FOUND
45378 
45379  enters("cmfe_MeshElements_UserNodeVersionSetNumber",err,error,*999)
45380 
45381  NULLIFY(region)
45382  NULLIFY(mesh)
45383  NULLIFY(mesh_elements)
45384  CALL region_user_number_find(regionusernumber,region,err,error,*999)
45385  IF(ASSOCIATED(region)) THEN
45386  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
45387  IF(ASSOCIATED(mesh)) THEN
45388  CALL mesh_topology_elements_get(mesh,meshcomponentnumber,mesh_elements,err,error,*999)
45389  found=.false.
45390  DO localelementnode=1,mesh_elements%ELEMENTS(globalelementnumber)%basis%NUMBER_OF_NODES
45391  IF(mesh_elements%ELEMENTS(globalelementnumber)%USER_ELEMENT_NODES(localelementnode)==usernodenumber) THEN
45392  found=.true.
45393  EXIT
45394  END IF
45395  END DO !localelementnode
45396  IF(found) THEN
45397  CALL meshelements_elementnodeversionset(globalelementnumber,mesh_elements,versionnumber,derivativenumber, &
45398  & localelementnode,err,error,*999)
45399  ELSE
45400  localerror="User node number "//trim(numbertovstring(usernodenumber,"*",err,error))// &
45401  & " does not exist in element number "//trim(numbertovstring(globalelementnumber,"*",err,error))//"."
45402  CALL flagerror(localerror,err,error,*999)
45403  END IF
45404  ELSE
45405  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
45406  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
45407  CALL flagerror(localerror,err,error,*999)
45408  END IF
45409  ELSE
45410  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
45411  & " does not exist."
45412  CALL flagerror(localerror,err,error,*999)
45413  END IF
45414 
45415  exits("cmfe_MeshElements_UserNodeVersionSetNumber")
45416  RETURN
45417 999 errorsexits("cmfe_MeshElements_UserNodeVersionSetNumber",err,error)
45418  CALL cmfe_handleerror(err,error)
45419  RETURN
45420 
45422 
45423  !
45424  !================================================================================================================================
45425  !
45426 
45428  SUBROUTINE cmfe_meshelements_usernodeversionsetobj(meshElements,globalElementNumber,versionNumber,derivativeNumber, &
45429  & usernodenumber,err)
45430  !DLLEXPORT(cmfe_MeshElements_UserNodeVersionSetObj)
45431 
45432  !Argument variables
45433  TYPE(cmfe_meshelementstype), INTENT(IN) :: meshElements
45434  INTEGER(INTG), INTENT(IN) :: globalElementNumber
45435  INTEGER(INTG), INTENT(IN) :: versionNumber
45436  INTEGER(INTG), INTENT(IN) :: derivativeNumber
45437  INTEGER(INTG), INTENT(IN) :: userNodeNumber
45438  INTEGER(INTG), INTENT(OUT) :: err
45439  !Local variables
45440  TYPE(varying_string) :: localError
45441  INTEGER(INTG) :: localelementnode
45442  LOGICAL :: FOUND
45443 
45444  enters("cmfe_MeshElements_UserNodeVersionSetObj",err,error,*999)
45445 
45446  found=.false.
45447  DO localelementnode=1,meshelements%meshElements%ELEMENTS(globalelementnumber)%basis%NUMBER_OF_NODES
45448  IF(meshelements%meshElements%ELEMENTS(globalelementnumber)%USER_ELEMENT_NODES(localelementnode)==usernodenumber) THEN
45449  found=.true.
45450  EXIT
45451  END IF
45452  END DO !localelementnode
45453  IF(found) THEN
45454  CALL meshelements_elementnodeversionset(globalelementnumber,meshelements%meshElements,versionnumber, &
45455  & derivativenumber,localelementnode,err,error,*999)
45456  ELSE
45457  localerror="User node number "//trim(numbertovstring(usernodenumber,"*",err,error))// &
45458  & " does not exist in element number "//trim(numbertovstring(globalelementnumber,"*",err,error))//"."
45459  CALL flagerror(localerror,err,error,*999)
45460  END IF
45461 
45462  exits("cmfe_MeshElements_UserNodeVersionSetObj")
45463  RETURN
45464 999 errorsexits("cmfe_MeshElements_UserNodeVersionSetObj",err,error)
45465  CALL cmfe_handleerror(err,error)
45466  RETURN
45467 
45469 
45470  !
45471  !================================================================================================================================
45472  !
45473 
45475  SUBROUTINE cmfe_meshelements_localelementnodeversionsetnumber(regionUserNumber,meshUserNumber,globalElementNumber,versionNumber, &
45476  & derivativenumber,localelementnodenumber,meshcomponentnumber,err)
45477  !DLLEXPORT(cmfe_MeshElements_LocalElementNodeVersionSetNumber)
45478 
45479  !Argument variables
45480  INTEGER(INTG), INTENT(IN) :: regionUserNumber
45481  INTEGER(INTG), INTENT(IN) :: meshUserNumber
45482  INTEGER(INTG), INTENT(IN) :: globalElementNumber
45483  INTEGER(INTG), INTENT(IN) :: versionNumber
45484  INTEGER(INTG), INTENT(IN) :: derivativeNumber
45485  INTEGER(INTG), INTENT(IN) :: localElementNodeNumber
45486  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
45487 
45488  INTEGER(INTG), INTENT(OUT) :: err
45489  !Local variables
45490  TYPE(mesh_type), POINTER :: MESH
45491  TYPE(meshelementstype), POINTER :: MESH_ELEMENTS
45492  TYPE(region_type), POINTER :: REGION
45493  TYPE(varying_string) :: localError
45494 
45495  enters("cmfe_MeshElements_LocalElementNodeVersionSetNumber",err,error,*999)
45496 
45497  NULLIFY(region)
45498  NULLIFY(mesh)
45499  NULLIFY(mesh_elements)
45500  CALL region_user_number_find(regionusernumber,region,err,error,*999)
45501  IF(ASSOCIATED(region)) THEN
45502  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
45503  IF(ASSOCIATED(mesh)) THEN
45504  CALL mesh_topology_elements_get(mesh,meshcomponentnumber,mesh_elements,err,error,*999)
45505  CALL meshelements_elementnodeversionset(globalelementnumber,mesh_elements,versionnumber,derivativenumber, &
45506  & localelementnodenumber,err,error,*999)
45507  ELSE
45508  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
45509  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
45510  CALL flagerror(localerror,err,error,*999)
45511  END IF
45512  ELSE
45513  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
45514  & " does not exist."
45515  CALL flagerror(localerror,err,error,*999)
45516  END IF
45517 
45518  exits("cmfe_MeshElements_LocalElementNodeVersionSetNumber")
45519  RETURN
45520 999 errors("cmfe_MeshElements_LocalElementNodeVersionSetNumber",err,error)
45521  exits("cmfe_MeshElements_LocalElementNodeVersionSetNumber")
45522  CALL cmfe_handleerror(err,error)
45523  RETURN
45524 
45526 
45527  !
45528  !================================================================================================================================
45529  !
45530 
45532  SUBROUTINE cmfe_meshelements_localelementnodeversionsetobj(meshElements,globalElementNumber,versionNumber,derivativeNumber, &
45533  & localelementnodenumber,err)
45534  !DLLEXPORT(cmfe_MeshElements_LocalElementNodeVersionSetObj)
45535 
45536  !Argument variables
45537  TYPE(cmfe_meshelementstype), INTENT(IN) :: meshElements
45538  INTEGER(INTG), INTENT(IN) :: globalElementNumber
45539  INTEGER(INTG), INTENT(IN) :: versionNumber
45540  INTEGER(INTG), INTENT(IN) :: derivativeNumber
45541  INTEGER(INTG), INTENT(IN) :: localElementNodeNumber
45542  INTEGER(INTG), INTENT(OUT) :: err
45543  !Local variables
45544 
45545  enters("cmfe_MeshElements_LocalElementNodeVersionSetObj",err,error,*999)
45546 
45547  CALL meshelements_elementnodeversionset(globalelementnumber,meshelements%meshElements,versionnumber, &
45548  & derivativenumber,localelementnodenumber,err,error,*999)
45549 
45550  exits("cmfe_MeshElements_LocalElementNodeVersionSetObj")
45551  RETURN
45552 999 errors("cmfe_MeshElements_LocalElementNodeVersionSetObj",err,error)
45553  exits("cmfe_MeshElements_LocalElementNodeVersionSetObj")
45554  CALL cmfe_handleerror(err,error)
45555  RETURN
45556 
45558 
45559  !
45560  !================================================================================================================================
45561  !
45562 
45564  SUBROUTINE cmfe_meshelements_usernumbergetnumber(regionUserNumber,meshUserNumber,meshComponentNumber,elementGlobalNumber, &
45565  & elementusernumber,err)
45566  !DLLEXPORT(cmfe_MeshElements_UserNumberGetNumber)
45567 
45568  !Argument variables
45569  INTEGER(INTG), INTENT(IN) :: regionUserNumber
45570  INTEGER(INTG), INTENT(IN) :: meshUserNumber
45571  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
45572  INTEGER(INTG), INTENT(IN) :: elementGlobalNumber
45573  INTEGER(INTG), INTENT(OUT) :: elementUserNumber
45574  INTEGER(INTG), INTENT(OUT) :: err
45575  !Local variables
45576  TYPE(mesh_type), POINTER :: MESH
45577  TYPE(meshelementstype), POINTER :: MESH_ELEMENTS
45578  TYPE(region_type), POINTER :: REGION
45579  TYPE(varying_string) :: localError
45580 
45581  enters("cmfe_MeshElements_UserNumberGetNumber",err,error,*999)
45582 
45583  NULLIFY(region)
45584  NULLIFY(mesh)
45585  NULLIFY(mesh_elements)
45586  CALL region_user_number_find(regionusernumber,region,err,error,*999)
45587  IF(ASSOCIATED(region)) THEN
45588  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
45589  IF(ASSOCIATED(mesh)) THEN
45590  CALL mesh_topology_elements_get(mesh,meshcomponentnumber,mesh_elements,err,error,*999)
45591  CALL meshelements_elementusernumberget(elementglobalnumber,elementusernumber,mesh_elements,err,error,*999)
45592  ELSE
45593  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
45594  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
45595  CALL flagerror(localerror,err,error,*999)
45596  END IF
45597  ELSE
45598  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
45599  & " does not exist."
45600  CALL flagerror(localerror,err,error,*999)
45601  END IF
45602 
45603  exits("cmfe_MeshElements_UserNumberGetNumber")
45604  RETURN
45605 999 errorsexits("cmfe_MeshElements_UserNumberGetNumber",err,error)
45606  CALL cmfe_handleerror(err,error)
45607  RETURN
45608 
45610 
45611  !
45612  !================================================================================================================================
45613  !
45614 
45616  SUBROUTINE cmfe_meshelements_usernumbergetobj(meshElements,elementGlobalNumber,elementUserNumber,err)
45617  !DLLEXPORT(cmfe_MeshElements_UserNumberGetObj)
45618 
45619  !Argument variables
45620  TYPE(cmfe_meshelementstype), INTENT(IN) :: meshElements
45621  INTEGER(INTG), INTENT(IN) :: elementGlobalNumber
45622  INTEGER(INTG), INTENT(OUT) :: elementUserNumber
45623  INTEGER(INTG), INTENT(OUT) :: err
45624  !Local variables
45625 
45626  enters("cmfe_MeshElements_UserNumberGetObj",err,error,*999)
45627 
45628  CALL meshelements_elementusernumberget(elementglobalnumber,elementusernumber,meshelements%meshElements, &
45629  & err,error,*999)
45630 
45631  exits("cmfe_MeshElements_UserNumberGetObj")
45632  RETURN
45633 999 errorsexits("cmfe_MeshElements_UserNumberGetObj",err,error)
45634  CALL cmfe_handleerror(err,error)
45635  RETURN
45636 
45637  END SUBROUTINE cmfe_meshelements_usernumbergetobj
45638 
45639  !
45640  !================================================================================================================================
45641  !
45642 
45644  SUBROUTINE cmfe_meshelements_usernumbersetnumber(regionUserNumber,meshUserNumber,meshComponentNumber,elementGlobalNumber, &
45645  & elementusernumber,err)
45646  !DLLEXPORT(cmfe_MeshElements_UserNumberSetNumber)
45647 
45648  !Argument variables
45649  INTEGER(INTG), INTENT(IN) :: regionUserNumber
45650  INTEGER(INTG), INTENT(IN) :: meshUserNumber
45651  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
45652  INTEGER(INTG), INTENT(IN) :: elementGlobalNumber
45653  INTEGER(INTG), INTENT(IN) :: elementUserNumber
45654  INTEGER(INTG), INTENT(OUT) :: err
45655  !Local variables
45656  TYPE(mesh_type), POINTER :: MESH
45657  TYPE(meshelementstype), POINTER :: MESH_ELEMENTS
45658  TYPE(region_type), POINTER :: REGION
45659  TYPE(varying_string) :: localError
45660 
45661  enters("cmfe_MeshElements_UserNumberSetNumber",err,error,*999)
45662 
45663  NULLIFY(region)
45664  NULLIFY(mesh)
45665  NULLIFY(mesh_elements)
45666  CALL region_user_number_find(regionusernumber,region,err,error,*999)
45667  IF(ASSOCIATED(region)) THEN
45668  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
45669  IF(ASSOCIATED(mesh)) THEN
45670  CALL mesh_topology_elements_get(mesh,meshcomponentnumber,mesh_elements,err,error,*999)
45671  CALL meshelements_elementusernumberset(elementglobalnumber,elementusernumber,mesh_elements,err,error,*999)
45672  ELSE
45673  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
45674  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
45675  CALL flagerror(localerror,err,error,*999)
45676  END IF
45677  ELSE
45678  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
45679  & " does not exist."
45680  CALL flagerror(localerror,err,error,*999)
45681  END IF
45682 
45683  exits("cmfe_MeshElements_UserNumberSetNumber")
45684  RETURN
45685 999 errorsexits("cmfe_MeshElements_UserNumberSetNumber",err,error)
45686  CALL cmfe_handleerror(err,error)
45687  RETURN
45688 
45690 
45691  !
45692  !================================================================================================================================
45693  !
45694 
45696  SUBROUTINE cmfe_meshelements_usernumbersetobj(meshElements,elementGlobalNumber,elementUserNumber,err)
45697  !DLLEXPORT(cmfe_MeshElements_UserNumberSetObj)
45698 
45699  !Argument variables
45700  TYPE(cmfe_meshelementstype), INTENT(IN) :: meshElements
45701  INTEGER(INTG), INTENT(IN) :: elementGlobalNumber
45702  INTEGER(INTG), INTENT(IN) :: elementUserNumber
45703  INTEGER(INTG), INTENT(OUT) :: err
45704  !Local variables
45705 
45706  enters("cmfe_MeshElements_UserNumberSetObj",err,error,*999)
45707 
45708  CALL meshelements_elementusernumberset(elementglobalnumber,elementusernumber,meshelements%meshElements, &
45709  & err,error,*999)
45710 
45711  exits("cmfe_MeshElements_UserNumberSetObj")
45712  RETURN
45713 999 errorsexits("cmfe_MeshElements_UserNumberSetObj",err,error)
45714  CALL cmfe_handleerror(err,error)
45715  RETURN
45716 
45717  END SUBROUTINE cmfe_meshelements_usernumbersetobj
45718 
45719  !
45720  !================================================================================================================================
45721  !
45722 
45724  SUBROUTINE cmfe_meshelements_usernumbersallsetnumber(regionUserNumber,meshUserNumber,meshComponentNumber, &
45725  & elementusernumbers,err)
45726  !DLLEXPORT(cmfe_MeshElements_UserNumbersAllSetNumber)
45727 
45728  !Argument variables
45729  INTEGER(INTG), INTENT(IN) :: regionUserNumber
45730  INTEGER(INTG), INTENT(IN) :: meshUserNumber
45731  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
45732  INTEGER(INTG), INTENT(IN) :: elementUserNumbers(:)
45733  INTEGER(INTG), INTENT(OUT) :: err
45734  !Local variables
45735  TYPE(mesh_type), POINTER :: MESH
45736  TYPE(meshelementstype), POINTER :: MESH_ELEMENTS
45737  TYPE(region_type), POINTER :: REGION
45738  TYPE(varying_string) :: localError
45739 
45740  enters("cmfe_MeshElements_UserNumbersAllSetNumber",err,error,*999)
45741 
45742  NULLIFY(region)
45743  NULLIFY(mesh)
45744  NULLIFY(mesh_elements)
45745  CALL region_user_number_find(regionusernumber,region,err,error,*999)
45746  IF(ASSOCIATED(region)) THEN
45747  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
45748  IF(ASSOCIATED(mesh)) THEN
45749  CALL mesh_topology_elements_get(mesh,meshcomponentnumber,mesh_elements,err,error,*999)
45750  CALL meshtopologyelementsusernumbersallset(mesh_elements,elementusernumbers,err,error,*999)
45751  ELSE
45752  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
45753  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
45754  CALL flagerror(localerror,err,error,*999)
45755  END IF
45756  ELSE
45757  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
45758  & " does not exist."
45759  CALL flagerror(localerror,err,error,*999)
45760  END IF
45761 
45762  exits("cmfe_MeshElements_UserNumbersAllSetNumber")
45763  RETURN
45764 999 errors("cmfe_MeshElements_AllUserNumbersAllSetNumber",err,error)
45765  exits("cmfe_MeshElements_AllUserNumbersAllSetNumber")
45766  CALL cmfe_handleerror(err,error)
45767  RETURN
45768 
45770 
45771  !
45772  !================================================================================================================================
45773  !
45774 
45776  SUBROUTINE cmfe_meshelements_usernumbersallsetobj(meshElements,elementUserNumbers,err)
45777  !DLLEXPORT(cmfe_MeshElements_UserNumbersAllSetObj)
45778 
45779  !Argument variables
45780  TYPE(cmfe_meshelementstype), INTENT(IN) :: meshElements
45781  INTEGER(INTG), INTENT(IN) :: elementUserNumbers(:)
45782  INTEGER(INTG), INTENT(OUT) :: err
45783  !Local variables
45784 
45785  enters("cmfe_MeshElements_UserNumbersAllSetObj",err,error,*999)
45786 
45787  CALL meshtopologyelementsusernumbersallset(meshelements%meshElements,elementusernumbers, &
45788  & err,error,*999)
45789 
45790  exits("cmfe_MeshElements_UserNumbersAllSetObj")
45791  RETURN
45792 999 errorsexits("cmfe_MeshElements_UserNumbersAllSetObj",err,error)
45793  CALL cmfe_handleerror(err,error)
45794  RETURN
45795 
45797 
45798  !
45799  !================================================================================================================================
45800  !
45801 
45802 
45804  SUBROUTINE cmfe_mesh_nodeexistsnumber( regionUserNumber, meshUserNumber, meshComponentNumber, nodeUserNumber, nodeExists, err )
45805  !DLLEXPORT(cmfe_Mesh_NodeExistsNumber)
45806 
45807  !Argument variables
45808  INTEGER(INTG), INTENT(IN) :: regionUserNumber
45809  INTEGER(INTG), INTENT(IN) :: meshUserNumber
45810  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
45811  INTEGER(INTG), INTENT(IN) :: nodeUserNumber
45812  LOGICAL, INTENT(OUT) :: nodeExists
45813  INTEGER(INTG), INTENT(OUT) :: err
45814  !Local variables
45815  TYPE(mesh_type), POINTER :: mesh
45816  TYPE(region_type), POINTER :: region
45817  INTEGER(INTG) :: meshNodeNumber
45818  TYPE(varying_string) :: localError
45819 
45820  enters("cmfe_Mesh_NodeExistsNumber",err,error,*999)
45821 
45822  nodeexists = .false.
45823 
45824  NULLIFY( region )
45825  NULLIFY( mesh )
45826  CALL region_user_number_find( regionusernumber, region, err, error, *999 )
45827  IF(ASSOCIATED(region)) THEN
45828  CALL mesh_user_number_find( meshusernumber, region, mesh, err, error, *999 )
45829  IF( ASSOCIATED( mesh ) ) THEN
45830  CALL meshtopologynodecheckexists(mesh,meshcomponentnumber,nodeusernumber,nodeexists,meshnodenumber,err,error,*999)
45831  ELSE
45832  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
45833  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
45834  CALL flagerror(localerror,err,error,*999)
45835  END IF
45836  ELSE
45837  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
45838  & " does not exist."
45839  CALL flagerror(localerror,err,error,*999)
45840  END IF
45841 
45842  exits("cmfe_Mesh_NodeExistsNumber")
45843  RETURN
45844 999 errorsexits("cmfe_Mesh_NodeExistsNumber",err,error)
45845  CALL cmfe_handleerror(err,error)
45846  RETURN
45847 
45848  END SUBROUTINE cmfe_mesh_nodeexistsnumber
45849 
45850  !
45851  !================================================================================================================================
45852  !
45853 
45855  SUBROUTINE cmfe_mesh_nodeexistsobj( mesh, meshComponentNumber, nodeUserNumber, nodeExists, err )
45856  !DLLEXPORT(cmfe_Mesh_NodeExistsObj)
45857 
45858  !Argument variables
45859  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
45860  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
45861  INTEGER(INTG), INTENT(IN) :: nodeUserNumber
45862  LOGICAL, INTENT(OUT) :: nodeExists
45863  INTEGER(INTG), INTENT(OUT) :: err
45864  !Local variables
45865  INTEGER(INTG) :: meshNodeNumber
45866 
45867  nodeexists = .false.
45868 
45869  enters("cmfe_Mesh_NodeExistsObj",err,error,*999)
45870 
45871  CALL meshtopologynodecheckexists(mesh%mesh,meshcomponentnumber,nodeusernumber,nodeexists,meshnodenumber,err,error,*999)
45872 
45873  exits("cmfe_Mesh_NodeExistsObj")
45874  RETURN
45875 999 errorsexits("cmfe_Mesh_NodeExistsObj",err,error)
45876  CALL cmfe_handleerror(err,error)
45877  RETURN
45878 
45879  END SUBROUTINE cmfe_mesh_nodeexistsobj
45880 
45881  !
45882  !================================================================================================================================
45883  !
45884 
45886  SUBROUTINE cmfe_mesh_elementexistsnumber( regionUserNumber, meshUserNumber, meshComponentNumber, &
45887  & elementusernumber, elementexists, err )
45888  !DLLEXPORT(cmfe_Mesh_ElementExistsNumber)
45889 
45890  !Argument variables
45891  INTEGER(INTG), INTENT(IN) :: regionUserNumber
45892  INTEGER(INTG), INTENT(IN) :: meshUserNumber
45893  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
45894  INTEGER(INTG), INTENT(IN) :: elementUserNumber
45895  LOGICAL, INTENT(OUT) :: elementExists
45896  INTEGER(INTG), INTENT(OUT) :: err
45897 
45898  !Local variables
45899  TYPE(mesh_type), POINTER :: Mesh
45900  TYPE(region_type), POINTER :: Region
45901  INTEGER(INTG) :: meshElementNumber
45902  TYPE(varying_string) :: LocalError
45903 
45904  enters("cmfe_Mesh_ElementExistsNumber",err,error,*999)
45905 
45906  elementexists = .false.
45907 
45908  NULLIFY( region )
45909  NULLIFY( mesh )
45910  CALL region_user_number_find( regionusernumber, region, err, error, *999 )
45911  IF( ASSOCIATED( region ) ) THEN
45912  CALL mesh_user_number_find( meshusernumber, region, mesh, err, error, *999 )
45913  IF( ASSOCIATED( mesh ) ) THEN
45914  CALL meshtopologyelementcheckexists(mesh,meshcomponentnumber,elementusernumber,elementexists, &
45915  & meshelementnumber,err,error,*999)
45916  ELSE
45917  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
45918  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
45919  CALL flagerror(localerror,err,error,*999)
45920  END IF
45921  ELSE
45922  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
45923  & " does not exist."
45924  CALL flagerror(localerror,err,error,*999)
45925  END IF
45926 
45927  exits("cmfe_Mesh_ElementExistsNumber")
45928  RETURN
45929 999 errorsexits("cmfe_Mesh_ElementExistsNumber",err,error)
45930  CALL cmfe_handleerror(err,error)
45931  RETURN
45932 
45933  END SUBROUTINE cmfe_mesh_elementexistsnumber
45934 
45935  !
45936  !================================================================================================================================
45937  !
45938 
45940  SUBROUTINE cmfe_mesh_elementexistsobj( mesh, meshComponentNumber, elementUserNumber, elementExists, err )
45941  !DLLEXPORT(cmfe_Mesh_ElementExistsObj)
45942 
45943  !Argument variables
45944  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
45945  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
45946  INTEGER(INTG), INTENT(IN) :: elementUserNumber
45947  LOGICAL, INTENT(OUT) :: elementExists
45948  INTEGER(INTG), INTENT(OUT) :: err
45949 
45950  !Local variables
45951  INTEGER(INTG) :: meshElementNumber
45952 
45953  enters("cmfe_Mesh_ElementExistsObj",err,error,*999)
45954 
45955  elementexists = .false.
45956 
45957  CALL meshtopologyelementcheckexists(mesh%mesh,meshcomponentnumber,elementusernumber,elementexists,meshelementnumber, &
45958  & err,error,*999)
45959 
45960  exits("cmfe_Mesh_ElementExistsObj")
45961  RETURN
45962 999 errorsexits("cmfe_Mesh_ElementExistsObj",err,error)
45963  CALL cmfe_handleerror(err,error)
45964  RETURN
45965 
45966  END SUBROUTINE cmfe_mesh_elementexistsobj
45967 
45968  !
45969  !================================================================================================================================
45970  !
45971 
45973  SUBROUTINE cmfe_mesh_nodesgetnumber(regionUserNumber,meshUserNumber,meshComponentNumber,meshNodes,err)
45974  !DLLEXPORT(cmfe_Mesh_NodesGetNumber)
45975 
45976  !Argument variables
45977  INTEGER(INTG), INTENT(IN) :: regionUserNumber
45978  INTEGER(INTG), INTENT(IN) :: meshUserNumber
45979  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
45980  TYPE(cmfe_meshnodestype), INTENT(INOUT) :: meshNodes
45981  INTEGER(INTG), INTENT(OUT) :: err
45982  !Local variables
45983  TYPE(mesh_type), POINTER :: mesh
45984  TYPE(region_type), POINTER :: region
45985  TYPE(varying_string) :: localError
45986 
45987  enters("cmfe_Mesh_NodesGetNumber",err,error,*999)
45988 
45989  NULLIFY(region)
45990  NULLIFY(mesh)
45991  CALL region_user_number_find(regionusernumber,region,err,error,*999)
45992  IF(ASSOCIATED(region)) THEN
45993  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
45994  IF(ASSOCIATED(mesh)) THEN
45995  CALL meshtopologynodesget(mesh,meshcomponentnumber,meshnodes%meshNodes,err,error,*999)
45996  ELSE
45997  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
45998  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
45999  CALL flagerror(localerror,err,error,*999)
46000  END IF
46001  ELSE
46002  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
46003  & " does not exist."
46004  CALL flagerror(localerror,err,error,*999)
46005  END IF
46006 
46007  exits("cmfe_Mesh_NodesGetNumber")
46008  RETURN
46009 999 errorsexits("cmfe_Mesh_NodesGetNumber",err,error)
46010  CALL cmfe_handleerror(err,error)
46011  RETURN
46012 
46013  END SUBROUTINE cmfe_mesh_nodesgetnumber
46014 
46015 
46016  !
46017  !================================================================================================================================
46018  !
46019 
46021  SUBROUTINE cmfe_mesh_nodesgetobj(mesh,meshComponentNumber,meshNodes,err)
46022  !DLLEXPORT(cmfe_Mesh_NodesGetObj)
46023 
46024  !Argument variables
46025  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
46026  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
46027  TYPE(cmfe_meshnodestype), INTENT(INOUT) :: meshNodes
46028  INTEGER(INTG), INTENT(OUT) :: err
46029  !Local variables
46030 
46031  enters("cmfe_Mesh_NodesGetObj",err,error,*999)
46032 
46033  CALL meshtopologynodesget(mesh%mesh,meshcomponentnumber,meshnodes%meshNodes,err,error,*999)
46034 
46035  exits("cmfe_Mesh_NodesGetObj")
46036  RETURN
46037 999 errorsexits("cmfe_Mesh_NodesGetObj",err,error)
46038  CALL cmfe_handleerror(err,error)
46039  RETURN
46040 
46041  END SUBROUTINE cmfe_mesh_nodesgetobj
46042 
46043  !
46044  !================================================================================================================================
46045  !
46046 
46048  SUBROUTINE cmfe_meshnodes_numberofnodesgetnumber(regionUserNumber,meshUserNumber,meshComponentNumber,numberOfNodes,err)
46049  !DLLEXPORT(cmfe_MeshNodes_NumberOfNodesGetNumber)
46050 
46051  !Argument variables
46052  INTEGER(INTG), INTENT(IN) :: regionUserNumber
46053  INTEGER(INTG), INTENT(IN) :: meshUserNumber
46054  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
46055  INTEGER(INTG), INTENT(OUT) :: numberOfNodes
46056  INTEGER(INTG), INTENT(OUT) :: err
46057  !Local variables
46058  TYPE(mesh_type), POINTER :: mesh
46059  TYPE(meshnodestype), POINTER :: meshNodes
46060  TYPE(region_type), POINTER :: region
46061  TYPE(varying_string) :: localError
46062 
46063  enters("cmfe_MeshNodes_NumberOfNodesGetNumber",err,error,*999)
46064 
46065  NULLIFY(region)
46066  NULLIFY(mesh)
46067  NULLIFY(meshnodes)
46068  CALL region_user_number_find(regionusernumber,region,err,error,*999)
46069  IF(ASSOCIATED(region)) THEN
46070  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
46071  IF(ASSOCIATED(mesh)) THEN
46072  CALL meshtopologynodesget(mesh,meshcomponentnumber,meshnodes,err,error,*999)
46073  CALL meshtopologynodesnumberofnodesget(meshnodes,numberofnodes,err,error,*999)
46074  ELSE
46075  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
46076  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
46077  CALL flagerror(localerror,err,error,*999)
46078  END IF
46079  ELSE
46080  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
46081  & " does not exist."
46082  CALL flagerror(localerror,err,error,*999)
46083  END IF
46084 
46085  exits("cmfe_MeshNodes_NumberOfNodesGetNumber")
46086  RETURN
46087 999 errorsexits("cmfe_MeshNodes_NumberOfNodesGetNumber",err,error)
46088  CALL cmfe_handleerror(err,error)
46089  RETURN
46090 
46092 
46093  !
46094  !================================================================================================================================
46095  !
46096 
46098  SUBROUTINE cmfe_meshnodes_numberofnodesgetobj(meshNodes,numberOfNodes,err)
46099  !DLLEXPORT(cmfe_MeshNodes_NumberOfNodesGetObj)
46100 
46101  !Argument variables
46102  TYPE(cmfe_meshnodestype), INTENT(IN) :: meshNodes
46103  INTEGER(INTG), INTENT(OUT) :: numberOfNodes
46104  INTEGER(INTG), INTENT(OUT) :: err
46105  !Local variables
46106 
46107  enters("cmfe_MeshNodes_NumberOfNodesGetObj",err,error,*999)
46108 
46109  CALL meshtopologynodesnumberofnodesget(meshnodes%meshNodes,numberofnodes,err,error,*999)
46110 
46111  exits("cmfe_MeshNodes_NumberOfNodesGetObj")
46112  RETURN
46113 999 errorsexits("cmfe_MeshNodes_NumberOfNodesGetObj",err,error)
46114  CALL cmfe_handleerror(err,error)
46115  RETURN
46116 
46117  END SUBROUTINE cmfe_meshnodes_numberofnodesgetobj
46118 
46119  !
46120  !================================================================================================================================
46121  !
46123  SUBROUTINE cmfe_meshnodes_numberofderivativesgetnumber(regionUserNumber,meshUserNumber,meshComponentNumber,userNodeNumber, &
46124  & numberofderivatives,err)
46125  !DLLEXPORT(cmfe_MeshNodes_NumberOfDerivativesGetNumber)
46126 
46127  !Argument variables
46128  INTEGER(INTG), INTENT(IN) :: regionUserNumber
46129  INTEGER(INTG), INTENT(IN) :: meshUserNumber
46130  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
46131  INTEGER(INTG), INTENT(IN) :: userNodeNumber
46132  INTEGER(INTG), INTENT(OUT) :: numberOfDerivatives
46133  INTEGER(INTG), INTENT(OUT) :: err
46134  !Local variables
46135  TYPE(mesh_type), POINTER :: mesh
46136  TYPE(meshnodestype), POINTER :: meshNodes
46137  TYPE(region_type), POINTER :: region
46138  TYPE(varying_string) :: localError
46139 
46140  enters("cmfe_MeshNodes_NumberOfDerivativesGetNumber",err,error,*999)
46141 
46142  NULLIFY(region)
46143  NULLIFY(mesh)
46144  NULLIFY(meshnodes)
46145  CALL region_user_number_find(regionusernumber,region,err,error,*999)
46146  IF(ASSOCIATED(region)) THEN
46147  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
46148  IF(ASSOCIATED(mesh)) THEN
46149  CALL meshtopologynodesget(mesh,meshcomponentnumber,meshnodes,err,error,*999)
46150  CALL meshtopologynodenumberofderivativesget(meshnodes,usernodenumber,numberofderivatives,err,error,*999)
46151  ELSE
46152  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
46153  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
46154  CALL flagerror(localerror,err,error,*999)
46155  END IF
46156  ELSE
46157  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
46158  & " does not exist."
46159  CALL flagerror(localerror,err,error,*999)
46160  END IF
46161 
46162  exits("cmfe_MeshNodes_NumberOfDerivativesGetNumber")
46163  RETURN
46164 999 errorsexits("cmfe_MeshNodes_NumberOfDerivativesGetNumber",err,error)
46165  CALL cmfe_handleerror(err,error)
46166  RETURN
46167 
46169 
46170  !
46171  !================================================================================================================================
46172  !
46173 
46175  SUBROUTINE cmfe_meshnodes_numberofderivativesgetobj(meshNodes,userNodeNumber,numberOfDerivatives,err)
46176  !DLLEXPORT(cmfe_MeshNodes_NumberOfDerivativesGetObj)
46177 
46178  !Argument variables
46179  TYPE(cmfe_meshnodestype), INTENT(IN) :: meshNodes
46180  INTEGER(INTG), INTENT(IN) :: userNodeNumber
46181  INTEGER(INTG), INTENT(OUT) :: numberOfDerivatives
46182  INTEGER(INTG), INTENT(OUT) :: err
46183  !Local variables
46184 
46185  enters("cmfe_MeshNodes_NumberOfDerivativesGetObj",err,error,*999)
46186 
46187  CALL meshtopologynodenumberofderivativesget(meshnodes%meshNodes,usernodenumber,numberofderivatives,err,error,*999)
46188 
46189  exits("cmfe_MeshNodes_NumberOfDerivativesGetObj")
46190  RETURN
46191 999 errorsexits("cmfe_MeshNodes_NumberOfDerivativesGetObj",err,error)
46192  CALL cmfe_handleerror(err,error)
46193  RETURN
46194 
46196 
46197  !
46198  !================================================================================================================================
46199  !
46200 
46202  SUBROUTINE cmfe_meshnodes_derivativesgetnumber(regionUserNumber,meshUserNumber,meshComponentNumber,userNodeNumber, &
46203  & derivatives,err)
46204  !DLLEXPORT(cmfe_MeshNodes_DerivativesGetNumber)
46205 
46206  !Argument variables
46207  INTEGER(INTG), INTENT(IN) :: regionUserNumber
46208  INTEGER(INTG), INTENT(IN) :: meshUserNumber
46209  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
46210  INTEGER(INTG), INTENT(IN) :: userNodeNumber
46211  INTEGER(INTG), INTENT(OUT) :: derivatives(:)
46212  INTEGER(INTG), INTENT(OUT) :: err
46213  !Local variables
46214  TYPE(mesh_type), POINTER :: mesh
46215  TYPE(meshnodestype), POINTER :: meshNodes
46216  TYPE(region_type), POINTER :: region
46217  TYPE(varying_string) :: localError
46218 
46219  enters("cmfe_MeshNodes_DerivativesGetNumber",err,error,*999)
46220 
46221  NULLIFY(region)
46222  NULLIFY(mesh)
46223  NULLIFY(meshnodes)
46224  CALL region_user_number_find(regionusernumber,region,err,error,*999)
46225  IF(ASSOCIATED(region)) THEN
46226  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
46227  IF(ASSOCIATED(mesh)) THEN
46228  CALL meshtopologynodesget(mesh,meshcomponentnumber,meshnodes,err,error,*999)
46229  CALL meshtopologynodederivativesget(meshnodes,usernodenumber,derivatives,err,error,*999)
46230  ELSE
46231  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
46232  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
46233  CALL flagerror(localerror,err,error,*999)
46234  END IF
46235  ELSE
46236  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
46237  & " does not exist."
46238  CALL flagerror(localerror,err,error,*999)
46239  END IF
46240 
46241  exits("cmfe_MeshNodes_DerivativesGetNumber")
46242  RETURN
46243 999 errorsexits("cmfe_MeshNodes_DerivativesGetNumber",err,error)
46244  CALL cmfe_handleerror(err,error)
46245  RETURN
46246 
46248 
46249  !
46250  !================================================================================================================================
46251  !
46252 
46254  SUBROUTINE cmfe_meshnodes_derivativesgetobj(meshNodes,userNodeNumber,derivatives,err)
46255  !DLLEXPORT(cmfe_MeshNodes_DerivativesGetObj)
46256 
46257  !Argument variables
46258  TYPE(cmfe_meshnodestype), INTENT(IN) :: meshNodes
46259  INTEGER(INTG), INTENT(IN) :: userNodeNumber
46260  INTEGER(INTG), INTENT(OUT) :: derivatives(:)
46261  INTEGER(INTG), INTENT(OUT) :: err
46262  !Local variables
46263 
46264  enters("cmfe_MeshNodes_DerivativesGetObj",err,error,*999)
46265 
46266  CALL meshtopologynodederivativesget(meshnodes%meshNodes,usernodenumber,derivatives,err,error,*999)
46267 
46268  exits("cmfe_MeshNodes_DerivativesGetObj")
46269  RETURN
46270 999 errorsexits("cmfe_MeshNodes_DerivativesGetObj",err,error)
46271  CALL cmfe_handleerror(err,error)
46272  RETURN
46273 
46274  END SUBROUTINE cmfe_meshnodes_derivativesgetobj
46275 
46276  !
46277  !================================================================================================================================
46278  !
46279 
46281  SUBROUTINE cmfe_meshnodes_numberofversionsgetnumber(regionUserNumber,meshUserNumber,meshComponentNumber,derivativeNumber, &
46282  & usernodenumber,numberofversions,err)
46283  !DLLEXPORT(cmfe_MeshNodes_NumberOfVersionsGetNumber)
46284 
46285  !Argument variables
46286  INTEGER(INTG), INTENT(IN) :: regionUserNumber
46287  INTEGER(INTG), INTENT(IN) :: meshUserNumber
46288  INTEGER(INTG), INTENT(IN) :: meshComponentNumber
46289  INTEGER(INTG), INTENT(IN) :: derivativeNumber
46290  INTEGER(INTG), INTENT(IN) :: userNodeNumber
46291  INTEGER(INTG), INTENT(OUT) :: numberOfVersions
46292  INTEGER(INTG), INTENT(OUT) :: err
46293  !Local variables
46294  TYPE(mesh_type), POINTER :: mesh
46295  TYPE(meshnodestype), POINTER :: meshNodes
46296  TYPE(region_type), POINTER :: region
46297  TYPE(varying_string) :: localError
46298 
46299  enters("cmfe_MeshNodes_NumberOfVersionsGetNumber",err,error,*999)
46300 
46301  NULLIFY(region)
46302  NULLIFY(mesh)
46303  NULLIFY(meshnodes)
46304  CALL region_user_number_find(regionusernumber,region,err,error,*999)
46305  IF(ASSOCIATED(region)) THEN
46306  CALL mesh_user_number_find(meshusernumber,region,mesh,err,error,*999)
46307  IF(ASSOCIATED(mesh)) THEN
46308  CALL meshtopologynodesget(mesh,meshcomponentnumber,meshnodes,err,error,*999)
46309  CALL meshtopologynodenumberofversionsget(meshnodes,derivativenumber,usernodenumber,numberofversions,err,error,*999)
46310  ELSE
46311  localerror="A mesh with an user number of "//trim(numbertovstring(meshusernumber,"*",err,error))// &
46312  & " does not exist on the region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
46313  CALL flagerror(localerror,err,error,*999)
46314  END IF
46315  ELSE
46316  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
46317  & " does not exist."
46318  CALL flagerror(localerror,err,error,*999)
46319  END IF
46320 
46321  exits("cmfe_MeshNodes_NumberOfVersionsGetNumber")
46322  RETURN
46323 999 errorsexits("cmfe_MeshNodes_NumberOfVersionsGetNumber",err,error)
46324  CALL cmfe_handleerror(err,error)
46325  RETURN
46326 
46328 
46329  !
46330  !================================================================================================================================
46331  !
46332 
46334  SUBROUTINE cmfe_meshnodes_numberofversionsgetobj(meshNodes,derivativeNumber,userNodeNumber,numberOfVersions,err)
46335  !DLLEXPORT(cmfe_MeshNodes_NumberOfVersionsGetObj)
46336 
46337  !Argument variables
46338  TYPE(cmfe_meshnodestype), INTENT(IN) :: meshNodes
46339  INTEGER(INTG), INTENT(IN) :: derivativeNumber
46340  INTEGER(INTG), INTENT(IN) :: userNodeNumber
46341  INTEGER(INTG), INTENT(OUT) :: numberOfVersions
46342  INTEGER(INTG), INTENT(OUT) :: err
46343  !Local variables
46344 
46345  enters("cmfe_MeshNodes_NumberOfVersionsGetObj",err,error,*999)
46346 
46347  CALL meshtopologynodenumberofversionsget(meshnodes%meshNodes,derivativenumber,usernodenumber, &
46348  & numberofversions,err,error,*999)
46349 
46350  exits("cmfe_MeshNodes_NumberOfVersionsGetObj")
46351  RETURN
46352 999 errorsexits("cmfe_MeshNodes_NumberOfVersionsGetObj",err,error)
46353  CALL cmfe_handleerror(err,error)
46354  RETURN
46355 
46357 
46358 !!==================================================================================================================================
46359 !!
46360 !! DISTRIBUTED_MATRIX_VECTOR
46361 !!
46362 !!==================================================================================================================================
46363 
46365  SUBROUTINE cmfe_distributedmatrix_storagetypegetobj(matrix,storageType,err)
46366  !DLLEXPORT(cmfe_DistributedMatrix_StorageTypeGetObj)
46367 
46368  !Argument variables
46369  TYPE(cmfe_distributedmatrixtype), INTENT(IN) :: matrix
46370  INTEGER(INTG), INTENT(OUT) :: storageType
46371  INTEGER(INTG), INTENT(OUT) :: err
46372 
46373  enters("cmfe_DistributedMatrix_StorageTypeGetObj",err,error,*999)
46374 
46375  CALL distributed_matrix_storage_type_get(matrix%distributedMatrix,storagetype,err,error,*999)
46376 
46377  exits("cmfe_DistributedMatrix_StorageTypeGetObj")
46378 
46379  RETURN
46380 999 errorsexits("cmfe_DistributedMatrix_StorageTypeGetObj",err,error)
46381  CALL cmfe_handleerror(err,error)
46382  RETURN
46383 
46385 
46386  !
46387  !================================================================================================================================
46388  !
46389 
46391  SUBROUTINE cmfe_distributedmatrix_datatypegetobj(matrix,dataType,err)
46392  !DLLEXPORT(cmfe_DistributedMatrix_DataTypeGetObj)
46393 
46394  !Argument variables
46395  TYPE(cmfe_distributedmatrixtype), INTENT(IN) :: matrix
46396  INTEGER(INTG), INTENT(OUT) :: dataType
46397  INTEGER(INTG), INTENT(OUT) :: err
46398 
46399  enters("cmfe_DistributedMatrix_DataTypeGetObj",err,error,*999)
46400 
46401  CALL distributedmatrix_datatypeget(matrix%distributedMatrix,datatype,err,error,*999)
46402 
46403  exits("cmfe_DistributedMatrix_DataTypeGetObj")
46404 
46405  RETURN
46406 999 errorsexits("cmfe_DistributedMatrix_DataTypeGetObj",err,error)
46407  CALL cmfe_handleerror(err,error)
46408  RETURN
46409 
46411 
46412  !
46413  !================================================================================================================================
46414  !
46415 
46417  SUBROUTINE cmfe_distributedmatrix_dimensionsgetobj(matrix,m,n,err)
46418  !DLLEXPORT(cmfe_DistributedMatrix_DimensionsGetObj)
46419 
46420  !Argument variables
46421  TYPE(cmfe_distributedmatrixtype), INTENT(IN) :: matrix
46422  INTEGER(INTG), INTENT(OUT) :: m
46423  INTEGER(INTG), INTENT(OUT) :: n
46424  INTEGER(INTG), INTENT(OUT) :: err
46425 
46426  enters("cmfe_DistributedMatrix_DimensionsGetObj",err,error,*999)
46427 
46428  CALL distributedmatrix_dimensionsget(matrix%distributedMatrix,m,n,err,error,*999)
46429 
46430  exits("cmfe_DistributedMatrix_DimensionsGetObj")
46431 
46432  RETURN
46433 999 errorsexits("cmfe_DistributedMatrix_DimensionsGetObj",err,error)
46434  CALL cmfe_handleerror(err,error)
46435  RETURN
46436 
46438 
46439  !
46440  !================================================================================================================================
46441  !
46442 
46444  SUBROUTINE cmfe_distributedmatrix_storagelocationsgetobj(matrix,rowIndices,columnIndices,err)
46445  !DLLEXPORT(cmfe_DistributedMatrix_StorageLocationsGetObj)
46446 
46447  !Argument variables
46448  TYPE(cmfe_distributedmatrixtype), INTENT(IN) :: matrix
46449  INTEGER(INTG), POINTER, INTENT(OUT) :: rowIndices(:)
46450  INTEGER(INTG), POINTER, INTENT(OUT) :: columnIndices(:)
46451  INTEGER(INTG), INTENT(OUT) :: err
46452 
46453  enters("cmfe_DistributedMatrix_StorageLocationsGetObj",err,error,*999)
46454 
46455  CALL distributed_matrix_storage_locations_get(matrix%distributedMatrix,rowindices,columnindices,err,error,*999)
46456 
46457  exits("cmfe_DistributedMatrix_StorageLocationsGetObj")
46458 
46459  RETURN
46460 999 errors("cmfe_DistributedMatrix_StorageLocationsGetObj",err,error)
46461  exits("cmfe_DistributedMatrix_StorageLocationsGetObj")
46462  CALL cmfe_handleerror(err,error)
46463  RETURN
46464 
46466 
46467  !
46468  !================================================================================================================================
46469  !
46470 
46472  SUBROUTINE cmfe_distributedmatrix_datagetintgobj(matrix,data,err)
46473  !DLLEXPORT(cmfe_DistributedMatrix_DataGetIntgObj)
46474 
46475  !Argument variables
46476  TYPE(cmfe_distributedmatrixtype), INTENT(IN) :: matrix
46477  INTEGER(INTG), POINTER, INTENT(OUT) :: data(:)
46478  INTEGER(INTG), INTENT(OUT) :: err
46479 
46480  enters("cmfe_DistributedMatrix_DataGetIntgObj",err,error,*999)
46481 
46482  CALL distributed_matrix_data_get(matrix%distributedMatrix,data,err,error,*999)
46483 
46484  exits("cmfe_DistributedMatrix_DataGetIntgObj")
46485 
46486  RETURN
46487 999 errorsexits("cmfe_DistributedMatrix_DataGetIntgObj",err,error)
46488  CALL cmfe_handleerror(err,error)
46489  RETURN
46490 
46492 
46493  !
46494  !================================================================================================================================
46495  !
46496 
46498  SUBROUTINE cmfe_distributedmatrix_datarestoreintgobj(matrix,data,err)
46499  !DLLEXPORT(cmfe_DistributedMatrix_DataRestoreIntgObj)
46500 
46501  !Argument variables
46502  TYPE(cmfe_distributedmatrixtype), INTENT(IN) :: matrix
46503  INTEGER(INTG), POINTER, INTENT(INOUT) :: data(:)
46504  INTEGER(INTG), INTENT(OUT) :: err
46505 
46506  enters("cmfe_DistributedMatrix_DataRestoreIntgObj",err,error,*999)
46507 
46508  CALL distributed_matrix_data_restore(matrix%distributedMatrix,data,err,error,*999)
46509 
46510  exits("cmfe_DistributedMatrix_DataRestoreIntgObj")
46511 
46512  RETURN
46513 999 errorsexits("cmfe_DistributedMatrix_DataRestoreIntgObj",err,error)
46514  CALL cmfe_handleerror(err,error)
46515  RETURN
46516 
46518 
46519  !
46520  !================================================================================================================================
46521  !
46522 
46524  SUBROUTINE cmfe_distributedmatrix_datagetdpobj(matrix,data,err)
46525  !DLLEXPORT(cmfe_DistributedMatrix_DataGetDPObj)
46526 
46527  !Argument variables
46528  TYPE(cmfe_distributedmatrixtype), INTENT(IN) :: matrix
46529  REAL(DP), POINTER, INTENT(OUT) :: data(:)
46530  INTEGER(INTG), INTENT(OUT) :: err
46531 
46532  enters("cmfe_DistributedMatrix_DataGetDPObj",err,error,*999)
46533 
46534  CALL distributed_matrix_data_get(matrix%distributedMatrix,data,err,error,*999)
46535 
46536  exits("cmfe_DistributedMatrix_DataGetDPObj")
46537 
46538  RETURN
46539 999 errorsexits("cmfe_DistributedMatrix_DataGetDPObj",err,error)
46540  CALL cmfe_handleerror(err,error)
46541  RETURN
46542 
46544 
46545  !
46546  !================================================================================================================================
46547  !
46548 
46550  SUBROUTINE cmfe_distributedmatrix_datarestoredpobj(matrix,data,err)
46551  !DLLEXPORT(cmfe_DistributedMatrix_DataRestoreDPObj)
46552 
46553  !Argument variables
46554  TYPE(cmfe_distributedmatrixtype), INTENT(IN) :: matrix
46555  REAL(DP), POINTER, INTENT(INOUT) :: data(:)
46556  INTEGER(INTG), INTENT(OUT) :: err
46557 
46558  enters("cmfe_DistributedMatrix_DataRestoreDPObj",err,error,*999)
46559 
46560  CALL distributed_matrix_data_restore(matrix%distributedMatrix,data,err,error,*999)
46561 
46562  exits("cmfe_DistributedMatrix_DataRestoreDPObj")
46563 
46564  RETURN
46565 999 errorsexits("cmfe_DistributedMatrix_DataRestoreDPObj",err,error)
46566  CALL cmfe_handleerror(err,error)
46567  RETURN
46568 
46570 
46571  !
46572  !================================================================================================================================
46573  !
46574 
46576  SUBROUTINE cmfe_distributedmatrix_datagetspobj(matrix,data,err)
46577  !DLLEXPORT(cmfe_DistributedMatrix_DataGetSPObj)
46578 
46579  !Argument variables
46580  TYPE(cmfe_distributedmatrixtype), INTENT(IN) :: matrix
46581  REAL(SP), POINTER, INTENT(OUT) :: data(:)
46582  INTEGER(INTG), INTENT(OUT) :: err
46583 
46584  enters("cmfe_DistributedMatrix_DataGetSPObj",err,error,*999)
46585 
46586  CALL distributed_matrix_data_get(matrix%distributedMatrix,data,err,error,*999)
46587 
46588  exits("cmfe_DistributedMatrix_DataGetSPObj")
46589 
46590  RETURN
46591 999 errorsexits("cmfe_DistributedMatrix_DataGetSPObj",err,error)
46592  CALL cmfe_handleerror(err,error)
46593  RETURN
46594 
46596 
46597  !
46598  !================================================================================================================================
46599  !
46600 
46602  SUBROUTINE cmfe_distributedmatrix_datarestorespobj(matrix,data,err)
46603  !DLLEXPORT(cmfe_DistributedMatrix_DataRestoreSPObj)
46604 
46605  !Argument variables
46606  TYPE(cmfe_distributedmatrixtype), INTENT(IN) :: matrix
46607  REAL(SP), POINTER, INTENT(INOUT) :: data(:)
46608  INTEGER(INTG), INTENT(OUT) :: err
46609 
46610  enters("cmfe_DistributedMatrix_DataRestoreSPObj",err,error,*999)
46611 
46612  CALL distributed_matrix_data_restore(matrix%distributedMatrix,data,err,error,*999)
46613 
46614  exits("cmfe_DistributedMatrix_DataRestoreSPObj")
46615 
46616  RETURN
46617 999 errorsexits("cmfe_DistributedMatrix_DataRestoreSPObj",err,error)
46618  CALL cmfe_handleerror(err,error)
46619  RETURN
46620 
46622 
46623  !
46624  !================================================================================================================================
46625  !
46626 
46628  SUBROUTINE cmfe_distributedmatrix_datagetlobj(matrix,data,err)
46629  !DLLEXPORT(cmfe_DistributedMatrix_DataGetLObj)
46630 
46631  !Argument variables
46632  TYPE(cmfe_distributedmatrixtype), INTENT(IN) :: matrix
46633  LOGICAL, POINTER, INTENT(OUT) :: data(:)
46634  INTEGER(INTG), INTENT(OUT) :: err
46635 
46636  enters("cmfe_DistributedMatrix_DataGetLObj",err,error,*999)
46637 
46638  CALL distributed_matrix_data_get(matrix%distributedMatrix,data,err,error,*999)
46639 
46640  exits("cmfe_DistributedMatrix_DataGetLObj")
46641 
46642  RETURN
46643 999 errorsexits("cmfe_DistributedMatrix_DataGetLObj",err,error)
46644  CALL cmfe_handleerror(err,error)
46645  RETURN
46646 
46647  END SUBROUTINE cmfe_distributedmatrix_datagetlobj
46648 
46649  !
46650  !================================================================================================================================
46651  !
46652 
46654  SUBROUTINE cmfe_distributedmatrix_datarestorelobj(matrix,data,err)
46655  !DLLEXPORT(cmfe_DistributedMatrix_DataRestoreLObj)
46656 
46657  !Argument variables
46658  TYPE(cmfe_distributedmatrixtype), INTENT(IN) :: matrix
46659  LOGICAL, POINTER, INTENT(INOUT) :: data(:)
46660  INTEGER(INTG), INTENT(OUT) :: err
46661 
46662  enters("cmfe_DistributedMatrix_DataRestoreLObj",err,error,*999)
46663 
46664  CALL distributed_matrix_data_restore(matrix%distributedMatrix,data,err,error,*999)
46665 
46666  exits("cmfe_DistributedMatrix_DataRestoreLObj")
46667 
46668  RETURN
46669 999 errorsexits("cmfe_DistributedMatrix_DataRestoreLObj",err,error)
46670  CALL cmfe_handleerror(err,error)
46671  RETURN
46672 
46674 
46675  !
46676  !================================================================================================================================
46677  !
46678 
46680  SUBROUTINE cmfe_distributedvector_datatypegetobj(vector,dataType,err)
46681  !DLLEXPORT(cmfe_DistributedVector_DataTypeGetObj)
46682 
46683  !Argument variables
46684  TYPE(cmfe_distributedvectortype), INTENT(IN) :: vector
46685  INTEGER(INTG), INTENT(OUT) :: dataType
46686  INTEGER(INTG), INTENT(OUT) :: err
46687 
46688  enters("cmfe_DistributedVector_DataTypeGetObj",err,error,*999)
46689 
46690  CALL distributedvector_datatypeget(vector%distributedVector,datatype,err,error,*999)
46691 
46692  exits("cmfe_DistributedVector_DataTypeGetObj")
46693 
46694  RETURN
46695 999 errorsexits("cmfe_DistributedVector_DataTypeGetObj",err,error)
46696  CALL cmfe_handleerror(err,error)
46697  RETURN
46698 
46700 
46701  !
46702  !================================================================================================================================
46703  !
46704 
46706  SUBROUTINE cmfe_distributedvector_datagetintgobj(vector,data,err)
46707  !DLLEXPORT(cmfe_DistributedVector_DataGetIntgObj)
46708 
46709  !Argument variables
46710  TYPE(cmfe_distributedvectortype), INTENT(IN) :: vector
46711  INTEGER(INTG), POINTER, INTENT(OUT) :: data(:)
46712  INTEGER(INTG), INTENT(OUT) :: err
46713 
46714  enters("cmfe_DistributedVector_DataGetIntgObj",err,error,*999)
46715 
46716  CALL distributed_vector_data_get(vector%distributedVector,data,err,error,*999)
46717 
46718  exits("cmfe_DistributedVector_DataGetIntgObj")
46719 
46720  RETURN
46721 999 errorsexits("cmfe_DistributedVector_DataGetIntgObj",err,error)
46722  CALL cmfe_handleerror(err,error)
46723  RETURN
46724 
46726 
46727  !
46728  !================================================================================================================================
46729  !
46730 
46732  SUBROUTINE cmfe_distributedvector_datarestoreintgobj(vector,data,err)
46733  !DLLEXPORT(cmfe_DistributedVector_DataRestoreIntgObj)
46734 
46735  !Argument variables
46736  TYPE(cmfe_distributedvectortype), INTENT(IN) :: vector
46737  INTEGER(INTG), POINTER, INTENT(INOUT) :: data(:)
46738  INTEGER(INTG), INTENT(OUT) :: err
46739 
46740  enters("cmfe_DistributedVector_DataRestoreIntgObj",err,error,*999)
46741 
46742  CALL distributed_vector_data_restore(vector%distributedVector,data,err,error,*999)
46743 
46744  exits("cmfe_DistributedVector_DataRestoreIntgObj")
46745 
46746  RETURN
46747 999 errorsexits("cmfe_DistributedVector_DataRestoreIntgObj",err,error)
46748  CALL cmfe_handleerror(err,error)
46749  RETURN
46750 
46752 
46753  !
46754  !================================================================================================================================
46755  !
46756 
46758  SUBROUTINE cmfe_distributedvector_datagetdpobj(vector,data,err)
46759  !DLLEXPORT(cmfe_DistributedVector_DataGetDPObj)
46760 
46761  !Argument variables
46762  TYPE(cmfe_distributedvectortype), INTENT(IN) :: vector
46763  REAL(DP), POINTER, INTENT(OUT) :: data(:)
46764  INTEGER(INTG), INTENT(OUT) :: err
46765 
46766  enters("cmfe_DistributedVector_DataGetDPObj",err,error,*999)
46767 
46768  CALL distributed_vector_data_get(vector%distributedVector,data,err,error,*999)
46769 
46770  exits("cmfe_DistributedVector_DataGetDPObj")
46771 
46772  RETURN
46773 999 errorsexits("cmfe_DistributedVector_DataGetDPObj",err,error)
46774  CALL cmfe_handleerror(err,error)
46775  RETURN
46776 
46778 
46779  !
46780  !================================================================================================================================
46781  !
46782 
46784  SUBROUTINE cmfe_distributedvector_datarestoredpobj(vector,data,err)
46785  !DLLEXPORT(cmfe_DistributedVector_DataRestoreDPObj)
46786 
46787  !Argument variables
46788  TYPE(cmfe_distributedvectortype), INTENT(IN) :: vector
46789  REAL(DP), POINTER, INTENT(INOUT) :: data(:)
46790  INTEGER(INTG), INTENT(OUT) :: err
46791 
46792  enters("cmfe_DistributedVector_DataRestoreDPObj",err,error,*999)
46793 
46794  CALL distributed_vector_data_restore(vector%distributedVector,data,err,error,*999)
46795 
46796  exits("cmfe_DistributedVector_DataRestoreDPObj")
46797 
46798  RETURN
46799 999 errorsexits("cmfe_DistributedVector_DataRestoreDPObj",err,error)
46800  CALL cmfe_handleerror(err,error)
46801  RETURN
46802 
46804 
46805  !
46806  !================================================================================================================================
46807  !
46808 
46810  SUBROUTINE cmfe_distributedvector_datagetspobj(vector,data,err)
46811  !DLLEXPORT(cmfe_DistributedVector_DataGetSPObj)
46812 
46813  !Argument variables
46814  TYPE(cmfe_distributedvectortype), INTENT(IN) :: vector
46815  REAL(SP), POINTER, INTENT(OUT) :: data(:)
46816  INTEGER(INTG), INTENT(OUT) :: err
46817 
46818  enters("cmfe_DistributedVector_DataGetSPObj",err,error,*999)
46819 
46820  CALL distributed_vector_data_get(vector%distributedVector,data,err,error,*999)
46821 
46822  exits("cmfe_DistributedVector_DataGetSPObj")
46823 
46824  RETURN
46825 999 errorsexits("cmfe_DistributedVector_DataGetSPObj",err,error)
46826  CALL cmfe_handleerror(err,error)
46827  RETURN
46828 
46830 
46831  !
46832  !================================================================================================================================
46833  !
46834 
46836  SUBROUTINE cmfe_distributedvector_datarestorespobj(vector,data,err)
46837  !DLLEXPORT(cmfe_DistributedVector_DataRestoreSPObj)
46838 
46839  !Argument variables
46840  TYPE(cmfe_distributedvectortype), INTENT(IN) :: vector
46841  REAL(SP), POINTER, INTENT(INOUT) :: data(:)
46842  INTEGER(INTG), INTENT(OUT) :: err
46843 
46844  enters("cmfe_DistributedVector_DataRestoreSPObj",err,error,*999)
46845 
46846  CALL distributed_vector_data_restore(vector%distributedVector,data,err,error,*999)
46847 
46848  exits("cmfe_DistributedVector_DataRestoreSPObj")
46849 
46850  RETURN
46851 999 errorsexits("cmfe_DistributedVector_DataRestoreSPObj",err,error)
46852  CALL cmfe_handleerror(err,error)
46853  RETURN
46854 
46856 
46857  !
46858  !================================================================================================================================
46859  !
46860 
46862  SUBROUTINE cmfe_distributedvector_datagetlobj(vector,data,err)
46863  !DLLEXPORT(cmfe_DistributedVector_DataGetLObj)
46864 
46865  !Argument variables
46866  TYPE(cmfe_distributedvectortype), INTENT(IN) :: vector
46867  LOGICAL, POINTER, INTENT(OUT) :: data(:)
46868  INTEGER(INTG), INTENT(OUT) :: err
46869 
46870  enters("cmfe_DistributedVector_DataGetLObj",err,error,*999)
46871 
46872  CALL distributed_vector_data_get(vector%distributedVector,data,err,error,*999)
46873 
46874  exits("cmfe_DistributedVector_DataGetLObj")
46875 
46876  RETURN
46877 999 errorsexits("cmfe_DistributedVector_DataGetLObj",err,error)
46878  CALL cmfe_handleerror(err,error)
46879  RETURN
46880 
46881  END SUBROUTINE cmfe_distributedvector_datagetlobj
46882 
46883  !
46884  !================================================================================================================================
46885  !
46886 
46888  SUBROUTINE cmfe_distributedvector_datarestorelobj(vector,data,err)
46889  !DLLEXPORT(cmfe_DistributedVector_DataRestoreLObj)
46890 
46891  !Argument variables
46892  TYPE(cmfe_distributedvectortype), INTENT(IN) :: vector
46893  LOGICAL, POINTER, INTENT(INOUT) :: data(:)
46894  INTEGER(INTG), INTENT(OUT) :: err
46895 
46896  enters("cmfe_DistributedVector_DataRestoreLObj",err,error,*999)
46897 
46898  CALL distributed_vector_data_restore(vector%distributedVector,data,err,error,*999)
46899 
46900  exits("cmfe_DistributedVector_DataRestoreLObj")
46901 
46902  RETURN
46903 999 errorsexits("cmfe_DistributedVector_DataRestoreLObj",err,error)
46904  CALL cmfe_handleerror(err,error)
46905  RETURN
46906 
46908 
46909 !!==================================================================================================================================
46910 !!
46911 !! NODE_ROUTINES
46912 !!
46913 !!==================================================================================================================================
46914 
46916  SUBROUTINE cmfe_nodes_createfinishnumber(regionUserNumber,err)
46917  !DLLEXPORT(cmfe_Nodes_CreateFinishNumber)
46918 
46919  !Argument variables
46920  INTEGER(INTG), INTENT(IN) :: regionUserNumber
46921  INTEGER(INTG), INTENT(OUT) :: err
46922  !Local variables
46923  TYPE(nodes_type), POINTER :: NODES
46924  TYPE(region_type), POINTER :: REGION
46925  TYPE(varying_string) :: localError
46926 
46927  enters("cmfe_Nodes_CreateFinishNumber",err,error,*999)
46928 
46929  NULLIFY(region)
46930  NULLIFY(nodes)
46931  CALL region_user_number_find(regionusernumber,region,err,error,*999)
46932  IF(ASSOCIATED(region)) THEN
46933  CALL region_nodes_get(region,nodes,err,error,*999)
46934  CALL nodes_create_finish(nodes,err,error,*999)
46935  ELSE
46936  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
46937  & " does not exist."
46938  CALL flagerror(localerror,err,error,*999)
46939  END IF
46940 
46941 #ifdef TAUPROF
46942  CALL tau_static_phase_stop('Nodes Create')
46943 #endif
46944 
46945  exits("cmfe_Nodes_CreateFinishNumber")
46946  RETURN
46947 999 errorsexits("cmfe_Nodes_CreateFinishNumber",err,error)
46948  CALL cmfe_handleerror(err,error)
46949  RETURN
46950 
46951  END SUBROUTINE cmfe_nodes_createfinishnumber
46952 
46953  !
46954  !================================================================================================================================
46955  !
46956 
46958  SUBROUTINE cmfe_nodes_createfinishobj(nodes,err)
46959  !DLLEXPORT(cmfe_Nodes_CreateFinishObj)
46960 
46961  !Argument variables
46962  TYPE(cmfe_nodestype), INTENT(IN) :: nodes
46963  INTEGER(INTG), INTENT(OUT) :: err
46964  !Local variables
46965 
46966  enters("cmfe_Nodes_CreateFinishObj",err,error,*999)
46967 
46968  CALL nodes_create_finish(nodes%nodes,err,error,*999)
46969 
46970 #ifdef TAUPROF
46971  CALL tau_static_phase_stop('nodes Create')
46972 #endif
46973 
46974  exits("cmfe_Nodes_CreateFinishObj")
46975  RETURN
46976 999 errorsexits("cmfe_Nodes_CreateFinishObj",err,error)
46977  CALL cmfe_handleerror(err,error)
46978  RETURN
46979 
46980  END SUBROUTINE cmfe_nodes_createfinishobj
46981 
46982  !
46983  !================================================================================================================================
46984  !
46985 
46987  SUBROUTINE cmfe_nodes_createstartnumber(regionUserNumber,numberOfNodes,err)
46988  !DLLEXPORT(cmfe_Nodes_CreateStartNumber)
46989 
46990  !Argument variables
46991  INTEGER(INTG), INTENT(IN) :: regionUserNumber
46992  INTEGER(INTG), INTENT(IN) :: numberOfNodes
46993  INTEGER(INTG), INTENT(OUT) :: err
46994  !Local variables
46995  TYPE(nodes_type), POINTER :: NODES
46996  TYPE(region_type), POINTER :: REGION
46997  TYPE(varying_string) :: localError
46998 
46999  enters("cmfe_Nodes_CreateStartNumber",err,error,*999)
47000 
47001 #ifdef TAUPROF
47002  CALL tau_static_phase_start('Nodes Create')
47003 #endif
47004 
47005  NULLIFY(region)
47006  NULLIFY(nodes)
47007  CALL region_user_number_find(regionusernumber,region,err,error,*999)
47008  IF(ASSOCIATED(region)) THEN
47009  CALL nodes_create_start(region,numberofnodes,nodes,err,error,*999)
47010  ELSE
47011  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
47012  & " does not exist."
47013  CALL flagerror(localerror,err,error,*999)
47014  END IF
47015 
47016  exits("cmfe_Nodes_CreateStartNumber")
47017  RETURN
47018 999 errorsexits("cmfe_Nodes_CreateStartNumber",err,error)
47019  CALL cmfe_handleerror(err,error)
47020  RETURN
47021 
47022  END SUBROUTINE cmfe_nodes_createstartnumber
47023 
47024  !
47025  !================================================================================================================================
47026  !
47027 
47029  SUBROUTINE cmfe_nodes_createstartobj(region,numberOfNodes,nodes,err)
47030  !DLLEXPORT(cmfe_Nodes_CreateStartObj)
47031 
47032  !Argument variables
47033  TYPE(cmfe_regiontype), INTENT(IN) :: region
47034  INTEGER(INTG), INTENT(IN) :: numberOfNodes
47035  TYPE(cmfe_nodestype), INTENT(IN) :: nodes
47036  INTEGER(INTG), INTENT(OUT) :: err
47037  !Local variables
47038 
47039  enters("cmfe_Nodes_CreateStartObj",err,error,*999)
47040 
47041 #ifdef TAUPROF
47042  CALL tau_static_phase_start('nodes Create')
47043 #endif
47044 
47045  CALL nodes_create_start(region%region,numberofnodes,nodes%nodes,err,error,*999)
47046 
47047  exits("cmfe_Nodes_CreateStartObj")
47048  RETURN
47049 999 errorsexits("cmfe_Nodes_CreateStartObj",err,error)
47050  CALL cmfe_handleerror(err,error)
47051  RETURN
47052 
47053  END SUBROUTINE cmfe_nodes_createstartobj
47054 
47055  !
47056  !================================================================================================================================
47057  !
47058 
47060  SUBROUTINE cmfe_nodes_createstartinterfaceobj(interface,numberOfNodes,nodes,err)
47061  !DLLEXPORT(cmfe_Nodes_CreateStartInterfaceObj)
47062 
47063  !Argument variables
47064  TYPE(cmfe_interfacetype), INTENT(IN) :: interface
47065  INTEGER(INTG), INTENT(IN) :: numberOfNodes
47066  TYPE(cmfe_nodestype), INTENT(IN) :: nodes
47067  INTEGER(INTG), INTENT(OUT) :: err
47068  !Local variables
47069 
47070  enters("cmfe_Nodes_CreateStartInterfaceObj",err,error,*999)
47071 
47072 #ifdef TAUPROF
47073  CALL tau_static_phase_start('nodes Create')
47074 #endif
47075 
47076  CALL nodes_create_start(interface%interface,numberofnodes,nodes%nodes,err,error,*999)
47077 
47078  exits("cmfe_Nodes_CreateStartInterfaceObj")
47079  RETURN
47080 999 errorsexits("cmfe_Nodes_CreateStartInterfaceObj",err,error)
47081  CALL cmfe_handleerror(err,error)
47082  RETURN
47083 
47084  END SUBROUTINE cmfe_nodes_createstartinterfaceobj
47085 
47086  !
47087  !================================================================================================================================
47088  !
47089 
47091  SUBROUTINE cmfe_nodes_destroynumber(regionUserNumber,err)
47092  !DLLEXPORT(cmfe_Nodes_DestroyNumber)
47093 
47094  !Argument variables
47095  INTEGER(INTG), INTENT(IN) :: regionUserNumber
47096  INTEGER(INTG), INTENT(OUT) :: err
47097  !Local variables
47098  TYPE(nodes_type), POINTER :: NODES
47099  TYPE(region_type), POINTER :: REGION
47100  TYPE(varying_string) :: localError
47101 
47102  enters("cmfe_Nodes_DestroyNumber",err,error,*999)
47103 
47104  NULLIFY(region)
47105  NULLIFY(nodes)
47106  CALL region_user_number_find(regionusernumber,region,err,error,*999)
47107  IF(ASSOCIATED(region)) THEN
47108  CALL region_nodes_get(region,nodes,err,error,*999)
47109  CALL nodes_destroy(nodes,err,error,*999)
47110  ELSE
47111  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
47112  & " does not exist."
47113  CALL flagerror(localerror,err,error,*999)
47114  END IF
47115 
47116  exits("cmfe_Nodes_DestroyNumber")
47117  RETURN
47118 999 errorsexits("cmfe_Nodes_DestroyNumber",err,error)
47119  CALL cmfe_handleerror(err,error)
47120  RETURN
47121 
47122  END SUBROUTINE cmfe_nodes_destroynumber
47123 
47124  !
47125  !================================================================================================================================
47126  !
47127 
47129  SUBROUTINE cmfe_nodes_destroyobj(nodes,err)
47130  !DLLEXPORT(cmfe_Nodes_DestroyObj)
47131 
47132  !Argument variables
47133  TYPE(cmfe_nodestype), INTENT(IN) :: nodes
47134  INTEGER(INTG), INTENT(OUT) :: err
47135  !Local variables
47136 
47137  enters("cmfe_NodeDestroyObj",err,error,*999)
47138 
47139  CALL nodes_destroy(nodes%nodes,err,error,*999)
47140 
47141  exits("cmfe_Nodes_DestroyObj")
47142  RETURN
47143 999 errorsexits("cmfe_Nodes_DestroyObj",err,error)
47144  CALL cmfe_handleerror(err,error)
47145  RETURN
47146 
47147  END SUBROUTINE cmfe_nodes_destroyobj
47148 
47149  !
47150  !================================================================================================================================
47151  !
47152 
47154  SUBROUTINE cmfe_nodes_numberofnodesgetnumber(regionUserNumber,numberOfNodes,err)
47155  !DLLEXPORT(cmfe_Nodes_NumberOfNodesGetNumber)
47156 
47157  !Argument variables
47158  INTEGER(INTG), INTENT(IN) :: regionUserNumber
47159  INTEGER(INTG), INTENT(OUT) :: numberOfNodes
47160  INTEGER(INTG), INTENT(OUT) :: err
47161  !Local variables
47162  TYPE(nodes_type), POINTER :: NODES
47163  TYPE(region_type), POINTER :: REGION
47164  TYPE(varying_string) :: localError
47165 
47166  enters("cmfe_Nodes_NumberOfNodesGetNumber",err,error,*999)
47167 
47168  NULLIFY(region)
47169  NULLIFY(nodes)
47170  CALL region_user_number_find(regionusernumber,region,err,error,*999)
47171  IF(ASSOCIATED(region)) THEN
47172  CALL region_nodes_get(region,nodes,err,error,*999)
47173  CALL nodes_number_of_nodes_get(nodes,numberofnodes,err,error,*999)
47174  ELSE
47175  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
47176  & " does not exist."
47177  CALL flagerror(localerror,err,error,*999)
47178  END IF
47179 
47180  exits("cmfe_Nodes_NumberOfNodesGetNumber")
47181  RETURN
47182 999 errorsexits("cmfe_Nodes_NumberOfNodesGetNumber",err,error)
47183  CALL cmfe_handleerror(err,error)
47184  RETURN
47185 
47186  END SUBROUTINE cmfe_nodes_numberofnodesgetnumber
47187 
47188  !
47189  !================================================================================================================================
47190  !
47191 
47193  SUBROUTINE cmfe_nodes_numberofnodesgetobj(nodes,numberOfNodes,err)
47194  !DLLEXPORT(cmfe_Nodes_NumberOfNodesGetObj)
47195 
47196  !Argument variables
47197  TYPE(cmfe_nodestype), INTENT(IN) :: nodes
47198  INTEGER(INTG), INTENT(OUT) :: numberOfNodes
47199  INTEGER(INTG), INTENT(OUT) :: err
47200  !Local variables
47201 
47202  enters("cmfe_Nodes_NumberOfNodesGetObj",err,error,*999)
47203 
47204  CALL nodes_number_of_nodes_get(nodes%nodes,numberofnodes,err,error,*999)
47205 
47206  exits("cmfe_Nodes_NumberOfNodesGetObj")
47207  RETURN
47208 999 errorsexits("cmfe_Nodes_NumberOfNodesGetObj",err,error)
47209  CALL cmfe_handleerror(err,error)
47210  RETURN
47211 
47212  END SUBROUTINE cmfe_nodes_numberofnodesgetobj
47213 
47214  !
47215  !================================================================================================================================
47216  !
47217 
47219  SUBROUTINE cmfe_nodes_labelgetcnumber(regionUserNumber,nodeGlobalNumber,label,err)
47220  !DLLEXPORT(cmfe_Nodes_LabelGetCNumber)
47221 
47222  !Argument variables
47223  INTEGER(INTG), INTENT(IN) :: regionUserNumber
47224  INTEGER(INTG), INTENT(IN) :: nodeGlobalNumber
47225  CHARACTER(LEN=*), INTENT(OUT) :: label
47226  INTEGER(INTG), INTENT(OUT) :: err
47227  !Local variables
47228  TYPE(nodes_type), POINTER :: NODES
47229  TYPE(region_type), POINTER :: REGION
47230  TYPE(varying_string) :: localError
47231 
47232  enters("cmfe_Nodes_LabelGetCNumber",err,error,*999)
47233 
47234  NULLIFY(region)
47235  NULLIFY(nodes)
47236  CALL region_user_number_find(regionusernumber,region,err,error,*999)
47237  IF(ASSOCIATED(region)) THEN
47238  CALL region_nodes_get(region,nodes,err,error,*999)
47239  CALL nodes_label_get(nodes,nodeglobalnumber,label,err,error,*999)
47240  ELSE
47241  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
47242  & " does not exist."
47243  CALL flagerror(localerror,err,error,*999)
47244  END IF
47245 
47246  exits("cmfe_Nodes_LabelGetCNumber")
47247  RETURN
47248 999 errorsexits("cmfe_Nodes_LabelGetCNumber",err,error)
47249  CALL cmfe_handleerror(err,error)
47250  RETURN
47251 
47252  END SUBROUTINE cmfe_nodes_labelgetcnumber
47253 
47254  !
47255  !================================================================================================================================
47256  !
47257 
47259  SUBROUTINE cmfe_nodes_labelgetcobj(nodes,nodeGlobalNumber,label,err)
47260  !DLLEXPORT(cmfe_Nodes_LabelGetCObj)
47261 
47262  !Argument variables
47263  TYPE(cmfe_nodestype), INTENT(IN) :: nodes
47264  INTEGER(INTG), INTENT(IN) :: nodeGlobalNumber
47265  CHARACTER(LEN=*), INTENT(OUT) :: label
47266  INTEGER(INTG), INTENT(OUT) :: err
47267  !Local variables
47268 
47269  enters("cmfe_Nodes_LabelGetCObj",err,error,*999)
47270 
47271  CALL nodes_label_get(nodes%nodes,nodeglobalnumber,label,err,error,*999)
47272 
47273  exits("cmfe_Nodes_LabelGetCObj")
47274  RETURN
47275 999 errorsexits("cmfe_Nodes_LabelGetCObj",err,error)
47276  CALL cmfe_handleerror(err,error)
47277  RETURN
47278 
47279  END SUBROUTINE cmfe_nodes_labelgetcobj
47280 
47281  !
47282  !================================================================================================================================
47283  !
47284 
47286  SUBROUTINE cmfe_nodes_labelgetvsnumber(regionUserNumber,nodeGlobalNumber,label,err)
47287  !DLLEXPORT(cmfe_Nodes_LabelGetVSNumber)
47288 
47289  !Argument variables
47290  INTEGER(INTG), INTENT(IN) :: regionUserNumber
47291  INTEGER(INTG), INTENT(IN) :: nodeGlobalNumber
47292  TYPE(varying_string), INTENT(OUT) :: label
47293  INTEGER(INTG), INTENT(OUT) :: err
47294  !Local variables
47295  TYPE(nodes_type), POINTER :: NODES
47296  TYPE(region_type), POINTER :: REGION
47297  TYPE(varying_string) :: localError
47298 
47299  enters("cmfe_Nodes_LabelGetVSNumber",err,error,*999)
47300 
47301  NULLIFY(region)
47302  NULLIFY(nodes)
47303  CALL region_user_number_find(regionusernumber,region,err,error,*999)
47304  IF(ASSOCIATED(region)) THEN
47305  CALL region_nodes_get(region,nodes,err,error,*999)
47306  CALL nodes_label_get(nodes,nodeglobalnumber,label,err,error,*999)
47307  ELSE
47308  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
47309  & " does not exist."
47310  CALL flagerror(localerror,err,error,*999)
47311  END IF
47312 
47313  exits("cmfe_Nodes_LabelGetVSNumber")
47314  RETURN
47315 999 errorsexits("cmfe_Nodes_LabelGetVSNumber",err,error)
47316  CALL cmfe_handleerror(err,error)
47317  RETURN
47318 
47319  END SUBROUTINE cmfe_nodes_labelgetvsnumber
47320 
47321  !
47322  !================================================================================================================================
47323  !
47324 
47326  SUBROUTINE cmfe_nodes_labelgetvsobj(nodes,nodeGlobalNumber,label,err)
47327  !DLLEXPORT(cmfe_Nodes_LabelGetVSObj)
47328 
47329  !Argument variables
47330  TYPE(cmfe_nodestype), INTENT(IN) :: nodes
47331  INTEGER(INTG), INTENT(IN) :: nodeGlobalNumber
47332  TYPE(varying_string), INTENT(OUT) :: label
47333  INTEGER(INTG), INTENT(OUT) :: err
47334  !Local variables
47335 
47336  enters("cmfe_Nodes_LabelGetVSObj",err,error,*999)
47337 
47338  CALL nodes_label_get(nodes%nodes,nodeglobalnumber,label,err,error,*999)
47339 
47340  exits("cmfe_Nodes_LabelGetVSObj")
47341  RETURN
47342 999 errorsexits("cmfe_Nodes_LabelGetVSObj",err,error)
47343  CALL cmfe_handleerror(err,error)
47344  RETURN
47345 
47346  END SUBROUTINE cmfe_nodes_labelgetvsobj
47347 
47348  !
47349  !================================================================================================================================
47350  !
47351 
47353  SUBROUTINE cmfe_nodes_labelsetcnumber(regionUserNumber,nodeGlobalNumber,label,err)
47354  !DLLEXPORT(cmfe_Nodes_LabelSetCNumber)
47355 
47356  !Argument variables
47357  INTEGER(INTG), INTENT(IN) :: regionUserNumber
47358  INTEGER(INTG), INTENT(IN) :: nodeGlobalNumber
47359  CHARACTER(LEN=*), INTENT(IN) :: label
47360  INTEGER(INTG), INTENT(OUT) :: err
47361  !Local variables
47362  TYPE(nodes_type), POINTER :: NODES
47363  TYPE(region_type), POINTER :: REGION
47364  TYPE(varying_string) :: localError
47365 
47366  enters("cmfe_Nodes_LabelSetCNumber",err,error,*999)
47367 
47368  NULLIFY(region)
47369  NULLIFY(nodes)
47370  CALL region_user_number_find(regionusernumber,region,err,error,*999)
47371  IF(ASSOCIATED(region)) THEN
47372  CALL region_nodes_get(region,nodes,err,error,*999)
47373  CALL nodes_label_set(nodes,nodeglobalnumber,label,err,error,*999)
47374  ELSE
47375  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
47376  & " does not exist."
47377  CALL flagerror(localerror,err,error,*999)
47378  END IF
47379 
47380  exits("cmfe_Nodes_LabelSetCNumber")
47381  RETURN
47382 999 errorsexits("cmfe_Nodes_LabelSetCNumber",err,error)
47383  CALL cmfe_handleerror(err,error)
47384  RETURN
47385 
47386  END SUBROUTINE cmfe_nodes_labelsetcnumber
47387 
47388  !
47389  !================================================================================================================================
47390  !
47391 
47393  SUBROUTINE cmfe_nodes_labelsetcobj(nodes,nodeGlobalNumber,label,err)
47394  !DLLEXPORT(cmfe_Nodes_LabelSetCObj)
47395 
47396  !Argument variables
47397  TYPE(cmfe_nodestype), INTENT(IN) :: nodes
47398  INTEGER(INTG), INTENT(IN) :: nodeGlobalNumber
47399  CHARACTER(LEN=*), INTENT(IN) :: label
47400  INTEGER(INTG), INTENT(OUT) :: err
47401  !Local variables
47402 
47403  enters("cmfe_Nodes_LabelSetCObj",err,error,*999)
47404 
47405  CALL nodes_label_set(nodes%nodes,nodeglobalnumber,label,err,error,*999)
47406 
47407  exits("cmfe_Nodes_LabelSetCObj")
47408  RETURN
47409 999 errorsexits("cmfe_Nodes_LabelSetCObj",err,error)
47410  CALL cmfe_handleerror(err,error)
47411  RETURN
47412 
47413  END SUBROUTINE cmfe_nodes_labelsetcobj
47414 
47415  !
47416  !================================================================================================================================
47417  !
47418 
47420  SUBROUTINE cmfe_nodes_labelsetvsnumber(regionUserNumber,nodeGlobalNumber,label,err)
47421  !DLLEXPORT(cmfe_Nodes_LabelSetVSNumber)
47422 
47423  !Argument variables
47424  INTEGER(INTG), INTENT(IN) :: regionUserNumber
47425  INTEGER(INTG), INTENT(IN) :: nodeGlobalNumber
47426  TYPE(varying_string), INTENT(IN) :: label
47427  INTEGER(INTG), INTENT(OUT) :: err
47428  !Local variables
47429  TYPE(nodes_type), POINTER :: NODES
47430  TYPE(region_type), POINTER :: REGION
47431  TYPE(varying_string) :: localError
47432 
47433  enters("cmfe_Nodes_LabelSetVSNumber",err,error,*999)
47434 
47435  NULLIFY(region)
47436  NULLIFY(nodes)
47437  CALL region_user_number_find(regionusernumber,region,err,error,*999)
47438  IF(ASSOCIATED(region)) THEN
47439  CALL region_nodes_get(region,nodes,err,error,*999)
47440  CALL nodes_label_set(nodes,nodeglobalnumber,label,err,error,*999)
47441  ELSE
47442  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
47443  & " does not exist."
47444  CALL flagerror(localerror,err,error,*999)
47445  END IF
47446 
47447  exits("cmfe_Nodes_LabelSetVSNumber")
47448  RETURN
47449 999 errorsexits("cmfe_Nodes_LabelSetVSNumber",err,error)
47450  CALL cmfe_handleerror(err,error)
47451  RETURN
47452 
47453  END SUBROUTINE cmfe_nodes_labelsetvsnumber
47454 
47455  !
47456  !================================================================================================================================
47457  !
47458 
47460  SUBROUTINE cmfe_nodes_labelsetvsobj(nodes,nodeGlobalNumber,label,err)
47461  !DLLEXPORT(cmfe_Nodes_LabelSetVSObj)
47462 
47463  !Argument variables
47464  TYPE(cmfe_nodestype), INTENT(IN) :: nodes
47465  INTEGER(INTG), INTENT(IN) :: nodeGlobalNumber
47466  TYPE(varying_string), INTENT(IN) :: label
47467  INTEGER(INTG), INTENT(OUT) :: err
47468  !Local variables
47469 
47470  enters("cmfe_Nodes_LabelSetVSObj",err,error,*999)
47471 
47472  CALL nodes_label_set(nodes%nodes,nodeglobalnumber,label,err,error,*999)
47473 
47474  exits("cmfe_Nodes_LabelSetVSObj")
47475  RETURN
47476 999 errorsexits("cmfe_Nodes_LabelSetVSObj",err,error)
47477  CALL cmfe_handleerror(err,error)
47478  RETURN
47479 
47480  END SUBROUTINE cmfe_nodes_labelsetvsobj
47481 
47482  !
47483  !================================================================================================================================
47484  !
47485 
47487  SUBROUTINE cmfe_nodes_usernumbergetnumber(regionUserNumber,nodeGlobalNumber,nodeUserNumber,err)
47488  !DLLEXPORT(cmfe_Nodes_UserNumberGetNumber)
47489 
47490  !Argument variables
47491  INTEGER(INTG), INTENT(IN) :: regionUserNumber
47492  INTEGER(INTG), INTENT(IN) :: nodeGlobalNumber
47493  INTEGER(INTG), INTENT(OUT) :: nodeUserNumber
47494  INTEGER(INTG), INTENT(OUT) :: err
47495  !Local variables
47496  TYPE(nodes_type), POINTER :: NODES
47497  TYPE(region_type), POINTER :: REGION
47498  TYPE(varying_string) :: localError
47499 
47500  enters("cmfe_Nodes_UserNumberGetNumber",err,error,*999)
47501 
47502  NULLIFY(region)
47503  NULLIFY(nodes)
47504  CALL region_user_number_find(regionusernumber,region,err,error,*999)
47505  IF(ASSOCIATED(region)) THEN
47506  CALL region_nodes_get(region,nodes,err,error,*999)
47507  CALL nodes_user_number_get(nodes,nodeglobalnumber,nodeusernumber,err,error,*999)
47508  ELSE
47509  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
47510  & " does not exist."
47511  CALL flagerror(localerror,err,error,*999)
47512  END IF
47513 
47514  exits("cmfe_Nodes_UserNumberGetNumber")
47515  RETURN
47516 999 errorsexits("cmfe_Nodes_UserNumberGetNumber",err,error)
47517  CALL cmfe_handleerror(err,error)
47518  RETURN
47519 
47520  END SUBROUTINE cmfe_nodes_usernumbergetnumber
47521 
47522  !
47523  !================================================================================================================================
47524  !
47525 
47527  SUBROUTINE cmfe_nodes_usernumbergetobj(nodes,nodeGlobalNumber,nodeUserNumber,err)
47528  !DLLEXPORT(cmfe_Nodes_UserNumberGetObj)
47529 
47530  !Argument variables
47531  TYPE(cmfe_nodestype), INTENT(IN) :: nodes
47532  INTEGER(INTG), INTENT(IN) :: nodeGlobalNumber
47533  INTEGER(INTG), INTENT(OUT) :: nodeUserNumber
47534  INTEGER(INTG), INTENT(OUT) :: err
47535  !Local variables
47536 
47537  enters("cmfe_Nodes_UserNumberGetObj",err,error,*999)
47538 
47539  CALL nodes_user_number_get(nodes%nodes,nodeglobalnumber,nodeusernumber,err,error,*999)
47540 
47541  exits("cmfe_Nodes_UserNumberGetObj")
47542  RETURN
47543 999 errorsexits("cmfe_Nodes_UserNumberGetObj",err,error)
47544  CALL cmfe_handleerror(err,error)
47545  RETURN
47546 
47547  END SUBROUTINE cmfe_nodes_usernumbergetobj
47548 
47549  !
47550  !================================================================================================================================
47551  !
47552 
47554  SUBROUTINE cmfe_nodes_usernumbersetnumber(regionUserNumber,nodeGlobalNumber,nodeUserNumber,err)
47555  !DLLEXPORT(cmfe_Nodes_UserNumberSetNumber)
47556 
47557  !Argument variables
47558  INTEGER(INTG), INTENT(IN) :: regionUserNumber
47559  INTEGER(INTG), INTENT(IN) :: nodeGlobalNumber
47560  INTEGER(INTG), INTENT(IN) :: nodeUserNumber
47561  INTEGER(INTG), INTENT(OUT) :: err
47562  !Local variables
47563  TYPE(nodes_type), POINTER :: NODES
47564  TYPE(region_type), POINTER :: REGION
47565  TYPE(varying_string) :: localError
47566 
47567  enters("cmfe_Nodes_UserNumberSetNumber",err,error,*999)
47568 
47569  NULLIFY(region)
47570  NULLIFY(nodes)
47571  CALL region_user_number_find(regionusernumber,region,err,error,*999)
47572  IF(ASSOCIATED(region)) THEN
47573  CALL region_nodes_get(region,nodes,err,error,*999)
47574  CALL nodes_user_number_set(nodes,nodeglobalnumber,nodeusernumber,err,error,*999)
47575  ELSE
47576  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
47577  & " does not exist."
47578  CALL flagerror(localerror,err,error,*999)
47579  END IF
47580 
47581  exits("cmfe_Nodes_UserNumberSetNumber")
47582  RETURN
47583 999 errorsexits("cmfe_Nodes_UserNumberSetNumber",err,error)
47584  CALL cmfe_handleerror(err,error)
47585  RETURN
47586 
47587  END SUBROUTINE cmfe_nodes_usernumbersetnumber
47588 
47589  !
47590  !================================================================================================================================
47591  !
47592 
47594  SUBROUTINE cmfe_nodes_usernumbersetobj(nodes,nodeGlobalNumber,nodeUserNumber,err)
47595  !DLLEXPORT(cmfe_Nodes_UserNumberSetObj)
47596 
47597  !Argument variables
47598  TYPE(cmfe_nodestype), INTENT(IN) :: nodes
47599  INTEGER(INTG), INTENT(IN) :: nodeGlobalNumber
47600  INTEGER(INTG), INTENT(IN) :: nodeUserNumber
47601  INTEGER(INTG), INTENT(OUT) :: err
47602  !Local variables
47603 
47604  enters("cmfe_Nodes_UserNumberSetObj",err,error,*999)
47605 
47606  CALL nodes_user_number_set(nodes%nodes,nodeglobalnumber,nodeusernumber,err,error,*999)
47607 
47608  exits("cmfe_Nodes_UserNumberSetObj")
47609  RETURN
47610 999 errorsexits("cmfe_Nodes_UserNumberSetObj",err,error)
47611  CALL cmfe_handleerror(err,error)
47612  RETURN
47613 
47614  END SUBROUTINE cmfe_nodes_usernumbersetobj
47615 
47616  !
47617  !================================================================================================================================
47618  !
47619 
47621  SUBROUTINE cmfe_nodes_usernumbersallsetnumber(regionUserNumber,nodeUserNumbers,err)
47622  !DLLEXPORT(cmfe_Nodes_UserNumbersAllSetNumber)
47623 
47624  !Argument variables
47625  INTEGER(INTG), INTENT(IN) :: regionUserNumber
47626  INTEGER(INTG), INTENT(IN) :: nodeUserNumbers(:)
47627  INTEGER(INTG), INTENT(OUT) :: err
47628  !Local variables
47629  TYPE(nodes_type), POINTER :: nodes
47630  TYPE(region_type), POINTER :: region
47631  TYPE(varying_string) :: localError
47632 
47633  enters("cmfe_Nodes_UserNumbersAllSetNumber",err,error,*999)
47634 
47635  NULLIFY(region)
47636  NULLIFY(nodes)
47637  CALL region_user_number_find(regionusernumber,region,err,error,*999)
47638  IF(ASSOCIATED(region)) THEN
47639  CALL region_nodes_get(region,nodes,err,error,*999)
47640  CALL nodesusernumbersallset(nodes,nodeusernumbers,err,error,*999)
47641  ELSE
47642  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
47643  & " does not exist."
47644  CALL flagerror(localerror,err,error,*999)
47645  END IF
47646 
47647  exits("cmfe_Nodes_UserNumbersAllSetNumber")
47648  RETURN
47649 999 errorsexits("cmfe_Nodes_UserNumbersAllSetNumber",err,error)
47650  CALL cmfe_handleerror(err,error)
47651  RETURN
47652 
47653  END SUBROUTINE cmfe_nodes_usernumbersallsetnumber
47654 
47655  !
47656  !================================================================================================================================
47657  !
47658 
47660  SUBROUTINE cmfe_nodes_usernumbersallsetobj(nodes,nodeUserNumbers,err)
47661  !DLLEXPORT(cmfe_Nodes_UserNumbersAllSetObj)
47662 
47663  !Argument variables
47664  TYPE(cmfe_nodestype), INTENT(IN) :: nodes
47665  INTEGER(INTG), INTENT(IN) :: nodeUserNumbers(:)
47666  INTEGER(INTG), INTENT(OUT) :: err
47667  !Local variables
47668 
47669  enters("cmfe_Nodes_UserNumbersAllSetObj",err,error,*999)
47670 
47671  CALL nodesusernumbersallset(nodes%nodes,nodeusernumbers,err,error,*999)
47672 
47673  exits("cmfe_Nodes_UserNumbersAllSetObj")
47674  RETURN
47675 999 errorsexits("cmfe_Nodes_UserNumbersAllSetObj",err,error)
47676  CALL cmfe_handleerror(err,error)
47677  RETURN
47678 
47679  END SUBROUTINE cmfe_nodes_usernumbersallsetobj
47680 
47681 !!==================================================================================================================================
47682 !!
47683 !! PROBLEM_ROUTINES
47684 !!
47685 !!==================================================================================================================================
47686 
47688  SUBROUTINE cmfe_problem_cellmlequationscreatefinishnumber(problemUserNumber,err)
47689  !DLLEXPORT(cmfe_Problem_CellMLEquationsCreateFinishNumber)
47690 
47691  !Argument variables
47692  INTEGER(INTG), INTENT(IN) :: problemUserNumber
47693  INTEGER(INTG), INTENT(OUT) :: err
47694  !Local variables
47695  TYPE(problem_type), POINTER :: PROBLEM
47696  TYPE(varying_string) :: localError
47697 
47698  enters("cmfe_Problem_CellMLEquationsCreateFinishNumber",err,error,*999)
47699 
47700  NULLIFY(problem)
47701  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
47702  IF(ASSOCIATED(problem)) THEN
47703  CALL problem_cellml_equations_create_finish(problem,err,error,*999)
47704  ELSE
47705  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
47706  & " does not exist."
47707  CALL flagerror(localerror,err,error,*999)
47708  END IF
47709 
47710 #ifdef TAUPROF
47711  CALL tau_static_phase_stop('CellML Equations Create')
47712 #endif
47713 
47714  exits("cmfe_Problem_CellMLEquationsCreateFinishNumber")
47715  RETURN
47716 999 errors("cmfe_Problem_CellMLEquationsCreateFinishNumber",err,error)
47717  exits("cmfe_Problem_CellMLEquationsCreateFinishNumber")
47718  CALL cmfe_handleerror(err,error)
47719  RETURN
47720 
47722 
47723  !
47724  !================================================================================================================================
47725  !
47726 
47728  SUBROUTINE cmfe_problem_cellmlequationscreatefinishobj(problem,err)
47729  !DLLEXPORT(cmfe_Problem_CellMLEquationsCreateFinishObj)
47730 
47731  !Argument variables
47732  TYPE(cmfe_problemtype), INTENT(IN) :: problem
47733  INTEGER(INTG), INTENT(OUT) :: err
47734  !Local variables
47735 
47736  enters("cmfe_Problem_CellMLEquationsCreateFinishObj",err,error,*999)
47737 
47738  CALL problem_cellml_equations_create_finish(problem%problem,err,error,*999)
47739 
47740 #ifdef TAUPROF
47741  CALL tau_static_phase_stop('CellML Equations Create')
47742 #endif
47743 
47744  exits("cmfe_Problem_CellMLEquationsCreateFinishObj")
47745  RETURN
47746 999 errorsexits("cmfe_Problem_CellMLEquationsCreateFinishObj",err,error)
47747  CALL cmfe_handleerror(err,error)
47748  RETURN
47749 
47751 
47752  !
47753  !================================================================================================================================
47754  !
47755 
47757  SUBROUTINE cmfe_problem_cellmlequationscreatestartnumber(problemUserNumber,err)
47758  !DLLEXPORT(cmfe_Problem_CellMLEquationsCreateStartNumber)
47759 
47760  !Argument variables
47761  INTEGER(INTG), INTENT(IN) :: problemUserNumber
47762  INTEGER(INTG), INTENT(OUT) :: err
47763  !Local variables
47764  TYPE(problem_type), POINTER :: PROBLEM
47765  TYPE(varying_string) :: localError
47766 
47767  enters("cmfe_Problem_CellMLEquationsCreateStartNumber",err,error,*999)
47768 
47769 #ifdef TAUPROF
47770  CALL tau_static_phase_start('CellML Equations Create')
47771 #endif
47772 
47773  NULLIFY(problem)
47774  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
47775  IF(ASSOCIATED(problem)) THEN
47776  CALL problem_cellml_equations_create_start(problem,err,error,*999)
47777  ELSE
47778  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
47779  & " does not exist."
47780  CALL flagerror(localerror,err,error,*999)
47781  END IF
47782 
47783  exits("cmfe_Problem_CellMLEquationsCreateStartNumber")
47784  RETURN
47785 999 errors("cmfe_Problem_CellMLEquationsCreateStartNumber",err,error)
47786  exits("cmfe_Problem_CellMLEquationsCreateStartNumber")
47787  CALL cmfe_handleerror(err,error)
47788  RETURN
47789 
47791 
47792  !
47793  !================================================================================================================================
47794  !
47795 
47797  SUBROUTINE cmfe_problem_cellmlequationscreatestartobj(problem,err)
47798  !DLLEXPORT(cmfe_Problem_CellMLEquationsCreateStartObj)
47799 
47800  !Argument variables
47801  TYPE(cmfe_problemtype), INTENT(IN) :: problem
47802  INTEGER(INTG), INTENT(OUT) :: err
47803  !Local variables
47804 
47805  enters("cmfe_Problem_CellMLEquationsCreateStartObj",err,error,*999)
47806 
47807 #ifdef TAUPROF
47808  CALL tau_static_phase_start('CellML Equations Create')
47809 #endif
47810 
47811  CALL problem_cellml_equations_create_start(problem%problem,err,error,*999)
47812 
47813  exits("cmfe_Problem_CellMLEquationsCreateStartObj")
47814  RETURN
47815 999 errorsexits("cmfe_Problem_CellMLEquationsCreateStartObj",err,error)
47816  CALL cmfe_handleerror(err,error)
47817  RETURN
47818 
47820 
47821  !
47822  !================================================================================================================================
47823  !
47824 
47826  SUBROUTINE cmfe_problem_cellmlequationsgetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,CellMLEquations,err)
47827  !DLLEXPORT(cmfe_Problem_CellMLEquationsGetNumber0)
47828 
47829  !Argument variables
47830  INTEGER(INTG), INTENT(IN) :: problemUserNumber
47831  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
47832  INTEGER(INTG), INTENT(IN) :: solverIndex
47833  TYPE(cmfe_cellmlequationstype), INTENT(INOUT) :: CellMLEquations
47834  INTEGER(INTG), INTENT(OUT) :: err
47835  !Local variables
47836  TYPE(problem_type), POINTER :: PROBLEM
47837  TYPE(varying_string) :: localError
47838 
47839  enters("cmfe_Problem_CellMLEquationsGetNumber0",err,error,*999)
47840 
47841  NULLIFY(problem)
47842  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
47843  IF(ASSOCIATED(problem)) THEN
47844  CALL problem_cellml_equations_get(problem,controlloopidentifier,solverindex,cellmlequations%cellmlEquations,err,error,*999)
47845  ELSE
47846  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
47847  CALL flagerror(localerror,err,error,*999)
47848  END IF
47849 
47850  exits("cmfe_Problem_CellMLEquationsGetNumber0")
47851  RETURN
47852 999 errorsexits("cmfe_Problem_CellMLEquationsGetNumber0",err,error)
47853  CALL cmfe_handleerror(err,error)
47854  RETURN
47855 
47857 
47858  !
47859  !================================================================================================================================
47860  !
47861 
47863  SUBROUTINE cmfe_problem_cellmlequationsgetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,CellMLEquations,err)
47864  !DLLEXPORT(cmfe_Problem_CellMLEquationsGetNumber1)
47865 
47866  !Argument variables
47867  INTEGER(INTG), INTENT(IN) :: problemUserNumber
47868  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
47869  INTEGER(INTG), INTENT(IN) :: solverIndex
47870  TYPE(cmfe_cellmlequationstype), INTENT(INOUT) :: CellMLEquations
47871  INTEGER(INTG), INTENT(OUT) :: err
47872  !Local variables
47873  TYPE(problem_type), POINTER :: PROBLEM
47874  TYPE(varying_string) :: localError
47875 
47876  enters("cmfe_Problem_CellMLEquationsGetNumber1",err,error,*999)
47877 
47878  NULLIFY(problem)
47879  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
47880  IF(ASSOCIATED(problem)) THEN
47881  CALL problem_cellml_equations_get(problem,controlloopidentifiers,solverindex,cellmlequations%cellmlEquations,err,error,*999)
47882  ELSE
47883  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
47884  CALL flagerror(localerror,err,error,*999)
47885  END IF
47886 
47887  exits("cmfe_Problem_CellMLEquationsGetNumber1")
47888  RETURN
47889 999 errorsexits("cmfe_Problem_CellMLEquationsGetNumber1",err,error)
47890  CALL cmfe_handleerror(err,error)
47891  RETURN
47892 
47894 
47895  !
47896  !================================================================================================================================
47897  !
47898 
47900  SUBROUTINE cmfe_problem_cellmlequationsgetobj0(problem,controlLoopIdentifier,solverIndex,CellMLEquations,err)
47901  !DLLEXPORT(cmfe_Problem_CellMLEquationsGetObj0)
47902 
47903  !Argument variables
47904  TYPE(cmfe_problemtype), INTENT(IN) :: problem
47905  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
47906  INTEGER(INTG), INTENT(IN) :: solverIndex
47907  TYPE(cmfe_cellmlequationstype), INTENT(INOUT) :: CellMLEquations
47908  INTEGER(INTG), INTENT(OUT) :: err
47909  !Local variables
47910 
47911  enters("cmfe_Problem_CellMLEquationsGetObj0",err,error,*999)
47912 
47913  CALL problem_cellml_equations_get(problem%problem,controlloopidentifier,solverindex,cellmlequations%cellmlEquations, &
47914  & err,error,*999)
47915 
47916  exits("cmfe_Problem_CellMLEquationsGetObj0")
47917  RETURN
47918 999 errorsexits("cmfe_Problem_CellMLEquationsGetObj0",err,error)
47919  CALL cmfe_handleerror(err,error)
47920  RETURN
47921 
47923 
47924  !
47925  !================================================================================================================================
47926  !
47927 
47929  SUBROUTINE cmfe_problem_cellmlequationsgetobj1(problem,controlLoopIdentifiers,solverIndex,CellMLEquations,err)
47930  !DLLEXPORT(cmfe_Problem_CellMLEquationsGetObj1)
47931 
47932  !Argument variables
47933  TYPE(cmfe_problemtype), INTENT(IN) :: problem
47934  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
47935  INTEGER(INTG), INTENT(IN) :: solverIndex
47936  TYPE(cmfe_cellmlequationstype), INTENT(INOUT) :: CellMLEquations
47937  INTEGER(INTG), INTENT(OUT) :: err
47938  !Local variables
47939 
47940  enters("cmfe_Problem_CellMLEquationsGetObj1",err,error,*999)
47941 
47942  CALL problem_cellml_equations_get(problem%problem,controlloopidentifiers,solverindex,cellmlequations%cellmlEquations, &
47943  & err,error,*999)
47944 
47945  exits("cmfe_Problem_CellMLEquationsGetObj1")
47946  RETURN
47947 999 errorsexits("cmfe_Problem_CellMLEquationsGetObj1",err,error)
47948  CALL cmfe_handleerror(err,error)
47949  RETURN
47950 
47952 
47953  !
47954  !================================================================================================================================
47955  !
47956 
47958  SUBROUTINE cmfe_problem_createfinishnumber(problemUserNumber,err)
47959  !DLLEXPORT(cmfe_Problem_CreateFinishNumber)
47960 
47961  !Argument variables
47962  INTEGER(INTG), INTENT(IN) :: problemUserNumber
47963  INTEGER(INTG), INTENT(OUT) :: err
47964  !Local variables
47965  TYPE(problem_type), POINTER :: PROBLEM
47966  TYPE(varying_string) :: localError
47967 
47968  enters("cmfe_Problem_CreateFinishNumber",err,error,*999)
47969 
47970  NULLIFY(problem)
47971  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
47972  IF(ASSOCIATED(problem)) THEN
47973  CALL problem_create_finish(problem,err,error,*999)
47974  ELSE
47975  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
47976  & " does not exist."
47977  CALL flagerror(localerror,err,error,*999)
47978  END IF
47979 
47980 #ifdef TAUPROF
47981  CALL tau_static_phase_stop('Problem Create')
47982 #endif
47983 
47984  exits("cmfe_Problem_CreateFinishNumber")
47985  RETURN
47986 999 errorsexits("cmfe_Problem_CreateFinishNumber",err,error)
47987  CALL cmfe_handleerror(err,error)
47988  RETURN
47989 
47990  END SUBROUTINE cmfe_problem_createfinishnumber
47991 
47992  !
47993  !================================================================================================================================
47994  !
47995 
47997  SUBROUTINE cmfe_problem_createfinishobj(problem,err)
47998  !DLLEXPORT(cmfe_Problem_CreateFinishObj)
47999 
48000  !Argument variables
48001  TYPE(cmfe_problemtype), INTENT(IN) :: problem
48002  INTEGER(INTG), INTENT(OUT) :: err
48003  !Local variables
48004 
48005  enters("cmfe_Problem_CreateFinishObj",err,error,*999)
48006 
48007  CALL problem_create_finish(problem%problem,err,error,*999)
48008 
48009 #ifdef TAUPROF
48010  CALL tau_static_phase_stop('problem Create')
48011 #endif
48012 
48013  exits("cmfe_Problem_CreateFinishObj")
48014  RETURN
48015 999 errorsexits("cmfe_Problem_CreateFinishObj",err,error)
48016  CALL cmfe_handleerror(err,error)
48017  RETURN
48018 
48019  END SUBROUTINE cmfe_problem_createfinishobj
48020 
48021  !
48022  !================================================================================================================================
48023  !
48024 
48026  SUBROUTINE cmfe_problem_createstartnumber(problemUserNumber,problemSpecification,err)
48027  !DLLEXPORT(cmfe_Problem_CreateStartNumber)
48028 
48029  !Argument variables
48030  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48031  INTEGER(INTG), INTENT(IN) :: problemSpecification(:)
48032  INTEGER(INTG), INTENT(OUT) :: err
48033  !Local variables
48034  TYPE(problem_type), POINTER :: PROBLEM
48035 
48036  enters("cmfe_Problem_CreateStartNumber",err,error,*999)
48037 
48038 #ifdef TAUPROF
48039  CALL tau_static_phase_start('Problem Create')
48040 #endif
48041 
48042  NULLIFY(problem)
48043  CALL problem_create_start(problemusernumber,problemspecification,problem,err,error,*999)
48044 
48045  exits("cmfe_Problem_CreateStartNumber")
48046  RETURN
48047 999 errorsexits("cmfe_Problem_CreateStartNumber",err,error)
48048  CALL cmfe_handleerror(err,error)
48049  RETURN
48050 
48051  END SUBROUTINE cmfe_problem_createstartnumber
48052 
48053  !
48054  !================================================================================================================================
48055  !
48056 
48058  SUBROUTINE cmfe_problem_createstartobj(problemUserNumber,problemSpecification,problem,err)
48059  !DLLEXPORT(cmfe_Problem_CreateStartObj)
48060 
48061  !Argument variables
48062  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48063  INTEGER(INTG), INTENT(IN) :: problemSpecification(:)
48064  TYPE(cmfe_problemtype), INTENT(INOUT) :: problem
48065  INTEGER(INTG), INTENT(OUT) :: err
48066  !Local variables
48067 
48068  enters("cmfe_Problem_CreateStartObj",err,error,*999)
48069 
48070 #ifdef TAUPROF
48071  CALL tau_static_phase_start('problem Create')
48072 #endif
48073 
48074  CALL problem_create_start(problemusernumber,problemspecification,problem%problem,err,error,*999)
48075 
48076  exits("cmfe_Problem_CreateStartObj")
48077  RETURN
48078 999 errorsexits("cmfe_Problem_CreateStartObj",err,error)
48079  CALL cmfe_handleerror(err,error)
48080  RETURN
48081 
48082  END SUBROUTINE cmfe_problem_createstartobj
48083 
48084  !
48085  !================================================================================================================================
48086  !
48087 
48089  SUBROUTINE cmfe_problem_controlloopcreatefinishnumber(problemUserNumber,err)
48090  !DLLEXPORT(cmfe_Problem_ControlLoopCreateFinishNumber)
48091 
48092  !Argument variables
48093  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48094  INTEGER(INTG), INTENT(OUT) :: err
48095  !Local variables
48096  TYPE(problem_type), POINTER :: PROBLEM
48097  TYPE(varying_string) :: localError
48098 
48099  enters("cmfe_Problem_ControlLoopCreateFinishNumber",err,error,*999)
48100 
48101  NULLIFY(problem)
48102  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
48103  IF(ASSOCIATED(problem)) THEN
48104  CALL problem_control_loop_create_finish(problem,err,error,*999)
48105  ELSE
48106  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
48107  & " does not exist."
48108  CALL flagerror(localerror,err,error,*999)
48109  END IF
48110 
48111 #ifdef TAUPROF
48112  CALL tau_static_phase_stop('Problem Control Loop Create')
48113 #endif
48114 
48115  exits("cmfe_Problem_ControlLoopCreateFinishNumber")
48116  RETURN
48117 999 errorsexits("cmfe_Problem_ControlLoopCreateFinishNumber",err,error)
48118  CALL cmfe_handleerror(err,error)
48119  RETURN
48120 
48122 
48123  !
48124  !================================================================================================================================
48125  !
48126 
48128  SUBROUTINE cmfe_problem_controlloopcreatefinishobj(problem,err)
48129  !DLLEXPORT(cmfe_Problem_ControlLoopCreateFinishObj)
48130 
48131  !Argument variables
48132  TYPE(cmfe_problemtype), INTENT(IN) :: problem
48133  INTEGER(INTG), INTENT(OUT) :: err
48134  !Local variables
48135 
48136  enters("cmfe_Problem_ControlLoopCreateFinishObj",err,error,*999)
48137 
48138  CALL problem_control_loop_create_finish(problem%problem,err,error,*999)
48139 
48140 #ifdef TAUPROF
48141  CALL tau_static_phase_stop('problem Control Loop Create')
48142 #endif
48143 
48144  exits("cmfe_Problem_ControlLoopCreateFinishObj")
48145  RETURN
48146 999 errorsexits("cmfe_Problem_ControlLoopCreateFinishObj",err,error)
48147  CALL cmfe_handleerror(err,error)
48148  RETURN
48149 
48151 
48152  !
48153  !================================================================================================================================
48154  !
48155 
48157  SUBROUTINE cmfe_problem_controlloopcreatestartnumber(problemUserNumber,err)
48158  !DLLEXPORT(cmfe_Problem_ControlLoopCreateStartNumber)
48159 
48160  !Argument variables
48161  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48162  INTEGER(INTG), INTENT(OUT) :: err
48163  !Local variables
48164  TYPE(problem_type), POINTER :: PROBLEM
48165  TYPE(varying_string) :: localError
48166 
48167  enters("cmfe_Problem_ControlLoopCreateStartNumber",err,error,*999)
48168 
48169 #ifdef TAUPROF
48170  CALL tau_static_phase_start('Problem Control Loop Create')
48171 #endif
48172 
48173  NULLIFY(problem)
48174  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
48175  IF(ASSOCIATED(problem)) THEN
48176  CALL problem_control_loop_create_start(problem,err,error,*999)
48177  ELSE
48178  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
48179  & " does not exist."
48180  CALL flagerror(localerror,err,error,*999)
48181  END IF
48182 
48183  exits("cmfe_Problem_ControlLoopCreateStartNumber")
48184  RETURN
48185 999 errorsexits("cmfe_Problem_ControlLoopCreateStartNumber",err,error)
48186  CALL cmfe_handleerror(err,error)
48187  RETURN
48188 
48190 
48191  !
48192  !================================================================================================================================
48193  !
48194 
48196  SUBROUTINE cmfe_problem_controlloopcreatestartobj(problem,err)
48197  !DLLEXPORT(cmfe_Problem_ControlLoopCreateStartObj)
48198 
48199  !Argument variables
48200  TYPE(cmfe_problemtype), INTENT(IN) :: problem
48201  INTEGER(INTG), INTENT(OUT) :: err
48202  !Local variables
48203 
48204  enters("cmfe_Problem_ControlLoopCreateStartObj",err,error,*999)
48205 
48206 #ifdef TAUPROF
48207  CALL tau_static_phase_start('problem Control Loop Create')
48208 #endif
48209 
48210  CALL problem_control_loop_create_start(problem%problem,err,error,*999)
48211 
48212  exits("cmfe_Problem_ControlLoopCreateStartObj")
48213  RETURN
48214 999 errorsexits("cmfe_Problem_ControlLoopCreateStartObj",err,error)
48215  CALL cmfe_handleerror(err,error)
48216  RETURN
48217 
48219 
48220  !
48221  !================================================================================================================================
48222  !
48223 
48225  SUBROUTINE cmfe_problem_controlloopdestroynumber(problemUserNumber,err)
48226  !DLLEXPORT(cmfe_Problem_ControlLoopDestroyNumber)
48227 
48228  !Argument variables
48229  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48230  INTEGER(INTG), INTENT(OUT) :: err
48231  !Local variables
48232  TYPE(problem_type), POINTER :: PROBLEM
48233  TYPE(varying_string) :: localError
48234 
48235  enters("cmfe_Problem_ControlLoopDestroyNumber",err,error,*999)
48236 
48237  NULLIFY(problem)
48238  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
48239  IF(ASSOCIATED(problem)) THEN
48240  CALL problem_control_loop_destroy(problem,err,error,*999)
48241  ELSE
48242  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
48243  & " does not exist."
48244  CALL flagerror(localerror,err,error,*999)
48245  END IF
48246 
48247  exits("cmfe_Problem_ControlLoopDestroyNumber")
48248  RETURN
48249 999 errorsexits("cmfe_Problem_ControlLoopDestroyNumber",err,error)
48250  CALL cmfe_handleerror(err,error)
48251  RETURN
48252 
48254 
48255  !
48256  !================================================================================================================================
48257  !
48258 
48260  SUBROUTINE cmfe_problem_controlloopdestroyobj(problem,err)
48261  !DLLEXPORT(cmfe_Problem_ControlLoopDestroyObj)
48262 
48263  !Argument variables
48264  TYPE(cmfe_problemtype), INTENT(IN) :: problem
48265  INTEGER(INTG), INTENT(OUT) :: err
48266  !Local variables
48267 
48268  enters("cmfe_Problem_ControlLoopDestroyObj",err,error,*999)
48269 
48270  CALL problem_control_loop_destroy(problem%problem,err,error,*999)
48271 
48272  exits("cmfe_Problem_ControlLoopDestroyObj")
48273  RETURN
48274 999 errorsexits("cmfe_Problem_ControlLoopDestroyObj",err,error)
48275  CALL cmfe_handleerror(err,error)
48276  RETURN
48277 
48278  END SUBROUTINE cmfe_problem_controlloopdestroyobj
48279 
48280  !
48281  !================================================================================================================================
48282  !
48283 
48285  SUBROUTINE cmfe_problem_controlloopgetnumber0(problemUserNumber,controlLoopIdentifier,controlLoop,err)
48286  !DLLEXPORT(cmfe_Problem_ControlLoopGetNumber0)
48287 
48288  !Argument variables
48289  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48290  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
48291  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
48292  INTEGER(INTG), INTENT(OUT) :: err
48293  !Local variables
48294  TYPE(problem_type), POINTER :: PROBLEM
48295  TYPE(varying_string) :: localError
48296 
48297  enters("cmfe_Problem_ControlLoopGetNumber0",err,error,*999)
48298 
48299  NULLIFY(problem)
48300  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
48301  IF(ASSOCIATED(problem)) THEN
48302  CALL problem_control_loop_get(problem,controlloopidentifier,controlloop%controlLoop,err,error,*999)
48303  ELSE
48304  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
48305  CALL flagerror(localerror,err,error,*999)
48306  END IF
48307 
48308  exits("cmfe_Problem_ControlLoopGetNumber0")
48309  RETURN
48310 999 errorsexits("cmfe_Problem_ControlLoopGetNumber0",err,error)
48311  CALL cmfe_handleerror(err,error)
48312  RETURN
48313 
48314  END SUBROUTINE cmfe_problem_controlloopgetnumber0
48315 
48316  !
48317  !================================================================================================================================
48318  !
48319 
48321  SUBROUTINE cmfe_problem_controlloopgetnumber1(problemUserNumber,controlLoopIdentifiers,controlLoop,err)
48322  !DLLEXPORT(cmfe_Problem_ControlLoopGetNumber1)
48323 
48324  !Argument variables
48325  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48326  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
48327  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
48328  INTEGER(INTG), INTENT(OUT) :: err
48329  !Local variables
48330  TYPE(problem_type), POINTER :: PROBLEM
48331  TYPE(varying_string) :: localError
48332 
48333  enters("cmfe_Problem_ControlLoopGetNumber1",err,error,*999)
48334 
48335  NULLIFY(problem)
48336  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
48337  IF(ASSOCIATED(problem)) THEN
48338  CALL problem_control_loop_get(problem,controlloopidentifiers,controlloop%controlLoop,err,error,*999)
48339  ELSE
48340  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
48341  CALL flagerror(localerror,err,error,*999)
48342  END IF
48343 
48344  exits("cmfe_Problem_ControlLoopGetNumber1")
48345  RETURN
48346 999 errorsexits("cmfe_Problem_ControlLoopGetNumber1",err,error)
48347  CALL cmfe_handleerror(err,error)
48348  RETURN
48349 
48350  END SUBROUTINE cmfe_problem_controlloopgetnumber1
48351 
48352  !
48353  !================================================================================================================================
48354  !
48355 
48357  SUBROUTINE cmfe_problem_controlloopgetobj0(problem,controlLoopIdentifier,controlLoop,err)
48358  !DLLEXPORT(cmfe_Problem_ControlLoopGetObj0)
48359 
48360  !Argument variables
48361  TYPE(cmfe_problemtype), INTENT(IN) :: problem
48362  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
48363  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
48364  INTEGER(INTG), INTENT(OUT) :: err
48365  !Local variables
48366 
48367  enters("cmfe_Problem_ControlLoopGetObj0",err,error,*999)
48368 
48369  CALL problem_control_loop_get(problem%problem,controlloopidentifier,controlloop%controlLoop,err,error,*999)
48370 
48371  exits("cmfe_Problem_ControlLoopGetObj0")
48372  RETURN
48373 999 errorsexits("cmfe_Problem_ControlLoopGetObj0",err,error)
48374  CALL cmfe_handleerror(err,error)
48375  RETURN
48376 
48377  END SUBROUTINE cmfe_problem_controlloopgetobj0
48378 
48379  !
48380  !================================================================================================================================
48381  !
48382 
48384  SUBROUTINE cmfe_problem_controlloopgetobj1(problem,controlLoopIdentifiers,controlLoop,err)
48385  !DLLEXPORT(cmfe_Problem_ControlLoopGetObj1)
48386 
48387  !Argument variables
48388  TYPE(cmfe_problemtype), INTENT(IN) :: problem
48389  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
48390  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
48391  INTEGER(INTG), INTENT(OUT) :: err
48392  !Local variables
48393 
48394  enters("cmfe_Problem_ControlLoopGetObj1",err,error,*999)
48395 
48396  CALL problem_control_loop_get(problem%problem,controlloopidentifiers,controlloop%controlLoop,err,error,*999)
48397 
48398  exits("cmfe_Problem_ControlLoopGetObj1")
48399  RETURN
48400 999 errorsexits("cmfe_Problem_ControlLoopGetObj1",err,error)
48401  CALL cmfe_handleerror(err,error)
48402  RETURN
48403 
48404  END SUBROUTINE cmfe_problem_controlloopgetobj1
48405 
48406  !
48407  !================================================================================================================================
48408  !
48409 
48411  SUBROUTINE cmfe_problem_destroynumber(problemUserNumber,err)
48412  !DLLEXPORT(cmfe_Problem_DestroyNumber)
48413 
48414  !Argument variables
48415  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48416  INTEGER(INTG), INTENT(OUT) :: err
48417  !Local variables
48418  TYPE(problem_type), POINTER :: PROBLEM
48419  TYPE(varying_string) :: localError
48420 
48421  enters("cmfe_Problem_DestroyNumber",err,error,*999)
48422 
48423  NULLIFY(problem)
48424  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
48425  IF(ASSOCIATED(problem)) THEN
48426  CALL problem_destroy(problem,err,error,*999)
48427  ELSE
48428  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
48429  & " does not exist."
48430  CALL flagerror(localerror,err,error,*999)
48431  END IF
48432 
48433  exits("cmfe_Problem_DestroyNumber")
48434  RETURN
48435 999 errorsexits("cmfe_Problem_DestroyNumber",err,error)
48436  CALL cmfe_handleerror(err,error)
48437  RETURN
48438 
48439  END SUBROUTINE cmfe_problem_destroynumber
48440 
48441  !
48442  !================================================================================================================================
48443  !
48444 
48446  SUBROUTINE cmfe_problem_destroyobj(problem,err)
48447  !DLLEXPORT(cmfe_Problem_DestroyObj)
48448 
48449  !Argument variables
48450  TYPE(cmfe_problemtype), INTENT(IN) :: problem
48451  INTEGER(INTG), INTENT(OUT) :: err
48452  !Local variables
48453 
48454  enters("cmfe_Problem_DestroyObj",err,error,*999)
48455 
48456  CALL problem_destroy(problem%problem,err,error,*999)
48457 
48458  exits("cmfe_Problem_DestroyObj")
48459  RETURN
48460 999 errorsexits("cmfe_Problem_DestroyObj",err,error)
48461  CALL cmfe_handleerror(err,error)
48462  RETURN
48463 
48464  END SUBROUTINE cmfe_problem_destroyobj
48465 
48466  !
48467  !================================================================================================================================
48468  !
48469 
48471  SUBROUTINE cmfe_problem_solvenumber(problemUserNumber,err)
48472  !DLLEXPORT(cmfe_Problem_SolveNumber)
48473 
48474  !Argument variables
48475  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48476  INTEGER(INTG), INTENT(OUT) :: err
48477  !Local variables
48478  TYPE(problem_type), POINTER :: PROBLEM
48479  TYPE(varying_string) :: localError
48480 
48481  enters("cmfe_Problem_SolveNumber",err,error,*999)
48482 
48483 #ifdef TAUPROF
48484  CALL tau_static_phase_start('Problem Solve')
48485 #endif
48486 
48487  NULLIFY(problem)
48488  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
48489  IF(ASSOCIATED(problem)) THEN
48490  CALL problem_solve(problem,err,error,*999)
48491  ELSE
48492  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
48493  & " does not exist."
48494  CALL flagerror(localerror,err,error,*999)
48495  END IF
48496 
48497 #ifdef TAUPROF
48498  CALL tau_static_phase_stop('Problem Solve')
48499 #endif
48500 
48501  exits("cmfe_Problem_SolveNumber")
48502  RETURN
48503 999 errorsexits("cmfe_Problem_SolveNumber",err,error)
48504  CALL cmfe_handleerror(err,error)
48505  RETURN
48506 
48507  END SUBROUTINE cmfe_problem_solvenumber
48508 
48509  !
48510  !================================================================================================================================
48511  !
48512 
48514  SUBROUTINE cmfe_problem_solveobj(problem,err)
48515  !DLLEXPORT(cmfe_Problem_SolveObj)
48516 
48517  !Argument variables
48518  TYPE(cmfe_problemtype), INTENT(IN) :: problem
48519  INTEGER(INTG), INTENT(OUT) :: err
48520  !Local variables
48521 
48522  enters("cmfe_Problem_SolveObj",err,error,*999)
48523 
48524 #ifdef TAUPROF
48525  CALL tau_static_phase_start('problem Solve')
48526 #endif
48527 
48528  CALL problem_solve(problem%problem,err,error,*999)
48529 
48530 #ifdef TAUPROF
48531  CALL tau_static_phase_stop('problem Solve')
48532 #endif
48533 
48534  exits("cmfe_Problem_SolveObj")
48535  RETURN
48536 999 errorsexits("cmfe_Problem_SolveObj",err,error)
48537  CALL cmfe_handleerror(err,error)
48538  RETURN
48539 
48540  END SUBROUTINE cmfe_problem_solveobj
48541 
48542  !
48543  !================================================================================================================================
48544  !
48545 
48547  SUBROUTINE cmfe_problem_solvergetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,solver,err)
48548  !DLLEXPORT(cmfe_Problem_SolverGetNumber0)
48549 
48550  !Argument variables
48551  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48552  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
48553  INTEGER(INTG), INTENT(IN) :: solverIndex
48554  TYPE(cmfe_solvertype), INTENT(INOUT) :: solver
48555  INTEGER(INTG), INTENT(OUT) :: err
48556  !Local variables
48557  TYPE(problem_type), POINTER :: PROBLEM
48558  TYPE(varying_string) :: localError
48559 
48560  enters("cmfe_Problem_SolverGetNumber0",err,error,*999)
48561 
48562  NULLIFY(problem)
48563  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
48564  IF(ASSOCIATED(problem)) THEN
48565  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver%solver,err,error,*999)
48566  ELSE
48567  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
48568  CALL flagerror(localerror,err,error,*999)
48569  END IF
48570 
48571  exits("cmfe_Problem_SolverGetNumber0")
48572  RETURN
48573 999 errorsexits("cmfe_Problem_SolverGetNumber0",err,error)
48574  CALL cmfe_handleerror(err,error)
48575  RETURN
48576 
48577  END SUBROUTINE cmfe_problem_solvergetnumber0
48578 
48579  !
48580  !================================================================================================================================
48581  !
48582 
48584  SUBROUTINE cmfe_problem_solvergetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,solver,err)
48585  !DLLEXPORT(cmfe_Problem_SolverGetNumber1)
48586 
48587  !Argument variables
48588  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48589  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
48590  INTEGER(INTG), INTENT(IN) :: solverIndex
48591  TYPE(cmfe_solvertype), INTENT(INOUT) :: solver
48592  INTEGER(INTG), INTENT(OUT) :: err
48593  !Local variables
48594  TYPE(problem_type), POINTER :: PROBLEM
48595  TYPE(varying_string) :: localError
48596 
48597  enters("cmfe_Problem_SolverGetNumber1",err,error,*999)
48598 
48599  NULLIFY(problem)
48600  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
48601  IF(ASSOCIATED(problem)) THEN
48602  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver%solver,err,error,*999)
48603  ELSE
48604  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
48605  CALL flagerror(localerror,err,error,*999)
48606  END IF
48607 
48608  exits("cmfe_Problem_SolverGetNumber1")
48609  RETURN
48610 999 errorsexits("cmfe_Problem_SolverGetNumber1",err,error)
48611  CALL cmfe_handleerror(err,error)
48612  RETURN
48613 
48614  END SUBROUTINE cmfe_problem_solvergetnumber1
48615 
48616  !
48617  !================================================================================================================================
48618  !
48619 
48621  SUBROUTINE cmfe_problem_solvergetobj0(problem,controlLoopIdentifier,solverIndex,solver,err)
48622  !DLLEXPORT(cmfe_Problem_SolverGetObj0)
48623 
48624  !Argument variables
48625  TYPE(cmfe_problemtype), INTENT(IN) :: problem
48626  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
48627  INTEGER(INTG), INTENT(IN) :: solverIndex
48628  TYPE(cmfe_solvertype), INTENT(INOUT) :: solver
48629  INTEGER(INTG), INTENT(OUT) :: err
48630  !Local variables
48631 
48632  enters("cmfe_Problem_SolverGetObj0",err,error,*999)
48633 
48634  CALL problem_solver_get(problem%problem,controlloopidentifier,solverindex,solver%solver,err,error,*999)
48635 
48636  exits("cmfe_Problem_SolverGetObj0")
48637  RETURN
48638 999 errorsexits("cmfe_Problem_SolverGetObj0",err,error)
48639  CALL cmfe_handleerror(err,error)
48640  RETURN
48641 
48642  END SUBROUTINE cmfe_problem_solvergetobj0
48643 
48644  !
48645  !================================================================================================================================
48646  !
48647 
48649  SUBROUTINE cmfe_problem_solvergetobj1(problem,controlLoopIdentifiers,solverIndex,solver,err)
48650  !DLLEXPORT(cmfe_Problem_SolverGetObj1)
48651 
48652  !Argument variables
48653  TYPE(cmfe_problemtype), INTENT(IN) :: problem
48654  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
48655  INTEGER(INTG), INTENT(IN) :: solverIndex
48656  TYPE(cmfe_solvertype), INTENT(INOUT) :: solver
48657  INTEGER(INTG), INTENT(OUT) :: err
48658  !Local variables
48659 
48660  enters("cmfe_Problem_SolverGetObj1",err,error,*999)
48661 
48662  CALL problem_solver_get(problem%problem,controlloopidentifiers,solverindex,solver%solver,err,error,*999)
48663 
48664  exits("cmfe_Problem_SolverGetObj1")
48665  RETURN
48666 999 errorsexits("cmfe_Problem_SolverGetObj1",err,error)
48667  CALL cmfe_handleerror(err,error)
48668  RETURN
48669 
48670  END SUBROUTINE cmfe_problem_solvergetobj1
48671 
48672  !
48673  !================================================================================================================================
48674  !
48675 
48677  SUBROUTINE cmfe_solverequations_boundaryconditionsanalyticnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,err)
48678  !DLLEXPORT(cmfe_SolverEquations_BoundaryConditionsAnalyticNumber0)
48679 
48680  !Argument variables
48681  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48682  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
48683  INTEGER(INTG), INTENT(IN) :: solverIndex
48684  INTEGER(INTG), INTENT(OUT) :: err
48685  !Local variables
48686  TYPE(problem_type), POINTER :: PROBLEM
48687  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
48688  TYPE(boundary_conditions_type), POINTER :: BOUNDARY_CONDITIONS
48689  TYPE(varying_string) :: localError
48690 
48691  enters("cmfe_SolverEquations_BoundaryConditionsAnalyticNumber0",err,error,*999)
48692 
48693  NULLIFY(problem)
48694  NULLIFY(solver_equations)
48695  NULLIFY(boundary_conditions)
48696  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
48697  IF(ASSOCIATED(problem)) THEN
48698  CALL problem_solver_equations_get(problem,controlloopidentifier,solverindex,solver_equations,err,error,*999)
48699  IF(ASSOCIATED(solver_equations)) THEN
48700  CALL problem_solverequationsboundaryconditionsanalytic(solver_equations,err,error,*999)
48701  ELSE
48702  localerror="Solver equations with the given solver index and control loop identifier do not exist."
48703  CALL flagerror(localerror,err,error,*999)
48704  END IF
48705  ELSE
48706  localerror="A problem with a user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
48707  CALL flagerror(localerror,err,error,*999)
48708  END IF
48709 
48710  exits("cmfe_SolverEquations_BoundaryConditionsAnalyticNumber0")
48711  RETURN
48712 999 errors("cmfe_SolverEquations_BoundaryConditionsAnalyticNumber0",err,error)
48713  exits("cmfe_SolverEquations_BoundaryConditionsAnalyticNumber0")
48714  CALL cmfe_handleerror(err,error)
48715  RETURN
48716 
48718 
48719  !
48720  !================================================================================================================================
48721  !
48722 
48724  SUBROUTINE cmfe_solverequations_boundaryconditionsanalyticnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,err)
48725  !DLLEXPORT(cmfe_SolverEquations_BoundaryConditionsAnalyticNumber1)
48726 
48727  !Argument variables
48728  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48729  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
48730  INTEGER(INTG), INTENT(IN) :: solverIndex
48731  INTEGER(INTG), INTENT(OUT) :: err
48732  !Local variables
48733  TYPE(problem_type), POINTER :: PROBLEM
48734  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
48735  TYPE(boundary_conditions_type), POINTER :: BOUNDARY_CONDITIONS
48736  TYPE(varying_string) :: localError
48737 
48738  enters("cmfe_SolverEquations_BoundaryConditionsAnalyticNumber1",err,error,*999)
48739 
48740  NULLIFY(problem)
48741  NULLIFY(solver_equations)
48742  NULLIFY(boundary_conditions)
48743  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
48744  IF(ASSOCIATED(problem)) THEN
48745  CALL problem_solver_equations_get(problem,controlloopidentifiers,solverindex,solver_equations,err,error,*999)
48746  IF(ASSOCIATED(solver_equations)) THEN
48747  CALL problem_solverequationsboundaryconditionsanalytic(solver_equations,err,error,*999)
48748  ELSE
48749  localerror="Solver equations with the given solver index and control loop identifier do not exist."
48750  CALL flagerror(localerror,err,error,*999)
48751  END IF
48752  ELSE
48753  localerror="A problem with a user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
48754  CALL flagerror(localerror,err,error,*999)
48755  END IF
48756 
48757  exits("cmfe_SolverEquations_BoundaryConditionsAnalyticNumber1")
48758  RETURN
48759 999 errors("cmfe_SolverEquations_BoundaryConditionsAnalyticNumber1",err,error)
48760  exits("cmfe_SolverEquations_BoundaryConditionsAnalyticNumber1")
48761  CALL cmfe_handleerror(err,error)
48762  RETURN
48763 
48765 
48766  !
48767  !================================================================================================================================
48768  !
48769 
48771  SUBROUTINE cmfe_solverequations_boundaryconditionsanalyticobj(solverEquations,err)
48772  !DLLEXPORT(cmfe_SolverEquations_BoundaryConditionsAnalyticObj)
48773 
48774  !Argument variables
48775  TYPE(cmfe_solverequationstype), INTENT(IN) :: solverEquations
48776  INTEGER(INTG), INTENT(OUT) :: err
48777 
48778  enters("cmfe_SolverEquations_BoundaryConditionsAnalyticObj",err,error,*999)
48779 
48780  CALL problem_solverequationsboundaryconditionsanalytic(solverequations%solverEquations,err,error,*999)
48781 
48782  exits("cmfe_SolverEquations_BoundaryConditionsAnalyticObj")
48783  RETURN
48784 999 errors("cmfe_SolverEquations_BoundaryConditionsAnalyticObj",err,error)
48785  exits("cmfe_SolverEquations_BoundaryConditionsAnalyticObj")
48786  CALL cmfe_handleerror(err,error)
48787  RETURN
48788 
48790 
48791  !
48792  !================================================================================================================================
48793  !
48794 
48796  SUBROUTINE cmfe_problem_solverequationscreatefinishnumber(problemUserNumber,err)
48797  !DLLEXPORT(cmfe_Problem_SolverEquationsCreateFinishNumber)
48798 
48799  !Argument variables
48800  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48801  INTEGER(INTG), INTENT(OUT) :: err
48802  !Local variables
48803  TYPE(problem_type), POINTER :: PROBLEM
48804  TYPE(varying_string) :: localError
48805 
48806  enters("cmfe_Problem_SolverEquationsCreateFinishNumber",err,error,*999)
48807 
48808  NULLIFY(problem)
48809  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
48810  IF(ASSOCIATED(problem)) THEN
48811  CALL problem_solver_equations_create_finish(problem,err,error,*999)
48812  ELSE
48813  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
48814  & " does not exist."
48815  CALL flagerror(localerror,err,error,*999)
48816  END IF
48817 
48818 #ifdef TAUPROF
48819  CALL tau_static_phase_stop('Solver Equations Create')
48820 #endif
48821 
48822  exits("cmfe_Problem_SolverEquationsCreateFinishNumber")
48823  RETURN
48824 999 errors("cmfe_Problem_SolverEquationsCreateFinishNumber",err,error)
48825  exits("cmfe_Problem_SolverEquationsCreateFinishNumber")
48826  CALL cmfe_handleerror(err,error)
48827  RETURN
48828 
48830 
48831  !
48832  !================================================================================================================================
48833  !
48834 
48836  SUBROUTINE cmfe_problem_solverequationscreatefinishobj(problem,err)
48837  !DLLEXPORT(cmfe_Problem_SolverEquationsCreateFinishObj)
48838 
48839  !Argument variables
48840  TYPE(cmfe_problemtype), INTENT(IN) :: problem
48841  INTEGER(INTG), INTENT(OUT) :: err
48842  !Local variables
48843 
48844  enters("cmfe_Problem_SolverEquationsCreateFinishObj",err,error,*999)
48845 
48846  CALL problem_solver_equations_create_finish(problem%problem,err,error,*999)
48847 
48848 #ifdef TAUPROF
48849  CALL tau_static_phase_stop('Solver Equations Create')
48850 #endif
48851 
48852  exits("cmfe_Problem_SolverEquationsCreateFinishObj")
48853  RETURN
48854 999 errorsexits("cmfe_Problem_SolverEquationsCreateFinishObj",err,error)
48855  CALL cmfe_handleerror(err,error)
48856  RETURN
48857 
48859 
48860  !
48861  !================================================================================================================================
48862  !
48863 
48865  SUBROUTINE cmfe_problem_solverequationscreatestartnumber(problemUserNumber,err)
48866  !DLLEXPORT(cmfe_Problem_SolverEquationsCreateStartNumber)
48867 
48868  !Argument variables
48869  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48870  INTEGER(INTG), INTENT(OUT) :: err
48871  !Local variables
48872  TYPE(problem_type), POINTER :: PROBLEM
48873  TYPE(varying_string) :: localError
48874 
48875  enters("cmfe_Problem_SolverEquationsCreateStartNumber",err,error,*999)
48876 
48877 #ifdef TAUPROF
48878  CALL tau_static_phase_start('Solver Equations Create')
48879 #endif
48880 
48881  NULLIFY(problem)
48882  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
48883  IF(ASSOCIATED(problem)) THEN
48884  CALL problem_solver_equations_create_start(problem,err,error,*999)
48885  ELSE
48886  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
48887  & " does not exist."
48888  CALL flagerror(localerror,err,error,*999)
48889  END IF
48890 
48891  exits("cmfe_Problem_SolverEquationsCreateStartNumber")
48892  RETURN
48893 999 errors("cmfe_Problem_SolverEquationsCreateStartNumber",err,error)
48894  exits("cmfe_Problem_SolverEquationsCreateStartNumber")
48895  CALL cmfe_handleerror(err,error)
48896  RETURN
48897 
48899 
48900  !
48901  !================================================================================================================================
48902  !
48903 
48905  SUBROUTINE cmfe_problem_solverequationscreatestartobj(problem,err)
48906  !DLLEXPORT(cmfe_Problem_SolverEquationsCreateStartObj)
48907 
48908  !Argument variables
48909  TYPE(cmfe_problemtype), INTENT(IN) :: problem
48910  INTEGER(INTG), INTENT(OUT) :: err
48911  !Local variables
48912 
48913  enters("cmfe_Problem_SolverEquationsCreateStartObj",err,error,*999)
48914 
48915 #ifdef TAUPROF
48916  CALL tau_static_phase_start('Solver Equations Create')
48917 #endif
48918 
48919  CALL problem_solver_equations_create_start(problem%problem,err,error,*999)
48920 
48921  exits("cmfe_Problem_SolverEquationsCreateStartObj")
48922  RETURN
48923 999 errorsexits("cmfe_Problem_SolverEquationsCreateStartObj",err,error)
48924  CALL cmfe_handleerror(err,error)
48925  RETURN
48926 
48928 
48929  !
48930  !================================================================================================================================
48931  !
48932 
48934  SUBROUTINE cmfe_problem_solverequationsdestroynumber(problemUserNumber,err)
48935  !DLLEXPORT(cmfe_Problem_SolverEquationsDestroyNumber)
48936 
48937  !Argument variables
48938  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48939  INTEGER(INTG), INTENT(OUT) :: err
48940  !Local variables
48941  TYPE(problem_type), POINTER :: PROBLEM
48942  TYPE(varying_string) :: localError
48943 
48944  enters("cmfe_Problem_SolverEquationsDestroyNumber",err,error,*999)
48945 
48946  NULLIFY(problem)
48947  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
48948  IF(ASSOCIATED(problem)) THEN
48949  CALL problem_solver_equations_destroy(problem,err,error,*999)
48950  ELSE
48951  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
48952  & " does not exist."
48953  CALL flagerror(localerror,err,error,*999)
48954  END IF
48955 
48956  exits("cmfe_Problem_SolverEquationsDestroyNumber")
48957  RETURN
48958 999 errorsexits("cmfe_Problem_SolverEquationsDestroyNumber",err,error)
48959  CALL cmfe_handleerror(err,error)
48960  RETURN
48961 
48963 
48964  !
48965  !================================================================================================================================
48966  !
48967 
48969  SUBROUTINE cmfe_problem_solverequationsdestroyobj(problem,err)
48970  !DLLEXPORT(cmfe_Problem_SolverEquationsDestroyObj)
48971 
48972  !Argument variables
48973  TYPE(cmfe_problemtype), INTENT(IN) :: problem
48974  INTEGER(INTG), INTENT(OUT) :: err
48975  !Local variables
48976 
48977  enters("cmfe_Problem_SolverEquationsDestroyObj",err,error,*999)
48978 
48979  CALL problem_solver_equations_destroy(problem%problem,err,error,*999)
48980 
48981  exits("cmfe_Problem_SolverEquationsDestroyObj")
48982  RETURN
48983 999 errorsexits("cmfe_Problem_SolverEquationsDestroyObj",err,error)
48984  CALL cmfe_handleerror(err,error)
48985  RETURN
48986 
48988 
48989  !
48990  !================================================================================================================================
48991  !
48992 
48994  SUBROUTINE cmfe_problem_solverequationsgetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,solverEquations,err)
48995  !DLLEXPORT(cmfe_Problem_SolverEquationsGetNumber0)
48996 
48997  !Argument variables
48998  INTEGER(INTG), INTENT(IN) :: problemUserNumber
48999  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
49000  INTEGER(INTG), INTENT(IN) :: solverIndex
49001  TYPE(cmfe_solverequationstype), INTENT(INOUT) :: solverEquations
49002  INTEGER(INTG), INTENT(OUT) :: err
49003  !Local variables
49004  TYPE(problem_type), POINTER :: PROBLEM
49005  TYPE(varying_string) :: localError
49006 
49007  enters("cmfe_Problem_SolverEquationsGetNumber0",err,error,*999)
49008 
49009  NULLIFY(problem)
49010  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
49011  IF(ASSOCIATED(problem)) THEN
49012  CALL problem_solver_equations_get(problem,controlloopidentifier,solverindex,solverequations%solverEquations,err,error,*999)
49013  ELSE
49014  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
49015  CALL flagerror(localerror,err,error,*999)
49016  END IF
49017 
49018  exits("cmfe_Problem_SolverEquationsGetNumber0")
49019  RETURN
49020 999 errorsexits("cmfe_Problem_SolverEquationsGetNumber0",err,error)
49021  CALL cmfe_handleerror(err,error)
49022  RETURN
49023 
49025 
49026  !
49027  !================================================================================================================================
49028  !
49029 
49031  SUBROUTINE cmfe_problem_solverequationsgetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,solverEquations,err)
49032  !DLLEXPORT(cmfe_Problem_SolverEquationsGetNumber1)
49033 
49034  !Argument variables
49035  INTEGER(INTG), INTENT(IN) :: problemUserNumber
49036  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
49037  INTEGER(INTG), INTENT(IN) :: solverIndex
49038  TYPE(cmfe_solverequationstype), INTENT(INOUT) :: solverEquations
49039  INTEGER(INTG), INTENT(OUT) :: err
49040  !Local variables
49041  TYPE(problem_type), POINTER :: PROBLEM
49042  TYPE(varying_string) :: localError
49043 
49044  enters("cmfe_Problem_SolverEquationsGetNumber1",err,error,*999)
49045 
49046  NULLIFY(problem)
49047  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
49048  IF(ASSOCIATED(problem)) THEN
49049  CALL problem_solver_equations_get(problem,controlloopidentifiers,solverindex,solverequations%solverEquations,err,error,*999)
49050  ELSE
49051  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
49052  CALL flagerror(localerror,err,error,*999)
49053  END IF
49054 
49055  exits("cmfe_Problem_SolverEquationsGetNumber1")
49056  RETURN
49057 999 errorsexits("cmfe_Problem_SolverEquationsGetNumber1",err,error)
49058  CALL cmfe_handleerror(err,error)
49059  RETURN
49060 
49062 
49063  !
49064  !================================================================================================================================
49065  !
49066 
49068  SUBROUTINE cmfe_problem_solverequationsgetobj0(problem,controlLoopIdentifier,solverIndex,solverEquations,err)
49069  !DLLEXPORT(cmfe_Problem_SolverEquationsGetObj0)
49070 
49071  !Argument variables
49072  TYPE(cmfe_problemtype), INTENT(IN) :: problem
49073  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
49074  INTEGER(INTG), INTENT(IN) :: solverIndex
49075  TYPE(cmfe_solverequationstype), INTENT(INOUT) :: solverEquations
49076  INTEGER(INTG), INTENT(OUT) :: err
49077  !Local variables
49078 
49079  enters("cmfe_Problem_SolverEquationsGetObj0",err,error,*999)
49080 
49081  CALL problem_solver_equations_get(problem%problem,controlloopidentifier,solverindex,solverequations%solverEquations, &
49082  & err,error,*999)
49083 
49084  exits("cmfe_Problem_SolverEquationsGetObj0")
49085  RETURN
49086 999 errorsexits("cmfe_Problem_SolverEquationsGetObj0",err,error)
49087  CALL cmfe_handleerror(err,error)
49088  RETURN
49089 
49091 
49092  !
49093  !================================================================================================================================
49094  !
49095 
49097  SUBROUTINE cmfe_problem_solverequationsgetobj1(problem,controlLoopIdentifiers,solverIndex,solverEquations,err)
49098  !DLLEXPORT(cmfe_Problem_SolverEquationsGetObj1)
49099 
49100  !Argument variables
49101  TYPE(cmfe_problemtype), INTENT(IN) :: problem
49102  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
49103  INTEGER(INTG), INTENT(IN) :: solverIndex
49104  TYPE(cmfe_solverequationstype), INTENT(INOUT) :: solverEquations
49105  INTEGER(INTG), INTENT(OUT) :: err
49106  !Local variables
49107 
49108  enters("cmfe_Problem_SolverEquationsGetObj1",err,error,*999)
49109 
49110  CALL problem_solver_equations_get(problem%problem,controlloopidentifiers,solverindex,solverequations%solverEquations, &
49111  & err,error,*999)
49112 
49113  exits("cmfe_Problem_SolverEquationsGetObj1")
49114  RETURN
49115 999 errorsexits("cmfe_Problem_SolverEquationsGetObj1",err,error)
49116  CALL cmfe_handleerror(err,error)
49117  RETURN
49118 
49120 
49121  !
49122  !================================================================================================================================
49123  !
49124 
49126  SUBROUTINE cmfe_problem_solverscreatefinishnumber(problemUserNumber,err)
49127  !DLLEXPORT(cmfe_Problem_SolversCreateFinishNumber)
49128 
49129  !Argument variables
49130  INTEGER(INTG), INTENT(IN) :: problemUserNumber
49131  INTEGER(INTG), INTENT(OUT) :: err
49132  !Local variables
49133  TYPE(problem_type), POINTER :: PROBLEM
49134  TYPE(varying_string) :: localError
49135 
49136  enters("cmfe_Problem_SolversCreateFinishNumber",err,error,*999)
49137 
49138  NULLIFY(problem)
49139  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
49140  IF(ASSOCIATED(problem)) THEN
49141  CALL problem_solvers_create_finish(problem,err,error,*999)
49142  ELSE
49143  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
49144  & " does not exist."
49145  CALL flagerror(localerror,err,error,*999)
49146  END IF
49147 
49148 #ifdef TAUPROF
49149  CALL tau_static_phase_stop('Problem Solvers Create')
49150 #endif
49151 
49152  exits("cmfe_Problem_SolversCreateFinishNumber")
49153  RETURN
49154 999 errorsexits("cmfe_Problem_SolversCreateFinishNumber",err,error)
49155  CALL cmfe_handleerror(err,error)
49156  RETURN
49157 
49159 
49160  !
49161  !================================================================================================================================
49162  !
49163 
49165  SUBROUTINE cmfe_problem_solverscreatefinishobj(problem,err)
49166  !DLLEXPORT(cmfe_Problem_SolversCreateFinishObj)
49167 
49168  !Argument variables
49169  TYPE(cmfe_problemtype), INTENT(IN) :: problem
49170  INTEGER(INTG), INTENT(OUT) :: err
49171  !Local variables
49172 
49173  enters("cmfe_Problem_SolversCreateFinishObj",err,error,*999)
49174 
49175  CALL problem_solvers_create_finish(problem%problem,err,error,*999)
49176 
49177 #ifdef TAUPROF
49178  CALL tau_static_phase_stop('problem Solvers Create')
49179 #endif
49180 
49181  exits("cmfe_Problem_SolversCreateFinishObj")
49182  RETURN
49183 999 errorsexits("cmfe_Problem_SolversCreateFinishObj",err,error)
49184  CALL cmfe_handleerror(err,error)
49185  RETURN
49186 
49188 
49189  !
49190  !================================================================================================================================
49191  !
49192 
49194  SUBROUTINE cmfe_problem_solverscreatestartnumber(problemUserNumber,err)
49195  !DLLEXPORT(cmfe_Problem_SolversCreateStartNumber)
49196 
49197  !Argument variables
49198  INTEGER(INTG), INTENT(IN) :: problemUserNumber
49199  INTEGER(INTG), INTENT(OUT) :: err
49200  !Local variables
49201  TYPE(problem_type), POINTER :: PROBLEM
49202  TYPE(varying_string) :: localError
49203 
49204  enters("cmfe_Problem_SolversCreateStartNumber",err,error,*999)
49205 
49206 #ifdef TAUPROF
49207  CALL tau_static_phase_start('Problem Solvers Create')
49208 #endif
49209 
49210  NULLIFY(problem)
49211  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
49212  IF(ASSOCIATED(problem)) THEN
49213  CALL problem_solvers_create_start(problem,err,error,*999)
49214  ELSE
49215  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
49216  & " does not exist."
49217  CALL flagerror(localerror,err,error,*999)
49218  END IF
49219 
49220  exits("cmfe_Problem_SolversCreateStartNumber")
49221  RETURN
49222 999 errorsexits("cmfe_Problem_SolversCreateStartNumber",err,error)
49223  CALL cmfe_handleerror(err,error)
49224  RETURN
49225 
49227 
49228  !
49229  !================================================================================================================================
49230  !
49231 
49233  SUBROUTINE cmfe_problem_solverscreatestartobj(problem,err)
49234  !DLLEXPORT(cmfe_Problem_SolversCreateStartObj)
49235 
49236  !Argument variables
49237  TYPE(cmfe_problemtype), INTENT(IN) :: problem
49238  INTEGER(INTG), INTENT(OUT) :: err
49239  !Local variables
49240 
49241  enters("cmfe_Problem_SolversCreateStartObj",err,error,*999)
49242 
49243 #ifdef TAUPROF
49244  CALL tau_static_phase_start('problem Solvers Create')
49245 #endif
49246 
49247  CALL problem_solvers_create_start(problem%problem,err,error,*999)
49248 
49249  exits("cmfe_Problem_SolversCreateStartObj")
49250  RETURN
49251 999 errorsexits("cmfe_Problem_SolversCreateStartObj",err,error)
49252  CALL cmfe_handleerror(err,error)
49253  RETURN
49254 
49255  END SUBROUTINE cmfe_problem_solverscreatestartobj
49256 
49257  !
49258  !================================================================================================================================
49259  !
49260 
49262  SUBROUTINE cmfe_problem_solversdestroynumber(problemUserNumber,err)
49263  !DLLEXPORT(cmfe_Problem_SolversDestroyNumber)
49264 
49265  !Argument variables
49266  INTEGER(INTG), INTENT(IN) :: problemUserNumber
49267  INTEGER(INTG), INTENT(OUT) :: err
49268  !Local variables
49269  TYPE(problem_type), POINTER :: PROBLEM
49270  TYPE(varying_string) :: localError
49271 
49272  enters("cmfe_Problem_SolversDestroyNumber",err,error,*999)
49273 
49274  NULLIFY(problem)
49275  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
49276  IF(ASSOCIATED(problem)) THEN
49277  CALL problem_solvers_destroy(problem,err,error,*999)
49278  ELSE
49279  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
49280  & " does not exist."
49281  CALL flagerror(localerror,err,error,*999)
49282  END IF
49283 
49284  exits("cmfe_Problem_SolversDestroyNumber")
49285  RETURN
49286 999 errorsexits("cmfe_Problem_SolversDestroyNumber",err,error)
49287  CALL cmfe_handleerror(err,error)
49288  RETURN
49289 
49290  END SUBROUTINE cmfe_problem_solversdestroynumber
49291 
49292  !
49293  !================================================================================================================================
49294  !
49295 
49297  SUBROUTINE cmfe_problem_solversdestroyobj(problem,err)
49298  !DLLEXPORT(cmfe_Problem_SolversDestroyObj)
49299 
49300  !Argument variables
49301  TYPE(cmfe_problemtype), INTENT(IN) :: problem
49302  INTEGER(INTG), INTENT(OUT) :: err
49303  !Local variables
49304 
49305  enters("cmfe_Problem_SolversDestroyObj",err,error,*999)
49306 
49307  CALL problem_solvers_destroy(problem%problem,err,error,*999)
49308 
49309  exits("cmfe_Problem_SolversDestroyObj")
49310  RETURN
49311 999 errorsexits("cmfe_Problem_SolversDestroyObj",err,error)
49312  CALL cmfe_handleerror(err,error)
49313  RETURN
49314 
49315  END SUBROUTINE cmfe_problem_solversdestroyobj
49316 
49317  !
49318  !================================================================================================================================
49319  !
49320 
49322  SUBROUTINE cmfe_problem_specificationgetnumber(problemUserNumber,problemSpecification,err)
49323  !DLLEXPORT(cmfe_Problem_SpecificationGetNumber)
49324 
49325  !Argument variables
49326  INTEGER(INTG), INTENT(IN) :: problemUserNumber
49327  INTEGER(INTG), INTENT(INOUT) :: problemSpecification(:)
49328  INTEGER(INTG), INTENT(OUT) :: err
49329  !Local variables
49330  TYPE(problem_type), POINTER :: problem
49331  TYPE(varying_string) :: localError
49332 
49333  CALL enters("cmfe_Problem_SpecificationGetNumber",err,error,*999)
49334 
49335  NULLIFY(problem)
49336  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
49337  IF(ASSOCIATED(problem)) THEN
49338  CALL problem_specificationget(problem,problemspecification,err,error,*999)
49339  ELSE
49340  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
49341  & " does not exist."
49342  CALL flagerror(localerror,err,error,*999)
49343  END IF
49344 
49345  CALL exits("cmfe_Problem_SpecificationGetNumber")
49346  RETURN
49347 999 CALL errors("cmfe_Problem_SpecificationGetNumber",err,error)
49348  CALL exits("cmfe_Problem_SpecificationGetNumber")
49349  CALL cmfe_handleerror(err,error)
49350  RETURN
49351 
49353 
49354  !
49355  !================================================================================================================================
49356  !
49357 
49359  SUBROUTINE cmfe_problem_specificationgetobj(problem,problemSpecification,err)
49360  !DLLEXPORT(cmfe_Problem_SpecificationGetObj)
49361 
49362  !Argument variables
49363  TYPE(cmfe_problemtype), INTENT(IN) :: problem
49364  INTEGER(INTG), INTENT(INOUT) :: problemSpecification(:)
49365  INTEGER(INTG), INTENT(OUT) :: err
49366  !Local variables
49367 
49368  enters("cmfe_Problem_SpecificationGetObj",err,error,*999)
49369 
49370  CALL problem_specificationget(problem%problem,problemspecification,err,error,*999)
49371 
49372  exits("cmfe_Problem_SpecificationGetObj")
49373  RETURN
49374 999 errorsexits("cmfe_Problem_SpecificationGetObj",err,error)
49375  CALL cmfe_handleerror(err,error)
49376  RETURN
49377 
49378  END SUBROUTINE cmfe_problem_specificationgetobj
49379 
49380  !
49381  !================================================================================================================================
49382  !
49383 
49385  SUBROUTINE cmfe_problem_specificationsizegetnumber(problemUserNumber,specificationSize,err)
49386  !DLLEXPORT(cmfe_Problem_SpecificationSizeGetNumber)
49387 
49388  !Argument variables
49389  INTEGER(INTG), INTENT(IN) :: problemUserNumber
49390  INTEGER(INTG), INTENT(OUT) :: specificationSize
49391  INTEGER(INTG), INTENT(OUT) :: err
49392  !Local variables
49393  TYPE(problem_type), POINTER :: problem
49394  TYPE(varying_string) :: localError
49395 
49396  enters("cmfe_Problem_SpecificationSizeGetNumber",err,error,*999)
49397 
49398  NULLIFY(problem)
49399  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
49400  IF(ASSOCIATED(problem)) THEN
49401  CALL problem_specificationsizeget(problem,specificationsize,err,error,*999)
49402  ELSE
49403  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
49404  & " does not exist."
49405  CALL flagerror(localerror,err,error,*999)
49406  END IF
49407 
49408  exits("cmfe_Problem_SpecificationSizeGetNumber")
49409  RETURN
49410 999 errorsexits("cmfe_Problem_SpecificationSizeGetNumber",err,error)
49411  CALL cmfe_handleerror(err,error)
49412  RETURN
49413 
49415 
49416  !
49417  !================================================================================================================================
49418  !
49419 
49421  SUBROUTINE cmfe_problem_specificationsizegetobj(problem,specificationSize,err)
49422  !DLLEXPORT(cmfe_Problem_SpecificationSizeGetObj)
49423 
49424  !Argument variables
49425  TYPE(cmfe_problemtype), INTENT(IN) :: problem
49426  INTEGER(INTG), INTENT(OUT) :: specificationSize
49427  INTEGER(INTG), INTENT(OUT) :: err
49428  !Local variables
49429 
49430  enters("cmfe_Problem_SpecificationSizeGetObj",err,error,*999)
49431 
49432  CALL problem_specificationsizeget(problem%problem,specificationsize,err,error,*999)
49433 
49434  exits("cmfe_Problem_SpecificationSizeGetObj")
49435  RETURN
49436 999 errorsexits("cmfe_Problem_SpecificationSizeGetObj",err,error)
49437  CALL cmfe_handleerror(err,error)
49438  RETURN
49439 
49441 
49442 !!==================================================================================================================================
49443 !!
49444 !! REGION_ROUTINES
49445 !!
49446 !!==================================================================================================================================
49447 
49449  SUBROUTINE cmfe_region_coordinatesystemgetnumber(regionUserNumber,coordinateSystemUserNumber,err)
49450  !DLLEXPORT(cmfe_Region_CoordinateSystemGetNumber)
49451 
49452  !Argument variables
49453  INTEGER(INTG), INTENT(IN) :: regionUserNumber
49454  INTEGER(INTG), INTENT(OUT) :: coordinateSystemUserNumber
49455  INTEGER(INTG), INTENT(OUT) :: err
49456  !Local variables
49457  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
49458  TYPE(region_type), POINTER :: REGION
49459  TYPE(varying_string) :: localError
49460 
49461  enters("cmfe_Region_CoordinateSystemGetNumber",err,error,*999)
49462 
49463  NULLIFY(region)
49464  NULLIFY(coordinate_system)
49465  CALL region_user_number_find(regionusernumber,region,err,error,*999)
49466  IF(ASSOCIATED(region)) THEN
49467  CALL region_coordinate_system_get(region,coordinate_system,err,error,*999)
49468  IF(ASSOCIATED(coordinate_system)) THEN
49469  coordinatesystemusernumber = coordinate_system%USER_NUMBER
49470  ELSE
49471  localerror="The coordinate system is not associated for region number "// &
49472  & trim(numbertovstring(regionusernumber,"*",err,error))//"."
49473  CALL flagerror(localerror,err,error,*999)
49474  END IF
49475  ELSE
49476  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
49477  & " does not exist."
49478  CALL flagerror(localerror,err,error,*999)
49479  END IF
49480 
49481  exits("cmfe_Region_CoordinateSystemGetNumber")
49482  RETURN
49483 999 errorsexits("cmfe_Region_CoordinateSystemGetNumber",err,error)
49484  CALL cmfe_handleerror(err,error)
49485  RETURN
49486 
49488 
49489  !
49490  !================================================================================================================================
49491  !
49492 
49494  SUBROUTINE cmfe_region_coordinatesystemgetobj(region,coordinateSystem,err)
49495  !DLLEXPORT(cmfe_Region_CoordinateSystemGetObj)
49496 
49497  !Argument variables
49498  TYPE(cmfe_regiontype), INTENT(IN) :: region
49499  TYPE(cmfe_coordinatesystemtype), INTENT(INOUT) :: coordinateSystem
49500  INTEGER(INTG), INTENT(OUT) :: err
49501  !Local variables
49502 
49503  enters("cmfe_Region_CoordinateSystemGetObj",err,error,*999)
49504 
49505  CALL region_coordinate_system_get(region%region,coordinatesystem%coordinateSystem,err,error,*999)
49506 
49507  exits("cmfe_Region_CoordinateSystemGetObj")
49508  RETURN
49509 999 errorsexits("cmfe_Region_CoordinateSystemGetObj",err,error)
49510  CALL cmfe_handleerror(err,error)
49511  RETURN
49512 
49513  END SUBROUTINE cmfe_region_coordinatesystemgetobj
49514 
49515  !
49516  !================================================================================================================================
49517  !
49518 
49520  SUBROUTINE cmfe_region_coordinatesystemsetnumber(regionUserNumber,coordinateSystemUserNumber,err)
49521  !DLLEXPORT(cmfe_Region_CoordinateSystemSetNumber)
49522 
49523  !Argument variables
49524  INTEGER(INTG), INTENT(IN) :: regionUserNumber
49525  INTEGER(INTG), INTENT(IN) :: coordinateSystemUserNumber
49526  INTEGER(INTG), INTENT(OUT) :: err
49527  !Local variables
49528  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
49529  TYPE(region_type), POINTER :: REGION
49530  TYPE(varying_string) :: localError
49531 
49532  enters("cmfe_Region_CoordinateSystemSetNumber",err,error,*999)
49533 
49534  NULLIFY(region)
49535  NULLIFY(coordinate_system)
49536  CALL region_user_number_find(regionusernumber,region,err,error,*999)
49537  IF(ASSOCIATED(region)) THEN
49538  CALL coordinate_system_user_number_find(coordinatesystemusernumber,coordinate_system,err,error,*999)
49539  IF(ASSOCIATED(coordinate_system)) THEN
49540  CALL region_coordinate_system_set(region,coordinate_system,err,error,*999)
49541  ELSE
49542  localerror="A coordinate system with an user number of "// &
49543  & trim(numbertovstring(coordinatesystemusernumber,"*",err,error))//"."
49544  CALL flagerror(localerror,err,error,*999)
49545  END IF
49546  ELSE
49547  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
49548  & " does not exist."
49549  CALL flagerror(localerror,err,error,*999)
49550  END IF
49551 
49552  exits("cmfe_Region_CoordinateSystemSetNumber")
49553  RETURN
49554 999 errorsexits("cmfe_Region_CoordinateSystemSetNumber",err,error)
49555  CALL cmfe_handleerror(err,error)
49556  RETURN
49557 
49559 
49560  !
49561  !================================================================================================================================
49562  !
49563 
49565  SUBROUTINE cmfe_region_coordinatesystemsetobj(region,coordinateSystem,err)
49566  !DLLEXPORT(cmfe_Region_CoordinateSystemSetObj)
49567 
49568  !Argument variables
49569  TYPE(cmfe_regiontype), INTENT(IN) :: region
49570  TYPE(cmfe_coordinatesystemtype), INTENT(IN) :: coordinateSystem
49571  INTEGER(INTG), INTENT(OUT) :: err
49572  !Local variables
49573 
49574  enters("cmfe_Region_CoordinateSystemSetObj",err,error,*999)
49575 
49576  CALL region_coordinate_system_set(region%region,coordinatesystem%coordinateSystem,err,error,*999)
49577 
49578  exits("cmfe_Region_CoordinateSystemSetObj")
49579  RETURN
49580 999 errorsexits("cmfe_Region_CoordinateSystemSetObj",err,error)
49581  CALL cmfe_handleerror(err,error)
49582  RETURN
49583 
49584  END SUBROUTINE cmfe_region_coordinatesystemsetobj
49585 
49586  !
49587  !================================================================================================================================
49588  !
49589 
49591  SUBROUTINE cmfe_region_createfinishnumber(regionUserNumber,err)
49592  !DLLEXPORT(cmfe_Region_CreateFinishNumber)
49593 
49594  !Argument variables
49595  INTEGER(INTG), INTENT(IN) :: regionUserNumber
49596  INTEGER(INTG), INTENT(OUT) :: err
49597  !Local variables
49598  TYPE(region_type), POINTER :: REGION
49599  TYPE(varying_string) :: localError
49600 
49601  enters("cmfe_Region_CreateFinishNumber",err,error,*999)
49602 
49603  NULLIFY(region)
49604  CALL region_user_number_find(regionusernumber,region,err,error,*999)
49605  IF(ASSOCIATED(region)) THEN
49606  CALL region_create_finish(region,err,error,*999)
49607  ELSE
49608  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
49609  & " does not exist."
49610  CALL flagerror(localerror,err,error,*999)
49611  END IF
49612 
49613 #ifdef TAUPROF
49614  CALL tau_static_phase_stop('Region Create')
49615 #endif
49616 
49617  exits("cmfe_Region_CreateFinishNumber")
49618  RETURN
49619 999 errorsexits("cmfe_Region_CreateFinishNumber",err,error)
49620  CALL cmfe_handleerror(err,error)
49621  RETURN
49622 
49623  END SUBROUTINE cmfe_region_createfinishnumber
49624 
49625  !
49626  !================================================================================================================================
49627  !
49628 
49630  SUBROUTINE cmfe_region_createfinishobj(region,err)
49631  !DLLEXPORT(cmfe_Region_CreateFinishObj)
49632 
49633  !Argument variables
49634  TYPE(cmfe_regiontype), INTENT(IN) :: region
49635  INTEGER(INTG), INTENT(OUT) :: err
49636  !Local variables
49637 
49638  enters("cmfe_Region_CreateFinishObj",err,error,*999)
49639 
49640  CALL region_create_finish(region%region,err,error,*999)
49641 
49642 #ifdef TAUPROF
49643  CALL tau_static_phase_stop('region Create')
49644 #endif
49645 
49646  exits("cmfe_Region_CreateFinishObj")
49647  RETURN
49648 999 errorsexits("cmfe_Region_CreateFinishObj",err,error)
49649  CALL cmfe_handleerror(err,error)
49650  RETURN
49651 
49652  END SUBROUTINE cmfe_region_createfinishobj
49653 
49654  !
49655  !================================================================================================================================
49656  !
49657 
49659  SUBROUTINE cmfe_region_createstartnumber(regionUserNumber,parentRegionUserNumber,err)
49660  !DLLEXPORT(cmfe_Region_CreateStartNumber)
49661 
49662  !Argument variables
49663  INTEGER(INTG), INTENT(IN) :: regionUserNumber
49664  INTEGER(INTG), INTENT(IN) :: parentRegionUserNumber
49665  INTEGER(INTG), INTENT(OUT) :: err
49666  !Local variables
49667  TYPE(region_type), POINTER :: PARENT_REGION,REGION
49668  TYPE(varying_string) :: localError
49669 
49670  enters("cmfe_Region_CreateStartNumber",err,error,*999)
49671 
49672 #ifdef TAUPROF
49673  CALL tau_static_phase_start('Region Create')
49674 #endif
49675 
49676  NULLIFY(parent_region)
49677  NULLIFY(region)
49678  CALL region_user_number_find(parentregionusernumber,parent_region,err,error,*999)
49679  IF(ASSOCIATED(parent_region)) THEN
49680  CALL region_create_start(regionusernumber,parent_region,region,err,error,*999)
49681  ELSE
49682  localerror="A region with an user number of "//trim(numbertovstring(parentregionusernumber,"*",err,error))// &
49683  & " does not exist."
49684  CALL flagerror(localerror,err,error,*999)
49685  END IF
49686 
49687  exits("cmfe_Region_CreateStartNumber")
49688  RETURN
49689 999 errorsexits("cmfe_Region_CreateStartNumber",err,error)
49690  CALL cmfe_handleerror(err,error)
49691  RETURN
49692 
49693  END SUBROUTINE cmfe_region_createstartnumber
49694 
49695  !
49696  !================================================================================================================================
49697  !
49698 
49700  SUBROUTINE cmfe_region_createstartobj(regionUserNumber,parentRegion,region,err)
49701  !DLLEXPORT(cmfe_Region_CreateStartObj)
49702 
49703  !Argument variables
49704  INTEGER(INTG), INTENT(IN) :: regionUserNumber
49705  TYPE(cmfe_regiontype), INTENT(IN) :: parentRegion
49706  TYPE(cmfe_regiontype), INTENT(INOUT) :: region
49707  INTEGER(INTG), INTENT(OUT) :: err
49708  !Local variables
49709 
49710  enters("cmfe_Region_CreateStartObj",err,error,*999)
49711 
49712 #ifdef TAUPROF
49713  CALL tau_static_phase_start('region Create')
49714 #endif
49715 
49716  CALL region_create_start(regionusernumber,parentregion%region,region%region,err,error,*999)
49717 
49718  exits("cmfe_Region_CreateStartObj")
49719  RETURN
49720 999 errorsexits("cmfe_Region_CreateStartObj",err,error)
49721  CALL cmfe_handleerror(err,error)
49722  RETURN
49723 
49724  END SUBROUTINE cmfe_region_createstartobj
49725 
49726  !
49727  !================================================================================================================================
49728  !
49729 
49731  SUBROUTINE cmfe_region_destroynumber(regionUserNumber,err)
49732  !DLLEXPORT(cmfe_Region_DestroyNumber)
49733 
49734  !Argument variables
49735  INTEGER(INTG), INTENT(IN) :: regionUserNumber
49736  INTEGER(INTG), INTENT(OUT) :: err
49737  !Local variables
49738  TYPE(region_type), POINTER :: REGION
49739  TYPE(varying_string) :: localError
49740 
49741  enters("cmfe_Region_DestroyNumber",err,error,*999)
49742 
49743  NULLIFY(region)
49744  CALL region_user_number_find(regionusernumber,region,err,error,*999)
49745  IF(ASSOCIATED(region)) THEN
49746  CALL region_destroy(region,err,error,*999)
49747  ELSE
49748  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
49749  & " does not exist."
49750  CALL flagerror(localerror,err,error,*999)
49751  END IF
49752 
49753  exits("cmfe_Region_DestroyNumber")
49754  RETURN
49755 999 errorsexits("cmfe_Region_DestroyNumber",err,error)
49756  CALL cmfe_handleerror(err,error)
49757  RETURN
49758 
49759  END SUBROUTINE cmfe_region_destroynumber
49760 
49761  !
49762  !================================================================================================================================
49763  !
49764 
49766  SUBROUTINE cmfe_region_datapointsgetobj(region,dataPoints,err)
49767  !DLLEXPORT(cmfe_Region_DataPointsGetObj)
49768 
49769  !Argument variables
49770  TYPE(cmfe_regiontype), INTENT(IN) :: region
49771  TYPE(cmfe_datapointstype), INTENT(INOUT) :: dataPoints
49772  INTEGER(INTG), INTENT(OUT) :: err
49773  !Local variables
49774 
49775  enters("cmfe_Region_DataPointsGetObj",err,error,*999)
49776 
49777  CALL region_data_points_get(region%region,datapoints%dataPoints,err,error,*999)
49778 
49779  exits("cmfe_Region_DataPointsGetObj")
49780  RETURN
49781 999 errorsexits("cmfe_Region_DataPointsGetObj",err,error)
49782  CALL cmfe_handleerror(err,error)
49783  RETURN
49784 
49785  END SUBROUTINE cmfe_region_datapointsgetobj
49786 
49787  !
49788  !================================================================================================================================
49789  !
49790 
49792  SUBROUTINE cmfe_region_destroyobj(region,err)
49793  !DLLEXPORT(cmfe_Region_DestroyObj)
49794 
49795  !Argument variables
49796  TYPE(cmfe_regiontype), INTENT(INOUT) :: region
49797  INTEGER(INTG), INTENT(OUT) :: err
49798  !Local variables
49799 
49800  enters("cmfe_Region_DestroyObj",err,error,*999)
49801 
49802  CALL region_destroy(region%region,err,error,*999)
49803 
49804  exits("cmfe_Region_DestroyObj")
49805  RETURN
49806 999 errorsexits("cmfe_Region_DestroyObj",err,error)
49807  CALL cmfe_handleerror(err,error)
49808  RETURN
49809 
49810  END SUBROUTINE cmfe_region_destroyobj
49811 
49812  !
49813  !================================================================================================================================
49814  !
49815 
49817  SUBROUTINE cmfe_region_labelgetcnumber(regionUserNumber,label,err)
49818  !DLLEXPORT(cmfe_Region_LabelGetCNumber)
49819 
49820  !Argument variables
49821  INTEGER(INTG), INTENT(IN) :: regionUserNumber
49822  CHARACTER(LEN=*), INTENT(OUT) :: label
49823  INTEGER(INTG), INTENT(OUT) :: err
49824  !Local variables
49825  TYPE(region_type), POINTER :: REGION
49826  TYPE(varying_string) :: localError
49827 
49828  enters("cmfe_Region_LabelGetCNumber",err,error,*999)
49829 
49830  NULLIFY(region)
49831  CALL region_user_number_find(regionusernumber,region,err,error,*999)
49832  IF(ASSOCIATED(region)) THEN
49833  CALL region_label_get(region,label,err,error,*999)
49834  ELSE
49835  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
49836  CALL flagerror(localerror,err,error,*999)
49837  END IF
49838 
49839  exits("cmfe_Region_LabelGetCNumber")
49840  RETURN
49841 999 errorsexits("cmfe_Region_LabelGetCNumber",err,error)
49842  CALL cmfe_handleerror(err,error)
49843  RETURN
49844 
49845  END SUBROUTINE cmfe_region_labelgetcnumber
49846 
49847  !
49848  !================================================================================================================================
49849  !
49850 
49852  SUBROUTINE cmfe_region_labelgetcobj(region,label,err)
49853  !DLLEXPORT(cmfe_Region_LabelGetCObj)
49854 
49855  !Argument variables
49856  TYPE(cmfe_regiontype), INTENT(IN) :: region
49857  CHARACTER(LEN=*), INTENT(OUT) :: label
49858  INTEGER(INTG), INTENT(OUT) :: err
49859  !Local variables
49860 
49861  enters("cmfe_Region_LabelGetCObj",err,error,*999)
49862 
49863  CALL region_label_get(region%region,label,err,error,*999)
49864 
49865  exits("cmfe_Region_LabelGetCObj")
49866  RETURN
49867 999 errorsexits("cmfe_Region_LabelGetCObj",err,error)
49868  CALL cmfe_handleerror(err,error)
49869  RETURN
49870 
49871  END SUBROUTINE cmfe_region_labelgetcobj
49872 
49873  !
49874  !================================================================================================================================
49875  !
49876 
49878  SUBROUTINE cmfe_region_labelgetvsnumber(regionUserNumber,label,err)
49879  !DLLEXPORT(cmfe_Region_LabelGetVSNumber)
49880 
49881  !Argument variables
49882  INTEGER(INTG), INTENT(IN) :: regionUserNumber
49883  TYPE(varying_string), INTENT(OUT) :: label
49884  INTEGER(INTG), INTENT(OUT) :: err
49885  !Local variables
49886  TYPE(region_type), POINTER :: REGION
49887  TYPE(varying_string) :: localError
49888 
49889  enters("cmfe_Region_LabelGetVSNumber",err,error,*999)
49890 
49891  NULLIFY(region)
49892  CALL region_user_number_find(regionusernumber,region,err,error,*999)
49893  IF(ASSOCIATED(region)) THEN
49894  CALL region_label_get(region,label,err,error,*999)
49895  ELSE
49896  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
49897  CALL flagerror(localerror,err,error,*999)
49898  END IF
49899 
49900  exits("cmfe_Region_LabelGetVSNumber")
49901  RETURN
49902 999 errorsexits("cmfe_Region_LabelGetVSNumber",err,error)
49903  CALL cmfe_handleerror(err,error)
49904  RETURN
49905 
49906  END SUBROUTINE cmfe_region_labelgetvsnumber
49907 
49908  !
49909  !================================================================================================================================
49910  !
49911 
49913  SUBROUTINE cmfe_region_labelgetvsobj(region,label,err)
49914  !DLLEXPORT(cmfe_Region_LabelGetVSObj)
49915 
49916  !Argument variables
49917  TYPE(cmfe_regiontype), INTENT(IN) :: region
49918  TYPE(varying_string), INTENT(OUT) :: label
49919  INTEGER(INTG), INTENT(OUT) :: err
49920  !Local variables
49921 
49922  enters("cmfe_Region_LabelGetVSObj",err,error,*999)
49923 
49924  CALL region_label_get(region%region,label,err,error,*999)
49925 
49926  exits("cmfe_Region_LabelGetVSObj")
49927  RETURN
49928 999 errorsexits("cmfe_Region_LabelGetVSObj",err,error)
49929  CALL cmfe_handleerror(err,error)
49930  RETURN
49931 
49932  END SUBROUTINE cmfe_region_labelgetvsobj
49933 
49934  !
49935  !================================================================================================================================
49936  !
49937 
49939  SUBROUTINE cmfe_region_labelsetcnumber(regionUserNumber,label,err)
49940  !DLLEXPORT(cmfe_Region_LabelSetCNumber)
49941 
49942  !Argument variables
49943  INTEGER(INTG), INTENT(IN) :: regionUserNumber
49944  CHARACTER(LEN=*), INTENT(IN) :: label
49945  INTEGER(INTG), INTENT(OUT) :: err
49946  !Local variables
49947  TYPE(region_type), POINTER :: REGION
49948  TYPE(varying_string) :: localError
49949 
49950  enters("cmfe_Region_LabelSetCNumber",err,error,*999)
49951 
49952  NULLIFY(region)
49953  CALL region_user_number_find(regionusernumber,region,err,error,*999)
49954  IF(ASSOCIATED(region)) THEN
49955  CALL region_label_set(region,label,err,error,*999)
49956  ELSE
49957  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
49958  CALL flagerror(localerror,err,error,*999)
49959  END IF
49960 
49961  exits("cmfe_Region_LabelSetCNumber")
49962  RETURN
49963 999 errorsexits("cmfe_Region_LabelSetCNumber",err,error)
49964  CALL cmfe_handleerror(err,error)
49965  RETURN
49966 
49967  END SUBROUTINE cmfe_region_labelsetcnumber
49968 
49969  !
49970  !================================================================================================================================
49971  !
49972 
49974  SUBROUTINE cmfe_region_labelsetcobj(region,label,err)
49975  !DLLEXPORT(cmfe_Region_LabelSetCObj)
49976 
49977  !Argument variables
49978  TYPE(cmfe_regiontype), INTENT(IN) :: region
49979  CHARACTER(LEN=*), INTENT(IN) :: label
49980  INTEGER(INTG), INTENT(OUT) :: err
49981  !Local variables
49982 
49983  enters("cmfe_Region_LabelSetCObj",err,error,*999)
49984 
49985  CALL region_label_set(region%region,label,err,error,*999)
49986 
49987  exits("cmfe_Region_LabelSetCObj")
49988  RETURN
49989 999 errorsexits("cmfe_Region_LabelSetCObj",err,error)
49990  CALL cmfe_handleerror(err,error)
49991  RETURN
49992 
49993  END SUBROUTINE cmfe_region_labelsetcobj
49994 
49995  !
49996  !================================================================================================================================
49997  !
49998 
50000  SUBROUTINE cmfe_region_labelsetvsnumber(regionUserNumber,label,err)
50001  !DLLEXPORT(cmfe_Region_LabelSetVSNumber)
50002 
50003  !Argument variables
50004  INTEGER(INTG), INTENT(IN) :: regionUserNumber
50005  TYPE(varying_string), INTENT(IN) :: label
50006  INTEGER(INTG), INTENT(OUT) :: err
50007  !Local variables
50008  TYPE(region_type), POINTER :: REGION
50009  TYPE(varying_string) :: localError
50010 
50011  enters("cmfe_Region_LabelSetVSNumber",err,error,*999)
50012 
50013  NULLIFY(region)
50014  CALL region_user_number_find(regionusernumber,region,err,error,*999)
50015  IF(ASSOCIATED(region)) THEN
50016  CALL region_label_set(region,char(label),err,error,*999)
50017  ELSE
50018  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))//" does not exist."
50019  CALL flagerror(localerror,err,error,*999)
50020  END IF
50021 
50022  exits("cmfe_RegionLabelStVSNumber")
50023  RETURN
50024 999 errorsexits("cmfe_Region_LabelSetVSNumber",err,error)
50025  CALL cmfe_handleerror(err,error)
50026  RETURN
50027 
50028  END SUBROUTINE cmfe_region_labelsetvsnumber
50029 
50030  !
50031  !================================================================================================================================
50032  !
50033 
50035  SUBROUTINE cmfe_region_labelsetvsobj(region,label,err)
50036  !DLLEXPORT(cmfe_Region_LabelSetVSObj)
50037 
50038  !Argument variables
50039  TYPE(cmfe_regiontype), INTENT(IN) :: region
50040  TYPE(varying_string), INTENT(IN) :: label
50041  INTEGER(INTG), INTENT(OUT) :: err
50042  !Local variables
50043 
50044  enters("cmfe_Region_LabelSetVSObj",err,error,*999)
50045 
50046  CALL region_label_set(region%region,char(label),err,error,*999)
50047 
50048  exits("cmfe_Region_LabelSetVSObj")
50049  RETURN
50050 999 errorsexits("cmfe_Region_LabelSetVSObj",err,error)
50051  CALL cmfe_handleerror(err,error)
50052  RETURN
50053 
50054  END SUBROUTINE cmfe_region_labelsetvsobj
50055 
50056  !
50057  !================================================================================================================================
50058  !
50059 
50061  SUBROUTINE cmfe_region_nodesgetobj(region,nodes,err)
50062  !DLLEXPORT(cmfe_Region_NodesGetObj)
50063 
50064  !Argument variables
50065  TYPE(cmfe_regiontype), INTENT(IN) :: region
50066  TYPE(cmfe_nodestype), INTENT(INOUT) :: nodes
50067  INTEGER(INTG), INTENT(OUT) :: err
50068  !Local variables
50069 
50070  enters("cmfe_Region_NodesGetObj",err,error,*999)
50071 
50072  CALL region_nodes_get(region%region,nodes%nodes,err,error,*999)
50073 
50074  exits("cmfe_Region_NodesGetObj")
50075  RETURN
50076 999 errorsexits("cmfe_Region_NodesGetObj",err,error)
50077  CALL cmfe_handleerror(err,error)
50078  RETURN
50079 
50080  END SUBROUTINE cmfe_region_nodesgetobj
50081 
50082 !!==================================================================================================================================
50083 !!
50084 !! SOLVER_ROUTINES
50085 !!
50086 !!==================================================================================================================================
50087 
50088  !
50089  !================================================================================================================================
50090  !
50091 
50093  SUBROUTINE cmfe_cellmlequations_cellmladdnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
50094  & regionusernumber,cellmlusernumber,cellmlindex,err)
50095  !DLLEXPORT(cmfe_CellMLEquations_CellMLAddNumber0)
50096 
50097  !Argument variables
50098  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50099  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
50100  INTEGER(INTG), INTENT(IN) :: solverIndex
50101  INTEGER(INTG), INTENT(IN) :: regionUserNumber
50102  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
50103  INTEGER(INTG), INTENT(OUT) :: CellMLIndex
50104  INTEGER(INTG), INTENT(OUT) :: err
50105  !Local variables
50106  TYPE(cellml_type), POINTER :: CELLML
50107  TYPE(cellml_equations_type), POINTER :: CELLML_EQUATIONS
50108  TYPE(problem_type), POINTER :: PROBLEM
50109  TYPE(region_type), POINTER :: REGION
50110  TYPE(solver_type), POINTER :: SOLVER
50111  TYPE(varying_string) :: localError
50112 
50113  enters("cmfe_CellMLEquations_CellMLAddNumber0",err,error,*999)
50114 
50115  NULLIFY(problem)
50116  NULLIFY(solver)
50117  NULLIFY(cellml_equations)
50118  NULLIFY(region)
50119  NULLIFY(cellml)
50120  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50121  IF(ASSOCIATED(problem)) THEN
50122  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
50123  CALL solver_cellml_equations_get(solver,cellml_equations,err,error,*999)
50124  CALL region_user_number_find(regionusernumber,region,err,error,*999)
50125  IF(ASSOCIATED(region)) THEN
50126  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
50127  IF(ASSOCIATED(cellml)) THEN
50128  CALL cellml_equations_cellml_add(cellml_equations,cellml,cellmlindex,err,error,*999)
50129  ELSE
50130  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
50131  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
50132  CALL flagerror(localerror,err,error,*999)
50133  END IF
50134  ELSE
50135  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
50136  & " does not exist."
50137  CALL flagerror(localerror,err,error,*999)
50138  END IF
50139  ELSE
50140  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50141  & " does not exist."
50142  CALL flagerror(localerror,err,error,*999)
50143  END IF
50144 
50145  exits("cmfe_CellMLEquations_CellMLAddNumber0")
50146  RETURN
50147 999 errorsexits("cmfe_CellMLEquations_CellMLAddNumber0",err,error)
50148  CALL cmfe_handleerror(err,error)
50149  RETURN
50150 
50152 
50153  !
50154  !================================================================================================================================
50155  !
50156 
50158  SUBROUTINE cmfe_cellmlequations_cellmladdnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
50159  & regionusernumber,cellmlusernumber,cellmlindex,err)
50160  !DLLEXPORT(cmfe_CellMLEquations_CellMLAddNumber1)
50161 
50162  !Argument variables
50163  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50164  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
50165  INTEGER(INTG), INTENT(IN) :: solverIndex
50166  INTEGER(INTG), INTENT(IN) :: regionUserNumber
50167  INTEGER(INTG), INTENT(IN) :: CellMLUserNumber
50168  INTEGER(INTG), INTENT(OUT) :: CellMLIndex
50169  INTEGER(INTG), INTENT(OUT) :: err
50170  !Local variables
50171  TYPE(cellml_type), POINTER :: CELLML
50172  TYPE(cellml_equations_type), POINTER :: CELLML_EQUATIONS
50173  TYPE(problem_type), POINTER :: PROBLEM
50174  TYPE(region_type), POINTER :: REGION
50175  TYPE(solver_type), POINTER :: SOLVER
50176  TYPE(varying_string) :: localError
50177 
50178  enters("cmfe_CellMLEquations_CellMLAddNumber1",err,error,*999)
50179 
50180  NULLIFY(problem)
50181  NULLIFY(solver)
50182  NULLIFY(cellml_equations)
50183  NULLIFY(region)
50184  NULLIFY(cellml)
50185  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50186  IF(ASSOCIATED(problem)) THEN
50187  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
50188  CALL solver_cellml_equations_get(solver,cellml_equations,err,error,*999)
50189  CALL region_user_number_find(regionusernumber,region,err,error,*999)
50190  IF(ASSOCIATED(region)) THEN
50191  CALL cellml_user_number_find(cellmlusernumber,region,cellml,err,error,*999)
50192  IF(ASSOCIATED(cellml)) THEN
50193  CALL cellml_equations_cellml_add(cellml_equations,cellml,cellmlindex,err,error,*999)
50194  ELSE
50195  localerror="A CellML environment with an user number of "//trim(numbertovstring(cellmlusernumber,"*",err,error))// &
50196  & " does not exist in region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
50197  CALL flagerror(localerror,err,error,*999)
50198  END IF
50199  ELSE
50200  localerror="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
50201  & " does not exist."
50202  CALL flagerror(localerror,err,error,*999)
50203  END IF
50204  ELSE
50205  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50206  & " does not exist."
50207  CALL flagerror(localerror,err,error,*999)
50208  END IF
50209 
50210  exits("cmfe_CellMLEquations_CellMLAddNumber1")
50211  RETURN
50212 999 errorsexits("cmfe_CellMLEquations_CellMLAddNumber1",err,error)
50213  CALL cmfe_handleerror(err,error)
50214  RETURN
50215 
50217 
50218  !
50219  !================================================================================================================================
50220  !
50221 
50223  SUBROUTINE cmfe_cellmlequations_cellmladdobj(CellMLEquations,CellML,CellMLIndex,err)
50224  !DLLEXPORT(cmfe_CellMLEquations_CellMLAddObj)
50225 
50226  !Argument variables
50227  TYPE(cmfe_cellmlequationstype), INTENT(IN) :: CellMLEquations
50228  TYPE(cmfe_cellmltype), INTENT(IN) :: CellML
50229  INTEGER(INTG), INTENT(OUT) :: CellMLIndex
50230  INTEGER(INTG), INTENT(OUT) :: err
50231  !Local variables
50232 
50233  enters("cmfe_CellMLEquations_CellMLAddObj",err,error,*999)
50234 
50235  CALL cellml_equations_cellml_add(cellmlequations%cellmlEquations,cellml%CELLML,cellmlindex,err,error,*999)
50236 
50237  exits("cmfe_CellMLEquations_CellMLAddObj")
50238  RETURN
50239 999 errorsexits("cmfe_CellMLEquations_CellMLAddObj",err,error)
50240  CALL cmfe_handleerror(err,error)
50241  RETURN
50242 
50243  END SUBROUTINE cmfe_cellmlequations_cellmladdobj
50244 
50245  !
50246  !================================================================================================================================
50247  !
50248 
50250  SUBROUTINE cmfe_solver_cellmlequationsgetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,CellMLEquations,err)
50251  !DLLEXPORT(cmfe_Solver_CellMLEquationsGetNumber0)
50252 
50253  !Argument variables
50254  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50255  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
50256  INTEGER(INTG), INTENT(IN) :: solverIndex
50257  TYPE(cmfe_cellmlequationstype), INTENT(INOUT) :: CellMLEquations
50258  INTEGER(INTG), INTENT(OUT) :: err
50259  !Local variables
50260  TYPE(problem_type), POINTER :: PROBLEM
50261  TYPE(solver_type), POINTER :: SOLVER
50262  TYPE(varying_string) :: localError
50263 
50264  enters("cmfe_Solver_CellMLEquationsGetNumber0",err,error,*999)
50265 
50266  NULLIFY(problem)
50267  NULLIFY(solver)
50268  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50269  IF(ASSOCIATED(problem)) THEN
50270  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
50271  CALL solver_cellml_equations_get(solver,cellmlequations%cellmlEquations,err,error,*999)
50272  ELSE
50273  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50274  & " does not exist."
50275  CALL flagerror(localerror,err,error,*999)
50276  END IF
50277 
50278  exits("cmfe_Solver_CellMLEquationsGetNumber0")
50279  RETURN
50280 999 errorsexits("cmfe_Solver_CellMLEquationsGetNumber0",err,error)
50281  CALL cmfe_handleerror(err,error)
50282  RETURN
50283 
50285 
50286  !
50287  !================================================================================================================================
50288  !
50289 
50291  SUBROUTINE cmfe_solver_cellmlequationsgetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,CellMLEquations,err)
50292  !DLLEXPORT(cmfe_Solver_CellMLEquationsGetNumber1)
50293 
50294  !Argument variables
50295  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50296  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
50297  INTEGER(INTG), INTENT(IN) :: solverIndex
50298  TYPE(cmfe_cellmlequationstype), INTENT(INOUT) :: CellMLEquations
50299  INTEGER(INTG), INTENT(OUT) :: err
50300  !Local variables
50301  TYPE(problem_type), POINTER :: PROBLEM
50302  TYPE(solver_type), POINTER :: SOLVER
50303  TYPE(varying_string) :: localError
50304 
50305  enters("cmfe_Solver_CellMLEquationsGetNumber1",err,error,*999)
50306 
50307  NULLIFY(problem)
50308  NULLIFY(solver)
50309  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50310  IF(ASSOCIATED(problem)) THEN
50311  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
50312  CALL solver_cellml_equations_get(solver,cellmlequations%cellmlEquations,err,error,*999)
50313  ELSE
50314  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50315  & " does not exist."
50316  CALL flagerror(localerror,err,error,*999)
50317  END IF
50318 
50319  exits("cmfe_Solver_CellMLEquationsGetNumber1")
50320  RETURN
50321 999 errorsexits("cmfe_Solver_CellMLEquationsGetNumber1",err,error)
50322  CALL cmfe_handleerror(err,error)
50323  RETURN
50324 
50326 
50327  !================================================================================================================================
50328  !
50329 
50331  SUBROUTINE cmfe_solver_cellmlequationsgetobj(solver,CellMLEquations,err)
50332  !DLLEXPORT(cmfe_Solver_CellMLEquationsGetObj)
50333 
50334  !Argument variables
50335  TYPE(cmfe_solvertype), INTENT(IN) :: solver
50336  TYPE(cmfe_cellmlequationstype), INTENT(INOUT) :: CellMLEquations
50337  INTEGER(INTG), INTENT(OUT) :: err
50338  !Local variables
50339 
50340  enters("cmfe_Solver_CellMLEquationsGetObj",err,error,*999)
50341 
50342  CALL solver_cellml_equations_get(solver%solver,cellmlequations%cellmlEquations,err,error,*999)
50343 
50344  exits("cmfe_Solver_CellMLEquationsGetObj")
50345  RETURN
50346 999 errorsexits("cmfe_Solver_CellMLEquationsGetObj",err,error)
50347  CALL cmfe_handleerror(err,error)
50348  RETURN
50349 
50350  END SUBROUTINE cmfe_solver_cellmlequationsgetobj
50351 
50352  !
50353  !================================================================================================================================
50354  !
50355 
50357  SUBROUTINE cmfe_solver_daeeulersolvertypegetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,DAEEulerSolverType,err)
50358  !DLLEXPORT(cmfe_Solver_DAEEulerSolverTypeGetNumber0)
50359 
50360  !Argument variables
50361  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50362  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
50363  INTEGER(INTG), INTENT(IN) :: solverIndex
50364  INTEGER(INTG), INTENT(OUT) :: DAEEulerSolverType
50365  INTEGER(INTG), INTENT(OUT) :: err
50366  !Local variables
50367  TYPE(problem_type), POINTER :: PROBLEM
50368  TYPE(solver_type), POINTER :: SOLVER
50369  TYPE(varying_string) :: localError
50370 
50371  enters("cmfe_Solver_DAEEulerSolverTypeGetNumber0",err,error,*999)
50372 
50373  NULLIFY(problem)
50374  NULLIFY(solver)
50375  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50376  IF(ASSOCIATED(problem)) THEN
50377  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
50378  CALL solver_dae_euler_solver_type_get(solver,daeeulersolvertype,err,error,*999)
50379  ELSE
50380  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50381  & " does not exist."
50382  CALL flagerror(localerror,err,error,*999)
50383  END IF
50384 
50385  exits("cmfe_Solver_DAEEulerSolverTypeGetNumber0")
50386  RETURN
50387 999 errorsexits("cmfe_Solver_DAEEulerSolverTypeGetNumber0",err,error)
50388  CALL cmfe_handleerror(err,error)
50389  RETURN
50390 
50392 
50393  !
50394  !================================================================================================================================
50395  !
50396 
50398  SUBROUTINE cmfe_solver_daeeulersolvertypegetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,DAEEulerSolverType,err)
50399  !DLLEXPORT(cmfe_Solver_DAEEulerSolverTypeGetNumber1)
50400 
50401  !Argument variables
50402  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50403  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
50404  INTEGER(INTG), INTENT(IN) :: solverIndex
50405  INTEGER(INTG), INTENT(OUT) :: DAEEulerSolverType
50406  INTEGER(INTG), INTENT(OUT) :: err
50407  !Local variables
50408  TYPE(problem_type), POINTER :: PROBLEM
50409  TYPE(solver_type), POINTER :: SOLVER
50410  TYPE(varying_string) :: localError
50411 
50412  enters("cmfe_Solver_DAEEulerSolverTypeGetNumber1",err,error,*999)
50413 
50414  NULLIFY(problem)
50415  NULLIFY(solver)
50416  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50417  IF(ASSOCIATED(problem)) THEN
50418  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
50419  CALL solver_dae_euler_solver_type_get(solver,daeeulersolvertype,err,error,*999)
50420  ELSE
50421  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50422  & " does not exist."
50423  CALL flagerror(localerror,err,error,*999)
50424  END IF
50425 
50426  exits("cmfe_Solver_DAEEulerSolverTypeGetNumber1")
50427  RETURN
50428 999 errorsexits("cmfe_Solver_DAEEulerSolverTypeGetNumber1",err,error)
50429  CALL cmfe_handleerror(err,error)
50430  RETURN
50431 
50433 
50434  !
50435  !================================================================================================================================
50436  !
50437 
50439  SUBROUTINE cmfe_solver_daeeulersolvertypegetobj(solver,DAEEulerSolverType,err)
50440  !DLLEXPORT(cmfe_Solver_DAEEulerSolverTypeGetObj)
50441 
50442  !Argument variables
50443  TYPE(cmfe_solvertype), INTENT(IN) :: solver
50444  INTEGER(INTG), INTENT(OUT) :: DAEEulerSolverType
50445  INTEGER(INTG), INTENT(OUT) :: err
50446  !Local variables
50447 
50448  enters("cmfe_Solver_DAEEulerSolverTypeGetObj",err,error,*999)
50449 
50450  CALL solver_dae_euler_solver_type_get(solver%solver,daeeulersolvertype,err,error,*999)
50451 
50452  exits("cmfe_Solver_DAEEulerSolverTypeGetObj")
50453  RETURN
50454 999 errorsexits("cmfe_Solver_DAEEulerSolverTypeGetObj",err,error)
50455  CALL cmfe_handleerror(err,error)
50456  RETURN
50457 
50459 
50460  !
50461  !================================================================================================================================
50462  !
50463 
50465  SUBROUTINE cmfe_solver_daeeulersolvertypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,DAEEulerSolverType,err)
50466  !DLLEXPORT(cmfe_Solver_DAEEulerSolverTypeSetNumber0)
50467 
50468  !Argument variables
50469  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50470  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
50471  INTEGER(INTG), INTENT(IN) :: solverIndex
50472  INTEGER(INTG), INTENT(IN) :: DAEEulerSolverType
50473  INTEGER(INTG), INTENT(OUT) :: err
50474  !Local variables
50475  TYPE(problem_type), POINTER :: PROBLEM
50476  TYPE(solver_type), POINTER :: SOLVER
50477  TYPE(varying_string) :: localError
50478 
50479  enters("cmfe_Solver_DAEEulerSolverTypeSetNumber0",err,error,*999)
50480 
50481  NULLIFY(problem)
50482  NULLIFY(solver)
50483  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50484  IF(ASSOCIATED(problem)) THEN
50485  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
50486  CALL solver_dae_euler_solver_type_set(solver,daeeulersolvertype,err,error,*999)
50487  ELSE
50488  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50489  & " does not exist."
50490  CALL flagerror(localerror,err,error,*999)
50491  END IF
50492 
50493  exits("cmfe_Solver_DAEEulerSolverTypeSetNumber0")
50494  RETURN
50495 999 errorsexits("cmfe_Solver_DAEEulerSolverTypeSetNumber0",err,error)
50496  CALL cmfe_handleerror(err,error)
50497  RETURN
50498 
50500 
50501  !
50502  !================================================================================================================================
50503  !
50504 
50506  SUBROUTINE cmfe_solver_daeeulersolvertypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,DAEEulerSolverType,err)
50507  !DLLEXPORT(cmfe_Solver_DAEEulerSolverTypeSetNumber1)
50508 
50509  !Argument variables
50510  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50511  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
50512  INTEGER(INTG), INTENT(IN) :: solverIndex
50513  INTEGER(INTG), INTENT(IN) :: DAEEulerSolverType
50514  INTEGER(INTG), INTENT(OUT) :: err
50515  !Local variables
50516  TYPE(problem_type), POINTER :: PROBLEM
50517  TYPE(solver_type), POINTER :: SOLVER
50518  TYPE(varying_string) :: localError
50519 
50520  enters("cmfe_Solver_DAEEulerSolverTypeSetNumber1",err,error,*999)
50521 
50522  NULLIFY(problem)
50523  NULLIFY(solver)
50524  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50525  IF(ASSOCIATED(problem)) THEN
50526  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
50527  CALL solver_dae_euler_solver_type_set(solver,daeeulersolvertype,err,error,*999)
50528  ELSE
50529  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50530  & " does not exist."
50531  CALL flagerror(localerror,err,error,*999)
50532  END IF
50533 
50534  exits("cmfe_Solver_DAEEulerSolverTypeSetNumber1")
50535  RETURN
50536 999 errorsexits("cmfe_Solver_DAEEulerSolverTypeSetNumber1",err,error)
50537  CALL cmfe_handleerror(err,error)
50538  RETURN
50539 
50541 
50542  !
50543  !================================================================================================================================
50544  !
50545 
50547  SUBROUTINE cmfe_solver_daeeulersolvertypesetobj(solver,DAEEulerSolverType,err)
50548  !DLLEXPORT(cmfe_Solver_DAEEulerSolverTypeSetObj)
50549 
50550  !Argument variables
50551  TYPE(cmfe_solvertype), INTENT(IN) :: solver
50552  INTEGER(INTG), INTENT(IN) :: DAEEulerSolverType
50553  INTEGER(INTG), INTENT(OUT) :: err
50554  !Local variables
50555 
50556  enters("cmfe_Solver_DAEEulerSolverTypeSetObj",err,error,*999)
50557 
50558  CALL solver_dae_euler_solver_type_set(solver%solver,daeeulersolvertype,err,error,*999)
50559 
50560  exits("cmfe_Solver_DAEEulerSolverTypeSetObj")
50561  RETURN
50562 999 errorsexits("cmfe_Solver_DAEEulerSolverTypeSetObj",err,error)
50563  CALL cmfe_handleerror(err,error)
50564  RETURN
50565 
50567 
50568  !
50569  !================================================================================================================================
50570  !
50571 
50573  SUBROUTINE cmfe_solver_daesolvertypegetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,DAESolverType,err)
50574  !DLLEXPORT(cmfe_Solver_DAESolverTypeGetNumber0)
50575 
50576  !Argument variables
50577  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50578  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
50579  INTEGER(INTG), INTENT(IN) :: solverIndex
50580  INTEGER(INTG), INTENT(OUT) :: DAESolverType
50581  INTEGER(INTG), INTENT(OUT) :: err
50582  !Local variables
50583  TYPE(problem_type), POINTER :: PROBLEM
50584  TYPE(solver_type), POINTER :: SOLVER
50585  TYPE(varying_string) :: localError
50586 
50587  enters("cmfe_Solver_DAESolverTypeGetNumber0",err,error,*999)
50588 
50589  NULLIFY(problem)
50590  NULLIFY(solver)
50591  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50592  IF(ASSOCIATED(problem)) THEN
50593  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
50594  CALL solver_dae_solver_type_get(solver,daesolvertype,err,error,*999)
50595  ELSE
50596  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50597  & " does not exist."
50598  CALL flagerror(localerror,err,error,*999)
50599  END IF
50600 
50601  exits("cmfe_Solver_DAESolverTypeGetNumber0")
50602  RETURN
50603 999 errorsexits("cmfe_Solver_DAESolverTypeGetNumber0",err,error)
50604  CALL cmfe_handleerror(err,error)
50605  RETURN
50606 
50608 
50609  !
50610  !================================================================================================================================
50611  !
50612 
50614  SUBROUTINE cmfe_solver_daesolvertypegetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,DAESolverType,err)
50615  !DLLEXPORT(cmfe_Solver_DAESolverTypeGetNumber1)
50616 
50617  !Argument variables
50618  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50619  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
50620  INTEGER(INTG), INTENT(IN) :: solverIndex
50621  INTEGER(INTG), INTENT(OUT) :: DAESolverType
50622  INTEGER(INTG), INTENT(OUT) :: err
50623  !Local variables
50624  TYPE(problem_type), POINTER :: PROBLEM
50625  TYPE(solver_type), POINTER :: SOLVER
50626  TYPE(varying_string) :: localError
50627 
50628  enters("cmfe_Solver_DAESolverTypeGetNumber1",err,error,*999)
50629 
50630  NULLIFY(problem)
50631  NULLIFY(solver)
50632  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50633  IF(ASSOCIATED(problem)) THEN
50634  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
50635  CALL solver_dae_solver_type_get(solver,daesolvertype,err,error,*999)
50636  ELSE
50637  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50638  & " does not exist."
50639  CALL flagerror(localerror,err,error,*999)
50640  END IF
50641 
50642  exits("cmfe_Solver_DAESolverTypeGetNumber1")
50643  RETURN
50644 999 errorsexits("cmfe_Solver_DAESolverTypeGetNumber1",err,error)
50645  CALL cmfe_handleerror(err,error)
50646  RETURN
50647 
50649 
50650  !
50651  !================================================================================================================================
50652  !
50653 
50655  SUBROUTINE cmfe_solver_daesolvertypegetobj(solver,DAESolverType,err)
50656  !DLLEXPORT(cmfe_Solver_DAESolverTypeGetObj)
50657 
50658  !Argument variables
50659  TYPE(cmfe_solvertype), INTENT(IN) :: solver
50660  INTEGER(INTG), INTENT(OUT) :: DAESolverType
50661  INTEGER(INTG), INTENT(OUT) :: err
50662  !Local variables
50663 
50664  enters("cmfe_Solver_DAESolverTypeGetObj",err,error,*999)
50665 
50666  CALL solver_dae_solver_type_get(solver%solver,daesolvertype,err,error,*999)
50667 
50668  exits("cmfe_Solver_DAESolverTypeGetObj")
50669  RETURN
50670 999 errorsexits("cmfe_Solver_DAESolverTypeGetObj",err,error)
50671  CALL cmfe_handleerror(err,error)
50672  RETURN
50673 
50674  END SUBROUTINE cmfe_solver_daesolvertypegetobj
50675 
50676  !
50677  !================================================================================================================================
50678  !
50679 
50681  SUBROUTINE cmfe_solver_daesolvertypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,DAESolverType,err)
50682  !DLLEXPORT(cmfe_Solver_DAESolverTypeSetNumber0)
50683 
50684  !Argument variables
50685  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50686  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
50687  INTEGER(INTG), INTENT(IN) :: solverIndex
50688  INTEGER(INTG), INTENT(IN) :: DAESolverType
50689  INTEGER(INTG), INTENT(OUT) :: err
50690  !Local variables
50691  TYPE(problem_type), POINTER :: PROBLEM
50692  TYPE(solver_type), POINTER :: SOLVER
50693  TYPE(varying_string) :: localError
50694 
50695  enters("cmfe_Solver_DAESolverTypeSetNumber0",err,error,*999)
50696 
50697  NULLIFY(problem)
50698  NULLIFY(solver)
50699  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50700  IF(ASSOCIATED(problem)) THEN
50701  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
50702  CALL solver_dae_solver_type_set(solver,daesolvertype,err,error,*999)
50703  ELSE
50704  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50705  & " does not exist."
50706  CALL flagerror(localerror,err,error,*999)
50707  END IF
50708 
50709  exits("cmfe_Solver_DAESolverTypeSetNumber0")
50710  RETURN
50711 999 errorsexits("cmfe_Solver_DAESolverTypeSetNumber0",err,error)
50712  CALL cmfe_handleerror(err,error)
50713  RETURN
50714 
50716 
50717  !
50718  !================================================================================================================================
50719  !
50720 
50722  SUBROUTINE cmfe_solver_daesolvertypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,DAESolverType,err)
50723  !DLLEXPORT(cmfe_Solver_DAESolverTypeSetNumber1)
50724 
50725  !Argument variables
50726  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50727  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
50728  INTEGER(INTG), INTENT(IN) :: solverIndex
50729  INTEGER(INTG), INTENT(IN) :: DAESolverType
50730  INTEGER(INTG), INTENT(OUT) :: err
50731  !Local variables
50732  TYPE(problem_type), POINTER :: PROBLEM
50733  TYPE(solver_type), POINTER :: SOLVER
50734  TYPE(varying_string) :: localError
50735 
50736  enters("cmfe_Solver_DAESolverTypeSetNumber1",err,error,*999)
50737 
50738  NULLIFY(problem)
50739  NULLIFY(solver)
50740  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50741  IF(ASSOCIATED(problem)) THEN
50742  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
50743  CALL solver_dae_solver_type_set(solver,daesolvertype,err,error,*999)
50744  ELSE
50745  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50746  & " does not exist."
50747  CALL flagerror(localerror,err,error,*999)
50748  END IF
50749 
50750  exits("cmfe_Solver_DAESolverTypeSetNumber1")
50751  RETURN
50752 999 errorsexits("cmfe_Solver_DAESolverTypeSetNumber1",err,error)
50753  CALL cmfe_handleerror(err,error)
50754  RETURN
50755 
50757 
50758  !
50759  !================================================================================================================================
50760  !
50761 
50763  SUBROUTINE cmfe_solver_daesolvertypesetobj(solver,DAESolverType,err)
50764  !DLLEXPORT(cmfe_Solver_DAESolverTypeSetObj)
50765 
50766  !Argument variables
50767  TYPE(cmfe_solvertype), INTENT(IN) :: solver
50768  INTEGER(INTG), INTENT(IN) :: DAESolverType
50769  INTEGER(INTG), INTENT(OUT) :: err
50770  !Local variables
50771 
50772  enters("cmfe_Solver_DAESolverTypeSetObj",err,error,*999)
50773 
50774  CALL solver_dae_solver_type_set(solver%solver,daesolvertype,err,error,*999)
50775 
50776  exits("cmfe_Solver_DAESolverTypeSetObj")
50777  RETURN
50778 999 errorsexits("cmfe_Solver_DAESolverTypeSetObj",err,error)
50779  CALL cmfe_handleerror(err,error)
50780  RETURN
50781 
50782  END SUBROUTINE cmfe_solver_daesolvertypesetobj
50783 
50784  !
50785  !================================================================================================================================
50786  !
50787 
50789  SUBROUTINE cmfe_solver_daetimessetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,startTime,endTime,err)
50790  !DLLEXPORT(cmfe_Solver_DAETimesSetNumber0)
50791 
50792  !Argument variables
50793  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50794  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
50795  INTEGER(INTG), INTENT(IN) :: solverIndex
50796  REAL(DP), INTENT(IN) :: startTime
50797  REAL(DP), INTENT(IN) :: endTime
50798  INTEGER(INTG), INTENT(OUT) :: err
50799  !Local variables
50800  TYPE(problem_type), POINTER :: PROBLEM
50801  TYPE(solver_type), POINTER :: SOLVER
50802  TYPE(varying_string) :: localError
50803 
50804  enters("cmfe_Solver_DAETimesSetNumber0",err,error,*999)
50805 
50806  NULLIFY(problem)
50807  NULLIFY(solver)
50808  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50809  IF(ASSOCIATED(problem)) THEN
50810  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
50811  CALL solver_dae_times_set(solver,starttime,endtime,err,error,*999)
50812  ELSE
50813  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50814  & " does not exist."
50815  CALL flagerror(localerror,err,error,*999)
50816  END IF
50817 
50818  exits("cmfe_Solver_DAETimesSetNumber0")
50819  RETURN
50820 999 errorsexits("cmfe_Solver_DAETimesSetNumber0",err,error)
50821  CALL cmfe_handleerror(err,error)
50822  RETURN
50823 
50824  END SUBROUTINE cmfe_solver_daetimessetnumber0
50825 
50826  !
50827  !================================================================================================================================
50828  !
50829 
50831  SUBROUTINE cmfe_solver_daetimessetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,startTime,endTime,err)
50832  !DLLEXPORT(cmfe_Solver_DAETimesSetNumber1)
50833 
50834  !Argument variables
50835  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50836  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
50837  INTEGER(INTG), INTENT(IN) :: solverIndex
50838  REAL(DP), INTENT(IN) :: startTime
50839  REAL(DP), INTENT(IN) :: endTime
50840  INTEGER(INTG), INTENT(OUT) :: err
50841  !Local variables
50842  TYPE(problem_type), POINTER :: PROBLEM
50843  TYPE(solver_type), POINTER :: SOLVER
50844  TYPE(varying_string) :: localError
50845 
50846  enters("cmfe_Solver_DAETimesSetNumber1",err,error,*999)
50847 
50848  NULLIFY(problem)
50849  NULLIFY(solver)
50850  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50851  IF(ASSOCIATED(problem)) THEN
50852  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
50853  CALL solver_dae_times_set(solver,starttime,endtime,err,error,*999)
50854  ELSE
50855  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50856  & " does not exist."
50857  CALL flagerror(localerror,err,error,*999)
50858  END IF
50859 
50860  exits("cmfe_Solver_DAETimesSetNumber1")
50861  RETURN
50862 999 errorsexits("cmfe_Solver_DAETimesSetNumber1",err,error)
50863  CALL cmfe_handleerror(err,error)
50864  RETURN
50865 
50866  END SUBROUTINE cmfe_solver_daetimessetnumber1
50867 
50868  !
50869  !================================================================================================================================
50870  !
50871 
50873  SUBROUTINE cmfe_solver_daetimessetobj(solver,startTime,endTime,err)
50874  !DLLEXPORT(cmfe_Solver_DAETimesSetObj)
50875 
50876  !Argument variables
50877  TYPE(cmfe_solvertype), INTENT(IN) :: solver
50878  REAL(DP), INTENT(IN) :: startTime
50879  REAL(DP), INTENT(IN) :: endTime
50880  INTEGER(INTG), INTENT(OUT) :: err
50881  !Local variables
50882 
50883  enters("cmfe_Solver_DAETimesSetObj",err,error,*999)
50884 
50885  CALL solver_dae_times_set(solver%solver,starttime,endtime,err,error,*999)
50886 
50887  exits("cmfe_Solver_DAETimesSetObj")
50888  RETURN
50889 999 errorsexits("cmfe_Solver_DAETimesSetObj",err,error)
50890  CALL cmfe_handleerror(err,error)
50891  RETURN
50892 
50893  END SUBROUTINE cmfe_solver_daetimessetobj
50894 
50895  !
50896  !================================================================================================================================
50897  !
50898 
50900  SUBROUTINE cmfe_solver_daetimestepsetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,timeStep,err)
50901  !DLLEXPORT(cmfe_Solver_DAETimeStepSetNumber0)
50902 
50903  !Argument variables
50904  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50905  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
50906  INTEGER(INTG), INTENT(IN) :: solverIndex
50907  REAL(DP), INTENT(IN) :: timeStep
50908  INTEGER(INTG), INTENT(OUT) :: err
50909  !Local variables
50910  TYPE(problem_type), POINTER :: PROBLEM
50911  TYPE(solver_type), POINTER :: SOLVER
50912  TYPE(varying_string) :: localError
50913 
50914  enters("cmfe_Solver_DAETimeStepSetNumber0",err,error,*999)
50915 
50916  NULLIFY(problem)
50917  NULLIFY(solver)
50918  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50919  IF(ASSOCIATED(problem)) THEN
50920  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
50921  CALL solver_dae_time_step_set(solver,timestep,err,error,*999)
50922  ELSE
50923  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50924  & " does not exist."
50925  CALL flagerror(localerror,err,error,*999)
50926  END IF
50927 
50928  exits("cmfe_Solver_DAETimeStepSetNumber0")
50929  RETURN
50930 999 errorsexits("cmfe_Solver_DAETimeStepSetNumber0",err,error)
50931  CALL cmfe_handleerror(err,error)
50932  RETURN
50933 
50934  END SUBROUTINE cmfe_solver_daetimestepsetnumber0
50935 
50936  !
50937  !================================================================================================================================
50938  !
50939 
50941  SUBROUTINE cmfe_solver_daetimestepsetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,timeStep,err)
50942  !DLLEXPORT(cmfe_Solver_DAETimeStepSetNumber1)
50943 
50944  !Argument variables
50945  INTEGER(INTG), INTENT(IN) :: problemUserNumber
50946  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
50947  INTEGER(INTG), INTENT(IN) :: solverIndex
50948  REAL(DP), INTENT(IN) :: timeStep
50949  INTEGER(INTG), INTENT(OUT) :: err
50950  !Local variables
50951  TYPE(problem_type), POINTER :: PROBLEM
50952  TYPE(solver_type), POINTER :: SOLVER
50953  TYPE(varying_string) :: localError
50954 
50955  enters("cmfe_Solver_DAETimeStepSetNumber1",err,error,*999)
50956 
50957  NULLIFY(problem)
50958  NULLIFY(solver)
50959  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
50960  IF(ASSOCIATED(problem)) THEN
50961  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
50962  CALL solver_dae_time_step_set(solver,timestep,err,error,*999)
50963  ELSE
50964  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
50965  & " does not exist."
50966  CALL flagerror(localerror,err,error,*999)
50967  END IF
50968 
50969  exits("cmfe_Solver_DAETimeStepSetNumber1")
50970  RETURN
50971 999 errorsexits("cmfe_Solver_DAETimeStepSetNumber1",err,error)
50972  CALL cmfe_handleerror(err,error)
50973  RETURN
50974 
50975  END SUBROUTINE cmfe_solver_daetimestepsetnumber1
50976 
50977  !
50978  !================================================================================================================================
50979  !
50980 
50982  SUBROUTINE cmfe_solver_daetimestepsetobj(solver,timeStep,err)
50983  !DLLEXPORT(cmfe_Solver_DAETimeStepSetObj)
50984 
50985  !Argument variables
50986  TYPE(cmfe_solvertype), INTENT(IN) :: solver
50987  REAL(DP), INTENT(IN) :: timeStep
50988  INTEGER(INTG), INTENT(OUT) :: err
50989  !Local variables
50990 
50991  enters("cmfe_Solver_DAETimeStepSetObj",err,error,*999)
50992 
50993  CALL solver_dae_time_step_set(solver%solver,timestep,err,error,*999)
50994 
50995  exits("cmfe_Solver_DAETimeStepSetObj")
50996  RETURN
50997 999 errorsexits("cmfe_Solver_DAETimeStepSetObj",err,error)
50998  CALL cmfe_handleerror(err,error)
50999  RETURN
51000 
51001  END SUBROUTINE cmfe_solver_daetimestepsetobj
51002 
51003  !
51004  !================================================================================================================================
51005  !
51006 
51008  SUBROUTINE cmfe_solver_dynamicdegreegetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,degree,err)
51009  !DLLEXPORT(cmfe_Solver_DynamicDegreeGetNumber0)
51010 
51011  !Argument variables
51012  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51013  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
51014  INTEGER(INTG), INTENT(IN) :: solverIndex
51015  INTEGER(INTG), INTENT(OUT) :: degree
51016  INTEGER(INTG), INTENT(OUT) :: err
51017  !Local variables
51018  TYPE(problem_type), POINTER :: PROBLEM
51019  TYPE(solver_type), POINTER :: SOLVER
51020  TYPE(varying_string) :: localError
51021 
51022  enters("cmfe_Solver_DynamicDegreeGetNumber0",err,error,*999)
51023 
51024  NULLIFY(problem)
51025  NULLIFY(solver)
51026  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51027  IF(ASSOCIATED(problem)) THEN
51028  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
51029  CALL solver_dynamic_degree_get(solver,degree,err,error,*999)
51030  ELSE
51031  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51032  & " does not exist."
51033  CALL flagerror(localerror,err,error,*999)
51034  END IF
51035 
51036  exits("cmfe_Solver_DynamicDegreeGetNumber0")
51037  RETURN
51038 999 errorsexits("cmfe_Solver_DynamicDegreeGetNumber0",err,error)
51039  CALL cmfe_handleerror(err,error)
51040  RETURN
51041 
51043 
51044  !
51045  !================================================================================================================================
51046  !
51047 
51049  SUBROUTINE cmfe_solver_dynamicdegreegetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,degree,err)
51050  !DLLEXPORT(cmfe_Solver_DynamicDegreeGetNumber1)
51051 
51052  !Argument variables
51053  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51054  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
51055  INTEGER(INTG), INTENT(IN) :: solverIndex
51056  INTEGER(INTG), INTENT(OUT) :: degree
51057  INTEGER(INTG), INTENT(OUT) :: err
51058  !Local variables
51059  TYPE(problem_type), POINTER :: PROBLEM
51060  TYPE(solver_type), POINTER :: SOLVER
51061  TYPE(varying_string) :: localError
51062 
51063  enters("cmfe_Solver_DynamicDegreeGetNumber1",err,error,*999)
51064 
51065  NULLIFY(problem)
51066  NULLIFY(solver)
51067  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51068  IF(ASSOCIATED(problem)) THEN
51069  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
51070  CALL solver_dynamic_degree_get(solver,degree,err,error,*999)
51071  ELSE
51072  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51073  & " does not exist."
51074  CALL flagerror(localerror,err,error,*999)
51075  END IF
51076 
51077  exits("cmfe_Solver_DynamicDegreeGetNumber1")
51078  RETURN
51079 999 errorsexits("cmfe_Solver_DynamicDegreeGetNumber1",err,error)
51080  CALL cmfe_handleerror(err,error)
51081  RETURN
51082 
51084 
51085  !
51086  !================================================================================================================================
51087  !
51088 
51090  SUBROUTINE cmfe_solver_dynamicdegreegetobj(solver,degree,err)
51091  !DLLEXPORT(cmfe_Solver_DynamicDegreeGetObj)
51092 
51093  !Argument variables
51094  TYPE(cmfe_solvertype), INTENT(IN) :: solver
51095  INTEGER(INTG), INTENT(OUT) :: degree
51096  INTEGER(INTG), INTENT(OUT) :: err
51097  !Local variables
51098 
51099  enters("cmfe_Solver_DynamicDegreeGetObj",err,error,*999)
51100 
51101  CALL solver_dynamic_degree_get(solver%solver,degree,err,error,*999)
51102 
51103  exits("cmfe_Solver_DynamicDegreeGetObj")
51104  RETURN
51105 999 errorsexits("cmfe_Solver_DynamicDegreeGetObj",err,error)
51106  CALL cmfe_handleerror(err,error)
51107  RETURN
51108 
51109  END SUBROUTINE cmfe_solver_dynamicdegreegetobj
51110 
51111  !
51112  !================================================================================================================================
51113  !
51114 
51116  SUBROUTINE cmfe_solver_dynamicdegreesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,degree,err)
51117  !DLLEXPORT(cmfe_Solver_DynamicDegreeSetNumber0)
51118 
51119  !Argument variables
51120  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51121  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
51122  INTEGER(INTG), INTENT(IN) :: solverIndex
51123  INTEGER(INTG), INTENT(IN) :: degree
51124  INTEGER(INTG), INTENT(OUT) :: err
51125  !Local variables
51126  TYPE(problem_type), POINTER :: PROBLEM
51127  TYPE(solver_type), POINTER :: SOLVER
51128  TYPE(varying_string) :: localError
51129 
51130  enters("cmfe_Solver_DynamicDegreeSetNumber0",err,error,*999)
51131 
51132  NULLIFY(problem)
51133  NULLIFY(solver)
51134  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51135  IF(ASSOCIATED(problem)) THEN
51136  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
51137  CALL solver_dynamic_degree_set(solver,degree,err,error,*999)
51138  ELSE
51139  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51140  & " does not exist."
51141  CALL flagerror(localerror,err,error,*999)
51142  END IF
51143 
51144  exits("cmfe_Solver_DynamicDegreeSetNumber0")
51145  RETURN
51146 999 errorsexits("cmfe_Solver_DynamicDegreeSetNumber0",err,error)
51147  CALL cmfe_handleerror(err,error)
51148  RETURN
51149 
51151 
51152  !
51153  !================================================================================================================================
51154  !
51155 
51157  SUBROUTINE cmfe_solver_dynamicdegreesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,degree,err)
51158  !DLLEXPORT(cmfe_Solver_DynamicDegreeSetNumber1)
51159 
51160  !Argument variables
51161  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51162  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
51163  INTEGER(INTG), INTENT(IN) :: solverIndex
51164  INTEGER(INTG), INTENT(IN) :: degree
51165  INTEGER(INTG), INTENT(OUT) :: err
51166  !Local variables
51167  TYPE(problem_type), POINTER :: PROBLEM
51168  TYPE(solver_type), POINTER :: SOLVER
51169  TYPE(varying_string) :: localError
51170 
51171  enters("cmfe_Solver_DynamicDegreeSetNumber1",err,error,*999)
51172 
51173  NULLIFY(problem)
51174  NULLIFY(solver)
51175  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51176  IF(ASSOCIATED(problem)) THEN
51177  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
51178  CALL solver_dynamic_degree_set(solver,degree,err,error,*999)
51179  ELSE
51180  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51181  & " does not exist."
51182  CALL flagerror(localerror,err,error,*999)
51183  END IF
51184 
51185  exits("cmfe_Solver_DynamicDegreeSetNumber1")
51186  RETURN
51187 999 errorsexits("cmfe_Solver_DynamicDegreeSetNumber1",err,error)
51188  CALL cmfe_handleerror(err,error)
51189  RETURN
51190 
51192 
51193  !
51194  !================================================================================================================================
51195  !
51196 
51198  SUBROUTINE cmfe_solver_dynamicdegreesetobj(solver,degree,err)
51199  !DLLEXPORT(cmfe_Solver_DynamicDegreeSetObj)
51200 
51201  !Argument variables
51202  TYPE(cmfe_solvertype), INTENT(IN) :: solver
51203  INTEGER(INTG), INTENT(IN) :: degree
51204  INTEGER(INTG), INTENT(OUT) :: err
51205  !Local variables
51206 
51207  enters("cmfe_Solver_DynamicDegreeSetObj",err,error,*999)
51208 
51209  CALL solver_dynamic_degree_set(solver%solver,degree,err,error,*999)
51210 
51211  exits("cmfe_Solver_DynamicDegreeSetObj")
51212  RETURN
51213 999 errorsexits("cmfe_Solver_DynamicDegreeSetObj",err,error)
51214  CALL cmfe_handleerror(err,error)
51215  RETURN
51216 
51217  END SUBROUTINE cmfe_solver_dynamicdegreesetobj
51218 
51219  !
51220  !================================================================================================================================
51221  !
51222 
51224  SUBROUTINE cmfe_solver_dynamiclinearitytypegetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,linearityType,err)
51225  !DLLEXPORT(cmfe_Solver_DynamicLinearityTypeGetNumber0)
51226 
51227  !Argument variables
51228  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51229  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
51230  INTEGER(INTG), INTENT(IN) :: solverIndex
51231  INTEGER(INTG), INTENT(OUT) :: linearityType
51232  INTEGER(INTG), INTENT(OUT) :: err
51233  !Local variables
51234  TYPE(problem_type), POINTER :: PROBLEM
51235  TYPE(solver_type), POINTER :: SOLVER
51236  TYPE(varying_string) :: localError
51237 
51238  enters("cmfe_Solver_DynamicLinearityTypeGetNumber0",err,error,*999)
51239 
51240  NULLIFY(problem)
51241  NULLIFY(solver)
51242  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51243  IF(ASSOCIATED(problem)) THEN
51244  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
51245  CALL solver_dynamic_linearity_type_get(solver,linearitytype,err,error,*999)
51246  ELSE
51247  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51248  & " does not exist."
51249  CALL flagerror(localerror,err,error,*999)
51250  END IF
51251 
51252  exits("cmfe_Solver_DynamicLinearityTypeGetNumber0")
51253  RETURN
51254 999 errorsexits("cmfe_Solver_DynamicLinearityTypeGetNumber0",err,error)
51255  CALL cmfe_handleerror(err,error)
51256  RETURN
51257 
51259 
51260  !
51261  !================================================================================================================================
51262  !
51263 
51265  SUBROUTINE cmfe_solver_dynamiclinearitytypegetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,linearityType,err)
51266  !DLLEXPORT(cmfe_Solver_DynamicLinearityTypeGetNumber1)
51267 
51268  !Argument variables
51269  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51270  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
51271  INTEGER(INTG), INTENT(IN) :: solverIndex
51272  INTEGER(INTG), INTENT(OUT) :: linearityType
51273  INTEGER(INTG), INTENT(OUT) :: err
51274  !Local variables
51275  TYPE(problem_type), POINTER :: PROBLEM
51276  TYPE(solver_type), POINTER :: SOLVER
51277  TYPE(varying_string) :: localError
51278 
51279  enters("cmfe_Solver_DynamicLinearityTypeGetNumber1",err,error,*999)
51280 
51281  NULLIFY(problem)
51282  NULLIFY(solver)
51283  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51284  IF(ASSOCIATED(problem)) THEN
51285  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
51286  CALL solver_dynamic_linearity_type_get(solver,linearitytype,err,error,*999)
51287  ELSE
51288  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51289  & " does not exist."
51290  CALL flagerror(localerror,err,error,*999)
51291  END IF
51292 
51293  exits("cmfe_Solver_DynamicLinearityTypeGetNumber1")
51294  RETURN
51295 999 errorsexits("cmfe_Solver_DynamicLinearityTypeGetNumber1",err,error)
51296  CALL cmfe_handleerror(err,error)
51297  RETURN
51298 
51300 
51301  !
51302  !================================================================================================================================
51303  !
51304 
51306  SUBROUTINE cmfe_solver_dynamiclinearitytypegetobj(solver,linearityType,err)
51307  !DLLEXPORT(cmfe_Solver_DynamicLinearityTypeGetObj)
51308 
51309  !Argument variables
51310  TYPE(cmfe_solvertype), INTENT(IN) :: solver
51311  INTEGER(INTG), INTENT(OUT) :: linearityType
51312  INTEGER(INTG), INTENT(OUT) :: err
51313  !Local variables
51314 
51315  enters("cmfe_Solver_DynamicLinearityTypeGetObj",err,error,*999)
51316 
51317  CALL solver_dynamic_linearity_type_get(solver%solver,linearitytype,err,error,*999)
51318 
51319  exits("cmfe_Solver_DynamicLinearityTypeGetObj")
51320  RETURN
51321 999 errorsexits("cmfe_Solver_DynamicLinearityTypeGetObj",err,error)
51322  CALL cmfe_handleerror(err,error)
51323  RETURN
51324 
51326 
51327  !
51328  !================================================================================================================================
51329  !
51330 
51332  SUBROUTINE cmfe_solver_dynamicnonlinearsolvergetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
51333  & nonlinearsolverindex,err)
51334  !DLLEXPORT(cmfe_Solver_DynamicNonlinearSolverGetNumber0)
51335 
51336  !Argument variables
51337  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51338  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
51339  INTEGER(INTG), INTENT(IN) :: solverIndex
51340  INTEGER(INTG), INTENT(OUT) :: nonlinearSolverIndex
51341  INTEGER(INTG), INTENT(OUT) :: err
51342  !Local variables
51343  TYPE(problem_type), POINTER :: PROBLEM
51344  TYPE(solver_type), POINTER :: SOLVER,NONLINEAR_SOLVER
51345  TYPE(varying_string) :: localError
51346 
51347  enters("cmfe_Solver_DynamicNonlinearSolverGetNumber0",err,error,*999)
51348 
51349  NULLIFY(problem)
51350  NULLIFY(solver)
51351  NULLIFY(nonlinear_solver)
51352  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51353  IF(ASSOCIATED(problem)) THEN
51354  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
51355  CALL solver_dynamic_nonlinear_solver_get(solver,nonlinear_solver,err,error,*999)
51356  !todo: get the solver index from nonlinear solver
51357  nonlinearsolverindex=nonlinear_solver%GLOBAL_NUMBER
51358  CALL flagerror("Not implemented.",err,error,*999)
51359  ELSE
51360  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51361  & " does not exist."
51362  CALL flagerror(localerror,err,error,*999)
51363  END IF
51364 
51365  exits("cmfe_Solver_DynamicNonlinearSolverGetNumber0")
51366  RETURN
51367 999 errors("cmfe_Solver_DynamicNonlinearSolverGetNumber0",err,error)
51368  exits("cmfe_Solver_DynamicNonlinearSolverGetNumber0")
51369  CALL cmfe_handleerror(err,error)
51370  RETURN
51371 
51373 
51374  !
51375  !================================================================================================================================
51376  !
51377 
51379  SUBROUTINE cmfe_solver_dynamicnonlinearsolvergetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
51380  & nonlinearsolverindex,err)
51381  !DLLEXPORT(cmfe_Solver_DynamicNonlinearSolverGetNumber1)
51382 
51383  !Argument variables
51384  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51385  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
51386  INTEGER(INTG), INTENT(IN) :: solverIndex
51387  INTEGER(INTG), INTENT(OUT) :: nonlinearSolverIndex
51388  INTEGER(INTG), INTENT(OUT) :: err
51389  !Local variables
51390  TYPE(problem_type), POINTER :: PROBLEM
51391  TYPE(solver_type), POINTER :: SOLVER,NONLINEAR_SOLVER
51392  TYPE(varying_string) :: localError
51393 
51394  enters("cmfe_Solver_DynamicNonlinearSolverGetNumber1",err,error,*999)
51395 
51396  NULLIFY(problem)
51397  NULLIFY(solver)
51398  NULLIFY(nonlinear_solver)
51399  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51400  IF(ASSOCIATED(problem)) THEN
51401  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
51402  CALL solver_dynamic_nonlinear_solver_get(solver,nonlinear_solver,err,error,*999)
51403  !todo: get the solver index from nonlinear solver
51404  nonlinearsolverindex=nonlinear_solver%GLOBAL_NUMBER
51405  CALL flagerror("Not implemented.",err,error,*999)
51406  ELSE
51407  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51408  & " does not exist."
51409  CALL flagerror(localerror,err,error,*999)
51410  END IF
51411 
51412  exits("cmfe_Solver_DynamicNonlinearSolverGetNumber1")
51413  RETURN
51414 999 errors("cmfe_Solver_DynamicNonlinearSolverGetNumber1",err,error)
51415  exits("cmfe_Solver_DynamicNonlinearSolverGetNumber1")
51416  CALL cmfe_handleerror(err,error)
51417  RETURN
51418 
51420 
51421  !
51422  !================================================================================================================================
51423  !
51424 
51426  SUBROUTINE cmfe_solver_dynamicnonlinearsolvergetobj(solver,nonlinearSolver,err)
51427  !DLLEXPORT(cmfe_Solver_DynamicNonlinearSolverGetObj)
51428 
51429  !Argument variables
51430  TYPE(cmfe_solvertype), INTENT(IN) :: solver
51431  TYPE(cmfe_solvertype), INTENT(INOUT) :: nonlinearSolver
51432  INTEGER(INTG), INTENT(OUT) :: err
51433  !Local variables
51434 
51435  enters("cmfe_Solver_DynamicNonlinearSolverGetObj",err,error,*999)
51436 
51437  CALL solver_dynamic_nonlinear_solver_get(solver%solver,nonlinearsolver%solver,err,error,*999)
51438 
51439  exits("cmfe_Solver_DynamicNonlinearSolverGetObj")
51440  RETURN
51441 999 errorsexits("cmfe_Solver_DynamicNonlinearSolverGetObj",err,error)
51442  CALL cmfe_handleerror(err,error)
51443  RETURN
51444 
51446 
51447  !
51448  !================================================================================================================================
51449  !
51450 
51452  SUBROUTINE cmfe_solver_dynamiclinearsolvergetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,linearSolverIndex,err)
51453  !DLLEXPORT(cmfe_Solver_DynamicLinearSolverGetNumber0)
51454 
51455  !Argument variables
51456  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51457  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
51458  INTEGER(INTG), INTENT(IN) :: solverIndex
51459  INTEGER(INTG), INTENT(OUT) :: linearSolverIndex
51460  INTEGER(INTG), INTENT(OUT) :: err
51461  !Local variables
51462  TYPE(problem_type), POINTER :: PROBLEM
51463  TYPE(solver_type), POINTER :: SOLVER,LINEAR_SOLVER
51464  TYPE(varying_string) :: localError
51465 
51466  enters("cmfe_Solver_DynamicLinearSolverGetNumber0",err,error,*999)
51467 
51468  NULLIFY(problem)
51469  NULLIFY(solver)
51470  NULLIFY(linear_solver)
51471  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51472  IF(ASSOCIATED(problem)) THEN
51473  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
51474  CALL solver_dynamic_linear_solver_get(solver,linear_solver,err,error,*999)
51475  !todo: get the solver index from linear solver
51476  linearsolverindex=linear_solver%GLOBAL_NUMBER
51477  CALL flagerror("Not implemented.",err,error,*999)
51478  ELSE
51479  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51480  & " does not exist."
51481  CALL flagerror(localerror,err,error,*999)
51482  END IF
51483 
51484  exits("cmfe_Solver_DynamicLinearSolverGetNumber0")
51485  RETURN
51486 999 errorsexits("cmfe_Solver_DynamicLinearSolverGetNumber0",err,error)
51487  CALL cmfe_handleerror(err,error)
51488  RETURN
51489 
51491 
51492  !
51493  !================================================================================================================================
51494  !
51495 
51497  SUBROUTINE cmfe_solver_dynamiclinearsolvergetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,linearSolverIndex,err)
51498  !DLLEXPORT(cmfe_Solver_DynamicLinearSolverGetNumber1)
51499 
51500  !Argument variables
51501  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51502  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
51503  INTEGER(INTG), INTENT(IN) :: solverIndex
51504  INTEGER(INTG), INTENT(OUT) :: linearSolverIndex
51505  INTEGER(INTG), INTENT(OUT) :: err
51506  !Local variables
51507  TYPE(problem_type), POINTER :: PROBLEM
51508  TYPE(solver_type), POINTER :: SOLVER,LINEAR_SOLVER
51509  TYPE(varying_string) :: localError
51510 
51511  enters("cmfe_Solver_DynamicLinearSolverGetNumber1",err,error,*999)
51512 
51513  NULLIFY(problem)
51514  NULLIFY(solver)
51515  NULLIFY(linear_solver)
51516  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51517  IF(ASSOCIATED(problem)) THEN
51518  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
51519  CALL solver_dynamic_linear_solver_get(solver,linear_solver,err,error,*999)
51520  !todo: get the solver index from linear solver
51521  linearsolverindex=linear_solver%GLOBAL_NUMBER
51522  CALL flagerror("Not implemented.",err,error,*999)
51523  ELSE
51524  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51525  & " does not exist."
51526  CALL flagerror(localerror,err,error,*999)
51527  END IF
51528 
51529  exits("cmfe_Solver_DynamicLinearSolverGetNumber1")
51530  RETURN
51531 999 errorsexits("cmfe_Solver_DynamicLinearSolverGetNumber1",err,error)
51532  CALL cmfe_handleerror(err,error)
51533  RETURN
51534 
51536 
51537  !================================================================================================================================
51538  !
51539 
51541  SUBROUTINE cmfe_solver_dynamiclinearsolvergetobj(solver,linearSolver,err)
51542  !DLLEXPORT(cmfe_Solver_DynamicLinearSolverGetObj)
51543 
51544  !Argument variables
51545  TYPE(cmfe_solvertype), INTENT(IN) :: solver
51546  TYPE(cmfe_solvertype), INTENT(INOUT) :: linearSolver
51547  INTEGER(INTG), INTENT(OUT) :: err
51548  !Local variables
51549 
51550  enters("cmfe_Solver_DynamicLinearSolverGetObj",err,error,*999)
51551 
51552  CALL solver_dynamic_linear_solver_get(solver%solver,linearsolver%solver,err,error,*999)
51553 
51554  exits("cmfe_Solver_DynamicLinearSolverGetObj")
51555  RETURN
51556 999 errorsexits("cmfe_Solver_DynamicLinearSolverGetObj",err,error)
51557  CALL cmfe_handleerror(err,error)
51558  RETURN
51559 
51561 
51562  !
51563  !================================================================================================================================
51564  !
51565 
51567  SUBROUTINE cmfe_solver_dynamicschemesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,scheme,err)
51568  !DLLEXPORT(cmfe_Solver_DynamicSchemeSetNumber0)
51569 
51570  !Argument variables
51571  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51572  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
51573  INTEGER(INTG), INTENT(IN) :: solverIndex
51574  INTEGER(INTG), INTENT(IN) :: scheme
51575  INTEGER(INTG), INTENT(OUT) :: err
51576  !Local variables
51577  TYPE(problem_type), POINTER :: PROBLEM
51578  TYPE(solver_type), POINTER :: SOLVER
51579  TYPE(varying_string) :: localError
51580 
51581  enters("cmfe_Solver_DynamicSchemeSetNumber0",err,error,*999)
51582 
51583  NULLIFY(problem)
51584  NULLIFY(solver)
51585  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51586  IF(ASSOCIATED(problem)) THEN
51587  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
51588  CALL solver_dynamic_scheme_set(solver,scheme,err,error,*999)
51589  ELSE
51590  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51591  & " does not exist."
51592  CALL flagerror(localerror,err,error,*999)
51593  END IF
51594 
51595  exits("cmfe_Solver_DynamicSchemeSetNumber0")
51596  RETURN
51597 999 errorsexits("cmfe_Solver_DynamicSchemeSetNumber0",err,error)
51598  CALL cmfe_handleerror(err,error)
51599  RETURN
51600 
51602 
51603  !
51604  !================================================================================================================================
51605  !
51606 
51608  SUBROUTINE cmfe_solver_dynamicschemesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,scheme,err)
51609  !DLLEXPORT(cmfe_Solver_DynamicSchemeSetNumber1)
51610 
51611  !Argument variables
51612  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51613  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
51614  INTEGER(INTG), INTENT(IN) :: solverIndex
51615  INTEGER(INTG), INTENT(IN) :: scheme
51616  INTEGER(INTG), INTENT(OUT) :: err
51617  !Local variables
51618  TYPE(problem_type), POINTER :: PROBLEM
51619  TYPE(solver_type), POINTER :: SOLVER
51620  TYPE(varying_string) :: localError
51621 
51622  enters("cmfe_Solver_DynamicSchemeSetNumber1",err,error,*999)
51623 
51624  NULLIFY(problem)
51625  NULLIFY(solver)
51626  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51627  IF(ASSOCIATED(problem)) THEN
51628  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
51629  CALL solver_dynamic_scheme_set(solver,scheme,err,error,*999)
51630  ELSE
51631  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51632  & " does not exist."
51633  CALL flagerror(localerror,err,error,*999)
51634  END IF
51635 
51636  exits("cmfe_Solver_DynamicSchemeSetNumber1")
51637  RETURN
51638 999 errorsexits("cmfe_Solver_DynamicSchemeSetNumber1",err,error)
51639  CALL cmfe_handleerror(err,error)
51640  RETURN
51641 
51643 
51644  !================================================================================================================================
51645  !
51646 
51648  SUBROUTINE cmfe_solver_dynamicschemesetobj(solver,scheme,err)
51649  !DLLEXPORT(cmfe_Solver_DynamicSchemeSetObj)
51650 
51651  !Argument variables
51652  TYPE(cmfe_solvertype), INTENT(IN) :: solver
51653  INTEGER(INTG), INTENT(IN) :: scheme
51654  INTEGER(INTG), INTENT(OUT) :: err
51655  !Local variables
51656 
51657  enters("cmfe_Solver_DynamicSchemeSetObj",err,error,*999)
51658 
51659  CALL solver_dynamic_scheme_set(solver%solver,scheme,err,error,*999)
51660 
51661  exits("cmfe_Solver_DynamicSchemeSetObj")
51662  RETURN
51663 999 errorsexits("cmfe_Solver_DynamicSchemeSetObj",err,error)
51664  CALL cmfe_handleerror(err,error)
51665  RETURN
51666 
51667  END SUBROUTINE cmfe_solver_dynamicschemesetobj
51668 
51669  !
51670  !================================================================================================================================
51671  !
51672 
51674  SUBROUTINE cmfe_solver_dynamicthetasetnumber00(problemUserNumber,controlLoopIdentifier,solverIndex,theta,err)
51675  !DLLEXPORT(cmfe_Solver_DynamicThetaSetNumber00)
51676 
51677  !Argument variables
51678  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51679  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
51680  INTEGER(INTG), INTENT(IN) :: solverIndex
51681  REAL(DP), INTENT(IN) :: theta
51682  INTEGER(INTG), INTENT(OUT) :: err
51683  !Local variables
51684  TYPE(problem_type), POINTER :: PROBLEM
51685  TYPE(solver_type), POINTER :: SOLVER
51686  TYPE(varying_string) :: localError
51687 
51688  enters("cmfe_Solver_DynamicThetaSetNumber00",err,error,*999)
51689 
51690  NULLIFY(problem)
51691  NULLIFY(solver)
51692  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51693  IF(ASSOCIATED(problem)) THEN
51694  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
51695  CALL solver_dynamic_theta_set(solver,theta,err,error,*999)
51696  ELSE
51697  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51698  & " does not exist."
51699  CALL flagerror(localerror,err,error,*999)
51700  END IF
51701 
51702  exits("cmfe_Solver_DynamicThetaSetNumber00")
51703  RETURN
51704 999 errorsexits("cmfe_Solver_DynamicThetaSetNumber00",err,error)
51705  CALL cmfe_handleerror(err,error)
51706  RETURN
51707 
51709 
51710  !
51711  !================================================================================================================================
51712  !
51713 
51715  SUBROUTINE cmfe_solver_dynamicthetasetnumber01(problemUserNumber,controlLoopIdentifier,solverIndex,thetas,err)
51716  !DLLEXPORT(cmfe_Solver_DynamicThetaSetNumber01)
51717 
51718  !Argument variables
51719  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51720  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
51721  INTEGER(INTG), INTENT(IN) :: solverIndex
51722  REAL(DP), INTENT(IN) :: thetas(:)
51723  INTEGER(INTG), INTENT(OUT) :: err
51724  !Local variables
51725  TYPE(problem_type), POINTER :: PROBLEM
51726  TYPE(solver_type), POINTER :: SOLVER
51727  TYPE(varying_string) :: localError
51728 
51729  enters("cmfe_Solver_DynamicThetaSetNumber01",err,error,*999)
51730 
51731  NULLIFY(problem)
51732  NULLIFY(solver)
51733  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51734  IF(ASSOCIATED(problem)) THEN
51735  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
51736  CALL solver_dynamic_theta_set(solver,thetas,err,error,*999)
51737  ELSE
51738  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51739  & " does not exist."
51740  CALL flagerror(localerror,err,error,*999)
51741  END IF
51742 
51743  exits("cmfe_Solver_DynamicThetaSetNumber01")
51744  RETURN
51745 999 errorsexits("cmfe_Solver_DynamicThetaSetNumber01",err,error)
51746  CALL cmfe_handleerror(err,error)
51747  RETURN
51748 
51750 
51751  !
51752  !================================================================================================================================
51753  !
51754 
51756  SUBROUTINE cmfe_solver_dynamicthetasetnumber10(problemUserNumber,controlLoopIdentifiers,solverIndex,theta,err)
51757  !DLLEXPORT(cmfe_Solver_DynamicThetaSetNumber10)
51758 
51759  !Argument variables
51760  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51761  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
51762  INTEGER(INTG), INTENT(IN) :: solverIndex
51763  REAL(DP), INTENT(IN) :: theta
51764  INTEGER(INTG), INTENT(OUT) :: err
51765  !Local variables
51766  TYPE(problem_type), POINTER :: PROBLEM
51767  TYPE(solver_type), POINTER :: SOLVER
51768  TYPE(varying_string) :: localError
51769 
51770  enters("cmfe_Solver_DynamicThetaSetNumber10",err,error,*999)
51771 
51772  NULLIFY(problem)
51773  NULLIFY(solver)
51774  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51775  IF(ASSOCIATED(problem)) THEN
51776  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
51777  CALL solver_dynamic_theta_set(solver,theta,err,error,*999)
51778  ELSE
51779  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51780  & " does not exist."
51781  CALL flagerror(localerror,err,error,*999)
51782  END IF
51783 
51784  exits("cmfe_Solver_DynamicThetaSetNumber10")
51785  RETURN
51786 999 errorsexits("cmfe_Solver_DynamicThetaSetNumber10",err,error)
51787  CALL cmfe_handleerror(err,error)
51788  RETURN
51789 
51791 
51792  !
51793  !================================================================================================================================
51794  !
51795 
51797  SUBROUTINE cmfe_solver_dynamicthetasetnumber11(problemUserNumber,controlLoopIdentifiers,solverIndex,thetas,err)
51798  !DLLEXPORT(cmfe_Solver_DynamicThetaSetNumber11)
51799 
51800  !Argument variables
51801  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51802  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
51803  INTEGER(INTG), INTENT(IN) :: solverIndex
51804  REAL(DP), INTENT(IN) :: thetas(:)
51805  INTEGER(INTG), INTENT(OUT) :: err
51806  !Local variables
51807  TYPE(problem_type), POINTER :: PROBLEM
51808  TYPE(solver_type), POINTER :: SOLVER
51809  TYPE(varying_string) :: localError
51810 
51811  enters("cmfe_Solver_DynamicThetaSetNumber11",err,error,*999)
51812 
51813  NULLIFY(problem)
51814  NULLIFY(solver)
51815  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51816  IF(ASSOCIATED(problem)) THEN
51817  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
51818  CALL solver_dynamic_theta_set(solver,thetas,err,error,*999)
51819  ELSE
51820  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51821  & " does not exist."
51822  CALL flagerror(localerror,err,error,*999)
51823  END IF
51824 
51825  exits("cmfe_Solver_DynamicThetaSetNumber11")
51826  RETURN
51827 999 errorsexits("cmfe_Solver_DynamicThetaSetNumber11",err,error)
51828  CALL cmfe_handleerror(err,error)
51829  RETURN
51830 
51832 
51833  !
51834  !================================================================================================================================
51835  !
51836 
51838  SUBROUTINE cmfe_solver_dynamicthetasetobj0(solver,theta,err)
51839  !DLLEXPORT(cmfe_Solver_DynamicThetaSetObj0)
51840 
51841  !Argument variables
51842  TYPE(cmfe_solvertype), INTENT(IN) :: solver
51843  REAL(DP), INTENT(IN) :: theta
51844  INTEGER(INTG), INTENT(OUT) :: err
51845  !Local variables
51846 
51847  enters("cmfe_Solver_DynamicThetaSetObj0",err,error,*999)
51848 
51849  CALL solver_dynamic_theta_set(solver%solver,theta,err,error,*999)
51850 
51851  exits("cmfe_Solver_DynamicThetaSetObj0")
51852  RETURN
51853 999 errorsexits("cmfe_Solver_DynamicThetaSetObj0",err,error)
51854  CALL cmfe_handleerror(err,error)
51855  RETURN
51856 
51857  END SUBROUTINE cmfe_solver_dynamicthetasetobj0
51858 
51859  !
51860  !================================================================================================================================
51861  !
51862 
51864  SUBROUTINE cmfe_solver_dynamicthetasetobj1(solver,thetas,err)
51865  !DLLEXPORT(cmfe_Solver_DynamicThetaSetObj1)
51866 
51867  !Argument variables
51868  TYPE(cmfe_solvertype), INTENT(IN) :: solver
51869  REAL(DP), INTENT(IN) :: thetas(:)
51870  INTEGER(INTG), INTENT(OUT) :: err
51871  !Local variables
51872 
51873  enters("cmfe_Solver_DynamicThetaSetObj1",err,error,*999)
51874 
51875  CALL solver_dynamic_theta_set(solver%solver,thetas,err,error,*999)
51876 
51877  exits("cmfe_Solver_DynamicThetaSetObj1")
51878  RETURN
51879 999 errorsexits("cmfe_Solver_DynamicThetaSetObj1",err,error)
51880  CALL cmfe_handleerror(err,error)
51881  RETURN
51882 
51883  END SUBROUTINE cmfe_solver_dynamicthetasetobj1
51884 
51885  !
51886  !================================================================================================================================
51887  !
51888 
51890  SUBROUTINE cmfe_solver_dynamictimessetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,currentTime,timeIncrement,err)
51891  !DLLEXPORT(cmfe_Solver_DynamicTimesSetNumber0)
51892 
51893  !Argument variables
51894  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51895  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
51896  INTEGER(INTG), INTENT(IN) :: solverIndex
51897  REAL(DP), INTENT(IN) :: currentTime
51898  REAL(DP), INTENT(IN) :: timeIncrement
51899  INTEGER(INTG), INTENT(OUT) :: err
51900  !Local variables
51901  TYPE(problem_type), POINTER :: PROBLEM
51902  TYPE(solver_type), POINTER :: SOLVER
51903  TYPE(varying_string) :: localError
51904 
51905  enters("cmfe_Solver_DynamicTimesSetNumber0",err,error,*999)
51906 
51907  NULLIFY(problem)
51908  NULLIFY(solver)
51909  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51910  IF(ASSOCIATED(problem)) THEN
51911  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
51912  CALL solver_dynamic_times_set(solver,currenttime,timeincrement,err,error,*999)
51913  ELSE
51914  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51915  & " does not exist."
51916  CALL flagerror(localerror,err,error,*999)
51917  END IF
51918 
51919  exits("cmfe_Solver_DynamicTimesSetNumber0")
51920  RETURN
51921 999 errorsexits("cmfe_Solver_DynamicTimesSetNumber0",err,error)
51922  CALL cmfe_handleerror(err,error)
51923  RETURN
51924 
51925  END SUBROUTINE cmfe_solver_dynamictimessetnumber0
51926 
51927  !
51928  !================================================================================================================================
51929  !
51930 
51932  SUBROUTINE cmfe_solver_dynamictimessetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,currentTime,timeIncrement,err)
51933  !DLLEXPORT(cmfe_Solver_DynamicTimesSetNumber1)
51934 
51935  !Argument variables
51936  INTEGER(INTG), INTENT(IN) :: problemUserNumber
51937  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
51938  INTEGER(INTG), INTENT(IN) :: solverIndex
51939  REAL(DP), INTENT(IN) :: currentTime
51940  REAL(DP), INTENT(IN) :: timeIncrement
51941  INTEGER(INTG), INTENT(OUT) :: err
51942  !Local variables
51943  TYPE(problem_type), POINTER :: PROBLEM
51944  TYPE(solver_type), POINTER :: SOLVER
51945  TYPE(varying_string) :: localError
51946 
51947  enters("cmfe_SolverDynamicTimeSetNumber1",err,error,*999)
51948 
51949  NULLIFY(problem)
51950  NULLIFY(solver)
51951  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
51952  IF(ASSOCIATED(problem)) THEN
51953  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
51954  CALL solver_dynamic_times_set(solver,currenttime,timeincrement,err,error,*999)
51955  ELSE
51956  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
51957  & " does not exist."
51958  CALL flagerror(localerror,err,error,*999)
51959  END IF
51960 
51961  exits("cmfe_Solver_DynamicTimesSetNumber1")
51962  RETURN
51963 999 errorsexits("cmfe_Solver_DynamicTimesSetNumber1",err,error)
51964  CALL cmfe_handleerror(err,error)
51965  RETURN
51966 
51967  END SUBROUTINE cmfe_solver_dynamictimessetnumber1
51968 
51969  !================================================================================================================================
51970  !
51971 
51973  SUBROUTINE cmfe_solver_dynamictimessetobj(solver,currentTime,timeIncrement,err)
51974  !DLLEXPORT(cmfe_Solver_DynamicTimesSetObj)
51975 
51976  !Argument variables
51977  TYPE(cmfe_solvertype), INTENT(IN) :: solver
51978  REAL(DP), INTENT(IN) :: currentTime
51979  REAL(DP), INTENT(IN) :: timeIncrement
51980  INTEGER(INTG), INTENT(OUT) :: err
51981  !Local variables
51982 
51983  enters("cmfe_Solver_DynamicTimesSetObj",err,error,*999)
51984 
51985  CALL solver_dynamic_times_set(solver%solver,currenttime,timeincrement,err,error,*999)
51986 
51987  exits("cmfe_Solver_DynamicTimesSetObj")
51988  RETURN
51989 999 errorsexits("cmfe_Solver_DynamicTimesSetObj",err,error)
51990  CALL cmfe_handleerror(err,error)
51991  RETURN
51992 
51993  END SUBROUTINE cmfe_solver_dynamictimessetobj
51994 
51995  !
51996  !================================================================================================================================
51997  !
51998 
52000  SUBROUTINE cmfe_solver_geometrictransformationarbitrarypathsetnumber(problemUserNumber,controlLoopIdentifier,solverIndex, &
52001  & arbitrarypath,err)
52002  !DLLEXPORT(cmfe_Solver_GeometricTransformationArbitraryPathSetNumber)
52003 
52004  !Argument variables
52005  INTEGER(INTG), INTENT(IN) :: problemUserNumber
52006  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
52007  INTEGER(INTG), INTENT(IN) :: solverIndex
52008  LOGICAL, INTENT(IN) :: arbitraryPath
52009  INTEGER(INTG), INTENT(OUT) :: err
52010  !Local variables
52011  TYPE(problem_type), POINTER :: problem
52012  TYPE(solver_type), POINTER :: solver
52013  TYPE(varying_string) :: localError
52014 
52015  enters("cmfe_Solver_GeometricTransformationArbitraryPathSetNumber",err,error,*999)
52016 
52017  NULLIFY(problem)
52018  NULLIFY(solver)
52019  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
52020  IF(ASSOCIATED(problem)) THEN
52021  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
52022  IF(ASSOCIATED(solver)) THEN
52023  CALL solver_geometrictransformationarbitrarypathset(solver,arbitrarypath,err,error,*999)
52024  ELSE
52025  localerror="A solver with index of "//trim(numbertovstring(solverindex,"*",err,error))// &
52026  & " does not exist."
52027  CALL flagerror(localerror,err,error,*999)
52028  ENDIF
52029  ELSE
52030  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
52031  & " does not exist."
52032  CALL flagerror(localerror,err,error,*999)
52033  ENDIF
52034 
52035  exits("cmfe_Solver_GeometricTransformationArbitraryPathSetNumber")
52036  RETURN
52037 999 errors("cmfe_Solver_GeometricTransformationArbitraryPathSetNumber",err,error)
52038  exits("cmfe_Solver_GeometricTransformationArbitraryPathSetNumber")
52039  CALL cmfe_handleerror(err,error)
52040  RETURN
52041 
52043 
52044  !
52045  !================================================================================================================================
52046  !
52047 
52049  SUBROUTINE cmfe_solver_geometrictransformationarbitrarypathsetobj(solver,arbitraryPath,err)
52050  !DLLEXPORT(cmfe_Solver_GeometricTransformationArbitraryPathSetObj)
52051 
52052  !Argument variables
52053  TYPE(cmfe_solvertype), INTENT(IN) :: solver
52054  LOGICAL, INTENT(IN) :: arbitraryPath
52055  INTEGER(INTG), INTENT(OUT) :: err
52056  !Local variables
52057 
52058  enters("cmfe_Solver_GeometricTransformationArbitraryPathSetObj",err,error,*999)
52059 
52060  CALL solver_geometrictransformationarbitrarypathset(solver%solver,arbitrarypath,err,error,*999)
52061 
52062  exits("cmfe_Solver_GeometricTransformationArbitraryPathSetObj")
52063  RETURN
52064 999 errors("cmfe_Solver_GeometricTransformationArbitraryPathSetObj",err,error)
52065  exits("cmfe_Solver_GeometricTransformationArbitraryPathSetObj")
52066  CALL cmfe_handleerror(err,error)
52067  RETURN
52068 
52070 
52071  !
52072  !================================================================================================================================
52073  !
52074 
52076  SUBROUTINE cmfe_solver_geometrictransformationclearnumber(problemUserNumber,controlLoopIdentifier,solverIndex,err)
52077  !DLLEXPORT(cmfe_Solver_GeometricTransformationClearNumber)
52078 
52079  !Argument variables
52080  INTEGER(INTG), INTENT(IN) :: problemUserNumber
52081  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
52082  INTEGER(INTG), INTENT(IN) :: solverIndex
52083  INTEGER(INTG), INTENT(OUT) :: err
52084  !Local variables
52085  TYPE(problem_type), POINTER :: problem
52086  TYPE(solver_type), POINTER :: solver
52087  TYPE(varying_string) :: localError
52088 
52089  enters("cmfe_Solver_GeometricTransformationClearNumber",err,error,*999)
52090 
52091  NULLIFY(problem)
52092  NULLIFY(solver)
52093  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
52094  IF(ASSOCIATED(problem)) THEN
52095  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
52096  IF(ASSOCIATED(solver)) THEN
52097  CALL solver_geometrictransformationclear(solver,err,error,*999)
52098  ELSE
52099  localerror="A solver with index of "//trim(numbertovstring(solverindex,"*",err,error))// &
52100  & " does not exist."
52101  CALL flagerror(localerror,err,error,*999)
52102  ENDIF
52103  ELSE
52104  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
52105  & " does not exist."
52106  CALL flagerror(localerror,err,error,*999)
52107  ENDIF
52108 
52109  exits("cmfe_Solver_GeometricTransformationClearNumber")
52110  RETURN
52111 999 errors("cmfe_Solver_GeometricTransformationClearNumber",err,error)
52112  exits("cmfe_Solver_GeometricTransformationClearNumber")
52113  CALL cmfe_handleerror(err,error)
52114  RETURN
52115 
52117 
52118  !
52119  !================================================================================================================================
52120  !
52121 
52123  SUBROUTINE cmfe_solver_geometrictransformationclearobj(solver,err)
52124  !DLLEXPORT(cmfe_Solver_GeometricTransformationClearObj)
52125 
52126  !Argument variables
52127  TYPE(cmfe_solvertype), INTENT(IN) :: solver
52128  INTEGER(INTG), INTENT(OUT) :: err
52129  !Local variables
52130 
52131  enters("cmfe_Solver_GeometricTransformationClearObj",err,error,*999)
52132 
52133  CALL solver_geometrictransformationclear(solver%solver,err,error,*999)
52134 
52135  exits("cmfe_Solver_GeometricTransformationClearObj")
52136  RETURN
52137 999 errorsexits("cmfe_Solver_GeometricTransformationClearObj",err,error)
52138  CALL cmfe_handleerror(err,error)
52139  RETURN
52140 
52142 
52143  !
52144  !================================================================================================================================
52145  !
52146 
52148  SUBROUTINE cmfe_solver_geometrictransformationfieldsetnumber(problemUserNumber,controlLoopIdentifier,solverIndex, &
52149  & regionusernumber,fieldusernumber,variabletype,err)
52150  !DLLEXPORT(cmfe_Solver_GeometricTransformationFieldSetNumber)
52151 
52152  !Argument variables
52153  INTEGER(INTG), INTENT(IN) :: problemUserNumber
52154  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
52155  INTEGER(INTG), INTENT(IN) :: solverIndex
52156  INTEGER(INTG), INTENT(IN) :: regionUserNumber
52157  INTEGER(INTG), INTENT(IN) :: fieldUserNumber
52158  INTEGER(INTG), INTENT(IN) :: variableType
52159  INTEGER(INTG), INTENT(OUT) :: err
52160  !Local variables
52161  TYPE(problem_type), POINTER :: problem
52162  TYPE(solver_type), POINTER :: solver
52163  TYPE(field_type), POINTER :: field
52164  TYPE(region_type), POINTER :: region
52165  TYPE(varying_string) :: localError
52166 
52167  enters("cmfe_Solver_GeometricTransformationFieldSetNumber",err,error,*999)
52168 
52169  NULLIFY(problem)
52170  NULLIFY(solver)
52171  NULLIFY(field)
52172  NULLIFY(region)
52173  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
52174  IF(ASSOCIATED(problem)) THEN
52175  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
52176  IF(ASSOCIATED(solver)) THEN
52177  CALL region_user_number_find(regionusernumber,region,err,error,*999)
52178  IF(ASSOCIATED(region)) THEN
52179  CALL field_user_number_find(fieldusernumber,region,field,err,error,*999)
52180  IF(ASSOCIATED(field)) THEN
52181  CALL solver_geometrictransformationfieldset(solver,field,variabletype,err,error,*999)
52182  ELSE
52183  localerror="A field with user number of "//trim(numbertovstring(fieldusernumber,"*",err,error))// &
52184  & " does not exist."
52185  CALL flagerror(localerror,err,error,*999)
52186  ENDIF
52187  ELSE
52188  localerror="A region with user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
52189  & " does not exist."
52190  CALL flagerror(localerror,err,error,*999)
52191  ENDIF
52192  ELSE
52193  localerror="A solver with index of "//trim(numbertovstring(solverindex,"*",err,error))// &
52194  & " does not exist."
52195  CALL flagerror(localerror,err,error,*999)
52196  ENDIF
52197  ELSE
52198  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
52199  & " does not exist."
52200  CALL flagerror(localerror,err,error,*999)
52201  ENDIF
52202 
52203  exits("cmfe_Solver_GeometricTransformationFieldSetNumber")
52204  RETURN
52205 999 errors("cmfe_Solver_GeometricTransformationFieldSetNumber",err,error)
52206  exits("cmfe_Solver_GeometricTransformationFieldSetNumber")
52207  CALL cmfe_handleerror(err,error)
52208  RETURN
52209 
52211 
52212  !
52213  !================================================================================================================================
52214  !
52215 
52217  SUBROUTINE cmfe_solver_geometrictransformationfieldsetobj(solver,field,variableType,err)
52218  !DLLEXPORT(cmfe_Solver_GeometricTransformationFieldSetObj)
52219 
52220  !Argument variables
52221  TYPE(cmfe_solvertype), INTENT(IN) :: solver
52222  TYPE(cmfe_fieldtype), INTENT(IN) :: field
52223  INTEGER(INTG), INTENT(IN) :: variableType
52224  INTEGER(INTG), INTENT(OUT) :: err
52225  !Local variables
52226 
52227  enters("cmfe_Solver_GeometricTransformationFieldSetObj",err,error,*999)
52228 
52229  CALL solver_geometrictransformationfieldset(solver%solver,field%field,variabletype,err,error,*999)
52230 
52231  exits("cmfe_Solver_GeometricTransformationFieldSetObj")
52232  RETURN
52233 999 errors("cmfe_Solver_GeometricTransformationFieldSetObj",err,error)
52234  exits("cmfe_Solver_GeometricTransformationFieldSetObj")
52235  CALL cmfe_handleerror(err,error)
52236  RETURN
52237 
52239 
52240  !
52241  !================================================================================================================================
52242  !
52243 
52245  SUBROUTINE cmfe_solver_geometrictransformationmatrixsetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
52246  & matrix,err)
52247  !DLLEXPORT(cmfe_Solver_GeometricTransformationMatrixSetNumber0)
52248 
52249  !Argument variables
52250  INTEGER(INTG), INTENT(IN) :: problemUserNumber
52251  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
52252  INTEGER(INTG), INTENT(IN) :: solverIndex
52253  REAL(DP), INTENT(IN) :: matrix(:,:)
52254  INTEGER(INTG), INTENT(OUT) :: err
52255  !Local variables
52256  TYPE(problem_type), POINTER :: problem
52257  TYPE(solver_type), POINTER :: solver
52258  TYPE(varying_string) :: localError
52259 
52260  enters("cmfe_Solver_GeometricTransformationMatrixSetNumber0",err,error,*999)
52261 
52262  NULLIFY(problem)
52263  NULLIFY(solver)
52264  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
52265  IF(ASSOCIATED(problem)) THEN
52266  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
52267  IF(ASSOCIATED(solver)) THEN
52268  CALL solver_geometrictransformationmatrixset(solver,matrix,1,err,error,*999)
52269  ELSE
52270  localerror="A solver with index of "//trim(numbertovstring(solverindex,"*",err,error))// &
52271  & " does not exist."
52272  CALL flagerror(localerror,err,error,*999)
52273  ENDIF
52274  ELSE
52275  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
52276  & " does not exist."
52277  CALL flagerror(localerror,err,error,*999)
52278  ENDIF
52279 
52280  exits("cmfe_Solver_GeometricTransformationMatrixSetNumber0")
52281  RETURN
52282 999 errors("cmfe_Solver_GeometricTransformationMatrixSetNumber0",err,error)
52283  exits("cmfe_Solver_GeometricTransformationMatrixSetNumber0")
52284  CALL cmfe_handleerror(err,error)
52285  RETURN
52286 
52288 
52289  !
52290  !================================================================================================================================
52291  !
52292 
52294  SUBROUTINE cmfe_solver_geometrictransformationmatrixsetobj0(solver,matrix,err)
52295  !DLLEXPORT(cmfe_Solver_GeometricTransformationMatrixSetObj0)
52296 
52297  !Argument variables
52298  TYPE(cmfe_solvertype), INTENT(IN) :: solver
52299  REAL(DP), INTENT(IN) :: matrix(:,:)
52300  INTEGER(INTG), INTENT(OUT) :: err
52301  !Local variables
52302 
52303  enters("cmfe_Solver_GeometricTransformationMatrixSetObj0",err,error,*999)
52304 
52305  CALL solver_geometrictransformationmatrixset(solver%solver,matrix,1,err,error,*999)
52306 
52307  exits("cmfe_Solver_GeometricTransformationMatrixSetObj0")
52308  RETURN
52309 999 errors("cmfe_Solver_GeometricTransformationMatrixSetObj0",err,error)
52310  exits("cmfe_Solver_GeometricTransformationMatrixSetObj0")
52311  CALL cmfe_handleerror(err,error)
52312  RETURN
52313 
52315 
52316  !
52317  !================================================================================================================================
52318  !
52319 
52321  SUBROUTINE cmfe_solver_geometrictransformationmatrixsetnumber1(problemUserNumber,controlLoopIdentifier,solverIndex, &
52322  & matrix,loadincrementidx,err)
52323  !DLLEXPORT(cmfe_Solver_GeometricTransformationMatrixSetNumber1)
52324 
52325  !Argument variables
52326  INTEGER(INTG), INTENT(IN) :: problemUserNumber
52327  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
52328  INTEGER(INTG), INTENT(IN) :: solverIndex
52329  REAL(DP), INTENT(IN) :: matrix(:,:)
52330  INTEGER(INTG), INTENT(IN) :: loadIncrementIdx
52331  INTEGER(INTG), INTENT(OUT) :: err
52332  !Local variables
52333  TYPE(problem_type), POINTER :: problem
52334  TYPE(solver_type), POINTER :: solver
52335  TYPE(varying_string) :: localError
52336 
52337  enters("cmfe_Solver_GeometricTransformationMatrixSetNumber1",err,error,*999)
52338 
52339  NULLIFY(problem)
52340  NULLIFY(solver)
52341  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
52342  IF(ASSOCIATED(problem)) THEN
52343  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
52344  IF(ASSOCIATED(solver)) THEN
52345  CALL solver_geometrictransformationmatrixset(solver,matrix,loadincrementidx,err,error,*999)
52346  ELSE
52347  localerror="A solver with index of "//trim(numbertovstring(solverindex,"*",err,error))// &
52348  & " does not exist."
52349  CALL flagerror(localerror,err,error,*999)
52350  ENDIF
52351  ELSE
52352  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
52353  & " does not exist."
52354  CALL flagerror(localerror,err,error,*999)
52355  ENDIF
52356 
52357  exits("cmfe_Solver_GeometricTransformationMatrixSetNumber1")
52358  RETURN
52359 999 errors("cmfe_Solver_GeometricTransformationMatrixSetNumber1",err,error)
52360  exits("cmfe_Solver_GeometricTransformationMatrixSetNumber1")
52361  CALL cmfe_handleerror(err,error)
52362  RETURN
52363 
52365 
52366  !
52367  !================================================================================================================================
52368  !
52369 
52371  SUBROUTINE cmfe_solver_geometrictransformationmatrixsetobj1(solver,matrix,loadIncrementIdx,err)
52372  !DLLEXPORT(cmfe_Solver_GeometricTransformationMatrixSetObj1)
52373 
52374  !Argument variables
52375  TYPE(cmfe_solvertype), INTENT(IN) :: solver
52376  REAL(DP), INTENT(IN) :: matrix(:,:)
52377  INTEGER(INTG), INTENT(IN) :: loadIncrementIdx
52378  INTEGER(INTG), INTENT(OUT) :: err
52379  !Local variables
52380 
52381  enters("cmfe_Solver_GeometricTransformationMatrixSetObj1",err,error,*999)
52382 
52383  CALL solver_geometrictransformationmatrixset(solver%solver,matrix,loadincrementidx,err,error,*999)
52384 
52385  exits("cmfe_Solver_GeometricTransformationMatrixSetObj1")
52386  RETURN
52387 999 errors("cmfe_Solver_GeometricTransformationMatrixSetObj1",err,error)
52388  exits("cmfe_Solver_GeometricTransformationMatrixSetObj1")
52389  CALL cmfe_handleerror(err,error)
52390  RETURN
52391 
52393 
52394  !
52395  !================================================================================================================================
52396  !
52397 
52399  SUBROUTINE cmfe_solver_geometrictransformationnoloadincrementssetnumber(problemUserNumber,controlLoopIdentifier, &
52400  & solverindex,numberofincrements,err)
52401  !DLLEXPORT(cmfe_Solver_GeometricTransformationNoLoadIncrementsSetNumber)
52402 
52403  !Argument variables
52404  INTEGER(INTG), INTENT(IN) :: problemUserNumber
52405  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
52406  INTEGER(INTG), INTENT(IN) :: solverIndex
52407  INTEGER(INTG), INTENT(IN) :: numberOfIncrements
52408  INTEGER(INTG), INTENT(OUT) :: err
52409  !Local variables
52410  TYPE(problem_type), POINTER :: problem
52411  TYPE(solver_type), POINTER :: solver
52412  TYPE(varying_string) :: localError
52413 
52414  enters("cmfe_Solver_GeometricTransformationNumberOfLoadIncrementsSetNumber",err,error,*999)
52415 
52416  NULLIFY(problem)
52417  NULLIFY(solver)
52418  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
52419  IF(ASSOCIATED(problem)) THEN
52420  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
52421  IF(ASSOCIATED(solver)) THEN
52422  CALL solver_geometrictransformationnumberofloadincrementsset(solver,numberofincrements,err,error,*999)
52423  ELSE
52424  localerror="A solver with index of "//trim(numbertovstring(solverindex,"*",err,error))// &
52425  & " does not exist."
52426  CALL flagerror(localerror,err,error,*999)
52427  ENDIF
52428  ELSE
52429  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
52430  & " does not exist."
52431  CALL flagerror(localerror,err,error,*999)
52432  ENDIF
52433 
52434  exits("cmfe_Solver_GeometricTransformationNumberOfLoadIncrementsSetNumber")
52435  RETURN
52436 999 errors("cmfe_Solver_GeometricTransformationNumberOfLoadIncrementsSetNumber",err,error)
52437  exits("cmfe_Solver_GeometricTransformationNumberOfLoadIncrementsSetNumber")
52438  CALL cmfe_handleerror(err,error)
52439  RETURN
52440 
52442 
52443  !
52444  !================================================================================================================================
52445  !
52446 
52448  SUBROUTINE cmfe_solver_geometrictransformationnoloadincrementssetobj(solver,numberOfIncrements,err)
52449  !DLLEXPORT(cmfe_Solver_GeometricTransformationNoLoadIncrementsSetObj)
52450 
52451  !Argument variables
52452  TYPE(cmfe_solvertype), INTENT(IN) :: solver
52453  INTEGER(INTG), INTENT(IN) :: numberOfIncrements
52454  INTEGER(INTG), INTENT(OUT) :: err
52455  !Local variables
52456 
52457  enters("cmfe_Solver_GeometricTransformationNumberOfLoadIncrementsSetObj",err,error,*999)
52458 
52459  CALL solver_geometrictransformationnumberofloadincrementsset(solver%solver,numberofincrements,err,error,*999)
52460 
52461  exits("cmfe_Solver_GeometricTransformationNumberOfLoadIncrementsSetObj")
52462  RETURN
52463 999 errors("cmfe_Solver_GeometricTransformationNumberOfLoadIncrementsSetObj",err,error)
52464  exits("cmfe_Solver_GeometricTransformationNumberOfLoadIncrementsSetObj")
52465  CALL cmfe_handleerror(err,error)
52466  RETURN
52467 
52469 
52470  !
52471  !================================================================================================================================
52472  !
52473 
52475  SUBROUTINE cmfe_solver_geometrictransformationrotationsetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
52476  & pivotpoint,axis,angle,err)
52477  !DLLEXPORT(cmfe_Solver_GeometricTransformationRotationSetNumber0)
52478 
52479  !Argument variables
52480  INTEGER(INTG), INTENT(IN) :: problemUserNumber
52481  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
52482  INTEGER(INTG), INTENT(IN) :: solverIndex
52483  REAL(DP), INTENT(IN) :: pivotPoint(:)
52484  REAL(DP), INTENT(IN) :: axis(:)
52485  REAL(DP), INTENT(IN) :: angle
52486  INTEGER(INTG), INTENT(OUT) :: err
52487  !Local variables
52488  TYPE(problem_type), POINTER :: problem
52489  TYPE(solver_type), POINTER :: solver
52490  TYPE(varying_string) :: localError
52491 
52492  enters("cmfe_Solver_GeometricTransformationRotationSetNumber0",err,error,*999)
52493 
52494  NULLIFY(problem)
52495  NULLIFY(solver)
52496  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
52497  IF(ASSOCIATED(problem)) THEN
52498  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
52499  IF(ASSOCIATED(solver)) THEN
52500  CALL solver_geometrictransformationrotationset(solver,pivotpoint,axis,angle,1,err,error,*999)
52501  ELSE
52502  localerror="A solver with index of "//trim(numbertovstring(solverindex,"*",err,error))// &
52503  & " does not exist."
52504  CALL flagerror(localerror,err,error,*999)
52505  ENDIF
52506  ELSE
52507  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
52508  & " does not exist."
52509  CALL flagerror(localerror,err,error,*999)
52510  ENDIF
52511 
52512  exits("cmfe_Solver_GeometricTransformationRotationSetNumber0")
52513  RETURN
52514 999 errors("cmfe_Solver_GeometricTransformationRotationSetNumber0",err,error)
52515  exits("cmfe_Solver_GeometricTransformationRotationSetNumber0")
52516  CALL cmfe_handleerror(err,error)
52517  RETURN
52518 
52520 
52521  !
52522  !================================================================================================================================
52523  !
52524 
52526  SUBROUTINE cmfe_solver_geometrictransformationrotationsetobj0(solver,pivotPoint,axis,angle,err)
52527  !DLLEXPORT(cmfe_Solver_GeometricTransformationRotationSetObj0)
52528 
52529  !Argument variables
52530  TYPE(cmfe_solvertype), INTENT(IN) :: solver
52531  REAL(DP), INTENT(IN) :: pivotPoint(:)
52532  REAL(DP), INTENT(IN) :: axis(:)
52533  REAL(DP), INTENT(IN) :: angle
52534  INTEGER(INTG), INTENT(OUT) :: err
52535  !Local variables
52536 
52537  enters("cmfe_Solver_GeometricTransformationRotationSetObj0",err,error,*999)
52538 
52539  CALL solver_geometrictransformationrotationset(solver%solver,pivotpoint,axis,angle,1,err,error,*999)
52540 
52541  exits("cmfe_Solver_GeometricTransformationRotationSetObj0")
52542  RETURN
52543 999 errors("cmfe_Solver_GeometricTransformationRotationSetObj0",err,error)
52544  exits("cmfe_Solver_GeometricTransformationRotationSetObj0")
52545  CALL cmfe_handleerror(err,error)
52546  RETURN
52547 
52549 
52550  !
52551  !================================================================================================================================
52552  !
52553 
52555  SUBROUTINE cmfe_solver_geometrictransformationrotationsetnumber1(problemUserNumber,controlLoopIdentifier,solverIndex, &
52556  & pivotpoint,axis,angle,loadincrementidx,err)
52557  !DLLEXPORT(cmfe_Solver_GeometricTransformationRotationSetNumber1)
52558 
52559  !Argument variables
52560  INTEGER(INTG), INTENT(IN) :: problemUserNumber
52561  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
52562  INTEGER(INTG), INTENT(IN) :: solverIndex
52563  REAL(DP), INTENT(IN) :: pivotPoint(:)
52564  REAL(DP), INTENT(IN) :: axis(:)
52565  REAL(DP), INTENT(IN) :: angle
52566  INTEGER(INTG), INTENT(IN) :: loadIncrementIdx
52567  INTEGER(INTG), INTENT(OUT) :: err
52568  !Local variables
52569  TYPE(problem_type), POINTER :: problem
52570  TYPE(solver_type), POINTER :: solver
52571  TYPE(varying_string) :: localError
52572 
52573  enters("cmfe_Solver_GeometricTransformationRotationSetNumber1",err,error,*999)
52574 
52575  NULLIFY(problem)
52576  NULLIFY(solver)
52577  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
52578  IF(ASSOCIATED(problem)) THEN
52579  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
52580  IF(ASSOCIATED(solver)) THEN
52581  CALL solver_geometrictransformationrotationset(solver,pivotpoint,axis,angle,loadincrementidx,err,error,*999)
52582  ELSE
52583  localerror="A solver with index of "//trim(numbertovstring(solverindex,"*",err,error))// &
52584  & " does not exist."
52585  CALL flagerror(localerror,err,error,*999)
52586  ENDIF
52587  ELSE
52588  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
52589  & " does not exist."
52590  CALL flagerror(localerror,err,error,*999)
52591  ENDIF
52592 
52593  exits("cmfe_Solver_GeometricTransformationRotationSetNumber1")
52594  RETURN
52595 999 errors("cmfe_Solver_GeometricTransformationRotationSetNumber1",err,error)
52596  exits("cmfe_Solver_GeometricTransformationRotationSetNumber1")
52597  CALL cmfe_handleerror(err,error)
52598  RETURN
52599 
52601 
52602  !
52603  !================================================================================================================================
52604  !
52605 
52607  SUBROUTINE cmfe_solver_geometrictransformationrotationsetobj1(solver,pivotPoint,axis,angle,loadIncrementIdx,err)
52608  !DLLEXPORT(cmfe_Solver_GeometricTransformationRotationSetObj1)
52609 
52610  !Argument variables
52611  TYPE(cmfe_solvertype), INTENT(IN) :: solver
52612  REAL(DP), INTENT(IN) :: pivotPoint(:)
52613  REAL(DP), INTENT(IN) :: axis(:)
52614  REAL(DP), INTENT(IN) :: angle
52615  INTEGER(INTG), INTENT(IN) :: loadIncrementIdx
52616  INTEGER(INTG), INTENT(OUT) :: err
52617  !Local variables
52618 
52619  enters("cmfe_Solver_GeometricTransformationRotationSetObj1",err,error,*999)
52620 
52621  CALL solver_geometrictransformationrotationset(solver%solver,pivotpoint,axis,angle,loadincrementidx,err,error,*999)
52622 
52623  exits("cmfe_Solver_GeometricTransformationRotationSetObj1")
52624  RETURN
52625 999 errors("cmfe_Solver_GeometricTransformationRotationSetObj1",err,error)
52626  exits("cmfe_Solver_GeometricTransformationRotationSetObj1")
52627  CALL cmfe_handleerror(err,error)
52628  RETURN
52629 
52631 
52632  !
52633  !================================================================================================================================
52634  !
52635 
52637  SUBROUTINE cmfe_solver_geometrictransformationscalingssetnumber(problemUserNumber,controlLoopIdentifier,solverIndex, &
52638  & scalings,err)
52639  !DLLEXPORT(cmfe_Solver_GeometricTransformationScalingsSetNumber)
52640 
52641  !Argument variables
52642  INTEGER(INTG), INTENT(IN) :: problemUserNumber
52643  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
52644  INTEGER(INTG), INTENT(IN) :: solverIndex
52645  REAL(DP), INTENT(IN) :: scalings(:)
52646  INTEGER(INTG), INTENT(OUT) :: err
52647  !Local variables
52648  TYPE(problem_type), POINTER :: problem
52649  TYPE(solver_type), POINTER :: solver
52650  TYPE(varying_string) :: localError
52651 
52652  enters("cmfe_Solver_GeometricTransformationScalingsSetNumber",err,error,*999)
52653 
52654  NULLIFY(problem)
52655  NULLIFY(solver)
52656  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
52657  IF(ASSOCIATED(problem)) THEN
52658  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
52659  IF(ASSOCIATED(solver)) THEN
52660  CALL solver_geometrictransformationscalingsset(solver,scalings,err,error,*999)
52661  ELSE
52662  localerror="A solver with index of "//trim(numbertovstring(solverindex,"*",err,error))// &
52663  & " does not exist."
52664  CALL flagerror(localerror,err,error,*999)
52665  ENDIF
52666  ELSE
52667  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
52668  & " does not exist."
52669  CALL flagerror(localerror,err,error,*999)
52670  ENDIF
52671 
52672  exits("cmfe_Solver_GeometricTransformationScalingsSetNumber")
52673  RETURN
52674 999 errors("cmfe_Solver_GeometricTransformationScalingsSetNumber",err,error)
52675  exits("cmfe_Solver_GeometricTransformationScalingsSetNumber")
52676  CALL cmfe_handleerror(err,error)
52677  RETURN
52678 
52680 
52681  !
52682  !================================================================================================================================
52683  !
52684 
52686  SUBROUTINE cmfe_solver_geometrictransformationscalingssetobj(solver,scalings,err)
52687  !DLLEXPORT(cmfe_Solver_GeometricTransformationScalingsSetObj)
52688 
52689  !Argument variables
52690  TYPE(cmfe_solvertype), INTENT(IN) :: solver
52691  REAL(DP), INTENT(IN) :: scalings(:)
52692  INTEGER(INTG), INTENT(OUT) :: err
52693  !Local variables
52694 
52695  enters("cmfe_Solver_GeometricTransformationScalingsSetObj",err,error,*999)
52696 
52697  CALL solver_geometrictransformationscalingsset(solver%solver,scalings,err,error,*999)
52698 
52699  exits("cmfe_Solver_GeometricTransformationScalingsSetObj")
52700  RETURN
52701 999 errors("cmfe_Solver_GeometricTransformationScalingsSetObj",err,error)
52702  exits("cmfe_Solver_GeometricTransformationScalingsSetObj")
52703  CALL cmfe_handleerror(err,error)
52704  RETURN
52705 
52707 
52708  !
52709  !================================================================================================================================
52710  !
52711 
52713  SUBROUTINE cmfe_solver_geometrictransformationtranslationsetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
52714  & translation,err)
52715  !DLLEXPORT(cmfe_Solver_GeometricTransformationTranslationSetNumber0)
52716 
52717  !Argument variables
52718  INTEGER(INTG), INTENT(IN) :: problemUserNumber
52719  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
52720  INTEGER(INTG), INTENT(IN) :: solverIndex
52721  REAL(DP), INTENT(IN) :: translation(:)
52722  INTEGER(INTG), INTENT(OUT) :: err
52723  !Local variables
52724  TYPE(problem_type), POINTER :: problem
52725  TYPE(solver_type), POINTER :: solver
52726  TYPE(varying_string) :: localError
52727 
52728  enters("cmfe_Solver_GeometricTransformationTranslationSetNumber0",err,error,*999)
52729 
52730  NULLIFY(problem)
52731  NULLIFY(solver)
52732  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
52733  IF(ASSOCIATED(problem)) THEN
52734  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
52735  IF(ASSOCIATED(solver)) THEN
52736  CALL solver_geometrictransformationtranslationset(solver,translation,1,err,error,*999)
52737  ELSE
52738  localerror="A solver with index of "//trim(numbertovstring(solverindex,"*",err,error))// &
52739  & " does not exist."
52740  CALL flagerror(localerror,err,error,*999)
52741  ENDIF
52742  ELSE
52743  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
52744  & " does not exist."
52745  CALL flagerror(localerror,err,error,*999)
52746  ENDIF
52747 
52748  exits("cmfe_Solver_GeometricTransformationTranslationSetNumber0")
52749  RETURN
52750 999 errors("cmfe_Solver_GeometricTransformationTranslationSetNumber0",err,error)
52751  exits("cmfe_Solver_GeometricTransformationTranslationSetNumber0")
52752  CALL cmfe_handleerror(err,error)
52753  RETURN
52754 
52756 
52757  !
52758  !================================================================================================================================
52759  !
52760 
52762  SUBROUTINE cmfe_solver_geometrictransformationtranslationsetobj0(solver,translation,err)
52763  !DLLEXPORT(cmfe_Solver_GeometricTransformationTranslationSetObj0)
52764 
52765  !Argument variables
52766  TYPE(cmfe_solvertype), INTENT(IN) :: solver
52767  REAL(DP), INTENT(IN) :: translation(:)
52768  INTEGER(INTG), INTENT(OUT) :: err
52769  !Local variables
52770 
52771  enters("cmfe_Solver_GeometricTransformationTranslationSetObj0",err,error,*999)
52772 
52773  CALL solver_geometrictransformationtranslationset(solver%solver,translation,1,err,error,*999)
52774 
52775  exits("cmfe_Solver_GeometricTransformationTranslationSetObj0")
52776  RETURN
52777 999 errors("cmfe_Solver_GeometricTransformationTranslationSetObj0",err,error)
52778  exits("cmfe_Solver_GeometricTransformationTranslationSetObj0")
52779  CALL cmfe_handleerror(err,error)
52780  RETURN
52781 
52783 
52784  !
52785  !================================================================================================================================
52786  !
52787 
52789  SUBROUTINE cmfe_solver_geometrictransformationtranslationsetnumber1(problemUserNumber,controlLoopIdentifier,solverIndex, &
52790  & translation,loadincrementidx,err)
52791  !DLLEXPORT(cmfe_Solver_GeometricTransformationTranslationSetNumber1)
52792 
52793  !Argument variables
52794  INTEGER(INTG), INTENT(IN) :: problemUserNumber
52795  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
52796  INTEGER(INTG), INTENT(IN) :: solverIndex
52797  REAL(DP), INTENT(IN) :: translation(:)
52798  INTEGER(INTG), INTENT(IN) :: loadIncrementIdx
52799  INTEGER(INTG), INTENT(OUT) :: err
52800  !Local variables
52801  TYPE(problem_type), POINTER :: problem
52802  TYPE(solver_type), POINTER :: solver
52803  TYPE(varying_string) :: localError
52804 
52805  enters("cmfe_Solver_GeometricTransformationTranslationSetNumber1",err,error,*999)
52806 
52807  NULLIFY(problem)
52808  NULLIFY(solver)
52809  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
52810  IF(ASSOCIATED(problem)) THEN
52811  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
52812  IF(ASSOCIATED(solver)) THEN
52813  CALL solver_geometrictransformationtranslationset(solver,translation,loadincrementidx,err,error,*999)
52814  ELSE
52815  localerror="A solver with index of "//trim(numbertovstring(solverindex,"*",err,error))// &
52816  & " does not exist."
52817  CALL flagerror(localerror,err,error,*999)
52818  ENDIF
52819  ELSE
52820  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
52821  & " does not exist."
52822  CALL flagerror(localerror,err,error,*999)
52823  ENDIF
52824 
52825  exits("cmfe_Solver_GeometricTransformationTranslationSetNumber1")
52826  RETURN
52827 999 errors("cmfe_Solver_GeometricTransformationTranslationSetNumber1",err,error)
52828  exits("cmfe_Solver_GeometricTransformationTranslationSetNumber1")
52829  CALL cmfe_handleerror(err,error)
52830  RETURN
52831 
52833 
52834  !
52835  !================================================================================================================================
52836  !
52837 
52839  SUBROUTINE cmfe_solver_geometrictransformationtranslationsetobj1(solver,translation,loadIncrementIdx,err)
52840  !DLLEXPORT(cmfe_Solver_GeometricTransformationTranslationSetObj1)
52841 
52842  !Argument variables
52843  TYPE(cmfe_solvertype), INTENT(IN) :: solver
52844  REAL(DP), INTENT(IN) :: translation(:)
52845  INTEGER(INTG), INTENT(IN) :: loadIncrementIdx
52846  INTEGER(INTG), INTENT(OUT) :: err
52847  !Local variables
52848 
52849  enters("cmfe_Solver_GeometricTransformationTranslationSetObj1",err,error,*999)
52850 
52851  CALL solver_geometrictransformationtranslationset(solver%solver,translation,loadincrementidx,err,error,*999)
52852 
52853  exits("cmfe_Solver_GeometricTransformationTranslationSetObj1")
52854  RETURN
52855 999 errors("cmfe_Solver_GeometricTransformationTranslationSetObj1",err,error)
52856  exits("cmfe_Solver_GeometricTransformationTranslationSetObj1")
52857  CALL cmfe_handleerror(err,error)
52858  RETURN
52859 
52861 
52862  !
52863  !================================================================================================================================
52864  !
52865 
52867  SUBROUTINE cmfe_solver_labelgetcnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,label,err)
52868  !DLLEXPORT(cmfe_Solver_LabelGetCNumber0)
52869 
52870  !Argument variables
52871  INTEGER(INTG), INTENT(IN) :: problemUserNumber
52872  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
52873  INTEGER(INTG), INTENT(IN) :: solverIndex
52874  CHARACTER(LEN=*), INTENT(OUT) :: label
52875  INTEGER(INTG), INTENT(OUT) :: err
52876  !Local variables
52877  TYPE(problem_type), POINTER :: PROBLEM
52878  TYPE(solver_type), POINTER :: SOLVER
52879  TYPE(varying_string) :: localError
52880 
52881  enters("cmfe_Solver_LabelGetCNumber0",err,error,*999)
52882 
52883  NULLIFY(problem)
52884  NULLIFY(solver)
52885  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
52886  IF(ASSOCIATED(problem)) THEN
52887  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
52888  CALL solver_label_get(solver,label,err,error,*999)
52889  ELSE
52890  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
52891  CALL flagerror(localerror,err,error,*999)
52892  ENDIF
52893 
52894  exits("cmfe_Solver_LabelGetCNumber0")
52895  RETURN
52896 999 errorsexits("cmfe_Solver_LabelGetCNumber0",err,error)
52897  CALL cmfe_handleerror(err,error)
52898  RETURN
52899 
52900  END SUBROUTINE cmfe_solver_labelgetcnumber0
52901 
52902  !
52903  !================================================================================================================================
52904  !
52905 
52907  SUBROUTINE cmfe_solver_labelgetcnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,label,err)
52908  !DLLEXPORT(cmfe_Solver_LabelGetCNumber1)
52909 
52910  !Argument variables
52911  INTEGER(INTG), INTENT(IN) :: problemUserNumber
52912  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
52913  INTEGER(INTG), INTENT(IN) :: solverIndex
52914  CHARACTER(LEN=*), INTENT(OUT) :: label
52915  INTEGER(INTG), INTENT(OUT) :: err
52916  !Local variables
52917  TYPE(problem_type), POINTER :: PROBLEM
52918  TYPE(solver_type), POINTER :: SOLVER
52919  TYPE(varying_string) :: localError
52920 
52921  enters("cmfe_Solver_LabelGetCNumber1",err,error,*999)
52922 
52923  NULLIFY(problem)
52924  NULLIFY(solver)
52925  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
52926  IF(ASSOCIATED(problem)) THEN
52927  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
52928  CALL solver_label_get(solver,label,err,error,*999)
52929  ELSE
52930  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
52931  CALL flagerror(localerror,err,error,*999)
52932  ENDIF
52933 
52934  exits("cmfe_Solver_LabelGetCNumber1")
52935  RETURN
52936 999 errorsexits("cmfe_Solver_LabelGetCNumber1",err,error)
52937  CALL cmfe_handleerror(err,error)
52938  RETURN
52939 
52940  END SUBROUTINE cmfe_solver_labelgetcnumber1
52941 
52942  !
52943  !================================================================================================================================
52944  !
52945 
52947  SUBROUTINE cmfe_solver_labelgetcobj(solver,label,err)
52948  !DLLEXPORT(cmfe_Solver_LabelGetCObj)
52949 
52950  !Argument variables
52951  TYPE(cmfe_solvertype), INTENT(IN) :: solver
52952  CHARACTER(LEN=*), INTENT(OUT) :: label
52953  INTEGER(INTG), INTENT(OUT) :: err
52954  !Local variables
52955 
52956  enters("cmfe_Solver_LabelGetCObj",err,error,*999)
52957 
52958  CALL solver_label_get(solver%solver,label,err,error,*999)
52959 
52960  exits("cmfe_Solver_LabelGetCObj")
52961  RETURN
52962 999 errorsexits("cmfe_Solver_LabelGetCObj",err,error)
52963  CALL cmfe_handleerror(err,error)
52964  RETURN
52965 
52966  END SUBROUTINE cmfe_solver_labelgetcobj
52967 
52968  !
52969  !================================================================================================================================
52970  !
52971 
52973  SUBROUTINE cmfe_solver_labelgetvsnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,label,err)
52974  !DLLEXPORT(cmfe_Solver_LabelGetVSNumber0)
52975 
52976  !Argument variables
52977  INTEGER(INTG), INTENT(IN) :: problemUserNumber
52978  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
52979  INTEGER(INTG), INTENT(IN) :: solverIndex
52980  TYPE(varying_string), INTENT(OUT) :: label
52981  INTEGER(INTG), INTENT(OUT) :: err
52982  !Local variables
52983  TYPE(problem_type), POINTER :: PROBLEM
52984  TYPE(solver_type), POINTER :: SOLVER
52985  TYPE(varying_string) :: localError
52986 
52987  enters("cmfe_Solver_LabelGetVSNumber0",err,error,*999)
52988 
52989  NULLIFY(problem)
52990  NULLIFY(solver)
52991  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
52992  IF(ASSOCIATED(problem)) THEN
52993  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
52994  CALL solver_label_get(solver,label,err,error,*999)
52995  ELSE
52996  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
52997  CALL flagerror(localerror,err,error,*999)
52998  END IF
52999 
53000  exits("cmfe_Solver_LabelGetVSNumber0")
53001  RETURN
53002 999 errorsexits("cmfe_Solver_LabelGetVSNumber0",err,error)
53003  CALL cmfe_handleerror(err,error)
53004  RETURN
53005 
53006  END SUBROUTINE cmfe_solver_labelgetvsnumber0
53007 
53008  !
53009  !================================================================================================================================
53010  !
53011 
53013  SUBROUTINE cmfe_solver_labelgetvsnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,label,err)
53014  !DLLEXPORT(cmfe_Solver_LabelGetVSNumber1)
53015 
53016  !Argument variables
53017  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53018  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
53019  INTEGER(INTG), INTENT(IN) :: solverIndex
53020  TYPE(varying_string), INTENT(OUT) :: label
53021  INTEGER(INTG), INTENT(OUT) :: err
53022  !Local variables
53023  TYPE(problem_type), POINTER :: PROBLEM
53024  TYPE(solver_type), POINTER :: SOLVER
53025  TYPE(varying_string) :: localError
53026 
53027  enters("cmfe_Solver_LabelGetVSNumber1",err,error,*999)
53028 
53029  NULLIFY(problem)
53030  NULLIFY(solver)
53031  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53032  IF(ASSOCIATED(problem)) THEN
53033  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
53034  CALL solver_label_get(solver,label,err,error,*999)
53035  ELSE
53036  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
53037  CALL flagerror(localerror,err,error,*999)
53038  END IF
53039 
53040  exits("cmfe_Solver_LabelGetVSNumber1")
53041  RETURN
53042 999 errorsexits("cmfe_Solver_LabelGetVSNumber1",err,error)
53043  CALL cmfe_handleerror(err,error)
53044  RETURN
53045 
53046  END SUBROUTINE cmfe_solver_labelgetvsnumber1
53047 
53048  !
53049  !================================================================================================================================
53050  !
53051 
53053  SUBROUTINE cmfe_solver_labelgetvsobj(solver,label,err)
53054  !DLLEXPORT(cmfe_Solver_LabelGetVSObj)
53055 
53056  !Argument variables
53057  TYPE(cmfe_solvertype), INTENT(IN) :: solver
53058  TYPE(varying_string), INTENT(OUT) :: label
53059  INTEGER(INTG), INTENT(OUT) :: err
53060  !Local variables
53061 
53062  enters("cmfe_Solver_LabelGetVSObj",err,error,*999)
53063 
53064  CALL solver_label_get(solver%solver,label,err,error,*999)
53065 
53066  exits("cmfe_Solver_LabelGetVSObj")
53067  RETURN
53068 999 errorsexits("cmfe_Solver_LabelGetVSObj",err,error)
53069  CALL cmfe_handleerror(err,error)
53070  RETURN
53071 
53072  END SUBROUTINE cmfe_solver_labelgetvsobj
53073 
53074  !
53075  !================================================================================================================================
53076  !
53077 
53079  SUBROUTINE cmfe_solver_labelsetcnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,label,err)
53080  !DLLEXPORT(cmfe_Solver_LabelSetCNumber0)
53081 
53082  !Argument variables
53083  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53084  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
53085  INTEGER(INTG), INTENT(IN) :: solverIndex
53086  CHARACTER(LEN=*), INTENT(IN) :: label
53087  INTEGER(INTG), INTENT(OUT) :: err
53088  !Local variables
53089  TYPE(problem_type), POINTER :: PROBLEM
53090  TYPE(solver_type), POINTER :: SOLVER
53091  TYPE(varying_string) :: localError
53092 
53093  enters("cmfe_Solver_LabelSetCNumber0",err,error,*999)
53094 
53095  NULLIFY(problem)
53096  NULLIFY(solver)
53097  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53098  IF(ASSOCIATED(problem)) THEN
53099  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
53100  CALL solver_label_set(solver,label,err,error,*999)
53101  ELSE
53102  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
53103  CALL flagerror(localerror,err,error,*999)
53104  END IF
53105 
53106  exits("cmfe_Solver_LabelSetCNumber0")
53107  RETURN
53108 999 errorsexits("cmfe_Solver_LabelSetCNumber0",err,error)
53109  CALL cmfe_handleerror(err,error)
53110  RETURN
53111 
53112  END SUBROUTINE cmfe_solver_labelsetcnumber0
53113 
53114  !
53115  !================================================================================================================================
53116  !
53117 
53119  SUBROUTINE cmfe_solver_labelsetcnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,label,err)
53120  !DLLEXPORT(cmfe_Solver_LabelSetCNumber1)
53121 
53122  !Argument variables
53123  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53124  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
53125  INTEGER(INTG), INTENT(IN) :: solverIndex
53126  CHARACTER(LEN=*), INTENT(IN) :: label
53127  INTEGER(INTG), INTENT(OUT) :: err
53128  !Local variables
53129  TYPE(problem_type), POINTER :: PROBLEM
53130  TYPE(solver_type), POINTER :: SOLVER
53131  TYPE(varying_string) :: localError
53132 
53133  enters("cmfe_Solver_LabelSetCNumber1",err,error,*999)
53134 
53135  NULLIFY(problem)
53136  NULLIFY(solver)
53137  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53138  IF(ASSOCIATED(problem)) THEN
53139  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
53140  CALL solver_label_set(solver,label,err,error,*999)
53141  ELSE
53142  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
53143  CALL flagerror(localerror,err,error,*999)
53144  END IF
53145 
53146  exits("cmfe_Solver_LabelSetCNumber1")
53147  RETURN
53148 999 errorsexits("cmfe_Solver_LabelSetCNumber1",err,error)
53149  CALL cmfe_handleerror(err,error)
53150  RETURN
53151 
53152  END SUBROUTINE cmfe_solver_labelsetcnumber1
53153 
53154  !
53155  !================================================================================================================================
53156  !
53157 
53159  SUBROUTINE cmfe_solver_labelsetcobj(solver,label,err)
53160  !DLLEXPORT(cmfe_Solver_LabelSetCObj)
53161 
53162  !Argument variables
53163  TYPE(cmfe_solvertype), INTENT(IN) :: solver
53164  CHARACTER(LEN=*), INTENT(IN) :: label
53165  INTEGER(INTG), INTENT(OUT) :: err
53166  !Local variables
53167 
53168  enters("cmfe_Solver_LabelSetCObj",err,error,*999)
53169 
53170  CALL solver_label_set(solver%solver,label,err,error,*999)
53171 
53172  exits("cmfe_Solver_LabelSetCObj")
53173  RETURN
53174 999 errorsexits("cmfe_Solver_LabelSetCObj",err,error)
53175  CALL cmfe_handleerror(err,error)
53176  RETURN
53177 
53178  END SUBROUTINE cmfe_solver_labelsetcobj
53179 
53180  !
53181  !================================================================================================================================
53182  !
53183 
53185  SUBROUTINE cmfe_solver_labelsetvsnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,label,err)
53186  !DLLEXPORT(cmfe_Solver_LabelSetVSNumber0)
53187 
53188  !Argument variables
53189  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53190  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
53191  INTEGER(INTG), INTENT(IN) :: solverIndex
53192  TYPE(varying_string), INTENT(IN) :: label
53193  INTEGER(INTG), INTENT(OUT) :: err
53194  !Local variables
53195  TYPE(problem_type), POINTER :: PROBLEM
53196  TYPE(solver_type), POINTER :: SOLVER
53197  TYPE(varying_string) :: localError
53198 
53199  enters("cmfe_Solver_LabelSetVSNumber0",err,error,*999)
53200 
53201  NULLIFY(problem)
53202  NULLIFY(solver)
53203  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53204  IF(ASSOCIATED(problem)) THEN
53205  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
53206  CALL solver_label_set(solver,char(label),err,error,*999)
53207  ELSE
53208  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
53209  CALL flagerror(localerror,err,error,*999)
53210  END IF
53211 
53212  exits("cmfe_SolverLabelStVSNumber0")
53213  RETURN
53214 999 errorsexits("cmfe_Solver_LabelSetVSNumber0",err,error)
53215  CALL cmfe_handleerror(err,error)
53216  RETURN
53217 
53218  END SUBROUTINE cmfe_solver_labelsetvsnumber0
53219 
53220  !
53221  !================================================================================================================================
53222  !
53223 
53225  SUBROUTINE cmfe_solver_labelsetvsnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,label,err)
53226  !DLLEXPORT(cmfe_Solver_LabelSetVSNumber1)
53227 
53228  !Argument variables
53229  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53230  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
53231  INTEGER(INTG), INTENT(IN) :: solverIndex
53232  TYPE(varying_string), INTENT(IN) :: label
53233  INTEGER(INTG), INTENT(OUT) :: err
53234  !Local variables
53235  TYPE(problem_type), POINTER :: PROBLEM
53236  TYPE(solver_type), POINTER :: SOLVER
53237  TYPE(varying_string) :: localError
53238 
53239  enters("cmfe_Solver_LabelSetVSNumber1",err,error,*999)
53240 
53241  NULLIFY(problem)
53242  NULLIFY(solver)
53243  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53244  IF(ASSOCIATED(problem)) THEN
53245  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
53246  CALL solver_label_set(solver,char(label),err,error,*999)
53247  ELSE
53248  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
53249  CALL flagerror(localerror,err,error,*999)
53250  END IF
53251 
53252  exits("cmfe_SolverLabelStVSNumber1")
53253  RETURN
53254 999 errorsexits("cmfe_Solver_LabelSetVSNumber1",err,error)
53255  CALL cmfe_handleerror(err,error)
53256  RETURN
53257 
53258  END SUBROUTINE cmfe_solver_labelsetvsnumber1
53259 
53260  !
53261  !================================================================================================================================
53262  !
53263 
53265  SUBROUTINE cmfe_solver_labelsetvsobj(solver,label,err)
53266  !DLLEXPORT(cmfe_Solver_LabelSetVSObj)
53267 
53268  !Argument variables
53269  TYPE(cmfe_solvertype), INTENT(IN) :: solver
53270  TYPE(varying_string), INTENT(IN) :: label
53271  INTEGER(INTG), INTENT(OUT) :: err
53272  !Local variables
53273 
53274  enters("cmfe_Solver_LabelSetVSObj",err,error,*999)
53275 
53276  CALL solver_label_set(solver%solver,char(label),err,error,*999)
53277 
53278  exits("cmfe_Solver_LabelSetVSObj")
53279  RETURN
53280 999 errorsexits("cmfe_Solver_LabelSetVSObj",err,error)
53281  CALL cmfe_handleerror(err,error)
53282  RETURN
53283 
53284  END SUBROUTINE cmfe_solver_labelsetvsobj
53285 
53286  !
53287  !================================================================================================================================
53288  !
53289 
53291  SUBROUTINE cmfe_solver_librarytypegetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,libraryType,err)
53292  !DLLEXPORT(cmfe_Solver_LibraryTypeGetNumber0)
53293 
53294  !Argument variables
53295  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53296  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
53297  INTEGER(INTG), INTENT(IN) :: solverIndex
53298  INTEGER(INTG), INTENT(OUT) :: libraryType
53299  INTEGER(INTG), INTENT(OUT) :: err
53300  !Local variables
53301  TYPE(problem_type), POINTER :: PROBLEM
53302  TYPE(solver_type), POINTER :: SOLVER
53303  TYPE(varying_string) :: localError
53304 
53305  enters("cmfe_Solver_LibraryTypeGetNumber0",err,error,*999)
53306 
53307  NULLIFY(problem)
53308  NULLIFY(solver)
53309  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53310  IF(ASSOCIATED(problem)) THEN
53311  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
53312  CALL solver_library_type_get(solver,librarytype,err,error,*999)
53313  ELSE
53314  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
53315  & " does not exist."
53316  CALL flagerror(localerror,err,error,*999)
53317  END IF
53318 
53319  exits("cmfe_Solver_LibraryTypeGetNumber0")
53320  RETURN
53321 999 errorsexits("cmfe_Solver_LibraryTypeGetNumber0",err,error)
53322  CALL cmfe_handleerror(err,error)
53323  RETURN
53324 
53325  END SUBROUTINE cmfe_solver_librarytypegetnumber0
53326 
53327  !
53328  !================================================================================================================================
53329  !
53330 
53332  SUBROUTINE cmfe_solver_librarytypegetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,libraryType,err)
53333  !DLLEXPORT(cmfe_Solver_LibraryTypeGetNumber1)
53334 
53335  !Argument variables
53336  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53337  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
53338  INTEGER(INTG), INTENT(IN) :: solverIndex
53339  INTEGER(INTG), INTENT(OUT) :: libraryType
53340  INTEGER(INTG), INTENT(OUT) :: err
53341  !Local variables
53342  TYPE(problem_type), POINTER :: PROBLEM
53343  TYPE(solver_type), POINTER :: SOLVER
53344  TYPE(varying_string) :: localError
53345 
53346  enters("cmfe_Solver_LibraryTypeGetNumber1",err,error,*999)
53347 
53348  NULLIFY(problem)
53349  NULLIFY(solver)
53350  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53351  IF(ASSOCIATED(problem)) THEN
53352  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
53353  CALL solver_library_type_get(solver,librarytype,err,error,*999)
53354  ELSE
53355  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
53356  & " does not exist."
53357  CALL flagerror(localerror,err,error,*999)
53358  END IF
53359 
53360  exits("cmfe_Solver_LibraryTypeGetNumber1")
53361  RETURN
53362 999 errorsexits("cmfe_Solver_LibraryTypeGetNumber1",err,error)
53363  CALL cmfe_handleerror(err,error)
53364  RETURN
53365 
53366  END SUBROUTINE cmfe_solver_librarytypegetnumber1
53367 
53368  !================================================================================================================================
53369  !
53370 
53372  SUBROUTINE cmfe_solver_librarytypegetobj(solver,libraryType,err)
53373  !DLLEXPORT(cmfe_Solver_LibraryTypeGetObj)
53374 
53375  !Argument variables
53376  TYPE(cmfe_solvertype), INTENT(IN) :: solver
53377  INTEGER(INTG), INTENT(OUT) :: libraryType
53378  INTEGER(INTG), INTENT(OUT) :: err
53379  !Local variables
53380 
53381  enters("cmfe_Solver_LibraryTypeGetObj",err,error,*999)
53382 
53383  CALL solver_library_type_get(solver%solver,librarytype,err,error,*999)
53384 
53385  exits("cmfe_Solver_LibraryTypeGetObj")
53386  RETURN
53387 999 errorsexits("cmfe_Solver_LibraryTypeGetObj",err,error)
53388  CALL cmfe_handleerror(err,error)
53389  RETURN
53390 
53391  END SUBROUTINE cmfe_solver_librarytypegetobj
53392 
53393  !
53394  !================================================================================================================================
53395  !
53396 
53398  SUBROUTINE cmfe_solver_librarytypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,libraryType,err)
53399  !DLLEXPORT(cmfe_Solver_LibraryTypeSetNumber0)
53400 
53401  !Argument variables
53402  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53403  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
53404  INTEGER(INTG), INTENT(IN) :: solverIndex
53405  INTEGER(INTG), INTENT(IN) :: libraryType
53406  INTEGER(INTG), INTENT(OUT) :: err
53407  !Local variables
53408  TYPE(problem_type), POINTER :: PROBLEM
53409  TYPE(solver_type), POINTER :: SOLVER
53410  TYPE(varying_string) :: localError
53411 
53412  enters("cmfe_Solver_LibraryTypeSetNumber0",err,error,*999)
53413 
53414  NULLIFY(problem)
53415  NULLIFY(solver)
53416  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53417  IF(ASSOCIATED(problem)) THEN
53418  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
53419  CALL solver_library_type_set(solver,librarytype,err,error,*999)
53420  ELSE
53421  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
53422  & " does not exist."
53423  CALL flagerror(localerror,err,error,*999)
53424  END IF
53425 
53426  exits("cmfe_Solver_LibraryTypeSetNumber0")
53427  RETURN
53428 999 errorsexits("cmfe_Solver_LibraryTypeSetNumber0",err,error)
53429  CALL cmfe_handleerror(err,error)
53430  RETURN
53431 
53432  END SUBROUTINE cmfe_solver_librarytypesetnumber0
53433 
53434  !
53435  !================================================================================================================================
53436  !
53437 
53439  SUBROUTINE cmfe_solver_librarytypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,libraryType,err)
53440  !DLLEXPORT(cmfe_Solver_LibraryTypeSetNumber1)
53441 
53442  !Argument variables
53443  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53444  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
53445  INTEGER(INTG), INTENT(IN) :: solverIndex
53446  INTEGER(INTG), INTENT(IN) :: libraryType
53447  INTEGER(INTG), INTENT(OUT) :: err
53448  !Local variables
53449  TYPE(problem_type), POINTER :: PROBLEM
53450  TYPE(solver_type), POINTER :: SOLVER
53451  TYPE(varying_string) :: localError
53452 
53453  enters("cmfe_Solver_LibraryTypeSetNumber1",err,error,*999)
53454 
53455  NULLIFY(problem)
53456  NULLIFY(solver)
53457  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53458  IF(ASSOCIATED(problem)) THEN
53459  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
53460  CALL solver_library_type_set(solver,librarytype,err,error,*999)
53461  ELSE
53462  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
53463  & " does not exist."
53464  CALL flagerror(localerror,err,error,*999)
53465  END IF
53466 
53467  exits("cmfe_Solver_LibraryTypeSetNumber1")
53468  RETURN
53469 999 errorsexits("cmfe_Solver_LibraryTypeSetNumber1",err,error)
53470  CALL cmfe_handleerror(err,error)
53471  RETURN
53472 
53473  END SUBROUTINE cmfe_solver_librarytypesetnumber1
53474 
53475  !================================================================================================================================
53476  !
53477 
53479  SUBROUTINE cmfe_solver_librarytypesetobj(solver,libraryType,err)
53480  !DLLEXPORT(cmfe_Solver_LibraryTypeSetObj)
53481 
53482  !Argument variables
53483  TYPE(cmfe_solvertype), INTENT(IN) :: solver
53484  INTEGER(INTG), INTENT(IN) :: libraryType
53485  INTEGER(INTG), INTENT(OUT) :: err
53486  !Local variables
53487 
53488  enters("cmfe_Solver_LibraryTypeSetObj",err,error,*999)
53489 
53490  CALL solver_library_type_set(solver%solver,librarytype,err,error,*999)
53491 
53492  exits("cmfe_Solver_LibraryTypeSetObj")
53493  RETURN
53494 999 errorsexits("cmfe_Solver_LibraryTypeSetObj",err,error)
53495  CALL cmfe_handleerror(err,error)
53496  RETURN
53497 
53498  END SUBROUTINE cmfe_solver_librarytypesetobj
53499 
53500  !
53501  !================================================================================================================================
53502  !
53503 
53505  SUBROUTINE cmfe_solver_lineardirecttypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,directSolverType,err)
53506  !DLLEXPORT(cmfe_Solver_LinearDirectTypeSetNumber0)
53507 
53508  !Argument variables
53509  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53510  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
53511  INTEGER(INTG), INTENT(IN) :: solverIndex
53512  INTEGER(INTG), INTENT(IN) :: directSolverType
53513  INTEGER(INTG), INTENT(OUT) :: err
53514  !Local variables
53515  TYPE(problem_type), POINTER :: PROBLEM
53516  TYPE(solver_type), POINTER :: SOLVER
53517  TYPE(varying_string) :: localError
53518 
53519  enters("cmfe_Solver_LinearDirectTypeSetNumber0",err,error,*999)
53520 
53521  NULLIFY(problem)
53522  NULLIFY(solver)
53523  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53524  IF(ASSOCIATED(problem)) THEN
53525  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
53526  CALL solver_linear_direct_type_set(solver,directsolvertype,err,error,*999)
53527  ELSE
53528  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
53529  & " does not exist."
53530  CALL flagerror(localerror,err,error,*999)
53531  END IF
53532 
53533  exits("cmfe_Solver_LinearDirectTypeSetNumber0")
53534  RETURN
53535 999 errorsexits("cmfe_Solver_LinearDirectTypeSetNumber0",err,error)
53536  CALL cmfe_handleerror(err,error)
53537  RETURN
53538 
53540 
53541  !
53542  !================================================================================================================================
53543  !
53544 
53546  SUBROUTINE cmfe_solver_lineardirecttypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,directSolverType,err)
53547  !DLLEXPORT(cmfe_Solver_LinearDirectTypeSetNumber1)
53548 
53549  !Argument variables
53550  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53551  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
53552  INTEGER(INTG), INTENT(IN) :: solverIndex
53553  INTEGER(INTG), INTENT(IN) :: directSolverType
53554  INTEGER(INTG), INTENT(OUT) :: err
53555  !Local variables
53556  TYPE(problem_type), POINTER :: PROBLEM
53557  TYPE(solver_type), POINTER :: SOLVER
53558  TYPE(varying_string) :: localError
53559 
53560  enters("cmfe_Solver_LinearDirectTypeSetNumber1",err,error,*999)
53561 
53562  NULLIFY(problem)
53563  NULLIFY(solver)
53564  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53565  IF(ASSOCIATED(problem)) THEN
53566  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
53567  CALL solver_linear_direct_type_set(solver,directsolvertype,err,error,*999)
53568  ELSE
53569  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
53570  & " does not exist."
53571  CALL flagerror(localerror,err,error,*999)
53572  END IF
53573 
53574  exits("cmfe_Solver_LinearDirectTypeSetNumber1")
53575  RETURN
53576 999 errorsexits("cmfe_Solver_LinearDirectTypeSetNumber1",err,error)
53577  CALL cmfe_handleerror(err,error)
53578  RETURN
53579 
53581 
53582  !================================================================================================================================
53583  !
53584 
53586  SUBROUTINE cmfe_solver_lineardirecttypesetobj(solver,directSolverType,err)
53587  !DLLEXPORT(cmfe_Solver_LinearDirectTypeSetObj)
53588 
53589  !Argument variables
53590  TYPE(cmfe_solvertype), INTENT(IN) :: solver
53591  INTEGER(INTG), INTENT(IN) :: directSolverType
53592  INTEGER(INTG), INTENT(OUT) :: err
53593  !Local variables
53594 
53595  enters("cmfe_Solver_LinearDirectTypeSetObj",err,error,*999)
53596 
53597  CALL solver_linear_direct_type_set(solver%solver,directsolvertype,err,error,*999)
53598 
53599  exits("cmfe_Solver_LinearDirectTypeSetObj")
53600  RETURN
53601 999 errorsexits("cmfe_Solver_LinearDirectTypeSetObj",err,error)
53602  CALL cmfe_handleerror(err,error)
53603  RETURN
53604 
53605  END SUBROUTINE cmfe_solver_lineardirecttypesetobj
53606 
53607  !
53608  !================================================================================================================================
53609  !
53610 
53612  SUBROUTINE cmfe_solver_mumpsseticntl(solver,icntl,ivalue,err)
53613  !DLLEXPORT(cmfe_Solver_MumpsSetIcntl)
53614 
53615  !Argument variables
53616  TYPE(cmfe_solvertype), INTENT(IN) :: solver
53617  INTEGER(INTG), INTENT(IN) :: icntl
53618  INTEGER(INTG), INTENT(IN) :: ivalue
53619  INTEGER(INTG), INTENT(OUT) :: err
53620  !Local variables
53621 
53622  enters("cmfe_Solver_MumpsSetIcntl",err,error,*999)
53623 
53624  CALL solver_mumpsseticntl(solver%solver,icntl,ivalue,err,error,*999)
53625 
53626  exits("cmfe_Solver_MumpsSetIcntl")
53627  RETURN
53628 999 errorsexits("cmfe_Solver_MumpsSetIcntl",err,error)
53629  CALL cmfe_handleerror(err,error)
53630  RETURN
53631 
53632  END SUBROUTINE cmfe_solver_mumpsseticntl
53633 
53634  !
53635  !================================================================================================================================
53636  !
53637 
53639  SUBROUTINE cmfe_solver_mumpssetcntl(solver,icntl,val,err)
53640  !DLLEXPORT(cmfe_Solver_MumpsSetCntl)
53641 
53642  !Argument variables
53643  TYPE(cmfe_solvertype), INTENT(IN) :: solver
53644  INTEGER(INTG), INTENT(IN) :: icntl
53645  REAL(DP), INTENT(IN) :: val
53646  INTEGER(INTG), INTENT(OUT) :: err
53647  !Local variables
53648 
53649  enters("cmfe_Solver_MumpsSetCntl",err,error,*999)
53650 
53651  CALL solver_mumpssetcntl(solver%solver,icntl,val,err,error,*999)
53652 
53653  exits("cmfe_Solver_MumpsSetCntl")
53654  RETURN
53655 999 errorsexits("cmfe_Solver_MumpsSetCntl",err,error)
53656  CALL cmfe_handleerror(err,error)
53657  RETURN
53658 
53659  END SUBROUTINE cmfe_solver_mumpssetcntl
53660 
53661  !
53662  !================================================================================================================================
53663  !
53664 
53666  SUBROUTINE cmfe_solver_lineariterativeabsolutetolerancesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
53667  & absolutetolerance,err)
53668  !DLLEXPORT(cmfe_Solver_LinearIterativeAbsoluteToleranceSetNumber0)
53669 
53670  !Argument variables
53671  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53672  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
53673  INTEGER(INTG), INTENT(IN) :: solverIndex
53674  REAL(DP), INTENT(IN) :: absoluteTolerance
53675  INTEGER(INTG), INTENT(OUT) :: err
53676  !Local variables
53677  TYPE(problem_type), POINTER :: PROBLEM
53678  TYPE(solver_type), POINTER :: SOLVER
53679  TYPE(varying_string) :: localError
53680 
53681  enters("cmfe_Solver_LinearIterativeAbsoluteToleranceSetNumber0",err,error,*999)
53682 
53683  NULLIFY(problem)
53684  NULLIFY(solver)
53685  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53686  IF(ASSOCIATED(problem)) THEN
53687  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
53688  CALL solver_lineariterativeabsolutetoleranceset(solver,absolutetolerance,err,error,*999)
53689  ELSE
53690  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
53691  & " does not exist."
53692  CALL flagerror(localerror,err,error,*999)
53693  END IF
53694 
53695  exits("cmfe_Solver_LinearIterativeAbsoluteToleranceSetNumber0")
53696  RETURN
53697 999 errors("cmfe_Solver_LinearIterativeAbsoluteToleranceSetNumber0",err,error)
53698  exits("cmfe_Solver_LinearIterativeAbsoluteToleranceSetNumber0")
53699  CALL cmfe_handleerror(err,error)
53700  RETURN
53701 
53703 
53704  !
53705  !================================================================================================================================
53706  !
53707 
53709  SUBROUTINE cmfe_solver_lineariterativeabsolutetolerancesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
53710  & absolutetolerance,err)
53711  !DLLEXPORT(cmfe_Solver_LinearIterativeAbsoluteToleranceSetNumber1)
53712 
53713  !Argument variables
53714  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53715  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
53716  INTEGER(INTG), INTENT(IN) :: solverIndex
53717  REAL(DP), INTENT(IN) :: absoluteTolerance
53718  INTEGER(INTG), INTENT(OUT) :: err
53719  !Local variables
53720  TYPE(problem_type), POINTER :: PROBLEM
53721  TYPE(solver_type), POINTER :: SOLVER
53722  TYPE(varying_string) :: localError
53723 
53724  enters("cmfe_Solver_LinearIterativeAbsoluteToleranceSetNumber1",err,error,*999)
53725 
53726  NULLIFY(problem)
53727  NULLIFY(solver)
53728  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53729  IF(ASSOCIATED(problem)) THEN
53730  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
53731  CALL solver_lineariterativeabsolutetoleranceset(solver,absolutetolerance,err,error,*999)
53732  ELSE
53733  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
53734  & " does not exist."
53735  CALL flagerror(localerror,err,error,*999)
53736  END IF
53737 
53738  exits("cmfe_Solver_LinearIterativeAbsoluteToleranceSetNumber1")
53739  RETURN
53740 999 errors("cmfe_Solver_LinearIterativeAbsoluteToleranceSetNumber1",err,error)
53741  exits("cmfe_Solver_LinearIterativeAbsoluteToleranceSetNumber1")
53742  CALL cmfe_handleerror(err,error)
53743  RETURN
53744 
53746 
53747  !================================================================================================================================
53748  !
53749 
53751  SUBROUTINE cmfe_solver_lineariterativeabsolutetolerancesetobj(solver,absoluteTolerance,err)
53752  !DLLEXPORT(cmfe_Solver_LinearIterativeAbsoluteToleranceSetObj)
53753 
53754  !Argument variables
53755  TYPE(cmfe_solvertype), INTENT(IN) :: solver
53756  REAL(DP), INTENT(IN) :: absoluteTolerance
53757  INTEGER(INTG), INTENT(OUT) :: err
53758  !Local variables
53759 
53760  enters("cmfe_Solver_LinearIterativeAbsoluteToleranceSetObj",err,error,*999)
53761 
53762  CALL solver_lineariterativeabsolutetoleranceset(solver%solver,absolutetolerance,err,error,*999)
53763 
53764  exits("cmfe_Solver_LinearIterativeAbsoluteToleranceSetObj")
53765  RETURN
53766 999 errors("cmfe_Solver_LinearIterativeAbsoluteToleranceSetObj",err,error)
53767  exits("cmfe_Solver_LinearIterativeAbsoluteToleranceSetObj")
53768  CALL cmfe_handleerror(err,error)
53769  RETURN
53770 
53772 
53773  !
53774  !================================================================================================================================
53775  !
53776 
53778  SUBROUTINE cmfe_solver_lineariterativedivergencetolerancesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
53779  & divergencetolerance,err)
53780  !DLLEXPORT(cmfe_Solver_LinearIterativeDivergenceToleranceSetNumber0)
53781 
53782  !Argument variables
53783  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53784  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
53785  INTEGER(INTG), INTENT(IN) :: solverIndex
53786  REAL(DP), INTENT(IN) :: divergenceTolerance
53787  INTEGER(INTG), INTENT(OUT) :: err
53788  !Local variables
53789  TYPE(problem_type), POINTER :: PROBLEM
53790  TYPE(solver_type), POINTER :: SOLVER
53791  TYPE(varying_string) :: localError
53792 
53793  enters("cmfe_Solver_LinearIterativeDivergenceToleranceSetNumber0",err,error,*999)
53794 
53795  NULLIFY(problem)
53796  NULLIFY(solver)
53797  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53798  IF(ASSOCIATED(problem)) THEN
53799  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
53800  CALL solver_lineariterativedivergencetoleranceset(solver,divergencetolerance,err,error,*999)
53801  ELSE
53802  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
53803  & " does not exist."
53804  CALL flagerror(localerror,err,error,*999)
53805  END IF
53806 
53807  exits("cmfe_Solver_LinearIterativeDivergenceToleranceSetNumber0")
53808  RETURN
53809 999 errors("cmfe_Solver_LinearIterativeDivergenceToleranceSetNumber0",err,error)
53810  exits("cmfe_Solver_LinearIterativeDivergenceToleranceSetNumber0")
53811  CALL cmfe_handleerror(err,error)
53812  RETURN
53813 
53815 
53816  !
53817  !================================================================================================================================
53818  !
53819 
53821  SUBROUTINE cmfe_solver_lineariterativedivergencetolerancesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
53822  & divergencetolerance,err)
53823  !DLLEXPORT(cmfe_Solver_LinearIterativeDivergenceToleranceSetNumber1)
53824 
53825  !Argument variables
53826  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53827  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
53828  INTEGER(INTG), INTENT(IN) :: solverIndex
53829  REAL(DP), INTENT(IN) :: divergenceTolerance
53830  INTEGER(INTG), INTENT(OUT) :: err
53831  !Local variables
53832  TYPE(problem_type), POINTER :: PROBLEM
53833  TYPE(solver_type), POINTER :: SOLVER
53834  TYPE(varying_string) :: localError
53835 
53836  enters("cmfe_Solver_LinearIterativeDivergenceToleranceSetNumber1",err,error,*999)
53837 
53838  NULLIFY(problem)
53839  NULLIFY(solver)
53840  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53841  IF(ASSOCIATED(problem)) THEN
53842  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
53843  CALL solver_lineariterativedivergencetoleranceset(solver,divergencetolerance,err,error,*999)
53844  ELSE
53845  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
53846  & " does not exist."
53847  CALL flagerror(localerror,err,error,*999)
53848  END IF
53849 
53850  exits("cmfe_Solver_LinearIterativeDivergenceToleranceSetNumber1")
53851  RETURN
53852 999 errors("cmfe_Solver_LinearIterativeDivergenceToleranceSetNumber1",err,error)
53853  exits("cmfe_Solver_LinearIterativeDivergenceToleranceSetNumber1")
53854  CALL cmfe_handleerror(err,error)
53855  RETURN
53856 
53858 
53859  !================================================================================================================================
53860  !
53861 
53863  SUBROUTINE cmfe_solver_lineariterativedivergencetolerancesetobj(solver,divergenceTolerance,err)
53864  !DLLEXPORT(cmfe_Solver_LinearIterativeDivergenceToleranceSetObj)
53865 
53866  !Argument variables
53867  TYPE(cmfe_solvertype), INTENT(IN) :: solver
53868  REAL(DP), INTENT(IN) :: divergenceTolerance
53869  INTEGER(INTG), INTENT(OUT) :: err
53870  !Local variables
53871 
53872  enters("cmfe_Solver_LinearIterativeDivergenceToleranceSetObj",err,error,*999)
53873 
53874  CALL solver_lineariterativedivergencetoleranceset(solver%solver,divergencetolerance,err,error,*999)
53875 
53876  exits("cmfe_Solver_LinearIterativeDivergenceToleranceSetObj")
53877  RETURN
53878 999 errors("cmfe_Solver_LinearIterativeDivergenceToleranceSetObj",err,error)
53879  exits("cmfe_Solver_LinearIterativeDivergenceToleranceSetObj")
53880  CALL cmfe_handleerror(err,error)
53881  RETURN
53882 
53884 
53885  !
53886  !================================================================================================================================
53887  !
53888 
53890  SUBROUTINE cmfe_solver_lineariterativegmresrestartsetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
53891  & gmresrestart,err)
53892  !DLLEXPORT(cmfe_Solver_LinearIterativeGMRESRestartSetNumber0)
53893 
53894  !Argument variables
53895  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53896  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
53897  INTEGER(INTG), INTENT(IN) :: solverIndex
53898  INTEGER(INTG), INTENT(IN) :: GMRESRestart
53899  INTEGER(INTG), INTENT(OUT) :: err
53900  !Local variables
53901  TYPE(problem_type), POINTER :: PROBLEM
53902  TYPE(solver_type), POINTER :: SOLVER
53903  TYPE(varying_string) :: localError
53904 
53905  enters("cmfe_Solver_LinearIterativeGMRESRestartSetNumber0",err,error,*999)
53906 
53907  NULLIFY(problem)
53908  NULLIFY(solver)
53909  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53910  IF(ASSOCIATED(problem)) THEN
53911  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
53912  CALL solver_linear_iterative_gmres_restart_set(solver,gmresrestart,err,error,*999)
53913  ELSE
53914  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
53915  & " does not exist."
53916  CALL flagerror(localerror,err,error,*999)
53917  END IF
53918 
53919  exits("cmfe_Solver_LinearIterativeGMRESRestartSetNumber0")
53920  RETURN
53921 999 errors("cmfe_Solver_LinearIterativeGMRESRestartSetNumber0",err,error)
53922  exits("cmfe_Solver_LinearIterativeGMRESRestartSetNumber0")
53923  CALL cmfe_handleerror(err,error)
53924  RETURN
53925 
53927 
53928  !
53929  !================================================================================================================================
53930  !
53931 
53933  SUBROUTINE cmfe_solver_lineariterativegmresrestartsetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
53934  & gmresrestart,err)
53935  !DLLEXPORT(cmfe_Solver_LinearIterativeGMRESRestartSetNumber1)
53936 
53937  !Argument variables
53938  INTEGER(INTG), INTENT(IN) :: problemUserNumber
53939  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
53940  INTEGER(INTG), INTENT(IN) :: solverIndex
53941  INTEGER(INTG), INTENT(IN) :: GMRESRestart
53942  INTEGER(INTG), INTENT(OUT) :: err
53943  !Local variables
53944  TYPE(problem_type), POINTER :: PROBLEM
53945  TYPE(solver_type), POINTER :: SOLVER
53946  TYPE(varying_string) :: localError
53947 
53948  enters("cmfe_Solver_LinearIterativeGMRESRestartSetNumber1",err,error,*999)
53949 
53950  NULLIFY(problem)
53951  NULLIFY(solver)
53952  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
53953  IF(ASSOCIATED(problem)) THEN
53954  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
53955  CALL solver_linear_iterative_gmres_restart_set(solver,gmresrestart,err,error,*999)
53956  ELSE
53957  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
53958  & " does not exist."
53959  CALL flagerror(localerror,err,error,*999)
53960  END IF
53961 
53962  exits("cmfe_Solver_LinearIterativeGMRESRestartSetNumber1")
53963  RETURN
53964 999 errors("cmfe_Solver_LinearIterativeGMRESRestartSetNumber1",err,error)
53965  exits("cmfe_Solver_LinearIterativeGMRESRestartSetNumber1")
53966  CALL cmfe_handleerror(err,error)
53967  RETURN
53968 
53970 
53971  !================================================================================================================================
53972  !
53973 
53975  SUBROUTINE cmfe_solver_lineariterativegmresrestartsetobj(solver,GMRESRestart,err)
53976  !DLLEXPORT(cmfe_Solver_LinearIterativeGMRESRestartSetObj)
53977 
53978  !Argument variables
53979  TYPE(cmfe_solvertype), INTENT(IN) :: solver
53980  INTEGER(INTG), INTENT(IN) :: GMRESRestart
53981  INTEGER(INTG), INTENT(OUT) :: err
53982  !Local variables
53983 
53984  enters("cmfe_Solver_LinearIterativeGMRESRestartSetObj",err,error,*999)
53985 
53986  CALL solver_linear_iterative_gmres_restart_set(solver%solver,gmresrestart,err,error,*999)
53987 
53988  exits("cmfe_Solver_LinearIterativeGMRESRestartSetObj")
53989  RETURN
53990 999 errors("cmfe_Solver_LinearIterativeGMRESRestartSetObj",err,error)
53991  exits("cmfe_Solver_LinearIterativeGMRESRestartSetObj")
53992  CALL cmfe_handleerror(err,error)
53993  RETURN
53994 
53996 
53997  !
53998  !================================================================================================================================
53999  !
54000 
54002  SUBROUTINE cmfe_solver_lineariterativemaximumiterationssetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
54003  & maximumiterations,err)
54004  !DLLEXPORT(cmfe_Solver_LinearIterativeMaximumIterationsSetNumber0)
54005 
54006  !Argument variables
54007  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54008  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
54009  INTEGER(INTG), INTENT(IN) :: solverIndex
54010  INTEGER(INTG), INTENT(IN) :: maximumIterations
54011  INTEGER(INTG), INTENT(OUT) :: err
54012  !Local variables
54013  TYPE(problem_type), POINTER :: PROBLEM
54014  TYPE(solver_type), POINTER :: SOLVER
54015  TYPE(varying_string) :: localError
54016 
54017  enters("cmfe_Solver_LinearIterativeMaximumIterationsSetNumber0",err,error,*999)
54018 
54019  NULLIFY(problem)
54020  NULLIFY(solver)
54021  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54022  IF(ASSOCIATED(problem)) THEN
54023  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
54024  CALL solver_lineariterativemaximumiterationsset(solver,maximumiterations,err,error,*999)
54025  ELSE
54026  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54027  & " does not exist."
54028  CALL flagerror(localerror,err,error,*999)
54029  END IF
54030 
54031  exits("cmfe_Solver_LinearIterativeMaximumIterationsSetNumber0")
54032  RETURN
54033 999 errors("cmfe_Solver_LinearIterativeMaximumIterationsSetNumber0",err,error)
54034  exits("cmfe_Solver_LinearIterativeMaximumIterationsSetNumber0")
54035  CALL cmfe_handleerror(err,error)
54036  RETURN
54037 
54039 
54040  !
54041  !================================================================================================================================
54042  !
54043 
54045  SUBROUTINE cmfe_solver_lineariterativemaximumiterationssetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
54046  & maximumiterations,err)
54047  !DLLEXPORT(cmfe_Solver_LinearIterativeMaximumIterationsSetNumber1)
54048 
54049  !Argument variables
54050  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54051  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
54052  INTEGER(INTG), INTENT(IN) :: solverIndex
54053  INTEGER(INTG), INTENT(IN) :: maximumIterations
54054  INTEGER(INTG), INTENT(OUT) :: err
54055  !Local variables
54056  TYPE(problem_type), POINTER :: PROBLEM
54057  TYPE(solver_type), POINTER :: SOLVER
54058  TYPE(varying_string) :: localError
54059 
54060  enters("cmfe_Solver_LinearIterativeMaximumIterationsSetNumber1",err,error,*999)
54061 
54062  NULLIFY(problem)
54063  NULLIFY(solver)
54064  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54065  IF(ASSOCIATED(problem)) THEN
54066  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
54067  CALL solver_lineariterativemaximumiterationsset(solver,maximumiterations,err,error,*999)
54068  ELSE
54069  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54070  & " does not exist."
54071  CALL flagerror(localerror,err,error,*999)
54072  END IF
54073 
54074  exits("cmfe_Solver_LinearIterativeMaximumIterationsSetNumber1")
54075  RETURN
54076 999 errors("cmfe_Solver_LinearIterativeMaximumIterationsSetNumber1",err,error)
54077  exits("cmfe_Solver_LinearIterativeMaximumIterationsSetNumber1")
54078  CALL cmfe_handleerror(err,error)
54079  RETURN
54080 
54082 
54083  !================================================================================================================================
54084  !
54085 
54087  SUBROUTINE cmfe_solver_lineariterativemaximumiterationssetobj(solver,maximumIterations,err)
54088  !DLLEXPORT(cmfe_Solver_LinearIterativeMaximumIterationsSetObj)
54089 
54090  !Argument variables
54091  TYPE(cmfe_solvertype), INTENT(IN) :: solver
54092  INTEGER(INTG), INTENT(IN) :: maximumIterations
54093  INTEGER(INTG), INTENT(OUT) :: err
54094  !Local variables
54095 
54096  enters("cmfe_Solver_LinearIterativeMaximumIterationsSetObj",err,error,*999)
54097 
54098  CALL solver_lineariterativemaximumiterationsset(solver%solver,maximumiterations,err,error,*999)
54099 
54100  exits("cmfe_Solver_LinearIterativeMaximumIterationsSetObj")
54101  RETURN
54102 999 errors("cmfe_Solver_LinearIterativeMaximumIterationsSetObj",err,error)
54103  exits("cmfe_Solver_LinearIterativeMaximumIterationsSetObj")
54104  CALL cmfe_handleerror(err,error)
54105  RETURN
54106 
54108 
54109  !
54110  !================================================================================================================================
54111  !
54112 
54114  SUBROUTINE cmfe_solver_lineariterativepreconditionertypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
54115  & preconditionertype,err)
54116  !DLLEXPORT(cmfe_Solver_LinearIterativePreconditionerTypeSetNumber0)
54117 
54118  !Argument variables
54119  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54120  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
54121  INTEGER(INTG), INTENT(IN) :: solverIndex
54122  INTEGER(INTG), INTENT(IN) :: preconditionerType
54123  INTEGER(INTG), INTENT(OUT) :: err
54124  !Local variables
54125  TYPE(problem_type), POINTER :: PROBLEM
54126  TYPE(solver_type), POINTER :: SOLVER
54127  TYPE(varying_string) :: localError
54128 
54129  enters("cmfe_Solver_LinearIterativePreconditionerTypeSetNumber0",err,error,*999)
54130 
54131  NULLIFY(problem)
54132  NULLIFY(solver)
54133  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54134  IF(ASSOCIATED(problem)) THEN
54135  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
54136  CALL solver_lineariterativepreconditionertypeset(solver,preconditionertype,err,error,*999)
54137  ELSE
54138  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54139  & " does not exist."
54140  CALL flagerror(localerror,err,error,*999)
54141  END IF
54142 
54143  exits("cmfe_Solver_LinearIterativePreconditionerTypeSetNumber0")
54144  RETURN
54145 999 errors("cmfe_Solver_LinearIterativePreconditionerTypeSetNumber0",err,error)
54146  exits("cmfe_Solver_LinearIterativePreconditionerTypeSetNumber0")
54147  CALL cmfe_handleerror(err,error)
54148  RETURN
54149 
54151 
54152  !
54153  !================================================================================================================================
54154  !
54155 
54157  SUBROUTINE cmfe_solver_lineariterativepreconditionertypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
54158  & preconditionertype,err)
54159  !DLLEXPORT(cmfe_Solver_LinearIterativePreconditionerTypeSetNumber1)
54160 
54161  !Argument variables
54162  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54163  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
54164  INTEGER(INTG), INTENT(IN) :: solverIndex
54165  INTEGER(INTG), INTENT(IN) :: preconditionerType
54166  INTEGER(INTG), INTENT(OUT) :: err
54167  !Local variables
54168  TYPE(problem_type), POINTER :: PROBLEM
54169  TYPE(solver_type), POINTER :: SOLVER
54170  TYPE(varying_string) :: localError
54171 
54172  enters("cmfe_Solver_LinearIterativePreconditionerTypeSetNumber1",err,error,*999)
54173 
54174  NULLIFY(problem)
54175  NULLIFY(solver)
54176  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54177  IF(ASSOCIATED(problem)) THEN
54178  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
54179  CALL solver_lineariterativepreconditionertypeset(solver,preconditionertype,err,error,*999)
54180  ELSE
54181  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54182  & " does not exist."
54183  CALL flagerror(localerror,err,error,*999)
54184  END IF
54185 
54186  exits("cmfe_Solver_LinearIterativePreconditionerTypeSetNumber1")
54187  RETURN
54188 999 errors("cmfe_Solver_LinearIterativePreconditionerTypeSetNumber1",err,error)
54189  exits("cmfe_Solver_LinearIterativePreconditionerTypeSetNumber1")
54190  CALL cmfe_handleerror(err,error)
54191  RETURN
54192 
54194 
54195  !================================================================================================================================
54196  !
54197 
54199  SUBROUTINE cmfe_solver_lineariterativepreconditionertypesetobj(solver,preconditionerType,err)
54200  !DLLEXPORT(cmfe_Solver_LinearIterativePreconditionerTypeSetObj)
54201 
54202  !Argument variables
54203  TYPE(cmfe_solvertype), INTENT(IN) :: solver
54204  INTEGER(INTG), INTENT(IN) :: preconditionerType
54205  INTEGER(INTG), INTENT(OUT) :: err
54206  !Local variables
54207 
54208  enters("cmfe_Solver_LinearIterativePreconditionerTypeSetObj",err,error,*999)
54209 
54210  CALL solver_lineariterativepreconditionertypeset(solver%solver,preconditionertype,err,error,*999)
54211 
54212  exits("cmfe_Solver_LinearIterativePreconditionerTypeSetObj")
54213  RETURN
54214 999 errors("cmfe_Solver_LinearIterativePreconditionerTypeSetObj",err,error)
54215  exits("cmfe_Solver_LinearIterativePreconditionerTypeSetObj")
54216  CALL cmfe_handleerror(err,error)
54217  RETURN
54218 
54220 
54221  !
54222  !================================================================================================================================
54223  !
54224 
54226  SUBROUTINE cmfe_solver_lineariterativerelativetolerancesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
54227  & relativetolerance,err)
54228  !DLLEXPORT(cmfe_Solver_LinearIterativeRelativeToleranceSetNumber0)
54229 
54230  !Argument variables
54231  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54232  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
54233  INTEGER(INTG), INTENT(IN) :: solverIndex
54234  REAL(DP), INTENT(IN) :: relativeTolerance
54235  INTEGER(INTG), INTENT(OUT) :: err
54236  !Local variables
54237  TYPE(problem_type), POINTER :: PROBLEM
54238  TYPE(solver_type), POINTER :: SOLVER
54239  TYPE(varying_string) :: localError
54240 
54241  enters("cmfe_Solver_LinearIterativeRelativeToleranceSetNumber0",err,error,*999)
54242 
54243  NULLIFY(problem)
54244  NULLIFY(solver)
54245  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54246  IF(ASSOCIATED(problem)) THEN
54247  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
54248  CALL solver_lineariterativerelativetoleranceset(solver,relativetolerance,err,error,*999)
54249  ELSE
54250  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54251  & " does not exist."
54252  CALL flagerror(localerror,err,error,*999)
54253  END IF
54254 
54255  exits("cmfe_Solver_LinearIterativeRelativeToleranceSetNumber0")
54256  RETURN
54257 999 errors("cmfe_Solver_LinearIterativeRelativeToleranceSetNumber0",err,error)
54258  exits("cmfe_Solver_LinearIterativeRelativeToleranceSetNumber0")
54259  CALL cmfe_handleerror(err,error)
54260  RETURN
54261 
54263 
54264  !
54265  !================================================================================================================================
54266  !
54267 
54269  SUBROUTINE cmfe_solver_lineariterativerelativetolerancesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
54270  & relativetolerance,err)
54271  !DLLEXPORT(cmfe_Solver_LinearIterativeRelativeToleranceSetNumber1)
54272 
54273  !Argument variables
54274  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54275  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
54276  INTEGER(INTG), INTENT(IN) :: solverIndex
54277  REAL(DP), INTENT(IN) :: relativeTolerance
54278  INTEGER(INTG), INTENT(OUT) :: err
54279  !Local variables
54280  TYPE(problem_type), POINTER :: PROBLEM
54281  TYPE(solver_type), POINTER :: SOLVER
54282  TYPE(varying_string) :: localError
54283 
54284  enters("cmfe_Solver_LinearIterativeRelativeToleranceSetNumber1",err,error,*999)
54285 
54286  NULLIFY(problem)
54287  NULLIFY(solver)
54288  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54289  IF(ASSOCIATED(problem)) THEN
54290  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
54291  CALL solver_lineariterativerelativetoleranceset(solver,relativetolerance,err,error,*999)
54292  ELSE
54293  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54294  & " does not exist."
54295  CALL flagerror(localerror,err,error,*999)
54296  END IF
54297 
54298  exits("cmfe_Solver_LinearIterativeRelativeToleranceSetNumber1")
54299  RETURN
54300 999 errors("cmfe_Solver_LinearIterativeRelativeToleranceSetNumber1",err,error)
54301  exits("cmfe_Solver_LinearIterativeRelativeToleranceSetNumber1")
54302  CALL cmfe_handleerror(err,error)
54303  RETURN
54304 
54306 
54307  !================================================================================================================================
54308  !
54309 
54311  SUBROUTINE cmfe_solver_lineariterativerelativetolerancesetobj(solver,relativeTolerance,err)
54312  !DLLEXPORT(cmfe_Solver_LinearIterativeRelativeToleranceSetObj)
54313 
54314  !Argument variables
54315  TYPE(cmfe_solvertype), INTENT(IN) :: solver
54316  REAL(DP), INTENT(IN) :: relativeTolerance
54317  INTEGER(INTG), INTENT(OUT) :: err
54318  !Local variables
54319 
54320  enters("cmfe_Solver_LinearIterativeRelativeToleranceSetObj",err,error,*999)
54321 
54322  CALL solver_lineariterativerelativetoleranceset(solver%solver,relativetolerance,err,error,*999)
54323 
54324  exits("cmfe_Solver_LinearIterativeRelativeToleranceSetObj")
54325  RETURN
54326 999 errors("cmfe_Solver_LinearIterativeRelativeToleranceSetObj",err,error)
54327  exits("cmfe_Solver_LinearIterativeRelativeToleranceSetObj")
54328  CALL cmfe_handleerror(err,error)
54329  RETURN
54330 
54332 
54333  !
54334  !================================================================================================================================
54335  !
54336 
54338  SUBROUTINE cmfe_solver_lineariterativetypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,iterativeSolverType,err)
54339  !DLLEXPORT(cmfe_Solver_LinearIterativeTypeSetNumber0)
54340 
54341  !Argument variables
54342  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54343  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
54344  INTEGER(INTG), INTENT(IN) :: solverIndex
54345  INTEGER(INTG), INTENT(IN) :: iterativeSolverType
54346  INTEGER(INTG), INTENT(OUT) :: err
54347  !Local variables
54348  TYPE(problem_type), POINTER :: PROBLEM
54349  TYPE(solver_type), POINTER :: SOLVER
54350  TYPE(varying_string) :: localError
54351 
54352  enters("cmfe_Solver_LinearIterativeTypeSetNumber0",err,error,*999)
54353 
54354  NULLIFY(problem)
54355  NULLIFY(solver)
54356  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54357  IF(ASSOCIATED(problem)) THEN
54358  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
54359  CALL solver_linear_iterative_type_set(solver,iterativesolvertype,err,error,*999)
54360  ELSE
54361  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54362  & " does not exist."
54363  CALL flagerror(localerror,err,error,*999)
54364  END IF
54365 
54366  exits("cmfe_Solver_LinearIterativeTypeSetNumber0")
54367  RETURN
54368 999 errorsexits("cmfe_Solver_LinearIterativeTypeSetNumber0",err,error)
54369  CALL cmfe_handleerror(err,error)
54370  RETURN
54371 
54373 
54374  !
54375  !================================================================================================================================
54376  !
54377 
54379  SUBROUTINE cmfe_solver_lineariterativetypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,iterativeSolverType,err)
54380  !DLLEXPORT(cmfe_Solver_LinearIterativeTypeSetNumber1)
54381 
54382  !Argument variables
54383  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54384  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
54385  INTEGER(INTG), INTENT(IN) :: solverIndex
54386  INTEGER(INTG), INTENT(IN) :: iterativeSolverType
54387  INTEGER(INTG), INTENT(OUT) :: err
54388  !Local variables
54389  TYPE(problem_type), POINTER :: PROBLEM
54390  TYPE(solver_type), POINTER :: SOLVER
54391  TYPE(varying_string) :: localError
54392 
54393  enters("cmfe_Solver_LinearIterativeTypeSetNumber1",err,error,*999)
54394 
54395  NULLIFY(problem)
54396  NULLIFY(solver)
54397  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54398  IF(ASSOCIATED(problem)) THEN
54399  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
54400  CALL solver_linear_iterative_type_set(solver,iterativesolvertype,err,error,*999)
54401  ELSE
54402  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54403  & " does not exist."
54404  CALL flagerror(localerror,err,error,*999)
54405  END IF
54406 
54407  exits("cmfe_Solver_LinearIterativeTypeSetNumber1")
54408  RETURN
54409 999 errorsexits("cmfe_Solver_LinearIterativeTypeSetNumber1",err,error)
54410  CALL cmfe_handleerror(err,error)
54411  RETURN
54412 
54414 
54415  !================================================================================================================================
54416  !
54417 
54419  SUBROUTINE cmfe_solver_lineariterativetypesetobj(solver,iterativeSolverType,err)
54420  !DLLEXPORT(cmfe_Solver_LinearIterativeTypeSetObj)
54421 
54422  !Argument variables
54423  TYPE(cmfe_solvertype), INTENT(IN) :: solver
54424  INTEGER(INTG), INTENT(IN) :: iterativeSolverType
54425  INTEGER(INTG), INTENT(OUT) :: err
54426  !Local variables
54427 
54428  enters("cmfe_Solver_LinearIterativeTypeSetObj",err,error,*999)
54429 
54430  CALL solver_linear_iterative_type_set(solver%solver,iterativesolvertype,err,error,*999)
54431 
54432  exits("cmfe_Solver_LinearIterativeTypeSetObj")
54433  RETURN
54434 999 errorsexits("cmfe_Solver_LinearIterativeTypeSetObj",err,error)
54435  CALL cmfe_handleerror(err,error)
54436  RETURN
54437 
54439 
54440  !
54441  !================================================================================================================================
54442  !
54443 
54445  SUBROUTINE cmfe_solver_lineartypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,linearSolverType,err)
54446  !DLLEXPORT(cmfe_Solver_LinearTypeSetNumber0)
54447 
54448  !Argument variables
54449  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54450  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
54451  INTEGER(INTG), INTENT(IN) :: solverIndex
54452  INTEGER(INTG), INTENT(IN) :: linearSolverType
54453  INTEGER(INTG), INTENT(OUT) :: err
54454  !Local variables
54455  TYPE(problem_type), POINTER :: PROBLEM
54456  TYPE(solver_type), POINTER :: SOLVER
54457  TYPE(varying_string) :: localError
54458 
54459  enters("cmfe_Solver_LinearTypeSetNumber0",err,error,*999)
54460 
54461  NULLIFY(problem)
54462  NULLIFY(solver)
54463  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54464  IF(ASSOCIATED(problem)) THEN
54465  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
54466  CALL solver_linear_type_set(solver,linearsolvertype,err,error,*999)
54467  ELSE
54468  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54469  & " does not exist."
54470  CALL flagerror(localerror,err,error,*999)
54471  END IF
54472 
54473  exits("cmfe_Solver_LinearTypeSetNumber0")
54474  RETURN
54475 999 errorsexits("cmfe_Solver_LinearTypeSetNumber0",err,error)
54476  CALL cmfe_handleerror(err,error)
54477  RETURN
54478 
54479  END SUBROUTINE cmfe_solver_lineartypesetnumber0
54480 
54481  !
54482  !================================================================================================================================
54483  !
54484 
54486  SUBROUTINE cmfe_solver_lineartypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,linearSolverType,err)
54487  !DLLEXPORT(cmfe_Solver_LinearTypeSetNumber1)
54488 
54489  !Argument variables
54490  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54491  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
54492  INTEGER(INTG), INTENT(IN) :: solverIndex
54493  INTEGER(INTG), INTENT(IN) :: linearSolverType
54494  INTEGER(INTG), INTENT(OUT) :: err
54495  !Local variables
54496  TYPE(problem_type), POINTER :: PROBLEM
54497  TYPE(solver_type), POINTER :: SOLVER
54498  TYPE(varying_string) :: localError
54499 
54500  enters("cmfe_Solver_LinearTypeSetNumber1",err,error,*999)
54501 
54502  NULLIFY(problem)
54503  NULLIFY(solver)
54504  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54505  IF(ASSOCIATED(problem)) THEN
54506  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
54507  CALL solver_linear_type_set(solver,linearsolvertype,err,error,*999)
54508  ELSE
54509  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54510  & " does not exist."
54511  CALL flagerror(localerror,err,error,*999)
54512  END IF
54513 
54514  exits("cmfe_Solver_LinearTypeSetNumber1")
54515  RETURN
54516 999 errorsexits("cmfe_Solver_LinearTypeSetNumber1",err,error)
54517  CALL cmfe_handleerror(err,error)
54518  RETURN
54519 
54520  END SUBROUTINE cmfe_solver_lineartypesetnumber1
54521 
54522  !================================================================================================================================
54523  !
54524 
54526  SUBROUTINE cmfe_solver_lineartypesetobj(solver,linearSolverType,err)
54527  !DLLEXPORT(cmfe_Solver_LinearTypeSetObj)
54528 
54529  !Argument variables
54530  TYPE(cmfe_solvertype), INTENT(IN) :: solver
54531  INTEGER(INTG), INTENT(IN) :: linearSolverType
54532  INTEGER(INTG), INTENT(OUT) :: err
54533  !Local variables
54534 
54535  enters("cmfe_Solver_LinearTypeSetObj",err,error,*999)
54536 
54537  CALL solver_linear_type_set(solver%solver,linearsolvertype,err,error,*999)
54538 
54539  exits("cmfe_Solver_LinearTypeSetObj")
54540  RETURN
54541 999 errorsexits("cmfe_Solver_LinearTypeSetObj",err,error)
54542  CALL cmfe_handleerror(err,error)
54543  RETURN
54544 
54545  END SUBROUTINE cmfe_solver_lineartypesetobj
54546 
54547  !
54548  !================================================================================================================================
54549  !
54550 
54552  SUBROUTINE cmfe_solver_newtonabsolutetolerancesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
54553  & absolutetolerance,err)
54554  !DLLEXPORT(cmfe_Solver_NewtonAbsoluteToleranceSetNumber0)
54555 
54556  !Argument variables
54557  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54558  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
54559  INTEGER(INTG), INTENT(IN) :: solverIndex
54560  REAL(DP), INTENT(IN) :: absoluteTolerance
54561  INTEGER(INTG), INTENT(OUT) :: err
54562  !Local variables
54563  TYPE(problem_type), POINTER :: PROBLEM
54564  TYPE(solver_type), POINTER :: SOLVER
54565  TYPE(varying_string) :: localError
54566 
54567  enters("cmfe_Solver_NewtonAbsoluteToleranceSetNumber0",err,error,*999)
54568 
54569  NULLIFY(problem)
54570  NULLIFY(solver)
54571  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54572  IF(ASSOCIATED(problem)) THEN
54573  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
54574  CALL solver_newton_absolute_tolerance_set(solver,absolutetolerance,err,error,*999)
54575  ELSE
54576  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54577  & " does not exist."
54578  CALL flagerror(localerror,err,error,*999)
54579  END IF
54580 
54581  exits("cmfe_Solver_NewtonAbsoluteToleranceSetNumber0")
54582  RETURN
54583 999 errors("cmfe_Solver_NewtonAbsoluteToleranceSetNumber0",err,error)
54584  exits("cmfe_Solver_NewtonAbsoluteToleranceSetNumber0")
54585  CALL cmfe_handleerror(err,error)
54586  RETURN
54587 
54589 
54590  !
54591  !================================================================================================================================
54592  !
54593 
54595  SUBROUTINE cmfe_solver_newtonabsolutetolerancesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,absoluteTolerance, &
54596  & err)
54597  !DLLEXPORT(cmfe_Solver_NewtonAbsoluteToleranceSetNumber1)
54598 
54599  !Argument variables
54600  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54601  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
54602  INTEGER(INTG), INTENT(IN) :: solverIndex
54603  REAL(DP), INTENT(IN) :: absoluteTolerance
54604  INTEGER(INTG), INTENT(OUT) :: err
54605  !Local variables
54606  TYPE(problem_type), POINTER :: PROBLEM
54607  TYPE(solver_type), POINTER :: SOLVER
54608  TYPE(varying_string) :: localError
54609 
54610  enters("cmfe_Solver_NewtonAbsoluteToleranceSetNumber1",err,error,*999)
54611 
54612  NULLIFY(problem)
54613  NULLIFY(solver)
54614  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54615  IF(ASSOCIATED(problem)) THEN
54616  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
54617  CALL solver_newton_absolute_tolerance_set(solver,absolutetolerance,err,error,*999)
54618  ELSE
54619  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54620  & " does not exist."
54621  CALL flagerror(localerror,err,error,*999)
54622  END IF
54623 
54624  exits("cmfe_Solver_NewtonAbsoluteToleranceSetNumber1")
54625  RETURN
54626 999 errors("cmfe_Solver_NewtonAbsoluteToleranceSetNumber1",err,error)
54627  exits("cmfe_Solver_NewtonAbsoluteToleranceSetNumber1")
54628  CALL cmfe_handleerror(err,error)
54629  RETURN
54630 
54632 
54633  !================================================================================================================================
54634  !
54635 
54637  SUBROUTINE cmfe_solver_newtonabsolutetolerancesetobj(solver,absoluteTolerance,err)
54638  !DLLEXPORT(cmfe_Solver_NewtonAbsoluteToleranceSetObj)
54639 
54640  !Argument variables
54641  TYPE(cmfe_solvertype), INTENT(IN) :: solver
54642  REAL(DP), INTENT(IN) :: absoluteTolerance
54643  INTEGER(INTG), INTENT(OUT) :: err
54644  !Local variables
54645 
54646  enters("cmfe_Solver_NewtonAbsoluteToleranceSetObj",err,error,*999)
54647 
54648  CALL solver_newton_absolute_tolerance_set(solver%solver,absolutetolerance,err,error,*999)
54649 
54650  exits("cmfe_Solver_NewtonAbsoluteToleranceSetObj")
54651  RETURN
54652 999 errorsexits("cmfe_Solver_NewtonAbsoluteToleranceSetObj",err,error)
54653  CALL cmfe_handleerror(err,error)
54654  RETURN
54655 
54657 
54658  !
54659  !================================================================================================================================
54660  !
54661 
54663  SUBROUTINE cmfe_solver_newtonlinesearchmonitoroutputsetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
54664  & monitorlinesearchflag,err)
54665  !DLLEXPORT(cmfe_Solver_NewtonLineSearchMonitorOutputSetNumber0)
54666 
54667  !Argument variables
54668  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54669  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
54670  INTEGER(INTG), INTENT(IN) :: solverIndex
54671  LOGICAL, INTENT(IN) :: monitorLinesearchFlag
54672  INTEGER(INTG), INTENT(OUT) :: err
54673  !Local variables
54674  TYPE(problem_type), POINTER :: PROBLEM
54675  TYPE(solver_type), POINTER :: SOLVER
54676  TYPE(varying_string) :: localError
54677 
54678  enters("cmfe_Solver_NewtonLineSearchMonitorOutputSetNumber0",err,error,*999)
54679 
54680  NULLIFY(problem)
54681  NULLIFY(solver)
54682  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54683  IF(ASSOCIATED(problem)) THEN
54684  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
54685  CALL solver_newtonlinesearchmonitoroutputset(solver,monitorlinesearchflag,err,error,*999)
54686  ELSE
54687  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54688  & " does not exist."
54689  CALL flagerror(localerror,err,error,*999)
54690  END IF
54691 
54692  exits("cmfe_Solver_NewtonLineSearchMonitorOutputSetNumber0")
54693  RETURN
54694 999 errors("cmfe_Solver_NewtonLineSearchMonitorOutputSetNumber0",err,error)
54695  exits("cmfe_Solver_NewtonLineSearchMonitorOutputSetNumber0")
54696  CALL cmfe_handleerror(err,error)
54697  RETURN
54698 
54700 
54701  !
54702  !================================================================================================================================
54703  !
54704 
54706  SUBROUTINE cmfe_solver_newtonlinesearchmonitoroutputsetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
54707  & monitorlinesearchflag,err)
54708  !DLLEXPORT(cmfe_Solver_NewtonLineSearchMonitorOutputSetNumber1)
54709 
54710  !Argument variables
54711  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54712  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
54713  INTEGER(INTG), INTENT(IN) :: solverIndex
54714  LOGICAL, INTENT(IN) :: monitorLinesearchFlag
54715  INTEGER(INTG), INTENT(OUT) :: err
54716  !Local variables
54717  TYPE(problem_type), POINTER :: PROBLEM
54718  TYPE(solver_type), POINTER :: SOLVER
54719  TYPE(varying_string) :: localError
54720 
54721  enters("cmfe_Solver_NewtonLineSearchMonitorOutputSetNumber1",err,error,*999)
54722 
54723  NULLIFY(problem)
54724  NULLIFY(solver)
54725  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54726  IF(ASSOCIATED(problem)) THEN
54727  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
54728  CALL solver_newtonlinesearchmonitoroutputset(solver,monitorlinesearchflag,err,error,*999)
54729  ELSE
54730  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54731  & " does not exist."
54732  CALL flagerror(localerror,err,error,*999)
54733  END IF
54734 
54735  exits("cmfe_Solver_NewtonLineSearchMonitorOutputSetNumber1")
54736  RETURN
54737 999 errors("cmfe_Solver_NewtonLineSearchMonitorOutputSetNumber1",err,error)
54738  exits("cmfe_Solver_NewtonLineSearchMonitorOutputSetNumber1")
54739  CALL cmfe_handleerror(err,error)
54740  RETURN
54741 
54743 
54744  !================================================================================================================================
54745  !
54746 
54748  SUBROUTINE cmfe_solver_newtonlinesearchmonitoroutputsetobj(solver,monitorLinesearchFlag,err)
54749  !DLLEXPORT(cmfe_Solver_NewtonLineSearchMonitorOutputSetObj)
54750 
54751  !Argument variables
54752  TYPE(cmfe_solvertype), INTENT(IN) :: solver
54753  LOGICAL, INTENT(IN) :: monitorLinesearchFlag
54754  INTEGER(INTG), INTENT(OUT) :: err
54755  !Local variables
54756 
54757  enters("cmfe_Solver_NewtonLineSearchMonitorOutputSetObj",err,error,*999)
54758 
54759  CALL solver_newtonlinesearchmonitoroutputset(solver%solver,monitorlinesearchflag,err,error,*999)
54760 
54761  exits("cmfe_Solver_NewtonLineSearchMonitorOutputSetObj")
54762  RETURN
54763 999 errors("cmfe_Solver_NewtonLineSearchMonitorOutputSetObj",err,error)
54764  exits("cmfe_Solver_NewtonLineSearchMonitorOutputSetObj")
54765  CALL cmfe_handleerror(err,error)
54766  RETURN
54767 
54769 
54770  !
54771  !================================================================================================================================
54772  !
54773 
54775  SUBROUTINE cmfe_solver_newtonjacobiancalculationtypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
54776  & jacobiancalculationtype,err)
54777  !DLLEXPORT(cmfe_Solver_NewtonJacobianCalculationTypeSetNumber0)
54778 
54779  !Argument variables
54780  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54781  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
54782  INTEGER(INTG), INTENT(IN) :: solverIndex
54783  INTEGER(INTG), INTENT(IN) :: jacobianCalculationType
54784  INTEGER(INTG), INTENT(OUT) :: err
54785  !Local variables
54786  TYPE(problem_type), POINTER :: PROBLEM
54787  TYPE(solver_type), POINTER :: SOLVER
54788  TYPE(varying_string) :: localError
54789 
54790  enters("cmfe_Solver_NewtonJacobianCalculationTypeSetNumber0",err,error,*999)
54791 
54792  NULLIFY(problem)
54793  NULLIFY(solver)
54794  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54795  IF(ASSOCIATED(problem)) THEN
54796  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
54797  CALL solver_newton_jacobian_calculation_type_set(solver,jacobiancalculationtype,err,error,*999)
54798  ELSE
54799  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54800  & " does not exist."
54801  CALL flagerror(localerror,err,error,*999)
54802  END IF
54803 
54804  exits("cmfe_Solver_NewtonJacobianCalculationTypeSetNumber0")
54805  RETURN
54806 999 errors("cmfe_Solver_NewtonJacobianCalculationTypeSetNumber0",err,error)
54807  exits("cmfe_Solver_NewtonJacobianCalculationTypeSetNumber0")
54808  CALL cmfe_handleerror(err,error)
54809  RETURN
54810 
54812 
54813  !
54814  !================================================================================================================================
54815  !
54816 
54818  SUBROUTINE cmfe_solver_newtonjacobiancalculationtypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
54819  & jacobiancalculationtype,err)
54820  !DLLEXPORT(cmfe_Solver_NewtonJacobianCalculationTypeSetNumber1)
54821 
54822  !Argument variables
54823  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54824  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
54825  INTEGER(INTG), INTENT(IN) :: solverIndex
54826  INTEGER(INTG), INTENT(IN) :: jacobianCalculationType
54827  INTEGER(INTG), INTENT(OUT) :: err
54828  !Local variables
54829  TYPE(problem_type), POINTER :: PROBLEM
54830  TYPE(solver_type), POINTER :: SOLVER
54831  TYPE(varying_string) :: localError
54832 
54833  enters("cmfe_Solver_NewtonJacobianCalculationTypeSetNumber1",err,error,*999)
54834 
54835  NULLIFY(problem)
54836  NULLIFY(solver)
54837  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54838  IF(ASSOCIATED(problem)) THEN
54839  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
54840  CALL solver_newton_jacobian_calculation_type_set(solver,jacobiancalculationtype,err,error,*999)
54841  ELSE
54842  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54843  & " does not exist."
54844  CALL flagerror(localerror,err,error,*999)
54845  END IF
54846 
54847  exits("cmfe_Solver_NewtonJacobianCalculationTypeSetNumber1")
54848  RETURN
54849 999 errors("cmfe_Solver_NewtonJacobianCalculationTypeSetNumber1",err,error)
54850  exits("cmfe_Solver_NewtonJacobianCalculationTypeSetNumber1")
54851  CALL cmfe_handleerror(err,error)
54852  RETURN
54853 
54855 
54856  !================================================================================================================================
54857  !
54858 
54860  SUBROUTINE cmfe_solver_newtonjacobiancalculationtypesetobj(solver,jacobianCalculationType,err)
54861  !DLLEXPORT(cmfe_Solver_NewtonJacobianCalculationTypeSetObj)
54862 
54863  !Argument variables
54864  TYPE(cmfe_solvertype), INTENT(IN) :: solver
54865  INTEGER(INTG), INTENT(IN) :: jacobianCalculationType
54866  INTEGER(INTG), INTENT(OUT) :: err
54867  !Local variables
54868 
54869  enters("cmfe_Solver_NewtonJacobianCalculationTypeSetObj",err,error,*999)
54870 
54871  CALL solver_newton_jacobian_calculation_type_set(solver%solver,jacobiancalculationtype,err,error,*999)
54872 
54873  exits("cmfe_Solver_NewtonJacobianCalculationTypeSetObj")
54874  RETURN
54875 999 errors("cmfe_Solver_NewtonJacobianCalculationTypeSetObj",err,error)
54876  exits("cmfe_Solver_NewtonJacobianCalculationTypeSetObj")
54877  CALL cmfe_handleerror(err,error)
54878  RETURN
54879 
54881 
54882  !
54883  !================================================================================================================================
54884  !
54885 
54887  SUBROUTINE cmfe_solver_newtonlinearsolvergetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,linearSolverIndex,err)
54888  !DLLEXPORT(cmfe_Solver_NewtonLinearSolverGetNumber0)
54889 
54890  !Argument variables
54891  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54892  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
54893  INTEGER(INTG), INTENT(IN) :: solverIndex
54894  INTEGER(INTG), INTENT(OUT) :: linearSolverIndex
54895  INTEGER(INTG), INTENT(OUT) :: err
54896  !Local variables
54897  TYPE(problem_type), POINTER :: PROBLEM
54898  TYPE(solver_type), POINTER :: SOLVER,LINEAR_SOLVER
54899  TYPE(varying_string) :: localError
54900 
54901  enters("cmfe_Solver_NewtonLinearSolverGetNumber0",err,error,*999)
54902 
54903  NULLIFY(problem)
54904  NULLIFY(solver)
54905  NULLIFY(linear_solver)
54906  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54907  IF(ASSOCIATED(problem)) THEN
54908  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
54909  CALL solver_newton_linear_solver_get(solver,linear_solver,err,error,*999)
54910  !todo: get the solver index from linear solver
54911  linearsolverindex=linear_solver%GLOBAL_NUMBER
54912  CALL flagerror("Not implemented.",err,error,*999)
54913  ELSE
54914  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54915  & " does not exist."
54916  CALL flagerror(localerror,err,error,*999)
54917  END IF
54918 
54919  exits("cmfe_Solver_NewtonLinearSolverGetNumber0")
54920  RETURN
54921 999 errorsexits("cmfe_Solver_NewtonLinearSolverGetNumber0",err,error)
54922  CALL cmfe_handleerror(err,error)
54923  RETURN
54924 
54926 
54927  !
54928  !================================================================================================================================
54929  !
54930 
54932  SUBROUTINE cmfe_solver_newtonlinearsolvergetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,linearSolverIndex,err)
54933  !DLLEXPORT(cmfe_Solver_NewtonLinearSolverGetNumber1)
54934 
54935  !Argument variables
54936  INTEGER(INTG), INTENT(IN) :: problemUserNumber
54937  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
54938  INTEGER(INTG), INTENT(IN) :: solverIndex
54939  INTEGER(INTG), INTENT(OUT) :: linearSolverIndex
54940  INTEGER(INTG), INTENT(OUT) :: err
54941  !Local variables
54942  TYPE(problem_type), POINTER :: PROBLEM
54943  TYPE(solver_type), POINTER :: SOLVER,LINEAR_SOLVER
54944  TYPE(varying_string) :: localError
54945 
54946  enters("cmfe_Solver_NewtonLinearSolverGetNumber1",err,error,*999)
54947 
54948  NULLIFY(problem)
54949  NULLIFY(solver)
54950  NULLIFY(linear_solver)
54951  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
54952  IF(ASSOCIATED(problem)) THEN
54953  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
54954  CALL solver_newton_linear_solver_get(solver,linear_solver,err,error,*999)
54955  !todo: get the solver index from linear solver
54956  linearsolverindex=linear_solver%GLOBAL_NUMBER
54957  CALL flagerror("Not implemented.",err,error,*999)
54958  ELSE
54959  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
54960  & " does not exist."
54961  CALL flagerror(localerror,err,error,*999)
54962  END IF
54963 
54964  exits("cmfe_Solver_NewtonLinearSolverGetNumber1")
54965  RETURN
54966 999 errorsexits("cmfe_Solver_NewtonLinearSolverGetNumber1",err,error)
54967  CALL cmfe_handleerror(err,error)
54968  RETURN
54969 
54971 
54972  !================================================================================================================================
54973  !
54974 
54976  SUBROUTINE cmfe_solver_newtonlinearsolvergetobj(solver,linearSolver,err)
54977  !DLLEXPORT(cmfe_Solver_NewtonLinearSolverGetObj)
54978 
54979  !Argument variables
54980  TYPE(cmfe_solvertype), INTENT(IN) :: solver
54981  TYPE(cmfe_solvertype), INTENT(INOUT) :: linearSolver
54982  INTEGER(INTG), INTENT(OUT) :: err
54983  !Local variables
54984 
54985  enters("cmfe_Solver_NewtonLinearSolverGetObj",err,error,*999)
54986 
54987  CALL solver_newton_linear_solver_get(solver%solver,linearsolver%solver,err,error,*999)
54988 
54989  exits("cmfe_Solver_NewtonLinearSolverGetObj")
54990  RETURN
54991 999 errorsexits("cmfe_Solver_NewtonLinearSolverGetObj",err,error)
54992  CALL cmfe_handleerror(err,error)
54993  RETURN
54994 
54996 
54997  !
54998  !================================================================================================================================
54999  !
55000 
55002  SUBROUTINE cmfe_solver_newtoncellmlsolvergetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,CellMLSolverIndex,err)
55003  !DLLEXPORT(cmfe_Solver_NewtonCellMLSolverGetNumber0)
55004 
55005  !Argument variables
55006  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55007  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
55008  INTEGER(INTG), INTENT(IN) :: solverIndex
55009  INTEGER(INTG), INTENT(OUT) :: CellMLSolverIndex
55010  INTEGER(INTG), INTENT(OUT) :: err
55011  !Local variables
55012  TYPE(problem_type), POINTER :: PROBLEM
55013  TYPE(solver_type), POINTER :: SOLVER,CELLML_SOLVER
55014  TYPE(varying_string) :: localError
55015 
55016  enters("cmfe_Solver_NewtonCellMLSolverGetNumber0",err,error,*999)
55017 
55018  NULLIFY(problem)
55019  NULLIFY(solver)
55020  NULLIFY(cellml_solver)
55021  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55022  IF(ASSOCIATED(problem)) THEN
55023  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
55024  CALL solver_newton_cellml_solver_get(solver,cellml_solver,err,error,*999)
55025  !todo: get the solver index from CellML solver
55026  cellmlsolverindex=cellml_solver%GLOBAL_NUMBER
55027  CALL flagerror("Not implemented.",err,error,*999)
55028  ELSE
55029  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55030  & " does not exist."
55031  CALL flagerror(localerror,err,error,*999)
55032  END IF
55033 
55034  exits("cmfe_Solver_NewtonCellMLSolverGetNumber0")
55035  RETURN
55036 999 errorsexits("cmfe_Solver_NewtonCellMLSolverGetNumber0",err,error)
55037  CALL cmfe_handleerror(err,error)
55038  RETURN
55039 
55041 
55042  !
55043  !================================================================================================================================
55044  !
55045 
55047  SUBROUTINE cmfe_solver_newtoncellmlsolvergetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,CellMLSolverIndex,err)
55048  !DLLEXPORT(cmfe_Solver_NewtonCellMLSolverGetNumber1)
55049 
55050  !Argument variables
55051  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55052  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
55053  INTEGER(INTG), INTENT(IN) :: solverIndex
55054  INTEGER(INTG), INTENT(OUT) :: CellMLSolverIndex
55055  INTEGER(INTG), INTENT(OUT) :: err
55056  !Local variables
55057  TYPE(problem_type), POINTER :: PROBLEM
55058  TYPE(solver_type), POINTER :: SOLVER,CELLML_SOLVER
55059  TYPE(varying_string) :: localError
55060 
55061  enters("cmfe_Solver_NewtonCellMLSolverGetNumber1",err,error,*999)
55062 
55063  NULLIFY(problem)
55064  NULLIFY(solver)
55065  NULLIFY(cellml_solver)
55066  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55067  IF(ASSOCIATED(problem)) THEN
55068  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
55069  CALL solver_newton_cellml_solver_get(solver,cellml_solver,err,error,*999)
55070  !todo: get the solver index from CellML solver
55071  cellmlsolverindex=cellml_solver%GLOBAL_NUMBER
55072  CALL flagerror("Not implemented.",err,error,*999)
55073  ELSE
55074  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55075  & " does not exist."
55076  CALL flagerror(localerror,err,error,*999)
55077  END IF
55078 
55079  exits("cmfe_Solver_NewtonCellMLSolverGetNumber1")
55080  RETURN
55081 999 errorsexits("cmfe_Solver_NewtonCellMLSolverGetNumber1",err,error)
55082  CALL cmfe_handleerror(err,error)
55083  RETURN
55084 
55086 
55087  !
55088  !================================================================================================================================
55089  !
55090 
55092  SUBROUTINE cmfe_solver_newtoncellmlsolvergetobj(solver,CellMLSolver,err)
55093  !DLLEXPORT(cmfe_Solver_NewtonCellMLSolverGetObj)
55094 
55095  !Argument variables
55096  TYPE(cmfe_solvertype), INTENT(IN) :: solver
55097  TYPE(cmfe_solvertype), INTENT(INOUT) :: CellMLSolver
55098  INTEGER(INTG), INTENT(OUT) :: err
55099  !Local variables
55100 
55101  enters("cmfe_Solver_NewtonCellMLSolverGetObj",err,error,*999)
55102 
55103  CALL solver_newton_cellml_solver_get(solver%solver,cellmlsolver%solver,err,error,*999)
55104 
55105  exits("cmfe_Solver_NewtonCellMLSolverGetObj")
55106  RETURN
55107 999 errorsexits("cmfe_Solver_NewtonCellMLSolverGetObj",err,error)
55108  CALL cmfe_handleerror(err,error)
55109  RETURN
55110 
55112 
55113  !
55114  !================================================================================================================================
55115  !
55116 
55118  SUBROUTINE cmfe_solver_newtonconvergencetesttypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
55119  & convergencetesttype,err)
55120  !DLLEXPORT(cmfe_Solver_NewtonConvergenceTestTypeSetNumber0)
55121 
55122  !Argument variables
55123  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55124  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
55125  INTEGER(INTG), INTENT(IN) :: solverIndex
55126  INTEGER(INTG), INTENT(IN) :: convergenceTestType
55127  INTEGER(INTG), INTENT(OUT) :: err
55128  !Local variables
55129  TYPE(problem_type), POINTER :: problem
55130  TYPE(solver_type), POINTER :: solver
55131  TYPE(varying_string) :: localError
55132 
55133  enters("cmfe_Solver_NewtonConvergenceTestTypeSetNumber0",err,error,*999)
55134 
55135  NULLIFY(problem)
55136  NULLIFY(solver)
55137  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55138  IF(ASSOCIATED(problem)) THEN
55139  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
55140  CALL solver_newtonconvergencetesttypeset(solver,convergencetesttype,err,error,*999)
55141  ELSE
55142  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55143  & " does not exist."
55144  CALL flagerror(localerror,err,error,*999)
55145  END IF
55146 
55147  exits("cmfe_Solver_NewtonConvergenceTestTypeSetNumber0")
55148  RETURN
55149 999 errors("cmfe_Solver_NewtonConvergenceTestTypeSetNumber0",err,error)
55150  exits("cmfe_Solver_NewtonConvergenceTestTypeSetNumber0")
55151  CALL cmfe_handleerror(err,error)
55152  RETURN
55153 
55155 
55156  !
55157  !================================================================================================================================
55158  !
55159 
55161  SUBROUTINE cmfe_solver_newtonconvergencetesttypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
55162  & convergencetesttype,err)
55163  !DLLEXPORT(cmfe_Solver_NewtonConvergenceTestTypeSetNumber1)
55164 
55165  !Argument variables
55166  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55167  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
55168  INTEGER(INTG), INTENT(IN) :: solverIndex
55169  INTEGER(INTG), INTENT(IN) :: convergenceTestType
55170  INTEGER(INTG), INTENT(OUT) :: err
55171  !Local variables
55172  TYPE(problem_type), POINTER :: problem
55173  TYPE(solver_type), POINTER :: solver
55174  TYPE(varying_string) :: localError
55175 
55176  enters("cmfe_Solver_NewtonConvergenceTestTypeSetNumber1",err,error,*999)
55177 
55178  NULLIFY(problem)
55179  NULLIFY(solver)
55180  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55181  IF(ASSOCIATED(problem)) THEN
55182  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
55183  CALL solver_newtonconvergencetesttypeset(solver,convergencetesttype,err,error,*999)
55184  ELSE
55185  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55186  & " does not exist."
55187  CALL flagerror(localerror,err,error,*999)
55188  END IF
55189 
55190  exits("cmfe_Solver_NewtonConvergenceTestTypeSetNumber1")
55191  RETURN
55192 999 errors("cmfe_Solver_NewtonConvergenceTestTypeSetNumber1",err,error)
55193  exits("cmfe_Solver_NewtonConvergenceTestTypeSetNumber1")
55194  CALL cmfe_handleerror(err,error)
55195  RETURN
55196 
55198 
55199  !
55200  !================================================================================================================================
55201  !
55202 
55204  SUBROUTINE cmfe_solver_newtonconvergencetesttypesetobj(solver,convergenceTestType,err)
55205  !DLLEXPORT(cmfe_Solver_NewtonConvergenceTestTypeSetObj)
55206 
55207  !Argument variables
55208  TYPE(cmfe_solvertype), INTENT(IN) :: solver
55209  INTEGER(INTG), INTENT(IN) :: convergenceTestType
55210  INTEGER(INTG), INTENT(OUT) :: err
55211  !Local variables
55212 
55213  enters("cmfe_Solver_NewtonConvergenceTestTypeSetObj",err,error,*999)
55214 
55215  CALL solver_newtonconvergencetesttypeset(solver%solver,convergencetesttype,err,error,*999)
55216 
55217  exits("cmfe_Solver_NewtonConvergenceTestTypeSetObj")
55218  RETURN
55219 999 errorsexits("cmfe_Solver_NewtonConvergenceTestTypeSetObj",err,error)
55220  CALL cmfe_handleerror(err,error)
55221  RETURN
55222 
55224 
55225  !
55226  !================================================================================================================================
55227  !
55228 
55230  SUBROUTINE cmfe_solver_newtonlinesearchalphasetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,alpha,err)
55231  !DLLEXPORT(cmfe_Solver_NewtonLineSearchAlphaSetNumber0)
55232 
55233  !Argument variables
55234  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55235  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
55236  INTEGER(INTG), INTENT(IN) :: solverIndex
55237  REAL(DP), INTENT(IN) :: alpha
55238  INTEGER(INTG), INTENT(OUT) :: err
55239  !Local variables
55240  TYPE(problem_type), POINTER :: PROBLEM
55241  TYPE(solver_type), POINTER :: SOLVER
55242  TYPE(varying_string) :: localError
55243 
55244  enters("cmfe_Solver_NewtonLineSearchAlphaSetNumber0",err,error,*999)
55245 
55246  NULLIFY(problem)
55247  NULLIFY(solver)
55248  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55249  IF(ASSOCIATED(problem)) THEN
55250  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
55251  CALL solver_newton_linesearch_alpha_set(solver,alpha,err,error,*999)
55252  ELSE
55253  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55254  & " does not exist."
55255  CALL flagerror(localerror,err,error,*999)
55256  END IF
55257 
55258  exits("cmfe_Solver_NewtonLineSearchAlphaSetNumber0")
55259  RETURN
55260 999 errorsexits("cmfe_Solver_NewtonLineSearchAlphaSetNumber0",err,error)
55261  CALL cmfe_handleerror(err,error)
55262  RETURN
55263 
55265 
55266  !
55267  !================================================================================================================================
55268  !
55269 
55271  SUBROUTINE cmfe_solver_newtonlinesearchalphasetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,alpha,err)
55272  !DLLEXPORT(cmfe_Solver_NewtonLineSearchAlphaSetNumber1)
55273 
55274  !Argument variables
55275  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55276  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
55277  INTEGER(INTG), INTENT(IN) :: solverIndex
55278  REAL(DP), INTENT(IN) :: alpha
55279  INTEGER(INTG), INTENT(OUT) :: err
55280  !Local variables
55281  TYPE(problem_type), POINTER :: PROBLEM
55282  TYPE(solver_type), POINTER :: SOLVER
55283  TYPE(varying_string) :: localError
55284 
55285  enters("cmfe_Solver_NewtonLineSearchAlphaSetNumber1",err,error,*999)
55286 
55287  NULLIFY(problem)
55288  NULLIFY(solver)
55289  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55290  IF(ASSOCIATED(problem)) THEN
55291  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
55292  CALL solver_newton_linesearch_alpha_set(solver,alpha,err,error,*999)
55293  ELSE
55294  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55295  & " does not exist."
55296  CALL flagerror(localerror,err,error,*999)
55297  END IF
55298 
55299  exits("cmfe_Solver_NewtonLineSearchAlphaSetNumber1")
55300  RETURN
55301 999 errorsexits("cmfe_Solver_NewtonLineSearchAlphaSetNumber1",err,error)
55302  CALL cmfe_handleerror(err,error)
55303  RETURN
55304 
55306 
55307  !================================================================================================================================
55308  !
55309 
55311  SUBROUTINE cmfe_solver_newtonlinesearchalphasetobj(solver,alpha,err)
55312  !DLLEXPORT(cmfe_Solver_NewtonLineSearchAlphaSetObj)
55313 
55314  !Argument variables
55315  TYPE(cmfe_solvertype), INTENT(IN) :: solver
55316  REAL(DP), INTENT(IN) :: alpha
55317  INTEGER(INTG), INTENT(OUT) :: err
55318  !Local variables
55319 
55320  enters("cmfe_Solver_NewtonLineSearchAlphaSetObj",err,error,*999)
55321 
55322  CALL solver_newton_linesearch_alpha_set(solver%solver,alpha,err,error,*999)
55323 
55324  exits("cmfe_Solver_NewtonLineSearchAlphaSetObj")
55325  RETURN
55326 999 errorsexits("cmfe_Solver_NewtonLineSearchAlphaSetObj",err,error)
55327  CALL cmfe_handleerror(err,error)
55328  RETURN
55329 
55331 
55332  !
55333  !================================================================================================================================
55334  !
55335 
55337  SUBROUTINE cmfe_solver_newtonlinesearchmaxstepsetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,maxStep,err)
55338  !DLLEXPORT(cmfe_Solver_NewtonLineSearchMaxStepSetNumber0)
55339 
55340  !Argument variables
55341  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55342  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
55343  INTEGER(INTG), INTENT(IN) :: solverIndex
55344  REAL(DP), INTENT(IN) :: maxStep
55345  INTEGER(INTG), INTENT(OUT) :: err
55346  !Local variables
55347  TYPE(problem_type), POINTER :: PROBLEM
55348  TYPE(solver_type), POINTER :: SOLVER
55349  TYPE(varying_string) :: localError
55350 
55351  enters("cmfe_Solver_NewtonLineSearchMaxStepSetNumber0",err,error,*999)
55352 
55353  NULLIFY(problem)
55354  NULLIFY(solver)
55355  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55356  IF(ASSOCIATED(problem)) THEN
55357  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
55358  CALL solver_newton_linesearch_maxstep_set(solver,maxstep,err,error,*999)
55359  ELSE
55360  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55361  & " does not exist."
55362  CALL flagerror(localerror,err,error,*999)
55363  END IF
55364 
55365  exits("cmfe_Solver_NewtonLineSearchMaxStepSetNumber0")
55366  RETURN
55367 999 errors("cmfe_Solver_NewtonLineSearchMaxStepSetNumber0",err,error)
55368  exits("cmfe_Solver_NewtonLineSearchMaxStepSetNumber0")
55369  CALL cmfe_handleerror(err,error)
55370  RETURN
55371 
55373 
55374  !
55375  !================================================================================================================================
55376  !
55377 
55379  SUBROUTINE cmfe_solver_newtonlinesearchmaxstepsetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,maxStep,err)
55380  !DLLEXPORT(cmfe_Solver_NewtonLineSearchMaxStepSetNumber1)
55381 
55382  !Argument variables
55383  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55384  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
55385  INTEGER(INTG), INTENT(IN) :: solverIndex
55386  REAL(DP), INTENT(IN) :: maxStep
55387  INTEGER(INTG), INTENT(OUT) :: err
55388  !Local variables
55389  TYPE(problem_type), POINTER :: PROBLEM
55390  TYPE(solver_type), POINTER :: SOLVER
55391  TYPE(varying_string) :: localError
55392 
55393  enters("cmfe_Solver_NewtonLineSearchMaxStepSetNumber1",err,error,*999)
55394 
55395  NULLIFY(problem)
55396  NULLIFY(solver)
55397  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55398  IF(ASSOCIATED(problem)) THEN
55399  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
55400  CALL solver_newton_linesearch_maxstep_set(solver,maxstep,err,error,*999)
55401  ELSE
55402  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55403  & " does not exist."
55404  CALL flagerror(localerror,err,error,*999)
55405  END IF
55406 
55407  exits("cmfe_Solver_NewtonLineSearchMaxStepSetNumber1")
55408  RETURN
55409 999 errors("cmfe_Solver_NewtonLineSearchMaxStepSetNumber1",err,error)
55410  exits("cmfe_Solver_NewtonLineSearchMaxStepSetNumber1")
55411  CALL cmfe_handleerror(err,error)
55412  RETURN
55413 
55415 
55416  !================================================================================================================================
55417  !
55418 
55420  SUBROUTINE cmfe_solver_newtonlinesearchmaxstepsetobj(solver,maxStep,err)
55421  !DLLEXPORT(cmfe_Solver_NewtonLineSearchMaxStepSetObj)
55422 
55423  !Argument variables
55424  TYPE(cmfe_solvertype), INTENT(IN) :: solver
55425  REAL(DP), INTENT(IN) :: maxStep
55426  INTEGER(INTG), INTENT(OUT) :: err
55427  !Local variables
55428 
55429  enters("cmfe_Solver_NewtonLineSearchMaxStepSetObj",err,error,*999)
55430 
55431  CALL solver_newton_linesearch_maxstep_set(solver%solver,maxstep,err,error,*999)
55432 
55433  exits("cmfe_Solver_NewtonLineSearchMaxStepSetObj")
55434  RETURN
55435 999 errorsexits("cmfe_Solver_NewtonLineSearchMaxStepSetObj",err,error)
55436  CALL cmfe_handleerror(err,error)
55437  RETURN
55438 
55440 
55441  !
55442  !================================================================================================================================
55443  !
55444 
55446  SUBROUTINE cmfe_solver_newtonlinesearchsteptolsetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,stepTol,err)
55447  !DLLEXPORT(cmfe_Solver_NewtonLineSearchStepTolSetNumber0)
55448 
55449  !Argument variables
55450  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55451  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
55452  INTEGER(INTG), INTENT(IN) :: solverIndex
55453  REAL(DP), INTENT(IN) :: stepTol
55454  INTEGER(INTG), INTENT(OUT) :: err
55455  !Local variables
55456  TYPE(problem_type), POINTER :: PROBLEM
55457  TYPE(solver_type), POINTER :: SOLVER
55458  TYPE(varying_string) :: localError
55459 
55460  enters("cmfe_Solver_NewtonLineSearchStepTolSetNumber0",err,error,*999)
55461 
55462  NULLIFY(problem)
55463  NULLIFY(solver)
55464  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55465  IF(ASSOCIATED(problem)) THEN
55466  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
55467  CALL solver_newton_linesearch_steptol_set(solver,steptol,err,error,*999)
55468  ELSE
55469  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55470  & " does not exist."
55471  CALL flagerror(localerror,err,error,*999)
55472  END IF
55473 
55474  exits("cmfe_Solver_NewtonLineSearchStepTolSetNumber0")
55475  RETURN
55476 999 errors("cmfe_Solver_NewtonLineSearchStepTolSetNumber0",err,error)
55477  exits("cmfe_Solver_NewtonLineSearchStepTolSetNumber0")
55478  CALL cmfe_handleerror(err,error)
55479  RETURN
55480 
55482 
55483  !
55484  !================================================================================================================================
55485  !
55486 
55488  SUBROUTINE cmfe_solver_newtonlinesearchsteptolsetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,stepTol,err)
55489  !DLLEXPORT(cmfe_Solver_NewtonLineSearchStepTolSetNumber1)
55490 
55491  !Argument variables
55492  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55493  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
55494  INTEGER(INTG), INTENT(IN) :: solverIndex
55495  REAL(DP), INTENT(IN) :: stepTol
55496  INTEGER(INTG), INTENT(OUT) :: err
55497  !Local variables
55498  TYPE(problem_type), POINTER :: PROBLEM
55499  TYPE(solver_type), POINTER :: SOLVER
55500  TYPE(varying_string) :: localError
55501 
55502  enters("cmfe_Solver_NewtonLineSearchStepTolSetNumber1",err,error,*999)
55503 
55504  NULLIFY(problem)
55505  NULLIFY(solver)
55506  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55507  IF(ASSOCIATED(problem)) THEN
55508  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
55509  CALL solver_newton_linesearch_steptol_set(solver,steptol,err,error,*999)
55510  ELSE
55511  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55512  & " does not exist."
55513  CALL flagerror(localerror,err,error,*999)
55514  END IF
55515 
55516  exits("cmfe_Solver_NewtonLineSearchStepTolSetNumber1")
55517  RETURN
55518 999 errors("cmfe_Solver_NewtonLineSearchStepTolSetNumber1",err,error)
55519  exits("cmfe_Solver_NewtonLineSearchStepTolSetNumber1")
55520  CALL cmfe_handleerror(err,error)
55521  RETURN
55522 
55524 
55525  !================================================================================================================================
55526  !
55527 
55529  SUBROUTINE cmfe_solver_newtonlinesearchsteptolsetobj(solver,stepTol,err)
55530  !DLLEXPORT(cmfe_Solver_NewtonLineSearchStepTolSetObj)
55531 
55532  !Argument variables
55533  TYPE(cmfe_solvertype), INTENT(IN) :: solver
55534  REAL(DP), INTENT(IN) :: stepTol
55535  INTEGER(INTG), INTENT(OUT) :: err
55536  !Local variables
55537 
55538  enters("cmfe_Solver_NewtonLineSearchStepTolSetObj",err,error,*999)
55539 
55540  CALL solver_newton_linesearch_steptol_set(solver%solver,steptol,err,error,*999)
55541 
55542  exits("cmfe_Solver_NewtonLineSearchStepTolSetObj")
55543  RETURN
55544 999 errorsexits("cmfe_Solver_NewtonLineSearchStepTolSetObj",err,error)
55545  CALL cmfe_handleerror(err,error)
55546  RETURN
55547 
55549 
55550  !
55551  !================================================================================================================================
55552  !
55553 
55555  SUBROUTINE cmfe_solver_newtonlinesearchtypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,lineSearchType,err)
55556  !DLLEXPORT(cmfe_Solver_NewtonLineSearchTypeSetNumber0)
55557 
55558  !Argument variables
55559  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55560  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
55561  INTEGER(INTG), INTENT(IN) :: solverIndex
55562  INTEGER(INTG), INTENT(IN) :: lineSearchType
55563  INTEGER(INTG), INTENT(OUT) :: err
55564  !Local variables
55565  TYPE(problem_type), POINTER :: PROBLEM
55566  TYPE(solver_type), POINTER :: SOLVER
55567  TYPE(varying_string) :: localError
55568 
55569  enters("cmfe_Solver_NewtonLineSearchTypeSetNumber0",err,error,*999)
55570 
55571  NULLIFY(problem)
55572  NULLIFY(solver)
55573  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55574  IF(ASSOCIATED(problem)) THEN
55575  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
55576  CALL solver_newton_linesearch_type_set(solver,linesearchtype,err,error,*999)
55577  ELSE
55578  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55579  & " does not exist."
55580  CALL flagerror(localerror,err,error,*999)
55581  END IF
55582 
55583  exits("cmfe_Solver_NewtonLineSearchTypeSetNumber0")
55584  RETURN
55585 999 errorsexits("cmfe_Solver_NewtonLineSearchTypeSetNumber0",err,error)
55586  CALL cmfe_handleerror(err,error)
55587  RETURN
55588 
55590 
55591  !
55592  !================================================================================================================================
55593  !
55594 
55596  SUBROUTINE cmfe_solver_newtonlinesearchtypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,lineSearchType,err)
55597  !DLLEXPORT(cmfe_Solver_NewtonLineSearchTypeSetNumber1)
55598 
55599  !Argument variables
55600  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55601  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
55602  INTEGER(INTG), INTENT(IN) :: solverIndex
55603  INTEGER(INTG), INTENT(IN) :: lineSearchType
55604  INTEGER(INTG), INTENT(OUT) :: err
55605  !Local variables
55606  TYPE(problem_type), POINTER :: PROBLEM
55607  TYPE(solver_type), POINTER :: SOLVER
55608  TYPE(varying_string) :: localError
55609 
55610  enters("cmfe_Solver_NewtonLineSearchTypeSetNumber1",err,error,*999)
55611 
55612  NULLIFY(problem)
55613  NULLIFY(solver)
55614  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55615  IF(ASSOCIATED(problem)) THEN
55616  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
55617  CALL solver_newton_linesearch_type_set(solver,linesearchtype,err,error,*999)
55618  ELSE
55619  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55620  & " does not exist."
55621  CALL flagerror(localerror,err,error,*999)
55622  END IF
55623 
55624  exits("cmfe_Solver_NewtonLineSearchTypeSetNumber1")
55625  RETURN
55626 999 errorsexits("cmfe_Solver_NewtonLineSearchTypeSetNumber1",err,error)
55627  CALL cmfe_handleerror(err,error)
55628  RETURN
55629 
55631 
55632  !================================================================================================================================
55633  !
55634 
55636  SUBROUTINE cmfe_solver_newtonlinesearchtypesetobj(solver,lineSearchType,err)
55637  !DLLEXPORT(cmfe_Solver_NewtonLineSearchTypeSetObj)
55638 
55639  !Argument variables
55640  TYPE(cmfe_solvertype), INTENT(IN) :: solver
55641  INTEGER(INTG), INTENT(IN) :: lineSearchType
55642  INTEGER(INTG), INTENT(OUT) :: err
55643  !Local variables
55644 
55645  enters("cmfe_Solver_NewtonLineSearchTypeSetObj",err,error,*999)
55646 
55647  CALL solver_newton_linesearch_type_set(solver%solver,linesearchtype,err,error,*999)
55648 
55649  exits("cmfe_Solver_NewtonLineSearchTypeSetObj")
55650  RETURN
55651 999 errorsexits("cmfe_Solver_NewtonLineSearchTypeSetObj",err,error)
55652  CALL cmfe_handleerror(err,error)
55653  RETURN
55654 
55656 
55657  !
55658  !================================================================================================================================
55659  !
55660 
55662  SUBROUTINE cmfe_solver_newtonmaximumfunctionevaluationssetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
55663  & maximumfunctionevaluations,err)
55664  !DLLEXPORT(cmfe_Solver_NewtonMaximumFunctionEvaluationsSetNumber0)
55665 
55666  !Argument variables
55667  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55668  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
55669  INTEGER(INTG), INTENT(IN) :: solverIndex
55670  INTEGER(INTG), INTENT(IN) :: maximumFunctionEvaluations
55671  INTEGER(INTG), INTENT(OUT) :: err
55672  !Local variables
55673  TYPE(problem_type), POINTER :: PROBLEM
55674  TYPE(solver_type), POINTER :: SOLVER
55675  TYPE(varying_string) :: localError
55676 
55677  enters("cmfe_Solver_NewtonMaximumFunctionEvaluationsSetNumber0",err,error,*999)
55678 
55679  NULLIFY(problem)
55680  NULLIFY(solver)
55681  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55682  IF(ASSOCIATED(problem)) THEN
55683  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
55684  CALL solver_newtonmaximumfunctionevaluationsset(solver,maximumfunctionevaluations,err,error,*999)
55685  ELSE
55686  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55687  & " does not exist."
55688  CALL flagerror(localerror,err,error,*999)
55689  END IF
55690 
55691  exits("cmfe_Solver_NewtonMaximumFunctionEvaluationsSetNumber0")
55692  RETURN
55693 999 errors("cmfe_Solver_NewtonMaximumFunctionEvaluationsSetNumber0",err,error)
55694  exits("cmfe_Solver_NewtonMaximumFunctionEvaluationsSetNumber0")
55695  CALL cmfe_handleerror(err,error)
55696  RETURN
55697 
55699 
55700  !
55701  !================================================================================================================================
55702  !
55703 
55705  SUBROUTINE cmfe_solver_newtonmaximumfunctionevaluationssetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
55706  & maximumfunctionevaluations,err)
55707  !DLLEXPORT(cmfe_Solver_NewtonMaximumFunctionEvaluationsSetNumber1)
55708 
55709  !Argument variables
55710  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55711  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
55712  INTEGER(INTG), INTENT(IN) :: solverIndex
55713  INTEGER(INTG), INTENT(IN) :: maximumFunctionEvaluations
55714  INTEGER(INTG), INTENT(OUT) :: err
55715  !Local variables
55716  TYPE(problem_type), POINTER :: PROBLEM
55717  TYPE(solver_type), POINTER :: SOLVER
55718  TYPE(varying_string) :: localError
55719 
55720  enters("cmfe_Solver_NewtonMaximumFunctionEvaluationsSetNumber1",err,error,*999)
55721 
55722  NULLIFY(problem)
55723  NULLIFY(solver)
55724  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55725  IF(ASSOCIATED(problem)) THEN
55726  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
55727  CALL solver_newtonmaximumfunctionevaluationsset(solver,maximumfunctionevaluations,err,error,*999)
55728  ELSE
55729  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55730  & " does not exist."
55731  CALL flagerror(localerror,err,error,*999)
55732  END IF
55733 
55734  exits("cmfe_Solver_NewtonMaximumFunctionEvaluationsSetNumber1")
55735  RETURN
55736 999 errors("cmfe_Solver_NewtonMaximumFunctionEvaluationsSetNumber1",err,error)
55737  exits("cmfe_Solver_NewtonMaximumFunctionEvaluationsSetNumber1")
55738  CALL cmfe_handleerror(err,error)
55739  RETURN
55740 
55742 
55743  !================================================================================================================================
55744  !
55745 
55747  SUBROUTINE cmfe_solver_newtonmaximumfunctionevaluationssetobj(solver,maximumFunctionEvaluations,err)
55748  !DLLEXPORT(cmfe_Solver_NewtonMaximumFunctionEvaluationsSetObj)
55749 
55750  !Argument variables
55751  TYPE(cmfe_solvertype), INTENT(IN) :: solver
55752  INTEGER(INTG), INTENT(IN) :: maximumFunctionEvaluations
55753  INTEGER(INTG), INTENT(OUT) :: err
55754  !Local variables
55755 
55756  enters("cmfe_Solver_NewtonMaximumFunctionEvaluationsSetObj",err,error,*999)
55757 
55758  CALL solver_newtonmaximumfunctionevaluationsset(solver%solver,maximumfunctionevaluations,err,error,*999)
55759 
55760  exits("cmfe_Solver_NewtonMaximumFunctionEvaluationsSetObj")
55761  RETURN
55762 999 errors("cmfe_Solver_NewtonMaximumFunctionEvaluationsSetObj",err,error)
55763  exits("cmfe_Solver_NewtonMaximumFunctionEvaluationsSetObj")
55764  CALL cmfe_handleerror(err,error)
55765  RETURN
55766 
55768 
55769  !
55770  !================================================================================================================================
55771  !
55772 
55774  SUBROUTINE cmfe_solver_newtonmaximumiterationssetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
55775  & maximumiterations,err)
55776  !DLLEXPORT(cmfe_Solver_NewtonMaximumIterationsSetNumber0)
55777 
55778  !Argument variables
55779  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55780  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
55781  INTEGER(INTG), INTENT(IN) :: solverIndex
55782  INTEGER(INTG), INTENT(IN) :: maximumIterations
55783  INTEGER(INTG), INTENT(OUT) :: err
55784  !Local variables
55785  TYPE(problem_type), POINTER :: PROBLEM
55786  TYPE(solver_type), POINTER :: SOLVER
55787  TYPE(varying_string) :: localError
55788 
55789  enters("cmfe_Solver_NewtonMaximumIterationsSetNumber0",err,error,*999)
55790 
55791  NULLIFY(problem)
55792  NULLIFY(solver)
55793  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55794  IF(ASSOCIATED(problem)) THEN
55795  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
55796  CALL solver_newton_maximum_iterations_set(solver,maximumiterations,err,error,*999)
55797  ELSE
55798  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55799  & " does not exist."
55800  CALL flagerror(localerror,err,error,*999)
55801  END IF
55802 
55803  exits("cmfe_Solver_NewtonMaximumIterationsSetNumber0")
55804  RETURN
55805 999 errors("cmfe_Solver_NewtonMaximumIterationsSetNumber0",err,error)
55806  exits("cmfe_Solver_NewtonMaximumIterationsSetNumber0")
55807  CALL cmfe_handleerror(err,error)
55808  RETURN
55809 
55811 
55812  !
55813  !================================================================================================================================
55814  !
55815 
55817  SUBROUTINE cmfe_solver_newtonmaximumiterationssetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,maximumIterations, &
55818  & err)
55819  !DLLEXPORT(cmfe_Solver_NewtonMaximumIterationsSetNumber1)
55820 
55821  !Argument variables
55822  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55823  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
55824  INTEGER(INTG), INTENT(IN) :: solverIndex
55825  INTEGER(INTG), INTENT(IN) :: maximumIterations
55826  INTEGER(INTG), INTENT(OUT) :: err
55827  !Local variables
55828  TYPE(problem_type), POINTER :: PROBLEM
55829  TYPE(solver_type), POINTER :: SOLVER
55830  TYPE(varying_string) :: localError
55831 
55832  enters("cmfe_Solver_NewtonMaximumIterationsSetNumber1",err,error,*999)
55833 
55834  NULLIFY(problem)
55835  NULLIFY(solver)
55836  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55837  IF(ASSOCIATED(problem)) THEN
55838  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
55839  CALL solver_newton_maximum_iterations_set(solver,maximumiterations,err,error,*999)
55840  ELSE
55841  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55842  & " does not exist."
55843  CALL flagerror(localerror,err,error,*999)
55844  END IF
55845 
55846  exits("cmfe_Solver_NewtonMaximumIterationsSetNumber1")
55847  RETURN
55848 999 errors("cmfe_Solver_NewtonMaximumIterationsSetNumber1",err,error)
55849  exits("cmfe_Solver_NewtonMaximumIterationsSetNumber1")
55850  CALL cmfe_handleerror(err,error)
55851  RETURN
55852 
55854 
55855  !================================================================================================================================
55856  !
55857 
55859  SUBROUTINE cmfe_solver_newtonmaximumiterationssetobj(solver,maximumIterations,err)
55860  !DLLEXPORT(cmfe_Solver_NewtonMaximumIterationsSetObj)
55861 
55862  !Argument variables
55863  TYPE(cmfe_solvertype), INTENT(IN) :: solver
55864  INTEGER(INTG), INTENT(IN) :: maximumIterations
55865  INTEGER(INTG), INTENT(OUT) :: err
55866  !Local variables
55867 
55868  enters("cmfe_Solver_NewtonMaximumIterationsSetObj",err,error,*999)
55869 
55870  CALL solver_newton_maximum_iterations_set(solver%solver,maximumiterations,err,error,*999)
55871 
55872  exits("cmfe_Solver_NewtonMaximumIterationsSetObj")
55873  RETURN
55874 999 errorsexits("cmfe_Solver_NewtonMaximumIterationsSetObj",err,error)
55875  CALL cmfe_handleerror(err,error)
55876  RETURN
55877 
55879 
55880  !
55881  !================================================================================================================================
55882  !
55883 
55885  SUBROUTINE cmfe_solver_newtonrelativetolerancesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
55886  & relativetolerance,err)
55887  !DLLEXPORT(cmfe_Solver_NewtonRelativeToleranceSetNumber0)
55888 
55889  !Argument variables
55890  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55891  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
55892  INTEGER(INTG), INTENT(IN) :: solverIndex
55893  REAL(DP), INTENT(IN) :: relativeTolerance
55894  INTEGER(INTG), INTENT(OUT) :: err
55895  !Local variables
55896  TYPE(problem_type), POINTER :: PROBLEM
55897  TYPE(solver_type), POINTER :: SOLVER
55898  TYPE(varying_string) :: localError
55899 
55900  enters("cmfe_Solver_NewtonRelativeToleranceSetNumber0",err,error,*999)
55901 
55902  NULLIFY(problem)
55903  NULLIFY(solver)
55904  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55905  IF(ASSOCIATED(problem)) THEN
55906  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
55907  CALL solver_newton_relative_tolerance_set(solver,relativetolerance,err,error,*999)
55908  ELSE
55909  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55910  & " does not exist."
55911  CALL flagerror(localerror,err,error,*999)
55912  END IF
55913 
55914  exits("cmfe_Solver_NewtonRelativeToleranceSetNumber0")
55915  RETURN
55916 999 errors("cmfe_Solver_NewtonRelativeToleranceSetNumber0",err,error)
55917  exits("cmfe_Solver_NewtonRelativeToleranceSetNumber0")
55918  CALL cmfe_handleerror(err,error)
55919  RETURN
55920 
55922 
55923  !
55924  !================================================================================================================================
55925  !
55926 
55928  SUBROUTINE cmfe_solver_newtonrelativetolerancesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,relativeTolerance, &
55929  & err)
55930  !DLLEXPORT(cmfe_Solver_NewtonRelativeToleranceSetNumber1)
55931 
55932  !Argument variables
55933  INTEGER(INTG), INTENT(IN) :: problemUserNumber
55934  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
55935  INTEGER(INTG), INTENT(IN) :: solverIndex
55936  REAL(DP), INTENT(IN) :: relativeTolerance
55937  INTEGER(INTG), INTENT(OUT) :: err
55938  !Local variables
55939  TYPE(problem_type), POINTER :: PROBLEM
55940  TYPE(solver_type), POINTER :: SOLVER
55941  TYPE(varying_string) :: localError
55942 
55943  enters("cmfe_Solver_NewtonRelativeToleranceSetNumber1",err,error,*999)
55944 
55945  NULLIFY(problem)
55946  NULLIFY(solver)
55947  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
55948  IF(ASSOCIATED(problem)) THEN
55949  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
55950  CALL solver_newton_relative_tolerance_set(solver,relativetolerance,err,error,*999)
55951  ELSE
55952  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
55953  & " does not exist."
55954  CALL flagerror(localerror,err,error,*999)
55955  END IF
55956 
55957  exits("cmfe_Solver_NewtonRelativeToleranceSetNumber1")
55958  RETURN
55959 999 errors("cmfe_Solver_NewtonRelativeToleranceSetNumber1",err,error)
55960  exits("cmfe_Solver_NewtonRelativeToleranceSetNumber1")
55961  CALL cmfe_handleerror(err,error)
55962  RETURN
55963 
55965 
55966  !================================================================================================================================
55967  !
55968 
55970  SUBROUTINE cmfe_solver_newtonrelativetolerancesetobj(solver,relativeTolerance,err)
55971  !DLLEXPORT(cmfe_Solver_NewtonRelativeToleranceSetObj)
55972 
55973  !Argument variables
55974  TYPE(cmfe_solvertype), INTENT(IN) :: solver
55975  REAL(DP), INTENT(IN) :: relativeTolerance
55976  INTEGER(INTG), INTENT(OUT) :: err
55977  !Local variables
55978 
55979  enters("cmfe_Solver_NewtonRelativeToleranceSetObj",err,error,*999)
55980 
55981  CALL solver_newton_relative_tolerance_set(solver%solver,relativetolerance,err,error,*999)
55982 
55983  exits("cmfe_Solver_NewtonRelativeToleranceSetObj")
55984  RETURN
55985 999 errorsexits("cmfe_Solver_NewtonRelativeToleranceSetObj",err,error)
55986  CALL cmfe_handleerror(err,error)
55987  RETURN
55988 
55990 
55991  !
55992  !================================================================================================================================
55993  !
55994 
55996  SUBROUTINE cmfe_solver_newtonsolutiontolerancesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
55997  & solutiontolerance,err)
55998  !DLLEXPORT(cmfe_Solver_NewtonSolutionToleranceSetNumber0)
55999 
56000  !Argument variables
56001  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56002  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
56003  INTEGER(INTG), INTENT(IN) :: solverIndex
56004  REAL(DP), INTENT(IN) :: solutionTolerance
56005  INTEGER(INTG), INTENT(OUT) :: err
56006  !Local variables
56007  TYPE(problem_type), POINTER :: PROBLEM
56008  TYPE(solver_type), POINTER :: SOLVER
56009  TYPE(varying_string) :: localError
56010 
56011  enters("cmfe_Solver_NewtonSolutionToleranceSetNumber0",err,error,*999)
56012 
56013  NULLIFY(problem)
56014  NULLIFY(solver)
56015  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56016  IF(ASSOCIATED(problem)) THEN
56017  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
56018  CALL solver_newton_solution_tolerance_set(solver,solutiontolerance,err,error,*999)
56019  ELSE
56020  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56021  & " does not exist."
56022  CALL flagerror(localerror,err,error,*999)
56023  END IF
56024 
56025  exits("cmfe_Solver_NewtonSolutionToleranceSetNumber0")
56026  RETURN
56027 999 errors("cmfe_Solver_NewtonSolutionToleranceSetNumber0",err,error)
56028  exits("cmfe_Solver_NewtonSolutionToleranceSetNumber0")
56029  CALL cmfe_handleerror(err,error)
56030  RETURN
56031 
56033 
56034  !
56035  !================================================================================================================================
56036  !
56037 
56039  SUBROUTINE cmfe_solver_newtonsolutiontolerancesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,solutionTolerance, &
56040  & err)
56041  !DLLEXPORT(cmfe_Solver_NewtonSolutionToleranceSetNumber1)
56042 
56043  !Argument variables
56044  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56045  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
56046  INTEGER(INTG), INTENT(IN) :: solverIndex
56047  REAL(DP), INTENT(IN) :: solutionTolerance
56048  INTEGER(INTG), INTENT(OUT) :: err
56049  !Local variables
56050  TYPE(problem_type), POINTER :: PROBLEM
56051  TYPE(solver_type), POINTER :: SOLVER
56052  TYPE(varying_string) :: localError
56053 
56054  enters("cmfe_Solver_NewtonSolutionToleranceSetNumber1",err,error,*999)
56055 
56056  NULLIFY(problem)
56057  NULLIFY(solver)
56058  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56059  IF(ASSOCIATED(problem)) THEN
56060  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
56061  CALL solver_newton_solution_tolerance_set(solver,solutiontolerance,err,error,*999)
56062  ELSE
56063  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56064  & " does not exist."
56065  CALL flagerror(localerror,err,error,*999)
56066  END IF
56067 
56068  exits("cmfe_Solver_NewtonSolutionToleranceSetNumber1")
56069  RETURN
56070 999 errors("cmfe_Solver_NewtonSolutionToleranceSetNumber1",err,error)
56071  exits("cmfe_Solver_NewtonSolutionToleranceSetNumber1")
56072  CALL cmfe_handleerror(err,error)
56073  RETURN
56074 
56076 
56077  !================================================================================================================================
56078  !
56079 
56081  SUBROUTINE cmfe_solver_newtonsolutiontolerancesetobj(solver,solutionTolerance,err)
56082  !DLLEXPORT(cmfe_Solver_NewtonSolutionToleranceSetObj)
56083 
56084  !Argument variables
56085  TYPE(cmfe_solvertype), INTENT(IN) :: solver
56086  REAL(DP), INTENT(IN) :: solutionTolerance
56087  INTEGER(INTG), INTENT(OUT) :: err
56088  !Local variables
56089 
56090  enters("cmfe_Solver_NewtonSolutionToleranceSetObj",err,error,*999)
56091 
56092  CALL solver_newton_solution_tolerance_set(solver%solver,solutiontolerance,err,error,*999)
56093 
56094  exits("cmfe_Solver_NewtonSolutionToleranceSetObj")
56095  RETURN
56096 999 errorsexits("cmfe_Solver_NewtonSolutionToleranceSetObj",err,error)
56097  CALL cmfe_handleerror(err,error)
56098  RETURN
56099 
56101 
56102  !
56103  !================================================================================================================================
56104  !
56105 
56107  SUBROUTINE cmfe_solver_newtontrustregiondelta0setnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,delta0,err)
56108  !DLLEXPORT(cmfe_Solver_NewtonTrustRegionDelta0SetNumber0)
56109 
56110  !Argument variables
56111  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56112  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
56113  INTEGER(INTG), INTENT(IN) :: solverIndex
56114  REAL(DP), INTENT(IN) :: delta0
56115  INTEGER(INTG), INTENT(OUT) :: err
56116  !Local variables
56117  TYPE(problem_type), POINTER :: PROBLEM
56118  TYPE(solver_type), POINTER :: SOLVER
56119  TYPE(varying_string) :: localError
56120 
56121  enters("cmfe_Solver_NewtonTrustRegionDelta0SetNumber0",err,error,*999)
56122 
56123  NULLIFY(problem)
56124  NULLIFY(solver)
56125  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56126  IF(ASSOCIATED(problem)) THEN
56127  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
56128  CALL solver_newton_trustregion_delta0_set(solver,delta0,err,error,*999)
56129  ELSE
56130  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56131  & " does not exist."
56132  CALL flagerror(localerror,err,error,*999)
56133  END IF
56134 
56135  exits("cmfe_Solver_NewtonTrustRegionDelta0SetNumber0")
56136  RETURN
56137 999 errors("cmfe_Solver_NewtonTrustRegionDelta0SetNumber0",err,error)
56138  exits("cmfe_Solver_NewtonTrustRegionDelta0SetNumber0")
56139  CALL cmfe_handleerror(err,error)
56140  RETURN
56141 
56143 
56144  !
56145  !================================================================================================================================
56146  !
56147 
56149  SUBROUTINE cmfe_solver_newtontrustregiondelta0setnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,delta0,err)
56150  !DLLEXPORT(cmfe_Solver_NewtonTrustRegionDelta0SetNumber1)
56151 
56152  !Argument variables
56153  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56154  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
56155  INTEGER(INTG), INTENT(IN) :: solverIndex
56156  REAL(DP), INTENT(IN) :: delta0
56157  INTEGER(INTG), INTENT(OUT) :: err
56158  !Local variables
56159  TYPE(problem_type), POINTER :: PROBLEM
56160  TYPE(solver_type), POINTER :: SOLVER
56161  TYPE(varying_string) :: localError
56162 
56163  enters("cmfe_Solver_NewtonTrustRegionDelta0SetNumber1",err,error,*999)
56164 
56165  NULLIFY(problem)
56166  NULLIFY(solver)
56167  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56168  IF(ASSOCIATED(problem)) THEN
56169  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
56170  CALL solver_newton_trustregion_delta0_set(solver,delta0,err,error,*999)
56171  ELSE
56172  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56173  & " does not exist."
56174  CALL flagerror(localerror,err,error,*999)
56175  END IF
56176 
56177  exits("cmfe_Solver_NewtonTrustRegionDelta0SetNumber1")
56178  RETURN
56179 999 errors("cmfe_Solver_NewtonTrustRegionDelta0SetNumber1",err,error)
56180  exits("cmfe_Solver_NewtonTrustRegionDelta0SetNumber1")
56181  CALL cmfe_handleerror(err,error)
56182  RETURN
56183 
56185 
56186  !
56187  !================================================================================================================================
56188  !
56189 
56191  SUBROUTINE cmfe_solver_newtontrustregiondelta0setobj(solver,delta0,err)
56192  !DLLEXPORT(cmfe_Solver_NewtonTrustRegionDelta0SetObj)
56193 
56194  !Argument variables
56195  TYPE(cmfe_solvertype), INTENT(IN) :: solver
56196  REAL(DP), INTENT(IN) :: delta0
56197  INTEGER(INTG), INTENT(OUT) :: err
56198  !Local variables
56199 
56200  enters("cmfe_Solver_NewtonTrustRegionDelta0SetObj",err,error,*999)
56201 
56202  CALL solver_newton_trustregion_delta0_set(solver%solver,delta0,err,error,*999)
56203 
56204  exits("cmfe_Solver_NewtonTrustRegionDelta0SetObj")
56205  RETURN
56206 999 errorsexits("cmfe_Solver_NewtonTrustRegionDelta0SetObj",err,error)
56207  CALL cmfe_handleerror(err,error)
56208  RETURN
56209 
56211 
56212  !
56213  !================================================================================================================================
56214  !
56215 
56217  SUBROUTINE cmfe_solver_newtontrustregiontolerancesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,tolerance,err)
56218  !DLLEXPORT(cmfe_Solver_NewtonTrustRegionToleranceSetNumber0)
56219 
56220  !Argument variables
56221  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56222  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
56223  INTEGER(INTG), INTENT(IN) :: solverIndex
56224  REAL(DP), INTENT(IN) :: tolerance
56225  INTEGER(INTG), INTENT(OUT) :: err
56226  !Local variables
56227  TYPE(problem_type), POINTER :: PROBLEM
56228  TYPE(solver_type), POINTER :: SOLVER
56229  TYPE(varying_string) :: localError
56230 
56231  enters("cmfe_Solver_NewtonTrustRegionToleranceSetNumber0",err,error,*999)
56232 
56233  NULLIFY(problem)
56234  NULLIFY(solver)
56235  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56236  IF(ASSOCIATED(problem)) THEN
56237  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
56238  CALL solver_newton_trustregion_tolerance_set(solver,tolerance,err,error,*999)
56239  ELSE
56240  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56241  & " does not exist."
56242  CALL flagerror(localerror,err,error,*999)
56243  END IF
56244 
56245  exits("cmfe_Solver_NewtonTrustRegionToleranceSetNumber0")
56246  RETURN
56247 999 errors("cmfe_Solver_NewtonTrustRegionToleranceSetNumber0",err,error)
56248  exits("cmfe_Solver_NewtonTrustRegionToleranceSetNumber0")
56249  CALL cmfe_handleerror(err,error)
56250  RETURN
56251 
56253 
56254  !
56255  !================================================================================================================================
56256  !
56257 
56259  SUBROUTINE cmfe_solver_newtontrustregiontolerancesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,tolerance,err)
56260  !DLLEXPORT(cmfe_Solver_NewtonTrustRegionToleranceSetNumber1)
56261 
56262  !Argument variables
56263  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56264  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
56265  INTEGER(INTG), INTENT(IN) :: solverIndex
56266  REAL(DP), INTENT(IN) :: tolerance
56267  INTEGER(INTG), INTENT(OUT) :: err
56268  !Local variables
56269  TYPE(problem_type), POINTER :: PROBLEM
56270  TYPE(solver_type), POINTER :: SOLVER
56271  TYPE(varying_string) :: localError
56272 
56273  enters("cmfe_Solver_NewtonTrustRegionToleranceSetNumber1",err,error,*999)
56274 
56275  NULLIFY(problem)
56276  NULLIFY(solver)
56277  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56278  IF(ASSOCIATED(problem)) THEN
56279  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
56280  CALL solver_newton_trustregion_tolerance_set(solver,tolerance,err,error,*999)
56281  ELSE
56282  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56283  & " does not exist."
56284  CALL flagerror(localerror,err,error,*999)
56285  END IF
56286 
56287  exits("cmfe_Solver_NewtonTrustRegionToleranceSetNumber1")
56288  RETURN
56289 999 errors("cmfe_Solver_NewtonTrustRegionToleranceSetNumber1",err,error)
56290  exits("cmfe_Solver_NewtonTrustRegionToleranceSetNumber1")
56291  CALL cmfe_handleerror(err,error)
56292  RETURN
56293 
56295 
56296  !================================================================================================================================
56297  !
56298 
56300  SUBROUTINE cmfe_solver_newtontrustregiontolerancesetobj(solver,tolerance,err)
56301  !DLLEXPORT(cmfe_Solver_NewtonTrustRegionToleranceSetObj)
56302 
56303  !Argument variables
56304  TYPE(cmfe_solvertype), INTENT(IN) :: solver
56305  REAL(DP), INTENT(IN) :: tolerance
56306  INTEGER(INTG), INTENT(OUT) :: err
56307  !Local variables
56308 
56309  enters("cmfe_Solver_NewtonTrustRegionToleranceSetObj",err,error,*999)
56310 
56311  CALL solver_newton_trustregion_tolerance_set(solver%solver,tolerance,err,error,*999)
56312 
56313  exits("cmfe_Solver_NewtonTrustRegionToleranceSetObj")
56314  RETURN
56315 999 errors("cmfe_Solver_NewtonTrustRegionToleranceSetObj",err,error)
56316  exits("cmfe_Solver_NewtonTrustRegionToleranceSetObj")
56317  CALL cmfe_handleerror(err,error)
56318  RETURN
56319 
56321 
56322  !
56323  !================================================================================================================================
56324  !
56325 
56327  SUBROUTINE cmfe_solver_newtontypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,newtonSolveType,err)
56328  !DLLEXPORT(cmfe_Solver_NewtonTypeSetNumber0)
56329 
56330  !Argument variables
56331  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56332  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
56333  INTEGER(INTG), INTENT(IN) :: solverIndex
56334  INTEGER(INTG), INTENT(IN) :: newtonSolveType
56335  INTEGER(INTG), INTENT(OUT) :: err
56336  !Local variables
56337  TYPE(problem_type), POINTER :: PROBLEM
56338  TYPE(solver_type), POINTER :: SOLVER
56339  TYPE(varying_string) :: localError
56340 
56341  enters("cmfe_Solver_NewtonTypeSetNumber0",err,error,*999)
56342 
56343  NULLIFY(problem)
56344  NULLIFY(solver)
56345  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56346  IF(ASSOCIATED(problem)) THEN
56347  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
56348  CALL solver_newton_type_set(solver,newtonsolvetype,err,error,*999)
56349  ELSE
56350  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56351  & " does not exist."
56352  CALL flagerror(localerror,err,error,*999)
56353  END IF
56354 
56355  exits("cmfe_Solver_NewtonTypeSetNumber0")
56356  RETURN
56357 999 errorsexits("cmfe_Solver_NewtonTypeSetNumber0",err,error)
56358  CALL cmfe_handleerror(err,error)
56359  RETURN
56360 
56361  END SUBROUTINE cmfe_solver_newtontypesetnumber0
56362 
56363  !
56364  !================================================================================================================================
56365  !
56366 
56368  SUBROUTINE cmfe_solver_newtontypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,newtonSolveType,err)
56369  !DLLEXPORT(cmfe_Solver_NewtonTypeSetNumber1)
56370 
56371  !Argument variables
56372  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56373  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
56374  INTEGER(INTG), INTENT(IN) :: solverIndex
56375  INTEGER(INTG), INTENT(IN) :: newtonSolveType
56376  INTEGER(INTG), INTENT(OUT) :: err
56377  !Local variables
56378  TYPE(problem_type), POINTER :: PROBLEM
56379  TYPE(solver_type), POINTER :: SOLVER
56380  TYPE(varying_string) :: localError
56381 
56382  enters("cmfe_Solver_NewtonTypeSetNumber1",err,error,*999)
56383 
56384  NULLIFY(problem)
56385  NULLIFY(solver)
56386  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56387  IF(ASSOCIATED(problem)) THEN
56388  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
56389  CALL solver_newton_type_set(solver,newtonsolvetype,err,error,*999)
56390  ELSE
56391  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56392  & " does not exist."
56393  CALL flagerror(localerror,err,error,*999)
56394  END IF
56395 
56396  exits("cmfe_Solver_NewtonTypeSetNumber1")
56397  RETURN
56398 999 errorsexits("cmfe_Solver_NewtonTypeSetNumber1",err,error)
56399  CALL cmfe_handleerror(err,error)
56400  RETURN
56401 
56402  END SUBROUTINE cmfe_solver_newtontypesetnumber1
56403 
56404  !================================================================================================================================
56405  !
56406 
56408  SUBROUTINE cmfe_solver_newtontypesetobj(solver,newtonSolveType,err)
56409  !DLLEXPORT(cmfe_Solver_NewtonTypeSetObj)
56410 
56411  !Argument variables
56412  TYPE(cmfe_solvertype), INTENT(IN) :: solver
56413  INTEGER(INTG), INTENT(IN) :: newtonSolveType
56414  INTEGER(INTG), INTENT(OUT) :: err
56415  !Local variables
56416 
56417  enters("cmfe_Solver_NewtonTypeSetObj",err,error,*999)
56418 
56419  CALL solver_newton_type_set(solver%solver,newtonsolvetype,err,error,*999)
56420 
56421  exits("cmfe_Solver_NewtonTypeSetObj")
56422  RETURN
56423 999 errorsexits("cmfe_Solver_NewtonTypeSetObj",err,error)
56424  CALL cmfe_handleerror(err,error)
56425  RETURN
56426 
56427  END SUBROUTINE cmfe_solver_newtontypesetobj
56428 
56429  !
56430  !================================================================================================================================
56431  !
56433  SUBROUTINE cmfe_solver_quasinewtonabsolutetolerancesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
56434  & absolutetolerance,err)
56435  !DLLEXPORT(cmfe_Solver_QuasiNewtonAbsoluteToleranceSetNumber0)
56436 
56437  !Argument variables
56438  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56439  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
56440  INTEGER(INTG), INTENT(IN) :: solverIndex
56441  REAL(DP), INTENT(IN) :: absoluteTolerance
56442  INTEGER(INTG), INTENT(OUT) :: err
56443  !Local variables
56444  TYPE(problem_type), POINTER :: PROBLEM
56445  TYPE(solver_type), POINTER :: SOLVER
56446  TYPE(varying_string) :: localError
56447 
56448  enters("cmfe_Solver_QuasiNewtonAbsoluteToleranceSetNumber0",err,error,*999)
56449 
56450  NULLIFY(problem)
56451  NULLIFY(solver)
56452  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56453  IF(ASSOCIATED(problem)) THEN
56454  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
56455  CALL solver_quasi_newton_absolute_tolerance_set(solver,absolutetolerance,err,error,*999)
56456  ELSE
56457  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56458  & " does not exist."
56459  CALL flagerror(localerror,err,error,*999)
56460  END IF
56461 
56462  exits("cmfe_Solver_QuasiNewtonAbsoluteToleranceSetNumber0")
56463  RETURN
56464 999 errors("cmfe_Solver_QuasiNewtonAbsoluteToleranceSetNumber0",err,error)
56465  exits("cmfe_Solver_QuasiNewtonAbsoluteToleranceSetNumber0")
56466  CALL cmfe_handleerror(err,error)
56467  RETURN
56468 
56470 
56471  !
56472  !================================================================================================================================
56473  !
56474 
56476  SUBROUTINE cmfe_solver_quasinewtonabsolutetolerancesetnumber1(problemUserNumber, &
56477  & controlloopidentifiers,solverindex,absolutetolerance,err)
56478  !DLLEXPORT(cmfe_Solver_QuasiNewtonAbsoluteToleranceSetNumber1)
56479 
56480  !Argument variables
56481  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56482  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
56483  INTEGER(INTG), INTENT(IN) :: solverIndex
56484  REAL(DP), INTENT(IN) :: absoluteTolerance
56485  INTEGER(INTG), INTENT(OUT) :: err
56486  !Local variables
56487  TYPE(problem_type), POINTER :: PROBLEM
56488  TYPE(solver_type), POINTER :: SOLVER
56489  TYPE(varying_string) :: localError
56490 
56491  enters("cmfe_Solver_QuasiNewtonAbsoluteToleranceSetNumber1",err,error,*999)
56492 
56493  NULLIFY(problem)
56494  NULLIFY(solver)
56495  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56496  IF(ASSOCIATED(problem)) THEN
56497  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
56498  CALL solver_quasi_newton_absolute_tolerance_set(solver,absolutetolerance,err,error,*999)
56499  ELSE
56500  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56501  & " does not exist."
56502  CALL flagerror(localerror,err,error,*999)
56503  END IF
56504 
56505  exits("cmfe_Solver_QuasiNewtonAbsoluteToleranceSetNumber1")
56506  RETURN
56507 999 errors("cmfe_Solver_QuasiNewtonAbsoluteToleranceSetNumber1",err,error)
56508  exits("cmfe_Solver_QuasiNewtonAbsoluteToleranceSetNumber1")
56509  CALL cmfe_handleerror(err,error)
56510  RETURN
56511 
56513 
56514  !================================================================================================================================
56515  !
56516 
56518  SUBROUTINE cmfe_solver_quasinewtonabsolutetolerancesetobj(solver,absoluteTolerance,err)
56519  !DLLEXPORT(cmfe_Solver_QuasiNewtonAbsoluteToleranceSetObj)
56520 
56521  !Argument variables
56522  TYPE(cmfe_solvertype), INTENT(IN) :: solver
56523  REAL(DP), INTENT(IN) :: absoluteTolerance
56524  INTEGER(INTG), INTENT(OUT) :: err
56525  !Local variables
56526 
56527  enters("cmfe_Solver_QuasiNewtonAbsoluteToleranceSetObj",err,error,*999)
56528 
56529  CALL solver_quasi_newton_absolute_tolerance_set(solver%solver,absolutetolerance,err,error,*999)
56530 
56531  exits("cmfe_Solver_QuasiNewtonAbsoluteToleranceSetObj")
56532  RETURN
56533 999 errors("cmfe_Solver_QuasiNewtonAbsoluteToleranceSetObj",err,error)
56534  exits("cmfe_Solver_QuasiNewtonAbsoluteToleranceSetObj")
56535  CALL cmfe_handleerror(err,error)
56536  RETURN
56537 
56539 
56540  !
56541  !================================================================================================================================
56542  !
56543 
56545  SUBROUTINE cmfe_solver_quasinewtonlinesearchmonitoroutputsetnumber0(problemUserNumber, &
56546  & controlloopidentifier,solverindex,monitorlinesearchflag,err)
56547  !DLLEXPORT(cmfe_Solver_QuasiNewtonLineSearchMonitorOutputSetNumber0)
56548 
56549  !Argument variables
56550  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56551  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
56552  INTEGER(INTG), INTENT(IN) :: solverIndex
56553  LOGICAL, INTENT(IN) :: monitorLinesearchFlag
56554  INTEGER(INTG), INTENT(OUT) :: err
56555  !Local variables
56556  TYPE(problem_type), POINTER :: PROBLEM
56557  TYPE(solver_type), POINTER :: SOLVER
56558  TYPE(varying_string) :: localError
56559 
56560  enters("cmfe_Solver_QuasiNewtonLineSearchMonitorOutputSetNumber0",err,error,*999)
56561 
56562  NULLIFY(problem)
56563  NULLIFY(solver)
56564  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56565  IF(ASSOCIATED(problem)) THEN
56566  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
56567  CALL solver_quasinewtonlinesearchmonitoroutputset(solver,monitorlinesearchflag,err,error,*999)
56568  ELSE
56569  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56570  & " does not exist."
56571  CALL flagerror(localerror,err,error,*999)
56572  END IF
56573 
56574  exits("cmfe_Solver_QuasiNewtonLineSearchMonitorOutputSetNumber0")
56575  RETURN
56576 999 errors("cmfe_Solver_QuasiNewtonLineSearchMonitorOutputSetNumber0",err,error)
56577  exits("cmfe_Solver_QuasiNewtonLineSearchMonitorOutputSetNumber0")
56578  CALL cmfe_handleerror(err,error)
56579  RETURN
56580 
56582 
56583  !
56584  !================================================================================================================================
56585  !
56586 
56588  SUBROUTINE cmfe_solver_quasinewtonlinesearchmonitoroutputsetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
56589  & monitorlinesearchflag,err)
56590  !DLLEXPORT(cmfe_Solver_QuasiNewtonLineSearchMonitorOutputSetNumber1)
56591 
56592  !Argument variables
56593  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56594  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
56595  INTEGER(INTG), INTENT(IN) :: solverIndex
56596  LOGICAL, INTENT(IN) :: monitorLinesearchFlag
56597  INTEGER(INTG), INTENT(OUT) :: err
56598  !Local variables
56599  TYPE(problem_type), POINTER :: PROBLEM
56600  TYPE(solver_type), POINTER :: SOLVER
56601  TYPE(varying_string) :: localError
56602 
56603  enters("cmfe_Solver_QuasiNewtonLineSearchMonitorOutputSetNumber1",err,error,*999)
56604 
56605  NULLIFY(problem)
56606  NULLIFY(solver)
56607  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56608  IF(ASSOCIATED(problem)) THEN
56609  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
56610  CALL solver_quasinewtonlinesearchmonitoroutputset(solver,monitorlinesearchflag,err,error,*999)
56611  ELSE
56612  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56613  & " does not exist."
56614  CALL flagerror(localerror,err,error,*999)
56615  END IF
56616 
56617  exits("cmfe_Solver_QuasiNewtonLineSearchMonitorOutputSetNumber1")
56618  RETURN
56619 999 errors("cmfe_Solver_QuasiNewtonLineSearchMonitorOutputSetNumber1",err,error)
56620  exits("cmfe_Solver_QuasiNewtonLineSearchMonitorOutputSetNumber1")
56621  CALL cmfe_handleerror(err,error)
56622  RETURN
56623 
56625 
56626  !================================================================================================================================
56627  !
56628 
56630  SUBROUTINE cmfe_solver_quasinewtonlinesearchmonitoroutputsetobj(solver,monitorLinesearchFlag,err)
56631  !DLLEXPORT(cmfe_Solver_QuasiNewtonLineSearchMonitorOutputSetObj)
56632 
56633  !Argument variables
56634  TYPE(cmfe_solvertype), INTENT(IN) :: solver
56635  LOGICAL, INTENT(IN) :: monitorLinesearchFlag
56636  INTEGER(INTG), INTENT(OUT) :: err
56637  !Local variables
56638 
56639  enters("cmfe_Solver_QuasiNewtonLineSearchMonitorOutputSetObj",err,error,*999)
56640 
56641  CALL solver_quasinewtonlinesearchmonitoroutputset(solver%solver,monitorlinesearchflag,err,error,*999)
56642 
56643  exits("cmfe_Solver_QuasiNewtonLineSearchMonitorOutputSetObj")
56644  RETURN
56645 999 errors("cmfe_Solver_QuasiNewtonLineSearchMonitorOutputSetObj",err,error)
56646  exits("cmfe_Solver_QuasiNewtonLineSearchMonitorOutputSetObj")
56647  CALL cmfe_handleerror(err,error)
56648  RETURN
56649 
56651 
56652  !
56653  !================================================================================================================================
56654  !
56655 
56657  SUBROUTINE cmfe_solver_quasinewtonjacobiancalculationtypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
56658  & jacobiancalculationtype,err)
56659  !DLLEXPORT(cmfe_Solver_QuasiNewtonJacobianCalculationTypeSetNumber0)
56660 
56661  !Argument variables
56662  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56663  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
56664  INTEGER(INTG), INTENT(IN) :: solverIndex
56665  INTEGER(INTG), INTENT(IN) :: jacobianCalculationType
56666  INTEGER(INTG), INTENT(OUT) :: err
56667  !Local variables
56668  TYPE(problem_type), POINTER :: PROBLEM
56669  TYPE(solver_type), POINTER :: SOLVER
56670  TYPE(varying_string) :: localError
56671 
56672  enters("cmfe_Solver_QuasiNewtonJacobianCalculationTypeSetNumber0",err,error,*999)
56673 
56674  NULLIFY(problem)
56675  NULLIFY(solver)
56676  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56677  IF(ASSOCIATED(problem)) THEN
56678  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
56679  CALL solver_quasinewtonjacobiancalculationtypeset(solver,jacobiancalculationtype,err,error,*999)
56680  ELSE
56681  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56682  & " does not exist."
56683  CALL flagerror(localerror,err,error,*999)
56684  END IF
56685 
56686  exits("cmfe_Solver_QuasiNewtonJacobianCalculationTypeSetNumber0")
56687  RETURN
56688 999 errors("cmfe_Solver_QuasiNewtonJacobianCalculationTypeSetNumber0",err,error)
56689  exits("cmfe_Solver_QuasiNewtonJacobianCalculationTypeSetNumber0")
56690  CALL cmfe_handleerror(err,error)
56691  RETURN
56692 
56694 
56695  !
56696  !================================================================================================================================
56697  !
56698 
56700  SUBROUTINE cmfe_solver_quasinewtonjacobiancalculationtypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
56701  & jacobiancalculationtype,err)
56702  !DLLEXPORT(cmfe_Solver_QuasiNewtonJacobianCalculationTypeSetNumber1)
56703 
56704  !Argument variables
56705  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56706  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
56707  INTEGER(INTG), INTENT(IN) :: solverIndex
56708  INTEGER(INTG), INTENT(IN) :: jacobianCalculationType
56709  INTEGER(INTG), INTENT(OUT) :: err
56710  !Local variables
56711  TYPE(problem_type), POINTER :: PROBLEM
56712  TYPE(solver_type), POINTER :: SOLVER
56713  TYPE(varying_string) :: localError
56714 
56715  enters("cmfe_Solver_QuasiNewtonJacobianCalculationTypeSetNumber1",err,error,*999)
56716 
56717  NULLIFY(problem)
56718  NULLIFY(solver)
56719  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56720  IF(ASSOCIATED(problem)) THEN
56721  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
56722  CALL solver_quasinewtonjacobiancalculationtypeset(solver,jacobiancalculationtype,err,error,*999)
56723  ELSE
56724  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56725  & " does not exist."
56726  CALL flagerror(localerror,err,error,*999)
56727  END IF
56728 
56729  exits("cmfe_Solver_QuasiNewtonJacobianCalculationTypeSetNumber1")
56730  RETURN
56731 999 errors("cmfe_Solver_QuasiNewtonJacobianCalculationTypeSetNumber1",err,error)
56732  exits("cmfe_Solver_QuasiNewtonJacobianCalculationTypeSetNumber1")
56733  CALL cmfe_handleerror(err,error)
56734  RETURN
56735 
56737 
56738  !================================================================================================================================
56739  !
56740 
56742  SUBROUTINE cmfe_solver_quasinewtonjacobiancalculationtypesetobj(solver,jacobianCalculationType,err)
56743  !DLLEXPORT(cmfe_Solver_QuasiNewtonJacobianCalculationTypeSetObj)
56744 
56745  !Argument variables
56746  TYPE(cmfe_solvertype), INTENT(IN) :: solver
56747  INTEGER(INTG), INTENT(IN) :: jacobianCalculationType
56748  INTEGER(INTG), INTENT(OUT) :: err
56749  !Local variables
56750 
56751  enters("cmfe_Solver_QuasiNewtonJacobianCalculationTypeSetObj",err,error,*999)
56752 
56753  CALL solver_quasinewtonjacobiancalculationtypeset(solver%solver,jacobiancalculationtype,err,error,*999)
56754 
56755  exits("cmfe_Solver_QuasiNewtonJacobianCalculationTypeSetObj")
56756  RETURN
56757 999 errors("cmfe_Solver_QuasiNewtonJacobianCalculationTypeSetObj",err,error)
56758  exits("cmfe_Solver_QuasiNewtonJacobianCalculationTypeSetObj")
56759  CALL cmfe_handleerror(err,error)
56760  RETURN
56761 
56763 
56764  !
56765  !================================================================================================================================
56766  !
56767 
56769  SUBROUTINE cmfe_solver_quasinewtonlinearsolvergetnumber0(problemUserNumber,controlLoopIdentifier, &
56770  & solverindex,linearsolverindex,err)
56771  !DLLEXPORT(cmfe_Solver_QuasiNewtonLinearSolverGetNumber0)
56772 
56773  !Argument variables
56774  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56775  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
56776  INTEGER(INTG), INTENT(IN) :: solverIndex
56777  INTEGER(INTG), INTENT(OUT) :: linearSolverIndex
56778  INTEGER(INTG), INTENT(OUT) :: err
56779  !Local variables
56780  TYPE(problem_type), POINTER :: PROBLEM
56781  TYPE(solver_type), POINTER :: SOLVER,LINEAR_SOLVER
56782  TYPE(varying_string) :: localError
56783 
56784  enters("cmfe_Solver_QuasiNewtonLinearSolverGetNumber0",err,error,*999)
56785 
56786  NULLIFY(problem)
56787  NULLIFY(solver)
56788  NULLIFY(linear_solver)
56789  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56790  IF(ASSOCIATED(problem)) THEN
56791  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
56792  CALL solver_quasi_newton_linear_solver_get(solver,linear_solver,err,error,*999)
56793  !todo: get the solver index from linear solver
56794  linearsolverindex=linear_solver%GLOBAL_NUMBER
56795  CALL flagerror("Not implemented.",err,error,*999)
56796  ELSE
56797  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56798  & " does not exist."
56799  CALL flagerror(localerror,err,error,*999)
56800  END IF
56801 
56802  exits("cmfe_Solver_QuasiNewtonLinearSolverGetNumber0")
56803  RETURN
56804 999 errors("cmfe_Solver_QuasiNewtonLinearSolverGetNumber0",err,error)
56805  exits("cmfe_Solver_QuasiNewtonLinearSolverGetNumber0")
56806  CALL cmfe_handleerror(err,error)
56807  RETURN
56808 
56810 
56811  !
56812  !================================================================================================================================
56813  !
56814 
56816  SUBROUTINE cmfe_solver_quasinewtonlinearsolvergetnumber1(problemUserNumber,controlLoopIdentifiers, &
56817  & solverindex,linearsolverindex,err)
56818  !DLLEXPORT(cmfe_Solver_QuasiNewtonLinearSolverGetNumber1)
56819 
56820  !Argument variables
56821  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56822  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
56823  INTEGER(INTG), INTENT(IN) :: solverIndex
56824  INTEGER(INTG), INTENT(OUT) :: linearSolverIndex
56825  INTEGER(INTG), INTENT(OUT) :: err
56826  !Local variables
56827  TYPE(problem_type), POINTER :: PROBLEM
56828  TYPE(solver_type), POINTER :: SOLVER,LINEAR_SOLVER
56829  TYPE(varying_string) :: localError
56830 
56831  enters("cmfe_Solver_QuasiNewtonLinearSolverGetNumber1",err,error,*999)
56832 
56833  NULLIFY(problem)
56834  NULLIFY(solver)
56835  NULLIFY(linear_solver)
56836  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56837  IF(ASSOCIATED(problem)) THEN
56838  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
56839  CALL solver_quasi_newton_linear_solver_get(solver,linear_solver,err,error,*999)
56840  !todo: get the solver index from linear solver
56841  linearsolverindex=linear_solver%GLOBAL_NUMBER
56842  CALL flagerror("Not implemented.",err,error,*999)
56843  ELSE
56844  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56845  & " does not exist."
56846  CALL flagerror(localerror,err,error,*999)
56847  END IF
56848 
56849  exits("cmfe_Solver_QuasiNewtonLinearSolverGetNumber1")
56850  RETURN
56851 999 errors("cmfe_Solver_QuasiNewtonLinearSolverGetNumber1",err,error)
56852  exits("cmfe_Solver_QuasiNewtonLinearSolverGetNumber1")
56853  CALL cmfe_handleerror(err,error)
56854  RETURN
56855 
56857 
56858  !================================================================================================================================
56859  !
56860 
56862  SUBROUTINE cmfe_solver_quasinewtonlinearsolvergetobj(solver,linearSolver,err)
56863  !DLLEXPORT(cmfe_Solver_QuasiNewtonLinearSolverGetObj)
56864 
56865  !Argument variables
56866  TYPE(cmfe_solvertype), INTENT(IN) :: solver
56867  TYPE(cmfe_solvertype), INTENT(INOUT) :: linearSolver
56868  INTEGER(INTG), INTENT(OUT) :: err
56869  !Local variables
56870 
56871  enters("cmfe_Solver_QuasiNewtonLinearSolverGetObj",err,error,*999)
56872 
56873  CALL solver_quasi_newton_linear_solver_get(solver%solver,linearsolver%solver,err,error,*999)
56874 
56875  exits("cmfe_Solver_QuasiNewtonLinearSolverGetObj")
56876  RETURN
56877 999 errorsexits("cmfe_Solver_QuasiNewtonLinearSolverGetObj",err,error)
56878  CALL cmfe_handleerror(err,error)
56879  RETURN
56880 
56882 
56883  !
56884  !================================================================================================================================
56885  !
56886 
56888  SUBROUTINE cmfe_solver_quasinewtoncellmlsolvergetnumber0(problemUserNumber,controlLoopIdentifier, &
56889  & solverindex,cellmlsolverindex,err)
56890  !DLLEXPORT(cmfe_Solver_QuasiNewtonCellMLSolverGetNumber0)
56891 
56892  !Argument variables
56893  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56894  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
56895  INTEGER(INTG), INTENT(IN) :: solverIndex
56896  INTEGER(INTG), INTENT(OUT) :: CellMLSolverIndex
56897  INTEGER(INTG), INTENT(OUT) :: err
56898  !Local variables
56899  TYPE(problem_type), POINTER :: PROBLEM
56900  TYPE(solver_type), POINTER :: SOLVER,CELLML_SOLVER
56901  TYPE(varying_string) :: localError
56902 
56903  enters("cmfe_Solver_QuasiNewtonCellMLSolverGetNumber0",err,error,*999)
56904 
56905  NULLIFY(problem)
56906  NULLIFY(solver)
56907  NULLIFY(cellml_solver)
56908  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56909  IF(ASSOCIATED(problem)) THEN
56910  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
56911  CALL solver_quasi_newton_cellml_solver_get(solver,cellml_solver,err,error,*999)
56912  !todo: get the solver index from CellML solver
56913  cellmlsolverindex=cellml_solver%GLOBAL_NUMBER
56914  CALL flagerror("Not implemented.",err,error,*999)
56915  ELSE
56916  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56917  & " does not exist."
56918  CALL flagerror(localerror,err,error,*999)
56919  END IF
56920 
56921  exits("cmfe_Solver_QuasiNewtonCellMLSolverGetNumber0")
56922  RETURN
56923 999 errors("cmfe_Solver_QuasiNewtonCellMLSolverGetNumber0",err,error)
56924  exits("cmfe_Solver_QuasiNewtonCellMLSolverGetNumber0")
56925  CALL cmfe_handleerror(err,error)
56926  RETURN
56927 
56929 
56930  !
56931  !================================================================================================================================
56932  !
56933 
56935  SUBROUTINE cmfe_solver_quasinewtoncellmlsolvergetnumber1(problemUserNumber,controlLoopIdentifiers, &
56936  & solverindex,cellmlsolverindex,err)
56937  !DLLEXPORT(cmfe_Solver_QuasiNewtonCellMLSolverGetNumber1)
56938 
56939  !Argument variables
56940  INTEGER(INTG), INTENT(IN) :: problemUserNumber
56941  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
56942  INTEGER(INTG), INTENT(IN) :: solverIndex
56943  INTEGER(INTG), INTENT(OUT) :: CellMLSolverIndex
56944  INTEGER(INTG), INTENT(OUT) :: err
56945  !Local variables
56946  TYPE(problem_type), POINTER :: PROBLEM
56947  TYPE(solver_type), POINTER :: SOLVER,CELLML_SOLVER
56948  TYPE(varying_string) :: localError
56949 
56950  enters("cmfe_Solver_QuasiNewtonCellMLSolverGetNumber1",err,error,*999)
56951 
56952  NULLIFY(problem)
56953  NULLIFY(solver)
56954  NULLIFY(cellml_solver)
56955  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
56956  IF(ASSOCIATED(problem)) THEN
56957  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
56958  CALL solver_quasi_newton_cellml_solver_get(solver,cellml_solver,err,error,*999)
56959  !todo: get the solver index from CellML solver
56960  cellmlsolverindex=cellml_solver%GLOBAL_NUMBER
56961  CALL flagerror("Not implemented.",err,error,*999)
56962  ELSE
56963  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
56964  & " does not exist."
56965  CALL flagerror(localerror,err,error,*999)
56966  END IF
56967 
56968  exits("cmfe_Solver_QuasiNewtonCellMLSolverGetNumber1")
56969  RETURN
56970 999 errors("cmfe_Solver_QuasiNewtonCellMLSolverGetNumber1",err,error)
56971  exits("cmfe_Solver_QuasiNewtonCellMLSolverGetNumber1")
56972  CALL cmfe_handleerror(err,error)
56973  RETURN
56974 
56976 
56977  !
56978  !================================================================================================================================
56979  !
56980 
56982  SUBROUTINE cmfe_solver_quasinewtoncellmlsolvergetobj(solver,CellMLSolver,err)
56983  !DLLEXPORT(cmfe_Solver_QuasiNewtonCellMLSolverGetObj)
56984 
56985  !Argument variables
56986  TYPE(cmfe_solvertype), INTENT(IN) :: solver
56987  TYPE(cmfe_solvertype), INTENT(INOUT) :: CellMLSolver
56988  INTEGER(INTG), INTENT(OUT) :: err
56989  !Local variables
56990 
56991  enters("cmfe_Solver_QuasiNewtonCellMLSolverGetObj",err,error,*999)
56992 
56993  CALL solver_quasi_newton_cellml_solver_get(solver%solver,cellmlsolver%solver,err,error,*999)
56994 
56995  exits("cmfe_Solver_QuasiNewtonCellMLSolverGetObj")
56996  RETURN
56997 999 errorsexits("cmfe_Solver_QuasiNewtonCellMLSolverGetObj",err,error)
56998  CALL cmfe_handleerror(err,error)
56999  RETURN
57000 
57002 
57003  !
57004  !================================================================================================================================
57005  !
57006 
57008  SUBROUTINE cmfe_solver_quasinewtonconvergencetesttypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
57009  & convergencetesttype,err)
57010  !DLLEXPORT(cmfe_Solver_QuasiNewtonConvergenceTestTypeSetNumber0)
57011 
57012  !Argument variables
57013  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57014  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
57015  INTEGER(INTG), INTENT(IN) :: solverIndex
57016  INTEGER(INTG), INTENT(IN) :: convergenceTestType
57017  INTEGER(INTG), INTENT(OUT) :: err
57018  !Local variables
57019  TYPE(problem_type), POINTER :: problem
57020  TYPE(solver_type), POINTER :: solver
57021  TYPE(varying_string) :: localError
57022 
57023  enters("cmfe_Solver_QuasiNewtonConvergenceTestTypeSetNumber0",err,error,*999)
57024 
57025  NULLIFY(problem)
57026  NULLIFY(solver)
57027  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57028  IF(ASSOCIATED(problem)) THEN
57029  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
57030  CALL solver_quasinewtonconvergencetesttypeset(solver,convergencetesttype,err,error,*999)
57031  ELSE
57032  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57033  & " does not exist."
57034  CALL flagerror(localerror,err,error,*999)
57035  END IF
57036 
57037  exits("cmfe_Solver_QuasiNewtonConvergenceTestTypeSetNumber0")
57038  RETURN
57039 999 errors("cmfe_Solver_QuasiNewtonConvergenceTestTypeSetNumber0",err,error)
57040  exits("cmfe_Solver_QuasiNewtonConvergenceTestTypeSetNumber0")
57041  CALL cmfe_handleerror(err,error)
57042  RETURN
57043 
57045 
57046  !
57047  !================================================================================================================================
57048  !
57049 
57051  SUBROUTINE cmfe_solver_quasinewtonconvergencetesttypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
57052  & convergencetesttype,err)
57053  !DLLEXPORT(cmfe_Solver_QuasiNewtonConvergenceTestTypeSetNumber1)
57054 
57055  !Argument variables
57056  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57057  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
57058  INTEGER(INTG), INTENT(IN) :: solverIndex
57059  INTEGER(INTG), INTENT(IN) :: convergenceTestType
57060  INTEGER(INTG), INTENT(OUT) :: err
57061  !Local variables
57062  TYPE(problem_type), POINTER :: problem
57063  TYPE(solver_type), POINTER :: solver
57064  TYPE(varying_string) :: localError
57065 
57066  enters("cmfe_Solver_QuasiNewtonConvergenceTestTypeSetNumber1",err,error,*999)
57067 
57068  NULLIFY(problem)
57069  NULLIFY(solver)
57070  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57071  IF(ASSOCIATED(problem)) THEN
57072  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
57073  CALL solver_quasinewtonconvergencetesttypeset(solver,convergencetesttype,err,error,*999)
57074  ELSE
57075  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57076  & " does not exist."
57077  CALL flagerror(localerror,err,error,*999)
57078  END IF
57079 
57080  exits("cmfe_Solver_QuasiNewtonConvergenceTestTypeSetNumber1")
57081  RETURN
57082 999 errors("cmfe_Solver_QuasiNewtonConvergenceTestTypeSetNumber1",err,error)
57083  exits("cmfe_Solver_QuasiNewtonConvergenceTestTypeSetNumber1")
57084  CALL cmfe_handleerror(err,error)
57085  RETURN
57086 
57088 
57089  !
57090  !================================================================================================================================
57091  !
57092 
57094  SUBROUTINE cmfe_solver_quasinewtonconvergencetesttypesetobj(solver,convergenceTestType,err)
57095  !DLLEXPORT(cmfe_Solver_QuasiNewtonConvergenceTestTypeSetObj)
57096 
57097  !Argument variables
57098  TYPE(cmfe_solvertype), INTENT(IN) :: solver
57099  INTEGER(INTG), INTENT(IN) :: convergenceTestType
57100  INTEGER(INTG), INTENT(OUT) :: err
57101  !Local variables
57102 
57103  enters("cmfe_Solver_QuasiNewtonConvergenceTestTypeSetObj",err,error,*999)
57104 
57105  CALL solver_quasinewtonconvergencetesttypeset(solver%solver,convergencetesttype,err,error,*999)
57106 
57107  exits("cmfe_Solver_QuasiNewtonConvergenceTestTypeSetObj")
57108  RETURN
57109 999 errors("cmfe_Solver_QuasiNewtonConvergenceTestTypeSetObj",err,error)
57110  exits("cmfe_Solver_QuasiNewtonConvergenceTestTypeSetObj")
57111  CALL cmfe_handleerror(err,error)
57112  RETURN
57113 
57115 
57116  !
57117  !================================================================================================================================
57118  !
57119 
57121  SUBROUTINE cmfe_solver_quasinewtonlinesearchmaxstepsetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,maxStep,err)
57122  !DLLEXPORT(cmfe_Solver_QuasiNewtonLineSearchMaxStepSetNumber0)
57123 
57124  !Argument variables
57125  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57126  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
57127  INTEGER(INTG), INTENT(IN) :: solverIndex
57128  REAL(DP), INTENT(IN) :: maxStep
57129  INTEGER(INTG), INTENT(OUT) :: err
57130  !Local variables
57131  TYPE(problem_type), POINTER :: PROBLEM
57132  TYPE(solver_type), POINTER :: SOLVER
57133  TYPE(varying_string) :: localError
57134 
57135  enters("cmfe_Solver_QuasiNewtonLineSearchMaxStepSetNumber0",err,error,*999)
57136 
57137  NULLIFY(problem)
57138  NULLIFY(solver)
57139  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57140  IF(ASSOCIATED(problem)) THEN
57141  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
57142  CALL solver_quasi_newton_linesearch_maxstep_set(solver,maxstep,err,error,*999)
57143  ELSE
57144  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57145  & " does not exist."
57146  CALL flagerror(localerror,err,error,*999)
57147  END IF
57148 
57149  exits("cmfe_Solver_QuasiNewtonLineSearchMaxStepSetNumber0")
57150  RETURN
57151 999 errors("cmfe_Solver_QuasiNewtonLineSearchMaxStepSetNumber0",err,error)
57152  exits("cmfe_Solver_QuasiNewtonLineSearchMaxStepSetNumber0")
57153  CALL cmfe_handleerror(err,error)
57154  RETURN
57155 
57157 
57158  !
57159  !================================================================================================================================
57160  !
57161 
57163  SUBROUTINE cmfe_solver_quasinewtonlinesearchmaxstepsetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,maxStep,err)
57164  !DLLEXPORT(cmfe_Solver_QuasiNewtonLineSearchMaxStepSetNumber1)
57165 
57166  !Argument variables
57167  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57168  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
57169  INTEGER(INTG), INTENT(IN) :: solverIndex
57170  REAL(DP), INTENT(IN) :: maxStep
57171  INTEGER(INTG), INTENT(OUT) :: err
57172  !Local variables
57173  TYPE(problem_type), POINTER :: PROBLEM
57174  TYPE(solver_type), POINTER :: SOLVER
57175  TYPE(varying_string) :: localError
57176 
57177  enters("cmfe_Solver_QuasiNewtonLineSearchMaxStepSetNumber1",err,error,*999)
57178 
57179  NULLIFY(problem)
57180  NULLIFY(solver)
57181  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57182  IF(ASSOCIATED(problem)) THEN
57183  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
57184  CALL solver_quasi_newton_linesearch_maxstep_set(solver,maxstep,err,error,*999)
57185  ELSE
57186  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57187  & " does not exist."
57188  CALL flagerror(localerror,err,error,*999)
57189  END IF
57190 
57191  exits("cmfe_Solver_QuasiNewtonLineSearchMaxStepSetNumber1")
57192  RETURN
57193 999 errors("cmfe_Solver_QuasiNewtonLineSearchMaxStepSetNumber1",err,error)
57194  exits("cmfe_Solver_QuasiNewtonLineSearchMaxStepSetNumber1")
57195  CALL cmfe_handleerror(err,error)
57196  RETURN
57197 
57199 
57200  !================================================================================================================================
57201  !
57202 
57204  SUBROUTINE cmfe_solver_quasinewtonlinesearchmaxstepsetobj(solver,maxStep,err)
57205  !DLLEXPORT(cmfe_Solver_QuasiNewtonLineSearchMaxStepSetObj)
57206 
57207  !Argument variables
57208  TYPE(cmfe_solvertype), INTENT(IN) :: solver
57209  REAL(DP), INTENT(IN) :: maxStep
57210  INTEGER(INTG), INTENT(OUT) :: err
57211  !Local variables
57212 
57213  enters("cmfe_Solver_QuasiNewtonLineSearchMaxStepSetObj",err,error,*999)
57214 
57215  CALL solver_quasi_newton_linesearch_maxstep_set(solver%solver,maxstep,err,error,*999)
57216 
57217  exits("cmfe_Solver_QuasiNewtonLineSearchMaxStepSetObj")
57218  RETURN
57219 999 errors("cmfe_Solver_QuasiNewtonLineSearchMaxStepSetObj",err,error)
57220  exits("cmfe_Solver_QuasiNewtonLineSearchMaxStepSetObj")
57221  CALL cmfe_handleerror(err,error)
57222  RETURN
57223 
57225 
57226  !
57227  !================================================================================================================================
57228  !
57229 
57231  SUBROUTINE cmfe_solver_quasinewtonlinesearchsteptolsetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,stepTol,err)
57232  !DLLEXPORT(cmfe_Solver_QuasiNewtonLineSearchStepTolSetNumber0)
57233 
57234  !Argument variables
57235  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57236  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
57237  INTEGER(INTG), INTENT(IN) :: solverIndex
57238  REAL(DP), INTENT(IN) :: stepTol
57239  INTEGER(INTG), INTENT(OUT) :: err
57240  !Local variables
57241  TYPE(problem_type), POINTER :: PROBLEM
57242  TYPE(solver_type), POINTER :: SOLVER
57243  TYPE(varying_string) :: localError
57244 
57245  enters("cmfe_Solver_QuasiNewtonLineSearchStepTolSetNumber0",err,error,*999)
57246 
57247  NULLIFY(problem)
57248  NULLIFY(solver)
57249  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57250  IF(ASSOCIATED(problem)) THEN
57251  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
57252  CALL solver_quasi_newton_linesearch_steptol_set(solver,steptol,err,error,*999)
57253  ELSE
57254  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57255  & " does not exist."
57256  CALL flagerror(localerror,err,error,*999)
57257  END IF
57258 
57259  exits("cmfe_Solver_QuasiNewtonLineSearchStepTolSetNumber0")
57260  RETURN
57261 999 errors("cmfe_Solver_QuasiNewtonLineSearchStepTolSetNumber0",err,error)
57262  exits("cmfe_Solver_QuasiNewtonLineSearchStepTolSetNumber0")
57263  CALL cmfe_handleerror(err,error)
57264  RETURN
57265 
57267 
57268  !
57269  !================================================================================================================================
57270  !
57271 
57273  SUBROUTINE cmfe_solver_quasinewtonlinesearchsteptolsetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,stepTol,err)
57274  !DLLEXPORT(cmfe_Solver_QuasiNewtonLineSearchStepTolSetNumber1)
57275 
57276  !Argument variables
57277  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57278  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
57279  INTEGER(INTG), INTENT(IN) :: solverIndex
57280  REAL(DP), INTENT(IN) :: stepTol
57281  INTEGER(INTG), INTENT(OUT) :: err
57282  !Local variables
57283  TYPE(problem_type), POINTER :: PROBLEM
57284  TYPE(solver_type), POINTER :: SOLVER
57285  TYPE(varying_string) :: localError
57286 
57287  enters("cmfe_Solver_QuasiNewtonLineSearchStepTolSetNumber1",err,error,*999)
57288 
57289  NULLIFY(problem)
57290  NULLIFY(solver)
57291  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57292  IF(ASSOCIATED(problem)) THEN
57293  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
57294  CALL solver_quasi_newton_linesearch_steptol_set(solver,steptol,err,error,*999)
57295  ELSE
57296  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57297  & " does not exist."
57298  CALL flagerror(localerror,err,error,*999)
57299  END IF
57300 
57301  exits("cmfe_Solver_QuasiNewtonLineSearchStepTolSetNumber1")
57302  RETURN
57303 999 errors("cmfe_Solver_QuasiNewtonLineSearchStepTolSetNumber1",err,error)
57304  exits("cmfe_Solver_QuasiNewtonLineSearchStepTolSetNumber1")
57305  CALL cmfe_handleerror(err,error)
57306  RETURN
57307 
57309 
57310  !================================================================================================================================
57311  !
57312 
57314  SUBROUTINE cmfe_solver_quasinewtonlinesearchsteptolsetobj(solver,stepTol,err)
57315  !DLLEXPORT(cmfe_Solver_QuasiNewtonLineSearchStepTolSetObj)
57316 
57317  !Argument variables
57318  TYPE(cmfe_solvertype), INTENT(IN) :: solver
57319  REAL(DP), INTENT(IN) :: stepTol
57320  INTEGER(INTG), INTENT(OUT) :: err
57321  !Local variables
57322 
57323  enters("cmfe_Solver_QuasiNewtonLineSearchStepTolSetObj",err,error,*999)
57324 
57325  CALL solver_quasi_newton_linesearch_steptol_set(solver%solver,steptol,err,error,*999)
57326 
57327  exits("cmfe_Solver_QuasiNewtonLineSearchStepTolSetObj")
57328  RETURN
57329 999 errors("cmfe_Solver_QuasiNewtonLineSearchStepTolSetObj",err,error)
57330  exits("cmfe_Solver_QuasiNewtonLineSearchStepTolSetObj")
57331  CALL cmfe_handleerror(err,error)
57332  RETURN
57333 
57335 
57336  !
57337  !================================================================================================================================
57338  !
57339 
57341  SUBROUTINE cmfe_solver_quasinewtonlinesearchtypesetnumber0(problemUserNumber,controlLoopIdentifier, &
57342  & solverindex,linesearchtype,err)
57343  !DLLEXPORT(cmfe_Solver_QuasiNewtonLineSearchTypeSetNumber0)
57344 
57345  !Argument variables
57346  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57347  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
57348  INTEGER(INTG), INTENT(IN) :: solverIndex
57349  INTEGER(INTG), INTENT(IN) :: lineSearchType
57350  INTEGER(INTG), INTENT(OUT) :: err
57351  !Local variables
57352  TYPE(problem_type), POINTER :: PROBLEM
57353  TYPE(solver_type), POINTER :: SOLVER
57354  TYPE(varying_string) :: localError
57355 
57356  enters("cmfe_Solver_QuasiNewtonLineSearchTypeSetNumber0",err,error,*999)
57357 
57358  NULLIFY(problem)
57359  NULLIFY(solver)
57360  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57361  IF(ASSOCIATED(problem)) THEN
57362  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
57363  CALL solver_quasi_newton_linesearch_type_set(solver,linesearchtype,err,error,*999)
57364  ELSE
57365  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57366  & " does not exist."
57367  CALL flagerror(localerror,err,error,*999)
57368  END IF
57369 
57370  exits("cmfe_Solver_QuasiNewtonLineSearchTypeSetNumber0")
57371  RETURN
57372 999 errors("cmfe_Solver_QuasiNewtonLineSearchTypeSetNumber0",err,error)
57373  exits("cmfe_Solver_QuasiNewtonLineSearchTypeSetNumber0")
57374  CALL cmfe_handleerror(err,error)
57375  RETURN
57376 
57378 
57379  !
57380  !================================================================================================================================
57381  !
57382 
57384  SUBROUTINE cmfe_solver_quasinewtonlinesearchtypesetnumber1(problemUserNumber,controlLoopIdentifiers, &
57385  & solverindex,linesearchtype,err)
57386  !DLLEXPORT(cmfe_Solver_QuasiNewtonLineSearchTypeSetNumber1)
57387 
57388  !Argument variables
57389  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57390  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
57391  INTEGER(INTG), INTENT(IN) :: solverIndex
57392  INTEGER(INTG), INTENT(IN) :: lineSearchType
57393  INTEGER(INTG), INTENT(OUT) :: err
57394  !Local variables
57395  TYPE(problem_type), POINTER :: PROBLEM
57396  TYPE(solver_type), POINTER :: SOLVER
57397  TYPE(varying_string) :: localError
57398 
57399  enters("cmfe_Solver_QuasiNewtonLineSearchTypeSetNumber1",err,error,*999)
57400 
57401  NULLIFY(problem)
57402  NULLIFY(solver)
57403  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57404  IF(ASSOCIATED(problem)) THEN
57405  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
57406  CALL solver_quasi_newton_linesearch_type_set(solver,linesearchtype,err,error,*999)
57407  ELSE
57408  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57409  & " does not exist."
57410  CALL flagerror(localerror,err,error,*999)
57411  END IF
57412 
57413  exits("cmfe_Solver_QuasiNewtonLineSearchTypeSetNumber1")
57414  RETURN
57415 999 errors("cmfe_Solver_QuasiNewtonLineSearchTypeSetNumber1",err,error)
57416  exits("cmfe_Solver_QuasiNewtonLineSearchTypeSetNumber1")
57417  CALL cmfe_handleerror(err,error)
57418  RETURN
57419 
57421 
57422  !================================================================================================================================
57423  !
57424 
57426  SUBROUTINE cmfe_solver_quasinewtonlinesearchtypesetobj(solver,lineSearchType,err)
57427  !DLLEXPORT(cmfe_Solver_QuasiNewtonLineSearchTypeSetObj)
57428 
57429  !Argument variables
57430  TYPE(cmfe_solvertype), INTENT(IN) :: solver
57431  INTEGER(INTG), INTENT(IN) :: lineSearchType
57432  INTEGER(INTG), INTENT(OUT) :: err
57433  !Local variables
57434 
57435  enters("cmfe_Solver_QuasiNewtonLineSearchTypeSetObj",err,error,*999)
57436 
57437  CALL solver_quasi_newton_linesearch_type_set(solver%solver,linesearchtype,err,error,*999)
57438 
57439  exits("cmfe_Solver_QuasiNewtonLineSearchTypeSetObj")
57440  RETURN
57441 999 errorsexits("cmfe_Solver_QuasiNewtonLineSearchTypeSetObj",err,error)
57442  CALL cmfe_handleerror(err,error)
57443  RETURN
57444 
57446 
57447 
57448  !
57449  !================================================================================================================================
57450  !
57451 
57453  SUBROUTINE cmfe_solver_quasinewtonmaximumfunctionevaluationssetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
57454  & maximumfunctionevaluations,err)
57455  !DLLEXPORT(cmfe_Solver_QuasiNewtonMaximumFunctionEvaluationsSetNumber0)
57456 
57457  !Argument variables
57458  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57459  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
57460  INTEGER(INTG), INTENT(IN) :: solverIndex
57461  INTEGER(INTG), INTENT(IN) :: maximumFunctionEvaluations
57462  INTEGER(INTG), INTENT(OUT) :: err
57463  !Local variables
57464  TYPE(problem_type), POINTER :: PROBLEM
57465  TYPE(solver_type), POINTER :: SOLVER
57466  TYPE(varying_string) :: LOCAL_ERROR
57467 
57468  enters("cmfe_Solver_QuasiNewtonMaximumFunctionEvaluationsSetNumber0",err,error,*999)
57469 
57470  NULLIFY(problem)
57471  NULLIFY(solver)
57472  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57473  IF(ASSOCIATED(problem)) THEN
57474  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
57475  CALL solver_quasinewtonmaximumfunctionevaluationsset(solver,maximumfunctionevaluations,err,error,*999)
57476  ELSE
57477  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57478  & " does not exist."
57479  CALL flagerror(local_error,err,error,*999)
57480  END IF
57481 
57482  exits("cmfe_Solver_QuasiNewtonMaximumFunctionEvaluationsSetNumber0")
57483  RETURN
57484 999 errors("cmfe_Solver_QuasiNewtonMaximumFunctionEvaluationsSetNumber0",err,error)
57485  exits("cmfe_Solver_QuasiNewtonMaximumFunctionEvaluationsSetNumber0")
57486  CALL cmfe_handleerror(err,error)
57487  RETURN
57488 
57490 
57491  !
57492  !================================================================================================================================
57493  !
57494 
57496  SUBROUTINE cmfe_solver_quasinewtonmaximumfunctionevaluationssetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
57497  & maximumfunctionevaluations,err)
57498  !DLLEXPORT(cmfe_Solver_QuasiNewtonMaximumFunctionEvaluationsSetNumber1)
57499 
57500  !Argument variables
57501  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57502  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
57503  INTEGER(INTG), INTENT(IN) :: solverIndex
57504  INTEGER(INTG), INTENT(IN) :: maximumFunctionEvaluations
57505  INTEGER(INTG), INTENT(OUT) :: err
57506  !Local variables
57507  TYPE(problem_type), POINTER :: PROBLEM
57508  TYPE(solver_type), POINTER :: SOLVER
57509  TYPE(varying_string) :: LOCAL_ERROR
57510 
57511  enters("cmfe_Solver_QuasiNewtonMaximumFunctionEvaluationsSetNumber1",err,error,*999)
57512 
57513  NULLIFY(problem)
57514  NULLIFY(solver)
57515  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57516  IF(ASSOCIATED(problem)) THEN
57517  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
57518  CALL solver_quasinewtonmaximumfunctionevaluationsset(solver,maximumfunctionevaluations,err,error,*999)
57519  ELSE
57520  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57521  & " does not exist."
57522  CALL flagerror(local_error,err,error,*999)
57523  END IF
57524 
57525  exits("cmfe_Solver_QuasiNewtonMaximumFunctionEvaluationsSetNumber1")
57526  RETURN
57527 999 errors("cmfe_Solver_QuasiNewtonMaximumFunctionEvaluationsSetNumber1",err,error)
57528  exits("cmfe_Solver_QuasiNewtonMaximumFunctionEvaluationsSetNumber1")
57529  CALL cmfe_handleerror(err,error)
57530  RETURN
57531 
57533 
57534  !================================================================================================================================
57535  !
57536 
57538  SUBROUTINE cmfe_solver_quasinewtonmaximumfunctionevaluationssetobj(solver,maximumFunctionEvaluations,err)
57539  !DLLEXPORT(cmfe_Solver_QuasiNewtonMaximumFunctionEvaluationsSetObj)
57540 
57541  !Argument variables
57542  TYPE(cmfe_solvertype), INTENT(IN) :: solver
57543  INTEGER(INTG), INTENT(IN) :: maximumFunctionEvaluations
57544  INTEGER(INTG), INTENT(OUT) :: err
57545  !Local variables
57546 
57547  enters("cmfe_Solver_QuasiNewtonMaximumFunctionEvaluationsSetObj",err,error,*999)
57548 
57549  CALL solver_quasinewtonmaximumfunctionevaluationsset(solver%solver,maximumfunctionevaluations,err,error,*999)
57550 
57551  exits("cmfe_Solver_QuasiNewtonMaximumFunctionEvaluationsSetObj")
57552  RETURN
57553 999 errors("cmfe_Solver_QuasiNewtonMaximumFunctionEvaluationsSetObj",err,error)
57554  exits("cmfe_Solver_QuasiNewtonMaximumFunctionEvaluationsSetObj")
57555  CALL cmfe_handleerror(err,error)
57556  RETURN
57557 
57559 
57560  !
57561  !================================================================================================================================
57562  !
57563 
57565  SUBROUTINE cmfe_solver_quasinewtonmaximumiterationssetnumber0(problemUserNumber,controlLoopIdentifier, &
57566  & solverindex,maximumiterations,err)
57567  !DLLEXPORT(cmfe_Solver_QuasiNewtonMaximumIterationsSetNumber0)
57568 
57569  !Argument variables
57570  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57571  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
57572  INTEGER(INTG), INTENT(IN) :: solverIndex
57573  INTEGER(INTG), INTENT(IN) :: maximumIterations
57574  INTEGER(INTG), INTENT(OUT) :: err
57575  !Local variables
57576  TYPE(problem_type), POINTER :: PROBLEM
57577  TYPE(solver_type), POINTER :: SOLVER
57578  TYPE(varying_string) :: LOCAL_ERROR
57579 
57580  enters("cmfe_Solver_QuasiNewtonMaximumIterationsSetNumber0",err,error,*999)
57581 
57582  NULLIFY(problem)
57583  NULLIFY(solver)
57584  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57585  IF(ASSOCIATED(problem)) THEN
57586  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
57587  CALL solver_quasi_newton_maximum_iterations_set(solver,maximumiterations,err,error,*999)
57588  ELSE
57589  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57590  & " does not exist."
57591  CALL flagerror(local_error,err,error,*999)
57592  END IF
57593 
57594  exits("cmfe_Solver_QuasiNewtonMaximumIterationsSetNumber0")
57595  RETURN
57596 999 errors("cmfe_Solver_QuasiNewtonMaximumIterationsSetNumber0",err,error)
57597  exits("cmfe_Solver_QuasiNewtonMaximumIterationsSetNumber0")
57598  CALL cmfe_handleerror(err,error)
57599  RETURN
57600 
57602 
57603  !
57604  !================================================================================================================================
57605  !
57606 
57608  SUBROUTINE cmfe_solver_quasinewtonmaximumiterationssetnumber1(problemUserNumber,controlLoopIdentifiers, &
57609  & solverindex,maximumiterations,err)
57610  !DLLEXPORT(cmfe_Solver_QuasiNewtonMaximumIterationsSetNumber1)
57611 
57612  !Argument variables
57613  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57614  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
57615  INTEGER(INTG), INTENT(IN) :: solverIndex
57616  INTEGER(INTG), INTENT(IN) :: maximumIterations
57617  INTEGER(INTG), INTENT(OUT) :: err
57618  !Local variables
57619  TYPE(problem_type), POINTER :: PROBLEM
57620  TYPE(solver_type), POINTER :: SOLVER
57621  TYPE(varying_string) :: LOCAL_ERROR
57622 
57623  enters("cmfe_Solver_QuasiNewtonMaximumIterationsSetNumber1",err,error,*999)
57624 
57625  NULLIFY(problem)
57626  NULLIFY(solver)
57627  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57628  IF(ASSOCIATED(problem)) THEN
57629  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
57630  CALL solver_quasi_newton_maximum_iterations_set(solver,maximumiterations,err,error,*999)
57631  ELSE
57632  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57633  & " does not exist."
57634  CALL flagerror(local_error,err,error,*999)
57635  END IF
57636 
57637  exits("cmfe_Solver_QuasiNewtonMaximumIterationsSetNumber1")
57638  RETURN
57639 999 errors("cmfe_Solver_QuasiNewtonMaximumIterationsSetNumber1",err,error)
57640  exits("cmfe_Solver_QuasiNewtonMaximumIterationsSetNumber1")
57641  CALL cmfe_handleerror(err,error)
57642  RETURN
57643 
57645 
57646  !================================================================================================================================
57647  !
57648 
57650  SUBROUTINE cmfe_solver_quasinewtonmaximumiterationssetobj(solver,maximumIterations,err)
57651  !DLLEXPORT(cmfe_Solver_QuasiNewtonMaximumIterationsSetObj)
57652 
57653  !Argument variables
57654  TYPE(cmfe_solvertype), INTENT(IN) :: solver
57655  INTEGER(INTG), INTENT(IN) :: maximumIterations
57656  INTEGER(INTG), INTENT(OUT) :: err
57657  !Local variables
57658 
57659  enters("cmfe_Solver_QuasiNewtonMaximumIterationsSetObj",err,error,*999)
57660 
57661  CALL solver_quasi_newton_maximum_iterations_set(solver%SOLVER,maximumiterations,err,error,*999)
57662 
57663  exits("cmfe_Solver_QuasiNewtonMaximumIterationsSetObj")
57664  RETURN
57665 999 errors("cmfe_Solver_QuasiNewtonMaximumIterationsSetObj",err,error)
57666  exits("cmfe_Solver_QuasiNewtonMaximumIterationsSetObj")
57667  CALL cmfe_handleerror(err,error)
57668  RETURN
57669 
57671 
57672  !
57673  !================================================================================================================================
57674  !
57675 
57677  SUBROUTINE cmfe_solver_quasinewtonrelativetolerancesetnumber0(problemUserNumber,controlLoopIdentifier, &
57678  & solverindex,relativetolerance,err)
57679  !DLLEXPORT(cmfe_Solver_QuasiNewtonRelativeToleranceSetNumber0)
57680 
57681  !Argument variables
57682  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57683  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
57684  INTEGER(INTG), INTENT(IN) :: solverIndex
57685  REAL(DP), INTENT(IN) :: relativeTolerance
57686  INTEGER(INTG), INTENT(OUT) :: err
57687  !Local variables
57688  TYPE(problem_type), POINTER :: PROBLEM
57689  TYPE(solver_type), POINTER :: SOLVER
57690  TYPE(varying_string) :: LOCAL_ERROR
57691 
57692  enters("cmfe_Solver_QuasiNewtonRelativeToleranceSetNumber0",err,error,*999)
57693 
57694  NULLIFY(problem)
57695  NULLIFY(solver)
57696  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57697  IF(ASSOCIATED(problem)) THEN
57698  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
57699  CALL solver_quasi_newton_relative_tolerance_set(solver,relativetolerance,err,error,*999)
57700  ELSE
57701  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57702  & " does not exist."
57703  CALL flagerror(local_error,err,error,*999)
57704  END IF
57705 
57706  exits("cmfe_Solver_QuasiNewtonRelativeToleranceSetNumber0")
57707  RETURN
57708 999 errors("cmfe_Solver_QuasiNewtonRelativeToleranceSetNumber0",err,error)
57709  exits("cmfe_Solver_QuasiNewtonRelativeToleranceSetNumber0")
57710  CALL cmfe_handleerror(err,error)
57711  RETURN
57712 
57714 
57715  !
57716  !================================================================================================================================
57717  !
57718 
57720  SUBROUTINE cmfe_solver_quasinewtonrelativetolerancesetnumber1(problemUserNumber,controlLoopIdentifiers, &
57721  & solverindex,relativetolerance,err)
57722  !DLLEXPORT(cmfe_Solver_QuasiNewtonRelativeToleranceSetNumber1)
57723 
57724  !Argument variables
57725  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57726  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
57727  INTEGER(INTG), INTENT(IN) :: solverIndex
57728  REAL(DP), INTENT(IN) :: relativeTolerance
57729  INTEGER(INTG), INTENT(OUT) :: err
57730  !Local variables
57731  TYPE(problem_type), POINTER :: PROBLEM
57732  TYPE(solver_type), POINTER :: SOLVER
57733  TYPE(varying_string) :: LOCAL_ERROR
57734 
57735  enters("cmfe_Solver_QuasiNewtonRelativeToleranceSetNumber1",err,error,*999)
57736 
57737  NULLIFY(problem)
57738  NULLIFY(solver)
57739  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57740  IF(ASSOCIATED(problem)) THEN
57741  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
57742  CALL solver_quasi_newton_relative_tolerance_set(solver,relativetolerance,err,error,*999)
57743  ELSE
57744  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57745  & " does not exist."
57746  CALL flagerror(local_error,err,error,*999)
57747  END IF
57748 
57749  exits("cmfe_Solver_QuasiNewtonRelativeToleranceSetNumber1")
57750  RETURN
57751 999 errors("cmfe_Solver_QuasiNewtonRelativeToleranceSetNumber1",err,error)
57752  exits("cmfe_Solver_QuasiNewtonRelativeToleranceSetNumber1")
57753  CALL cmfe_handleerror(err,error)
57754  RETURN
57755 
57757 
57758  !================================================================================================================================
57759  !
57760 
57762  SUBROUTINE cmfe_solver_quasinewtonrelativetolerancesetobj(solver,relativeTolerance,err)
57763  !DLLEXPORT(cmfe_Solver_QuasiNewtonRelativeToleranceSetObj)
57764 
57765  !Argument variables
57766  TYPE(cmfe_solvertype), INTENT(IN) :: solver
57767  REAL(DP), INTENT(IN) :: relativeTolerance
57768  INTEGER(INTG), INTENT(OUT) :: err
57769  !Local variables
57770 
57771  enters("cmfe_Solver_QuasiNewtonRelativeToleranceSetObj",err,error,*999)
57772 
57773  CALL solver_quasi_newton_relative_tolerance_set(solver%SOLVER,relativetolerance,err,error,*999)
57774 
57775  exits("cmfe_Solver_QuasiNewtonRelativeToleranceSetObj")
57776  RETURN
57777 999 errors("cmfe_Solver_QuasiNewtonRelativeToleranceSetObj",err,error)
57778  exits("cmfe_Solver_QuasiNewtonRelativeToleranceSetObj")
57779  CALL cmfe_handleerror(err,error)
57780  RETURN
57781 
57783 
57784  !
57785  !================================================================================================================================
57786  !
57787 
57789  SUBROUTINE cmfe_solver_quasinewtonsolutiontolerancesetnumber0(problemUserNumber,controlLoopIdentifier, &
57790  & solverindex,solutiontolerance,err)
57791  !DLLEXPORT(cmfe_Solver_QuasiNewtonSolutionToleranceSetNumber0)
57792 
57793  !Argument variables
57794  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57795  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
57796  INTEGER(INTG), INTENT(IN) :: solverIndex
57797  REAL(DP), INTENT(IN) :: solutionTolerance
57798  INTEGER(INTG), INTENT(OUT) :: err
57799  !Local variables
57800  TYPE(problem_type), POINTER :: PROBLEM
57801  TYPE(solver_type), POINTER :: SOLVER
57802  TYPE(varying_string) :: LOCAL_ERROR
57803 
57804  enters("cmfe_Solver_QuasiNewtonSolutionToleranceSetNumber0",err,error,*999)
57805 
57806  NULLIFY(problem)
57807  NULLIFY(solver)
57808  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57809  IF(ASSOCIATED(problem)) THEN
57810  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
57811  CALL solver_quasi_newton_solution_tolerance_set(solver,solutiontolerance,err,error,*999)
57812  ELSE
57813  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57814  & " does not exist."
57815  CALL flagerror(local_error,err,error,*999)
57816  END IF
57817 
57818  exits("cmfe_Solver_QuasiNewtonSolutionToleranceSetNumber0")
57819  RETURN
57820 999 errors("cmfe_Solver_QuasiNewtonSolutionToleranceSetNumber0",err,error)
57821  exits("cmfe_Solver_QuasiNewtonSolutionToleranceSetNumber0")
57822  CALL cmfe_handleerror(err,error)
57823  RETURN
57824 
57826 
57827  !
57828  !================================================================================================================================
57829  !
57830 
57832  SUBROUTINE cmfe_solver_quasinewtonsolutiontolerancesetnumber1(problemUserNumber,controlLoopIdentifiers, &
57833  & solverindex,solutiontolerance,err)
57834  !DLLEXPORT(cmfe_Solver_QuasiNewtonSolutionToleranceSetNumber1)
57835 
57836  !Argument variables
57837  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57838  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
57839  INTEGER(INTG), INTENT(IN) :: solverIndex
57840  REAL(DP), INTENT(IN) :: solutionTolerance
57841  INTEGER(INTG), INTENT(OUT) :: err
57842  !Local variables
57843  TYPE(problem_type), POINTER :: PROBLEM
57844  TYPE(solver_type), POINTER :: SOLVER
57845  TYPE(varying_string) :: LOCAL_ERROR
57846 
57847  enters("cmfe_Solver_QuasiNewtonSolutionToleranceSetNumber1",err,error,*999)
57848 
57849  NULLIFY(problem)
57850  NULLIFY(solver)
57851  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57852  IF(ASSOCIATED(problem)) THEN
57853  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
57854  CALL solver_quasi_newton_solution_tolerance_set(solver,solutiontolerance,err,error,*999)
57855  ELSE
57856  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57857  & " does not exist."
57858  CALL flagerror(local_error,err,error,*999)
57859  END IF
57860 
57861  exits("cmfe_Solver_QuasiNewtonSolutionToleranceSetNumber1")
57862  RETURN
57863 999 errors("cmfe_Solver_QuasiNewtonSolutionToleranceSetNumber1",err,error)
57864  exits("cmfe_Solver_QuasiNewtonSolutionToleranceSetNumber1")
57865  CALL cmfe_handleerror(err,error)
57866  RETURN
57867 
57869 
57870  !================================================================================================================================
57871  !
57872 
57874  SUBROUTINE cmfe_solver_quasinewtonsolutiontolerancesetobj(solver,solutionTolerance,err)
57875  !DLLEXPORT(cmfe_Solver_QuasiNewtonSolutionToleranceSetObj)
57876 
57877  !Argument variables
57878  TYPE(cmfe_solvertype), INTENT(IN) :: solver
57879  REAL(DP), INTENT(IN) :: solutionTolerance
57880  INTEGER(INTG), INTENT(OUT) :: err
57881  !Local variables
57882 
57883  enters("cmfe_Solver_QuasiNewtonSolutionToleranceSetObj",err,error,*999)
57884 
57885  CALL solver_quasi_newton_solution_tolerance_set(solver%SOLVER,solutiontolerance,err,error,*999)
57886 
57887  exits("cmfe_Solver_QuasiNewtonSolutionToleranceSetObj")
57888  RETURN
57889 999 errors("cmfe_Solver_QuasiNewtonSolutionToleranceSetObj",err,error)
57890  exits("cmfe_Solver_QuasiNewtonSolutionToleranceSetObj")
57891  CALL cmfe_handleerror(err,error)
57892  RETURN
57893 
57895 
57896  !
57897  !================================================================================================================================
57898  !
57899 
57901  SUBROUTINE cmfe_solver_quasinewtontrustregiondelta0setnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,delta0,err)
57902  !DLLEXPORT(cmfe_Solver_QuasiNewtonTrustRegionDelta0SetNumber0)
57903 
57904  !Argument variables
57905  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57906  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
57907  INTEGER(INTG), INTENT(IN) :: solverIndex
57908  REAL(DP), INTENT(IN) :: delta0
57909  INTEGER(INTG), INTENT(OUT) :: err
57910  !Local variables
57911  TYPE(problem_type), POINTER :: PROBLEM
57912  TYPE(solver_type), POINTER :: SOLVER
57913  TYPE(varying_string) :: LOCAL_ERROR
57914 
57915  enters("cmfe_Solver_QuasiNewtonTrustRegionDelta0SetNumber0",err,error,*999)
57916 
57917  NULLIFY(problem)
57918  NULLIFY(solver)
57919  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57920  IF(ASSOCIATED(problem)) THEN
57921  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
57922  CALL solver_quasi_newton_trustregion_delta0_set(solver,delta0,err,error,*999)
57923  ELSE
57924  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57925  & " does not exist."
57926  CALL flagerror(local_error,err,error,*999)
57927  END IF
57928 
57929  exits("cmfe_Solver_QuasiNewtonTrustRegionDelta0SetNumber0")
57930  RETURN
57931 999 errors("cmfe_Solver_QuasiNewtonTrustRegionDelta0SetNumber0",err,error)
57932  exits("cmfe_Solver_QuasiNewtonTrustRegionDelta0SetNumber0")
57933  CALL cmfe_handleerror(err,error)
57934  RETURN
57935 
57937 
57938  !
57939  !================================================================================================================================
57940  !
57941 
57943  SUBROUTINE cmfe_solver_quasinewtontrustregiondelta0setnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,delta0,err)
57944  !DLLEXPORT(cmfe_Solver_QuasiNewtonTrustRegionDelta0SetNumber1)
57945 
57946  !Argument variables
57947  INTEGER(INTG), INTENT(IN) :: problemUserNumber
57948  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
57949  INTEGER(INTG), INTENT(IN) :: solverIndex
57950  REAL(DP), INTENT(IN) :: delta0
57951  INTEGER(INTG), INTENT(OUT) :: err
57952  !Local variables
57953  TYPE(problem_type), POINTER :: PROBLEM
57954  TYPE(solver_type), POINTER :: SOLVER
57955  TYPE(varying_string) :: LOCAL_ERROR
57956 
57957  enters("cmfe_Solver_QuasiNewtonTrustRegionDelta0SetNumber1",err,error,*999)
57958 
57959  NULLIFY(problem)
57960  NULLIFY(solver)
57961  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
57962  IF(ASSOCIATED(problem)) THEN
57963  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
57964  CALL solver_quasi_newton_trustregion_delta0_set(solver,delta0,err,error,*999)
57965  ELSE
57966  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
57967  & " does not exist."
57968  CALL flagerror(local_error,err,error,*999)
57969  END IF
57970 
57971  exits("cmfe_Solver_QuasiNewtonTrustRegionDelta0SetNumber1")
57972  RETURN
57973 999 errors("cmfe_Solver_QuasiNewtonTrustRegionDelta0SetNumber1",err,error)
57974  exits("cmfe_Solver_QuasiNewtonTrustRegionDelta0SetNumber1")
57975  CALL cmfe_handleerror(err,error)
57976  RETURN
57977 
57979 
57980  !================================================================================================================================
57981  !
57982 
57984  SUBROUTINE cmfe_solver_quasinewtontrustregiondelta0setobj(solver,delta0,err)
57985  !DLLEXPORT(cmfe_Solver_QuasiNewtonTrustRegionDelta0SetObj)
57986 
57987  !Argument variables
57988  TYPE(cmfe_solvertype), INTENT(IN) :: solver
57989  REAL(DP), INTENT(IN) :: delta0
57990  INTEGER(INTG), INTENT(OUT) :: err
57991  !Local variables
57992 
57993  enters("cmfe_Solver_QuasiNewtonTrustRegionDelta0SetObj",err,error,*999)
57994 
57995  CALL solver_quasi_newton_trustregion_delta0_set(solver%SOLVER,delta0,err,error,*999)
57996 
57997  exits("cmfe_Solver_QuasiNewtonTrustRegionDelta0SetObj")
57998  RETURN
57999 999 errors("cmfe_Solver_QuasiNewtonTrustRegionDelta0SetObj",err,error)
58000  exits("cmfe_Solver_QuasiNewtonTrustRegionDelta0SetObj")
58001  CALL cmfe_handleerror(err,error)
58002  RETURN
58003 
58005 
58006  !
58007  !================================================================================================================================
58008  !
58009 
58011  SUBROUTINE cmfe_solver_quasinewtontrustregiontolerancesetnumber0(problemUserNumber,controlLoopIdentifier, &
58012  & solverindex,tolerance,err)
58013  !DLLEXPORT(cmfe_Solver_QuasiNewtonTrustRegionToleranceSetNumber0)
58014 
58015  !Argument variables
58016  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58017  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
58018  INTEGER(INTG), INTENT(IN) :: solverIndex
58019  REAL(DP), INTENT(IN) :: tolerance
58020  INTEGER(INTG), INTENT(OUT) :: err
58021  !Local variables
58022  TYPE(problem_type), POINTER :: PROBLEM
58023  TYPE(solver_type), POINTER :: SOLVER
58024  TYPE(varying_string) :: LOCAL_ERROR
58025 
58026  enters("cmfe_Solver_QuasiNewtonTrustRegionToleranceSetNumber0",err,error,*999)
58027 
58028  NULLIFY(problem)
58029  NULLIFY(solver)
58030  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58031  IF(ASSOCIATED(problem)) THEN
58032  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
58033  CALL solver_quasinewtontrustregiontoleranceset(solver,tolerance,err,error,*999)
58034  ELSE
58035  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58036  & " does not exist."
58037  CALL flagerror(local_error,err,error,*999)
58038  END IF
58039 
58040  exits("cmfe_Solver_QuasiNewtonTrustRegionToleranceSetNumber0")
58041  RETURN
58042 999 errors("cmfe_Solver_QuasiNewtonTrustRegionToleranceSetNumber0",err,error)
58043  exits("cmfe_Solver_QuasiNewtonTrustRegionToleranceSetNumber0")
58044  CALL cmfe_handleerror(err,error)
58045  RETURN
58046 
58048 
58049  !
58050  !================================================================================================================================
58051  !
58052 
58054  SUBROUTINE cmfe_solver_quasinewtontrustregiontolerancesetnumber1(problemUserNumber,controlLoopIdentifiers, &
58055  & solverindex,tolerance,err)
58056  !DLLEXPORT(cmfe_Solver_QuasiNewtonTrustRegionToleranceSetNumber1)
58057 
58058  !Argument variables
58059  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58060  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
58061  INTEGER(INTG), INTENT(IN) :: solverIndex
58062  REAL(DP), INTENT(IN) :: tolerance
58063  INTEGER(INTG), INTENT(OUT) :: err
58064  !Local variables
58065  TYPE(problem_type), POINTER :: PROBLEM
58066  TYPE(solver_type), POINTER :: SOLVER
58067  TYPE(varying_string) :: LOCAL_ERROR
58068 
58069  enters("cmfe_Solver_QuasiNewtonTrustRegionToleranceSetNumber1",err,error,*999)
58070 
58071  NULLIFY(problem)
58072  NULLIFY(solver)
58073  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58074  IF(ASSOCIATED(problem)) THEN
58075  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
58076  CALL solver_quasinewtontrustregiontoleranceset(solver,tolerance,err,error,*999)
58077  ELSE
58078  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58079  & " does not exist."
58080  CALL flagerror(local_error,err,error,*999)
58081  END IF
58082 
58083  exits("cmfe_Solver_QuasiNewtonTrustRegionToleranceSetNumber1")
58084  RETURN
58085 999 errors("cmfe_Solver_QuasiNewtonTrustRegionToleranceSetNumber1",err,error)
58086  exits("cmfe_Solver_QuasiNewtonTrustRegionToleranceSetNumber1")
58087  CALL cmfe_handleerror(err,error)
58088  RETURN
58089 
58091 
58092  !================================================================================================================================
58093  !
58094 
58096  SUBROUTINE cmfe_solver_quasinewtontrustregiontolerancesetobj(solver,tolerance,err)
58097  !DLLEXPORT(cmfe_Solver_QuasiNewtonTrustRegionToleranceSetObj)
58098 
58099  !Argument variables
58100  TYPE(cmfe_solvertype), INTENT(IN) :: solver
58101  REAL(DP), INTENT(IN) :: tolerance
58102  INTEGER(INTG), INTENT(OUT) :: err
58103  !Local variables
58104 
58105  enters("cmfe_Solver_QuasiNewtonTrustRegionToleranceSetObj",err,error,*999)
58106 
58107  CALL solver_quasinewtontrustregiontoleranceset(solver%solver,tolerance,err,error,*999)
58108 
58109  exits("cmfe_Solver_QuasiNewtonTrustRegionToleranceSetObj")
58110  RETURN
58111 999 errors("cmfe_Solver_QuasiNewtonTrustRegionToleranceSetObj",err,error)
58112  exits("cmfe_Solver_QuasiNewtonTrustRegionToleranceSetObj")
58113  CALL cmfe_handleerror(err,error)
58114  RETURN
58115 
58117 
58118  !
58119  !================================================================================================================================
58120  !
58121 
58123  SUBROUTINE cmfe_solver_quasinewtonrestartsetnumber0(problemUserNumber,controlLoopIdentifier, &
58124  & solverindex,quasinewtonrestart,err)
58125  !DLLEXPORT(cmfe_Solver_QuasiNewtonRestartSetNumber0)
58126 
58127  !Argument variables
58128  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58129  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
58130  INTEGER(INTG), INTENT(IN) :: solverIndex
58131  INTEGER(INTG), INTENT(IN) :: quasiNewtonRestart
58132  INTEGER(INTG), INTENT(OUT) :: err
58133  !Local variables
58134  TYPE(problem_type), POINTER :: PROBLEM
58135  TYPE(solver_type), POINTER :: SOLVER
58136  TYPE(varying_string) :: LOCAL_ERROR
58137 
58138  enters("cmfe_Solver_QuasiNewtonRestartSetNumber0",err,error,*999)
58139 
58140  NULLIFY(problem)
58141  NULLIFY(solver)
58142  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58143  IF(ASSOCIATED(problem)) THEN
58144  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
58145  CALL solver_quasi_newton_restart_set(solver,quasinewtonrestart,err,error,*999)
58146  ELSE
58147  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58148  & " does not exist."
58149  CALL flagerror(local_error,err,error,*999)
58150  END IF
58151 
58152  exits("cmfe_Solver_QuasiNewtonRestartSetNumber0")
58153  RETURN
58154 999 errorsexits("cmfe_Solver_QuasiNewtonRestartSetNumber0",err,error)
58155  CALL cmfe_handleerror(err,error)
58156  RETURN
58157 
58159 
58160  !
58161  !================================================================================================================================
58162  !
58163 
58165  SUBROUTINE cmfe_solver_quasinewtonrestartsetnumber1(problemUserNumber,controlLoopIdentifiers, &
58166  & solverindex,quasinewtonrestart,err)
58167  !DLLEXPORT(cmfe_Solver_QuasiNewtonRestartSetNumber1)
58168 
58169  !Argument variables
58170  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58171  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
58172  INTEGER(INTG), INTENT(IN) :: solverIndex
58173  INTEGER(INTG), INTENT(IN) :: quasiNewtonRestart
58174  INTEGER(INTG), INTENT(OUT) :: err
58175  !Local variables
58176  TYPE(problem_type), POINTER :: PROBLEM
58177  TYPE(solver_type), POINTER :: SOLVER
58178  TYPE(varying_string) :: LOCAL_ERROR
58179 
58180  enters("cmfe_Solver_QuasiNewtonRestartSetNumber1",err,error,*999)
58181 
58182  NULLIFY(problem)
58183  NULLIFY(solver)
58184  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58185  IF(ASSOCIATED(problem)) THEN
58186  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
58187  CALL solver_quasi_newton_restart_set(solver,quasinewtonrestart,err,error,*999)
58188  ELSE
58189  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58190  & " does not exist."
58191  CALL flagerror(local_error,err,error,*999)
58192  END IF
58193 
58194  exits("cmfe_Solver_QuasiNewtonRestartSetNumber1")
58195  RETURN
58196 999 errorsexits("cmfe_Solver_QuasiNewtonRestartSetNumber1",err,error)
58197  CALL cmfe_handleerror(err,error)
58198  RETURN
58199 
58201 
58202  !================================================================================================================================
58203  !
58204 
58206  SUBROUTINE cmfe_solver_quasinewtonrestartsetobj(solver,quasiNewtonRestart,err)
58207  !DLLEXPORT(cmfe_Solver_QuasiNewtonRestartSetObj)
58208 
58209  !Argument variables
58210  TYPE(cmfe_solvertype), INTENT(IN) :: solver
58211  INTEGER(INTG), INTENT(IN) :: quasiNewtonRestart
58212  INTEGER(INTG), INTENT(OUT) :: err
58213  !Local variables
58214 
58215  enters("cmfe_Solver_QuasiNewtonRestartSetObj",err,error,*999)
58216 
58217  CALL solver_quasi_newton_restart_set(solver%SOLVER,quasinewtonrestart,err,error,*999)
58218 
58219  exits("cmfe_Solver_QuasiNewtonRestartSetObj")
58220  RETURN
58221 999 errorsexits("cmfe_Solver_QuasiNewtonRestartSetObj",err,error)
58222  CALL cmfe_handleerror(err,error)
58223  RETURN
58224 
58226 
58227  !
58228  !================================================================================================================================
58229  !
58230 
58232  SUBROUTINE cmfe_solver_quasinewtonrestarttypesetnumber0(problemUserNumber,controlLoopIdentifier, &
58233  & solverindex,quasinewtonrestarttype,err)
58234  !DLLEXPORT(cmfe_Solver_QuasiNewtonRestartTypeSetNumber0)
58235 
58236  !Argument variables
58237  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58238  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
58239  INTEGER(INTG), INTENT(IN) :: solverIndex
58240  INTEGER(INTG), INTENT(IN) :: quasiNewtonRestartType
58241  INTEGER(INTG), INTENT(OUT) :: err
58242  !Local variables
58243  TYPE(problem_type), POINTER :: PROBLEM
58244  TYPE(solver_type), POINTER :: SOLVER
58245  TYPE(varying_string) :: LOCAL_ERROR
58246 
58247  enters("cmfe_Solver_QuasiNewtonRestartTypeSetNumber0",err,error,*999)
58248 
58249  NULLIFY(problem)
58250  NULLIFY(solver)
58251  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58252  IF(ASSOCIATED(problem)) THEN
58253  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
58254  CALL solver_quasi_newton_restart_type_set(solver,quasinewtonrestarttype,err,error,*999)
58255  ELSE
58256  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58257  & " does not exist."
58258  CALL flagerror(local_error,err,error,*999)
58259  END IF
58260 
58261  exits("cmfe_Solver_QuasiNewtonRestartTypeSetNumber0")
58262  RETURN
58263 999 errors("cmfe_Solver_QuasiNewtonRestartTypeSetNumber0",err,error)
58264  exits("cmfe_Solver_QuasiNewtonRestartTypeSetNumber0")
58265  CALL cmfe_handleerror(err,error)
58266  RETURN
58267 
58269 
58270  !
58271  !================================================================================================================================
58272  !
58273 
58275  SUBROUTINE cmfe_solver_quasinewtonrestarttypesetnumber1(problemUserNumber,controlLoopIdentifiers, &
58276  & solverindex,quasinewtonrestarttype,err)
58277  !DLLEXPORT(cmfe_Solver_QuasiNewtonRestartTypeSetNumber1)
58278 
58279  !Argument variables
58280  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58281  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
58282  INTEGER(INTG), INTENT(IN) :: solverIndex
58283  INTEGER(INTG), INTENT(IN) :: quasiNewtonRestartType
58284  INTEGER(INTG), INTENT(OUT) :: err
58285  !Local variables
58286  TYPE(problem_type), POINTER :: PROBLEM
58287  TYPE(solver_type), POINTER :: SOLVER
58288  TYPE(varying_string) :: LOCAL_ERROR
58289 
58290  enters("cmfe_Solver_QuasiNewtonRestartTypeSetNumber1",err,error,*999)
58291 
58292  NULLIFY(problem)
58293  NULLIFY(solver)
58294  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58295  IF(ASSOCIATED(problem)) THEN
58296  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
58297  CALL solver_quasi_newton_restart_type_set(solver,quasinewtonrestarttype,err,error,*999)
58298  ELSE
58299  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58300  & " does not exist."
58301  CALL flagerror(local_error,err,error,*999)
58302  END IF
58303 
58304  exits("cmfe_Solver_QuasiNewtonRestartTypeSetNumber1")
58305  RETURN
58306 999 errors("cmfe_Solver_QuasiNewtonRestartTypeSetNumber1",err,error)
58307  exits("cmfe_Solver_QuasiNewtonRestartTypeSetNumber1")
58308  CALL cmfe_handleerror(err,error)
58309  RETURN
58310 
58312 
58313  !================================================================================================================================
58314  !
58315 
58317  SUBROUTINE cmfe_solver_quasinewtonrestarttypesetobj(solver,quasiNewtonRestartType,err)
58318  !DLLEXPORT(cmfe_Solver_QuasiNewtonRestartTypeSetObj)
58319 
58320  !Argument variables
58321  TYPE(cmfe_solvertype), INTENT(IN) :: solver
58322  INTEGER(INTG), INTENT(IN) :: quasiNewtonRestartType
58323  INTEGER(INTG), INTENT(OUT) :: err
58324  !Local variables
58325 
58326  enters("cmfe_Solver_QuasiNewtonRestartTypeSetObj",err,error,*999)
58327 
58328  CALL solver_quasi_newton_restart_type_set(solver%SOLVER,quasinewtonrestarttype,err,error,*999)
58329 
58330  exits("cmfe_Solver_QuasiNewtonRestartTypeSetObj")
58331  RETURN
58332 999 errorsexits("cmfe_Solver_QuasiNewtonRestartTypeSetObj",err,error)
58333  CALL cmfe_handleerror(err,error)
58334  RETURN
58335 
58337 
58338  !
58339  !================================================================================================================================
58340  !
58341 
58343  SUBROUTINE cmfe_solver_quasinewtonscaletypesetnumber0(problemUserNumber,controlLoopIdentifier, &
58344  & solverindex,quasinewtonscaletype,err)
58345  !DLLEXPORT(cmfe_Solver_QuasiNewtonScaleTypeSetNumber0)
58346 
58347  !Argument variables
58348  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58349  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
58350  INTEGER(INTG), INTENT(IN) :: solverIndex
58351  INTEGER(INTG), INTENT(IN) :: quasiNewtonScaleType
58352  INTEGER(INTG), INTENT(OUT) :: err
58353  !Local variables
58354  TYPE(problem_type), POINTER :: PROBLEM
58355  TYPE(solver_type), POINTER :: SOLVER
58356  TYPE(varying_string) :: LOCAL_ERROR
58357 
58358  enters("cmfe_Solver_QuasiNewtonScaleTypeSetNumber0",err,error,*999)
58359 
58360  NULLIFY(problem)
58361  NULLIFY(solver)
58362  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58363  IF(ASSOCIATED(problem)) THEN
58364  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
58365  CALL solver_quasi_newton_scale_type_set(solver,quasinewtonscaletype,err,error,*999)
58366  ELSE
58367  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58368  & " does not exist."
58369  CALL flagerror(local_error,err,error,*999)
58370  END IF
58371 
58372  exits("cmfe_Solver_QuasiNewtonScaleTypeSetNumber0")
58373  RETURN
58374 999 errorsexits("cmfe_Solver_QuasiNewtonScaleTypeSetNumber0",err,error)
58375  CALL cmfe_handleerror(err,error)
58376  RETURN
58377 
58379 
58380  !
58381  !================================================================================================================================
58382  !
58383 
58385  SUBROUTINE cmfe_solver_quasinewtonscaletypesetnumber1(problemUserNumber,controlLoopIdentifiers, &
58386  & solverindex,quasinewtonscaletype,err)
58387  !DLLEXPORT(cmfe_Solver_QuasiNewtonScaleTypeSetNumber1)
58388 
58389  !Argument variables
58390  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58391  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
58392  INTEGER(INTG), INTENT(IN) :: solverIndex
58393  INTEGER(INTG), INTENT(IN) :: quasiNewtonScaleType
58394  INTEGER(INTG), INTENT(OUT) :: err
58395  !Local variables
58396  TYPE(problem_type), POINTER :: PROBLEM
58397  TYPE(solver_type), POINTER :: SOLVER
58398  TYPE(varying_string) :: LOCAL_ERROR
58399 
58400  enters("cmfe_Solver_QuasiNewtonScaleTypeSetNumber1",err,error,*999)
58401 
58402  NULLIFY(problem)
58403  NULLIFY(solver)
58404  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58405  IF(ASSOCIATED(problem)) THEN
58406  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
58407  CALL solver_quasi_newton_scale_type_set(solver,quasinewtonscaletype,err,error,*999)
58408  ELSE
58409  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58410  & " does not exist."
58411  CALL flagerror(local_error,err,error,*999)
58412  END IF
58413 
58414  exits("cmfe_Solver_QuasiNewtonScaleTypeSetNumber1")
58415  RETURN
58416 999 errorsexits("cmfe_Solver_QuasiNewtonScaleTypeSetNumber1",err,error)
58417  CALL cmfe_handleerror(err,error)
58418  RETURN
58419 
58421 
58422  !================================================================================================================================
58423  !
58424 
58426  SUBROUTINE cmfe_solver_quasinewtonscaletypesetobj(solver,quasiNewtonScaleType,err)
58427  !DLLEXPORT(cmfe_Solver_QuasiNewtonScaleTypeSetObj)
58428 
58429  !Argument variables
58430  TYPE(cmfe_solvertype), INTENT(IN) :: solver
58431  INTEGER(INTG), INTENT(IN) :: quasiNewtonScaleType
58432  INTEGER(INTG), INTENT(OUT) :: err
58433  !Local variables
58434 
58435  enters("cmfe_Solver_QuasiNewtonScaleTypeSetObj",err,error,*999)
58436 
58437  CALL solver_quasi_newton_scale_type_set(solver%SOLVER,quasinewtonscaletype,err,error,*999)
58438 
58439  exits("cmfe_Solver_QuasiNewtonScaleTypeSetObj")
58440  RETURN
58441 999 errorsexits("cmfe_Solver_QuasiNewtonScaleTypeSetObj",err,error)
58442  CALL cmfe_handleerror(err,error)
58443  RETURN
58444 
58446 
58447  !
58448  !================================================================================================================================
58449  !
58450 
58452  SUBROUTINE cmfe_solver_quasinewtonsolvetypesetnumber0(problemUserNumber,controlLoopIdentifier, &
58453  & solverindex,quasinewtonsolvetype,err)
58454  !DLLEXPORT(cmfe_Solver_QuasiNewtonSolveTypeSetNumber0)
58455 
58456  !Argument variables
58457  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58458  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
58459  INTEGER(INTG), INTENT(IN) :: solverIndex
58460  INTEGER(INTG), INTENT(IN) :: quasiNewtonSolveType
58461  INTEGER(INTG), INTENT(OUT) :: err
58462  !Local variables
58463  TYPE(problem_type), POINTER :: PROBLEM
58464  TYPE(solver_type), POINTER :: SOLVER
58465  TYPE(varying_string) :: LOCAL_ERROR
58466 
58467  enters("cmfe_Solver_QuasiNewtonSolveTypeSetNumber0",err,error,*999)
58468 
58469  NULLIFY(problem)
58470  NULLIFY(solver)
58471  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58472  IF(ASSOCIATED(problem)) THEN
58473  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
58474  CALL solver_quasi_newton_solve_type_set(solver,quasinewtonsolvetype,err,error,*999)
58475  ELSE
58476  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58477  & " does not exist."
58478  CALL flagerror(local_error,err,error,*999)
58479  END IF
58480 
58481  exits("cmfe_Solver_QuasiNewtonSolveTypeSetNumber0")
58482  RETURN
58483 999 errorsexits("cmfe_Solver_QuasiNewtonSolveTypeSetNumber0",err,error)
58484  CALL cmfe_handleerror(err,error)
58485  RETURN
58486 
58488 
58489  !
58490  !================================================================================================================================
58491  !
58492 
58494  SUBROUTINE cmfe_solver_quasinewtonsolvetypesetnumber1(problemUserNumber,controlLoopIdentifiers, &
58495  & solverindex,quasinewtonsolvetype,err)
58496  !DLLEXPORT(cmfe_Solver_QuasiNewtonSolveTypeSetNumber1)
58497 
58498  !Argument variables
58499  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58500  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
58501  INTEGER(INTG), INTENT(IN) :: solverIndex
58502  INTEGER(INTG), INTENT(IN) :: quasiNewtonSolveType
58503  INTEGER(INTG), INTENT(OUT) :: err
58504  !Local variables
58505  TYPE(problem_type), POINTER :: PROBLEM
58506  TYPE(solver_type), POINTER :: SOLVER
58507  TYPE(varying_string) :: LOCAL_ERROR
58508 
58509  enters("cmfe_Solver_QuasiNewtonSolveTypeSetNumber1",err,error,*999)
58510 
58511  NULLIFY(problem)
58512  NULLIFY(solver)
58513  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58514  IF(ASSOCIATED(problem)) THEN
58515  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
58516  CALL solver_quasi_newton_solve_type_set(solver,quasinewtonsolvetype,err,error,*999)
58517  ELSE
58518  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58519  & " does not exist."
58520  CALL flagerror(local_error,err,error,*999)
58521  END IF
58522 
58523  exits("cmfe_Solver_QuasiNewtonSolveTypeSetNumber1")
58524  RETURN
58525 999 errorsexits("cmfe_Solver_QuasiNewtonSolveTypeSetNumber1",err,error)
58526  CALL cmfe_handleerror(err,error)
58527  RETURN
58528 
58530 
58531  !================================================================================================================================
58532  !
58533 
58535  SUBROUTINE cmfe_solver_quasinewtonsolvetypesetobj(solver,quasiNewtonSolveType,err)
58536  !DLLEXPORT(cmfe_Solver_QuasiNewtonSolveTypeSetObj)
58537 
58538  !Argument variables
58539  TYPE(cmfe_solvertype), INTENT(IN) :: solver
58540  INTEGER(INTG), INTENT(IN) :: quasiNewtonSolveType
58541  INTEGER(INTG), INTENT(OUT) :: err
58542  !Local variables
58543 
58544  enters("cmfe_Solver_QuasiNewtonSolveTypeSetObj",err,error,*999)
58545 
58546  CALL solver_quasi_newton_solve_type_set(solver%SOLVER,quasinewtonsolvetype,err,error,*999)
58547 
58548  exits("cmfe_Solver_QuasiNewtonSolveTypeSetObj")
58549  RETURN
58550 999 errorsexits("cmfe_Solver_QuasiNewtonSolveTypeSetObj",err,error)
58551  CALL cmfe_handleerror(err,error)
58552  RETURN
58553 
58555 
58556  !
58557  !================================================================================================================================
58558  !
58559 
58561  SUBROUTINE cmfe_solver_quasinewtontypesetnumber0(problemUserNumber,controlLoopIdentifier, &
58562  & solverindex,quasinewtontype,err)
58563  !DLLEXPORT(cmfe_Solver_QuasiNewtonTypeSetNumber0)
58564 
58565  !Argument variables
58566  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58567  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
58568  INTEGER(INTG), INTENT(IN) :: solverIndex
58569  INTEGER(INTG), INTENT(IN) :: quasiNewtonType
58570  INTEGER(INTG), INTENT(OUT) :: err
58571  !Local variables
58572  TYPE(problem_type), POINTER :: PROBLEM
58573  TYPE(solver_type), POINTER :: SOLVER
58574  TYPE(varying_string) :: LOCAL_ERROR
58575 
58576  enters("cmfe_Solver_QuasiNewtonTypeSetNumber0",err,error,*999)
58577 
58578  NULLIFY(problem)
58579  NULLIFY(solver)
58580  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58581  IF(ASSOCIATED(problem)) THEN
58582  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
58583  CALL solver_quasi_newton_type_set(solver,quasinewtontype,err,error,*999)
58584  ELSE
58585  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58586  & " does not exist."
58587  CALL flagerror(local_error,err,error,*999)
58588  END IF
58589 
58590  exits("cmfe_Solver_QuasiNewtonTypeSetNumber0")
58591  RETURN
58592 999 errorsexits("cmfe_Solver_QuasiNewtonTypeSetNumber0",err,error)
58593  CALL cmfe_handleerror(err,error)
58594  RETURN
58595 
58597 
58598  !
58599  !================================================================================================================================
58600  !
58601 
58603  SUBROUTINE cmfe_solver_quasinewtontypesetnumber1(problemUserNumber,controlLoopIdentifiers, &
58604  & solverindex,quasinewtontype,err)
58605  !DLLEXPORT(cmfe_Solver_QuasiNewtonTypeSetNumber1)
58606 
58607  !Argument variables
58608  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58609  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
58610  INTEGER(INTG), INTENT(IN) :: solverIndex
58611  INTEGER(INTG), INTENT(IN) :: quasiNewtonType
58612  INTEGER(INTG), INTENT(OUT) :: err
58613  !Local variables
58614  TYPE(problem_type), POINTER :: PROBLEM
58615  TYPE(solver_type), POINTER :: SOLVER
58616  TYPE(varying_string) :: LOCAL_ERROR
58617 
58618  enters("cmfe_Solver_QuasiNewtonTypeSetNumber1",err,error,*999)
58619 
58620  NULLIFY(problem)
58621  NULLIFY(solver)
58622  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58623  IF(ASSOCIATED(problem)) THEN
58624  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
58625  CALL solver_quasi_newton_type_set(solver,quasinewtontype,err,error,*999)
58626  ELSE
58627  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58628  & " does not exist."
58629  CALL flagerror(local_error,err,error,*999)
58630  END IF
58631 
58632  exits("cmfe_Solver_QuasiNewtonTypeSetNumber1")
58633  RETURN
58634 999 errorsexits("cmfe_Solver_QuasiNewtonTypeSetNumber1",err,error)
58635  CALL cmfe_handleerror(err,error)
58636  RETURN
58637 
58639 
58640  !================================================================================================================================
58641  !
58642 
58644  SUBROUTINE cmfe_solver_quasinewtontypesetobj(solver,quasiNewtonType,err)
58645  !DLLEXPORT(cmfe_Solver_QuasiNewtonTypeSetObj)
58646 
58647  !Argument variables
58648  TYPE(cmfe_solvertype), INTENT(IN) :: solver
58649  INTEGER(INTG), INTENT(IN) :: quasiNewtonType
58650  INTEGER(INTG), INTENT(OUT) :: err
58651  !Local variables
58652 
58653  enters("cmfe_Solver_QuasiNewtonTypeSetObj",err,error,*999)
58654 
58655  CALL solver_quasi_newton_type_set(solver%SOLVER,quasinewtontype,err,error,*999)
58656 
58657  exits("cmfe_Solver_QuasiNewtonTypeSetObj")
58658  RETURN
58659 999 errorsexits("cmfe_Solver_QuasiNewtonTypeSetObj",err,error)
58660  CALL cmfe_handleerror(err,error)
58661  RETURN
58662 
58663  END SUBROUTINE cmfe_solver_quasinewtontypesetobj
58664 
58665  !
58666  !================================================================================================================================
58667  !
58668 
58670  SUBROUTINE cmfe_solver_nonlineartypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,nonlinearSolveType,err)
58671  !DLLEXPORT(cmfe_Solver_NonlinearTypeSetNumber0)
58672 
58673  !Argument variables
58674  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58675  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
58676  INTEGER(INTG), INTENT(IN) :: solverIndex
58677  INTEGER(INTG), INTENT(IN) :: nonlinearSolveType
58678  INTEGER(INTG), INTENT(OUT) :: err
58679  !Local variables
58680  TYPE(problem_type), POINTER :: PROBLEM
58681  TYPE(solver_type), POINTER :: SOLVER
58682  TYPE(varying_string) :: LOCAL_ERROR
58683 
58684  enters("cmfe_Solver_NonlinearTypeSetNumber0",err,error,*999)
58685 
58686  NULLIFY(problem)
58687  NULLIFY(solver)
58688  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58689  IF(ASSOCIATED(problem)) THEN
58690  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
58691  CALL solver_nonlinear_type_set(solver,nonlinearsolvetype,err,error,*999)
58692  ELSE
58693  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58694  & " does not exist."
58695  CALL flagerror(local_error,err,error,*999)
58696  END IF
58697 
58698  exits("cmfe_Solver_NonlinearTypeSetNumber0")
58699  RETURN
58700 999 errorsexits("cmfe_Solver_NonlinearTypeSetNumber0",err,error)
58701  CALL cmfe_handleerror(err,error)
58702  RETURN
58703 
58705 
58706  !
58707  !================================================================================================================================
58708  !
58709 
58711  SUBROUTINE cmfe_solver_nonlineartypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,nonlinearSolveType,err)
58712  !DLLEXPORT(cmfe_Solver_NonlinearTypeSetNumber1)
58713 
58714  !Argument variables
58715  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58716  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
58717  INTEGER(INTG), INTENT(IN) :: solverIndex
58718  INTEGER(INTG), INTENT(IN) :: nonlinearSolveType
58719  INTEGER(INTG), INTENT(OUT) :: err
58720  !Local variables
58721  TYPE(problem_type), POINTER :: PROBLEM
58722  TYPE(solver_type), POINTER :: SOLVER
58723  TYPE(varying_string) :: LOCAL_ERROR
58724 
58725  enters("cmfe_Solver_NonlinearTypeSetNumber1",err,error,*999)
58726 
58727  NULLIFY(problem)
58728  NULLIFY(solver)
58729  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58730  IF(ASSOCIATED(problem)) THEN
58731  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
58732  CALL solver_nonlinear_type_set(solver,nonlinearsolvetype,err,error,*999)
58733  ELSE
58734  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58735  & " does not exist."
58736  CALL flagerror(local_error,err,error,*999)
58737  END IF
58738 
58739  exits("cmfe_Solver_NonlinearTypeSetNumber1")
58740  RETURN
58741 999 errorsexits("cmfe_Solver_NonlinearTypeSetNumber1",err,error)
58742  CALL cmfe_handleerror(err,error)
58743  RETURN
58744 
58746 
58747  !================================================================================================================================
58748  !
58749 
58751  SUBROUTINE cmfe_solver_nonlineartypesetobj(solver,nonlinearSolveType,err)
58752  !DLLEXPORT(cmfe_Solver_NonlinearTypeSetObj)
58753 
58754  !Argument variables
58755  TYPE(cmfe_solvertype), INTENT(IN) :: solver
58756  INTEGER(INTG), INTENT(IN) :: nonlinearSolveType
58757  INTEGER(INTG), INTENT(OUT) :: err
58758  !Local variables
58759 
58760  enters("cmfe_Solver_NonlinearTypeSetObj",err,error,*999)
58761 
58762  CALL solver_nonlinear_type_set(solver%SOLVER,nonlinearsolvetype,err,error,*999)
58763 
58764  exits("cmfe_Solver_NonlinearTypeSetObj")
58765  RETURN
58766 999 errorsexits("cmfe_Solver_NonlinearTypeSetObj",err,error)
58767  CALL cmfe_handleerror(err,error)
58768  RETURN
58769 
58770  END SUBROUTINE cmfe_solver_nonlineartypesetobj
58771 
58772  !
58773  !================================================================================================================================
58774  !
58775 
58777  SUBROUTINE cmfe_solver_outputtypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,outputType,err)
58778  !DLLEXPORT(cmfe_Solver_OutputTypeSetNumber0)
58779 
58780  !Argument variables
58781  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58782  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
58783  INTEGER(INTG), INTENT(IN) :: solverIndex
58784  INTEGER(INTG), INTENT(IN) :: outputType
58785  INTEGER(INTG), INTENT(OUT) :: err
58786  !Local variables
58787  TYPE(problem_type), POINTER :: PROBLEM
58788  TYPE(solver_type), POINTER :: SOLVER
58789  TYPE(varying_string) :: LOCAL_ERROR
58790 
58791  enters("cmfe_Solver_OutputTypeSetNumber0",err,error,*999)
58792 
58793  NULLIFY(problem)
58794  NULLIFY(solver)
58795  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58796  IF(ASSOCIATED(problem)) THEN
58797  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
58798  CALL solver_output_type_set(solver,outputtype,err,error,*999)
58799  ELSE
58800  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58801  & " does not exist."
58802  CALL flagerror(local_error,err,error,*999)
58803  END IF
58804 
58805  exits("cmfe_Solver_OutputTypeSetNumber0")
58806  RETURN
58807 999 errorsexits("cmfe_Solver_OutputTypeSetNumber0",err,error)
58808  CALL cmfe_handleerror(err,error)
58809  RETURN
58810 
58811  END SUBROUTINE cmfe_solver_outputtypesetnumber0
58812 
58813  !
58814  !================================================================================================================================
58815  !
58816 
58818  SUBROUTINE cmfe_solver_outputtypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,outputType,err)
58819  !DLLEXPORT(cmfe_Solver_OutputTypeSetNumber1)
58820 
58821  !Argument variables
58822  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58823  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
58824  INTEGER(INTG), INTENT(IN) :: solverIndex
58825  INTEGER(INTG), INTENT(IN) :: outputType
58826  INTEGER(INTG), INTENT(OUT) :: err
58827  !Local variables
58828  TYPE(problem_type), POINTER :: PROBLEM
58829  TYPE(solver_type), POINTER :: SOLVER
58830  TYPE(varying_string) :: LOCAL_ERROR
58831 
58832  enters("cmfe_Solver_OutputTypeSetNumber1",err,error,*999)
58833 
58834  NULLIFY(problem)
58835  NULLIFY(solver)
58836  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58837  IF(ASSOCIATED(problem)) THEN
58838  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
58839  CALL solver_output_type_set(solver,outputtype,err,error,*999)
58840  ELSE
58841  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58842  & " does not exist."
58843  CALL flagerror(local_error,err,error,*999)
58844  END IF
58845 
58846  exits("cmfe_Solver_OutputTypeSetNumber1")
58847  RETURN
58848 999 errorsexits("cmfe_Solver_OutputTypeSetNumber1",err,error)
58849  CALL cmfe_handleerror(err,error)
58850  RETURN
58851 
58852  END SUBROUTINE cmfe_solver_outputtypesetnumber1
58853 
58854  !================================================================================================================================
58855  !
58856 
58858  SUBROUTINE cmfe_solver_outputtypesetobj(solver,outputType,err)
58859  !DLLEXPORT(cmfe_Solver_OutputTypeSetObj)
58860 
58861  !Argument variables
58862  TYPE(cmfe_solvertype), INTENT(IN) :: solver
58863  INTEGER(INTG), INTENT(IN) :: outputType
58864  INTEGER(INTG), INTENT(OUT) :: err
58865  !Local variables
58866 
58867  enters("cmfe_Solver_OutputTypeSetObj",err,error,*999)
58868 
58869  CALL solver_output_type_set(solver%SOLVER,outputtype,err,error,*999)
58870 
58871  exits("cmfe_Solver_OutputTypeSetObj")
58872  RETURN
58873 999 errorsexits("cmfe_Solver_OutputTypeSetObj",err,error)
58874  CALL cmfe_handleerror(err,error)
58875  RETURN
58876 
58877  END SUBROUTINE cmfe_solver_outputtypesetobj
58878 
58879  !
58880  !================================================================================================================================
58881  !
58882 
58884  SUBROUTINE cmfe_solver_solverequationsgetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,solverEquations,err)
58885  !DLLEXPORT(cmfe_Solver_SolverEquationsGetNumber0)
58886 
58887  !Argument variables
58888  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58889  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
58890  INTEGER(INTG), INTENT(IN) :: solverIndex
58891  TYPE(cmfe_solverequationstype), INTENT(INOUT) :: solverEquations
58892  INTEGER(INTG), INTENT(OUT) :: err
58893  !Local variables
58894  TYPE(problem_type), POINTER :: PROBLEM
58895  TYPE(solver_type), POINTER :: SOLVER
58896  TYPE(varying_string) :: LOCAL_ERROR
58897 
58898  enters("cmfe_Solver_SolverEquationsGetNumber0",err,error,*999)
58899 
58900  NULLIFY(problem)
58901  NULLIFY(solver)
58902  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58903  IF(ASSOCIATED(problem)) THEN
58904  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
58905  CALL solver_solver_equations_get(solver,solverequations%solverEquations,err,error,*999)
58906  ELSE
58907  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58908  & " does not exist."
58909  CALL flagerror(local_error,err,error,*999)
58910  END IF
58911 
58912  exits("cmfe_Solver_SolverEquationsGetNumber0")
58913  RETURN
58914 999 errorsexits("cmfe_Solver_SolverEquationsGetNumber0",err,error)
58915  CALL cmfe_handleerror(err,error)
58916  RETURN
58917 
58919 
58920  !
58921  !================================================================================================================================
58922  !
58923 
58925  SUBROUTINE cmfe_solver_solverequationsgetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,solverEquations,err)
58926  !DLLEXPORT(cmfe_Solver_SolverEquationsGetNumber1)
58927 
58928  !Argument variables
58929  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58930  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
58931  INTEGER(INTG), INTENT(IN) :: solverIndex
58932  TYPE(cmfe_solverequationstype), INTENT(INOUT) :: solverEquations
58933  INTEGER(INTG), INTENT(OUT) :: err
58934  !Local variables
58935  TYPE(problem_type), POINTER :: PROBLEM
58936  TYPE(solver_type), POINTER :: SOLVER
58937  TYPE(varying_string) :: LOCAL_ERROR
58938 
58939  enters("cmfe_Solver_SolverEquationsGetNumber1",err,error,*999)
58940 
58941  NULLIFY(problem)
58942  NULLIFY(solver)
58943  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
58944  IF(ASSOCIATED(problem)) THEN
58945  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
58946  CALL solver_solver_equations_get(solver,solverequations%solverEquations,err,error,*999)
58947  ELSE
58948  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
58949  & " does not exist."
58950  CALL flagerror(local_error,err,error,*999)
58951  END IF
58952 
58953  exits("cmfe_Solver_SolverEquationsGetNumber1")
58954  RETURN
58955 999 errorsexits("cmfe_Solver_SolverEquationsGetNumber1",err,error)
58956  CALL cmfe_handleerror(err,error)
58957  RETURN
58958 
58960 
58961  !================================================================================================================================
58962  !
58963 
58965  SUBROUTINE cmfe_solver_solverequationsgetobj(solver,solverEquations,err)
58966  !DLLEXPORT(cmfe_Solver_SolverEquationsGetObj)
58967 
58968  !Argument variables
58969  TYPE(cmfe_solvertype), INTENT(IN) :: solver
58970  TYPE(cmfe_solverequationstype), INTENT(INOUT) :: solverEquations
58971  INTEGER(INTG), INTENT(OUT) :: err
58972  !Local variables
58973 
58974  enters("cmfe_Solver_SolverEquationsGetObj",err,error,*999)
58975 
58976  CALL solver_solver_equations_get(solver%SOLVER,solverequations%solverEquations,err,error,*999)
58977 
58978  exits("cmfe_Solver_SolverEquationsGetObj")
58979  RETURN
58980 999 errorsexits("cmfe_Solver_SolverEquationsGetObj",err,error)
58981  CALL cmfe_handleerror(err,error)
58982  RETURN
58983 
58984  END SUBROUTINE cmfe_solver_solverequationsgetobj
58985 
58986  !
58987  !================================================================================================================================
58988  !
58989 
58991  SUBROUTINE cmfe_solverequations_equationssetaddnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
58992  & regionusernumber,equationssetusernumber,equationssetindex,err)
58993  !DLLEXPORT(cmfe_SolverEquations_EquationsSetAddNumber0)
58994 
58995  !Argument variables
58996  INTEGER(INTG), INTENT(IN) :: problemUserNumber
58997  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
58998  INTEGER(INTG), INTENT(IN) :: solverIndex
58999  INTEGER(INTG), INTENT(IN) :: regionUserNumber
59000  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
59001  INTEGER(INTG), INTENT(OUT) :: equationsSetIndex
59002  INTEGER(INTG), INTENT(OUT) :: err
59003  !Local variables
59004  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
59005  TYPE(problem_type), POINTER :: PROBLEM
59006  TYPE(region_type), POINTER :: REGION
59007  TYPE(solver_type), POINTER :: SOLVER
59008  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
59009  TYPE(varying_string) :: LOCAL_ERROR
59010 
59011  enters("cmfe_SolverEquations_EquationsSetAddNumber0",err,error,*999)
59012 
59013  NULLIFY(problem)
59014  NULLIFY(solver)
59015  NULLIFY(solver_equations)
59016  NULLIFY(region)
59017  NULLIFY(equations_set)
59018  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
59019  IF(ASSOCIATED(problem)) THEN
59020  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
59021  CALL solver_solver_equations_get(solver,solver_equations,err,error,*999)
59022  CALL region_user_number_find(regionusernumber,region,err,error,*999)
59023  IF(ASSOCIATED(region)) THEN
59024  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
59025  IF(ASSOCIATED(equations_set)) THEN
59026  CALL solver_equations_equations_set_add(solver_equations,equations_set,equationssetindex,err,error,*999)
59027  ELSE
59028  local_error="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
59029  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
59030  CALL flagerror(local_error,err,error,*999)
59031  END IF
59032  ELSE
59033  local_error="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
59034  & " does not exist."
59035  CALL flagerror(local_error,err,error,*999)
59036  END IF
59037  ELSE
59038  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
59039  & " does not exist."
59040  CALL flagerror(local_error,err,error,*999)
59041  END IF
59042 
59043  exits("cmfe_SolverEquations_EquationsSetAddNumber0")
59044  RETURN
59045 999 errorsexits("cmfe_SolverEquations_EquationsSetAddNumber0",err,error)
59046  CALL cmfe_handleerror(err,error)
59047  RETURN
59048 
59050 
59051  !
59052  !================================================================================================================================
59053  !
59054 
59056  SUBROUTINE cmfe_solverequations_equationssetaddnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
59057  & regionusernumber,equationssetusernumber,equationssetindex,err)
59058  !DLLEXPORT(cmfe_SolverEquations_EquationsSetAddNumber1)
59059 
59060  !Argument variables
59061  INTEGER(INTG), INTENT(IN) :: problemUserNumber
59062  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
59063  INTEGER(INTG), INTENT(IN) :: solverIndex
59064  INTEGER(INTG), INTENT(IN) :: regionUserNumber
59065  INTEGER(INTG), INTENT(IN) :: equationsSetUserNumber
59066  INTEGER(INTG), INTENT(OUT) :: equationsSetIndex
59067  INTEGER(INTG), INTENT(OUT) :: err
59068  !Local variables
59069  TYPE(equations_set_type), POINTER :: EQUATIONS_SET
59070  TYPE(problem_type), POINTER :: PROBLEM
59071  TYPE(region_type), POINTER :: REGION
59072  TYPE(solver_type), POINTER :: SOLVER
59073  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
59074  TYPE(varying_string) :: LOCAL_ERROR
59075 
59076  enters("cmfe_SolverEquations_EquationsSetAddNumber1",err,error,*999)
59077 
59078  NULLIFY(problem)
59079  NULLIFY(solver)
59080  NULLIFY(solver_equations)
59081  NULLIFY(region)
59082  NULLIFY(equations_set)
59083  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
59084  IF(ASSOCIATED(problem)) THEN
59085  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
59086  CALL solver_solver_equations_get(solver,solver_equations,err,error,*999)
59087  CALL region_user_number_find(regionusernumber,region,err,error,*999)
59088  IF(ASSOCIATED(region)) THEN
59089  CALL equations_set_user_number_find(equationssetusernumber,region,equations_set,err,error,*999)
59090  IF(ASSOCIATED(equations_set)) THEN
59091  CALL solver_equations_equations_set_add(solver_equations,equations_set,equationssetindex,err,error,*999)
59092  ELSE
59093  local_error="An equations set with an user number of "//trim(numbertovstring(equationssetusernumber,"*",err,error))// &
59094  & " does not exist on region number "//trim(numbertovstring(regionusernumber,"*",err,error))//"."
59095  CALL flagerror(local_error,err,error,*999)
59096  END IF
59097  ELSE
59098  local_error="A region with an user number of "//trim(numbertovstring(regionusernumber,"*",err,error))// &
59099  & " does not exist."
59100  CALL flagerror(local_error,err,error,*999)
59101  END IF
59102  ELSE
59103  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
59104  & " does not exist."
59105  CALL flagerror(local_error,err,error,*999)
59106  END IF
59107 
59108  exits("cmfe_SolverEquations_EquationsSetAddNumber1")
59109  RETURN
59110 999 errorsexits("cmfe_SolverEquations_EquationsSetAddNumber1",err,error)
59111  CALL cmfe_handleerror(err,error)
59112  RETURN
59113 
59115 
59116  !================================================================================================================================
59117  !
59118 
59120  SUBROUTINE cmfe_solverequations_equationssetaddobj(solverEquations,equationsSet,equationsSetIndex,err)
59121  !DLLEXPORT(cmfe_SolverEquations_EquationsSetAddObj)
59122 
59123  !Argument variables
59124  TYPE(cmfe_solverequationstype), INTENT(IN) :: solverEquations
59125  TYPE(cmfe_equationssettype), INTENT(IN) :: equationsSet
59126  INTEGER(INTG), INTENT(OUT) :: equationsSetIndex
59127  INTEGER(INTG), INTENT(OUT) :: err
59128  !Local variables
59129 
59130  enters("cmfe_SolverEquations_EquationsSetAddObj",err,error,*999)
59131 
59132  CALL solver_equations_equations_set_add(solverequations%solverEquations,equationsset%equationsSet,equationssetindex, &
59133  & err,error,*999)
59134 
59135  exits("cmfe_SolverEquations_EquationsSetAddObj")
59136  RETURN
59137 999 errorsexits("cmfe_SolverEquations_EquationsSetAddObj",err,error)
59138  CALL cmfe_handleerror(err,error)
59139  RETURN
59140 
59142 
59143  !
59144  !================================================================================================================================
59145  !
59146 
59148  SUBROUTINE cmfe_solverequations_interfaceconditionaddnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
59149  & interfaceregionusernumber,interfaceusernumber,interfaceconditionusernumber,interfaceconditionindex,err)
59150  !DLLEXPORT(cmfe_SolverEquations_InterfaceConditionAddNumber0)
59151 
59152  !Argument variables
59153  INTEGER(INTG), INTENT(IN) :: problemUserNumber
59154  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
59155  INTEGER(INTG), INTENT(IN) :: solverIndex
59156  INTEGER(INTG), INTENT(IN) :: interfaceRegionUserNumber
59157  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
59158  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
59159  INTEGER(INTG), INTENT(OUT) :: interfaceConditionIndex
59160  INTEGER(INTG), INTENT(OUT) :: err
59161  !Local variables
59162  TYPE(interface_type), POINTER :: INTERFACE
59163  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
59164  TYPE(problem_type), POINTER :: PROBLEM
59165  TYPE(region_type), POINTER :: INTERFACE_REGION
59166  TYPE(solver_type), POINTER :: SOLVER
59167  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
59168  TYPE(varying_string) :: LOCAL_ERROR
59169 
59170  enters("cmfe_SolverEquations_InterfaceConditionAddNumber0",err,error,*999)
59171 
59172  NULLIFY(problem)
59173  NULLIFY(solver)
59174  NULLIFY(solver_equations)
59175  NULLIFY(interface_region)
59176  NULLIFY(interface)
59177  NULLIFY(interface_condition)
59178  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
59179  IF(ASSOCIATED(problem)) THEN
59180  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
59181  CALL solver_solver_equations_get(solver,solver_equations,err,error,*999)
59182  CALL region_user_number_find(interfaceregionusernumber,interface_region,err,error,*999)
59183  IF(ASSOCIATED(interface_region)) THEN
59184  CALL interface_user_number_find(interfaceusernumber,interface_region,interface,err,error,*999)
59185  IF(ASSOCIATED(interface)) THEN
59186  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
59187  IF(ASSOCIATED(interface_condition)) THEN
59188  CALL solver_equations_interface_condition_add(solver_equations,interface_condition,interfaceconditionindex, &
59189  & err,error,*999)
59190  ELSE
59191  local_error="An interface condition with an user number of "// &
59192  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
59193  & " does not exist on interface number "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
59194  & " of parent region number "//trim(numbertovstring(interfaceregionusernumber,"*",err,error))//"."
59195  CALL flagerror(local_error,err,error,*999)
59196  END IF
59197  ELSE
59198  local_error="An interface with an user number of "// &
59199  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
59200  & " does not exist on parent region number "// &
59201  & trim(numbertovstring(interfaceregionusernumber,"*",err,error))//"."
59202  CALL flagerror(local_error,err,error,*999)
59203  END IF
59204  ELSE
59205  local_error="A region with an user number of "//trim(numbertovstring(interfaceregionusernumber,"*",err,error))// &
59206  & " does not exist."
59207  CALL flagerror(local_error,err,error,*999)
59208  END IF
59209  ELSE
59210  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
59211  & " does not exist."
59212  CALL flagerror(local_error,err,error,*999)
59213  END IF
59214 
59215  exits("cmfe_SolverEquationsInterfaceConditionNumber0")
59216  RETURN
59217 999 errors("cmfe_SolverEquations_InterfaceConditionAddNumber0",err,error)
59218  exits("cmfe_SolverEquations_InterfaceConditionAddNumber0")
59219  CALL cmfe_handleerror(err,error)
59220  RETURN
59221 
59223 
59224  !
59225  !================================================================================================================================
59226  !
59227 
59229  SUBROUTINE cmfe_solverequations_interfaceconditionaddnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
59230  & interfaceregionusernumber,interfaceusernumber,interfaceconditionusernumber,interfaceconditionindex,err)
59231  !DLLEXPORT(cmfe_SolverEquations_InterfaceConditionAddNumber1)
59232 
59233  !Argument variables
59234  INTEGER(INTG), INTENT(IN) :: problemUserNumber
59235  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
59236  INTEGER(INTG), INTENT(IN) :: solverIndex
59237  INTEGER(INTG), INTENT(IN) :: interfaceRegionUserNumber
59238  INTEGER(INTG), INTENT(IN) :: interfaceUserNumber
59239  INTEGER(INTG), INTENT(IN) :: interfaceConditionUserNumber
59240  INTEGER(INTG), INTENT(OUT) :: interfaceConditionIndex
59241  INTEGER(INTG), INTENT(OUT) :: err
59242  !Local variables
59243  TYPE(interface_type), POINTER :: INTERFACE
59244  TYPE(interface_condition_type), POINTER :: INTERFACE_CONDITION
59245  TYPE(problem_type), POINTER :: PROBLEM
59246  TYPE(region_type), POINTER :: INTERFACE_REGION
59247  TYPE(solver_type), POINTER :: SOLVER
59248  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
59249  TYPE(varying_string) :: LOCAL_ERROR
59250 
59251  enters("cmfe_SolverEquations_InterfaceConditionAddNumber1",err,error,*999)
59252 
59253  NULLIFY(problem)
59254  NULLIFY(solver)
59255  NULLIFY(solver_equations)
59256  NULLIFY(interface_region)
59257  NULLIFY(interface)
59258  NULLIFY(interface_condition)
59259  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
59260  IF(ASSOCIATED(problem)) THEN
59261  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
59262  CALL solver_solver_equations_get(solver,solver_equations,err,error,*999)
59263  CALL region_user_number_find(interfaceregionusernumber,interface_region,err,error,*999)
59264  IF(ASSOCIATED(interface_region)) THEN
59265  CALL interface_user_number_find(interfaceusernumber,interface_region,interface,err,error,*999)
59266  IF(ASSOCIATED(interface)) THEN
59267  CALL interface_condition_user_number_find(interfaceconditionusernumber,interface,interface_condition,err,error,*999)
59268  IF(ASSOCIATED(interface_condition)) THEN
59269  CALL solver_equations_interface_condition_add(solver_equations,interface_condition,interfaceconditionindex, &
59270  & err,error,*999)
59271  ELSE
59272  local_error="An interface condition with an user number of "// &
59273  & trim(numbertovstring(interfaceconditionusernumber,"*",err,error))// &
59274  & " does not exist on interface number "//trim(numbertovstring(interfaceusernumber,"*",err,error))// &
59275  & " of parent region number "//trim(numbertovstring(interfaceregionusernumber,"*",err,error))//"."
59276  CALL flagerror(local_error,err,error,*999)
59277  END IF
59278  ELSE
59279  local_error="An interface with an user number of "// &
59280  & trim(numbertovstring(interfaceusernumber,"*",err,error))// &
59281  & " does not exist on parent region number "// &
59282  & trim(numbertovstring(interfaceregionusernumber,"*",err,error))//"."
59283  CALL flagerror(local_error,err,error,*999)
59284  END IF
59285  ELSE
59286  local_error="A region with an user number of "//trim(numbertovstring(interfaceregionusernumber,"*",err,error))// &
59287  & " does not exist."
59288  CALL flagerror(local_error,err,error,*999)
59289  END IF
59290  ELSE
59291  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
59292  & " does not exist."
59293  CALL flagerror(local_error,err,error,*999)
59294  END IF
59295 
59296  exits("cmfe_SolverEquations_InterfaceConditionAddNumber1")
59297  RETURN
59298 999 errors("cmfe_SolverEquations_InterfaceConditionAddNumber1",err,error)
59299  exits("cmfe_SolverEquations_InterfaceConditionAddNumber1")
59300  CALL cmfe_handleerror(err,error)
59301  RETURN
59302 
59304 
59305  !================================================================================================================================
59306  !
59307 
59309  SUBROUTINE cmfe_solverequations_interfaceconditionaddobj(solverEquations,interfaceCondition,interfaceConditionIndex,err)
59310  !DLLEXPORT(cmfe_SolverEquations_InterfaceConditionAddObj)
59311 
59312  !Argument variables
59313  TYPE(cmfe_solverequationstype), INTENT(IN) :: solverEquations
59314  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
59315  INTEGER(INTG), INTENT(OUT) :: interfaceConditionIndex
59316  INTEGER(INTG), INTENT(OUT) :: err
59317  !Local variables
59318 
59319  enters("cmfe_SolverEquations_InterfaceConditionAddObj",err,error,*999)
59320 
59321  CALL solver_equations_interface_condition_add(solverequations%solverEquations,interfacecondition%interfaceCondition, &
59322  & interfaceconditionindex,err,error,*999)
59323 
59324  exits("cmfe_SolverEquations_InterfaceConditionAddObj")
59325  RETURN
59326 999 errors("cmfe_SolverEquations_InterfaceConditionAddObj",err,error)
59327  exits("cmfe_SolverEquations_InterfaceConditionAddObj")
59328  CALL cmfe_handleerror(err,error)
59329  RETURN
59330 
59332 
59333  !
59334  !================================================================================================================================
59335  !
59336 
59338  SUBROUTINE cmfe_interfacematrices_timedependencetypeset(interfaceCondition, &
59339  & interfacematrixindex,hastranspose,timedependencetypes,err)
59340  !DLLEXPORT(cmfe_InterfaceMatrices_TimeDependenceTypeSet)
59341 
59342  !Argument variables
59343  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
59344  INTEGER(INTG), INTENT(IN) :: timeDependenceTypes(:)
59345  INTEGER(INTG), INTENT(IN) :: interfaceMatrixIndex
59346  LOGICAL, INTENT(IN) :: hasTranspose
59347  INTEGER(INTG), INTENT(OUT) :: Err
59348  !Local Variables
59349  TYPE(varying_string) :: LOCAL_ERROR
59350 
59351  enters("cmfe_InterfaceMatrices_TimeDependenceTypeSet",err,error,*999)
59352 
59353  IF(SIZE(timedependencetypes)/=2) CALL flagerror("Invalid size of time dependence types array. Must be 2.",err,error,*999)
59354  IF(timedependencetypes(1)>0.AND.timedependencetypes(1)<=cmfe_number_of_interface_matrix_types) THEN
59355  CALL interfacematrix_timedependencetypeset(interfacecondition%interfaceCondition, &
59356  & interfacematrixindex,.false.,timedependencetypes(1),err,error,*999)
59357  IF(hastranspose.AND.(timedependencetypes(2)>0.AND.timedependencetypes(2)<=cmfe_number_of_interface_matrix_types)) THEN
59358  CALL interfacematrix_timedependencetypeset(interfacecondition%interfaceCondition, &
59359  & interfacematrixindex,.true.,timedependencetypes(2),err,error,*999)
59360  ELSE
59361  IF(.NOT.hastranspose) THEN
59362  !ok)
59363  ELSEIF(hastranspose.AND. &
59364  & .NOT.(timedependencetypes(2)>0.AND.timedependencetypes(2)<=cmfe_number_of_interface_matrix_types)) THEN
59365  local_error="Interface matrix number "//trim(numbertovstring(interfacematrixindex,"*",err,error))// &
59366  & " has transpose but invalid time dependence type of "//trim(numbertovstring(timedependencetypes(1), &
59367  & "*",err,error))//" ."
59368  CALL flagerror(local_error,err,error,*999)
59369  ENDIF
59370  ENDIF
59371  ELSE
59372  local_error="Interface matrix time dependence type of "//trim(numbertovstring(timedependencetypes(1),"*",err,error))// &
59373  & " is invalid for interface matrix number "//trim(numbertovstring(interfacematrixindex,"*",err,error))// &
59374  & " ."
59375  CALL flagerror(local_error,err,error,*999)
59376  ENDIF
59377 
59378  exits("cmfe_InterfaceMatrices_TimeDependenceTypeSet")
59379  RETURN
59380 999 errors("cmfe_InterfaceMatrices_TimeDependenceTypeSet",err,error)
59381  exits("cmfe_InterfaceMatrices_TimeDependenceTypeSet")
59382  CALL cmfe_handleerror(err,error)
59383  RETURN
59384 
59386 
59387  !
59388  !================================================================================================================================
59389  !
59390 
59392  SUBROUTINE cmfe_interfacematrices_timedependencetypeget(interfaceCondition, &
59393  & interfacematrixindex,hastranspose,timedependencetypes,err)
59394  !DLLEXPORT(cmfe_InterfaceMatrices_TimeDependenceTypeGet)
59395 
59396  !Argument variables
59397  TYPE(cmfe_interfaceconditiontype), INTENT(IN) :: interfaceCondition
59398  INTEGER(INTG), INTENT(OUT) :: timeDependenceTypes(:)
59399  INTEGER(INTG), INTENT(IN) :: interfaceMatrixIndex
59400  LOGICAL, INTENT(IN) :: hasTranspose
59401  INTEGER(INTG), INTENT(OUT) :: Err
59402  !Local Variables
59403 
59404  enters("cmfe_InterfaceMatrices_TimeDependenceTypeGet",err,error,*999)
59405 
59406  IF(SIZE(timedependencetypes)/=2) CALL flagerror("Invalid size of time dependence types array. Must be 2.",err,error,*999)
59407  CALL interfacematrix_timedependencetypeget(interfacecondition%interfaceCondition, &
59408  & interfacematrixindex,.false.,timedependencetypes(1),err,error,*999)
59409  IF(hastranspose) THEN
59410  CALL interfacematrix_timedependencetypeget(interfacecondition%interfaceCondition, &
59411  & interfacematrixindex,.true.,timedependencetypes(2),err,error,*999)
59412  ENDIF
59413 
59414  exits("cmfe_InterfaceMatrices_TimeDependenceTypeGet")
59415  RETURN
59416 999 errors("cmfe_InterfaceMatrices_TimeDependenceTypeGet",err,error)
59417  exits("cmfe_InterfaceMatrices_TimeDependenceTypeGet")
59418  CALL cmfe_handleerror(err,error)
59419  RETURN
59420 
59422 
59423  !
59424  !================================================================================================================================
59425  !
59426 
59428  SUBROUTINE cmfe_solverequations_sparsitytypesetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,sparsityType,err)
59429  !DLLEXPORT(cmfe_SolverEquations_SparsityTypeSetNumber0)
59430 
59431  !Argument variables
59432  INTEGER(INTG), INTENT(IN) :: problemUserNumber
59433  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
59434  INTEGER(INTG), INTENT(IN) :: solverIndex
59435  INTEGER(INTG), INTENT(IN) :: sparsityType
59436  INTEGER(INTG), INTENT(OUT) :: err
59437  !Local variables
59438  TYPE(problem_type), POINTER :: PROBLEM
59439  TYPE(solver_type), POINTER :: SOLVER
59440  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
59441  TYPE(varying_string) :: LOCAL_ERROR
59442 
59443  enters("cmfe_SolverEquations_SparsityTypeSetNumber0",err,error,*999)
59444 
59445  NULLIFY(problem)
59446  NULLIFY(solver)
59447  NULLIFY(solver_equations)
59448  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
59449  IF(ASSOCIATED(problem)) THEN
59450  CALL problem_solver_get(problem,controlloopidentifier,solverindex,solver,err,error,*999)
59451  CALL solver_solver_equations_get(solver,solver_equations,err,error,*999)
59452  CALL solver_equations_sparsity_type_set(solver_equations,sparsitytype,err,error,*999)
59453  ELSE
59454  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
59455  & " does not exist."
59456  CALL flagerror(local_error,err,error,*999)
59457  END IF
59458 
59459  exits("cmfe_SolverEquations_SparsityTypeSetNumber0")
59460  RETURN
59461 999 errorsexits("cmfe_SolverEquations_SparsityTypeSetNumber0",err,error)
59462  CALL cmfe_handleerror(err,error)
59463  RETURN
59464 
59466 
59467  !
59468  !================================================================================================================================
59469  !
59470 
59472  SUBROUTINE cmfe_solverequations_sparsitytypesetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,sparsityType,err)
59473  !DLLEXPORT(cmfe_SolverEquations_SparsityTypeSetNumber1)
59474 
59475  !Argument variables
59476  INTEGER(INTG), INTENT(IN) :: problemUserNumber
59477  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
59478  INTEGER(INTG), INTENT(IN) :: solverIndex
59479  INTEGER(INTG), INTENT(IN) :: sparsityType
59480  INTEGER(INTG), INTENT(OUT) :: err
59481  !Local variables
59482  TYPE(problem_type), POINTER :: PROBLEM
59483  TYPE(solver_type), POINTER :: SOLVER
59484  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
59485  TYPE(varying_string) :: LOCAL_ERROR
59486 
59487  enters("cmfe_SolverEquations_SparsityTypeSetNumber1",err,error,*999)
59488 
59489  NULLIFY(problem)
59490  NULLIFY(solver)
59491  NULLIFY(solver_equations)
59492  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
59493  IF(ASSOCIATED(problem)) THEN
59494  CALL problem_solver_get(problem,controlloopidentifiers,solverindex,solver,err,error,*999)
59495  CALL solver_solver_equations_get(solver,solver_equations,err,error,*999)
59496  CALL solver_equations_sparsity_type_set(solver_equations,sparsitytype,err,error,*999)
59497  ELSE
59498  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))// &
59499  & " does not exist."
59500  CALL flagerror(local_error,err,error,*999)
59501  END IF
59502 
59503  exits("cmfe_SolverEquations_SparsityTypeSetNumber1")
59504  RETURN
59505 999 errorsexits("cmfe_SolverEquations_SparsityTypeSetNumber1",err,error)
59506  CALL cmfe_handleerror(err,error)
59507  RETURN
59508 
59510 
59511  !================================================================================================================================
59512  !
59513 
59515  SUBROUTINE cmfe_solverequations_sparsitytypesetobj(solverEquations,sparsityType,err)
59516  !DLLEXPORT(cmfe_SolverEquations_SparsityTypeSetObj)
59517 
59518  !Argument variables
59519  TYPE(cmfe_solverequationstype), INTENT(IN) :: solverEquations
59520  INTEGER(INTG), INTENT(IN) :: sparsityType
59521  INTEGER(INTG), INTENT(OUT) :: err
59522  !Local variables
59523 
59524  enters("cmfe_SolverEquations_SparsityTypeSetObj",err,error,*999)
59525 
59526  CALL solver_equations_sparsity_type_set(solverequations%solverEquations,sparsitytype,err,error,*999)
59527 
59528  exits("cmfe_SolverEquations_SparsityTypeSetObj")
59529  RETURN
59530 999 errorsexits("cmfe_SolverEquations_SparsityTypeSetObj",err,error)
59531  CALL cmfe_handleerror(err,error)
59532  RETURN
59533 
59535 
59536  !
59537  !================================================================================================================================
59538  !
59539 
59541  SUBROUTINE cmfe_solverequations_boundaryconditionscreatefinishnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,err)
59542  !DLLEXPORT(cmfe_SolverEquations_BoundaryConditionsCreateFinishNumber0)
59543 
59544  !Argument variables
59545  INTEGER(INTG), INTENT(IN) :: problemUserNumber
59546  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
59547  INTEGER(INTG), INTENT(IN) :: solverIndex
59548  INTEGER(INTG), INTENT(OUT) :: err
59549  !Local variables
59550  TYPE(problem_type), POINTER :: PROBLEM
59551  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
59552  TYPE(boundary_conditions_type), POINTER :: BOUNDARY_CONDITIONS
59553  TYPE(varying_string) :: LOCAL_ERROR
59554 
59555  enters("cmfe_SolverEquations_BoundaryConditionsCreateFinishNumber0",err,error,*999)
59556 
59557  NULLIFY(problem)
59558  NULLIFY(solver_equations)
59559  NULLIFY(boundary_conditions)
59560  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
59561  IF(ASSOCIATED(problem)) THEN
59562  CALL problem_solver_equations_get(problem,controlloopidentifier,solverindex,solver_equations,err,error,*999)
59563  IF(ASSOCIATED(solver_equations)) THEN
59564  CALL solverequations_boundaryconditionscreatefinish(solver_equations,err,error,*999)
59565  ELSE
59566  local_error="Solver equations with the given solver index and control loop identifier do not exist."
59567  CALL flagerror(local_error,err,error,*999)
59568  END IF
59569  ELSE
59570  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
59571  CALL flagerror(local_error,err,error,*999)
59572  END IF
59573 
59574  exits("cmfe_SolverEquations_BoundaryConditionsCreateFinishNumber0")
59575  RETURN
59576 999 errors("cmfe_SolverEquations_BoundaryConditionsCreateFinishNumber0",err,error)
59577  exits("cmfe_SolverEquations_BoundaryConditionsCreateFinishNumber0")
59578  CALL cmfe_handleerror(err,error)
59579  RETURN
59580 
59582 
59583  !
59584  !================================================================================================================================
59585  !
59586 
59588  SUBROUTINE cmfe_solverequations_boundaryconditionscreatefinishnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,err)
59589  !DLLEXPORT(cmfe_SolverEquations_BoundaryConditionsCreateFinishNumber1)
59590 
59591  !Argument variables
59592  INTEGER(INTG), INTENT(IN) :: problemUserNumber
59593  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
59594  INTEGER(INTG), INTENT(IN) :: solverIndex
59595  INTEGER(INTG), INTENT(OUT) :: err
59596  !Local variables
59597  TYPE(problem_type), POINTER :: PROBLEM
59598  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
59599  TYPE(boundary_conditions_type), POINTER :: BOUNDARY_CONDITIONS
59600  TYPE(varying_string) :: LOCAL_ERROR
59601 
59602  enters("cmfe_SolverEquations_BoundaryConditionsCreateFinishNumber1",err,error,*999)
59603 
59604  NULLIFY(problem)
59605  NULLIFY(solver_equations)
59606  NULLIFY(boundary_conditions)
59607  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
59608  IF(ASSOCIATED(problem)) THEN
59609  CALL problem_solver_equations_get(problem,controlloopidentifiers,solverindex,solver_equations,err,error,*999)
59610  IF(ASSOCIATED(solver_equations)) THEN
59611  CALL solverequations_boundaryconditionscreatefinish(solver_equations,err,error,*999)
59612  ELSE
59613  local_error="Solver equations with the given solver index and control loop identifier do not exist."
59614  CALL flagerror(local_error,err,error,*999)
59615  END IF
59616  ELSE
59617  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
59618  CALL flagerror(local_error,err,error,*999)
59619  END IF
59620 
59621  exits("cmfe_SolverEquations_BoundaryConditionsCreateFinishNumber1")
59622  RETURN
59623 999 errors("cmfe_SolverEquations_BoundaryConditionsCreateFinishNumber1",err,error)
59624  exits("cmfe_SolverEquations_BoundaryConditionsCreateFinishNumber1")
59625  CALL cmfe_handleerror(err,error)
59626  RETURN
59627 
59629 
59630  !
59631  !================================================================================================================================
59632  !
59633 
59635  SUBROUTINE cmfe_solverequations_boundaryconditionscreatefinishobj(solverEquations,err)
59636  !DLLEXPORT(cmfe_SolverEquations_BoundaryConditionsCreateFinishObj)
59637 
59638  !Argument variables
59639  TYPE(cmfe_solverequationstype), INTENT(IN) :: solverEquations
59640  INTEGER(INTG), INTENT(OUT) :: err
59641  !Local variables
59642 
59643  enters("cmfe_SolverEquations_BoundaryConditionsCreateFinishObj",err,error,*999)
59644 
59645  CALL solverequations_boundaryconditionscreatefinish(solverequations%solverEquations,err,error,*999)
59646 
59647  exits("cmfe_SolverEquations_BoundaryConditionsCreateFinishObj")
59648  RETURN
59649 999 errors("cmfe_SolverEquations_BoundaryConditionsCreateFinishObj",err,error)
59650  exits("cmfe_SolverEquations_BoundaryConditionsCreateFinishObj")
59651  CALL cmfe_handleerror(err,error)
59652  RETURN
59653 
59655 
59656  !
59657  !================================================================================================================================
59658  !
59659 
59661  SUBROUTINE cmfe_solverequations_boundaryconditionscreatestartnumber0(problemUserNumber,controlLoopIdentifier,solverIndex,err)
59662  !DLLEXPORT(cmfe_SolverEquations_BoundaryConditionsCreateStartNumber0)
59663 
59664  !Argument variables
59665  INTEGER(INTG), INTENT(IN) :: problemUserNumber
59666  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
59667  INTEGER(INTG), INTENT(IN) :: solverIndex
59668  INTEGER(INTG), INTENT(OUT) :: err
59669  !Local variables
59670  TYPE(problem_type), POINTER :: PROBLEM
59671  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
59672  TYPE(boundary_conditions_type), POINTER :: BOUNDARY_CONDITIONS
59673  TYPE(varying_string) :: LOCAL_ERROR
59674 
59675  enters("cmfe_SolverEquations_BoundaryConditionsCreateStartNumber0",err,error,*999)
59676 
59677  NULLIFY(problem)
59678  NULLIFY(solver_equations)
59679  NULLIFY(boundary_conditions)
59680  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
59681  IF(ASSOCIATED(problem)) THEN
59682  CALL problem_solver_equations_get(problem,controlloopidentifier,solverindex,solver_equations,err,error,*999)
59683  IF(ASSOCIATED(solver_equations)) THEN
59684  CALL solverequations_boundaryconditionscreatestart(solver_equations,boundary_conditions,err,error,*999)
59685  ELSE
59686  local_error="Solver equations with the given solver index and control loop identifier do not exist."
59687  CALL flagerror(local_error,err,error,*999)
59688  END IF
59689  ELSE
59690  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
59691  CALL flagerror(local_error,err,error,*999)
59692  END IF
59693 
59694  exits("cmfe_SolverEquations_BoundaryConditionsCreateStartNumber0")
59695  RETURN
59696 999 errors("cmfe_SolverEquations_BoundaryConditionsCreateStartNumber0",err,error)
59697  exits("cmfe_SolverEquations_BoundaryConditionsCreateStartNumber0")
59698  CALL cmfe_handleerror(err,error)
59699  RETURN
59700 
59702 
59703  !
59704  !================================================================================================================================
59705  !
59706 
59708  SUBROUTINE cmfe_solverequations_boundaryconditionscreatestartnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex,err)
59709  !DLLEXPORT(cmfe_SolverEquations_BoundaryConditionsCreateStartNumber1)
59710 
59711  !Argument variables
59712  INTEGER(INTG), INTENT(IN) :: problemUserNumber
59713  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
59714  INTEGER(INTG), INTENT(IN) :: solverIndex
59715  INTEGER(INTG), INTENT(OUT) :: err
59716  !Local variables
59717  TYPE(problem_type), POINTER :: PROBLEM
59718  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
59719  TYPE(boundary_conditions_type), POINTER :: BOUNDARY_CONDITIONS
59720  TYPE(varying_string) :: LOCAL_ERROR
59721 
59722  enters("cmfe_SolverEquations_BoundaryConditionsCreateStartNumber1",err,error,*999)
59723 
59724  NULLIFY(problem)
59725  NULLIFY(solver_equations)
59726  NULLIFY(boundary_conditions)
59727  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
59728  IF(ASSOCIATED(problem)) THEN
59729  CALL problem_solver_equations_get(problem,controlloopidentifiers,solverindex,solver_equations,err,error,*999)
59730  IF(ASSOCIATED(solver_equations)) THEN
59731  CALL solverequations_boundaryconditionscreatestart(solver_equations,boundary_conditions,err,error,*999)
59732  ELSE
59733  local_error="Solver equations with the given solver index and control loop identifier do not exist."
59734  CALL flagerror(local_error,err,error,*999)
59735  END IF
59736  ELSE
59737  local_error="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
59738  CALL flagerror(local_error,err,error,*999)
59739  END IF
59740 
59741  exits("cmfe_SolverEquations_BoundaryConditionsCreateStartNumber1")
59742  RETURN
59743 999 errors("cmfe_SolverEquations_BoundaryConditionsCreateStartNumber1",err,error)
59744  exits("cmfe_SolverEquations_BoundaryConditionsCreateStartNumber1")
59745  CALL cmfe_handleerror(err,error)
59746  RETURN
59747 
59749 
59750  !
59751  !================================================================================================================================
59752  !
59753 
59755  SUBROUTINE cmfe_solverequations_boundaryconditionscreatestartobj(solverEquations,boundaryConditions,err)
59756  !DLLEXPORT(cmfe_SolverEquations_BoundaryConditionsCreateStartObj)
59757 
59758  !Argument variables
59759  TYPE(cmfe_solverequationstype), INTENT(INOUT) :: solverEquations
59760  TYPE(cmfe_boundaryconditionstype), INTENT(INOUT) :: boundaryConditions
59761  INTEGER(INTG), INTENT(OUT) :: err
59762  !Local variables
59763 
59764  enters("cmfe_SolverEquations_BoundaryConditionsCreateStartObj",err,error,*999)
59765 
59766  CALL solverequations_boundaryconditionscreatestart(solverequations%solverEquations, &
59767  & boundaryconditions%boundaryConditions,err,error,*999)
59768 
59769  exits("cmfe_SolverEquations_BoundaryConditionsCreateStartObj")
59770  RETURN
59771 999 errors("cmfe_SolverEquations_BoundaryConditionsCreateStartObj",err,error)
59772  exits("cmfe_SolverEquations_BoundaryConditionsCreateStartObj")
59773  CALL cmfe_handleerror(err,error)
59774  RETURN
59775 
59777 
59778  !
59779  !================================================================================================================================
59780  !
59781 
59783  SUBROUTINE cmfe_solverequations_boundaryconditionsgetnumber0(problemUserNumber,controlLoopIdentifier,solverIndex, &
59784  & boundaryconditions,err)
59785  !DLLEXPORT(cmfe_SolverEquations_BoundaryConditionsGetNumber0)
59786 
59787  !Argument variables
59788  INTEGER(INTG), INTENT(IN) :: problemUserNumber
59789  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifier
59790  INTEGER(INTG), INTENT(IN) :: solverIndex
59791  TYPE(cmfe_boundaryconditionstype), INTENT(INOUT) :: boundaryConditions
59792  INTEGER(INTG), INTENT(OUT) :: err
59793  !Local variables
59794  TYPE(problem_type), POINTER :: PROBLEM
59795  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
59796  TYPE(varying_string) :: localError
59797 
59798  enters("cmfe_SolverEquations_BoundaryConditionsGetNumber0",err,error,*999)
59799 
59800  NULLIFY(problem)
59801  NULLIFY(solver_equations)
59802  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
59803  IF(ASSOCIATED(problem)) THEN
59804  CALL problem_solver_equations_get(problem,controlloopidentifier,solverindex,solver_equations,err,error,*999)
59805  IF(ASSOCIATED(solver_equations)) THEN
59806  CALL solver_equations_boundary_conditions_get(solver_equations,boundaryconditions%boundaryConditions,err,error,*999)
59807  ELSE
59808  localerror="Solver equations with the given solver index and control loop identifier do not exist."
59809  CALL flagerror(localerror,err,error,*999)
59810  END IF
59811  ELSE
59812  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
59813  CALL flagerror(localerror,err,error,*999)
59814  END IF
59815 
59816  exits("cmfe_SolverEquations_BoundaryConditionsGetNumber0")
59817  RETURN
59818 999 errors("cmfe_SolverEquations_BoundaryConditionsGetNumber0",err,error)
59819  exits("cmfe_SolverEquations_BoundaryConditionsGetNumber0")
59820  CALL cmfe_handleerror(err,error)
59821  RETURN
59822 
59824 
59825  !
59826  !================================================================================================================================
59827  !
59828 
59830  SUBROUTINE cmfe_solverequations_boundaryconditionsgetnumber1(problemUserNumber,controlLoopIdentifiers,solverIndex, &
59831  & boundaryconditions,err)
59832  !DLLEXPORT(cmfe_SolverEquations_BoundaryConditionsGetNumber1)
59833 
59834  !Argument variables
59835  INTEGER(INTG), INTENT(IN) :: problemUserNumber
59836  INTEGER(INTG), INTENT(IN) :: controlLoopIdentifiers(:)
59837  INTEGER(INTG), INTENT(IN) :: solverIndex
59838  TYPE(cmfe_boundaryconditionstype), INTENT(INOUT) :: boundaryConditions
59839  INTEGER(INTG), INTENT(OUT) :: err
59840  !Local variables
59841  TYPE(problem_type), POINTER :: PROBLEM
59842  TYPE(solver_equations_type), POINTER :: SOLVER_EQUATIONS
59843  TYPE(varying_string) :: localError
59844 
59845  enters("cmfe_SolverEquations_BoundaryConditionsGetNumber1",err,error,*999)
59846 
59847  NULLIFY(problem)
59848  NULLIFY(solver_equations)
59849  CALL problem_user_number_find(problemusernumber,problem,err,error,*999)
59850  IF(ASSOCIATED(problem)) THEN
59851  CALL problem_solver_equations_get(problem,controlloopidentifiers,solverindex,solver_equations,err,error,*999)
59852  IF(ASSOCIATED(solver_equations)) THEN
59853  CALL solver_equations_boundary_conditions_get(solver_equations,boundaryconditions%boundaryConditions,err,error,*999)
59854  ELSE
59855  localerror="Solver equations with the given solver index and control loop identifier do not exist."
59856  CALL flagerror(localerror,err,error,*999)
59857  END IF
59858  ELSE
59859  localerror="A problem with an user number of "//trim(numbertovstring(problemusernumber,"*",err,error))//" does not exist."
59860  CALL flagerror(localerror,err,error,*999)
59861  END IF
59862 
59863  exits("cmfe_SolverEquations_BoundaryConditionsGetNumber1")
59864  RETURN
59865 999 errors("cmfe_SolverEquations_BoundaryConditionsGetNumber1",err,error)
59866  exits("cmfe_SolverEquations_BoundaryConditionsGetNumber1")
59867  CALL cmfe_handleerror(err,error)
59868  RETURN
59869 
59871 
59872  !
59873  !================================================================================================================================
59874  !
59875 
59877  SUBROUTINE cmfe_solverequations_boundaryconditionsgetobj(solverEquations,boundaryConditions,err)
59878  !DLLEXPORT(cmfe_SolverEquations_BoundaryConditionsGetObj)
59879 
59880  !Argument variables
59881  TYPE(cmfe_solverequationstype), INTENT(IN) :: solverEquations
59882  TYPE(cmfe_boundaryconditionstype), INTENT(INOUT) :: boundaryConditions
59883  INTEGER(INTG), INTENT(OUT) :: err
59884 
59885  enters("cmfe_SolverEquations_BoundaryConditionsGetObj",err,error,*999)
59886 
59887  CALL solver_equations_boundary_conditions_get(solverequations%solverEquations,boundaryconditions%boundaryConditions, &
59888  & err,error,*999)
59889 
59890  exits("cmfe_SolverEquations_BoundaryConditionsGetObj")
59891  RETURN
59892 999 errors("cmfe_SolverEquations_BoundaryConditionsGetObj",err,error)
59893  exits("cmfe_SolverEquations_BoundaryConditionsGetObj")
59894  CALL cmfe_handleerror(err,error)
59895  RETURN
59896 
59898 
59899  !
59900  !================================================================================================================================
59901  !
59902 
59904  SUBROUTINE cmfe_solverequations_numberofmatricesget(solverEquations,numberOfMatrices,err)
59905  !DLLEXPORT(cmfe_SolverEquations_NumberOfMatricesGet)
59906 
59907  !Argument variables
59908  TYPE(cmfe_solverequationstype), INTENT(IN) :: solverEquations
59909  INTEGER(INTG), INTENT(OUT) :: numberOfMatrices
59910  INTEGER(INTG), INTENT(OUT) :: err
59911 
59912  enters("cmfe_SolverEquations_NumberOfMatricesGet",err,error,*999)
59913 
59914  CALL solverequations_numberofmatricesget(solverequations%solverEquations,numberofmatrices,err,error,*999)
59915 
59916  exits("cmfe_SolverEquations_NumberOfMatricesGet")
59917  RETURN
59918 999 errorsexits("cmfe_SolverEquations_NumberOfMatricesGet",err,error)
59919  CALL cmfe_handleerror(err,error)
59920  RETURN
59921 
59923 
59924  !
59925  !================================================================================================================================
59926  !
59927 
59929  SUBROUTINE cmfe_solverequations_matrixget(solverEquations,matrixIndex,matrix,err)
59930  !DLLEXPORT(cmfe_SolverEquations_MatrixGet)
59931 
59932  !Argument variables
59933  TYPE(cmfe_solverequationstype), INTENT(IN) :: solverEquations
59934  INTEGER(INTG), INTENT(IN) :: matrixIndex
59935  TYPE(cmfe_distributedmatrixtype), INTENT(INOUT) :: matrix
59936  INTEGER(INTG), INTENT(OUT) :: err
59937 
59938  enters("cmfe_SolverEquations_MatrixGet",err,error,*999)
59939 
59940  CALL solverequations_matrixget(solverequations%solverEquations,matrixindex,matrix%distributedMatrix,err,error,*999)
59941 
59942  exits("cmfe_SolverEquations_MatrixGet")
59943  RETURN
59944 999 errorsexits("cmfe_SolverEquations_MatrixGet",err,error)
59945  CALL cmfe_handleerror(err,error)
59946  RETURN
59947 
59948  END SUBROUTINE cmfe_solverequations_matrixget
59949 
59950  !
59951  !================================================================================================================================
59952  !
59953 
59955  SUBROUTINE cmfe_solverequations_jacobianmatrixget(solverEquations,matrix,err)
59956  !DLLEXPORT(cmfe_SolverEquations_JacobianMatrixGet)
59957 
59958  !Argument variables
59959  TYPE(cmfe_solverequationstype), INTENT(IN) :: solverEquations
59960  TYPE(cmfe_distributedmatrixtype), INTENT(INOUT) :: matrix
59961  INTEGER(INTG), INTENT(OUT) :: err
59962 
59963  enters("cmfe_SolverEquations_JacobianMatrixGet",err,error,*999)
59964 
59965  CALL solverequations_jacobianmatrixget(solverequations%solverEquations,matrix%distributedMatrix,err,error,*999)
59966 
59967  exits("cmfe_SolverEquations_JacobianMatrixGet")
59968  RETURN
59969 999 errorsexits("cmfe_SolverEquations_JacobianMatrixGet",err,error)
59970  CALL cmfe_handleerror(err,error)
59971  RETURN
59972 
59974 
59975  !
59976  !================================================================================================================================
59977  !
59978 
59980  SUBROUTINE cmfe_solverequations_vectorget(solverEquations,matrixIndex,vector,err)
59981  !DLLEXPORT(cmfe_SolverEquations_VectorGet)
59982 
59983  !Argument variables
59984  TYPE(cmfe_solverequationstype), INTENT(IN) :: solverEquations
59985  INTEGER(INTG), INTENT(IN) :: matrixIndex
59986  TYPE(cmfe_distributedvectortype), INTENT(INOUT) :: vector
59987  INTEGER(INTG), INTENT(OUT) :: err
59988 
59989  enters("cmfe_SolverEquations_VectorGet",err,error,*999)
59990 
59991  CALL solverequations_vectorget(solverequations%solverEquations,matrixindex,vector%distributedVector,err,error,*999)
59992 
59993  exits("cmfe_SolverEquations_VectorGet")
59994  RETURN
59995 999 errorsexits("cmfe_SolverEquations_VectorGet",err,error)
59996  CALL cmfe_handleerror(err,error)
59997  RETURN
59998 
59999  END SUBROUTINE cmfe_solverequations_vectorget
60000 
60001  !
60002  !================================================================================================================================
60003  !
60004 
60006  SUBROUTINE cmfe_solverequations_residualvectorget(solverEquations,residualVector,err)
60007  !DLLEXPORT(cmfe_SolverEquations_ResidualVectorGet)
60008 
60009  !Argument variables
60010  TYPE(cmfe_solverequationstype), INTENT(IN) :: solverEquations
60011  TYPE(cmfe_distributedvectortype), INTENT(INOUT) :: residualVector
60012  INTEGER(INTG), INTENT(OUT) :: err
60013 
60014  enters("cmfe_SolverEquations_ResidualVectorGet",err,error,*999)
60015 
60016  CALL solverequations_residualvectorget(solverequations%solverEquations,residualvector%distributedVector,err,error,*999)
60017 
60018  exits("cmfe_SolverEquations_ResidualVectorGet")
60019  RETURN
60020 999 errorsexits("cmfe_SolverEquations_ResidualVectorGet",err,error)
60021  CALL cmfe_handleerror(err,error)
60022  RETURN
60023 
60025 
60026  !
60027  !================================================================================================================================
60028  !
60029 
60031  SUBROUTINE cmfe_solverequations_rhsvectorget(solverEquations,rhsVector,err)
60032  !DLLEXPORT(cmfe_SolverEquations_RhsVectorGet)
60033 
60034  !Argument variables
60035  TYPE(cmfe_solverequationstype), INTENT(IN) :: solverEquations
60036  TYPE(cmfe_distributedvectortype), INTENT(INOUT) :: rhsVector
60037  INTEGER(INTG), INTENT(OUT) :: err
60038 
60039  enters("cmfe_SolverEquations_RhsVectorGet",err,error,*999)
60040 
60041  CALL solverequations_rhsvectorget(solverequations%solverEquations,rhsvector%distributedVector,err,error,*999)
60042 
60043  exits("cmfe_SolverEquations_RhsVectorGet")
60044  RETURN
60045 999 errorsexits("cmfe_SolverEquations_RhsVectorGet",err,error)
60046  CALL cmfe_handleerror(err,error)
60047  RETURN
60048 
60049  END SUBROUTINE cmfe_solverequations_rhsvectorget
60050 
60051  !
60052  !================================================================================================================================
60053  !
60054 
60056  SUBROUTINE cmfe_usernumbergetregion( region, userNumber, err )
60057  !DLLEXPORT(cmfe_UserNumberGetRegion)
60058  !Argument variables
60059  TYPE(cmfe_regiontype), INTENT(IN) :: region
60060  INTEGER(INTG), INTENT(OUT) :: userNumber
60061  INTEGER(INTG), INTENT(OUT) :: err
60062 
60063  err = 0
60064 
60065  usernumber = region%region%USER_NUMBER
60066 
60067  END SUBROUTINE cmfe_usernumbergetregion
60068 
60069  !
60070  !================================================================================================================================
60071  !
60072 
60074  SUBROUTINE cmfe_usernumbergetmesh( mesh, userNumber, err )
60075  !DLLEXPORT(cmfe_UserNumberGetMesh)
60076  !Argument variables
60077  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
60078  INTEGER(INTG), INTENT(OUT) :: userNumber
60079  INTEGER(INTG), INTENT(OUT) :: err
60080 
60081  err = 0
60082 
60083  usernumber = mesh%mesh%USER_NUMBER
60084 
60085  END SUBROUTINE cmfe_usernumbergetmesh
60086 
60087  !
60088  !================================================================================================================================
60089  !
60090 
60092  SUBROUTINE cmfe_usernumbergetbasis( basis, userNumber, err )
60093  !DLLEXPORT(cmfe_UserNumberGetBasis)
60094  !Argument variables
60095  TYPE(cmfe_basistype), INTENT(IN) :: basis
60096  INTEGER(INTG), INTENT(OUT) :: userNumber
60097  INTEGER(INTG), INTENT(OUT) :: err
60098 
60099  err = 0
60100 
60101  usernumber = basis%basis%USER_NUMBER
60102 
60103  END SUBROUTINE cmfe_usernumbergetbasis
60104 
60105  !
60106  !================================================================================================================================
60107  !
60108 
60110  SUBROUTINE cmfe_bioelectricsfiniteelasticity_updategeometricfield(controlLoop,calcClosestGaussPoint,err)
60111  !DLLEXPORT(cmfe_BioelectricsFiniteElasticity_UpdateGeometricField)
60112 
60113  !Argument variables
60114  TYPE(cmfe_controllooptype), INTENT(INOUT) :: controlLoop
60115  LOGICAL, INTENT(IN) :: calcClosestGaussPoint
60116  INTEGER(INTG), INTENT(OUT) :: err
60117 
60118  enters("cmfe_BioelectricsFiniteElasticity_UpdateGeometricField",err,error,*999)
60119 
60120  CALL bioelectricfiniteelasticity_updategeometricfield(controlloop%controlLoop,calcclosestgausspoint,err,error,*999)
60121 
60122  exits("cmfe_BioelectricsFiniteElasticity_UpdateGeometricField")
60123  RETURN
60124 999 errors("cmfe_BioelectricsFiniteElasticity_UpdateGeometricField",err,error)
60125  exits("cmfe_BioelectricsFiniteElasticity_UpdateGeometricField")
60126  CALL cmfe_handleerror(err,error)
60127  RETURN
60128 
60130 
60131  !
60132  !================================================================================================================================
60133  !
60134 
60136  SUBROUTINE cmfe_fieldml_inputcreatefromfilevs( filename, fieldml, err )
60137  !DLLEXPORT(cmfe_FieldML_InputCreateFromFileVS)
60138  !Arguments
60139  TYPE(varying_string), INTENT(IN) :: filename
60140  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60141  INTEGER(INTG), INTENT(OUT) :: err
60142 
60143  enters("cmfe_FieldML_InputCreateFromFileVS",err,error,*999)
60144 
60145 #ifdef WITH_FIELDML
60146 
60147  CALL fieldml_input_initialise_from_file( fieldml%fieldmlInfo, filename, err, error, *999 )
60148 
60149 #else
60150  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60151 #endif
60152 
60153  exits("cmfe_FieldML_InputCreateFromFileVS")
60154  RETURN
60155 999 errorsexits("cmfe_FieldML_InputCreateFromFileVS",err,error)
60156  CALL cmfe_handleerror(err,error)
60157  RETURN
60158 
60159  END SUBROUTINE cmfe_fieldml_inputcreatefromfilevs
60160 
60161  !
60162  !================================================================================================================================
60163  !
60164 
60166  SUBROUTINE cmfe_fieldml_inputcreatefromfilec( filename, fieldml, err )
60167  !DLLEXPORT(cmfe_FieldML_InputCreateFromFileC)
60168  !Arguments
60169  CHARACTER(LEN=*), INTENT(IN) :: filename
60170  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60171  INTEGER(INTG), INTENT(OUT) :: err
60172 
60173  enters("cmfe_FieldML_InputCreateFromFileC",err,error,*999)
60174 
60175 #ifdef WITH_FIELDML
60176 
60177  CALL fieldml_input_initialise_from_file( fieldml%fieldmlInfo, var_str(filename), err, error, *999 )
60178 
60179 #else
60180  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60181 #endif
60182 
60183  exits("cmfe_FieldML_InputCreateFromFileC")
60184  RETURN
60185 999 errorsexits("cmfe_FieldML_InputCreateFromFileC",err,error)
60186  CALL cmfe_handleerror(err,error)
60187  RETURN
60188 
60189  END SUBROUTINE cmfe_fieldml_inputcreatefromfilec
60190 
60191  !
60192  !================================================================================================================================
60193  !
60194 
60196  SUBROUTINE cmfe_fieldml_inputmeshcreatestartobjvs( fieldml, meshArgumentName, mesh, meshNumber, region, err )
60197  !DLLEXPORT(cmfe_FieldML_InputMeshCreateStartObjVS)
60198  !Arguments
60199  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60200  TYPE(varying_string), INTENT(IN) :: meshArgumentName
60201  INTEGER(INTG), INTENT(IN) :: meshNumber
60202  TYPE(cmfe_regiontype), INTENT(IN) :: region
60203  TYPE(cmfe_meshtype), INTENT(INOUT) :: mesh
60204  INTEGER(INTG), INTENT(OUT) :: err
60205 
60206  enters("cmfe_FieldML_InputMeshCreateStartObjVS",err,error,*999)
60207 
60208 #ifdef WITH_FIELDML
60209 
60210  CALL fieldml_input_mesh_create_start( fieldml%fieldmlInfo, meshargumentname, mesh%mesh, meshnumber, region%region, &
60211  & err, error, *999 )
60212 
60213 #else
60214  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60215 #endif
60216 
60217  exits("cmfe_FieldML_InputMeshCreateStartObjVS")
60218  RETURN
60219 999 errorsexits("cmfe_FieldML_InputMeshCreateStartObjVS",err,error)
60220  CALL cmfe_handleerror(err,error)
60221  RETURN
60222 
60224 
60225  !
60226  !================================================================================================================================
60227  !
60228 
60230  SUBROUTINE cmfe_fieldml_inputmeshcreatestartnumbervs( fieldml, meshArgumentName, meshNumber, regionNumber, err )
60231  !DLLEXPORT(cmfe_FieldML_InputMeshCreateStartNumberVS)
60232  !Arguments
60233  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60234  TYPE(varying_string), INTENT(IN) :: meshArgumentName
60235  INTEGER(INTG), INTENT(IN) :: meshNumber
60236  INTEGER(INTG), INTENT(IN) :: regionNumber
60237  INTEGER(INTG), INTENT(OUT) :: err
60238 
60239  !Locals
60240  TYPE(region_type), POINTER :: region
60241  TYPE(mesh_type), POINTER :: mesh
60242 
60243  enters("cmfe_FieldML_InputMeshCreateStartNumberVS",err,error,*999)
60244 
60245 #ifdef WITH_FIELDML
60246 
60247  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
60248  NULLIFY( mesh )
60249  CALL fieldml_input_mesh_create_start( fieldml%fieldmlInfo, meshargumentname, mesh, meshnumber, region, err, error, *999 )
60250 
60251 #else
60252  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60253 #endif
60254 
60255  exits("cmfe_FieldML_InputMeshCreateStartNumberVS")
60256  RETURN
60257 999 errorsexits("cmfe_FieldML_InputMeshCreateStartNumberVS",err,error)
60258  CALL cmfe_handleerror(err,error)
60259  RETURN
60260 
60262 
60263  !
60264  !================================================================================================================================
60265  !
60266 
60268  SUBROUTINE cmfe_fieldml_inputmeshcreatestartobjc( fieldml, meshArgumentName, mesh, meshNumber, region, err )
60269  !DLLEXPORT(cmfe_FieldML_InputMeshCreateStartObjC)
60270  !Arguments
60271  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60272  CHARACTER(LEN=*), INTENT(IN) :: meshArgumentName
60273  INTEGER(INTG), INTENT(IN) :: meshNumber
60274  TYPE(cmfe_regiontype), INTENT(IN) :: region
60275  TYPE(cmfe_meshtype), INTENT(INOUT) :: mesh
60276  INTEGER(INTG), INTENT(OUT) :: err
60277 
60278  enters("cmfe_FieldML_InputMeshCreateStartObjC",err,error,*999)
60279 
60280 #ifdef WITH_FIELDML
60281 
60282  CALL fieldml_input_mesh_create_start( fieldml%fieldmlInfo, var_str(meshargumentname), mesh%mesh, meshnumber, region%region, &
60283  & err, error, *999 )
60284 
60285 #else
60286  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60287 #endif
60288 
60289  exits("cmfe_FieldML_InputMeshCreateStartObjC")
60290  RETURN
60291 999 errorsexits("cmfe_FieldML_InputMeshCreateStartObjC",err,error)
60292  CALL cmfe_handleerror(err,error)
60293  RETURN
60294 
60296 
60297  !
60298  !================================================================================================================================
60299  !
60300 
60302  SUBROUTINE cmfe_fieldml_inputmeshcreatestartnumberc( fieldml, meshArgumentName, meshNumber, regionNumber, err )
60303  !DLLEXPORT(cmfe_FieldML_InputMeshCreateStartNumberC)
60304  !Arguments
60305  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60306  CHARACTER(LEN=*), INTENT(IN) :: meshArgumentName
60307  INTEGER(INTG), INTENT(IN) :: meshNumber
60308  INTEGER(INTG), INTENT(IN) :: regionNumber
60309  INTEGER(INTG), INTENT(OUT) :: err
60310 
60311  !Locals
60312  TYPE(region_type), POINTER :: region
60313  TYPE(mesh_type), POINTER :: mesh
60314 
60315  enters("cmfe_FieldML_InputMeshCreateStartNumberC",err,error,*999)
60316 
60317 #ifdef WITH_FIELDML
60318 
60319  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
60320  NULLIFY( mesh )
60321  CALL fieldml_input_mesh_create_start( fieldml%fieldmlInfo, var_str(meshargumentname), mesh, meshnumber, region, &
60322  & err, error, *999)
60323 
60324 #else
60325  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60326 #endif
60327 
60328  exits("cmfe_FieldML_InputMeshCreateStartNumberC")
60329  RETURN
60330 999 errors("cmfe_FieldML_InputMeshCreateStartNumberC",err,error)
60331  exits("cmfe_FieldML_InputMeshCreateStartNumberC")
60332  CALL cmfe_handleerror(err,error)
60333  RETURN
60334 
60336 
60337  !
60338  !================================================================================================================================
60339  !
60340 
60342  SUBROUTINE cmfe_fieldml_inputcoordinatesystemcreatestartobjvs( fieldml, evaluatorName, coordinateSystem, userNumber, err )
60343  !DLLEXPORT(cmfe_FieldML_InputCoordinateSystemCreateStartObjVS)
60344  !Arguments
60345  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60346  TYPE(varying_string), INTENT(IN) :: evaluatorName
60347  INTEGER(INTG), INTENT(IN) :: userNumber
60348  TYPE(cmfe_coordinatesystemtype), INTENT(INOUT) :: coordinateSystem
60349  INTEGER(INTG), INTENT(OUT) :: err
60350 
60351  enters("cmfe_FieldML_InputCoordinateSystemCreateStartObjVS",err,error,*999)
60352 
60353 #ifdef WITH_FIELDML
60354 
60355  CALL fieldmlinput_coordinatesystemcreatestart( fieldml%fieldmlInfo, evaluatorname, coordinatesystem%coordinateSystem, &
60356  & usernumber, err, error, *999 )
60357 
60358 #else
60359  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60360 #endif
60361 
60362  exits("cmfe_FieldML_InputCoordinateSystemCreateStartObjVS")
60363  RETURN
60364 999 errors("cmfe_FieldML_InputCoordinateSystemCreateStartObjVS",err,error)
60365  exits("cmfe_FieldML_InputCoordinateSystemCreateStartObjVS")
60366  CALL cmfe_handleerror(err,error)
60367  RETURN
60368 
60370 
60371  !
60372  !================================================================================================================================
60373  !
60374 
60376  SUBROUTINE cmfe_fieldml_inputcoordinatesystemcreatestartnumbervs( fieldml, evaluatorName, userNumber, err )
60377  !DLLEXPORT(cmfe_FieldML_InputCoordinateSystemCreateStartNumberVS)
60378  !Arguments
60379  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60380  TYPE(varying_string), INTENT(IN) :: evaluatorName
60381  INTEGER(INTG), INTENT(IN) :: userNumber
60382  INTEGER(INTG), INTENT(OUT) :: err
60383  !Locals
60384  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
60385 
60386  enters("cmfe_FieldML_InputCoordinateSystemCreateStartNumberVS",err,error,*999)
60387 
60388 #ifdef WITH_FIELDML
60389 
60390  NULLIFY( coordinate_system )
60391  CALL fieldmlinput_coordinatesystemcreatestart( fieldml%fieldmlInfo, evaluatorname, coordinate_system, &
60392  & usernumber, err, error, *999 )
60393 
60394 #else
60395  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60396 #endif
60397 
60398  exits("cmfe_FieldML_InputCoordinateSystemCreateStartNumberVS")
60399  RETURN
60400 999 errors("cmfe_FieldML_InputCoordinateSystemCreateStartNumberVS",err,error)
60401  exits("cmfe_FieldML_InputCoordinateSystemCreateStartNumberVS")
60402  CALL cmfe_handleerror(err,error)
60403  RETURN
60404 
60406 
60407  !
60408  !================================================================================================================================
60409  !
60410 
60412  SUBROUTINE cmfe_fieldml_inputcoordinatesystemcreatestartobjc( fieldml, evaluatorName, coordinateSystem, userNumber, err )
60413  !DLLEXPORT(cmfe_FieldML_InputCoordinateSystemCreateStartObjC)
60414  !Arguments
60415  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60416  CHARACTER(LEN=*), INTENT(IN) :: evaluatorName
60417  INTEGER(INTG), INTENT(IN) :: userNumber
60418  TYPE(cmfe_coordinatesystemtype), INTENT(INOUT) :: coordinateSystem
60419  INTEGER(INTG), INTENT(OUT) :: err
60420 
60421  enters("cmfe_FieldML_InputCoordinateSystemCreateStartObjC",err,error,*999)
60422 
60423 #ifdef WITH_FIELDML
60424 
60425  CALL fieldmlinput_coordinatesystemcreatestart( fieldml%fieldmlInfo, var_str(evaluatorname), &
60426  & coordinatesystem%coordinateSystem, usernumber, err, error, *999 )
60427 
60428 #else
60429  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60430 #endif
60431 
60432  exits("cmfe_FieldML_InputCoordinateSystemCreateStartObjC")
60433  RETURN
60434 999 errors("cmfe_FieldML_InputCoordinateSystemCreateStartObjC",err,error)
60435  exits("cmfe_FieldML_InputCoordinateSystemCreateStartObjC")
60436  CALL cmfe_handleerror(err,error)
60437  RETURN
60438 
60440 
60441  !
60442  !================================================================================================================================
60443  !
60444 
60446  SUBROUTINE cmfe_fieldml_inputcoordinatesystemcreatestartnumberc( fieldml, evaluatorName, userNumber, err )
60447  !DLLEXPORT(cmfe_FieldML_InputCoordinateSystemCreateStartNumberC)
60448  !Arguments
60449  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60450  CHARACTER(LEN=*), INTENT(IN) :: evaluatorName
60451  INTEGER(INTG), INTENT(IN) :: userNumber
60452  INTEGER(INTG), INTENT(OUT) :: err
60453 
60454  !Locals
60455  TYPE(coordinate_system_type), POINTER :: COORDINATE_SYSTEM
60456 
60457  enters("cmfe_FieldML_InputCoordinateSystemCreateStartNumberC",err,error,*999)
60458 
60459 #ifdef WITH_FIELDML
60460 
60461  NULLIFY( coordinate_system )
60462  CALL fieldmlinput_coordinatesystemcreatestart( fieldml%fieldmlInfo, var_str(evaluatorname), coordinate_system, &
60463  & usernumber, err, error, *999 )
60464 
60465 #else
60466  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60467 #endif
60468 
60469  exits("cmfe_FieldML_InputCoordinateSystemCreateStartNumberC")
60470  RETURN
60471 999 errors("cmfe_FieldML_InputCoordinateSystemCreateStartNumberC",err,error)
60472  exits("cmfe_FieldML_InputCoordinateSystemCreateStartNumberC")
60473  CALL cmfe_handleerror(err,error)
60474  RETURN
60475 
60477 
60478  !
60479  !================================================================================================================================
60480  !
60481 
60483  SUBROUTINE cmfe_fieldml_inputbasiscreatestartnumbervs( fieldml, evaluatorName, userNumber, err )
60484  !DLLEXPORT(cmfe_FieldML_InputBasisCreateStartNumberVS)
60485  !Arguments
60486  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60487  TYPE(varying_string), INTENT(IN) :: evaluatorName
60488  INTEGER(INTG), INTENT(IN) :: userNumber
60489  INTEGER(INTG), INTENT(OUT) :: err
60490 
60491  !Locals
60492  TYPE(basis_type), POINTER :: basis
60493 
60494  enters("cmfe_FieldML_InputBasisCreateStartNumberVS",err,error,*999)
60495 
60496 #ifdef WITH_FIELDML
60497 
60498  NULLIFY( basis )
60499  CALL fieldml_input_basis_create_start( fieldml%fieldmlInfo, evaluatorname, usernumber, basis, err, error, *999 )
60500 
60501 #else
60502  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60503 #endif
60504 
60505  exits("cmfe_FieldML_InputBasisCreateStartNumberVS")
60506  RETURN
60507 999 errorsexits("cmfe_FieldML_InputBasisCreateStartNumberVS",err,error)
60508  CALL cmfe_handleerror(err,error)
60509  RETURN
60510 
60512 
60513  !
60514  !================================================================================================================================
60515  !
60516 
60518  SUBROUTINE cmfe_fieldml_inputbasiscreatestartobjvs( fieldml, evaluatorName, userNumber, basis, err )
60519  !DLLEXPORT(cmfe_FieldML_InputBasisCreateStartObjVS)
60520  !Arguments
60521  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60522  TYPE(varying_string), INTENT(IN) :: evaluatorName
60523  INTEGER(INTG), INTENT(IN) :: userNumber
60524  TYPE(cmfe_basistype), INTENT(INOUT) :: basis
60525  INTEGER(INTG), INTENT(OUT) :: err
60526 
60527  enters("cmfe_FieldML_InputBasisCreateStartObjVS",err,error,*999)
60528 
60529 #ifdef WITH_FIELDML
60530 
60531  CALL fieldml_input_basis_create_start( fieldml%fieldmlInfo, evaluatorname, usernumber, basis%basis, err, error, *999 )
60532 
60533 #else
60534  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60535 #endif
60536 
60537  exits("cmfe_FieldML_InputBasisCreateStartObjVS")
60538  RETURN
60539 999 errorsexits("cmfe_FieldML_InputBasisCreateStartObjVS",err,error)
60540  CALL cmfe_handleerror(err,error)
60541  RETURN
60542 
60544 
60545  !
60546  !================================================================================================================================
60547  !
60548 
60550  SUBROUTINE cmfe_fieldml_inputbasiscreatestartnumberc( fieldml, evaluatorName, userNumber, err )
60551  !DLLEXPORT(cmfe_FieldML_InputBasisCreateStartNumberC)
60552  !Arguments
60553  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60554  CHARACTER(LEN=*), INTENT(IN) :: evaluatorName
60555  INTEGER(INTG), INTENT(IN) :: userNumber
60556  INTEGER(INTG), INTENT(OUT) :: err
60557 
60558  !Locals
60559  TYPE(basis_type), POINTER :: basis
60560 
60561  enters("cmfe_FieldML_InputBasisCreateStartNumberC",err,error,*999)
60562 
60563 #ifdef WITH_FIELDML
60564 
60565  NULLIFY( basis )
60566  CALL fieldml_input_basis_create_start( fieldml%fieldmlInfo, var_str(evaluatorname), usernumber, basis, err, error, *999 )
60567 
60568 #else
60569  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60570 #endif
60571 
60572  exits("cmfe_FieldML_InputBasisCreateStartNumberC")
60573  RETURN
60574 999 errorsexits("cmfe_FieldML_InputBasisCreateStartNumberC",err,error)
60575  CALL cmfe_handleerror(err,error)
60576  RETURN
60577 
60579 
60580  !
60581  !================================================================================================================================
60582  !
60583 
60585  SUBROUTINE cmfe_fieldml_inputbasiscreatestartobjc( fieldml, evaluatorName, userNumber, basis, err )
60586  !DLLEXPORT(cmfe_FieldML_InputBasisCreateStartObjC)
60587  !Arguments
60588  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60589  CHARACTER(LEN=*), INTENT(IN) :: evaluatorName
60590  INTEGER(INTG), INTENT(IN) :: userNumber
60591  TYPE(cmfe_basistype), INTENT(INOUT) :: basis
60592  INTEGER(INTG), INTENT(OUT) :: err
60593 
60594  enters("cmfe_FieldML_InputBasisCreateStartObjC",err,error,*999)
60595 
60596 #ifdef WITH_FIELDML
60597 
60598  CALL fieldml_input_basis_create_start( fieldml%fieldmlInfo, var_str(evaluatorname), usernumber, basis%basis, err, error, *999 )
60599 
60600 #else
60601  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60602 #endif
60603 
60604  exits("cmfe_FieldML_InputBasisCreateStartObjC")
60605  RETURN
60606 999 errorsexits("cmfe_FieldML_InputBasisCreateStartObjC",err,error)
60607  CALL cmfe_handleerror(err,error)
60608  RETURN
60609 
60611 
60612  !
60613  !================================================================================================================================
60614  !
60615 
60617  SUBROUTINE cmfe_fieldml_inputnodescreatestartnumbervs( fieldml, nodesArgumentName, regionNumber, nodes, err )
60618  !DLLEXPORT(cmfe_FieldML_InputNodesCreateStartNumberVS)
60619  !Arguments
60620  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60621  TYPE(varying_string), INTENT(IN) :: nodesArgumentName
60622  INTEGER(INTG), INTENT(IN) :: regionNumber
60623  TYPE(cmfe_nodestype), INTENT(INOUT) :: nodes
60624  INTEGER(INTG), INTENT(OUT) :: err
60625 
60626  !Locals
60627  TYPE(region_type), POINTER :: region
60628 
60629  enters("cmfe_FieldML_InputNodesCreateStartNumberVS",err,error,*999)
60630 
60631 #ifdef WITH_FIELDML
60632 
60633  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
60634  CALL fieldml_input_nodes_create_start( fieldml%fieldmlInfo, nodesargumentname, region, nodes%nodes, err, error, *999 )
60635 
60636 #else
60637  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60638 #endif
60639 
60640  exits("cmfe_FieldML_InputNodesCreateStartNumberVS")
60641  RETURN
60642 999 errorsexits("cmfe_FieldML_InputNodesCreateStartNumberVS",err,error)
60643  CALL cmfe_handleerror(err,error)
60644  RETURN
60645 
60647 
60648  !
60649  !================================================================================================================================
60650  !
60651 
60653  SUBROUTINE cmfe_fieldml_inputnodescreatestartobjvs( fieldml, nodesArgumentName, region, nodes, err )
60654  !DLLEXPORT(cmfe_FieldML_InputNodesCreateStartObjVS)
60655  !Arguments
60656  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60657  TYPE(varying_string), INTENT(IN) :: nodesArgumentName
60658  TYPE(cmfe_regiontype), INTENT(IN) :: region
60659  TYPE(cmfe_nodestype), INTENT(INOUT) :: nodes
60660  INTEGER(INTG), INTENT(OUT) :: err
60661 
60662  enters("cmfe_FieldML_InputNodesCreateStartObjVS",err,error,*999)
60663 
60664 #ifdef WITH_FIELDML
60665 
60666  CALL fieldml_input_nodes_create_start( fieldml%fieldmlInfo, nodesargumentname, region%region, nodes%nodes, err, error, *999 )
60667 
60668 #else
60669  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60670 #endif
60671 
60672  exits("cmfe_FieldML_InputNodesCreateStartObjVS")
60673  RETURN
60674 999 errorsexits("cmfe_FieldML_InputNodesCreateStartObjVS",err,error)
60675  CALL cmfe_handleerror(err,error)
60676  RETURN
60677 
60679 
60680  !
60681  !================================================================================================================================
60682  !
60683 
60685  SUBROUTINE cmfe_fieldml_inputnodescreatestartnumberc( fieldml, nodesArgumentName, regionNumber, nodes, err )
60686  !DLLEXPORT(cmfe_FieldML_InputNodesCreateStartNumberC)
60687  !Arguments
60688  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60689  CHARACTER(LEN=*), INTENT(IN) :: nodesArgumentName
60690  INTEGER(INTG), INTENT(IN) :: regionNumber
60691  TYPE(cmfe_nodestype), INTENT(INOUT) :: nodes
60692  INTEGER(INTG), INTENT(OUT) :: err
60693 
60694  !Locals
60695  TYPE(region_type), POINTER :: region
60696 
60697  enters("cmfe_FieldML_InputNodesCreateStartNumberC",err,error,*999)
60698 
60699 #ifdef WITH_FIELDML
60700 
60701  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
60702  CALL fieldml_input_nodes_create_start( fieldml%fieldmlInfo, var_str(nodesargumentname), region, nodes%nodes, err, error, *999 )
60703 
60704 #else
60705  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60706 #endif
60707 
60708  exits("cmfe_FieldML_InputNodesCreateStartNumberC")
60709  RETURN
60710 999 errorsexits("cmfe_FieldML_InputNodesCreateStartNumberC",err,error)
60711  CALL cmfe_handleerror(err,error)
60712  RETURN
60713 
60715 
60716  !
60717  !================================================================================================================================
60718  !
60719 
60721  SUBROUTINE cmfe_fieldml_inputnodescreatestartobjc( fieldml, nodesArgumentName, region, nodes, err )
60722  !DLLEXPORT(cmfe_FieldML_InputNodesCreateStartObjC)
60723  !Arguments
60724  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60725  CHARACTER(LEN=*), INTENT(IN) :: nodesArgumentName
60726  TYPE(cmfe_regiontype), INTENT(IN) :: region
60727  TYPE(cmfe_nodestype), INTENT(INOUT) :: nodes
60728  INTEGER(INTG), INTENT(OUT) :: err
60729 
60730  enters("cmfe_FieldML_InputNodesCreateStartObjC",err,error,*999)
60731 
60732 #ifdef WITH_FIELDML
60733 
60734  CALL fieldml_input_nodes_create_start( fieldml%fieldmlInfo, var_str(nodesargumentname), region%region, nodes%nodes, &
60735  & err, error, *999 )
60736 
60737 #else
60738  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60739 #endif
60740 
60741  exits("cmfe_FieldML_InputNodesCreateStartObjC")
60742  RETURN
60743 999 errorsexits("cmfe_FieldML_InputNodesCreateStartObjC",err,error)
60744  CALL cmfe_handleerror(err,error)
60745  RETURN
60746 
60748 
60749  !
60750  !================================================================================================================================
60751  !
60752 
60754  SUBROUTINE cmfe_fieldml_inputcreatemeshcomponentobjvs( fieldml, mesh, componentNumber, evaluatorName, err )
60755  !DLLEXPORT(cmfe_FieldML_InputCreateMeshComponentObjVS)
60756  !Arguments
60757  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60758  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
60759  INTEGER(INTG), INTENT(IN) :: componentNumber
60760  TYPE(varying_string), INTENT(IN) :: evaluatorName
60761  INTEGER(INTG), INTENT(OUT) :: err
60762 
60763  enters("cmfe_FieldML_InputCreateMeshComponentObjVS",err,error,*999)
60764 
60765 #ifdef WITH_FIELDML
60766 
60767  CALL fieldml_input_create_mesh_component( fieldml%fieldmlInfo, mesh%mesh, componentnumber, evaluatorname, err, error, *999 )
60768 
60769 #else
60770  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60771 #endif
60772 
60773  exits("cmfe_FieldML_InputCreateMeshComponentObjVS")
60774  RETURN
60775 999 errorsexits("cmfe_FieldML_InputCreateMeshComponentObjVS",err,error)
60776  CALL cmfe_handleerror(err,error)
60777  RETURN
60778 
60780 
60781  !
60782  !================================================================================================================================
60783  !
60784 
60786  SUBROUTINE cmfe_fieldml_inputcreatemeshcomponentnumbervs( fieldml, regionNumber, meshNumber, componentNumber, evaluatorName, &
60787  & err )
60788  !DLLEXPORT(cmfe_FieldML_InputCreateMeshComponentNumberVS)
60789  !Arguments
60790  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60791  INTEGER(INTG), INTENT(IN) :: regionNumber
60792  INTEGER(INTG), INTENT(IN) :: meshNumber
60793  INTEGER(INTG), INTENT(IN) :: componentNumber
60794  TYPE(varying_string), INTENT(IN) :: evaluatorName
60795  INTEGER(INTG), INTENT(OUT) :: err
60796 
60797  !Local variables
60798  TYPE(region_type), POINTER :: region
60799  TYPE(mesh_type), POINTER :: mesh
60800 
60801  enters( "CMISSFieldML_InputCreateMeshComponentNumberVS", err, error, *999 )
60802 
60803 #ifdef WITH_FIELDML
60804 
60805  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
60806  CALL mesh_user_number_to_mesh( meshnumber, region, mesh, err, error, *999 )
60807 
60808  CALL fieldml_input_create_mesh_component( fieldml%fieldmlInfo, mesh, componentnumber, evaluatorname, err, error, *999 )
60809 
60810 #else
60811 
60812  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60813 
60814 #endif
60815 
60816  exits("cmfe_FieldML_InputCreateMeshComponentNumberVS")
60817  RETURN
60818 999 errors("cmfe_FieldML_InputCreateMeshComponentNumberVS",err,error)
60819  exits("cmfe_FieldML_InputCreateMeshComponentNumberVS")
60820  CALL cmfe_handleerror(err,error)
60821  RETURN
60822 
60824 
60825  !
60826  !================================================================================================================================
60827  !
60828 
60830  SUBROUTINE cmfe_fieldml_inputcreatemeshcomponentobjc( fieldml, mesh, componentNumber, evaluatorName, err )
60831  !DLLEXPORT(cmfe_FieldML_InputCreateMeshComponentObjC)
60832  !Arguments
60833  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60834  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
60835  INTEGER(INTG), INTENT(IN) :: componentNumber
60836  CHARACTER(LEN=*), INTENT(IN) :: evaluatorName
60837  INTEGER(INTG), INTENT(OUT) :: err
60838 
60839  enters("cmfe_FieldML_InputCreateMeshComponentObjC",err,error,*999)
60840 
60841 #ifdef WITH_FIELDML
60842 
60843  CALL fieldml_input_create_mesh_component( fieldml%fieldmlInfo, mesh%mesh, componentnumber, var_str(evaluatorname), &
60844  & err, error, *999 )
60845 
60846 #else
60847  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60848 #endif
60849 
60850  exits("cmfe_FieldML_InputCreateMeshComponentObjC")
60851  RETURN
60852 999 errorsexits("cmfe_FieldML_InputCreateMeshComponentObjC",err,error)
60853  CALL cmfe_handleerror(err,error)
60854  RETURN
60855 
60857 
60858  !
60859  !================================================================================================================================
60860  !
60861 
60863  SUBROUTINE cmfe_fieldml_inputcreatemeshcomponentnumberc( fieldml, regionNumber, meshNumber, componentNumber, evaluatorName, &
60864  & err )
60865  !DLLEXPORT(cmfe_FieldML_InputCreateMeshComponentNumberC)
60866  !Arguments
60867  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60868  INTEGER(INTG), INTENT(IN) :: regionNumber
60869  INTEGER(INTG), INTENT(IN) :: meshNumber
60870  INTEGER(INTG), INTENT(IN) :: componentNumber
60871  CHARACTER(LEN=*), INTENT(IN) :: evaluatorName
60872  INTEGER(INTG), INTENT(OUT) :: err
60873 
60874  !Local variables
60875  TYPE(region_type), POINTER :: region
60876  TYPE(mesh_type), POINTER :: mesh
60877 
60878  enters( "CMISSFieldML_InputCreateMeshComponentNumberC", err, error, *999 )
60879 
60880 #ifdef WITH_FIELDML
60881 
60882  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
60883  CALL mesh_user_number_to_mesh( meshnumber, region, mesh, err, error, *999 )
60884 
60885  CALL fieldml_input_create_mesh_component( fieldml%fieldmlInfo, mesh, componentnumber, var_str(evaluatorname), err, error, *999 )
60886 
60887 #else
60888  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60889 #endif
60890 
60891  exits("cmfe_FieldML_InputCreateMeshComponentNumberC")
60892  RETURN
60893 999 errors("cmfe_FieldML_InputCreateMeshComponentNumberC",err,error)
60894  exits("cmfe_FieldML_InputCreateMeshComponentNumberC")
60895  CALL cmfe_handleerror(err,error)
60896  RETURN
60897 
60899 
60900  !
60901  !================================================================================================================================
60902  !
60903 
60905  SUBROUTINE cmfe_fieldml_inputfieldcreatestartobjvs( fieldml, region, decomposition, fieldNumber, field, variableType, &
60906  & evaluatorname, err )
60907  !DLLEXPORT(cmfe_FieldML_InputFieldCreateStartObjVS)
60908  !Arguments
60909  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60910  TYPE(cmfe_regiontype), INTENT(IN) :: region
60911  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
60912  INTEGER(INTG), INTENT(IN) :: fieldNumber
60913  INTEGER(INTG), INTENT(IN) :: variableType
60914  TYPE(varying_string), INTENT(IN) :: evaluatorName
60915  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
60916  INTEGER(INTG), INTENT(OUT) :: err
60917 
60918  enters("cmfe_FieldML_InputFieldCreateStartObjVS",err,error,*999)
60919 
60920 #ifdef WITH_FIELDML
60921 
60922  CALL fieldml_input_field_create_start( fieldml%fieldmlInfo, region%region, decomposition%decomposition, fieldnumber, &
60923  & field%field, variabletype, evaluatorname, err, error, *999 )
60924 
60925 #else
60926  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60927 #endif
60928 
60929  exits("cmfe_FieldML_InputFieldCreateStartObjVS")
60930  RETURN
60931 999 errorsexits("cmfe_FieldML_InputFieldCreateStartObjVS",err,error)
60932  CALL cmfe_handleerror(err,error)
60933  RETURN
60934 
60936 
60937  !
60938  !================================================================================================================================
60939  !
60940 
60942  SUBROUTINE cmfe_fieldml_inputfieldcreatestartnumbervs( fieldml, regionNumber, meshNumber, decompositionNumber, fieldNumber, &
60943  & variabletype, evaluatorname, err )
60944  !DLLEXPORT(cmfe_FieldML_InputFieldCreateStartNumberVS)
60945  !Arguments
60946  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60947  INTEGER(INTG), INTENT(IN) :: regionNumber
60948  INTEGER(INTG), INTENT(IN) :: meshNumber
60949  INTEGER(INTG), INTENT(IN) :: decompositionNumber
60950  INTEGER(INTG), INTENT(IN) :: fieldNumber
60951  INTEGER(INTG), INTENT(IN) :: variableType
60952  TYPE(varying_string), INTENT(IN) :: evaluatorName
60953  INTEGER(INTG), INTENT(OUT) :: err
60954 
60955  !Local variables
60956  TYPE(region_type), POINTER :: region
60957  TYPE(mesh_type), POINTER :: mesh
60958  TYPE(decomposition_type), POINTER :: decomposition
60959  TYPE(field_type), POINTER :: field
60960 
60961  enters("cmfe_FieldML_InputFieldCreateStartNumberVS",err,error,*999)
60962 
60963 #ifdef WITH_FIELDML
60964 
60965  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
60966  CALL mesh_user_number_to_mesh( meshnumber, region, mesh, err, error, *999 )
60967  CALL decomposition_user_number_to_decomposition( decompositionnumber, mesh, decomposition, err, error, *999 )
60968 
60969  NULLIFY( field )
60970  CALL fieldml_input_field_create_start( fieldml%fieldmlInfo, region, decomposition, fieldnumber, field, variabletype, &
60971  & evaluatorname, err, error, *999 )
60972 
60973 #else
60974  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
60975 #endif
60976 
60977  exits("cmfe_FieldML_InputFieldCreateStartNumberVS")
60978  RETURN
60979 999 errorsexits("cmfe_FieldML_InputFieldCreateStartNumberVS",err,error)
60980  CALL cmfe_handleerror(err,error)
60981  RETURN
60982 
60984 
60985  !
60986  !================================================================================================================================
60987  !
60988 
60990  SUBROUTINE cmfe_fieldml_inputfieldcreatestartobjc( fieldml, region, decomposition, fieldNumber, field, variableType, &
60991  & evaluatorname, err )
60992  !DLLEXPORT(cmfe_FieldML_InputFieldCreateStartObjC)
60993  !Arguments
60994  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
60995  TYPE(cmfe_regiontype), INTENT(IN) :: region
60996  TYPE(cmfe_decompositiontype), INTENT(IN) :: decomposition
60997  INTEGER(INTG), INTENT(IN) :: fieldNumber
60998  INTEGER(INTG), INTENT(IN) :: variableType
60999  CHARACTER(LEN=*), INTENT(IN) :: evaluatorName
61000  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
61001  INTEGER(INTG), INTENT(OUT) :: err
61002 
61003  enters("cmfe_FieldML_InputFieldCreateStartObjC",err,error,*999)
61004 
61005 #ifdef WITH_FIELDML
61006 
61007  CALL fieldml_input_field_create_start( fieldml%fieldmlInfo, region%region, decomposition%decomposition, fieldnumber, &
61008  & field%field, variabletype, var_str(evaluatorname), err, error, *999 )
61009 
61010 #else
61011  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61012 #endif
61013 
61014  exits("cmfe_FieldML_InputFieldCreateStartObjC")
61015  RETURN
61016 999 errorsexits("cmfe_FieldML_InputFieldCreateStartObjC",err,error)
61017  CALL cmfe_handleerror(err,error)
61018  RETURN
61019 
61021 
61022  !
61023  !================================================================================================================================
61024  !
61025 
61027  SUBROUTINE cmfe_fieldml_inputfieldcreatestartnumberc( fieldml, regionNumber, meshNumber, decompositionNumber, fieldNumber, &
61028  & variabletype, evaluatorname, err )
61029  !DLLEXPORT(cmfe_FieldML_InputFieldCreateStartNumberC)
61030  !Arguments
61031  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
61032  INTEGER(INTG), INTENT(IN) :: regionNumber
61033  INTEGER(INTG), INTENT(IN) :: meshNumber
61034  INTEGER(INTG), INTENT(IN) :: decompositionNumber
61035  INTEGER(INTG), INTENT(IN) :: fieldNumber
61036  INTEGER(INTG), INTENT(IN) :: variableType
61037  CHARACTER(LEN=*), INTENT(IN) :: evaluatorName
61038  INTEGER(INTG), INTENT(OUT) :: err
61039 
61040  !Local variables
61041  TYPE(region_type), POINTER :: region
61042  TYPE(mesh_type), POINTER :: mesh
61043  TYPE(decomposition_type), POINTER :: decomposition
61044  TYPE(field_type), POINTER :: field
61045 
61046  enters("cmfe_FieldML_InputFieldCreateStartNumberC",err,error,*999)
61047 
61048 #ifdef WITH_FIELDML
61049 
61050  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
61051  CALL mesh_user_number_to_mesh( meshnumber, region, mesh, err, error, *999 )
61052  CALL decomposition_user_number_to_decomposition( decompositionnumber, mesh, decomposition, err, error, *999 )
61053 
61054  NULLIFY( field )
61055  CALL fieldml_input_field_create_start( fieldml%fieldmlInfo, region, decomposition, fieldnumber, field, variabletype, &
61056  & var_str(evaluatorname), err, error, *999 )
61057 
61058 #else
61059  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61060 #endif
61061 
61062  exits("cmfe_FieldML_InputFieldCreateStartNumberC")
61063  RETURN
61064 999 errorsexits("cmfe_FieldML_InputFieldCreateStartNumberC",err,error)
61065  CALL cmfe_handleerror(err,error)
61066  RETURN
61067 
61069 
61070  !
61071  !================================================================================================================================
61072  !
61073 
61075  SUBROUTINE cmfe_fieldml_inputfieldparametersupdateobjvs( fieldml, field, evaluatorName, variableType, &
61076  & settype, err )
61077  !DLLEXPORT(cmfe_FieldML_InputFieldParametersUpdateObjVS)
61078  !Arguments
61079  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
61080  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
61081  TYPE(varying_string), INTENT(IN) :: evaluatorName
61082  INTEGER(INTG), INTENT(IN) :: variableType
61083  INTEGER(INTG), INTENT(IN) :: setType
61084  INTEGER(INTG), INTENT(OUT) :: err
61085 
61086  enters("cmfe_FieldML_InputFieldParametersUpdateObjVS",err,error,*999)
61087 
61088 #ifdef WITH_FIELDML
61089 
61090  CALL fieldml_input_field_parameters_update( fieldml%fieldmlInfo, evaluatorname, field%field, variabletype, &
61091  & settype, err, error, *999 )
61092 
61093 #else
61094  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61095 #endif
61096 
61097  exits("cmfe_FieldML_InputFieldParametersUpdateObjVS")
61098  RETURN
61099 999 errors("cmfe_FieldML_InputFieldParametersUpdateObjVS",err,error)
61100  exits("cmfe_FieldML_InputFieldParametersUpdateObjVS")
61101  CALL cmfe_handleerror(err,error)
61102  RETURN
61103 
61105 
61106  !
61107  !================================================================================================================================
61108  !
61109 
61111  SUBROUTINE cmfe_fieldml_inputfieldparametersupdatenumbervs( fieldml, regionNumber, fieldNumber, &
61112  & evaluatorname, variabletype, settype, err )
61113  !DLLEXPORT(cmfe_FieldML_InputFieldParametersUpdateNumberVS)
61114  !Arguments
61115  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
61116  INTEGER(INTG), INTENT(IN) :: regionNumber
61117  INTEGER(INTG), INTENT(IN) :: fieldNumber
61118  TYPE(varying_string), INTENT(IN) :: evaluatorName
61119  INTEGER(INTG), INTENT(IN) :: variableType
61120  INTEGER(INTG), INTENT(IN) :: setType
61121  INTEGER(INTG), INTENT(OUT) :: err
61122 
61123  !Local variables
61124  TYPE(region_type), POINTER :: region
61125  TYPE(field_type), POINTER :: field
61126 
61127  enters("cmfe_FieldML_InputFieldParametersUpdateNumberVS",err,error,*999)
61128 
61129 #ifdef WITH_FIELDML
61130 
61131  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
61132  CALL field_user_number_to_field( fieldnumber, region, field, err, error, *999 )
61133 
61134  CALL fieldml_input_field_parameters_update( fieldml%fieldmlInfo, evaluatorname, field, variabletype, settype, &
61135  & err, error, *999 )
61136 
61137 #else
61138  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61139 #endif
61140 
61141  exits("cmfe_FieldML_InputFieldParametersUpdateNumberVS")
61142  RETURN
61143 999 errors("cmfe_FieldML_InputFieldParametersUpdateNumberVS",err,error)
61144  exits("cmfe_FieldML_InputFieldParametersUpdateNumberVS")
61145  CALL cmfe_handleerror(err,error)
61146  RETURN
61147 
61149 
61150  !
61151  !================================================================================================================================
61152  !
61153 
61155  SUBROUTINE cmfe_fieldml_inputfieldparametersupdateobjc( fieldml, field, evaluatorName, &
61156  & variabletype, settype, err )
61157  !DLLEXPORT(cmfe_FieldML_InputFieldParametersUpdateObjC)
61158  !Arguments
61159  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
61160  TYPE(cmfe_fieldtype), INTENT(INOUT) :: field
61161  CHARACTER(LEN=*), INTENT(IN) :: evaluatorName
61162  INTEGER(INTG), INTENT(IN) :: variableType
61163  INTEGER(INTG), INTENT(IN) :: setType
61164  INTEGER(INTG), INTENT(OUT) :: err
61165 
61166  enters("cmfe_FieldML_InputFieldParametersUpdateObjC",err,error,*999)
61167 
61168 #ifdef WITH_FIELDML
61169 
61170  CALL fieldml_input_field_parameters_update( fieldml%fieldmlInfo, var_str(evaluatorname), field%field, variabletype, &
61171  & settype, err, error, *999 )
61172 
61173 #else
61174  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61175 #endif
61176 
61177  exits("cmfe_FieldML_InputFieldParametersUpdateObjC")
61178  RETURN
61179 999 errorsexits("cmfe_FieldML_InputFieldParametersUpdateObjC",err,error)
61180  CALL cmfe_handleerror(err,error)
61181  RETURN
61182 
61184 
61185  !
61186  !================================================================================================================================
61187  !
61188 
61190  SUBROUTINE cmfe_fieldml_inputfieldparametersupdatenumberc( fieldml, regionNumber, fieldNumber, &
61191  & evaluatorname, variabletype, settype, err )
61192  !DLLEXPORT(cmfe_FieldML_InputFieldParametersUpdateNumberC)
61193  !Arguments
61194  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
61195  INTEGER(INTG), INTENT(IN) :: regionNumber
61196  INTEGER(INTG), INTENT(IN) :: fieldNumber
61197  CHARACTER(LEN=*), INTENT(IN) :: evaluatorName
61198  INTEGER(INTG), INTENT(IN) :: variableType
61199  INTEGER(INTG), INTENT(IN) :: setType
61200  INTEGER(INTG), INTENT(OUT) :: err
61201 
61202  !Local variables
61203  TYPE(region_type), POINTER :: region
61204  TYPE(field_type), POINTER :: field
61205 
61206  enters("cmfe_FieldML_InputFieldParametersUpdateNumberC",err,error,*999)
61207 
61208 #ifdef WITH_FIELDML
61209 
61210  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
61211  CALL field_user_number_to_field( fieldnumber, region, field, err, error, *999 )
61212 
61213  CALL fieldml_input_field_parameters_update( fieldml%fieldmlInfo, var_str(evaluatorname), field, variabletype, &
61214  & settype, err, error, *999 )
61215 
61216 #else
61217  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61218 #endif
61219 
61220  exits("cmfe_FieldML_InputFieldParametersUpdateNumberC")
61221  RETURN
61222 999 errors("cmfe_FieldML_InputFieldParametersUpdateNumberC",err,error)
61223  exits("cmfe_FieldML_InputFieldParametersUpdateNumberC")
61224  CALL cmfe_handleerror(err,error)
61225  RETURN
61226 
61228 
61229  !
61230  !================================================================================================================================
61231  !
61232 
61234  SUBROUTINE cmfe_fieldml_outputwritevs( fieldml, filename, err )
61235  !DLLEXPORT(cmfe_FieldML_OutputWriteVS)
61236  !Argument variables
61237  TYPE(cmfe_fieldmliotype), INTENT(IN) :: fieldml
61238  TYPE(varying_string), INTENT(IN) :: filename
61239  INTEGER(INTG), INTENT(OUT) :: err
61240 
61241  enters("cmfe_FieldML_OutputWriteVS",err,error,*999)
61242 
61243 #ifdef WITH_FIELDML
61244 
61245  IF( .NOT. fieldml%fieldmlInfo%IS_OUT ) THEN
61246  CALL flagerror( "Inbound FieldML handle used four an output-only operation.", err, error, *999 )
61247  END IF
61248 
61249  CALL fieldml_output_write( fieldml%fieldmlInfo, filename, err, error, *999 )
61250 
61251 #else
61252  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61253 #endif
61254 
61255  exits("cmfe_FieldML_OutputWriteVS")
61256  RETURN
61257 999 errorsexits("cmfe_FieldML_OutputWriteVS",err,error)
61258  CALL cmfe_handleerror(err,error)
61259  RETURN
61260 
61261  END SUBROUTINE cmfe_fieldml_outputwritevs
61262 
61263  !
61264  !================================================================================================================================
61265  !
61266 
61268  SUBROUTINE cmfe_fieldml_outputwritec( fieldml, filename, err )
61269  !DLLEXPORT(cmfe_FieldML_OutputWriteC)
61270  !Argument variables
61271  TYPE(cmfe_fieldmliotype), INTENT(IN) :: fieldml
61272  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: filename
61273  INTEGER(INTG), INTENT(OUT) :: err
61274 
61275  enters("cmfe_FieldML_OutputWriteC",err,error,*999)
61276 
61277 #ifdef WITH_FIELDML
61278 
61279  IF( .NOT. fieldml%fieldmlInfo%IS_OUT ) THEN
61280  CALL flagerror( "Inbound FieldML handle used four an output-only operation.", err, error, *999 )
61281  END IF
61282 
61283  CALL fieldml_output_write( fieldml%fieldmlInfo, var_str(filename), err, error, *999 )
61284 
61285 #else
61286  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61287 #endif
61288 
61289  exits("cmfe_FieldML_OutputWriteC")
61290  RETURN
61291 999 errorsexits("cmfe_FieldML_OutputWriteC",err,error)
61292  CALL cmfe_handleerror(err,error)
61293  RETURN
61294 
61295  END SUBROUTINE cmfe_fieldml_outputwritec
61296 
61297  !
61298  !================================================================================================================================
61299  !
61300 
61302  SUBROUTINE cmfe_fieldml_outputaddfieldnotypeobjvs( fieldml, baseName, dofFormat, field, variableType, setType, err )
61303  !DLLEXPORT(cmfe_FieldML_OutputAddFieldNoTypeObjVS)
61304  !Argument variables
61305  TYPE(cmfe_fieldmliotype), INTENT(IN) :: fieldml
61306  TYPE(varying_string), INTENT(IN) :: baseName
61307  TYPE(varying_string), INTENT(IN) :: dofFormat
61308  TYPE(cmfe_fieldtype), INTENT(IN) :: field
61309  INTEGER(INTG), INTENT(IN) :: variableType
61310  INTEGER(INTG), INTENT(IN) :: setType
61311  INTEGER(INTG), INTENT(OUT) :: err
61312 
61313  enters("cmfe_FieldML_OutputAddFieldNoTypeObjVS",err,error,*999)
61314 
61315 #ifdef WITH_FIELDML
61316 
61317  CALL fieldml_output_add_field( fieldml%fieldmlInfo, basename, dofformat, field%field, variabletype, settype, &
61318  & err, error, *999 )
61319 
61320 #else
61321  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61322 #endif
61323 
61324  exits("cmfe_FieldML_OutputAddFieldNoTypeObjVS")
61325  RETURN
61326 999 errorsexits("cmfe_FieldML_OutputAddFieldNoTypeObjVS",err,error)
61327  CALL cmfe_handleerror(err,error)
61328  RETURN
61329 
61331 
61332  !
61333  !================================================================================================================================
61334  !
61335 
61337  SUBROUTINE cmfe_fieldml_outputaddfieldnotypenumbervs( fieldml, baseName, dofFormat, regionNumber, fieldNumber, &
61338  & variabletype, settype, err )
61339  !DLLEXPORT(cmfe_FieldML_OutputAddFieldNoTypeNumberVS)
61340  !Argument variables
61341  TYPE(cmfe_fieldmliotype), INTENT(IN) :: fieldml
61342  TYPE(varying_string), INTENT(IN) :: baseName
61343  TYPE(varying_string), INTENT(IN) :: dofFormat
61344  INTEGER(INTG), INTENT(IN) :: regionNumber
61345  INTEGER(INTG), INTENT(IN) :: fieldNumber
61346  INTEGER(INTG), INTENT(IN) :: variableType
61347  INTEGER(INTG), INTENT(IN) :: setType
61348  INTEGER(INTG), INTENT(OUT) :: err
61349 
61350  !Locals
61351  TYPE(region_type), POINTER :: region
61352  TYPE(field_type), POINTER :: field
61353 
61354  enters("cmfe_FieldML_OutputAddFieldNoTypeNumberVS",err,error,*999)
61355 
61356 #ifdef WITH_FIELDML
61357 
61358  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
61359  CALL field_user_number_to_field( fieldnumber, region, field, err, error, *999 )
61360 
61361  CALL fieldml_output_add_field( fieldml%fieldmlInfo, basename, dofformat, field, variabletype, settype, err, error, *999 )
61362 
61363 #else
61364  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61365 #endif
61366 
61367  exits("cmfe_FieldML_OutputAddFieldNoTypeNumberVS")
61368  RETURN
61369 999 errorsexits("cmfe_FieldML_OutputAddFieldNoTypeNumberVS",err,error)
61370  CALL cmfe_handleerror(err,error)
61371  RETURN
61372 
61374 
61375  !
61376  !================================================================================================================================
61377  !
61378 
61380  SUBROUTINE cmfe_fieldml_outputaddfieldwithtypeobjvs( fieldml, baseName, dofFormat, field, variableType, setType, typeHandle, err )
61381  !DLLEXPORT(cmfe_FieldML_OutputAddFieldWithTypeObjVS)
61382  !Argument variables
61383  TYPE(cmfe_fieldmliotype), INTENT(IN) :: fieldml
61384  TYPE(varying_string), INTENT(IN) :: baseName
61385  TYPE(varying_string), INTENT(IN) :: dofFormat
61386  TYPE(cmfe_fieldtype), INTENT(IN) :: field
61387  INTEGER(INTG), INTENT(IN) :: variableType
61388  INTEGER(INTG), INTENT(IN) :: typeHandle
61389  INTEGER(INTG), INTENT(IN) :: setType
61390  INTEGER(INTG), INTENT(OUT) :: err
61391 
61392  enters("cmfe_FieldML_OutputAddFieldWithTypeObjVS",err,error,*999)
61393 
61394 #ifdef WITH_FIELDML
61395 
61396  CALL fieldml_output_add_field( fieldml%fieldmlInfo, basename, dofformat, field%field, variabletype, settype, typehandle, &
61397  & err, error, *999 )
61398 
61399 #else
61400  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61401 #endif
61402 
61403  exits("cmfe_FieldML_OutputAddFieldWithTypeObjVS")
61404  RETURN
61405 999 errorsexits("cmfe_FieldML_OutputAddFieldWithTypeObjVS",err,error)
61406  CALL cmfe_handleerror(err,error)
61407  RETURN
61408 
61410 
61411  !
61412  !================================================================================================================================
61413  !
61414 
61416  SUBROUTINE cmfe_fieldml_outputaddfieldwithtypenumbervs( fieldml, baseName, dofFormat, regionNumber, fieldNumber, &
61417  & variabletype, settype, typehandle, err )
61418  !DLLEXPORT(cmfe_FieldML_OutputAddFieldWithTypeNumberVS)
61419  !Argument variables
61420  TYPE(cmfe_fieldmliotype), INTENT(IN) :: fieldml
61421  TYPE(varying_string), INTENT(IN) :: baseName
61422  TYPE(varying_string), INTENT(IN) :: dofFormat
61423  INTEGER(INTG), INTENT(IN) :: regionNumber
61424  INTEGER(INTG), INTENT(IN) :: fieldNumber
61425  INTEGER(INTG), INTENT(IN) :: variableType
61426  INTEGER(INTG), INTENT(IN) :: setType
61427  INTEGER(INTG), INTENT(IN) :: typeHandle
61428  INTEGER(INTG), INTENT(OUT) :: err
61429 
61430  !Locals
61431  TYPE(region_type), POINTER :: region
61432  TYPE(field_type), POINTER :: field
61433 
61434  enters("cmfe_FieldML_OutputAddFieldWithTypeNumberVS",err,error,*999)
61435 
61436 #ifdef WITH_FIELDML
61437 
61438  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
61439  CALL field_user_number_to_field( fieldnumber, region, field, err, error, *999 )
61440 
61441  CALL fieldml_output_add_field( fieldml%fieldmlInfo, basename, dofformat, field, variabletype, settype, typehandle, &
61442  & err, error, *999 )
61443 
61444 #else
61445  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61446 #endif
61447 
61448  exits("cmfe_FieldML_OutputAddFieldWithTypeNumberVS")
61449  RETURN
61450 999 errorsexits("cmfe_FieldML_OutputAddFieldWithTypeNumberVS",err,error)
61451  CALL cmfe_handleerror(err,error)
61452  RETURN
61453 
61455 
61456  !
61457  !================================================================================================================================
61458  !
61459 
61461  SUBROUTINE cmfe_fieldml_outputaddfieldnotypeobjc( fieldml, baseName, dofFormat, field, variableType, setType, err )
61462  !DLLEXPORT(cmfe_FieldML_OutputAddFieldNoTypeObjC)
61463  !Argument variables
61464  TYPE(cmfe_fieldmliotype), INTENT(IN) :: fieldml
61465  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: baseName
61466  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: dofFormat
61467  TYPE(cmfe_fieldtype), INTENT(IN) :: field
61468  INTEGER(INTG), INTENT(IN) :: variableType
61469  INTEGER(INTG), INTENT(IN) :: setType
61470  INTEGER(INTG), INTENT(OUT) :: err
61471 
61472  enters("cmfe_FieldML_OutputAddFieldNoTypeObjC",err,error,*999)
61473 
61474 #ifdef WITH_FIELDML
61475 
61476  CALL fieldml_output_add_field( fieldml%fieldmlInfo, var_str(basename), var_str(dofformat), field%field, variabletype, &
61477  & settype, err, error, *999 )
61478 
61479 #else
61480  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61481 #endif
61482 
61483  exits("cmfe_FieldML_OutputAddFieldNoTypeObjC")
61484  RETURN
61485 999 errorsexits("cmfe_FieldML_OutputAddFieldNoTypeObjC",err,error)
61486  CALL cmfe_handleerror(err,error)
61487  RETURN
61488 
61490 
61491  !
61492  !================================================================================================================================
61493  !
61494 
61496  SUBROUTINE cmfe_fieldml_outputaddfieldnotypenumberc( fieldml, baseName, dofFormat, regionNumber, fieldNumber, &
61497  & variabletype, settype, err )
61498  !DLLEXPORT(cmfe_FieldML_OutputAddFieldNoTypeNumberC)
61499  !Argument variables
61500  TYPE(cmfe_fieldmliotype), INTENT(IN) :: fieldml
61501  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: baseName
61502  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: dofFormat
61503  INTEGER(INTG), INTENT(IN) :: regionNumber
61504  INTEGER(INTG), INTENT(IN) :: fieldNumber
61505  INTEGER(INTG), INTENT(IN) :: variableType
61506  INTEGER(INTG), INTENT(IN) :: setType
61507  INTEGER(INTG), INTENT(OUT) :: err
61508 
61509  !Locals
61510  TYPE(region_type), POINTER :: region
61511  TYPE(field_type), POINTER :: field
61512 
61513  enters("cmfe_FieldML_OutputAddFieldNoTypeNumberC",err,error,*999)
61514 
61515 #ifdef WITH_FIELDML
61516 
61517  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
61518  CALL field_user_number_to_field( fieldnumber, region, field, err, error, *999 )
61519 
61520  CALL fieldml_output_add_field( fieldml%fieldmlInfo, var_str(basename), var_str(dofformat), field, variabletype, &
61521  & settype, err, error, *999 )
61522 
61523 #else
61524  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61525 #endif
61526 
61527  exits("cmfe_FieldML_OutputAddFieldNoTypeNumberC")
61528  RETURN
61529 999 errorsexits("cmfe_FieldML_OutputAddFieldNoTypeNumberC",err,error)
61530  CALL cmfe_handleerror(err,error)
61531  RETURN
61532 
61534 
61535  !
61536  !================================================================================================================================
61537  !
61538 
61540  SUBROUTINE cmfe_fieldml_outputaddfieldwithtypeobjc( fieldml, baseName, dofFormat, field, variableType, setType, typeHandle, err )
61541  !DLLEXPORT(cmfe_FieldML_OutputAddFieldWithTypeObjC)
61542  !Argument variables
61543  TYPE(cmfe_fieldmliotype), INTENT(IN) :: fieldml
61544  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: baseName
61545  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: dofFormat
61546  TYPE(cmfe_fieldtype), INTENT(IN) :: field
61547  INTEGER(INTG), INTENT(IN) :: variableType
61548  INTEGER(INTG), INTENT(IN) :: setType
61549  INTEGER(INTG), INTENT(IN) :: typeHandle
61550  INTEGER(INTG), INTENT(OUT) :: err
61551 
61552  enters("cmfe_FieldML_OutputAddFieldWithTypeObjC",err,error,*999)
61553 
61554 #ifdef WITH_FIELDML
61555 
61556  CALL fieldml_output_add_field( fieldml%fieldmlInfo, var_str(basename), var_str(dofformat), field%field, variabletype, &
61557  & typehandle, settype, err, error, *999 )
61558 
61559 #else
61560  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61561 #endif
61562 
61563  exits("cmfe_FieldML_OutputAddFieldWithTypeObjC")
61564  RETURN
61565 999 errorsexits("cmfe_FieldML_OutputAddFieldWithTypeObjC",err,error)
61566  CALL cmfe_handleerror(err,error)
61567  RETURN
61568 
61570 
61571  !
61572  !================================================================================================================================
61573  !
61574 
61576  SUBROUTINE cmfe_fieldml_outputaddfieldwithtypenumberc( fieldml, baseName, dofFormat, regionNumber, fieldNumber, &
61577  & variabletype, settype, typehandle, err )
61578  !DLLEXPORT(cmfe_FieldML_OutputAddFieldWithTypeNumberC)
61579  !Argument variables
61580  TYPE(cmfe_fieldmliotype), INTENT(IN) :: fieldml
61581  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: baseName
61582  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: dofFormat
61583  INTEGER(INTG), INTENT(IN) :: regionNumber
61584  INTEGER(INTG), INTENT(IN) :: fieldNumber
61585  INTEGER(INTG), INTENT(IN) :: variableType
61586  INTEGER(INTG), INTENT(IN) :: setType
61587  INTEGER(INTG), INTENT(IN) :: typeHandle
61588  INTEGER(INTG), INTENT(OUT) :: err
61589 
61590  !Locals
61591  TYPE(region_type), POINTER :: region
61592  TYPE(field_type), POINTER :: field
61593 
61594  enters("cmfe_FieldML_OutputAddFieldWithTypeNumberC",err,error,*999)
61595 
61596 #ifdef WITH_FIELDML
61597 
61598  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
61599  CALL field_user_number_to_field( fieldnumber, region, field, err, error, *999 )
61600 
61601  CALL fieldml_output_add_field( fieldml%fieldmlInfo, var_str(basename), var_str(dofformat), field, variabletype, &
61602  & settype, typehandle, err, error, *999 )
61603 
61604 #else
61605  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61606 #endif
61607 
61608  exits("cmfe_FieldML_OutputAddFieldWithTypeNumberC")
61609  RETURN
61610 999 errorsexits("cmfe_FieldML_OutputAddFieldWithTypeNumberC",err,error)
61611  CALL cmfe_handleerror(err,error)
61612  RETURN
61613 
61615 
61616  !
61617  !================================================================================================================================
61618  !
61619 
61621  SUBROUTINE cmfe_fieldml_outputcreateobjvs( mesh, location, baseName, connectivityFormat, fieldml, err )
61622  !DLLEXPORT(cmfe_FieldML_OutputCreateObjVS)
61623  !Argument variables
61624  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
61625  TYPE(varying_string), INTENT(IN) :: location
61626  TYPE(varying_string), INTENT(IN) :: baseName
61627  TYPE(varying_string), INTENT(IN) :: connectivityFormat
61628  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
61629  INTEGER(INTG), INTENT(OUT) :: err
61630 
61631  enters("cmfe_FieldML_OutputCreateObjVS",err,error,*999)
61632 
61633 #ifdef WITH_FIELDML
61634 
61635  CALL fieldml_output_initialise_info( mesh%mesh, location, basename, connectivityformat, fieldml%fieldmlInfo, &
61636  & err, error, *999 )
61637 
61638 #else
61639  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61640 #endif
61641 
61642  exits("cmfe_FieldML_OutputCreateObjVS")
61643  RETURN
61644 999 errorsexits("cmfe_FieldML_OutputCreateObjVS",err,error)
61645  CALL cmfe_handleerror(err,error)
61646  RETURN
61647 
61648  END SUBROUTINE cmfe_fieldml_outputcreateobjvs
61649 
61650  !
61651  !================================================================================================================================
61652  !
61653 
61655  SUBROUTINE cmfe_fieldml_outputcreatenumbervs( regionNumber, meshNumber, location, baseName, connectivityFormat, fieldml, err )
61656  !DLLEXPORT(cmfe_FieldML_OutputCreateNumberVS)
61657  !Argument variables
61658  INTEGER(INTG), INTENT(IN) :: regionNumber
61659  INTEGER(INTG), INTENT(IN) :: meshNumber
61660  TYPE(varying_string), INTENT(IN) :: location
61661  TYPE(varying_string), INTENT(IN) :: baseName
61662  TYPE(varying_string), INTENT(IN) :: connectivityFormat
61663  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
61664  INTEGER(INTG), INTENT(OUT) :: err
61665 
61666  !Locals
61667  TYPE(region_type), POINTER :: region
61668  TYPE(mesh_type), POINTER :: mesh
61669 
61670  enters("cmfe_FieldML_OutputCreateNumberVS",err,error,*999)
61671 
61672 #ifdef WITH_FIELDML
61673 
61674  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
61675  CALL mesh_user_number_to_mesh( meshnumber, region, mesh, err, error, *999 )
61676 
61677  CALL fieldml_output_initialise_info( mesh, location, basename, connectivityformat, fieldml%fieldmlInfo, err, error, *999 )
61678 
61679 #else
61680  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61681 #endif
61682 
61683  exits("cmfe_FieldML_OutputCreateNumberVS")
61684  RETURN
61685 999 errorsexits("cmfe_FieldML_OutputCreateNumberVS",err,error)
61686  CALL cmfe_handleerror(err,error)
61687  RETURN
61688 
61689  END SUBROUTINE cmfe_fieldml_outputcreatenumbervs
61690 
61691  !
61692  !================================================================================================================================
61693  !
61694 
61696  SUBROUTINE cmfe_fieldml_outputcreateobjc( mesh, location, baseName, connectivityFormat, fieldml, err )
61697  !DLLEXPORT(cmfe_FieldML_OutputCreateObjC)
61698  !Argument variables
61699  TYPE(cmfe_meshtype), INTENT(IN) :: mesh
61700  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: location
61701  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: baseName
61702  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: connectivityFormat
61703  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
61704  INTEGER(INTG), INTENT(OUT) :: err
61705 
61706  enters("cmfe_FieldML_OutputCreateObjC",err,error,*999)
61707 
61708 #ifdef WITH_FIELDML
61709 
61710  CALL fieldml_output_initialise_info( mesh%mesh, var_str(location), var_str(basename), var_str(connectivityformat), &
61711  & fieldml%fieldmlInfo, err, error, *999 )
61712 
61713 #else
61714  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61715 #endif
61716 
61717  exits("cmfe_FieldML_OutputCreateObjC")
61718  RETURN
61719 999 errorsexits("cmfe_FieldML_OutputCreateObjC",err,error)
61720  CALL cmfe_handleerror(err,error)
61721  RETURN
61722 
61723  END SUBROUTINE cmfe_fieldml_outputcreateobjc
61724 
61725  !
61726  !================================================================================================================================
61727  !
61728 
61730  SUBROUTINE cmfe_fieldml_outputcreatenumberc( regionNumber, meshNumber, location, baseName, connectivityFormat, fieldml, err )
61731  !DLLEXPORT(cmfe_FieldML_OutputCreateNumberC)
61732  !Argument variables
61733  INTEGER(INTG), INTENT(IN) :: regionNumber
61734  INTEGER(INTG), INTENT(IN) :: meshNumber
61735  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: location
61736  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: baseName
61737  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: connectivityFormat
61738  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
61739  INTEGER(INTG), INTENT(OUT) :: err
61740 
61741  !Locals
61742  TYPE(region_type), POINTER :: region
61743  TYPE(mesh_type), POINTER :: mesh
61744 
61745  enters("cmfe_FieldML_OutputCreateNumberC",err,error,*999)
61746 
61747 #ifdef WITH_FIELDML
61748 
61749  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
61750  CALL mesh_user_number_to_mesh( meshnumber, region, mesh, err, error, *999 )
61751 
61752  CALL fieldml_output_initialise_info( mesh, var_str(location), var_str(basename), var_str(connectivityformat), &
61753  & fieldml%fieldmlInfo, err, error, *999 )
61754 
61755 #else
61756  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61757 #endif
61758 
61759  exits("cmfe_FieldML_OutputCreateNumberC")
61760  RETURN
61761 999 errorsexits("cmfe_FieldML_OutputCreateNumberC",err,error)
61762  CALL cmfe_handleerror(err,error)
61763  RETURN
61764 
61765  END SUBROUTINE cmfe_fieldml_outputcreatenumberc
61766 
61767  !
61768  !================================================================================================================================
61769  !
61770 
61772  SUBROUTINE cmfe_fieldml_outputaddfieldcomponentsobjvs( fieldml, typeHandle, baseName, dofFormat, field, fieldComponentNumbers, &
61773  & variabletype, settype, err )
61774  !DLLEXPORT(cmfe_FieldML_OutputAddFieldComponentsObjVS)
61775  !Argument variables
61776  TYPE(cmfe_fieldmliotype), INTENT(IN) :: fieldml
61777  INTEGER(INTG), INTENT(IN) :: typeHandle
61778  TYPE(varying_string), INTENT(IN) :: baseName
61779  TYPE(varying_string), INTENT(IN) :: dofFormat
61780  TYPE(cmfe_fieldtype), INTENT(IN) :: field
61781  INTEGER(INTG), INTENT(IN) :: fieldComponentNumbers(:)
61782  INTEGER(INTG), INTENT(IN) :: variableType
61783  INTEGER(INTG), INTENT(IN) :: setType
61784  INTEGER(INTG), INTENT(OUT) :: err
61785 
61786  enters("cmfe_FieldML_OutputAddFieldComponentsObjVS",err,error,*999)
61787 
61788 #ifdef WITH_FIELDML
61789 
61790  CALL fieldml_output_add_field_components( fieldml%fieldmlInfo, typehandle, basename, dofformat, field%field, &
61791  & fieldcomponentnumbers, variabletype, settype, err, error, *999 )
61792 
61793 #else
61794  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61795 #endif
61796 
61797  exits("cmfe_FieldML_OutputAddFieldComponentsObjVS")
61798  RETURN
61799 999 errorsexits("cmfe_FieldML_OutputAddFieldComponentsObjVS",err,error)
61800  CALL cmfe_handleerror(err,error)
61801  RETURN
61802 
61804 
61805  !
61806  !================================================================================================================================
61807  !
61808 
61810  SUBROUTINE cmfe_fieldml_outputaddfieldcomponentsnumbervs( fieldml, typeHandle, baseName, dofFormat, regionNumber, &
61811  & fieldnumber, fieldcomponentnumbers, variabletype, settype, err )
61812  !DLLEXPORT(cmfe_FieldML_OutputAddFieldComponentsNumberVS)
61813  !Argument variables
61814  TYPE(cmfe_fieldmliotype), INTENT(IN) :: fieldml
61815  INTEGER(INTG), INTENT(IN) :: typeHandle
61816  TYPE(varying_string), INTENT(IN) :: baseName
61817  TYPE(varying_string), INTENT(IN) :: dofFormat
61818  INTEGER(INTG), INTENT(IN) :: regionNumber
61819  INTEGER(INTG), INTENT(IN) :: fieldNumber
61820  INTEGER(INTG), INTENT(IN) :: fieldComponentNumbers(:)
61821  INTEGER(INTG), INTENT(IN) :: variableType
61822  INTEGER(INTG), INTENT(IN) :: setType
61823  INTEGER(INTG), INTENT(OUT) :: err
61824 
61825  !Locals
61826  TYPE(region_type), POINTER :: region
61827  TYPE(field_type), POINTER :: field
61828 
61829  enters("cmfe_FieldML_OutputAddFieldComponentsNumberVS",err,error,*999)
61830 
61831 #ifdef WITH_FIELDML
61832 
61833  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
61834  CALL field_user_number_to_field( fieldnumber, region, field, err, error, *999 )
61835 
61836  CALL fieldml_output_add_field_components( fieldml%fieldmlInfo, typehandle, basename, dofformat, field, fieldcomponentnumbers,&
61837  & variabletype, settype, err, error, *999 )
61838 
61839 #else
61840  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61841 #endif
61842 
61843  exits("cmfe_FieldML_OutputAddFieldComponentsNumberVS")
61844  RETURN
61845 999 errors("cmfe_FieldML_OutputAddFieldComponentsNumberVS",err,error)
61846  exits("cmfe_FieldML_OutputAddFieldComponentsNumberVS")
61847  CALL cmfe_handleerror(err,error)
61848  RETURN
61849 
61851 
61852  !
61853  !================================================================================================================================
61854  !
61855 
61857  SUBROUTINE cmfe_fieldml_outputaddfieldcomponentsobjc( fieldml, typeHandle, baseName, dofFormat, field, fieldComponentNumbers, &
61858  & variabletype, settype, err )
61859  !DLLEXPORT(cmfe_FieldML_OutputAddFieldComponentsObjC)
61860  !Argument variables
61861  TYPE(cmfe_fieldmliotype), INTENT(IN) :: fieldml
61862  INTEGER(INTG), INTENT(IN) :: typeHandle
61863  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: baseName
61864  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: dofFormat
61865  TYPE(cmfe_fieldtype), INTENT(IN) :: field
61866  INTEGER(INTG), INTENT(IN) :: fieldComponentNumbers(:)
61867  INTEGER(INTG), INTENT(IN) :: variableType
61868  INTEGER(INTG), INTENT(IN) :: setType
61869  INTEGER(INTG), INTENT(OUT) :: err
61870 
61871  enters("cmfe_FieldML_OutputAddFieldComponentsObjC",err,error,*999)
61872 
61873 #ifdef WITH_FIELDML
61874 
61875  CALL fieldml_output_add_field_components( fieldml%fieldmlInfo, typehandle, var_str(basename), var_str(dofformat), &
61876  & field%field, fieldcomponentnumbers, variabletype, settype, err, error, *999 )
61877 
61878 #else
61879  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61880 #endif
61881 
61882  exits("cmfe_FieldML_OutputAddFieldComponentsObjC")
61883  RETURN
61884 999 errorsexits("cmfe_FieldML_OutputAddFieldComponentsObjC",err,error)
61885  CALL cmfe_handleerror(err,error)
61886  RETURN
61887 
61889 
61890  !
61891  !================================================================================================================================
61892  !
61893 
61895  SUBROUTINE cmfe_fieldml_outputaddfieldcomponentsnumberc( fieldml, typeHandle, baseName, dofFormat, regionNumber, &
61896  & fieldnumber, fieldcomponentnumbers, variabletype, settype, err )
61897  !DLLEXPORT(cmfe_FieldML_OutputAddFieldComponentsNumberC)
61898  !Argument variables
61899  TYPE(cmfe_fieldmliotype), INTENT(IN) :: fieldml
61900  INTEGER(INTG), INTENT(IN) :: typeHandle
61901  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: baseName
61902  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: dofFormat
61903  INTEGER(INTG), INTENT(IN) :: regionNumber
61904  INTEGER(INTG), INTENT(IN) :: fieldNumber
61905  INTEGER(INTG), INTENT(IN) :: fieldComponentNumbers(:)
61906  INTEGER(INTG), INTENT(IN) :: variableType
61907  INTEGER(INTG), INTENT(IN) :: setType
61908  INTEGER(INTG), INTENT(OUT) :: err
61909 
61910  !Locals
61911  TYPE(region_type), POINTER :: region
61912  TYPE(field_type), POINTER :: field
61913 
61914  enters("cmfe_FieldML_OutputAddFieldComponentsNumberC",err,error,*999)
61915 
61916 #ifdef WITH_FIELDML
61917 
61918  CALL region_user_number_to_region( regionnumber, region, err, error, *999 )
61919  CALL field_user_number_to_field( fieldnumber, region, field, err, error, *999 )
61920 
61921  CALL fieldml_output_add_field_components( fieldml%fieldmlInfo, typehandle, var_str(basename), var_str(dofformat), &
61922  & field, fieldcomponentnumbers, variabletype, settype, err, error, *999 )
61923 
61924 #else
61925  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61926 #endif
61927 
61928  exits("cmfe_FieldML_OutputAddFieldComponentsNumberC")
61929  RETURN
61930 999 errors("cmfe_FieldML_OutputAddFieldComponentsNumberC",err,error)
61931  exits("cmfe_FieldML_OutputAddFieldComponentsNumberC")
61932  CALL cmfe_handleerror(err,error)
61933  RETURN
61934 
61936 
61937  !
61938  !================================================================================================================================
61939  !
61940 
61942  SUBROUTINE cmfe_fieldml_outputaddimport( fieldml, name, handle, err )
61943  !DLLEXPORT(cmfe_FieldML_OutputAddImport)
61944  !Argument variables
61945  TYPE(cmfe_fieldmliotype), INTENT(IN) :: fieldml
61946  CHARACTER(KIND=C_CHAR,LEN=*), INTENT(IN) :: name
61947  INTEGER(INTG), INTENT(OUT) :: handle
61948  INTEGER(INTG), INTENT(OUT) :: err
61949 
61950  !Locals
61951  TYPE(varying_string) :: stringName
61952 
61953  enters("cmfe_FieldML_OutputAddImport",err,error,*999)
61954 
61955 #ifdef WITH_FIELDML
61956 
61957  stringname = name
61958 
61959  handle = fieldml_output_add_import( fieldml%fieldmlInfo, stringname, err, error )
61960  IF(err/=0) GOTO 999
61961 
61962 #else
61963  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61964 #endif
61965 
61966  exits("cmfe_FieldML_OutputAddImport")
61967  RETURN
61968 999 errorsexits("cmfe_FieldML_OutputAddImport",err,error)
61969  CALL cmfe_handleerror( err, error )
61970  RETURN
61971 
61972  END SUBROUTINE cmfe_fieldml_outputaddimport
61973 
61974  !
61975  !================================================================================================================================
61976  !
61977 
61979  SUBROUTINE cmfe_fieldmlio_finalise( fieldml, err )
61980  !DLLEXPORT(cmfe_FieldMLIO_Finalise)
61981  !Argument variables
61982  TYPE(cmfe_fieldmliotype), INTENT(OUT) :: fieldml
61983  INTEGER(INTG), INTENT(OUT) :: err
61984 
61985  enters("cmfe_FieldMLIO_Finalise", err, error, *999 )
61986 
61987 #ifdef WITH_FIELDML
61988 
61989  CALL fieldml_io_finalise( fieldml%fieldmlInfo, err, error, *999 )
61990 
61991 #else
61992  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
61993 #endif
61994 
61995  exits("cmfe_FieldMLIO_Finalise")
61996  RETURN
61997 999 errorsexits("cmfe_FieldMLIO_Finalise",err,error)
61998  CALL cmfe_handleerror( err, error )
61999  RETURN
62000 
62001  END SUBROUTINE cmfe_fieldmlio_finalise
62002 
62003  !
62004  !================================================================================================================================
62005  !
62006 
62008  SUBROUTINE cmfe_fieldmlio_initialise( fieldml, err )
62009  !DLLEXPORT(cmfe_FieldMLIO_Initialise)
62010  !Argument variables
62011  TYPE(cmfe_fieldmliotype), INTENT(OUT) :: fieldml
62012  INTEGER(INTG), INTENT(OUT) :: err
62013 
62014  enters("cmfe_FieldMLIO_Initialise", err, error, *999 )
62015 
62016 #ifdef WITH_FIELDML
62017 
62018  NULLIFY( fieldml%fieldmlInfo )
62019 
62020 #else
62021  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
62022 #endif
62023 
62024  exits("cmfe_FieldMLIO_Initialise")
62025  RETURN
62026 999 errorsexits("cmfe_FieldMLIO_Initialise",err,error)
62027  CALL cmfe_handleerror( err, error )
62028  RETURN
62029 
62030  END SUBROUTINE cmfe_fieldmlio_initialise
62031 
62032  !
62033  !================================================================================================================================
62034  !
62035 
62037  SUBROUTINE cmfe_fieldmlio_getsession( fieldml, sessionHandle, err )
62038  !DLLEXPORT(cmfe_FieldMLIO_GetSession)
62039  !Argument variables
62040  TYPE(cmfe_fieldmliotype), INTENT(INOUT) :: fieldml
62041  INTEGER(INTG), INTENT(OUT) :: sessionHandle
62042  INTEGER(INTG), INTENT(OUT) :: err
62043 
62044  enters("cmfe_FieldMLIO_GetSession", err, error, *999 )
62045 
62046 #ifdef WITH_FIELDML
62047 
62048  sessionhandle = fieldml%fieldmlInfo%FML_HANDLE
62049 
62050 #else
62051  CALL flagerror("Must compile with WITH_FIELDML ON to use FieldML functionality.",err,error,*999)
62052 #endif
62053 
62054  exits("cmfe_FieldMLIO_GetSession")
62055  RETURN
62056 999 errorsexits("cmfe_FieldMLIO_GetSession",err,error)
62057  CALL cmfe_handleerror( err, error )
62058  RETURN
62059 
62060  END SUBROUTINE cmfe_fieldmlio_getsession
62061 
62062  !
62063  !================================================================================================================================
62064  !
62065 
62066 
62067 END MODULE opencmiss_iron
subroutine cmfe_solver_lineariterativerelativetolerancesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, relativeTolerance, err)
Sets/changes the maximum relative tolerance for an iterative linear solver identified by an user numb...
integer(intg), parameter, public cmfe_problem_linear_source_static_advec_diff_subtype
Linear source advection-Diffusion problem subtype.
subroutine cmfe_nodes_labelsetvsnumber(regionUserNumber, nodeGlobalNumber, label, err)
Sets/changes the varying string label for a node in a set of nodes identified by user number...
integer(intg), parameter, public cmfe_problem_nonlinear_source_static_advec_diff_subtype
Nonlinear source advection-Diffusion problem subtype.
subroutine cmfe_analyticanalysis_percentageerrorgetnodenumber(regionUserNumber, fieldUserNumber, variableType, versionNumber, derivativeNumber, nodeNumber, componentNumber, value, err)
Get percentage error value for the node in a field specified by a user number compared to the analyti...
Finishes the process of creating a control loop on a problem.
integer(intg), parameter, public cmfe_problem_no_source_ale_advection_diffusion_subtype
No source advection-Diffusion problem subtype.
subroutine cmfe_dataprojection_numberofclosestelementsgetobj(dataProjection, numberOfClosestElements, err)
Returns the number of closest elements of data projection identified an object.
subroutine cmfe_field_variablelabelsetcobj(field, variableType, label, err)
Sets/changes the character string label for a field variable for a field identified by an object...
integer(intg), parameter, public cmfe_global_deriv_s1_s3
Global Cross derivative in the s1 and s3 direction i.e., d^2u/ds1ds3.
subroutine cmfe_solver_quasinewtonlinesearchmonitoroutputsetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, monitorLinesearchFlag, err)
Enables/disables output monitoring for a nonlinear Quasi-Newton line search solver identified by an u...
subroutine cmfe_datapoints_weightsgetnumber(regionUserNumber, dataPointGlobalNumber, dataPointWeights, err)
Returns the weights for a data point in a set of data points identified by user number.
subroutine cmfe_decomposition_numberofdomainsgetobj(decomposition, numberOfDomains, err)
Returns the number of domains for a decomposition identified by an object.
integer(intg), parameter, public cmfe_solver_dae_euler_backward
Backward Euler differential equation solver.
Returns the adjacent elements for a given element and adjacent xi direction for an element in a mesh...
integer(intg), parameter, public cmfe_boundary_condition_free
The dof is free.
subroutine, public cmfe_interface_initialise(cmfe_Interface, err)
Initialises a cmfe_InterfaceType object.
Finishes the creation of a mesh elements for a mesh component.
Set the candidate element numbers and their local face/line numbers.
subroutine cmfe_meshnodes_numberofnodesgetobj(meshNodes, numberOfNodes, err)
Returns the number of derivatives for a node in a mesh identified by an object.
subroutine cmfe_analyticanalysis_relativeerrorgetelementnumber(regionUserNumber, fieldUserNumber, variableType, elementNumber, componentNumber, value, err)
Get relative error value for the element in a field specified by a user number compared to the analyt...
Get the data type for a distributed vector.
subroutine cmfe_problem_controlloopcreatestartobj(problem, err)
Starts the creation of a control loop on a problem identified by an object.
subroutine cmfe_interfacemeshconnectivity_nodenumbersetobj(interfaceMeshConnectivity, interfaceNodeNumbers, firstCoupledMeshIndexNumber, firstCoupledMeshNodeNumbers, secondCoupledMeshIndexNumber, secondCoupledMeshNodeNumbers, err)
Sets the connectivity between nodes in coupled meshes to nodes in the interface mesh.
subroutine cmfe_analyticanalysis_integralnumericalvaluegetnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, integralValue, ghostIntegralValue, err)
Get integral value for the numerical values.
Sets/changes the line search maximum step for a nonlinear Quasi-Newton solver.
integer(intg), parameter, public cmfe_problem_darcy_equation_type
Darcy equation problem type.
subroutine cmfe_generatedmesh_numberofelementsgetnumber(regionUserNumber, generatedMeshUserNumber, numberOfElements, err)
Returns the number of elements for a generated mesh on a region identified by a user number...
integer(intg), parameter, public cmfe_solver_direct_cholesky
Cholesky direct linear solver.
subroutine cmfe_mesh_nodesgetobj(mesh, meshComponentNumber, meshNodes, err)
Returns the mesh nodes for a mesh component on a mesh identified by an object.
subroutine cmfe_field_parametersetgetconstantlnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Returns from the given parameter set a logical value for the specified constant of a field variable c...
subroutine, public cmfe_equations_sourcevectorget(equations, sourceVector, err)
Get the source vector for equations.
subroutine cmfe_datapoints_weightsgetobj(dataPoints, dataPointGlobalNumber, dataPointWeights, err)
Returns the weights for a data point in a set of data points identified by an object.
subroutine cmfe_solver_labelgetcnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, label, err)
Returns the character string label for a solver identified by an user number.
Returns the label of a solver.
subroutine cmfe_solver_geometrictransformationtranslationsetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, translation, err)
Sets the translation for a geometric transformation identified by an user number, default to be the 1...
subroutine cmfe_coordinatesystem_createfinishobj(coordinateSystem, err)
Finishes the creation of a coordinate system identified by an object.
subroutine cmfe_interface_labelgetcobj(interface, label, err)
Returns the character string label for an interface identified by an object.
Contains information about the solver equations for a solver.
subroutine cmfe_interfacecondition_equationscreatestartnumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, err)
Starts the creation of interface equations for an interface condition identified by a user number...
Returns the coordinate system of region.
subroutine, public cmfe_nodes_initialise(cmfe_Nodes, err)
Initialises a cmfe_NodesType object.
subroutine cmfe_equations_sparsitytypesetnumber(regionUserNumber, equationsSetUserNumber, sparsityType, err)
Sets/changes the sparsity type for equations identified by a user number.
subroutine cmfe_problem_cellmlequationscreatestartnumber(problemUserNumber, err)
Starts the process of creating CellML equations for a problem identified by user number.
integer(intg), parameter, public cmfe_solver_iterative_block_jacobi_preconditioner
Iterative block Jacobi preconditioner type.
subroutine cmfe_equationsset_solutionmethodsetobj(equationsSet, solutionMethod, err)
Sets/changes the solution method for an equations set identified by an object.
Sets/changes the output type for a control loop.
integer(intg), parameter, public cmfe_solver_dynamic_second_order
Dynamic solver has second order terms.
Finishes the creation of CellML parameters field.
subroutine cmfe_field_parametersetgetelementspobj(field, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Returns from the given parameter set a single precision value for the specified element of a field va...
integer(intg), parameter, public cmfe_problem_pgm_darcy_subtype
PGM Darcy problem subtype.
subroutine cmfe_decomposition_typesetnumber(regionUserNumber, meshUserNumber, decompositionUserNumber, decompositionType, err)
Sets/changes the type of a decomposition identified by a user number.
Calculates the decomposition topology for data points .
integer(intg), parameter, public cmfe_matrix_vector_intg_type
subroutine cmfe_field_labelgetvsobj(field, label, err)
Returns the varying string label for a field identified by an object.
integer(intg), parameter, public cmfe_problem_le_contact_transform_subtype
linear elasticity problem subject to contact constraint, transform field at load increments ...
subroutine cmfe_meshembedding_setchildnodepositionobj(meshEmbedding, elementNumber, nodeNumbers, xiCoords, err)
Sets the embedded nodes for one parent element.
subroutine cmfe_generatedmesh_createfinishnumber(regionUserNumber, generatedMeshUserNumber, meshUserNumber, err)
Finishes the creation of a generated mesh on a region identified by a user number.
subroutine cmfe_field_parametersetupdatenodedpobj(field, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Updates the given parameter set with the given double precision value for the node and derivative of ...
subroutine cmfe_decomposition_numberofdomainssetnumber(regionUserNumber, meshUserNumber, decompositionUserNumber, numberOfDomains, err)
Sets/changes the number of domains for a decomposition identified by a user number.
subroutine cmfe_field_parametersetaddconstantintgnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Adds the given integer value to the given parameter set for the constant of the field variable compon...
subroutine cmfe_analyticanalysis_outputnumber(regionUserNumber, fieldUserNumber, fileName, err)
Output the analytic error analysis for a field specified by a user number compared to the analytic va...
Sets/changes the values for a data point identified by a given global number.
subroutine cmfe_dataprojection_maximumiterationupdatesetnumber(dataProjectionUserNumber, regionUserNumber, maximumIterationUpdate, err)
Sets/changes the relative tolerance of data projection identified by a region user number...
integer(intg), parameter, public cmfe_problem_standard_elasticity_fluid_pressure_subtype
Standard elasticity fluid pressure problem subtype.
integer(intg), parameter, public cmfe_problem_transient_stokes_subtype
Transient Stokes problem subtype.
Sets/changes the type of direct linear solver.
subroutine cmfe_controlloop_numberofsubloopsgetnumber1(problemUserNumber, controlLoopIdentifiers, numberOfSubLoops, err)
Returns the number of sub-control loops for a control loop identified by user numbers.
subroutine cmfe_solver_lineariterativemaximumiterationssetobj(solver, maximumIterations, err)
Sets/changes the maximum number of iterations for an iterative linear solver identified by an object...
subroutine, public cmfe_equations_initialise(cmfe_Equations, err)
Initialises a cmfe_EquationsType object.
subroutine cmfe_dataprojection_createstartnumber(dataProjectionUserNumber, dataPointRegionUserNumber, meshUserNumber, meshRegionUserNumber, err)
Starts the creation of a new data projection for a data projection identified by a region user number...
subroutine cmfe_mesh_nodeexistsobj(mesh, meshComponentNumber, nodeUserNumber, nodeExists, err)
Checks if the given node exists on the given mesh component.
subroutine, public cmfe_generatedmesh_initialise(cmfe_GeneratedMesh, err)
Initialises a cmfe_GeneratedMeshType object.
integer(intg), parameter, public cmfe_equations_set_fitting_class
Fitting equations set class.
integer(intg), parameter, public cmfe_problem_bidomain_gudunov_split_subtype
Bidomain Gudunov split problem subtype.
subroutine cmfe_interface_destroyobj(interface, err)
Destroys an interface identified by an object.
Sets/changes the type of a basis.
subroutine cmfe_controlloop_timeinputsetnumber1(problemUserNumber, controlLoopIdentifiers, inputOption, err)
Sets/changes the input parameters for a time control loop identified by user numbers.
Enables/disables output monitoring for a nonlinear Quasi-Newton line search solver.
Sets/changes the coordinate system type.
subroutine cmfe_controlloop_timessetnumber1(problemUserNumber, controlLoopIdentifiers, startTime, stopTime, timeIncrement, err)
Sets/changes the time parameters for a time control loop identified by user numbers.
subroutine cmfe_solver_newtonabsolutetolerancesetobj(solver, absoluteTolerance, err)
Sets/changes the absolute tolerance for a Newton solver identified by an object.
subroutine cmfe_fields_elementsexportvsvsobj(fields, fileName, method, err)
Export element information for fields set identified by an object.
subroutine cmfe_solver_newtontrustregiondelta0setnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, delta0, err)
Sets/changes the delta0 for a Newton trust region solver identified by an user number.
integer(intg), parameter, public cmfe_solver_dynamic_crank_nicolson_scheme
Crank-Nicolson dynamic solver.
subroutine cmfe_problem_solverscreatefinishobj(problem, err)
Finishes the creation of solvers for problem identified by an object.
integer(intg), parameter, public cmfe_basis_collapsed_at_xi1
The Xi direction at the xi=1 end of this Xi direction is collapsed.
integer(intg), parameter, public cmfe_solver_dynamic_third_degree_liniger2_scheme
2nd 3rd degree Liniger dynamic solver.
subroutine cmfe_controlloop_typesetnumber1(problemUserNumber, controlLoopIdentifiers, loopType, err)
Sets/changes the loop type for a control loop identified by user numbers.
subroutine cmfe_cellml_statefieldcreatestartnumber(regionUserNumber, CellMLUserNumber, CellMLStateFieldUserNumber, err)
Starts the creation of CellML state field for a CellML environment identified by a user number...
subroutine cmfe_field_parametersetupdateelementintgobj(field, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given integer value for the element of the field variable co...
integer(intg), parameter, public cmfe_problem_optimised_navier_stokes_subtype
Optimised Navier-Stokes problem subtype.
subroutine cmfe_solver_lineariterativedivergencetolerancesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, divergenceTolerance, err)
Sets/changes the maximum divergence tolerance for an iterative linear solver identified by an user nu...
subroutine cmfe_field_labelsetcnumber(regionUserNumber, fieldUserNumber, label, err)
Sets/changes the character string label for a field identified by a user number.
subroutine cmfe_problem_controlloopdestroyobj(problem, err)
Destroys the control loops on a problem identified by an object.
subroutine cmfe_generatedmesh_extentgetobj(generatedMesh, extent, err)
Returns the extent for a generated mesh identified by an object.
Sets/changes the coordinate system focus.
subroutine, public cmfe_equations_finalise(cmfe_Equations, err)
Finalises a cmfe_EquationsType object.
subroutine cmfe_decomposition_topologyelementdatapointusernumbergetobj(decomposition, elementNumber, dataPointIndex, dataPointUserNumber, err)
Gets the user data point number for data points projected on an element.
Start the creation of solvers for a problem.
Finishes the process of creating a problem.
Sets/changes whether data points topology should be calculated for the decomposition.
subroutine cmfe_dataprojection_resultxisetobj(dataProjection, dataPointUserNumber, ProjectionXi, err)
Sets the projection xi for a data point in a set of data points identified by an object.
subroutine cmfe_equationsset_dependentdestroyobj(equationsSet, err)
Destroy the dependent variables for an equations set identified by an object.
subroutine cmfe_nodes_numberofnodesgetobj(nodes, numberOfNodes, err)
Returns the number of nodes.
subroutine cmfe_field_parametersetupdatedatapointspobj(field, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Update the given parameter set a single precision value for the specified constant of a field variabl...
subroutine cmfe_solver_dynamicschemesetobj(solver, scheme, err)
Sets/changes the scheme for a dynamic solver identified by an object.
integer(intg), parameter, public cmfe_coordinate_cylindrical_polar_type
Cylindrical polar coordinate system type.
subroutine cmfe_equations_sparsitytypesetobj(equations, sparsityType, err)
Sets/changes the sparsity type for equations identified by an object.
Sets/changes the relative tolerance for a nonlinear Newton solver.
subroutine cmfe_datapoints_labelgetcnumber(regionUserNumber, dataPointGlobalNumber, label, err)
Returns the character label for a data point in a set of data points identified by user number...
integer(intg), parameter, public cmfe_equations_sparse_matrices
Use sparse matrices for the equations.
subroutine cmfe_fieldml_inputcoordinatesystemcreatestartnumberc(fieldml, evaluatorName, userNumber, err)
Create a coordinate system using the given FieldML evaluator.
subroutine cmfe_problem_specificationsizegetnumber(problemUserNumber, specificationSize, err)
Returns the size of the specification array for a problem identified by a user number.
integer(intg), parameter, public cmfe_decomposition_all_type
The decomposition contains all elements.
integer(intg), parameter, public cmfe_problem_magnetostatic_type
Magnetostatic problem type.
Starts the creation of CellML state field.
subroutine cmfe_solver_lineariterativerelativetolerancesetobj(solver, relativeTolerance, err)
Sets/changes the maximum relative tolerance for an iterative linear solver identified by an object...
subroutine cmfe_field_componentlabelsetvsobj(field, variableType, componentNumber, label, err)
Sets/changes the varying string label for a field variable component for a field identified by an obj...
subroutine cmfe_field_parametersetaddelementlnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Adds the given logical value to an element in the given parameter set for field variable component fo...
Returns the coordinate system radial interpolation type.
subroutine, public cmfe_solver_mumpssetcntl(solver, icntl, val, err)
Sets/changes the MUMPS CNTL(icntl)=val real/complex control parameters through the PETSc-MUMPS interf...
integer(intg), parameter, public cmfe_basis_high_quadrature_scheme
Identifier for a high order quadrature scheme.
integer(intg), parameter, public cmfe_equations_set_finite_elasticity_type
Finite elasticity equations set type.
subroutine, public cmfe_quadrature_finalise(cmfe_Quadrature, err)
Finalises a cmfe_QuadratureType object.
subroutine cmfe_problem_solverequationsgetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, solverEquations, err)
Returns the solver equations from a problem identified by an user number.
integer(intg), parameter, public cmfe_problem_transient_rbs_navier_stokes_subtype
Transient stabilised Navier-Stokes problem subtype.
subroutine cmfe_interfacecondition_equationsdestroyobj(interfaceCondition, err)
Destroys the interface equations for an interface condition identified by an object.
subroutine cmfe_solver_newtonlinesearchtypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, lineSearchType, err)
Sets/changes the line search type for an Newton linesearch solver identified by an user number...
subroutine cmfe_interfacecondition_integrationtypegetobj(interfaceCondition, interfaceConditionIntegrationType, err)
Gets the integration type for an interface condition identified by an object.
integer(intg), parameter, public cmfe_solver_dynamic_type
A dynamic solver.
subroutine cmfe_interfacecondition_integrationtypegetnumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, interfaceConditionIntegrationType, err)
Returns the integration type for an interface condition identified by a user number.
subroutine cmfe_generatedmesh_basissetobj1(generatedMesh, bases, err)
Sets/changes the basis for a generated mesh identified by an object.
subroutine cmfe_field_variablelabelsetvsnumber(regionUserNumber, fieldUserNumber, variableType, label, err)
Sets/changes the varying string label for a field variable for a field identified by a user number...
subroutine, public cmfe_solverequations_jacobianmatrixget(solverEquations, matrix, err)
Get the Jacobian matrix from the solver equations matrices for nonlinear solver equations.
subroutine cmfe_equationsset_analyticdestroyobj(equationsSet, err)
Destroy the analytic solution for an equations set identified by an object.
subroutine cmfe_controlloop_labelsetvsnumber1(problemUserNumber, controlLoopIdentifiers, label, err)
Sets/changes the varying string label for a control loop identified by an user number.
subroutine cmfe_dataprojection_relativetolerancegetnumber(dataProjectionUserNumber, regionUserNumber, relativeTolerance, err)
Returns the relative tolerance of data projection identified by a data projection user number and a r...
subroutine cmfe_problem_solverscreatestartobj(problem, err)
Starts the creation of solvers for problem identified by an object.
subroutine cmfe_field_parametersetdatarestoredpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, parameters, err)
Restores the specified field variable parameter set local double precision array that was obtained wi...
integer(intg), parameter, public cmfe_equations_set_optimisation_class
Optimisation equations set class.
subroutine cmfe_field_parametersetupdateconstantdpobj(field, variableType, fieldSetType, componentNumber, value, err)
Updates the given parameter set with the given double precision value for the constant of the field v...
subroutine, public cmfe_solverequations_initialise(cmfe_SolverEquations, err)
Initialises a cmfe_SolverEquationsType object.
subroutine cmfe_decomposition_meshcomponentgetobj(decomposition, meshComponentNumber, err)
Returns the mesh component number used for the decomposition of a mesh for a decomposition identified...
subroutine cmfe_field_numberofcomponentssetnumber(regionUserNumber, fieldUserNumber, variableType, numberOfComponents, err)
Sets/changes the number of componenets for a field variable for a field identified by a user number...
subroutine cmfe_field_parametersetdestroynumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, err)
Destroys the specified parameter set type for a field variable for a field identified by a user numbe...
subroutine cmfe_field_parametersetdatagetintgnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, parameters, err)
Returns a pointer to the specified field parameter set local integer data array for a field identifie...
integer(intg), parameter, public cmfe_solver_dae_euler_forward
Forward Euler differential equation solver.
Initialise the given FieldML context using the given FieldML XML file.
subroutine cmfe_cellml_variablesetasknownobjc(CellML, CellMLModelUserNumber, variableID, err)
Sets a CellML model variable to be known by object.
subroutine cmfe_controlloop_numberofiterationssetnumber1(problemUserNumber, controlLoopIdentifiers, numberOfIterations, err)
Sets the number of iterations for a time control loop identified by user numbers. ...
subroutine cmfe_decomposition_numberofdomainssetobj(decomposition, numberOfDomains, err)
Sets/changes the number of domains for a decomposition identified by an object.
subroutine cmfe_solver_dynamicdegreesetobj(solver, degree, err)
Sets/changes the degree of the polynomial used to interpolate time for a dynamic solver identified by...
Returns the coordinate system type.
subroutine cmfe_basis_quadraturetypesetnumber(userNumber, quadratureType, err)
Sets/changes the type of quadrature a basis quadrature identified by a user number.
Sets/changes the lumping type for equations.
subroutine, public cmfe_nodes_finalise(cmfe_Nodes, err)
Finalises a cmfe_NodesType object.
Returns the solver type for an Euler differential-algebraic equation solver.
subroutine cmfe_mesh_numberofelementssetnumber(regionUserNumber, meshUserNumber, numberOfElements, err)
Sets/changes the number of elements in a mesh identified by a user number.
subroutine cmfe_controlloop_labelsetvsnumber0(problemUserNumber, controlLoopIdentifier, label, err)
Sets/changes the varying string label for a control loop identified by an user number.
Returns the CellML models field for a CellML environment.
integer(intg), parameter, public cmfe_solver_quasi_newton_lbfgs
LBFGS Quasi-Newton type.
subroutine cmfe_solver_labelgetvsobj(solver, label, err)
Returns the varying string label for a solver identified by an object.
Sets/changes the solution tolerance for a nonlinear Quasi-Newton solver.
subroutine cmfe_nodes_labelgetvsnumber(regionUserNumber, nodeGlobalNumber, label, err)
Returns the varying string label for a node in a set of nodes identified by user number.
integer(intg), parameter, public cmfe_boundary_condition_fixed_nonreflecting
subroutine cmfe_coordinatesystem_origingetobj(coordinateSystem, origin, err)
Returns the origin of a coordinate system identified by an object.
subroutine cmfe_solver_lineariterativepreconditionertypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, preconditionerType, err)
Sets/changes the preconditioner type for an iterative linear solver identified by an user number...
subroutine cmfe_interfacepointsconnectivity_createfinishnumber(regionUserNumber, interfaceUserNumber, err)
Finishes the creation of an interface coupled mesh points connectivity identified by a user number...
subroutine cmfe_equationsset_analyticcreatestartnumber(regionUserNumber, equationsSetUserNumber, analyticFunctionType, analyticFieldUserNumber, err)
Start the creation of a analytic solution for an equations set identified by a user number...
subroutine cmfe_field_parametersetaddnodespobj(field, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Adds the given single precision value to an node in the given parameter set for field variable compon...
subroutine cmfe_basis_quadraturetypegetnumber(userNumber, quadratureType, err)
Returns the type of quadrature a basis quadrature identified by a user number.
subroutine cmfe_interfacecondition_createstartobj(interfaceConditionUserNumber, interface, geometricField, interfaceCondition, err)
Starts the creation of an interface condition identified by an object.
Returns the CellML equations for a solver.
subroutine cmfe_dataprojection_resultelementlinenumbergetobj(dataProjection, dataPointUserNumber, ProjectionElementLineNumber, err)
Returns the projection element line number for a data point in a set of data points identified by an ...
integer(intg), parameter, public cmfe_problem_bioelectrics_class
Bioelectrics problem class.
integer(intg), parameter, public cmfe_boundary_condition_fixed_incremented
subroutine cmfe_solver_dynamicschemesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, scheme, err)
Sets/changes the scheme for a dynamic solver identified by an user number.
subroutine cmfe_equationsset_materialscreatefinishobj(equationsSet, err)
Finish the creation of materials for an equations set identified by an object.
Sets/changes the coordinate system radial interpolation type.
Starts the creation of a coordinate system.
subroutine cmfe_field_scalingtypegetnumber(regionUserNumber, fieldUserNumber, scalingType, err)
Returns the scaling type for a field identified by a user number.
subroutine cmfe_solver_quasinewtonlinesearchmonitoroutputsetobj(solver, monitorLinesearchFlag, err)
Enables/disables output monitoring for a nonlinear Quasi-Newton line search solver identified by an o...
subroutine cmfe_basis_quadraturenumberofgaussxigetobj(basis, numberOfGaussXi, err)
Returns the number Gauss points in each Xi directions for a basis quadrature identified by an object...
subroutine cmfe_decomposition_numberofdomainsgetnumber(regionUserNumber, meshUserNumber, decompositionUserNumber, numberOfDomains, err)
Returns the number of domains for a decomposition identified by a user number.
subroutine cmfe_solver_dynamictimessetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, currentTime, timeIncrement, err)
Sets/changes the times for a dynamic solver identified by an user number.
Contains information for a particular quadrature scheme for a basis.
Calculates the element domains for the decomposition of a mesh.
integer(intg), parameter, public cmfe_solver_dynamic_houbolt_scheme
Houbolt dynamic solver.
integer(intg), parameter, public cmfe_problem_multi_physics_class
Multi physics problem class.
subroutine cmfe_solver_newtonlinesearchmaxstepsetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, maxStep, err)
Sets/changes the line search maximum step for a Newton line search solver identified by an user numbe...
integer(intg), parameter, public cmfe_single_complex_type
Single precision complex data type.
subroutine cmfe_solverequations_boundaryconditionsanalyticobj(solverEquations, err)
Set boundary conditions for solver equations according to the analytic equations. ...
subroutine cmfe_mesh_createstartnumber(meshUserNumber, regionUserNumber, numberOfDimensions, err)
Starts the creation of a mesh for a mesh identified by a user number.
subroutine cmfe_solver_newtonlinesearchalphasetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, alpha, err)
Sets/changes the line search alpha for a Newton line search solver identified by an user number...
subroutine cmfe_dataprojection_datapointsprojectionevaluatenumber(dataProjectionUserNumber, dataPointsRegionUserNumber, projectionFieldUserNumber, projectionFieldRegionUserNumber, err)
Evaluate a data projection identified by a region user number.
subroutine cmfe_fieldml_outputaddfieldcomponentsnumbervs(fieldml, typeHandle, baseName, dofFormat, regionNumber, fieldNumber, fieldComponentNumbers, variableType, setType, err)
Add the field with the given user number to the current FieldML context, only including the given com...
integer(intg), parameter, public cmfe_solver_dae_crank_nicolson
Crank-Nicolson differential-algebraic equation solver.
subroutine cmfe_basis_interpolationxigetnumber(userNumber, interpolationXi, err)
Get the interpolation type in each xi directions for a basis identified by a user number...
subroutine cmfe_field_parametersetaddelementdpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Adds the given double precision value to an element in the given parameter set for field variable com...
subroutine cmfe_equationsset_analytictimesetobj(equationsSet, time, err)
Sets/changes the analytic time for an equations set identified by an object.
subroutine cmfe_field_parametersetinterpolatesinglegaussdpobj(field, variableType, fieldSetType, derivativeNumber, userElementNumber, quadratureScheme, GaussPoint, values, err)
Interpolates the given parameter set at a specified Gauss point for the specified element and derviat...
integer(intg), parameter, public cmfe_equations_set_monodomain_equation_type
Monodomain equation equations set type.
subroutine cmfe_field_parametersetupdateconstantlobj(field, variableType, fieldSetType, componentNumber, value, err)
Updates the given parameter set with the given logical value for the constant of the field variable c...
integer(intg), parameter, public cmfe_cellml_parameters_field
CellML parameters field type.
subroutine cmfe_field_parametersetaddconstantlnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Adds the given logical value to the given parameter set for the constant of the field variable compon...
integer(intg), parameter, public cmfe_solver_timing_output
Timing output from the solver routines plus below.
integer(intg), parameter, public cmfe_equations_set_modal_class
Modal equations set class.
subroutine cmfe_fieldml_inputmeshcreatestartobjc(fieldml, meshArgumentName, mesh, meshNumber, region, err)
Creates a mesh using the given FieldML evaluator.
subroutine cmfe_solver_quasinewtonjacobiancalculationtypesetobj(solver, jacobianCalculationType, err)
Sets/changes the Jacobian calculation type for a Quasi-Newton solver identified by an object...
subroutine cmfe_problem_controlloopcreatefinishnumber(problemUserNumber, err)
Finishes the process of creating a control loop for a problem identified by user number.
subroutine cmfe_solver_labelsetcnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, label, err)
Sets/changes the character string label for a solver identified by an user number.
Validate and instantiate the specified CellML environment.
subroutine cmfe_meshembedding_pushdataobj(meshEmbedding, parentField, parentComponent, childField, childComponent, err)
Pushes data to embedded mesh. Will generally be used at library and not API level. /TODO: Parameter set etc, function name?
subroutine cmfe_cellml_statefieldgetobj(CellML, field, err)
Returns the CellML state field for a CellML environment identified by an object.
subroutine cmfe_equationsset_createfinishnumber(regionUserNumber, equationsSetUserNumber, err)
Finish the creation of an equations set identified by a user number.
subroutine cmfe_decomposition_typegetnumber(regionUserNumber, meshUserNumber, decompositionUserNumber, decompositionType, err)
Returns the type of a decomposition identified by a user number.
subroutine cmfe_solver_dynamicthetasetobj1(solver, thetas, err)
Sets/changes the theta for a dynamic solver identified by an object.
integer(intg), parameter, public cmfe_boundary_condition_fixed
The dof is fixed as a boundary condition.
Sets/changes the output type for equations.
subroutine cmfe_generatedmesh_createstartnumber(generatedMeshUserNumber, regionUserNumber, err)
Starts the creation of a generated mesh on a region identified by a user number.
subroutine cmfe_field_parametersetgetdatapointintgnumberi(parentRegionUserNumber, interfaceUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Returns from the given parameter set a integer value for the specified data point of a field variable...
integer(intg), parameter, public cmfe_control_loop_no_output
No output from the control loop.
subroutine cmfe_interface_coordinatesystemsetnumber(parentRegionUserNumber, interfaceUserNumber, coordinateSystemUserNumber, err)
Sets/changes the coordinate system for an interface identified by an user number. ...
Gets the number of data points projected on an element.
integer(intg), parameter, public cmfe_equations_set_incompressible_mooney_rivlin_subtype
Incompressible Mooney-Rivlin constitutive law for finite elasticity equations set subtype...
subroutine cmfe_decomposition_calculatefacessetobj(decomposition, calculateFacesFlag, err)
Sets whether faces should be calculated.
subroutine cmfe_equationsset_analyticuserparamsetnumber(regionUserNumber, equationsSetUserNumber, paramIdx, param, err)
Sets the analytic problem user parameter.
subroutine cmfe_controlloop_numberofsubloopssetnumber1(problemUserNumber, controlLoopIdentifiers, numberOfSubLoops, err)
Sets/changes the number of sub-control loops for a control loop identified by user numbers...
integer(intg), parameter, public cmfe_control_loop_node
The identifier for a each "leaf" node in a control loop.
subroutine cmfe_solver_dynamicthetasetnumber00(problemUserNumber, controlLoopIdentifier, solverIndex, theta, err)
Sets/changes the theta value for a dynamic solver identified by an user number.
subroutine cmfe_interfacecondition_dependentvariableaddobj(interfaceCondition, meshIndex, equationsSet, variableType, err)
Adds a dependent field variable to an interface condition identified by an object.
integer(intg), parameter, public cmfe_solver_quasi_newton_trustregion
Quasi-Newton trust region nonlinear solver type.
subroutine cmfe_field_componentlabelgetcobj(field, variableType, componentNumber, label, err)
Returns the character string label for a field variable component for a field identified by an object...
subroutine cmfe_field_geometricfieldsetobj(field, geometricField, err)
Sets/changes the geometric field for a field identified by an object.
subroutine cmfe_field_createfinishnumber(regionUserNumber, fieldUserNumber, err)
Finishes the creation of a field identified by a user number.
subroutine cmfe_field_parametersetgetconstantspobj(field, variableType, fieldSetType, componentNumber, value, err)
Returns from the given parameter set a single precision value for the specified constant of a field v...
subroutine cmfe_fieldml_inputnodescreatestartnumberc(fieldml, nodesArgumentName, regionNumber, nodes, err)
Creates a region&#39;s nodes using the given FieldML evaluator.
subroutine cmfe_solver_quasinewtonconvergencetesttypesetobj(solver, convergenceTestType, err)
Sets/changes the convergence test type for a Quasi-Newton solver identified by an object...
integer(intg), parameter, public cmfe_solver_iterative_gmres
Generalised minimum residual iterative solver type.
integer(intg), parameter, public cmfe_problem_quasistatic_finite_elasticity_subtype
Quasistatic finite elasticity subtype.
integer(intg), parameter, public cmfe_equations_time_stepping
The equations are for time stepping.
subroutine cmfe_field_dataprojectionsetnumber(regionUserNumber, fieldUserNumber, dataProjectionUserNumber, err)
Sets/changes the data projection for a field identified by a user number.
subroutine cmfe_equationsset_derivedvariablesetnumber(regionUserNumber, equationsSetUserNumber, derivedType, fieldVariableType, err)
Sets the field variable type of the derived field to be used to store a derived variable.
integer(intg), parameter, public cmfe_solver_dae_euler
Euler differential-algebraic equation solver.
subroutine cmfe_equationsset_materialsdestroynumber(regionUserNumber, equationsSetUserNumber, err)
Destroy the materials for an equations set identified by a user number.
subroutine cmfe_problem_specificationsizegetobj(problem, specificationSize, err)
Returns the size of the specification array for a problem identified by an object.
subroutine cmfe_equationsset_derivedcreatestartobj(equationsSet, derivedFieldUserNumber, derivedField, err)
Start the creation of derived variables for an equations set identified by an object.
subroutine cmfe_meshelements_createfinishobj(meshElements, err)
Finishes creating elements for a mesh component of a mesh identified by an object.
subroutine cmfe_problem_controlloopgetobj1(problem, controlLoopIdentifiers, controlLoop, err)
Returns a control loop from a problem identified by an object.
subroutine cmfe_problem_solverequationsgetobj1(problem, controlLoopIdentifiers, solverIndex, solverEquations, err)
Returns the solver equations from a problem identified by an object.
subroutine cmfe_controlloop_absolutetolerancesetnumber0(problemUserNumber, controlLoopIdentifier, absoluteTolerance, err)
Sets/changes the maximum iterations for a while control loop identified by user numbers.
Sets/changes the interpolation type in each Xi directions for a basis.
Returns the CellML equations for a problem.
Sets/changes the order of quadrature for a basis quadrature.
Sets the value of the specified element as a boundary condition on the specified element.
integer(intg), parameter, public cmfe_boundary_condition_neumann_integrated
Set the integrated right hand side load value directly.
subroutine cmfe_field_meshdecompositionsetnumber(regionUserNumber, fieldUserNumber, meshUserNumber, decompositionUserNumber, err)
Sets/changes the mesh decomposition for a field identified by a user number.
integer(intg), parameter, public cmfe_control_loop_timing_output
Timing output from the control loop.
subroutine cmfe_interfaceequations_outputtypegetnumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, outputType, err)
Returns the output type for an interface equations identified by a user number.
subroutine cmfe_field_parametersetaddnodespnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Adds the given single precision value to an node in the given parameter set for field variable compon...
subroutine cmfe_equationsset_analyticcreatestartobj(equationsSet, analyticFunctionType, analyticFieldUserNumber, analyticField, err)
Start the creation of an analytic solution for an equations set identified by an object.
subroutine cmfe_field_parametersetupdateelementdpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given double precision value for the element of the field va...
subroutine cmfe_nodes_labelgetcobj(nodes, nodeGlobalNumber, label, err)
Returns the character label for a node in a set of nodes identified by an object. ...
subroutine cmfe_dataprojection_labelsetcregionnumber(dataProjectionUserNumber, regionUserNumber, label, err)
Sets/changes the character string label of a data projection identified by a region user number...
integer(intg), parameter, public cmfe_equations_set_diffusion_diffusion_type
Diffusion Diffusion equations set type.
integer(intg), parameter, public cmfe_problem_finite_elasticity_contact_type
Finite elasticity problem subject to contact constraint type.
subroutine cmfe_basis_interpolationxisetnumber(userNumber, interpolationXi, err)
Sets/changes the interpolation type in each xi directions for a basis identified by a user number...
subroutine cmfe_solverequations_equationssetaddnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, regionUserNumber, equationsSetUserNumber, equationsSetIndex, err)
Adds equations sets to solver equations identified by an user number.
subroutine cmfe_solver_geometrictransformationrotationsetobj1(solver, pivotPoint, axis, angle, loadIncrementIdx, err)
Sets the rotation at a specific load increment for a geometric transformation solver identified by an...
subroutine cmfe_decomposition_topologynumberofelementdatapointsgetobj(decomposition, elementNumber, numberOfDataPoints, err)
Gets the number of data points projected on an element.
subroutine cmfe_interfaceequations_outputtypegetobj(interfaceEquations, outputType, err)
Gets the output type for an interface equations identified by an object.
integer(intg), parameter, public cmfe_equations_set_transverse_isotropic_exponential_subtype
Transverse isotropic exponential constitutive law for finite elasticity equations set subtype...
subroutine cmfe_interfacecondition_operatorgetnumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, interfaceConditionOperator, err)
Returns the operator for an interface condition identified by a user number.
subroutine cmfe_field_parametersetupdategausspointdpobj(field, variableType, fieldSetType, gaussPointNumber, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given double precision value for the element Gauss point of ...
subroutine cmfe_datapoints_weightssetobj(dataPoints, dataPointGlobalNumber, dataPointWeights, err)
Sets/changes the weights for a data point in a set of data points identified by an object...
subroutine, public cmfe_equations_residualnumberofvariablesget(equations, residualIndex, numberOfVariables, err)
Get the number of field variables that contribute to the residual vector.
subroutine cmfe_fieldml_outputaddfieldwithtypeobjc(fieldml, baseName, dofFormat, field, variableType, setType, typeHandle, err)
Add the given field to the given FieldML context, using the given FieldML type.
subroutine cmfe_solver_geometrictransformationclearobj(solver, err)
Clear transformation for a geometric transformation solver identified by an object.
subroutine cmfe_field_parametersetgetdatapointintgobj(field, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Returns from the given parameter set a integer value for the specified constant of a field variable c...
subroutine cmfe_dataprojection_maximumnumberofiterationssetobj(dataProjection, maximumNumberOfIterations, err)
Sets/changes the maximum number of iterations of data projection identified an object.
subroutine cmfe_region_createfinishnumber(regionUserNumber, err)
Finishes the process of creating a region identified by user number.
subroutine cmfe_field_parametersetnodenumberofscalefactordofsgetobj(field, variableType, meshComponentNumber, numberOfScaleFactorsDofs, err)
Gets the number of scale factor dofs, identified by an object.
subroutine cmfe_fieldml_inputmeshcreatestartnumbervs(fieldml, meshArgumentName, meshNumber, regionNumber, err)
Creates a mesh with the given user number using the given FieldML evaluator.
subroutine, public cmfe_computationalnodenumberget(nodeNumber, err)
Returns the computational node number of the running process.
subroutine cmfe_interfacecondition_equationscreatestartobj(interfaceCondition, interfaceEquations, err)
Starts the creation of interface equations for an interface condition identified by an object...
subroutine cmfe_solver_quasinewtoncellmlsolvergetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, CellMLSolverIndex, err)
Returns the CellML solver associated with a Quasi-Newton solver identified by an user number...
subroutine cmfe_controlloop_outputtypegetobj(controlLoop, outputType, err)
Returns the output type for a control loop identified by an object.
subroutine, public cmfe_outputseton(echoFilename, err)
Sets output on.
subroutine cmfe_field_componentlabelsetcnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, label, err)
Sets/changes the character string label for a field variable component for a field identified by a us...
subroutine cmfe_solver_lineardirecttypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, directSolverType, err)
Sets/changes the type of direct linear solver for a solver identified by an user number.
Sets/changes the Jacobian calculation type for a nonlinear Newton solver.
subroutine cmfe_controlloop_currenttimesgetnumber1(problemUserNumber, controlLoopIdentifiers, currentTime, timeIncrement, err)
Gets the current time parameters for a time control loop identified by user numbers.
integer(intg), parameter, public cmfe_problem_electrostatic_type
Electrostatic problem type.
integer(intg), parameter, public cmfe_equations_set_poiseuille_equation_type
Poiseuille equation equations set type.
subroutine cmfe_solver_daeeulersolvertypesetobj(solver, DAEEulerSolverType, err)
Sets/changes the solve type for an Euler differential-algebraic equation solver identified by an obje...
subroutine cmfe_equationsset_materialscreatestartnumber(regionUserNumber, equationsSetUserNumber, materialsFieldUserNumber, err)
Start the creation of materials for an equations set identified by a user number. ...
integer(intg), parameter, public cmfe_problem_no_class
No problem class.
Sets/changes the element number for a data point projection.
integer(intg), parameter, public cmfe_coordinate_oblate_spheroidal_type
Oblate spheroidal coordinate system type.
Returns the order of quadrature for a basis quadrature.
subroutine cmfe_interface_meshaddobj(interface, mesh, meshIndex, err)
Adds a mesh to be coupled in an interface identified by an object.
subroutine cmfe_analyticanalysis_integralnidnumericalvaluegetnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, integralValue, ghostIntegralValue, err)
Get integral value for the nid numerical.
subroutine cmfe_boundaryconditions_neumannsparsitytypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, sparsityType, err)
Sets the Neumann integration matrix sparsity for boundary conditions identified by a control loop ide...
subroutine cmfe_equations_outputtypesetobj(equations, outputType, err)
Sets/changes the output type for equations identified by an object.
integer(intg), parameter, public cmfe_problem_control_while_loop_type
While control loop.
subroutine cmfe_interfacecondition_methodgetobj(interfaceCondition, interfaceConditionMethod, err)
Gets the method for an interface condition identified by an object.
integer(intg), parameter, public cmfe_boundary_condition_dirichlet
subroutine cmfe_field_componentvaluesinitialisedpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Initialises the values of parameter set of a field variable component to a double precision constant ...
subroutine cmfe_field_datatypegetnumber(regionUserNumber, fieldUserNumber, variableType, dataType, err)
Returns the data type for a field variable for a field identified by a user number.
subroutine cmfe_solver_quasinewtonabsolutetolerancesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, absoluteTolerance, err)
Sets/changes the absolute tolerance for a Quasi-Newton solver identified by an user number...
subroutine cmfe_equationsset_derivedcreatefinishobj(equationsSet, err)
Finish the creation of derived variables for an equations set identified by an object.
integer(intg), parameter, public cmfe_boundary_condition_neumann_integrated_only
A Neumann integrated boundary condition, and no point values will be integrated over a face or line t...
subroutine cmfe_mesh_numberofelementsgetnumber(regionUserNumber, meshUserNumber, numberOfElements, err)
Returns the number of elements in a mesh identified by a user number.
subroutine cmfe_generatedmesh_surfacegetobj1(generatedMesh, meshComponent, surfaceType, surfaceNodes, normalXi, err)
Returns a list of the nodes belonging to a surface, and their normal xi direction, of a generated mesh identified by an object.
subroutine cmfe_decomposition_topologydataprojectioncalculateobj(decomposition, err)
Calculates the decomposition topology for data points.
subroutine cmfe_solver_lineariterativegmresrestartsetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, GMRESRestart, err)
Sets/changes the GMRES restart value for a GMRES iterative linear solver identified by an user number...
subroutine cmfe_field_parametersetaddconstantspobj(field, variableType, fieldSetType, componentNumber, value, err)
Adds the given single precision value to the given parameter set for the constant of the field variab...
subroutine cmfe_distributedmatrix_datagetdpobj(matrix, data, err)
Get the data array for this matrix on this computational node.
subroutine cmfe_coordinatesystem_createfinishnumber(coordinateSystemUserNumber, err)
Finishes the creation of a coordinate system identified by a user number.
integer(intg), parameter, public cmfe_problem_finite_elasticity_with_growth_cellml_subtype
Quasistatic finite elasticity subtype.
integer(intg), parameter, public cmfe_basis_serendipity_type
Serendipity basis type.
integer(intg), parameter, public cmfe_problem_advection_diffusion_equation_type
Advection-Diffusion equation problem type.
subroutine cmfe_solver_lineartypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, linearSolverType, err)
Sets/changes the type for a linear solver identified by an user number.
integer(intg), parameter, public cmfe_equations_set_one_dimensional_subtype
One dimensional linear elasticity equations set subtype.
subroutine cmfe_solver_quasinewtontrustregiontolerancesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, tolerance, err)
Sets/changes the tolerance for a Quasi-Newton trust region solver identified by an user number...
subroutine cmfe_fieldml_inputcreatefromfilevs(filename, fieldml, err)
Initialise the given FieldML context using the given FieldML XML file.
subroutine cmfe_basis_interpolationxigetobj(basis, interpolationXi, err)
Get the interpolation type in each xi directions for a basis indentified by an object.
subroutine cmfe_basis_createfinishobj(basis, err)
Finishes the creation of a new basis identified by an object.
subroutine cmfe_dataprojection_relativetolerancegetobj(dataProjection, relativeTolerance, err)
Returns the relative tolerance of data projection identified an object.
subroutine, public cmfe_cellml_finalise(cmfe_CellML, err)
Finalises a cmfe_CellMLType object.
subroutine cmfe_solver_librarytypegetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, libraryType, err)
Returns the library type for a solver identified by an user number.
subroutine cmfe_interface_createstartobj(interfaceUserNumber, region, interface, err)
Starts the creation of an interface identified by an object.
subroutine cmfe_basis_typesetnumber(userNumber, basisType, err)
Sets/changes the type of a basis identified by a user number.
subroutine cmfe_decomposition_elementdomaincalculateobj(decomposition, err)
Calculates the element domains for a decomposition identified by an object.
subroutine, public cmfe_computationalworkgroup_createstart(worldWorkGroup, numberComputationalNodes, err)
CREATE THE HIGHEST LEVEL WORK GROUP (DEFAULT: GROUP_WORLD)
subroutine cmfe_dataprojection_maximumiterationupdategetobj(dataProjection, maximumIterationUpdate, err)
Returns the relative tolerance of data projection identified an object.
subroutine cmfe_cellml_generatenumber(regionUserNumber, CellMLUserNumber, err)
Validiate and instantiate a CellML environment identified by a user number.
subroutine cmfe_field_createstartregionobj(fieldUserNumber, region, field, err)
Starts the creation of a field on a region identified by an object.
subroutine cmfe_problem_solverequationscreatestartnumber(problemUserNumber, err)
Starts the process of creating solver equations for a problem identified by user number.
subroutine cmfe_decomposition_elementdomaingetnumber(regionUserNumber, meshUserNumber, decompositionUserNumber, elementUserNumber, domain, err)
Returns the domain for a given element in a decomposition identified by a user number.
subroutine cmfe_fields_nodesexportcvsobj(fields, fileName, method, err)
Export nodal information for fields set identified by an object.
subroutine cmfe_analyticanalysis_rmserrorgetelementnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, errorType, localValue, localGhostValue, globalValue, err)
Get rms error value for elements in a field compared to the analytic value.
subroutine cmfe_equationsset_equationscreatefinishnumber(regionUserNumber, equationsSetUserNumber, err)
Finish the creation of equations for an equations set identified by a user number.
subroutine cmfe_field_parametersetdatarestoreintgnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, parameters, err)
Restores the specified field variable parameter set local integer array that was obtained with an Ope...
subroutine cmfe_solver_quasinewtonrestarttypesetobj(solver, quasiNewtonRestartType, err)
Sets/changes the restart type of a Quasi-Newton solver identified by an object.
integer(intg), parameter, public cmfe_equations_set_finite_elasticity_darcy_type
Finite Elasticity Darcy equations set type.
subroutine cmfe_field_parametersetupdatedatapointlnumberi(parentRegionUserNumber, interfaceUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Update the given parameter set a logical value for the specified data point of a field variable compo...
subroutine cmfe_field_datatypegetobj(field, variableType, dataType, err)
Returns the data type for a field variable for a field identified by an object.
integer(intg), parameter, public cmfe_problem_le_contact_transform_reproject_subtype
linear elasticity problem subject to contact constraint, transform field at load increments and repro...
integer(intg), parameter, public cmfe_solver_superlu_library
SuperLU solver library.
subroutine cmfe_controlloop_controlloopgetnumber00(problemUserNumber, controlLoopRootIdentifier, controlLoopIdentifier, controlLoop, err)
Returns the specified control loop as indexed by the control loop identifier from the control loop ro...
subroutine cmfe_solver_quasinewtonlinesearchsteptolsetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, stepTol, err)
Sets/changes the line search step tolerance for a Quasi-Newton line search solver identified by an us...
subroutine cmfe_dataprojection_elementsetobj(dataProjection, dataPointNumber, elementNumber, err)
Sets/changes the starting xi of data projection identified an object.
subroutine, public cmfe_randomseedssizeget(randomSeedsSize, err)
Returns the size of the random seeds array for OpenCMISS.
subroutine cmfe_analyticanalysis_integralpercentageerrorgetnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, integralValue, ghostIntegralValue, err)
Get integral value for the percentage errors.
subroutine cmfe_solverequations_sparsitytypesetobj(solverEquations, sparsityType, err)
Sets/changes the sparsity type for solver equations identified by an object.
subroutine cmfe_datapoints_labelgetcobj(dataPoints, dataPointGlobalNumber, label, err)
Returns the character label for a data point in a set of data points identified by an object...
subroutine cmfe_solver_dynamicschemesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, scheme, err)
Sets/changes the scheme for a dynamic solver identified by an user number.
integer(intg), parameter, public cmfe_solver_solver_output
Solver specific output from the solver routines plus below.
subroutine cmfe_solver_newtonmaximumiterationssetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, maximumIterations, err)
Sets/changes the maximum number of iterations for an Newton solver identified by an user number...
subroutine cmfe_analyticanalysis_integralanalyticvaluegetnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, integralValue, ghostIntegralValue, err)
Get integral value for the analytic values.
subroutine cmfe_solver_quasinewtonjacobiancalculationtypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, jacobianCalculationType, err)
Sets/changes the Jacobian calculation type for a Quasi-Newton solver identified by an user number...
integer(intg), parameter, public cmfe_solver_newton_convergence_energy_norm
Newton solver energy norm convergence test type.
Sets/changes the absolute tolerance for a nonlinear Quasi-Newton solver.
integer(intg), parameter, public cmfe_basis_lagrange_hermite_tp_type
Lagrange-Hermite tensor product basis type.
integer(intg), parameter, public cmfe_coordinate_spherical_polar_type
Spherical polar coordinate system type.
subroutine cmfe_field_createfinishobj(field, err)
Finishes the creation of a field identified by an object.
subroutine cmfe_controlloop_numberofiterationsgetobj(controlLoop, numberOfIterations, err)
Gets the number of iterations for a time control loop identified by an object.
subroutine cmfe_coordinatesystem_createstartnumber(coordinateSystemUserNumber, err)
Starts the creation of a coordinate system identified by a user number.
integer(intg), parameter, public cmfe_basis_quadratic2_hermite_interpolation
Quadratic Hermite (no derivative at xi=1) interpolation specification.
subroutine cmfe_problem_cellmlequationsgetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, CellMLEquations, err)
Returns the CellML equations from a problem identified by an user number.
subroutine cmfe_dataprojection_resultxisetnumber(regionUserNumber, dataProjectionUserNumber, dataPointUserNumber, ProjectionXi, err)
Sets the projection xi for a data point in a set of data points identified by user number...
Returns the projection type for a data projection.
integer(intg), parameter, public cmfe_solver_dae_euler_improved
Improved Euler differential equation solver.
subroutine, public cmfe_equations_residualvariablesget(equations, residualIndex, residualVariables, err)
Get the field variables that contribute to the residual vector.
integer(intg), parameter, public cmfe_equations_set_reaction_diffusion_equation_type
Reaction-Diffusion equation equations set type.
integer(intg), parameter, public cmfe_solver_dae_external
External (e.g., CellML generated) differential-algebraic equation solver.
subroutine cmfe_solver_nonlineartypesetobj(solver, nonlinearSolveType, err)
Sets/changes the type of a nonlinear solver identified by an object.
subroutine cmfe_interfacepointsconnectivity_pointxisetnumber(regionUserNumber, interfaceUserNumber, interfaceDataPointIndexNumber, coupledMeshIndexNumber, xi, err)
Sets the xi coordinate mapping between the data points in interface and xi coordinates in a coupled r...
subroutine cmfe_field_parametersetgetconstantlobj(field, variableType, fieldSetType, componentNumber, value, err)
Returns from the given parameter set a logical value for the specified constant of a field variable c...
subroutine cmfe_solver_geometrictransformationrotationsetobj0(solver, pivotPoint, axis, angle, err)
Sets the rotation for a geometric transformation solver identified by an object, default to be the 1s...
subroutine cmfe_decomposition_elementdomaingetobj(decomposition, elementUserNumber, domain, err)
Returns the domain for a given element in a decomposition identified by an object.
subroutine cmfe_generatedmesh_typesetobj(generatedMesh, generatedMeshType, err)
Sets/changes the type of a generated mesh identified by an object.
subroutine cmfe_equationsset_analyticevaluatenumber(regionUserNumber, equationsSetUserNumber, err)
Evaluates the current analytic solution for an equations set identified by a user number...
subroutine cmfe_field_numberofvariablessetnumber(regionUserNumber, fieldUserNumber, numberOfVariables, err)
Sets/chnages the number of variables for a field identified by a user number.
subroutine cmfe_field_parametersetnodescalefactorsgetobj(field, variableType, meshComponentNumber, scaleFactors, err)
Gets the scale factors for all nodes identified by an object.
Finish the creation of solvers for a problem.
Returns the label of a control loop.
subroutine cmfe_cellml_fieldcomponentgetnumbervs(regionUserNumber, CellMLUserNumber, CellMLModelUserNumber, CellMLFieldType, variableID, fieldComponent, err)
Returns the field component number that corresponds to a varying string variable ID for a CellML envi...
Contains information about a history file for a control loop.
subroutine cmfe_meshnodes_numberofversionsgetobj(meshNodes, derivativeNumber, userNodeNumber, numberOfVersions, err)
Returns the number of versions for an node in a mesh identified by an object.
subroutine cmfe_field_parametersetnodenumberofscalefactordofsgetnumber(regionUserNumber, fieldUserNumber, variableType, meshComponentNumber, numberOfScaleFactorsDofs, err)
Gets the number of scale factor dofs, identified by a user number.
subroutine cmfe_field_parametersetnodescalefactorssetnumber(regionUserNumber, fieldUserNumber, variableType, meshComponentNumber, scaleFactors, err)
Sets the scale factors for all nodes identified by a user number.
subroutine, public cmfe_region_finalise(cmfe_Region, err)
Finalises a cmfe_RegionType object.
integer(intg), parameter, public cmfe_matrix_row_column_storage_type
Distributed matrix row-column storage type.
subroutine cmfe_analyticanalysis_integralanalyticvaluegetobj(field, variableType, componentNumber, integralValue, ghostIntegralValue, err)
Get integral value for the analytic values.
Sets/changes the nonlinear Quasi-Newton scale type.
subroutine cmfe_solver_geometrictransformationarbitrarypathsetnumber(problemUserNumber, controlLoopIdentifier, solverIndex, arbitraryPath, err)
Sets the arbitrary path logical for a geometric transformation identified by an user number...
Creates a mesh using the given FieldML evaluator.
subroutine cmfe_equationsset_specificationsizegetobj(equationsSet, specificationSize, err)
Returns the size of the equations set specification array for an equations set identified by an objec...
subroutine cmfe_field_dependenttypesetobj(field, dependentType, err)
Sets/changes the dependent type for a field identified by an object.
integer(intg), parameter, public cmfe_data_projection_boundary_faces_projection_type
The boundary face projection type for data projection, only projects to boundary faces of the mesh...
subroutine cmfe_interfacecondition_destroynumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, err)
Destroys an interface condition identified by a user number.
integer(intg), parameter, public cmfe_equations_set_incompress_elast_multi_comp_darcy_subtype
subroutine cmfe_decomposition_createstartnumber(decompositionUserNumber, regionUserNumber, meshUserNumber, err)
Starts the creation of a domain decomposition for a decomposition identified by a user number...
integer(intg), parameter, public cmfe_problem_stree1d0d_adv_subtype
Coupled 1D-DAE Navier-Stokes problem subtype with Advection.
Returns true if the given element is in the given mesh component.
integer(intg), parameter, public cmfe_equations_set_nearly_incompressible_mooney_rivlin_subtype
Nearly Incompressible Mooney-Rivlin constitutive law for finite elasticity equations set subtype...
subroutine cmfe_decomposition_createstartobj(decompositionUserNumber, mesh, decomposition, err)
Starts the creation of a domain decomposition for a decomposition identified by an object...
subroutine cmfe_field_variabletypessetobj(field, variableTypes, err)
Sets/changes the variable types for a field identified by an object.
subroutine cmfe_dataprojection_numberofclosestelementssetobj(dataProjection, numberOfClosestElements, err)
Sets/changes the number of closest elements of data projection identified an object.
subroutine cmfe_interfaceequations_sparsitysetobj(interfaceEquations, sparsityType, err)
Sets/changes the sparsity type for an interface equations identified by an object.
subroutine cmfe_field_labelsetcobj(field, label, err)
Sets/changes the character string label for a field identified by an object.
integer(intg), parameter, public cmfe_equations_full_matrices
Use fully populated matrices for the equations.
subroutine, public cmfe_solver_initialise(cmfe_Solver, err)
Initialises a cmfe_SolverType object.
Sets/changes the divergence tolerance for an iterative linear solver.
subroutine cmfe_field_geometricparameterselementvolumegetnumber(regionUserNumber, geometricFieldUserNumber, elementNumber, elementVolume, err)
Gets the volume for a given element number by a user number.
subroutine cmfe_equations_lumpingtypegetnumber(regionUserNumber, equationsSetUserNumber, lumpingType, err)
Gets the lumping type for equations identified by a user number.
integer(intg), parameter, public cmfe_solver_quasi_newton_scale_shanno
Use Shanno scaling.
integer(intg), parameter, public cmfe_equations_set_darcy_equation_type
Darcy equation equations set type.
subroutine cmfe_decomposition_nodedomaingetnumber(regionUserNumber, meshUserNumber, decompositionUserNumber, nodeUserNumber, meshComponentNumber, domain, err)
Returns the domain for a given node in a decomposition identified by a user number.
integer(intg), parameter, public cmfe_matrix_row_major_storage_type
Distributed matrix row major storage type.
subroutine cmfe_mesh_nodeexistsnumber(regionUserNumber, meshUserNumber, meshComponentNumber, nodeUserNumber, nodeExists, err)
Checks if the given node exists on the given mesh component.
Write the current FieldML document to the given file.
subroutine cmfe_equations_linearitytypegetnumber(regionUserNumber, equationsSetUserNumber, linearityType, err)
Gets the linearity type for equations identified by a user number.
subroutine cmfe_equationsset_sourcecreatefinishobj(equationsSet, err)
Finish the creation of a source for an equations set identified by an object.
subroutine cmfe_solver_labelgetcnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, label, err)
Returns the character string label for a solver identified by an user number.
integer(intg), parameter, public cmfe_long_integer_type
Long integer data type.
integer(intg), parameter, public cmfe_problem_dynamic_poiseuille_subtype
Static Poiseuille problem subtype.
subroutine cmfe_field_parametersetaddnodelobj(field, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Adds the given logical value to an node in the given parameter set for field variable component for a...
subroutine cmfe_solver_lineariterativepreconditionertypesetobj(solver, preconditionerType, err)
Sets/changes the preconditioner type for an iterative linear solver identified by an object...
subroutine cmfe_solver_solverequationsgetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, solverEquations, err)
Returns the solver equations for a solver identified by an user number.
subroutine cmfe_fieldml_inputnodescreatestartnumbervs(fieldml, nodesArgumentName, regionNumber, nodes, err)
Creates a region&#39;s nodes using the given FieldML evaluator.
subroutine cmfe_field_parametersetupdateconstantspobj(field, variableType, fieldSetType, componentNumber, value, err)
Updates the given parameter set with the given single precision value for the constant of the field v...
subroutine, public cmfe_computationalworkgroup_createfinish(worldWorkGroup, err)
GENERATE THE HIERARCHY COMPUTATIONAL ENVIRONMENT BASED ON WORK GROUP TREE.
integer(intg), parameter, public cmfe_problem_cellml_reac_integ_reac_diff_strang_split_subtype
subroutine cmfe_controlloop_labelsetvsobj(controlLoop, label, err)
Sets/changes string label for a control loop identified by an object.
subroutine, public cmfe_fieldmlio_finalise(fieldml, err)
Finalises a Fieldml context.
Sets/changes the starting xi for a data projection.
subroutine cmfe_fieldml_inputcoordinatesystemcreatestartobjvs(fieldml, evaluatorName, coordinateSystem, userNumber, err)
Create a coordinate system using the given FieldML evaluator.
subroutine cmfe_boundaryconditions_setnodenumber1(regionUserNumber, problemUserNumber, controlLoopIdentifiers, solverIndex, fieldUserNumber, variableType, versionNumber, derivativeNumber, nodeUserNumber, componentNumber, condition, value, err)
Sets the value of the specified node as a boundary condition on the specified node for boundary condi...
subroutine cmfe_fieldml_outputcreatenumberc(regionNumber, meshNumber, location, baseName, connectivityFormat, fieldml, err)
Initialise the given FieldML context using the mesh with the given user number.
subroutine cmfe_solver_newtontypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, newtonSolveType, err)
Sets/changes the type of a Newton solver identified by an user number.
subroutine cmfe_boundaryconditions_setconstantobj(boundaryConditions, field, variableType, componentNumber, condition, value, err)
Sets the value of the specified constant and sets this as a boundary condition on the specified const...
subroutine, public cmfe_history_finalise(cmfe_History, err)
Finalises a cmfe_HistoryType object.
subroutine cmfe_cellml_modelimportobjc(CellML, URI, modelIndex, err)
Imports a specified CellML model as specified by a character URI into a CellML environment identified...
integer(intg), parameter, public cmfe_solver_iterative_jacobi_preconditioner
Jacobi preconditioner type.
subroutine cmfe_basis_quadraturetypesetobj(basis, quadratureType, err)
Sets/changes the the type of quadrature for a basis quadrature identified by an object.
subroutine, public cmfe_cellml_initialise(cmfe_CellML, err)
Initialises a cmfe_CellMLType object.
subroutine, public cmfe_workingrealprecisionget(workingRealPrecision, err)
Returns the working precision.
subroutine cmfe_controlloop_destroynumber0(problemUserNumber, controlLoopIdentifier, err)
Destroys a control loop identified by user numbers.
integer(intg), parameter, public cmfe_basis_low_quadrature_scheme
Identifier for a low order quadrature scheme.
subroutine cmfe_cellml_fieldmapscreatefinishobj(CellML, err)
Finish the creation of field maps for a CellML environment identified by an object.
integer(intg), parameter, public cmfe_boundary_condition_fixed_cellml
subroutine cmfe_solver_quasinewtontrustregiontolerancesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, tolerance, err)
Sets/changes the tolerance for a Quasi-Newton trust region solver identified by an user number...
subroutine cmfe_cellml_variablesetasknownnumbervs(regionUserNumber, CellMLUserNumber, CellMLModelUserNumber, variableID, err)
Sets a CellML model variable to be known by user number.
subroutine cmfe_decomposition_elementdomaincalculatenumber(regionUserNumber, meshUserNumber, decompositionUserNumber, err)
Calculates the element domains for a decomposition identified by a user number.
Sets/changes the absolute tolerance for a data projection.
integer(intg), parameter, public cmfe_problem_diffusion_equation_type
Diffusion equation problem type.
subroutine cmfe_controlloop_timeinputsetnumber0(problemUserNumber, controlLoopIdentifier, inputOption, err)
Sets/changes the input parameters for a time control loop identified by user numbers.
subroutine cmfe_field_parametersetupdatedatapointintgobj(field, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Update the given parameter set a integer value for the specified constant of a field variable compone...
integer(intg), parameter, public cmfe_equations_set_wave_equation_type
Wave equation equations set type.
Sets/changes the label of a control loop.
subroutine cmfe_region_createstartobj(regionUserNumber, parentRegion, region, err)
Starts the creation of a region identified by an object.
subroutine, public cmfe_cellmlequations_initialise(cmfe_CellMLEquations, err)
Initialises a cmfe_CellMLEquationsType object.
Contains information about a data projection.
subroutine cmfe_equationsset_derivedvariablecalculatenumber(regionUserNumber, equationsSetUserNumber, derivedType, err)
Calculates a derived field value for the equations set and stores the result in the derived field pre...
subroutine cmfe_equationsset_destroyobj(equationsSet, err)
Destroy an equations set identified by an object.
subroutine cmfe_equationsset_specificationgetnumber(regionUserNumber, equationsSetUserNumber, equationsSetSpecification, err)
Returns the equations set specification array for an equations set identified by a user number...
Sets/changes the maximum number of function evaluations for a nonlinear Newton solver.
subroutine cmfe_generatedmesh_surfacegetnumber0(regionUserNumber, generatedMeshUserNumber, surfaceType, surfaceNodes, normalXi, err)
Returns a list of the nodes belonging to a surface, and their normal xi direction, of a generated mesh identified by an object.
integer(intg), parameter, public cmfe_equations_timing_output
Timing information output.
subroutine cmfe_meshelements_nodesgetobj(meshElements, globalElementNumber, elementUserNodes, err)
Returns the element nodes for an element in a mesh identified by an object.
Returns the type of a basis.
subroutine cmfe_problem_cellmlequationsgetobj0(problem, controlLoopIdentifier, solverIndex, CellMLEquations, err)
Returns the CellML equations from a problem identified by an object.
subroutine cmfe_cellml_statefieldcreatefinishobj(CellML, err)
Finish the creation of CellML state field for a CellML environment identified by an object...
subroutine cmfe_solver_cellmlequationsgetobj(solver, CellMLEquations, err)
Returns the CellML equations for a solver identified by an object.
subroutine cmfe_field_labelgetcobj(field, label, err)
Returns the character string label for a field identified by an object.
subroutine, public cmfe_problem_initialise(cmfe_Problem, err)
Initialises a cmfe_ProblemType object.
subroutine cmfe_interfacecondition_lagrangefieldcreatefinishobj(interfaceCondition, err)
Finishes the creation of a Lagrange multiplier field for an interface condition identified by an obje...
subroutine cmfe_dataprojection_resultexittaggetnumber(regionUserNumber, dataProjectionUserNumber, dataPointUserNumber, ProjectionExitTag, err)
Returns the projection exit tag for a data point in a set of data points identified by user number...
subroutine cmfe_controlloop_labelgetvsnumber0(problemUserNumber, controlLoopIdentifier, label, err)
Returns the varying string label for a control loop identified by an user number. ...
subroutine cmfe_field_parametersetdestroyobj(field, variableType, fieldSetType, err)
Destroys the specified parameter set type for a field variable for a field identified by an object...
Sets/changes the maximum number of function evaluations for a nonlinear Quasi-Newton solver...
subroutine cmfe_mesh_elementexistsnumber(regionUserNumber, meshUserNumber, meshComponentNumber, elementUserNumber, elementExists, err)
Checks if the given element exists on the given mesh component.
integer(intg), parameter, public cmfe_problem_elasticity_class
Elasticity problem class.
subroutine cmfe_solver_geometrictransformationfieldsetnumber(problemUserNumber, controlLoopIdentifier, solverIndex, regionUserNumber, fieldUserNumber, variableType, err)
Sets the field for a geometric transformation identified by an user number.
subroutine cmfe_interface_labelgetvsnumber(parentRegionUserNumber, interfaceUserNumber, label, err)
Returns the varying string label for an interface identified by an user number.
Sets/changes the all user number for nodes.
Sets/changes the type of nonlinear Quasi-Newton solver.
subroutine cmfe_dataprojection_absolutetolerancesetobj(dataProjection, absoluteTolerance, err)
Sets/changes the absolute tolerance of data projection identified an object.
subroutine cmfe_field_componentlabelsetcobj(field, variableType, componentNumber, label, err)
Sets/changes the character string label for a field variable component for a field identified by an o...
subroutine cmfe_basis_quadratureordergetobj(basis, quadratureOrder, err)
Returns the the order of quadrature for a basis quadrature identified by an object.
integer(intg), parameter, public cmfe_solver_iterative_incomplete_lu_preconditioner
Incomplete LU preconditioner type.
subroutine cmfe_cellml_statefieldgetnumber(regionUserNumber, CellMLUserNumber, CellMLStateFieldUserNumber, err)
Returns the CellML state field for a CellML environment identified by a user number.
integer(intg), parameter, public cmfe_solver_iterative_no_preconditioner
No preconditioner type.
integer(intg), parameter, public cmfe_problem_ale_pressure_poisson_subtype
Vector source Poisson problem subtype.
subroutine, public cmfe_computationalworkgroup_subgroupadd(parentWorkGroup, numberComputationalNodes, addedWorkGroup, err)
ADD WORK SUB-GROUP TO THE PARENT GROUP BASED ON THE COMPUTATIONAL REQUIREMENTS (CALLED BY THE USER) ...
Returns the absolute tolerance for a data projection.
subroutine, public cmfe_decomposition_finalise(cmfe_Decomposition, err)
Finalises a cmfe_DecompositionType object.
Gets the local data point number for data points projected on an element.
subroutine cmfe_solver_newtonlinesearchmonitoroutputsetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, monitorLinesearchFlag, err)
Enables/disables output monitoring for a nonlinear Newton line search solver identified by an user nu...
subroutine, public cmfe_coordinatesystem_finalise(cmfe_CoordinateSystem, err)
Finalises a cmfe_CoordinateSystemType object.
subroutine cmfe_dataprojection_maximumnumberofiterationssetnumber(dataProjectionUserNumber, regionUserNumber, maximumNumberOfIterations, err)
Sets/changes the maximum number of iterations of data projection identified by a region user number...
integer(intg), parameter, public cmfe_problem_coupled1d0d_navier_stokes_subtype
Coupled 1D-DAE Navier-Stokes problem subtype.
subroutine cmfe_basis_interpolationxisetobj(basis, interpolationXi, err)
Sets/changes the interpolation type in each xi directions for a basis indentified by an object...
subroutine cmfe_problem_solvergetobj1(problem, controlLoopIdentifiers, solverIndex, solver, err)
Returns a solver from a problem identified by an object.
subroutine cmfe_solver_quasinewtonsolutiontolerancesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, solutionTolerance, err)
Sets/changes the solution tolerance for a Quasi-Newton solver identified by an user number...
subroutine cmfe_solver_dynamicthetasetnumber11(problemUserNumber, controlLoopIdentifiers, solverIndex, thetas, err)
Sets/changes the theta for a dynamic solver identified by an user number.
subroutine cmfe_analyticanalysis_integralpercentageerrorgetobj(field, variableType, componentNumber, integralValue, ghostIntegralValue, err)
Get integral value for the percentage errors.
subroutine cmfe_cellml_modelsfieldgetnumber(regionUserNumber, CellMLUserNumber, CellMLModelsFieldUserNumber, err)
Returns the CellML models field for a CellML environment identified by a user number.
subroutine, public cmfe_interfacemeshconnectivity_finalise(cmfe_InterfaceMeshConnectivity, err)
Finalises a cmfe_InterfaceMeshConnectivityType object.
subroutine cmfe_field_datatypesetnumber(regionUserNumber, fieldUserNumber, variableType, dataType, err)
Sets/changes the data type for a field variable for a field identified by a user number.
Sets/changes the maximum iterations for a while control loop.
subroutine cmfe_solver_newtonjacobiancalculationtypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, jacobianCalculationType, err)
Sets/changes the Jacobian calculation type for an Newton solver identified by an user number...
subroutine cmfe_equationsset_tensorinterpolatexiobj(equationsSet, tensorEvaluateType, userElementNumber, xi, values, err)
Evaluate a tensor at a given element xi location, for an equations set identified by an object...
integer(intg), parameter, public cmfe_solver_mumps_library
MUMPS solver library.
subroutine cmfe_field_parametersetinterpolatesinglexidpobj(field, variableType, fieldSetType, derivativeNumber, userElementNumber, xi, values, err)
Interpolates the given parameter set at a specified xi location for the specified element and derviat...
subroutine cmfe_field_parametersetaddconstantintgobj(field, variableType, fieldSetType, componentNumber, value, err)
Adds the given integer value to the given parameter set for the constant of the field variable compon...
subroutine cmfe_equationsset_sourcedestroynumber(regionUserNumber, equationsSetUserNumber, err)
Destroy the source for an equations set identified by a user number.
integer(intg), parameter, public cmfe_equations_set_helmholtz_equation_type
Helmholtz equation equations set type.
Sets/changes the (initial) time step for a differential-algebraic equation solver.
subroutine cmfe_field_parametersetdatagetdpobj(field, variableType, fieldSetType, parameters, err)
Returns a pointer to the specified field parameter set local double precision data array for a field ...
integer(intg), parameter, public cmfe_basis_cubic_hermite_interpolation
Cubic Hermite interpolation specification.
subroutine cmfe_field_parametersetgetdatapointdpnumberr(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Returns from the given parameter set a double precision value for the specified data point of a field...
subroutine cmfe_meshnodes_numberofnodesgetnumber(regionUserNumber, meshUserNumber, meshComponentNumber, numberOfNodes, err)
Returns the number of nodes at a node in a mesh identified by an user number.
Returns the projection exit tag for a data point identified by a given user number.
subroutine cmfe_field_parametersetaddelementintgnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Adds the given integer value to an element in the given parameter set for field variable component fo...
Sets the random seeds for OpenCMISS.
subroutine cmfe_solver_newtoncellmlsolvergetobj(solver, CellMLSolver, err)
Returns the CellML solver associated with a Newton solver identified by an object.
subroutine cmfe_solver_geometrictransformationnoloadincrementssetobj(solver, numberOfIncrements, err)
Sets the arbitrary path logical for a geometric transformation solver identified by an object...
subroutine cmfe_solver_daetimessetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, startTime, endTime, err)
Sets/changes the times for an differential-algebraic equation solver identified by an user number...
subroutine cmfe_field_parametersetnodescalefactorgetobj(field, variableType, versionNumber, derivativeNumber, nodeUserNumber, componentNumber, scaleFactor, err)
Gets the scale factor for a particular node identified by an object.
subroutine cmfe_field_parametersetgetelementlobj(field, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Returns from the given parameter set a logical value for the specified element of a field variable co...
subroutine cmfe_fieldml_inputfieldcreatestartobjvs(fieldml, region, decomposition, fieldNumber, field, variableType, evaluatorName, err)
Create a field using the given FieldML evaluator.
subroutine cmfe_controlloop_numberofiterationssetobj(controlLoop, numberOfIterations, err)
Sets the number of iterations for a time control loop identified by an object.
subroutine cmfe_boundaryconditions_setnodeobj(boundaryConditions, field, variableType, versionNumber, derivativeNumber, nodeUserNumber, componentNumber, condition, value, err)
Sets the value of the specified node and sets this as a boundary condition on the specified node for ...
Returns a control loop for a problem.
subroutine cmfe_boundaryconditions_addelementnumber(regionUserNumber, problemUserNumber, controlLoopIdentifiers, solverIndex, fieldUserNumber, variableType, elementUserNumber, componentNumber, condition, value, err)
Adds the value to the specified element and sets this as a boundary condition on the specified elemen...
subroutine cmfe_interfacecondition_createfinishnumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, err)
Finishes the creation of an interface condition identified by an user number.
Returns the specified control loop as indexed by the control loop identifier from the control loop ro...
integer(intg), parameter, public cmfe_solver_newton_linesearch_cubic
Cubic search for Newton line search nonlinear solves.
subroutine cmfe_solver_daesolvertypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, DAESolverType, err)
Sets/changes the solve type for an differential-algebraic equation solver identified by an user numbe...
subroutine cmfe_basis_quadratureordersetobj(basis, quadratureOrder, err)
Sets/changes the the order of quadrature for a basis quadrature identified by an object.
integer(intg), parameter, public cmfe_problem_static_navier_stokes_subtype
Static Navier-Stokes problem subtype.
subroutine cmfe_controlloop_timessetobj(controlLoop, startTime, stopTime, timeIncrement, err)
Sets/changes the time parameters for a time control loop identified by an object. ...
subroutine cmfe_fieldml_outputaddfieldcomponentsobjvs(fieldml, typeHandle, baseName, dofFormat, field, fieldComponentNumbers, variableType, setType, err)
Add the given field to the current FieldML context, only including the given components.
subroutine cmfe_solverequations_boundaryconditionscreatestartnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, err)
Start the creation of boundary conditions for solver equations identified by user numbers...
subroutine cmfe_boundaryconditions_setconstantnumber(regionUserNumber, problemUserNumber, controlLoopIdentifiers, solverIndex, variableType, fieldUserNumber, componentNumber, condition, value, err)
Sets the value of the specified constant as a boundary condition on the specified constant for bounda...
integer(intg), parameter, public cmfe_quadrauple_real_type
Quadruple precision real data type.
Sets/changes the output parameters for a time control loop.
Updates the given field&#39;s dofs using the given parameter evaluator.
subroutine cmfe_coordinatesystem_createstartobj(coordinateSystemUserNumber, coordinateSystem, err)
Starts the creation of a coordinate system identified by an object.
Contains information on a mesh defined on a region.
subroutine cmfe_equations_lumpingtypesetnumber(regionUserNumber, equationsSetUserNumber, lumpingType, err)
Sets/changes the lumping type for equations identified by a user number.
subroutine cmfe_nodes_destroyobj(nodes, err)
Destroys the nodes in a region for nodes identified by an object.
subroutine cmfe_dataprojection_labelgetvsinterfacenumber(dataProjectionUserNumber, parentRegionUserNumber, interfaceUserNumber, label, err)
Get the varying string label of a data projection identified by a region user number.
integer(intg), parameter, public cmfe_solver_quasi_newton_scale_none
Don&#39;t scale the problem.
integer(intg), parameter, public cmfe_boundary_condition_pressure_incremented
integer(intg), parameter, public cmfe_problem_vector_data_fitting_subtype
Standard Galerkin projection problem subtype.
subroutine cmfe_analyticanalysis_absoluteerrorgetconstantobj(field, variableType, componentNumber, VALUE, err)
Get absolute error value for the constant in a field identified by an object compared to the analytic...
subroutine cmfe_dataprojection_resultelementlinenumbergetnumber(regionUserNumber, dataProjectionUserNumber, dataPointUserNumber, ProjectionElementLineNumber, err)
Returns the projection element line number for a data point in a set of data points identified by use...
subroutine cmfe_solver_librarytypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, libraryType, err)
Sets/changes the type of library for a solver identified by an user number.
subroutine cmfe_meshembedding_setgausspointdataobj(meshEmbedding, parentElementNumber, gaussPointNumber, parentXiCoords, childElementNumber, childXiCoords, err)
subroutine cmfe_field_parametersetupdategausspointlobj(field, variableType, fieldSetType, gaussPointNumber, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given logical value for the element Gauss point of the field...
subroutine cmfe_dataprojection_projectiontypegetnumber(dataProjectionUserNumber, regionUserNumber, projectionType, err)
Returns the projection type of data projection identified by a region user number.
subroutine cmfe_field_parametersetgetdatapointspnumberi(parentRegionUserNumber, interfaceUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Returns from the given parameter set a single precision value for the specified data point of a field...
subroutine, public cmfe_interfacemeshconnectivity_initialise(cmfe_InterfaceMeshConnectivity, err)
Initialises a cmfe_InterfaceMeshConnectivityType object.
integer(intg), parameter, public cmfe_solver_dynamic_first_order
Dynamic solver has first order terms.
integer(intg), parameter, public cmfe_solver_iterative_chebyshev
Chebychev iterative solver type.
subroutine cmfe_field_parametersetupdateelementspobj(field, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given single precision value for the element of the field va...
subroutine cmfe_datapoints_labelsetcnumber(regionUserNumber, dataPointGlobalNumber, label, err)
Sets/changes the character label for a data point in a set of data points identified by user number...
subroutine cmfe_solver_dynamicdegreesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, degree, err)
Sets/changes the degree of the polynomial used to interpolate time for a dynamic solver identified by...
subroutine, public cmfe_basistypescopy(bases, basesSize, basesPtr, err)
Copy an array of cmfe_BasisTypes from C to an allocated Fortran array, for use by the C bindings...
subroutine cmfe_decomposition_createfinishobj(decomposition, err)
Finishes the creation of a domain decomposition for a decomposition identified by an object...
subroutine cmfe_coordinatesystem_focussetobj(coordinateSystem, focus, err)
Sets/changes the focus of a coordinate system identified by an object.
subroutine cmfe_fieldml_outputaddfieldwithtypenumbervs(fieldml, baseName, dofFormat, regionNumber, fieldNumber, variableType, setType, typeHandle, err)
Add the given field to the given FieldML context, using the given FieldML type.
subroutine cmfe_fieldml_inputcreatefromfilec(filename, fieldml, err)
Initialise the given FieldML context using the given FieldML XML file.
integer(intg), parameter, public cmfe_problem_ale_darcy_subtype
ALE Darcy problem subtype.
integer(intg), parameter, public cmfe_equations_set_elasticity_class
Elasticity equations set class.
Gets the random seeds for OpenCMISS.
subroutine cmfe_interface_coordinatesystemgetobj(Interface, CoordinateSystem, err)
Returns the coordinate system for an interface identified by an object.
Starts the process of creating nodes in a region.
subroutine cmfe_dataprojection_relativetolerancesetobj(dataProjection, relativeTolerance, err)
Sets/changes the relative tolerance of data projection identified an object.
subroutine cmfe_controlloop_timesgetnumber0(problemUserNumber, controlLoopIdentifier, startTime, stopTime, timeIncrement, currentTime, currentLoopIteration, outputIterationNumber, err)
Returns the time parameters for a time control loop identified by user numbers.
subroutine cmfe_datapoints_valuessetobj(dataPoints, dataPointGlobalNumber, dataPointValues, err)
Sets/changes the values for a data point in a set of data points identified by an object...
Returns the data points for a region.
integer(intg), parameter, public cmfe_equations_set_plate_subtype
Plate linear elasticity equations set subtype.
subroutine cmfe_field_labelgetcnumber(regionUserNumber, fieldUserNumber, label, err)
Returns the character string label for a field identified by a user number.
subroutine cmfe_boundaryconditions_setnodenumber0(regionUserNumber, problemUserNumber, controlLoopIdentifier, solverIndex, fieldUserNumber, variableType, versionNumber, derivativeNumber, nodeUserNumber, componentNumber, condition, value, err)
Sets the value of the specified node as a boundary condition on the specified node for boundary condi...
subroutine cmfe_interfacepointsconnectivity_createfinishobj(interfacePointsConnectivity, err)
Finishes the creation of an interface meshes connectivity identified by an object.
Sets/changes the relative tolerance for a nonlinear Quasi-Newton solver.
integer(intg), parameter, public cmfe_equations_set_reference_state_mooney_rivlin_subtype
Determine the reference configuration using Mooney-Rivlin constitutive law for finite elasticity equa...
subroutine cmfe_solver_newtontrustregiondelta0setobj(solver, delta0, err)
Sets/changes the delta0 for a Newton trust region solver identified by an object. ...
subroutine cmfe_dataprojection_createfinishobj(dataProjection, err)
Finishes the creation of a new data projection identified by an object.
integer(intg), parameter, public cmfe_data_projection_boundary_lines_projection_type
The boundary line projection type for data projection, only projects to boundary lines of the mesh...
subroutine cmfe_analyticanalysis_relativeerrorgetnodenumber(regionUserNumber, fieldUserNumber, variableType, versionNumber, derivativeNumber, nodeNumber, componentNumber, value, err)
Get relative error value for the node in a field specified by a user number compared to the analytic ...
subroutine cmfe_fieldml_inputfieldparametersupdateobjc(fieldml, field, evaluatorName, variableType, setType, err)
Update the DOF parameters of the given field, using the given FieldML evaluator.
integer(intg), parameter, public cmfe_problem_generalised_laplace_subtype
Generalised Laplace problem subtype.
subroutine cmfe_solver_dynamiclinearsolvergetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, linearSolverIndex, err)
Returns the linear solver associated with a linear dynamic solver identified by an user number...
subroutine cmfe_region_createfinishobj(region, err)
Finishes the creation of a region identified by an object.
subroutine cmfe_field_numberofcomponentsgetobj(field, variableType, numberOfComponents, err)
Returns the number of components for a field variable for a field identified by an object...
subroutine cmfe_nodes_usernumbergetobj(nodes, nodeGlobalNumber, nodeUserNumber, err)
Returns the user number for a node in a set of nodes identified by an object.
subroutine cmfe_analyticanalysis_integralnidnumericalvaluegetobj(field, variableType, componentNumber, integralValue, ghostIntegralValue, err)
Get integral value for the nid numerical.
integer(intg), parameter, public cmfe_solver_dynamic_hilbert_hughes_taylor1_scheme
1st Hilbert-Hughes-Taylor dynamic solver.
subroutine cmfe_distributedvector_datatypegetobj(vector, dataType, err)
Get the data type of a distributed vector.
subroutine cmfe_basis_quadraturenumberofgaussxigetnumber(userNumber, numberOfGaussXi, err)
Returns the number of Gauss points in each Xi directions for a basis quadrature identified by a user ...
Returns the number of local nodes in a basis.
subroutine cmfe_field_typesetnumber(regionUserNumber, fieldUserNumber, fieldType, err)
Sets/changes the field type for a field identified by a user number.
integer(intg), parameter, public cmfe_solver_newton_jacobian_not_calculated
The Jacobian values will not be calculated for the nonlinear equations set.
subroutine cmfe_region_nodesgetobj(region, nodes, err)
Returns the nodes for a region identified by an object.
subroutine cmfe_solver_newtonrelativetolerancesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, relativeTolerance, err)
Sets/changes the relative tolerance for a Newton solver identified by an user number.
subroutine cmfe_controlloop_timesgetobj(controlLoop, startTime, stopTime, timeIncrement, currentTime, currentLoopIteration, outputIterationNumber, err)
Returns the time parameters for a time control loop identified by an object.
subroutine cmfe_field_parametersetaddnodedpobj(field, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Adds the given double precision value to an node in the given parameter set for field variable compon...
subroutine cmfe_problem_cellmlequationscreatefinishnumber(problemUserNumber, err)
Finishes the process of creating CellML equations for a problem identified by user number...
subroutine cmfe_solver_newtonmaximumfunctionevaluationssetobj(solver, maximumFunctionEvaluations, err)
Sets/changes the maximum number of function evaluations for a Newton solver identified by an object...
integer(intg), parameter, public cmfe_problem_multiscale_finite_elasticity_subtype
Multiscale finite elasticity subtype.
subroutine cmfe_problem_solverequationsdestroyobj(problem, err)
Destroys the solver equations for problem identified by an object.
subroutine cmfe_dataprojection_maximumnumberofiterationsgetnumber(dataProjectionUserNumber, regionUserNumber, maximumNumberOfIterations, err)
Returns the maximum number of iterations of data projection identified by a region user number...
integer(intg), parameter, public cmfe_basis_quadratic_simplex_interpolation
Quadratic Simplex interpolation specification.
integer(intg), parameter, public cmfe_equations_set_no_subtype
No equations set subtype.
subroutine cmfe_cellml_intermediatefieldcreatestartnumber(regionUserNumber, CellMLUserNumber, CellMLIntermediateFieldUserNumber, err)
Starts the creation of CellML intermediate field for a CellML environment identified by a user number...
subroutine cmfe_solver_dynamictimessetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, currentTime, timeIncrement, err)
Sets/changes the times for a dynamic solver identified by an user number.
Contains information on a mesh elements defined in a mesh.
subroutine cmfe_interface_coordinatesystemsetobj(interface, coordinateSystem, err)
Sets/changes the coordinate system for an interface identified by an object.
subroutine cmfe_coordinatesystem_dimensiongetnumber(coordinateSystemUserNumber, coordinateSystemDimension, err)
Returns the dimension of a coordinate system identified by a user number.
subroutine cmfe_meshelements_usernodeversionsetobj(meshElements, globalElementNumber, versionNumber, derivativeNumber, userNodeNumber, err)
Sets/changes the element nodes for an element in a mesh identified by an object.
integer(intg), parameter, public cmfe_problem_finite_elasticity_navier_stokes_type
Finite Elasticity NavierStokes problem type.
subroutine cmfe_datapoints_labelsetvsnumber(regionUserNumber, dataPointGlobalNumber, label, err)
Sets/changes the varying string label for a data point in a set of data points identified by user num...
subroutine cmfe_solver_geometrictransformationmatrixsetobj1(solver, matrix, loadIncrementIdx, err)
Sets the full transformation matrix vector at a specific load increment for a geometric transformatio...
Sets/changes the number of iterations for a time control loop. If set to 0, it will be computed from ...
subroutine, public cmfe_errorhandlingmodeset(errorHandlingMode, err)
Sets the error handling mode for OpenCMISS.
subroutine cmfe_field_componentmeshcomponentgetobj(field, variableType, componentNumber, meshComponent, err)
Returns the mesh component number for a field variable component for a field identified by an object...
Sets/changes the line search step tolerance for a nonlinear Quasi-Newton solver.
subroutine cmfe_controlloop_typesetnumber0(problemUserNumber, controlLoopIdentifier, loopType, err)
Sets/changes the loop type for a control loop identified by user numbers.
subroutine cmfe_meshnodes_numberofderivativesgetobj(meshNodes, userNodeNumber, numberOfDerivatives, err)
Returns the number of derivatives for a node in a mesh identified by an object.
subroutine cmfe_problem_cellmlequationscreatestartobj(problem, err)
Starts the creation of CellML equations for problem identified by an object.
subroutine cmfe_interfacecondition_equationsdestroynumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, err)
Destroys interface equations for an interface condition identified by a user number.
integer(intg), parameter, public cmfe_equations_set_finite_elasticity_stokes_type
Finite Elasticity Stokes equations set type.
subroutine cmfe_initialiseobj(worldCoordinateSystem, worldRegion, err)
Initialises CMISS returning a pointer to the world coordinate system and region.
subroutine cmfe_randomseedsset0(randomSeed, err)
Sets the random seeds for OpenCMISS.
subroutine cmfe_solver_labelgetvsnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, label, err)
Returns the varying string label for a solver identified by an user number.
subroutine cmfe_distributedvector_datagetintgobj(vector, data, err)
Get the data array for this vector on this computational node.
Add the given field to the current FieldML context, using only the given components.
integer(intg), parameter, public cmfe_double_complex_type
Double precision complex data type.
subroutine, public cmfe_cellmlequations_finalise(cmfe_CellMLEquations, err)
Finalises a cmfe_CellMLEquationsType object.
subroutine cmfe_equationsset_materialscreatefinishnumber(regionUserNumber, equationsSetUserNumber, err)
Finish the creation of materials for an equations set identified by a user number.
subroutine cmfe_field_parametersetupdatenodedpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Updates the given parameter set with the given double precision value for the node and derivative of ...
subroutine cmfe_cellml_createcellmltofieldmapobjc(CellML, CellMLModelUserNumber, variableID, CellMLParameterSet, field, variableType, componentNumber, fieldParameterSet, err)
Defines a CellML model variable to field variable component map by object.
subroutine cmfe_basis_collapsedxigetnumber(userNumber, collapsedXi, err)
Returns the collapsed Xi flags of a basis identified by a user number.
subroutine cmfe_solver_lineartypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, linearSolverType, err)
Sets/changes the type for a linear solver identified by an user number.
subroutine cmfe_equations_linearitytypegetobj(equations, linearityType, err)
Gets the linearity type for equations identified by an object.
subroutine cmfe_interfacemeshconnectivity_createfinishobj(interfaceMeshConnectivity, err)
Finishes the creation of an interface meshes connectivity identified by an object.
integer(intg), parameter, public cmfe_equations_set_maxwells_equations_type
Maxwells equation equations set type.
subroutine cmfe_dataprojection_resultexittaggetobj(dataProjection, dataPointUserNumber, ProjectionExitTag, err)
Returns the projection exit tag for a data point in a set of data points identified by an object...
integer(intg), parameter, public cmfe_problem_optimisation_class
Optimisation problem class.
subroutine, public cmfe_interfacepointsconnectivity_initialise(cmfe_InterfacePointsConnectivity, err)
Initialises a cmfe_InterfaceMeshConnectivityType object.
Sets/changes the label for a data point identified by a given global number.
subroutine cmfe_field_parametersetupdatenodeintgobj(field, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Updates the given parameter set with the given integer value for the node and derivative of the field...
subroutine cmfe_field_parametersetaddelementintgobj(field, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Adds the given integer value to an element in the given parameter set for field variable component fo...
Returns the number of derivatives for a node in a mesh.
Adds to the value of the specified constant and sets this as a boundary condition on the specified co...
integer(intg), parameter, public cmfe_boundary_condition_neumann_point_incremented
Specify the normal derivative at a node, which is then integrated to find the nodal load term...
subroutine cmfe_field_geometricparameterselementlinelengthgetobj(geometricField, elementNumber, elementLineNumber, lineLength, err)
Gets the line length between nodes of a geometric field for a given element number and element basis ...
integer(intg), parameter, public cmfe_equations_set_trans_isotropic_active_transition_subtype
Transverse isotropic, active-contraction material-transition constitutive law for finite elasticity e...
integer(intg), parameter, public cmfe_solver_dynamic_wilson_scheme
Wilson dynamic solver.
integer(intg), parameter cmfe_solvercellmlevaluatortype
A CellML evaluator solver.
subroutine cmfe_field_parametersetupdatedatapointintgnumberi(parentRegionUserNumber, interfaceUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Update the given parameter set a integer value for the specified data point of a field variable compo...
integer(intg), parameter, public cmfe_equations_set_electromagnetics_class
Electromagnetics equations set class.
subroutine cmfe_solver_labelsetvsobj(solver, label, err)
Sets/changes string label for a solver identified by an object.
subroutine, public cmfe_equationsset_finalise(cmfe_EquationsSet, err)
Finalises a cmfe_EquationsSetType object.
subroutine cmfe_field_parametersetupdategausspointdpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, gaussPointNumber, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given double precision value for the element Gauss point of ...
subroutine cmfe_solver_quasinewtonlinesearchsteptolsetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, stepTol, err)
Sets/changes the line search step tolerance for an Quasi-Newton linesearch solver identified by an us...
subroutine cmfe_field_parametersetupdatedatapointspnumberi(parentRegionUserNumber, interfaceUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Update the given parameter set a single precision value for the specified data point of a field varia...
Adds to the value of the element constant and sets this as a boundary condition on the specified elem...
subroutine cmfe_mesh_createstartinterfaceobj(meshUserNumber, interface, numberOfDimensions, mesh, err)
Starts the creation of a mesh for a mesh identified by an object.
subroutine cmfe_fieldml_outputcreateobjvs(mesh, location, baseName, connectivityFormat, fieldml, err)
Initialise the given FieldML context using the given mesh.
subroutine cmfe_distributedmatrix_datarestoreintgobj(matrix, data, err)
Restore the data array for this matrix once it has finished being used.
integer(intg), parameter, public cmfe_solver_dae_differential_only
Differential equations only.
subroutine cmfe_boundaryconditions_neumannsparsitytypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, sparsityType, err)
Sets the Neumann integration matrix sparsity for boundary conditions identified by a control loop ide...
subroutine cmfe_datapoints_usernumbergetobj(dataPoints, dataPointGlobalNumber, dataPointUserNumber, err)
Returns the user number for a data point in a set of data points identified by an object...
subroutine cmfe_fieldml_inputfieldcreatestartnumberc(fieldml, regionNumber, meshNumber, decompositionNumber, fieldNumber, variableType, evaluatorName, err)
Create a field with the given user number using the given FieldML evaluator.
Contains information about an interface condition.
subroutine cmfe_mesh_numberofcomponentsgetnumber(regionUserNumber, meshUserNumber, numberOfComponents, err)
Returns the number of components in a mesh identified by a user number.
Returns the xi positions of Gauss points on a basis quadrature.
integer(intg), parameter, public cmfe_boundary_condition_full_matrices
subroutine cmfe_equationsset_equationscreatestartobj(equationsSet, equations, err)
Start the creation of equations for an equations set identified by an object.
subroutine cmfe_cellml_variablesetaswantedobjvs(CellML, CellMLModelUserNumber, variableID, err)
Sets a CellML model variable to be wanted by object.
subroutine cmfe_solver_lineariterativetypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, iterativeSolverType, err)
Sets/changes the type for an iterative linear solver identified by an user number.
subroutine cmfe_usernumbergetmesh(mesh, userNumber, err)
Get the user number of the given mesh.
subroutine cmfe_solver_quasinewtontrustregiondelta0setnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, delta0, err)
Sets/changes the delta0 for a Quasi-Newton trust region solver identified by an user number...
integer(intg), parameter, public cmfe_equations_set_finite_elasticity_navier_stokes_type
Finite Elasticity Navier Stokes equations set type.
integer(intg), parameter, public cmfe_boundary_condition_fixed_outlet
integer(intg), parameter, public cmfe_equations_jacobian_finite_difference_calculated
Evaluate Jacobian matrix using finite differences.
Returns the number of iterations for a time control loop. If the returned value is 0...
subroutine cmfe_mesh_destroyobj(mesh, err)
Destroys a mesh identified by an object.
subroutine cmfe_field_parametersetupdateelementlobj(field, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given logical value for the element of the field variable co...
subroutine cmfe_field_createstartnumber(fieldUserNumber, regionUserNumber, err)
Starts the creation of a field identified by a user number.
subroutine cmfe_solver_labelsetcnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, label, err)
Sets/changes the character string label for a solver identified by an user number.
subroutine cmfe_basis_createstartnumber(userNumber, err)
Starts the creation of a new basis for a basis identified by a user number.
subroutine cmfe_cellml_intermediatefieldcreatefinishnumber(regionUserNumber, CellMLUserNumber, err)
Finishes the creation of CellML intermediate field for a CellML environment identified by a user numb...
subroutine, public cmfe_equations_jacobianmatricestypesset(equations, jacobianTypes, err)
Setting Jacobian matrix evaluation type.
integer(intg), parameter, public cmfe_global_deriv_s3
First global derivative in the s3 direction i.e., du/ds3.
integer(intg), parameter, public cmfe_problem_quasistatic_elasticity_transient_darcy_subtype
Quasistatic Elasticity Transient Darcy problem subtype.
Start the creation of boundary conditions for solver equations.
subroutine cmfe_region_createstartnumber(regionUserNumber, parentRegionUserNumber, err)
Starts the process creating a region identified by user number.
Returns the CellML state field for a CellML environment.
subroutine cmfe_controlloop_controlloopgetnumber01(problemUserNumber, controlLoopRootIdentifier, controlLoopIdentifiers, controlLoop, err)
Returns the specified control loop as indexed by the control loop identifier from the control loop ro...
subroutine cmfe_equationsset_sourcecreatestartnumber(regionUserNumber, equationsSetUserNumber, sourceFieldUserNumber, err)
Start the creation of a source for an equations set identified by a user number.
subroutine cmfe_generatedmesh_originsetobj(generatedMesh, origin, err)
Sets/changes the origin of a generated mesh identified by an object.
subroutine cmfe_equations_lumpingtypegetobj(equations, lumpingType, err)
Gets the lumping type for equations identified by an object.
subroutine cmfe_interfacecondition_destroyobj(interfaceCondition, err)
Destroys an interface condition identified by an object.
subroutine cmfe_field_numberofcomponentsgetnumber(regionUserNumber, fieldUserNumber, variableType, numberOfComponents, err)
Returns the number of componenets for a field variable for a field identified by a user number...
subroutine cmfe_mesh_numberofelementssetobj(mesh, numberOfElements, err)
Sets/changes the number of elements in a mesh identified by an object.
subroutine cmfe_field_typegetobj(field, fieldType, err)
Returns the type for a field identified by an object.
subroutine cmfe_controlloop_iterationssetnumber0(problemUserNumber, controlLoopIdentifier, startIteration, stopIteration, iterationIncrement, err)
Sets/changes the iteration parameters for a fixed control loop identified by user numbers...
subroutine cmfe_datapoints_numberofdatapointsgetobj(dataPoints, numberOfDataPoints, err)
Returns the number of data points.
subroutine cmfe_dataprojection_resultelementfacenumbergetnumber(regionUserNumber, dataProjectionUserNumber, dataPointUserNumber, ProjectionElementFaceNumber, err)
Returns the projection element face number for a data point in a set of data points identified by use...
subroutine cmfe_field_parametersetgetdatapointlnumberr(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Returns from the given parameter set a logical value for the specified data point of a field variable...
subroutine cmfe_interface_createstartnumber(interfaceUserNumber, regionUserNumber, err)
Starts the creation of an interface identified by a user number.
integer(intg), parameter, public cmfe_problem_static_poiseuille_subtype
Static Poiseuille problem subtype.
subroutine cmfe_equations_sparsitytypegetobj(equations, sparsityType, err)
Gets the sparsity type for equations identified by an object.
Returns the label for a data point identified by a given global number.
subroutine cmfe_controlloop_absolutetolerancesetobj(controlLoop, absoluteTolerance, err)
Sets/changes the maximum iterations for a while control loop identified by an object.
Finishes the process of creating nodes in a region.
subroutine cmfe_distributedmatrix_datagetintgobj(matrix, data, err)
Get the data array for this matrix on this computational node.
integer(intg), parameter, public cmfe_solver_quasi_newton_badbroyden
"Bad" Broyden Quasi-Newton type
Contains information about the equations in an equations set.
subroutine cmfe_solver_quasinewtoncellmlsolvergetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, CellMLSolverIndex, err)
Returns the CellML solver associated with a Quasi-Newton solver identified by an user number...
integer(intg), parameter, public cmfe_solver_direct_lu
LU direct linear solver.
subroutine cmfe_cellml_destroynumber(regionUserNumber, CellMLUserNumber, err)
Destroys a CellML environment identified by a user number.
integer(intg), parameter, public cmfe_solver_quasi_newton_restart_periodic
Restart after a fixed number of iterations.
subroutine cmfe_datapoints_createstartobj(region, numberOfDataPoints, dataPoints, err)
Starts the creation of a data points in a region for data points identified by an object...
subroutine cmfe_interfacecondition_methodgetnumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, interfaceConditionMethod, err)
Returns the method for an interface condition identified by a user number.
Sets/changes the GMRES restart value for a GMRES iterative linear solver.
subroutine cmfe_generatedmesh_surfacegetnumber1(regionUserNumber, meshComponent, generatedMeshUserNumber, surfaceType, surfaceNodes, normalXi, err)
Returns a list of the nodes belonging to a surface, and their normal xi direction, of a generated mesh identified by an object.
subroutine cmfe_interfacecondition_operatorsetobj(interfaceCondition, interfaceConditionOperator, err)
Sets/changes the operator for an interface condition identified by an object.
Gets the sparsity type for equations.
subroutine cmfe_nodes_usernumbersallsetobj(nodes, nodeUserNumbers, err)
Sets/changes the user numbers for a set of nodes identified by an object.
subroutine cmfe_equationsset_analyticuserparamgetobj(equationsSet, paramIdx, param, err)
Sets the analytic problem user parameter.
subroutine cmfe_distributedmatrix_datatypegetobj(matrix, dataType, err)
Get the data type of a distributed matrix.
subroutine cmfe_region_labelgetcobj(region, label, err)
Returns the character string label for a region identified by an object.
Creates a basis using the given FieldML evaluator.
integer(intg), parameter, public cmfe_problem_stree1d0d_subtype
Coupled 1D-DAE Navier-Stokes problem subtype with Advection.
Get the data type for a distributed matrix.
subroutine cmfe_field_parametersetgetdatapointdpobj(field, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Returns from the given parameter set a double precision value for the specified constant of a field v...
subroutine cmfe_solver_dynamicthetasetnumber01(problemUserNumber, controlLoopIdentifier, solverIndex, thetas, err)
Sets/changes the theta value for a dynamic solver identified by an user number.
subroutine cmfe_analyticanalysis_relativeerrorgetconstantnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, value, err)
Get relative error value for the constant in a field specified by a user number compared to the analy...
subroutine cmfe_cellmlequations_cellmladdobj(CellMLEquations, CellML, CellMLIndex, err)
Adds a CellML environment to CellML equations identified by an object.
subroutine cmfe_basis_quadratureordergetnumber(userNumber, quadratureOrder, err)
Returns the order of quadrature a basis quadrature identified by a user number.
integer(intg), parameter, public cmfe_problem_transient1d_adv_navier_stokes_subtype
TRANSIENT1D Navier-Stokes problem subtype with Advection.
Returns the number of Gauss points in each Xi direction on a basis quadrature.
subroutine cmfe_decomposition_meshcomponentgetnumber(regionUserNumber, meshUserNumber, decompositionUserNumber, meshComponentNumber, err)
Returns the mesh component number used for the decomposition of a mesh for a decomposition identified...
Returns the nonlinear solver associated with a nonlinear dynamic solver.
subroutine cmfe_field_positionnormaltangentcalculatenodenumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, localNodeNumber, position, normal, tangents, err)
Returns the interpolation type for a field variable component for a field identified by a user number...
subroutine cmfe_solver_quasinewtontypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, quasiNewtonType, err)
Sets/changes the type of a Quasi-Newton solver identified by an user number.
Finishes the creation of CellML state field.
subroutine cmfe_solver_daeeulersolvertypegetobj(solver, DAEEulerSolverType, err)
Returns the solve type for an Euler differential-algebraic equation solver identified by an object...
subroutine cmfe_meshnodes_derivativesgetnumber(regionUserNumber, meshUserNumber, meshComponentNumber, userNodeNumber, derivatives, err)
Returns the derivatives at a node in a mesh identified by an user number.
subroutine cmfe_region_destroyobj(region, err)
Destroys a region identified by an object.
Returns the projection xi for a data point identified by a given user number.
subroutine, public cmfe_equations_numberofjacobianmatricesget(equations, numberOfMatrices, err)
Get the number of Jacobian matrices in the equations.
Returns the projection element number for a data point identified by a given user number...
Adds to the value of the node constant and sets this as a boundary condition on the specified node...
subroutine cmfe_basis_quadratureordersetnumber(userNumber, quadratureOrder, err)
Sets/changes the order of quadrature a basis quadrature identified by a user number.
subroutine cmfe_field_parametersetgetelementdpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Returns from the given parameter set a double precision value for the specified element of a field va...
subroutine cmfe_analyticanalysis_percentageerrorgetelementnumber(regionUserNumber, fieldUserNumber, variableType, elementNumber, componentNumber, value, err)
Get percentage error value for the element in a field specified by a user number compared to the anal...
Contains information about an interface.
Contains information on an interfaces meshes connectivity.
subroutine cmfe_field_typesetobj(field, fieldType, err)
Sets/changes the type for a field identified by an object.
Sets the value of the specified constant as a boundary condition on the specified constant...
Contains information on the data points defined on a region.
subroutine cmfe_field_dependenttypegetobj(field, dependentType, err)
Returns the dependent type for a field identified by an object.
integer(intg), parameter, public cmfe_problem_finite_elasticity_fluid_pressure_type
Finite elasticity fluid pressure problem type.
subroutine cmfe_problem_solvergetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, solver, err)
Returns a solver from a problem identified by an user number.
Returns the collapsed Xi flags for a basis.
subroutine cmfe_fields_createregion(region, fields, err)
Creates a cmfe_FieldsType object for a region by an object reference.
subroutine cmfe_solver_labelsetvsnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, label, err)
Sets/changes the varying string label for a solver identified by an user number.
subroutine cmfe_cellml_parametersfieldgetnumber(regionUserNumber, CellMLUserNumber, CellMLParametersFieldUserNumber, err)
Returns the CellML parameters field for a CellML environment identified by a user number...
subroutine cmfe_boundaryconditions_neumannsparsitytypesetobj(boundaryConditions, sparsityType, err)
Sets the Neumann integration matrix sparsity type for the boundary conditions.
subroutine cmfe_basis_createfinishnumber(userNumber, err)
Finishes the creation of a new basis identified by a user number.
integer(intg), parameter, public cmfe_equations_set_advection_equation_type
Advection-Diffusion equation equations set type.
subroutine cmfe_cellmlequations_cellmladdnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, regionUserNumber, CellMLUserNumber, CellMLIndex, err)
Adds a CellML environment to CellML equations identified by an user number.
subroutine cmfe_interface_createfinishobj(interface, err)
Finishes the creation of an interface identified by an object.
subroutine cmfe_field_dependenttypesetnumber(regionUserNumber, fieldUserNumber, dependentType, err)
Sets/changes the dependent type for a field identified by a user number.
integer(intg), parameter, public cmfe_solver_matrix_output
Solver matrices output from the solver routines plus below.
subroutine, public cmfe_equations_jacobianmatrixget(equations, residualIndex, variableType, matrix, err)
Get a Jacobian matrix from the equations.
subroutine cmfe_cellml_parametersfieldcreatestartnumber(regionUserNumber, CellMLUserNumber, CellMLParametersFieldUserNumber, err)
Starts the creation of CellML parameters field for a CellML environment identified by a user number...
Get the row indices and column indices for a sparse matrix.
Returns the CellML intermediate field for a CellML environment.
subroutine cmfe_solver_newtonrelativetolerancesetobj(solver, relativeTolerance, err)
Sets/changes the relative tolerance for a Newton solver identified by an object.
subroutine, public cmfe_interfacematrices_timedependencetypeget(interfaceCondition, interfaceMatrixIndex, hasTranspose, timeDependenceTypes, Err)
Get the time dependence type of interface matrices.
subroutine cmfe_meshnodes_derivativesgetobj(meshNodes, userNodeNumber, derivatives, err)
Returns the derivatives for a node in a mesh identified by an object.
subroutine cmfe_problem_controlloopgetobj0(problem, controlLoopIdentifier, controlLoop, err)
Returns a control loop from a problem identified by an object.
integer(intg), parameter, public cmfe_equations_set_diffusion_advection_diffusion_type
Diffusion Advection Diffusion equations set type.
integer(intg), parameter, public cmfe_cellml_intermediate_field
CellML intermediate field type.
Sets/changes the projection type for a data projection.
subroutine cmfe_dataprojection_absolutetolerancegetobj(dataProjection, absoluteTolerance, err)
Returns the absolute tolerance of data projection identified an object.
subroutine cmfe_solver_newtonconvergencetesttypesetobj(solver, convergenceTestType, err)
Sets/changes the convergence test type for a Newton solver identified by an object.
Returns the solver type for an differential-algebraic equation solver.
subroutine cmfe_dataprojection_datapointspositionevaluateobj(dataProjection, field, fieldVariableType, err)
Evaluate the data points position in a field based on data projection, identified by object...
integer(intg), parameter, public cmfe_equations_set_transverse_isotropic_guccione_subtype
Transverse isotropic Guccione constitutive law for finite elasticity equations set subtype...
subroutine cmfe_basis_numberofxisetobj(basis, numberOfXi, err)
Sets/changes the number of Xi directions in a basis identified by an object.
subroutine cmfe_cellml_createfinishnumber(regionUserNumber, CellMLUserNumber, err)
Finishes the creation of a CellML environment identified by a user number.
subroutine cmfe_solver_quasinewtonlinesearchmonitoroutputsetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, monitorLinesearchFlag, err)
Enables/disables output monitoring for a nonlinear Quasi-Newton line search solver identified by an u...
Returns the number of nodes in a mesh.
subroutine cmfe_solver_quasinewtontrustregiondelta0setobj(solver, delta0, err)
Sets/changes the delta0 for a Quasi-Newton trust region solver identified by an object.
integer(intg), parameter, public cmfe_coordinate_radial_squared_interpolation_type
r^2 radial interpolation
integer(intg), parameter, public cmfe_matrix_column_major_storage_type
Distributed matrix column major storage type.
subroutine cmfe_field_parametersetgetelementlnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Returns from the given parameter set a logical value for the specified element of a field variable co...
integer(intg), parameter, public cmfe_decomposition_user_defined_type
The user will set the element decomposition.
subroutine cmfe_fieldml_outputaddfieldnotypenumbervs(fieldml, baseName, dofFormat, regionNumber, fieldNumber, variableType, setType, err)
Add the field with the given user number to the given FieldML context. The FieldML type will be infer...
subroutine cmfe_solver_lineariterativetypesetobj(solver, iterativeSolverType, err)
Sets/changes the type for an iterative linear solver identified by an object.
subroutine cmfe_nodes_labelgetcnumber(regionUserNumber, nodeGlobalNumber, label, err)
Returns the character label for a node in a set of nodes identified by user number.
integer(intg), parameter, public cmfe_equations_set_linear_elastic_modal_type
Linear elasticity modal equations set type.
Returns the linear solver associated with a linear dynamic solver.
subroutine cmfe_problem_specificationgetnumber(problemUserNumber, problemSpecification, err)
Returns the specification array for a problem identified by a user number.
subroutine cmfe_controlloop_labelgetvsnumber1(problemUserNumber, controlLoopIdentifiers, label, err)
Returns the varying string label for a control loop identified by an user number. ...
subroutine cmfe_controlloop_numberofsubloopsgetobj(controlLoop, numberOfSubLoops, err)
Returns the number of sub-control loops for a control loop identified by an object.
Extracts the OpenCMISS error message.
subroutine cmfe_equations_destroyobj(equations, err)
Destroy equations for equations identified by an object.
subroutine cmfe_solver_geometrictransformationscalingssetobj(solver, scalings, err)
Sets the scalings for a geometric transformation solver identified by an object.
subroutine cmfe_decomposition_meshcomponentsetnumber(regionUserNumber, meshUserNumber, decompositionUserNumber, meshComponentNumber, err)
Sets/changes the mesh component number used for the decomposition of a mesh for a decomposition ident...
integer(intg), parameter, public cmfe_problem_monodomain_strang_splitting_equation_type
Monodomain equation problem type.
subroutine, public cmfe_distributedmatrix_initialise(cmfe_DistributedMatrix, err)
Initialises a cmfe_DistributedMatrixType object.
subroutine cmfe_field_parametersetgetnodelnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Returns from the given parameter set a logical value for the specified node and derivative of a field...
integer(intg), parameter, public cmfe_problem_linear_elasticity_contact_type
Linear elasticity problem subject to contact contstraint type.
subroutine cmfe_field_parametersetupdatedatapointdpnumberi(parentRegionUserNumber, interfaceUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Update the given parameter set a double precision value for the specified data point of a field varia...
Contains information for a problem.
subroutine cmfe_solver_newtonmaximumiterationssetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, maximumIterations, err)
Sets/changes the maximum number of iterations for a Newton solver identified by an user number...
subroutine cmfe_problem_cellmlequationsgetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, CellMLEquations, err)
Returns the CellML equations from a problem identified by an user number.
subroutine cmfe_meshelements_basissetnumber(regionUserNumber, meshUserNumber, meshComponentNumber, globalElementNumber, basisUserNumber, err)
Sets/changes the basis for an element in a mesh identified by an user number.
subroutine cmfe_problem_cellmlequationsgetobj1(problem, controlLoopIdentifiers, solverIndex, CellMLEquations, err)
Returns the CellML equations from a problem identified by an object.
integer(intg), parameter, public cmfe_solver_dynamic_zlamal_scheme
Zlamal dynamic solver.
subroutine cmfe_cellml_variablesetaswantednumbervs(regionUserNumber, CellMLUserNumber, CellMLModelUserNumber, variableID, err)
Sets a CellML model variable to be wanted by user number.
subroutine cmfe_cellml_fieldcomponentgetobjc(CellML, CellMLModelUserNumber, CellMLFieldType, variableID, fieldComponent, err)
Returns the field component number that corresponds to a character string variable ID for a CellML en...
subroutine cmfe_meshelements_nodessetnumber(regionUserNumber, meshUserNumber, meshComponentNumber, globalElementNumber, elementUserNodes, err)
Sets/changes the element nodes for an element in a mesh identified by an user number.
integer(intg), parameter, public cmfe_equations_set_no_type
No equations set type.
subroutine cmfe_nodes_usernumbersetobj(nodes, nodeGlobalNumber, nodeUserNumber, err)
Sets/changes the user number for a node in a set of nodes identified by an object.
subroutine cmfe_basis_collapsedxigetobj(basis, collapsedXi, err)
Returns the collapsed Xi flags of a basis identified by an object.
Contains information on a control loop.
Returns the weights for a data point identified by a given global number.
subroutine, public cmfe_meshelements_initialise(cmfe_MeshElements, err)
Initialises a cmfe_MeshElementsType object.
subroutine cmfe_field_componentinterpolationgetobj(field, variableType, componentNumber, interpolationType, err)
Returns the interpolation type for a field variable component for a field identified by an object...
subroutine cmfe_solver_quasinewtonrestarttypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, quasiNewtonRestartType, err)
Sets/changes the restart type of a Quasi-Newton solver identified by an user number.
integer(intg), parameter, public cmfe_problem_finite_elasticity_cellml_subtype
Quasistatic finite elasticity subtype.
subroutine cmfe_analyticanalysis_relativeerrorgetnodeobj(field, variableType, versionNumber, derivativeNumber, nodeNumber, componentNumber, value, err)
Get relative error value for the node in a field identified by an object compared to the analytic val...
subroutine cmfe_dataprojection_resultxigetnumber(regionUserNumber, dataProjectionUserNumber, dataPointUserNumber, ProjectionXi, err)
Returns the projection xi for a data point in a set of data points identified by user number...
subroutine cmfe_solver_lineardirecttypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, directSolverType, err)
Sets/changes the type of direct linear solver for a solver identified by an user number.
integer(intg), parameter, public cmfe_solver_iterative_conjgrad_squared
Conjugate gradient squared iterative solver type.
Returns the linear solver associated with a nonlinear Quasi-Newton solver.
integer(intg), parameter, public cmfe_solver_progress_output
Progress output from solver routines.
subroutine cmfe_solver_geometrictransformationtranslationsetnumber1(problemUserNumber, controlLoopIdentifier, solverIndex, translation, loadIncrementIdx, err)
Sets the translation at a specific increment for a geometric transformation identified by an user num...
subroutine cmfe_generatedmesh_extentsetobj(generatedMesh, extent, err)
Sets/changes the extent for a generated mesh identified by an object.
subroutine cmfe_field_parameterstofieldparameterscomponentcopynumber(fromRegionUserNumber, fromFieldUserNumber, fromVariableType, fromParameterSetType, fromComponentNumber, toRegionUserNumber, toFieldUserNumber, toVariableType, toParameterSetType, toComponentNumber, err)
Copy the parameters from the parameter set of a component of a field variable to the paramters of a p...
subroutine cmfe_interface_labelgetvsobj(interface, label, err)
Returns the varying string label for an interface identified by an object.
Gets the label for a data point projection.
subroutine cmfe_boundaryconditions_addnodeobj(boundaryConditions, field, variableType, versionNumber, derivativeNumber, nodeUserNumber, componentNumber, condition, value, err)
Adds to the value of the specified node and sets this as a boundary condition on the specified node f...
subroutine cmfe_controlloop_timeoutputsetobj(controlLoop, outputFrequency, err)
Sets/changes the output parameters for a time control loop identified by an object.
Sets/changes the maximum number of iterations for a nonlinear Quasi-Newton solver.
Get the mesh elements belonging to a mesh component.
integer(intg), parameter, public cmfe_problem_pgm_navier_stokes_subtype
PGM Navier-Stokes problem subtype.
integer(intg), parameter, public cmfe_problem_bidomain_equation_type
Bidomain equation problem type.
Returns the projection element line number for a data point identified by a given user number...
subroutine cmfe_field_componentvaluesinitialiseintgnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Initialises the values of parameter set of a field variable component to an integer constant value fo...
subroutine cmfe_solver_dynamicnonlinearsolvergetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, nonlinearSolverIndex, err)
Returns the nonlinear solver associated with a nonlinear dynamic solver identified by an user number...
Returns the maximum number of iterations for a data projection.
subroutine cmfe_dataprojection_resultelementnumbergetnumber(regionUserNumber, dataProjectionUserNumber, dataPointUserNumber, ProjectionElementNumber, err)
Returns the projection element number for a data point in a set of data points identified by user num...
integer(intg), parameter, public cmfe_boundary_condition_robin
Contains information on an embedded mesh.
subroutine cmfe_solver_newtontrustregiontolerancesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, tolerance, err)
Sets/changes the tolerance for a Newton trust region solver identified by an user number...
subroutine cmfe_basis_destroynumber(userNumber, err)
Destroys a basis identified by its basis user number.
subroutine cmfe_cellml_parametersfieldcreatestartobj(CellML, CellMLParametersFieldUserNumber, field, err)
Start the creation of CellML parameters field for a CellML environment identified by an object...
subroutine cmfe_field_componentinterpolationsetnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, interpolationType, err)
Sets/changes the interpolation type for a field variable component for a field identified by a user n...
subroutine cmfe_field_componentvaluesinitialisedpobj(field, variableType, fieldSetType, componentNumber, value, err)
Initialises the values of parameter set of a field variable component to a double precision constant ...
subroutine, public cmfe_decomposition_worldworkgroupset(decomposition, worldWorkGroup, err)
Set the working group tree in order to performe mesh decomposition.
integer(intg), parameter, public cmfe_equations_set_mooney_rivlin_subtype
Mooney-Rivlin constitutive law for finite elasticity equations set subtype.
integer(intg), parameter, public cmfe_solver_dynamic_newmark3_scheme
3rd Newmark dynamic solver.
subroutine cmfe_interfacecondition_createfinishobj(interfaceCondition, err)
Finishes the creation of an interface condition identified by an object.
integer(intg), parameter, public cmfe_problem_standard_laplace_subtype
Standard Laplace problem subtype.
Restore the data array for this matrix once it has finished being used.
subroutine cmfe_solver_librarytypegetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, libraryType, err)
Returns the type of library for a solver identified by an user number.
subroutine cmfe_solver_quasinewtonlinesearchmaxstepsetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, maxStep, err)
Sets/changes the line search maximum step for an Quasi-Newton linesearch solver identified by an user...
integer(intg), parameter, public cmfe_problem_div_free_vector_data_pre_fitting_subtype
Standard Galerkin projection problem subtype.
integer(intg), parameter, public cmfe_in_diag_type
Type for setting diagnostic output in one routine.
subroutine cmfe_problem_solverscreatestartnumber(problemUserNumber, err)
Starts the process of creating solvers for a problem identified by user number.
subroutine cmfe_extracterrormessagevs(errorMessage, err)
Extracts the most recent error string for OpenCMISS.
subroutine cmfe_dataprojection_labelsetvsinterfacenumber(dataProjectionUserNumber, parentRegionUserNumber, interfaceUserNumber, label, err)
Sets/changes the varying string label of a data projection identified by a region user number...
subroutine cmfe_field_parametersetupdatedatapointlobj(field, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Update the given parameter set a logical value for the specified constant of a field variable compone...
subroutine cmfe_boundaryconditions_addelementobj(boundaryConditions, field, variableType, elementUserNumber, componentNumber, condition, value, err)
Adds to the value of the specified element and sets this as a boundary condition on the specified ele...
subroutine cmfe_fieldml_outputwritec(fieldml, filename, err)
Write the FieldML document managed by the given context to a file with the given name.
Returns the nodes for a region.
Contains information on the nodes defined on a region.
subroutine cmfe_field_componentvaluesinitialiselnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Initialises the values of parameter set of a field variable component to a logical constant value for...
subroutine cmfe_field_parametersetdatarestorelobj(field, variableType, fieldSetType, parameters, err)
Restores the specified field variable parameter set local logical array that was obtained with an Ope...
subroutine cmfe_boundaryconditions_addnodenumber(regionUserNumber, problemUserNumber, controlLoopIdentifiers, solverIndex, fieldUserNumber, variableType, versionNumber, derivativeNumber, nodeUserNumber, componentNumber, condition, value, err)
Adds the value to the specified node and sets this as a boundary condition on the specified node for ...
subroutine cmfe_interface_meshaddnumber(interfaceRegionUserNumber, interfaceUserNumber, meshRegionUserNumber, meshUserNumber, meshIndex, err)
Adds a mesh to be coupled in an interface identified by a user number.
integer(intg), parameter, public cmfe_equations_set_guccione_activecontraction_subtype
Transverse isotropic Guccione constitutive law with active contraction subtype.
subroutine, public cmfe_problem_finalise(cmfe_Problem, err)
Finalises a cmfe_ProblemType object.
integer(intg), parameter, public cmfe_basis_gauss_legendre_quadrature
Gauss-Legendre quadrature.
integer(intg), parameter, public cmfe_errors_return_error_code
Just return the error code.
integer(intg), parameter, public cmfe_problem_no_source_ale_diffusion_subtype
No source Diffusion problem subtype.
subroutine cmfe_solver_newtonjacobiancalculationtypesetobj(solver, jacobianCalculationType, err)
Sets/changes the Jacobian calculation type for a Newton solver identified by an object.
subroutine cmfe_equations_outputtypesetnumber(regionUserNumber, equationsSetUserNumber, outputType, err)
Sets/changes the output type for equations identified by a user number.
integer(intg), parameter, public cmfe_equations_set_isotropic_exponential_subtype
Isotropic exponential constitutive law for finite elasticity equations set subtype.
Sets/changes the type of iterative linear solver.
integer(intg), parameter, public cmfe_solver_quasi_newton_restart_none
Never restart.
Creates a field component using the given FieldML evaluator.
integer(intg), parameter, public cmfe_solver_dynamic_third_degree_liniger1_scheme
1st 3rd degree Liniger dynamic solver.
subroutine cmfe_coordinatesystem_orientationgetobj(coordinateSystem, orientation, err)
Returns the orientation of a coordinate system identified by an object.
integer(intg), parameter, public cmfe_solver_quasi_newton_linesearch_cp
Critical point secant line search.
subroutine cmfe_cellml_intermediatefieldcreatestartobj(CellML, CellMLIntermediateFieldUserNumber, field, err)
Start the creation of CellML intermediate field for a CellML environment identified by an object...
subroutine cmfe_decomposition_calculatelinessetnumber(regionUserNumber, meshUserNumber, decompositionUserNumber, calculateLinesFlag, err)
Sets whether lines should be calculated.
integer(intg), parameter, public cmfe_equations_set_holzapfel_ogden_activecontraction_subtype
subroutine cmfe_field_parametersetdatarestoredpobj(field, variableType, fieldSetType, parameters, err)
Restores the specified field variable parameter set local double precision array that was obtained wi...
subroutine cmfe_coordinatesystem_originsetnumber(coordinateSystemUserNumber, origin, err)
Sets/changes the origin of a coordinate system identified by a user number.
subroutine cmfe_dataprojection_labelgetvsregionnumber(dataProjectionUserNumber, regionUserNumber, label, err)
Get the varying string label of a data projection identified by a region user number.
Sets/changes the convergence tolerance for a while control loop.
integer(intg), parameter, public cmfe_basis_b_spline_tp_type
B-spline basis type.
subroutine cmfe_fieldml_inputbasiscreatestartnumberc(fieldml, evaluatorName, userNumber, err)
Create a basis using the given FieldML evaluator.
integer(intg), parameter, public cmfe_problem_fe_contact_reproject_subtype
finear elasticity problem subject to contact constraint, reproject at Newton iterations ...
subroutine cmfe_solver_newtonrelativetolerancesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, relativeTolerance, err)
Sets/changes the relative tolerance for an Newton solver identified by an user number.
subroutine cmfe_mesh_surroundingelementscalculatesetnumber(regionUserNumber, meshUserNumber, surroundingElementsCalculateFlag, err)
Sets/changes the surrounding elements calculate flag.
subroutine cmfe_equationsset_analytictimegetnumber(regionUserNumber, equationsSetUserNumber, time, err)
Returns the analytic time for an equations set identified by a user number.
subroutine cmfe_controlloop_numberofiterationsgetnumber0(problemUserNumber, controlLoopIdentifier, numberOfIterations, err)
Gets the number of iterations for a time control loop identified by user number.
Adds CellML environments to CellML equations.
Sets/changes the label for a data point projection.
subroutine cmfe_solver_quasinewtontypesetobj(solver, quasiNewtonType, err)
Sets/changes the type of a Quasi-Newton solver identified by an object.
subroutine cmfe_solver_lineariterativeabsolutetolerancesetobj(solver, absoluteTolerance, err)
Sets/changes the maximum absolute tolerance for an iterative linear solver identified by an object...
subroutine cmfe_solver_lineariterativetypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, iterativeSolverType, err)
Sets/changes the type for an iterative linear solver identified by an user number.
subroutine cmfe_solver_quasinewtonsolvetypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, quasiNewtonSolveType, err)
Sets/changes the type of a Quasi-Newton solver identified by an user number.
integer(intg), parameter, public cmfe_equations_set_elasti_fluid_pres_holmes_mow_active_subtype
Holmes and Mow&#39;s poroelastic constitutive relation subtype with active contraction.
integer(intg), parameter, public cmfe_quadruple_complex_type
Quadruple precision complex data type.
integer(intg), parameter, public cmfe_solver_iterative_additive_schwarz_preconditioner
Additive Schwrz preconditioner type.
integer(intg), parameter, public cmfe_problem_no_source_diffusion_subtype
No source Diffusion problem subtype.
Sets/Changes the loop type for a control loop.
integer(intg), parameter, public cmfe_solver_spooles_library
SPOOLES solver library.
integer(intg), parameter, public cmfe_solver_nonlinear_type
A nonlinear solver.
Sets/changes the maximum number of iterations for a data projection.
subroutine cmfe_controlloop_timeoutputsetnumber0(problemUserNumber, controlLoopIdentifier, outputFrequency, err)
Sets/changes the output parameters for a time control loop identified by user numbers.
Returns the solver equations for a solver.
integer(intg), parameter, public cmfe_matrix_block_storage_type
Distributed matrix block storage type.
integer(intg), parameter, public cmfe_solver_quasi_newton_linesearch
Quasi-Newton line search nonlinear solver type.
Get the mesh nodes belonging to a mesh component.
subroutine cmfe_field_dofordertypesetnumber(regionUserNumber, fieldUserNumber, variableType, DOFOrderType, err)
Sets/changes the DOF order type for a field variable for a field identified by a user number...
integer(intg), parameter, public cmfe_equations_nonlinear
The equations are non-linear.
subroutine cmfe_fieldml_inputfieldparametersupdatenumberc(fieldml, regionNumber, fieldNumber, evaluatorName, variableType, setType, err)
Update the DOF parameters of field with the given user number, using the given FieldML evaluator...
Sets/changes the output type for a solver.
integer(intg), parameter, public cmfe_problem_constant_reac_diff_no_split_subtype
Sets/changes the mesh component number used for the decomposition of a mesh.
subroutine cmfe_boundaryconditions_destroynumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, err)
Destroys the boundary conditions for solver equations identified by a control loop identifier...
subroutine cmfe_basis_quadraturenumberofgaussxisetobj(basis, numberOfGaussXi, err)
Sets the number Gauss points in each Xi directions for a basis quadrature identified by an object...
subroutine, public cmfe_timingsetoff(err)
Sets timing off.
integer(intg), parameter, public cmfe_solver_dynamic_galerkin_scheme
Galerkin dynamic solver.
integer(intg), parameter, public cmfe_matrix_vector_sp_type
Single precision real distributed matrix-vector data type.
subroutine cmfe_interfacecondition_penaltyfieldcreatestartnumber(RegionUserNumber, InterfaceUserNumber, InterfaceConditionUserNumber, PenaltyFieldUserNumber, err)
Starts the creation of a penalty field for an interface condition identified by a user number...
subroutine cmfe_solver_cellmlequationsgetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, CellMLEquations, err)
Returns the CellML equations for a solver identified by an user number.
subroutine cmfe_fieldml_outputwritevs(fieldml, filename, err)
Write the FieldML document managed by the given context to a file with the given name.
integer(intg), parameter, public cmfe_all_diag_type
Type for setting diagnostic output in all routines.
integer(intg), parameter, public cmfe_data_projection_all_elements_projection_type
The element projection type for data projection, projects to all elements in mesh.
integer(intg), parameter, public cmfe_equations_set_compressible_finite_elasticity_subtype
Compressible version for finite elasticity equations set subtype.
subroutine cmfe_coordinatesystem_typesetnumber(coordinateSystemUserNumber, coordinateSystemType, err)
Sets/changes the type of a coordinate system identified by a user number.
subroutine cmfe_field_parametersetaddnodeintgobj(field, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Adds the given integer value to an node in the given parameter set for field variable component for a...
subroutine cmfe_controlloop_currenttimesgetnumber0(problemUserNumber, controlLoopIdentifier, currentTime, timeIncrement, err)
Gets the current time parameters for a time control loop identified by user numbers.
integer(intg), parameter, public cmfe_problem_data_fitting_type
Galerkin projection problem type.
integer(intg), parameter, public cmfe_equations_unlumped_matrices
The equations matrices are not lumped.
subroutine cmfe_controlloop_labelsetcobj(controlLoop, label, err)
Sets/changes the character string label for a control loop identified by an object.
subroutine cmfe_solver_quasinewtonconvergencetesttypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, convergenceTestType, err)
Sets/changes the convergence test type for a Quasi-Newton solver identified by an user number...
subroutine cmfe_dataprojection_resultprojectionvectorgetobj(dataProjection, dataPointUserNumber, projectionVector, err)
Returns the projection vector for a data point in a set of data points identified by an object...
integer(intg), parameter, public cmfe_equations_set_elasticity_fluid_pres_holmes_mow_subtype
Holmes and Mow&#39;s poroelastic constitutive relation subtype.
subroutine cmfe_meshembedding_createobj(meshEmbedding, parentMesh, childMesh, err)
Creates a mesh embedding.
Finish the creation of boundary conditions for solver equations.
integer(intg), parameter, public cmfe_problem_transient_navier_stokes_subtype
Transient Navier-Stokes problem subtype.
subroutine cmfe_mesh_createfinishnumber(regionUserNumber, meshUserNumber, err)
Finishes the creation of a mesh for a mesh identified by a user number.
subroutine cmfe_solver_daesolvertypegetobj(solver, DAESolverType, err)
Returns the solve type for an differential-algebraic equation solver identified by an object...
subroutine cmfe_field_parametersetdatagetintgobj(field, variableType, fieldSetType, parameters, err)
Returns a pointer to the specified field parameter set local integer data array for a field identifie...
subroutine cmfe_solver_solverequationsgetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, solverEquations, err)
Returns the solver equations for a solver identified by an user number.
subroutine cmfe_solver_quasinewtonlinesearchtypesetobj(solver, lineSearchType, err)
Sets/changes the type of line search for a Quasi-Newton line search solver identified by an object...
subroutine cmfe_usernumbergetbasis(basis, userNumber, err)
Get the user number of the given basis.
subroutine cmfe_datapoints_valuessetnumber(regionUserNumber, dataPointGlobalNumber, dataPointValues, err)
Sets/changes the values for a data point in a set of data points identified by user number...
subroutine cmfe_controlloop_controlloopgetobj1(controlLoopRoot, controlLoopIdentifiers, controlLoop, err)
Returns the specified control loop as indexed by the control loop identifiers from the control loop r...
integer(intg), parameter, public cmfe_problem_linear_source_poisson_subtype
Linear source Poisson problem subtype.
integer(intg), parameter, public cmfe_coordinate_radial_interpolation_type
r radial interpolation
subroutine cmfe_coordinatesystem_radialinterpolationsetobj(coordinateSystem, radialInterpolationType, err)
Sets/changes the radial interpolation type of a coordinate system identified by an object...
subroutine cmfe_field_parametersetupdatestartnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, err)
Starts the parameter set update for a field variable for a field identified by a user number...
subroutine cmfe_cellml_createfieldtocellmlmapnumbervs(regionUserNumber, CellMLUserNumber, fieldUserNumber, variableType, fieldParameterSet, componentNumber, CellMLModelUserNumber, variableID, CellMLParameterSet, err)
Defines a field variable component to CellML model variable map by user number.
subroutine cmfe_solver_geometrictransformationmatrixsetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, matrix, err)
Sets the full transformation matrix for a geometric transformation identified by an user number...
subroutine, public cmfe_distributedvector_initialise(cmfe_DistributedVector, err)
Initialises a cmfe_DistributedVectorType object.
integer(intg), parameter, public cmfe_problem_quasistatic_elast_trans_darcy_mat_solve_subtype
Quasistatic Elasticity Transient Darcy Material Solve problem subtype.
subroutine cmfe_solver_lineariterativedivergencetolerancesetobj(solver, divergenceTolerance, err)
Sets/changes the maximum divergence tolerance for an iterative linear solver identified by an object...
subroutine cmfe_controlloop_currenttimesgetobj(controlLoop, currentTime, timeIncrement, err)
Gets the current time parameters for a time control loop identified by an object. ...
subroutine cmfe_problem_controlloopgetnumber0(problemUserNumber, controlLoopIdentifier, controlLoop, err)
Returns a control loop from a problem identified by an user number.
subroutine cmfe_coordinatesystem_typegetnumber(coordinateSystemUserNumber, coordinateSystemType, err)
Returns the type of a coordinate system identified by a user number.
integer(intg), parameter, public cmfe_equations_set_two_dimensional_plane_strain_subtype
Plane strain linear elasticity equations set subtype.
Returns the element user number for an element in a mesh.
subroutine cmfe_field_geometricfieldgetobj(field, geometricField, err)
Returns the geometric field for a field identified by an object.
Destroys a CellML environment.
subroutine cmfe_region_datapointsgetobj(region, dataPoints, err)
Returns the data points for a region identified by an object.
Sets/changes the relative tolerance for a data projection.
subroutine cmfe_decomposition_meshcomponentsetobj(decomposition, meshComponentNumber, err)
Sets/changes the mesh component number used for the decomposition of a mesh for a decomposition ident...
integer(intg), parameter, public cmfe_solver_dynamic_second_degree_liniger1_scheme
1st 2nd degree Liniger dynamic solver.
Sets/changes a local element&#39;s node derivative version for an element in a mesh.
subroutine cmfe_field_numberofvariablessetobj(field, numberOfVariables, err)
Sets/changes the number of variables for a field identified by an object.
Returns the mesh component number used for the decomposition of a mesh.
subroutine cmfe_solver_geometrictransformationnoloadincrementssetnumber(problemUserNumber, controlLoopIdentifier, solverIndex, numberOfIncrements, err)
Sets the arbitrary path logical for a geometric transformation identified by an user number...
subroutine, public cmfe_generatedmesh_finalise(cmfe_GeneratedMesh, err)
Finalises a cmfe_GeneratedMeshType object.
integer(intg), parameter, public cmfe_problem_quasistatic_darcy_subtype
Quasistatic Darcy problem subtype.
integer(intg), parameter, public cmfe_boundary_condition_fixed_fitted
subroutine cmfe_meshelements_usernumbersallsetnumber(regionUserNumber, meshUserNumber, meshComponentNumber, elementUserNumbers, err)
Sets/changes the user numbers for all elements in a mesh identified by an user number.
subroutine cmfe_interface_createfinishnumber(regionUserNumber, interfaceUserNumber, err)
Finishes the creation of an interface identified by a user number.
Starts the evluation of data projection on the geometric field.
Gets the user data point number for data points projected on an element.
subroutine cmfe_fieldml_outputaddfieldcomponentsobjc(fieldml, typeHandle, baseName, dofFormat, field, fieldComponentNumbers, variableType, setType, err)
Add the given field to the current FieldML context, only including the given components.
subroutine cmfe_field_parametersetgetconstantdpobj(field, variableType, fieldSetType, componentNumber, value, err)
Returns from the given parameter set a double precision value for the specified constant of a field v...
Sets/changes the solver type for an differential-algebraic equation solver.
integer(intg), parameter, public cmfe_solver_solution_initialise_no_change
Do not change the solution before a solve.
integer(intg), parameter, public cmfe_equations_element_matrix_output
All below and element matrices output.
subroutine cmfe_solver_newtonlinesearchtypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, lineSearchType, err)
Sets/changes the type of line search for a Newton line search solver identified by an user number...
integer(intg), parameter, public cmfe_problem_transient1d_navier_stokes_subtype
TRANSIENT1D Navier-Stokes problem subtype.
subroutine cmfe_solver_daeeulersolvertypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, DAEEulerSolverType, err)
Sets/changes the solve type for an Euler differential-algebraic equation solver identified by an user...
integer(intg), parameter, public cmfe_problem_control_time_loop_type
Time control loop.
subroutine cmfe_problem_solverequationscreatestartobj(problem, err)
Starts the creation of solver equations for problem identified by an object.
subroutine cmfe_solverequations_interfaceconditionaddnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, interfaceRegionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, interfaceConditionIndex, err)
Adds an interface condition to solver equations identified by an user number.
subroutine cmfe_fieldml_inputcreatemeshcomponentnumberc(fieldml, regionNumber, meshNumber, componentNumber, evaluatorName, err)
Use the given FieldML evaluator as a template to create a component on the mesh identified by the giv...
subroutine cmfe_boundaryconditions_constrainnodedofsequalnumber(regionUserNumber, problemUserNumber, controlLoopIdentifier, solverIndex, fieldUserNumber, fieldVariableType, versionNumber, derivativeNumber, component, nodes, coefficient, err)
Constrain multiple nodal equations dependent field DOFs to be a single solver DOF in the solver equat...
subroutine cmfe_interfacemeshconnectivity_elementxisetobj(interfaceMeshConnectivity, interfaceElementNumber, coupledMeshIndexNumber, coupledMeshElementNumber, interfaceMeshLocalNodeNumber, interfaceMeshComponentNodeNumber, xi, err)
Sets the mapping from an xi position of a coupled mesh element to a node of an interface mesh element...
subroutine cmfe_interfacepointsconnectivity_updatefromprojectionobj(pointsConnectivity, dataProjection, coupledMeshIndex, err)
Update points connectivity with projection results, data projection identified by object...
integer(intg), parameter, public cmfe_problem_monodomain_elasticity_velocity_subtype
Transient monodomain simple elasticity problem subtype with force-velocity relation.
integer(intg), parameter, public cmfe_problem_standard_helmholtz_subtype
No source Helmholtz problem subtype.
integer(intg), parameter, public cmfe_problem_linear_source_ale_diffusion_subtype
Linear source Diffusion problem subtype.
subroutine cmfe_equationsset_deriveddestroynumber(regionUserNumber, equationsSetUserNumber, err)
Destroy the derived variables for an equations set identified by a user number.
subroutine cmfe_field_parametersetgetnodeintgobj(field, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Returns from the given parameter set an integer value for the specified node and derivative of a fiel...
subroutine cmfe_generatedmesh_basevectorssetnumber(regionUserNumber, generatedMeshUserNumber, baseVectors, err)
Sets/changes the base vectors for a generated mesh on a region identified by a user number...
subroutine cmfe_solverequations_boundaryconditionscreatestartobj(solverEquations, boundaryConditions, err)
Start the creation of the boundary conditions for the solver equations.
subroutine, public cmfe_equations_linearmatrixget(equations, matrixIndex, matrix, err)
Get a linear equations matrix from the equations.
subroutine, public cmfe_interfacecondition_finalise(cmfe_InterfaceCondition, err)
Finalises a cmfe_InterfaceConditionType object.
Enables/disables output monitoring for a nonlinear Newton line search solver.
Contains information on a CellML environment.
subroutine cmfe_field_parametersetdatarestorespnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, parameters, err)
Restores the specified field variable parameter set local single precision array that was obtained wi...
integer(intg), parameter, public cmfe_problem_monodomain_buenoorovio_subtype
Generalised Laplace problem subtype.
integer(intg), parameter, public cmfe_equations_set_elasticity_darcy_inria_model_subtype
INRIA Model for finite elasticity coupled with Darcy equations set subtype.
subroutine cmfe_problem_solverequationsgetobj0(problem, controlLoopIdentifier, solverIndex, solverEquations, err)
Returns the solver equations from a problem identified by an object.
integer(intg), parameter, public cmfe_problem_no_source_static_advec_diff_subtype
No source advection-Diffusion problem subtype.
subroutine cmfe_field_typegetnumber(regionUserNumber, fieldUserNumber, fieldType, err)
Returns the field type for a field identified by a user number.
subroutine cmfe_solver_newtonlinearsolvergetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, linearSolverIndex, err)
Returns the linear solver associated with a Newton solver identified by an user number.
subroutine cmfe_distributedvector_datagetspobj(vector, data, err)
Get the data array for this vector on this computational node.
subroutine cmfe_solver_quasinewtonscaletypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, quasiNewtonScaleType, err)
Sets/changes the scale type of a Quasi-Newton solver identified by an user number.
integer(intg), parameter, public cmfe_problem_control_simple_type
Simple, one iteration control loop.
Sets/changes the weights for a data point identified by a given global number.
subroutine cmfe_fieldml_outputaddfieldwithtypeobjvs(fieldml, baseName, dofFormat, field, variableType, setType, typeHandle, err)
Add the given field to the given FieldML context, using the given FieldML type.
subroutine cmfe_solver_geometrictransformationrotationsetnumber1(problemUserNumber, controlLoopIdentifier, solverIndex, pivotPoint, axis, angle, loadIncrementIdx, err)
Sets the rotation at a specific increment for a geometric transformation identified by an user number...
subroutine cmfe_fieldml_inputnodescreatestartobjvs(fieldml, nodesArgumentName, region, nodes, err)
Creates a region&#39;s nodes using the given FieldML evaluator.
Returns the number of versions for a derivative at a node in a mesh.
subroutine cmfe_problem_solvergetobj0(problem, controlLoopIdentifier, solverIndex, solver, err)
Returns a solver from a problem identified by an object.
integer(intg), parameter, public cmfe_basis_gauss_laguerre_quadrature
Gauss-Laguerre quadrature.
integer(intg), parameter, public cmfe_problem_monodomain_elasticity_w_titin_subtype
Transient monodomain simple elasticity problem subtype with titin.
subroutine cmfe_randomseedsget0(randomSeed, err)
Returns the random seeds for OpenCMISS.
subroutine cmfe_solverequations_boundaryconditionsanalyticnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, err)
Set boundary conditions for solver equations according to the analytic equations for solver equations...
subroutine cmfe_field_componentlabelgetvsobj(field, variableType, componentNumber, label, err)
Returns the varying string label for a field variable component for a field identified by an object...
integer(intg), parameter, public cmfe_problem_mat_properties_data_fitting_subtype
Material Properties Galerkin projection problem subtype.
subroutine cmfe_field_parametersetaddnodeintgnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Adds the given integer value to an node in the given parameter set for field variable component for a...
subroutine cmfe_interface_labelsetvsnumber(parentRegionUserNumber, interfaceUserNumber, label, err)
Sets/changes the varying string label for an interface identified by an user number.
subroutine cmfe_distributedmatrix_datarestoredpobj(matrix, data, err)
Restore the data array for this matrix once it has finished being used.
Returns the domain for a given element in a decomposition of a mesh.
Sets/changes the relative tolerance for an iterative linear solver.
Sets/changes the element user number for an element in a mesh.
subroutine cmfe_interface_labelgetcnumber(parentRegionUserNumber, interfaceUserNumber, label, err)
Returns the character string label for an interface identified by an user number. ...
subroutine cmfe_solver_quasinewtonrelativetolerancesetobj(solver, relativeTolerance, err)
Sets/changes the relative tolerance for a Quasi-Newton solver identified by an object.
integer(intg), parameter, public cmfe_basis_cubic_lagrange_interpolation
Cubic Lagrange interpolation specification.
subroutine cmfe_meshelements_basissetobj(meshElements, globalElementNumber, basis, err)
Sets/changes the basis for an element in a mesh identified by an object.
Returns the relative tolerance for a data projection.
integer(intg), parameter, public cmfe_solver_hypre_library
Hypre solver library.
Sets/change the convergence test for a nonlinear Newton solver.
subroutine, public cmfe_datapoints_finalise(cmfe_DataPoints, err)
Finalises a cmfe_DataPointsType object.
integer(intg), parameter, public cmfe_problem_linear_source_ale_advection_diffusion_subtype
Linear source advection-Diffusion problem subtype.
Sets/changes whether faces should be calculated for the decomposition.
Starts the creation of field maps for a CellML environment.
subroutine cmfe_dataprojection_labelsetvsregionnumber(dataProjectionUserNumber, regionUserNumber, label, err)
Sets/changes the varying string label of a data projection identified by a region user number...
Sets/changes the number of closest elements for a data projection.
subroutine cmfe_distributedmatrix_datarestorespobj(matrix, data, err)
Restore the data array for this matrix once it has finished being used.
subroutine cmfe_solver_quasinewtonconvergencetesttypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, convergenceTestType, err)
Sets/changes the convergence test type for an Quasi-Newton linesearch solver identified by an user nu...
subroutine cmfe_basis_typegetnumber(userNumber, basisType, err)
Returns the type of a basis identified by a user number.
integer(intg), parameter, public cmfe_equations_set_stvenant_kirchoff_activecontraction_subtype
St Venant Kirchoff constitutive law with steady-state active contraction for finite elasticity equati...
integer(intg), parameter, public cmfe_equations_set_fluid_mechanics_class
Fluid Mechanics equations set class.
subroutine cmfe_boundaryconditions_addconstantnumber(regionUserNumber, problemUserNumber, controlLoopIdentifiers, solverIndex, fieldUserNumber, variableType, componentNumber, condition, value, err)
Adds to the value of the specified constant and sets this as a boundary condition on the specified co...
subroutine cmfe_field_parametersetgetdatapointintgnumberr(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Returns from the given parameter set a integer value for the specified data point of a field variable...
Sets/changes the theta scheme values for a dynamic solver.
subroutine cmfe_solver_newtoncellmlsolvergetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, CellMLSolverIndex, err)
Returns the CellML solver associated with a Newton solver identified by an user number.
subroutine cmfe_solver_newtontrustregiondelta0setnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, delta0, err)
Sets/changes the delta0 for a Newton trust region solver identified by an user number.
subroutine cmfe_solver_lineariterativeabsolutetolerancesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, absoluteTolerance, err)
Sets/changes the maximum absolute tolerance for an iterative linear solver identified by an user numb...
subroutine cmfe_solver_newtonlinesearchtypesetobj(solver, lineSearchType, err)
Sets/changes the type of line search for a Newton line search solver identified by an object...
integer(intg), parameter, public cmfe_equations_set_stokes_equation_type
Stokes equation equations set type.
subroutine cmfe_solver_quasinewtonlinearsolvergetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, linearSolverIndex, err)
Returns the linear solver associated with a Quasi-Newton solver identified by an user number...
subroutine cmfe_solver_quasinewtonlinearsolvergetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, linearSolverIndex, err)
Returns the linear solver associated with a Quasi-Newton solver identified by an user number...
integer(intg), parameter, public cmfe_solver_dynamic_user_defined_scheme
User specified degree and theta dynamic solver.
subroutine cmfe_nodes_usernumbergetnumber(regionUserNumber, nodeGlobalNumber, nodeUserNumber, err)
Returns the user number for a node in a set of nodes identified by user number.
subroutine cmfe_basis_quadraturemultiplegaussxigetobj(basis, quadratureScheme, GaussPoints, GaussXi, err)
Returns the xi positions of Gauss points on a basis quadrature identified by an object.
subroutine cmfe_equationsset_dependentcreatestartnumber(regionUserNumber, equationsSetUserNumber, dependentFieldUserNumber, err)
Start the creation of dependent variables for an equations set identified by a user number...
subroutine, public cmfe_equations_dynamicmatrixget(equations, matrixIndex, matrix, err)
Get a dynamic equations matrix from equations using the dynamic matrix index.
integer(intg), parameter, public cmfe_solver_direct_svd
SVD direct linear solver.
Sets/changes the domain for a given element in a decomposition of a mesh.
subroutine cmfe_equationsset_derivedvariablecalculateobj(equationsSet, derivedType, err)
Calculates a derived field value for the equations set and stores the result in the derived field pre...
subroutine cmfe_datapoints_createfinishobj(dataPoints, err)
Finishes the creation of a data points in a region for data points identified by an object...
subroutine cmfe_dataprojection_projectioncandidatessetinterfacenumber(dataProjectionUserNumber, parentRegionUserNumber, interfaceUserNumber, candidateElements, localFaceLineNumbers, err)
Evaluate the data points position in a field based on data projection in an interface, identified by user number.
integer(intg), parameter, public cmfe_solver_nonlinear_quasi_newton
Quasi-Newton nonlinear solver type.
subroutine cmfe_dataprojection_startingxisetobj(dataProjection, startingXi, err)
Sets/changes the starting xi of data projection identified an object.
integer(intg), parameter, public cmfe_problem_poisson_equation_type
Poisson problem type.
subroutine cmfe_equationsset_equationsdestroyobj(equationsSet, err)
Destroy the equations for an equations set identified by an object.
subroutine cmfe_field_dependenttypegetnumber(regionUserNumber, fieldUserNumber, dependentType, err)
Returns the dependent type for a field identified by a user number.
subroutine cmfe_basis_numberofxisetnumber(userNumber, numberOfXi, err)
Sets/changes the number of Xi directions in a basis identified by a user number.
integer(intg), parameter, public cmfe_equations_set_incompressible_elasticity_driven_mr_subtype
Incompressible finite elasticity with Darcy flow driven by solid hydrostatic pressure, formulated in terms of modified invariants.
subroutine cmfe_datapoints_createfinishnumber(regionUserNumber, err)
Finishes the process of creating data points in a region for data points identified by user number...
subroutine cmfe_solver_newtonsolutiontolerancesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, solutionTolerance, err)
Sets/changes the solution tolerance for an Newton solver identified by an user number.
subroutine cmfe_datapoints_createstartnumber(regionUserNumber, numberOfDataPoints, err)
Starts the process of creating data points in a region for data points identified by user number...
subroutine cmfe_equations_lumpingtypesetobj(equations, lumpingType, err)
Sets/changes the lumping type for equations identified by an object.
integer(intg), parameter, public cmfe_problem_fluid_mechanics_class
Fluid mechanics problem class.
subroutine cmfe_dataprojection_absolutetolerancegetnumber(dataProjectionUserNumber, regionUserNumber, absoluteTolerance, err)
Returns the absolute tolerance of data projection identified by a region user number.
subroutine cmfe_field_parametersetaddconstantdpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Adds the given double precision value to the given parameter set for the constant of the field variab...
subroutine cmfe_solver_dynamicthetasetobj0(solver, theta, err)
Sets/changes the theta for a dynamic solver identified by an object.
subroutine cmfe_equationsset_analytictimegetobj(equationsSet, time, err)
Returns the analytic time for an equations set identified by an object.
integer(intg), parameter, public cmfe_solver_dynamic_third_degree
Dynamic solver uses a third degree polynomial for time interpolation.
subroutine cmfe_controlloop_iterationssetobj(controlLoop, startIteration, stopIteration, iterationIncrement, err)
Sets/changes the iteration parameters for a fixed control loop identified by an object.
subroutine cmfe_field_parametersetupdatestartobj(field, variableType, fieldSetType, err)
Starts the parameter set update for a field variable for a field identified by an object...
subroutine cmfe_field_componentmeshcomponentsetnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, meshComponent, err)
Sets/changes the mesh component number for a field variable component for a field identified by a use...
Sets/changes the type of nonlinear solver.
Returns the domain for a given element in a decomposition of a mesh.
integer(intg), parameter, public cmfe_equations_set_advection_diffusion_equation_type
Advection-Diffusion equation equations set type.
integer(intg), parameter, public cmfe_problem_optimised_stokes_subtype
Optimised Stokes problem subtype.
subroutine cmfe_solver_newtontrustregiontolerancesetobj(solver, tolerance, err)
Sets/changes the tolerance for a Newton trust region solver identified by an object.
subroutine cmfe_meshelements_createfinishnumber(regionUserNumber, meshUserNumber, meshComponentNumber, err)
Finishes creating elements for a mesh component of a mesh identified by a user number.
subroutine cmfe_distributedvector_datarestoredpobj(vector, data, err)
Restore the data array for this vector once it has finished being used.
subroutine, public cmfe_basis_initialise(cmfe_Basis, err)
Initialises a cmfe_BasisType object.
subroutine cmfe_distributedmatrix_storagetypegetobj(matrix, storageType, err)
Get the storage type for a distributed matrix.
subroutine cmfe_solver_librarytypegetobj(solver, libraryType, err)
Returns the library type for a solver identified by an object.
subroutine cmfe_region_labelgetvsobj(region, label, err)
Returns the varying string label for a region identified by an object.
subroutine cmfe_cellml_createfieldtocellmlmapobjc(CellML, field, variableType, componentNumber, fieldParameterSet, CellMLModelUserNumber, variableID, CellMLParameterSet, err)
Defines a field variable component to CellML model variable map by object.
subroutine cmfe_generatedmesh_origingetnumber(regionUserNumber, generatedMeshUserNumber, origin, err)
Returns the origin of a generated mesh on a region identified by a user number.
Sets the value of the specified node as a boundary condition on the specified node.
subroutine cmfe_field_parametersetgetdatapointspobj(field, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Returns from the given parameter set a single precision value for the specified constant of a field v...
subroutine cmfe_meshelements_localelementnodeversionsetobj(meshElements, globalElementNumber, versionNumber, derivativeNumber, localElementNodeNumber, err)
Sets/changes the element nodes for an element in a mesh identified by an object.
integer(intg), parameter, public cmfe_solver_nonlinear_sqp
Sequential Quadratic Program nonlinear solver type.
Returns the number of elements in a mesh.
integer(intg), parameter, public cmfe_coordinate_radial_cubed_interpolation_type
r^3 radial interpolation
subroutine cmfe_problem_destroynumber(problemUserNumber, err)
Destroys a problem identified by an user number.
subroutine cmfe_field_parametersetinterpolatemultiplegaussdpobj(field, variableType, fieldSetType, derivativeNumber, userElementNumber, quadratureScheme, GaussPoints, values, err)
Interpolates the given parameter set at a specified set of Gauss points for the specified element and...
subroutine cmfe_fieldml_inputfieldcreatestartobjc(fieldml, region, decomposition, fieldNumber, field, variableType, evaluatorName, err)
Create a field using the given FieldML evaluator.
subroutine cmfe_field_parametersetupdatenodelobj(field, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Updates the given parameter set with the given logical value for the node and derivative of the field...
integer(intg), parameter, public cmfe_problem_navier_stokes_equation_type
Navier-Stokes problem type.
subroutine cmfe_equationsset_destroynumber(regionUserNumber, equationsSetUserNumber, err)
Destroy an equations set identified by a user number.
integer(intg), parameter, public cmfe_coordinate_no_radial_interpolation_type
No radial interpolation.
subroutine cmfe_solver_lineariterativegmresrestartsetobj(solver, GMRESRestart, err)
Sets/changes the GMRES restart value for a GMRES iterative linear solver identified by an object...
subroutine cmfe_analyticanalysis_relativeerrorgetconstantobj(field, variableType, componentNumber, VALUE, err)
Get relative error value for the constant in a field identified by an object compared to the analytic...
Returns the current time parameters for a time control loop.
subroutine cmfe_solver_geometrictransformationmatrixsetobj0(solver, matrix, err)
Sets the full transformation matrix for a geometric transformation solver identified by an object...
integer(intg), parameter, public cmfe_problem_nonlinear_source_advection_diffusion_subtype
Nonlinear source advection-Diffusion problem subtype.
integer(intg), parameter, public cmfe_solver_quasi_newton_scale_linesearch
Scale based upon line search lambda.
subroutine cmfe_field_parametersetaddconstantdpobj(field, variableType, fieldSetType, componentNumber, value, err)
Adds the given double precision value to the given parameter set for the constant of the field variab...
subroutine cmfe_fieldml_inputcreatemeshcomponentnumbervs(fieldml, regionNumber, meshNumber, componentNumber, evaluatorName, err)
Use the given FieldML evaluator as a template to create a component on the mesh identified by the giv...
integer(intg), parameter, public cmfe_equations_set_poisson_equation_type
Poisson equation equations set type.
subroutine cmfe_field_meshdecompositiongetnumber(regionUserNumber, fieldUserNumber, decompositionUserNumber, err)
Returns the mesh decomposition for a field identified by a user number.
subroutine cmfe_fieldml_outputcreatenumbervs(regionNumber, meshNumber, location, baseName, connectivityFormat, fieldml, err)
Initialise the given FieldML context using the mesh with the given user number.
subroutine cmfe_solver_newtonabsolutetolerancesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, absoluteTolerance, err)
Sets/changes the absolute tolerance for an Newton solver identified by an user number.
subroutine cmfe_analyticanalysis_relativeerrorgetelementobj(field, variableType, elementNumber, componentNumber, VALUE, err)
Get relative error value for the element in a field identified by an object compared to the analytic ...
Sets/changes the trust region tolerance for a nonlinear Quasi-Newton trust region solver...
subroutine cmfe_solverequations_boundaryconditionsanalyticnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, err)
Set boundary conditions for solver equations according to the analytic equations for solver equations...
subroutine cmfe_datapoints_usernumbersetobj(dataPoints, dataPointGlobalNumber, dataPointUserNumber, err)
Sets/changes the user number for a data point in a set of data points identified by an object...
Returns the solver for a problem control loop.
subroutine cmfe_generatedmesh_createstartinterfaceobj(generatedMeshUserNumber, interface, generatedMesh, err)
Starts the creation of a generated mesh on an interface identified by an object.
Imports the specified CellML model into a CellML models environment.
Sets/changes the nonlinear Quasi-Newton restart.
subroutine cmfe_basis_numberoflocalnodesgetnumber(userNumber, numberOfLocalNodes, err)
Returns the number of local nodes in a basis identified by a user number.
Gets the linearity type for equations.
subroutine cmfe_controlloop_labelgetcnumber1(problemUserNumber, controlLoopIdentifiers, label, err)
Returns the character string label for a control loop identified by an user number.
integer(intg), parameter, public cmfe_matrix_compressed_row_storage_type
Distributed matrix compressed row storage type.
integer(intg), parameter, public cmfe_problem_extracellular_bidomain_poisson_subtype
Linear source Poisson problem subtype.
subroutine cmfe_solver_quasinewtonsolutiontolerancesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, solutionTolerance, err)
Sets/changes the solution tolerance for an Quasi-Newton solver identified by an user number...
integer(intg), parameter, public cmfe_solver_dae_runge_kutta
Runge-Kutta differential-algebraic equation solver.
subroutine cmfe_distributedmatrix_dimensionsgetobj(matrix, m, n, err)
Get the dimensions of a distributed matrix on this computational node.
subroutine cmfe_controlloop_iterationssetnumber1(problemUserNumber, controlLoopIdentifiers, startIteration, stopIteration, iterationIncrement, err)
Sets/changes the iteration parameters for a fixed control loop identified by user numbers...
integer(intg), parameter, public cmfe_solver_dynamic_backward_euler_scheme
Backward Euler (implicit) dynamic solver.
Returns the solver equations for a problem.
subroutine cmfe_usernumbergetregion(region, userNumber, err)
Get the user number of the given region.
integer(intg), parameter, public cmfe_basis_guass_hermite_quadrature
Gauss-Hermite quadrature.
subroutine cmfe_dataprojection_projectioncandidatessetobj(dataProjection, candidateElements, localFaceLineNumbers, err)
Evaluate the data points position in a field based on data projection, identified by object...
integer(intg), parameter, public cmfe_problem_static_burgers_subtype
static Burgers problem subtype
subroutine cmfe_solver_outputtypesetobj(solver, outputType, err)
Sets/changes the output type for a solver identified by an object.
Sets/changes the sparsity type for equations.
subroutine cmfe_solver_newtoncellmlsolvergetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, CellMLSolverIndex, err)
Returns the CellML solver associated with a Newton solver identified by an user number.
subroutine cmfe_solver_quasinewtonscaletypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, quasiNewtonScaleType, err)
Sets/changes the scale type of a Quasi-Newton solver identified by an user number.
subroutine cmfe_equationsset_specificationsizegetnumber(regionUserNumber, equationsSetUserNumber, specificationSize, err)
Returns the size of the equations set specification array for an equations set identified by a user n...
Sets/changes the type of preconditioner for an iterative linear solver.
subroutine cmfe_field_parametersetupdategausspointintgobj(field, variableType, fieldSetType, gaussPointNumber, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given integer value for the element Gauss point of the field...
integer(intg), parameter, public cmfe_solver_dae_index_3
Index 3 differential-algebraic equation.
integer(intg), parameter, public cmfe_solver_dynamic_first_degree
Dynamic solver uses a first degree polynomial for time interpolation.
subroutine cmfe_region_coordinatesystemsetnumber(regionUserNumber, coordinateSystemUserNumber, err)
Sets/changes the coordinate system for a region identified by an user number.
subroutine cmfe_equationsset_analyticuserparamsetobj(equationsSet, paramIdx, param, err)
Sets the analytic problem user parameter.
subroutine cmfe_equationsset_solutionmethodgetobj(equationsSet, solutionMethod, err)
Returns the solution method for an equations set identified by an object.
subroutine cmfe_fields_elementsexportvscobj(fields, fileName, method, err)
Export element information for fields set identified by an object.
subroutine cmfe_solver_lineariterativegmresrestartsetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, GMRESRestart, err)
Sets/changes the GMRES restart value for a GMRES iterative linear solver identified by an user number...
subroutine cmfe_meshelements_basisgetobj(meshElements, globalElementNumber, basis, err)
Returns the basis for an element in a mesh identified by an object.
subroutine cmfe_solver_dynamicdegreegetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, degree, err)
Returns the degree of the polynomial used to interpolate time for a dynamic solver identified by an u...
subroutine cmfe_cellml_fieldmapscreatefinishnumber(regionUserNumber, CellMLUserNumber, err)
Finishes the creation of field maps for a CellML environment identified by a user number...
Finishes the creation of field maps for a CellML environment.
subroutine cmfe_generatedmesh_basevectorssetobj(generatedMesh, baseVectors, err)
Sets/changes the base vectors for a generated mesh identified by an object.
subroutine cmfe_dataprojection_numberofclosestelementsgetnumber(dataProjectionUserNumber, regionUserNumber, numberOfClosestElements, err)
Returns the number of closest elements of data projection identified by a region user number...
subroutine cmfe_interfacemeshconnectivity_elementxisetnumber(regionUserNumber, interfaceUserNumber, interfaceElementNumber, coupledMeshIndexNumber, coupledMeshElementNumber, interfaceMeshLocalNodeNumber, interfaceMeshComponentNodeNumber, xi, err)
Sets the mapping from an xi position of a coupled mesh element to a node of an interface mesh element...
subroutine, public cmfe_controlloop_finalise(cmfe_ControlLoop, err)
Finalises a cmfe_ControlLoopType object.
subroutine cmfe_region_coordinatesystemgetobj(region, coordinateSystem, err)
Returns the coordinate system for a region identified by an object.
subroutine cmfe_basis_numberofxigetnumber(userNumber, numberOfXi, err)
Returns the number of Xi directions in a basis identified by a user number.
subroutine cmfe_dataprojection_createstartobj(dataProjectionUserNumber, dataPoints, mesh, dataProjection, err)
Starts the creation of a new data projection for a data projection identified by an object...
subroutine cmfe_field_numberofvariablesgetnumber(regionUserNumber, fieldUserNumber, numberOfVariables, err)
Returns the number of variables for a field identified by a user number.
subroutine cmfe_solver_quasinewtonabsolutetolerancesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, absoluteTolerance, err)
Sets/changes the absolute tolerance for an Quasi-Newton solver identified by an user number...
Start the process of creating a problem.
subroutine cmfe_equationsset_analyticcreatefinishobj(equationsSet, err)
Finish the creation of a analytic solution for an equations set identified by an object.
subroutine cmfe_decomposition_createfinishnumber(regionUserNumber, meshUserNumber, decompositionUserNumber, err)
Finishes the creation of a domain decomposition for a decomposition identified by a user number...
Sets/changes the number of elements in a mesh.
subroutine cmfe_field_scalingtypegetobj(field, scalingType, err)
Returns the scaling type for a field identified by an object.
subroutine cmfe_distributedvector_datarestorelobj(vector, data, err)
Restore the data array for this vector once it has finished being used.
subroutine cmfe_interfacemeshconnectivity_createfinishnumber(regionUserNumber, interfaceUserNumber, err)
Finishes the creation of an interface coupled mesh connectivity identified by a user number...
subroutine cmfe_interfacecondition_operatorsetnumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, interfaceConditionOperator, err)
Sets/changes the operator for an interface condition identified by a user number. ...
Evaluate the data points position in a field based on data projection.
integer(intg), parameter, public cmfe_solver_newton_linesearch_linear
Linear line search for Newton line search nonlinear solves.
Sets/changes the trust region tolerance for a nonlinear Newton trust region solver.
subroutine cmfe_dataprojection_destroyobj(dataProjection, err)
Destroys a data projection identified by an object.
integer(intg), parameter, public cmfe_solver_dynamic_second_degree_liniger2_scheme
2nd 2nd degree Liniger dynamic solver.
integer(intg), parameter, public cmfe_problem_le_contact_reproject_subtype
linear elasticity problem subject to contact constraint, reproject at Newton iterations ...
integer(intg), parameter, public cmfe_equations_set_three_dimensional_subtype
Three dimensional linear elasticity equations set subtype.
integer(intg), parameter, public cmfe_errors_trap_error
Trap the error by outputing the error traceback and stopping the program.
subroutine cmfe_generatedmesh_typesetnumber(regionUserNumber, generatedMeshUserNumber, generatedMeshType, err)
Sets/changes the type of a generated mesh on a region identified by a user number.
subroutine cmfe_meshembedding_pullgausspointdataobj(meshEmbedding, parentField, parentComponent, childField, childComponent, err)
subroutine cmfe_generatedmesh_createfinishobj(generatedMesh, meshUserNumber, mesh, err)
Finishes the creation of a generated mesh identified by an object.
subroutine cmfe_distributedmatrix_datagetlobj(matrix, data, err)
Get the data array for this matrix on this computational node.
subroutine cmfe_datapoints_usernumbersetnumber(regionUserNumber, dataPointGlobalNumber, dataPointUserNumber, err)
Sets/changes the user number for a data point in a set of data points identified by user number...
subroutine cmfe_field_parametersetdatagetdpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, parameters, err)
Returns a pointer to the specified field parameter set local double precision data array for a field ...
subroutine cmfe_solver_labelgetcobj(solver, label, err)
Returns the character string label for a solver identified by an object.
subroutine cmfe_solver_dynamiclinearitytypegetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, linearityType, err)
Returns the linearity type for a dynamic solver identified by an user number.
integer(intg), parameter, public cmfe_equations_set_laplace_equation_type
Laplace equation equations set type.
subroutine cmfe_field_parametersetinterpolatesinglegaussdpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, derivativeNumber, userElementNumber, quadratureScheme, GaussPoint, values, err)
Interpolates the given parameter set at a specified Gauss point for the specified element and derviat...
subroutine cmfe_interfacecondition_penaltyfieldcreatestartobj(InterfaceCondition, PenaltyFieldUserNumber, PenaltyField, err)
Starts the creation of a penalty field for an interface condition identified by an object...
Starts the creation of CellML models field.
integer(intg), parameter, public cmfe_solver_dae_index_2
Index 2 differential-algebraic equation.
subroutine cmfe_basis_quadraturesinglegaussxigetobj(basis, quadratureScheme, GaussPoint, GaussXi, err)
Returns the xi position of a Gauss point on a basis quadrature identified by an object.
integer(intg), parameter, public cmfe_basis_not_collapsed
The Xi direction is not collapsed.
subroutine cmfe_interfacemeshconnectivity_destroyobj(interfaceMeshConnectivity, err)
Destroys an interface meshes connectivity identified by an object.
subroutine cmfe_field_geometricparameterselementvolumegetobj(geometricField, elementNumber, elementVolume, err)
Gets the volume for a given element number by an object.
subroutine cmfe_dataprojection_resultelementnumbergetobj(dataProjection, dataPointUserNumber, ProjectionElementNumber, err)
Returns the projection element number for a data point in a set of data points identified by an objec...
subroutine cmfe_generatedmesh_numberofelementsgetobj(generatedMesh, numberOfElements, err)
Returns the number of elements for a generated mesh identified by an object.
Sets the projection xi for a data point identified by a given user number.
Returns the number of closest elements for a data projection.
integer(intg), parameter, public cmfe_problem_data_pt_vector_quasistatic_fitting_subtype
Standard quasistatic Galerkin projection problem using data points subtype.
subroutine cmfe_analyticanalysis_integralrelativeerrorgetnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, integralValue, ghostIntegralValue, err)
Get integral value for the relative error.
Returns the linear solver associated with a nonlinear Newton solver.
integer(intg), parameter, public cmfe_solver_lapack_library
LAPACK solver library.
subroutine cmfe_cellml_createcellmltofieldmapnumberc(regionUserNumber, CellMLUserNumber, CellMLModelUserNumber, variableID, CellMLParameterSet, fieldUserNumber, variableType, componentNumber, fieldParameterSet, err)
Defines a CellML model variable to field variable component map by user number.
subroutine cmfe_dataprojection_resultelementfacenumbergetobj(dataProjection, dataPointUserNumber, ProjectionElementFaceNumber, err)
Returns the projection element face number for a data point in a set of data points identified by an ...
subroutine cmfe_equationsset_analytictimesetnumber(regionUserNumber, equationsSetUserNumber, time, err)
Sets/changes the analytic time for an equations set identified by a user number.
subroutine cmfe_nodes_labelgetvsobj(nodes, nodeGlobalNumber, label, err)
Returns the varying string label for a node in a set of nodes identified by an object.
subroutine cmfe_datapoints_valuesgetobj(dataPoints, dataPointGlobalNumber, dataPointValues, err)
Returns the values for a data point in a set of data points identified by an object.
subroutine cmfe_cellml_intermediatefieldgetobj(CellML, field, err)
Returns the CellML intermediate field for a CellML environment identified by an object.
Sets/changes the number of domains used for the decomposition of a mesh.
integer(intg), parameter, public cmfe_problem_control_load_increment_loop_type
Load increment control loop.
integer(intg), parameter, public cmfe_problem_pgm_stokes_subtype
PGM Stokes problem subtype.
subroutine cmfe_interfacecondition_lagrangefieldcreatestartobj(interfaceCondition, lagrangeFieldUserNumber, lagrangeField, err)
Starts the creation of a Lagrange multiplier field for an interface condition identified by an object...
subroutine cmfe_boundaryconditions_setelementobj(boundaryConditions, field, variableType, elementUserNumber, componentNumber, condition, value, err)
Sets the value of the specified element and sets this as a boundary condition on the specified elemen...
subroutine cmfe_equationsset_independentdestroyobj(equationsSet, err)
Destroy the independent variables for an equations set identified by an object.
subroutine cmfe_fieldml_inputbasiscreatestartnumbervs(fieldml, evaluatorName, userNumber, err)
Create a basis using the given FieldML evaluator.
subroutine cmfe_equationsset_dependentcreatestartobj(equationsSet, dependentFieldUserNumber, dependentField, err)
Start the creation of dependent variables for an equations set identified by an object.
subroutine cmfe_solver_dynamicdegreegetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, degree, err)
Returns the degree of the polynomial used to interpolate time for a dynamic solver identified by an u...
integer(intg), parameter, public cmfe_problem_multiscale_navier_stokes_subtype
Transient stabilised Navier-Stokes problem with multiscale boundary coupling subtype.
Creates a mesh component using the given FieldML evaluator.
subroutine cmfe_solver_quasinewtonlinesearchtypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, lineSearchType, err)
Sets/changes the line search type for an Quasi-Newton linesearch solver identified by an user number...
integer(intg), parameter, public cmfe_solver_newton_convergence_differentiated_ratio
Newton solver Sum of differentiated ratios of unconstrained to constrained residuals convergence test...
subroutine cmfe_region_destroynumber(regionUserNumber, err)
Destroys a region identified by an user number.
subroutine cmfe_field_parametersetnodescalefactorgetnumber(regionUserNumber, fieldUserNumber, variableType, versionNumber, derivativeNumber, nodeUserNumber, componentNumber, scaleFactor, err)
Gets the scale factor for a particular node identified by a user number.
subroutine cmfe_field_labelsetvsnumber(regionUserNumber, fieldUserNumber, label, err)
Sets/changes the varying string label for a field identified by a user number.
Finishes the creation of a region.
subroutine cmfe_solver_cellmlequationsgetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, CellMLEquations, err)
Returns the CellML equations for a solver identified by an user number.
subroutine cmfe_field_parametersetinterpolatemultiplexidpobj(field, variableType, fieldSetType, derivativeNumber, userElementNumber, xi, values, err)
Interpolates the given parameter set at a specified set of xi locations for the specified element and...
subroutine cmfe_solver_geometrictransformationtranslationsetobj0(solver, translation, err)
Sets the translation vector for a geometric transformation solver identified by an object...
integer(intg), parameter, public cmfe_problem_pgm_elasticity_darcy_subtype
PGM Elasticity Darcy problem subtype.
subroutine cmfe_distributedvector_datagetdpobj(vector, data, err)
Get the data array for this vector on this computational node.
subroutine cmfe_field_parametersetupdateconstantintgnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Updates the given parameter set with the given integer value for the constant of the field variable c...
subroutine cmfe_analyticanalysis_integralnumericalvaluegetobj(field, variableType, componentNumber, integralValue, ghostIntegralValue, err)
Get integral value for the numerical values.
integer(intg), parameter, public cmfe_problem_fe_contact_transform_subtype
finear elasticity problem subject to contact constraint, transform field at load increments ...
subroutine cmfe_problem_cellmlequationscreatefinishobj(problem, err)
Finishes the creation of CellML equations for problem identified by an object.
Sets/changes the absolute tolerance for a nonlinear Newton solver.
subroutine, public cmfe_boundaryconditions_finalise(cmfe_BoundaryConditions, err)
Finalises a cmfe_BoundaryConditionsType object.
subroutine cmfe_generatedmesh_extentgetnumber(regionUserNumber, generatedMeshUserNumber, extent, err)
Returns the extent for a generated mesh on a region identified by a user number.
subroutine cmfe_problem_createfinishnumber(problemUserNumber, err)
Finishes the process of a problem identified by user number.
subroutine cmfe_solver_lineariterativerelativetolerancesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, relativeTolerance, err)
Sets/changes the maximum relative tolerance for an iterative linear solver identified by an user numb...
subroutine cmfe_controlloop_numberofsubloopssetobj(controlLoop, numberOfSubLoops, err)
Sets/changes the number of sub-control loops for a control loop identified by an object.
subroutine cmfe_interfacecondition_methodsetnumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, interfaceConditionMethod, err)
Sets/changes the method for an interface condition identified by a user number.
integer(intg), parameter, public cmfe_equations_quasistatic
The equations are quasi-static.
integer(intg), parameter, public cmfe_problem_bidomain_strang_split_subtype
Bidomain Gudunov split problem subtype.
subroutine cmfe_field_variablelabelsetcnumber(regionUserNumber, fieldUserNumber, variableType, label, err)
Sets/changes the character string label for a field variable for a field identified by a user number...
subroutine cmfe_solver_daesolvertypesetobj(solver, DAESolverType, err)
Sets/changes the solve type for an differential-algebraic equation solver identified by an object...
subroutine cmfe_solver_quasinewtonsolvetypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, quasiNewtonSolveType, err)
Sets/changes the type of a Quasi-Newton solver identified by an user number.
subroutine cmfe_field_parametersetaddelementdpobj(field, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Adds the given double precision value to an element in the given parameter set for field variable com...
integer(intg), parameter, public cmfe_problem_helmholtz_equation_type
Helmholtz problem type.
integer(intg), parameter, public cmfe_problem_gudunov_monodomain_simple_elasticity_subtype
Transient monodomain simple elasticity problem subtype.
Sets/changes the number of mesh components in a mesh.
subroutine, public cmfe_fieldmlio_getsession(fieldml, sessionHandle, err)
Get the session handle from a Fieldml context.
subroutine cmfe_field_parametersetgetconstantdpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Returns from the given parameter set a double precision value for the specified constant of a field v...
subroutine cmfe_problem_createfinishobj(problem, err)
Finishes the creation of a problem identified by an object.
subroutine cmfe_controlloop_destroynumber1(problemUserNumber, controlLoopIdentifiers, err)
Destroys a control loop identified by user numbers.
subroutine cmfe_solver_quasinewtonmaximumiterationssetobj(solver, maximumIterations, err)
Sets/changes the maximum number of iterations for a Quasi-Newton solver identified by an object...
integer(intg), parameter, public cmfe_all_timing_type
Type for setting timing output in all routines.
subroutine, public cmfe_interface_finalise(cmfe_Interface, err)
Finalises a cmfe_InterfaceType object.
subroutine cmfe_mesh_createfinishobj(mesh, err)
Finishes the creation of a mesh for a mesh identified by an object.
A matrix that may be distributed across multiple computational nodes and may use sparse or full stora...
Sets/changes the trust region delta0 tolerance for a nonlinear Quasi-Newton trust region solver...
Contains information about a basis function.
integer(intg), parameter, public cmfe_equations_set_elasticity_multi_comp_darcy_inria_subtype
Multi Compartment Darcy INRIA Model coupled with finite elasticity equations set subtype.
subroutine cmfe_interfacecondition_penaltyfieldcreatefinishnumber(RegionUserNumber, InterfaceUserNumber, InterfaceConditionUserNumber, err)
Finishes the creation of a penalty Field for an interface condition identified by an user number...
subroutine cmfe_generatedmesh_destroyobj(generatedMesh, err)
Destroys a generated mesh identified by an object.
subroutine cmfe_problem_solverequationscreatefinishobj(problem, err)
Finishes the creation of solver equations for problem identified by an object.
subroutine cmfe_generatedmesh_origingetobj(generatedMesh, origin, err)
Returns the origin of a generated mesh identified by an object.
Sets/changes the label for a node identified by a given global number.
subroutine cmfe_basis_quadraturetypegetobj(basis, quadratureType, err)
Returns the the type of quadrature for a basis quadrature identified by an object.
subroutine cmfe_problem_solverequationscreatefinishnumber(problemUserNumber, err)
Finishes the process of creating solver equations for a problem identified by user number...
Starts the creation of a mesh.
integer(intg), parameter, public cmfe_solver_quasi_newton_scale_jacobian
Scale by inverting a previously computed Jacobian.
Returns the CellML parameters field for a CellML environment.
integer(intg), parameter, public cmfe_problem_wave_equation_type
Wave equation problem type.
subroutine cmfe_meshelements_usernumbersetnumber(regionUserNumber, meshUserNumber, meshComponentNumber, elementGlobalNumber, elementUserNumber, err)
Sets/changes the user number for an element in a mesh identified by an user number.
Returns the number of sub loops for a control loop.
Returns the linearity type for the dynamic solver.
Returns the linear solver associated with a nonlinear Quasi-Newton solver.
Returns the type of library to use for the solver.
integer(intg), parameter, public cmfe_problem_gudunov_monodomain_1d3d_elasticity_subtype
Transient monodomain simple elasticity problem subtype.
subroutine cmfe_generatedmesh_geometricparameterscalculateobj(generatedMesh, field, err)
Calculates and sets the geometric field parameters for a generated mesh identified by an object...
Starts the process of creating a control loop on a problem.
subroutine cmfe_dataprojection_startingxisetnumber(dataProjectionUserNumber, regionUserNumber, startingXi, err)
Sets/changes the starting xi of data projection identified by a region user number.
subroutine cmfe_interfacepointsconnectivity_elementnumbergetnumber(regionUserNumber, interfaceUserNumber, interfaceDataPointIndexNumber, coupledMeshIndexNumber, meshComponentNumber, coupledMeshElementNumber, err)
Gets coupled mesh element number that the data point in the interface is connected to...
integer(intg), parameter, public cmfe_solver_linear_type
A linear solver.
subroutine, public cmfe_interfaceequations_finalise(cmfe_InterfaceEquations, err)
Finalises a cmfe_InterfaceEquationsType object.
subroutine cmfe_interface_coordinatesystemgetnumber(parentRegionUserNumber, interfaceUserNumber, coordinateSystemUserNumber, err)
Returns the coordinate system for an interface identified by an user number.
subroutine cmfe_solver_daeeulersolvertypegetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, DAEEulerSolverType, err)
Returns the solve type for an Euler differential-algebraic equation solver identified by an user numb...
subroutine cmfe_randomseedsset1(randomSeeds, err)
Sets the random seeds for OpenCMISS.
integer(intg), parameter, public cmfe_problem_data_point_vector_static_fitting_subtype
Standard static Galerkin projection problem using data points subtype.
subroutine cmfe_solver_newtontypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, newtonSolveType, err)
Sets/changes the type of a Newton solver identified by an user number.
integer(intg), parameter, public cmfe_basis_collapsed_at_xi0
The Xi direction at the xi=0 end of this Xi direction is collapsed.
subroutine cmfe_nodes_createstartnumber(regionUserNumber, numberOfNodes, err)
Starts the process of creating nodes in a region for nodes identified by user number.
subroutine cmfe_controlloop_maximumiterationssetnumber0(problemUserNumber, controlLoopIdentifier, maximumIterations, err)
Sets/changes the maximum iterations for a while control loop identified by user numbers.
Contains information on a computational work group.
subroutine cmfe_dataprojection_projectiontypegetobj(dataProjection, projectionType, err)
Returns the projection type of data projection identified an object.
subroutine cmfe_equationsset_dependentcreatefinishnumber(regionUserNumber, equationsSetUserNumber, err)
Finish the creation of dependent variables for an equations set identified by a user number...
Get the dimensions for a distributed matrix on this computational node.
subroutine cmfe_interfacepointsconnectivity_elementnumbersetobj(interfacePointsConnectivity, interfaceDataPointIndexNumber, coupledMeshIndexNumber, coupledMeshElementNumber, meshComponentNumber, err)
Sets coupled mesh element number that the data point in the interface is connected to...
subroutine cmfe_cellml_modelsfieldgetobj(CellML, field, err)
Returns the CellML models field for a CellML environment identified by an object. ...
integer(intg), parameter, public cmfe_solver_solution_initialise_current_field
Initialise the solution by copying in the current dependent field values.
Returns the size of the problem specification array for a problem.
subroutine cmfe_dataprojection_resultprojectionvectorgetnumber(regionUserNumber, dataProjectionUserNumber, dataPointUserNumber, projectionVector, err)
Returns the projection vector for a data point in a set of data points identified by user number...
integer(intg), parameter, public cmfe_solver_dynamic_newmark1_scheme
1st Newmark dynamic solver.
Contains information on a generated mesh.
subroutine cmfe_boundaryconditions_addconstantobj(boundaryConditions, field, variableType, componentNumber, condition, value, err)
Adds to the value of the specified constant and sets this as a boundary condition on the specified co...
subroutine cmfe_solver_newtontypesetobj(solver, newtonSolveType, err)
Sets/changes the type of a Newton solver identified by an object.
subroutine cmfe_field_parametersetgetdatapointlobj(field, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Returns from the given parameter set a logical value for the specified constant of a field variable c...
integer(intg), parameter, public cmfe_solver_newton_convergence_petsc_default
Newton solver Petsc default convergence test type.
Finish the creation of CellML equations for a problem.
subroutine cmfe_solver_quasinewtonlinesearchmaxstepsetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, maxStep, err)
Sets/changes the line search maximum step for a Quasi-Newton line search solver identified by an user...
Returns the label for a node identified by a given global number.
subroutine cmfe_coordinatesystem_originsetobj(coordinateSystem, origin, err)
Sets/changes the origin of a coordinate system identified by an object.
subroutine cmfe_field_parametersetgetnodespobj(field, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Returns from the given parameter set a single precision value for the specified node and derivative o...
subroutine cmfe_interfacecondition_integrationtypesetobj(interfaceCondition, interfaceConditionIntegrationType, err)
Sets/changes the integration type for an interface condition identified by an object.
subroutine cmfe_generatedmesh_basissetnumber0(regionUserNumber, generatedMeshUserNumber, basisUserNumber, err)
Sets/changes the basis for a generated mesh on a region identified by a user number.
subroutine cmfe_controlloop_labelgetvsobj(controlLoop, label, err)
Returns the varying string label for a control loop identified by an object.
subroutine cmfe_dataprojection_datapointspositionevaluateregionnumber(dataProjectionUserNumber, regionUserNumber, fieldUserNumber, fieldVariableType, err)
Evaluate the data points position in a field based on data projection in a region, identified by user number.
integer(intg), parameter, public cmfe_equations_set_orthotropic_holzapfel_ogden_subtype
Orthotropic Holzapfel-Ogden constitutive law for finite elasticity equations set subtype.
Sets/changes the Jacobian calculation type for a nonlinear Quasi-Newton solver.
integer(intg), parameter, public cmfe_problem_bioelectric_finite_elasticity_type
Monodomain finite elasticity problem type.
subroutine cmfe_field_parametersetupdateconstantdpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Updates the given parameter set with the given double precision value for the constant of the field v...
Returns true if the given node is in the given mesh component.
integer(intg), parameter, public cmfe_basis_linear_lagrange_interpolation
Linear Lagrange interpolation specification.
subroutine cmfe_controlloop_outputtypegetnumber0(problemUserNumber, controlLoopIdentifier, outputType, err)
Returns the output type for a control loop identified by user numbers.
subroutine cmfe_interface_labelsetcobj(interface, label, err)
Sets/changes the character string label for an interface identified by an object. ...
integer(intg), parameter, public cmfe_short_integer_type
Short integer data type.
subroutine cmfe_field_numberofcomponentssetobj(field, variableType, numberOfComponents, err)
Sets/changes the number of components for a field variable for a field identified by an object...
subroutine cmfe_solver_geometrictransformationscalingssetnumber(problemUserNumber, controlLoopIdentifier, solverIndex, scalings, err)
Sets the scalings for a geometric transformation identified by an user number.
subroutine cmfe_solver_dynamiclinearitytypegetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, linearityType, err)
Returns the linearity type for a dynamic solver identified by an user number.
subroutine cmfe_coordinatesystem_dimensionsetobj(coordinateSystem, coordinateSystemDimension, err)
Sets/changes the dimension of a coordinate system identified by an object.
Sets/changes the times for a differential-algebraic equation solver.
subroutine cmfe_dataprojection_createfinishnumber(dataProjectionUserNumber, regionUserNumber, err)
Finishes the creation of a new data projection identified by a region user number.
subroutine cmfe_mesh_topologydatapointscalculateprojectioninterfacenumber(parentRegionUserNumber, interfaceUserNumber, MeshUserNumber, DataProjection, err)
Calculate mesh data points topology in an interface identified by a user number based on projection...
integer(intg), parameter, public cmfe_solver_no_output
No output from the solver routines.
integer(intg), parameter, public cmfe_equations_set_no_class
No equations set class.
subroutine cmfe_field_componentmeshcomponentsetobj(field, variableType, componentNumber, meshComponent, err)
Sets/changes the mesh component number for a field variable component for a field identified by an ob...
subroutine cmfe_generatedmesh_surfacegetobj0(generatedMesh, surfaceType, surfaceNodes, normalXi, err)
Returns a list of the nodes belonging to a surface, and their normal xi direction, of a generated mesh identified by an object.
subroutine cmfe_region_coordinatesystemgetnumber(regionUserNumber, coordinateSystemUserNumber, err)
Returns the coordinate system for a region identified by an user number.
subroutine cmfe_solver_dynamicdegreesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, degree, err)
Sets/changes the degree of the polynomial used to interpolate time for a dynamic solver identified by...
subroutine cmfe_controlloop_outputtypegetnumber1(problemUserNumber, controlLoopIdentifiers, outputType, err)
Returns the output type for a control loop identified by user numbers.
subroutine, public cmfe_field_finalise(cmfe_Field, err)
Finalises a cmfe_FieldType object.
subroutine cmfe_controlloop_timessetnumber0(problemUserNumber, controlLoopIdentifier, startTime, stopTime, timeIncrement, err)
Sets/changes the time parameters for a time control loop identified by user numbers.
subroutine cmfe_cellml_parametersfieldgetobj(CellML, field, err)
Returns the CellML parameters field for a CellML environment identified by an object.
subroutine, public cmfe_meshelements_finalise(cmfe_MeshElements, err)
Finalises a cmfe_MeshElementsType object.
integer(intg), parameter, public cmfe_problem_linear_pressure_poisson_subtype
Vector source Poisson problem subtype.
Starts the creation of CellML intermediate field.
subroutine cmfe_controlloop_maximumiterationssetobj(controlLoop, maximumIterations, err)
Sets/changes the maximum iterations for a while control loop identified by an object.
integer(intg), parameter, public cmfe_basis_quadratic_lagrange_interpolation
Quadratic Lagrange interpolation specification.
subroutine cmfe_equationsset_independentcreatefinishobj(equationsSet, err)
Finish the creation of independent variables for an equations set identified by an object...
subroutine, public cmfe_errorhandlingmodeget(errorHandlingMode, err)
Returns the error handling mode for OpenCMISS.
integer(intg), parameter, public cmfe_problem_finite_elasticity_darcy_type
Finite Elasticity Darcy problem type.
Destroys the control loop for a problem.
Contains information about the CellML equations for a solver.
subroutine cmfe_solverequations_equationssetaddnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, regionUserNumber, equationsSetUserNumber, equationsSetIndex, err)
Adds equations sets to solver equations identified by an user number.
subroutine cmfe_dataprojection_maximumiterationupdatesetobj(dataProjection, maximumIterationUpdate, err)
Sets/changes the relative tolerance of data projection identified an object.
subroutine cmfe_field_componentlabelgetcnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, label, err)
Returns the character string label for a field variable component for a field identified by a user nu...
integer(intg), parameter, public cmfe_solver_full_matrices
Use fully populated solver matrices.
Sets/changes the line search step tolerance for a nonlinear Newton solver.
subroutine cmfe_basis_createstartobj(userNumber, basis, err)
Starts the creation of a new basis for a basis identified by an object.
integer(intg), parameter, public cmfe_basis_simplex_type
Simplex basis type.
subroutine cmfe_analyticanalysis_rmserrorgetelementobj(field, variableType, componentNumber, errorType, localValue, localGhostValue, globalValue, err)
Get relative error value for the constant in a field identified by an object compared to the analytic...
subroutine cmfe_interfacemeshconnectivity_createstartnumber(regionUserNumber, interfaceUserNumber, meshNumber, err)
Starts the creation of an interface meshes connectivity identified by a user number.
integer(intg), parameter, public cmfe_solver_petsc_library
PETSc solver library.
subroutine cmfe_decomposition_elementdomainsetobj(decomposition, elementUserNumber, domain, err)
Sets/changes the domain for a given element in a decomposition identified by an object.
subroutine cmfe_dataprojection_projectiontypesetobj(dataProjection, projectionType, err)
Sets/changes the projection type of data projection identified an object.
subroutine cmfe_generatedmesh_extentsetnumber(regionUserNumber, generatedMeshUserNumber, extent, err)
Sets/changes the extent for a generated mesh on a region identified by a user number.
integer(intg), parameter, public cmfe_solver_nonlinear_newton
Newton nonlinear solver type.
Sets/changes the line search alpha for a nonlinear Newton solver.
subroutine cmfe_field_parametersetgetconstantspnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Returns from the given parameter set a single precision value for the specified constant of a field v...
integer(intg), parameter, public cmfe_equations_set_elasticity_fluid_pres_static_inria_subtype
Static finite elasticity coupled with fluid pressure set subtype.
subroutine cmfe_coordinatesystem_dimensionsetnumber(coordinateSystemUserNumber, coordinateSystemDimension, err)
Sets/changes the dimension of a coordinate system identified by a user number.
subroutine cmfe_mesh_elementsgetobj(mesh, meshComponentNumber, meshElements, err)
Returns the mesh elements for a mesh component on a mesh identified by an.
Set boundary conditions for solver equations according to the analytic equations. ...
Starts the creation of CellML parameters field.
Get the storage type for a distributed matrix.
subroutine cmfe_field_labelgetvsnumber(regionUserNumber, fieldUserNumber, label, err)
Returns the varying string label for a field identified by a user number.
integer(intg), parameter, public cmfe_problem_monodomain_equation_type
Monodomain equation problem type.
Contains information on an interfaces points connectivity.
subroutine cmfe_solver_quasinewtonlinesearchmaxstepsetobj(solver, maxStep, err)
Sets/changes the line search maximum step for a Quasi-Newton line search solver identified by an obje...
Sets/changes the iteration parameters for a fixed control loop.
subroutine cmfe_problem_controlloopcreatestartnumber(problemUserNumber, err)
Starts the process of creating a control loop for a problem identified by user number.
subroutine cmfe_generatedmesh_destroynumber(regionUserNumber, generatedMeshUserNumber, err)
Destroys a generated mesh on a region identified by a user number.
Starts the process of creating data points in a region.
Map a field variable component to a CellML model variable in this CellML environment.
Set a CellML model variable as being wanted (the value will be extracted from the model to an OpenCMI...
subroutine cmfe_problem_controlloopcreatefinishobj(problem, err)
Finishes the creation of a control loop on a problem identified by an object.
subroutine cmfe_field_scalingtypesetobj(field, scalingType, err)
Sets/changes the scaling type for a field identified by an object.
subroutine cmfe_solver_dynamictimessetobj(solver, currentTime, timeIncrement, err)
Sets/changes the times for a dynamic solver identified by an object.
Sets/changes the degree of the polynomial used to interpolate time for a dynamic solver.
subroutine cmfe_fieldml_inputfieldcreatestartnumbervs(fieldml, regionNumber, meshNumber, decompositionNumber, fieldNumber, variableType, evaluatorName, err)
Create a field with the given user number using the given FieldML evaluator.
subroutine cmfe_coordinatesystem_destroyobj(coordinateSystem, err)
Destroys a coordinate system identified by an object.
subroutine cmfe_problem_solveobj(problem, err)
Solves a problem identified by an object.
Restore the data array for this vector once it has finished being used.
subroutine cmfe_solver_quasinewtontrustregiontolerancesetobj(solver, tolerance, err)
Sets/changes the tolerance for a Quasi-Newton trust region solver identified by an object...
subroutine cmfe_equationsset_analyticcreatefinishnumber(regionUserNumber, equationsSetUserNumber, err)
Finish the creation of a analytic solution for an equations set identified by a user number...
integer(intg), parameter, public cmfe_problem_transient_darcy_subtype
Transient Darcy problem subtype.
subroutine cmfe_solver_labelgetvsnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, label, err)
Returns the varying string label for a solver identified by an user number.
Returns the number of domains used for the decomposition of a mesh.
subroutine cmfe_equationsset_dependentdestroynumber(regionUserNumber, equationsSetUserNumber, err)
Destroy the dependent variables for an equations set identified by a user number. ...
subroutine cmfe_fieldml_inputcreatemeshcomponentobjc(fieldml, mesh, componentNumber, evaluatorName, err)
Use the given FieldML evaluator as a template to create a component on the given mesh.
integer(intg), parameter, public cmfe_matrix_vector_l_type
Logical distributed matrix-vector data type.
subroutine cmfe_field_parametersetupdatefinishobj(field, variableType, fieldSetType, err)
Finishes the parameter set update for a field variable for a field identified by an object...
integer(intg), parameter, public cmfe_solver_dae_bdf
General BDF differential-algebraic equation solver.
subroutine, public cmfe_fields_initialise(cmfe_Fields, err)
Initialises a cmfe_FieldsType object.
Sets/changes the scheme for a dynamic solver.
integer(intg), parameter, public cmfe_problem_standard_multi_compartment_transport_subtype
Standard multi-compartment transport problem subtype.
subroutine cmfe_solver_newtonsolutiontolerancesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, solutionTolerance, err)
Sets/changes the solution tolerance for a Newton solver identified by an user number.
integer(intg), parameter, public cmfe_solver_pastix_library
PaStiX solver library.
subroutine cmfe_cellml_variablesetaswantedobjc(CellML, CellMLModelUserNumber, variableID, err)
Sets a CellML model variable to be wanted by object.
subroutine cmfe_fieldml_outputcreateobjc(mesh, location, baseName, connectivityFormat, fieldml, err)
Initialise the given FieldML context using the given mesh.
subroutine cmfe_decomposition_destroyobj(decomposition, err)
Destroys a decomposition identified by an object.
subroutine cmfe_controlloop_typesetobj(controlLoop, loopType, err)
Sets/changes the loop type for a control loop identified by an object.
subroutine cmfe_field_parametersetaddconstantlobj(field, variableType, fieldSetType, componentNumber, value, err)
Adds the given logical value to the given parameter set for the constant of the field variable compon...
Add the given field to the current FieldML context.
subroutine cmfe_solver_geometrictransformationfieldsetobj(solver, field, variableType, err)
Sets the field for a geometric transformation solver identified by an object.
integer(intg), parameter, public cmfe_equations_set_compressible_activecontraction_subtype
Compressible version for finite elasticity equations set with active contraction subtype.
subroutine cmfe_generatedmesh_originsetnumber(regionUserNumber, generatedMeshUserNumber, origin, err)
Sets/changes the origin of a generated mesh on a region identified by a user number.
subroutine cmfe_dataprojection_absolutetolerancesetnumber(dataProjectionUserNumber, regionUserNumber, absoluteTolerance, err)
Sets/changes the absolute tolerance of data projection identified by a region user number...
subroutine cmfe_field_parametersetupdateelementdpobj(field, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given double precision value for the element of the field va...
subroutine, public cmfe_controlloop_initialise(cmfe_ControlLoop, err)
Initialises a cmfe_ControlLoopType object.
subroutine cmfe_meshelements_localelementnodeversionsetnumber(regionUserNumber, meshUserNumber, globalElementNumber, versionNumber, derivativeNumber, localElementNodeNumber, meshComponentNumber, err)
Sets/changes the element nodes for an element in a mesh identified by an user number.
subroutine cmfe_decomposition_nodedomaingetobj(decomposition, nodeUserNumber, meshComponentNumber, domain, err)
Returns the domain for a given node in a decomposition identified by an object.
subroutine cmfe_fieldml_inputfieldparametersupdateobjvs(fieldml, field, evaluatorName, variableType, setType, err)
Update the DOF parameters of the given field, using the given FieldML evaluator.
integer(intg), parameter, public cmfe_problem_standard_elasticity_darcy_subtype
Standard Elasticity Darcy problem subtype.
subroutine cmfe_meshembedding_createnumber(regionOneUserNumber, regionTwoUserNumber, meshEmbedding, parentMeshUserNumber, childMeshUserNumber, err)
Creates a mesh embedding.
subroutine cmfe_solver_newtonabsolutetolerancesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, absoluteTolerance, err)
Sets/changes the absolute tolerance for a Newton solver identified by an user number.
subroutine cmfe_solver_quasinewtonlinesearchtypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, lineSearchType, err)
Sets/changes the type of line search for a Quasi-Newton line search solver identified by an user numb...
subroutine cmfe_coordinatesystem_destroynumber(coordinateSystemUserNumber, err)
Destroys a coordinate system identified by a user number.
integer(intg), parameter, public cmfe_problem_coupled_source_diffusion_diffusion_subtype
Coupled source diffusion-diffusion problem subtype.
subroutine cmfe_nodes_destroynumber(regionUserNumber, err)
Destroys the nodes in a region for nodes identified by user number.
subroutine cmfe_analyticanalysis_absoluteerrorgetelementnumber(regionUserNumber, fieldUserNumber, variableType, elementNumber, componentNumber, value, err)
Get absolute error value for the element in a field specified by a user number compared to the analyt...
subroutine, public cmfe_solverequations_vectorget(solverEquations, matrixIndex, vector, err)
Get the vector assiciated with a solver matrix from the solver equations matrices.
subroutine cmfe_solverequations_boundaryconditionscreatefinishnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, err)
Finish the creation of the boundary conditions for the solver equations identified by the user number...
subroutine cmfe_dataprojection_maximumiterationupdategetnumber(dataProjectionUserNumber, regionUserNumber, maximumIterationUpdate, err)
Returns the relative tolerance of data projection identified by a region user number.
integer(intg), parameter, public cmfe_global_deriv_s1
First global derivative in the s1 direction i.e., du/ds1.
integer(intg), parameter, public cmfe_equations_set_active_strain_subtype
Isotropic active strain constitutive law based on multiplicative decomposition of the deformation gra...
integer(intg), parameter, public cmfe_solver_solution_initialise_zero
Initialise the solution by zeroing it before a solve.
subroutine cmfe_field_variabletypesgetnumber(regionUserNumber, fieldUserNumber, variableTypes, err)
Returns the field variable types for a field identified by a user number.
subroutine cmfe_cellml_modelimportnumberc(regionUserNumber, CellMLUserNumber, URI, modelIndex, err)
Imports a specified CellML model as specified by a character URI into a CellML environment identified...
Finishes the creation of CellML models field.
Sets/changes the number of sub loops for a control loop.
integer(intg), parameter, public cmfe_problem_control_fixed_loop_type
Fixed iteration control loop.
Creates the region&#39;s nodes using the given FieldML evaluator.
Sets/changes the type of library to use for the solver.
Sets/changes the number of Xi directions in a basis.
integer(intg), parameter, public cmfe_problem_finite_elasticity_type
Finite elasticity problem type.
integer(intg), parameter, public cmfe_problem_diffusion_diffusion_type
Diffusion Diffusion problem type.
Returns the number of mesh components in a mesh.
subroutine, public cmfe_solver_finalise(cmfe_Solver, err)
Finalises a cmfe_SolverType object.
subroutine cmfe_mesh_numberofcomponentsgetobj(mesh, numberOfComponents, err)
Returns the number of components in a mesh identified by an object.
subroutine cmfe_solver_newtonlinesearchsteptolsetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, stepTol, err)
Sets/changes the line search step tolerance for a Newton line search solver identified by an user num...
subroutine cmfe_generatedmesh_typegetobj(generatedMesh, generatedMeshType, err)
Returns the type of a generated mesh identified by an object.
Sets/changes the coordinate system dimension.
Output the analytic error analysis for a field compared to the analytic values parameter set...
subroutine cmfe_field_parametersetaddelementlobj(field, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Adds the given logical value to an element in the given parameter set for field variable component fo...
integer(intg), parameter, public cmfe_problem_monodomain_tentusscher06_subtype
Generalised Laplace problem subtype.
integer(intg), parameter, public cmfe_problem_fitted_pressure_poisson_subtype
Vector source Poisson problem subtype.
Sets/changes the type of nonlinear Newton trust region solver.
Finishes the creation of a domain decomposition.
subroutine cmfe_meshelements_createstartnumber(regionUserNumber, meshUserNumber, meshComponentNumber, basisUserNumber, err)
Starts creating elements for a mesh component of a mesh identified by a user number.
Sets/changes the coordinate system orign.
subroutine cmfe_interfacepointsconnectivity_updatefromprojectioninumber(regionUserNumber, interfaceUserNumber, dataPointsRegionUserNumber, dataPointsInterfaceUserNumber, dataProjectionUserNumber, coupledMeshIndex, err)
Update points connectivity with projection results, data projection identified by interface user numb...
subroutine cmfe_solver_daetimestepsetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, timeStep, err)
Sets/changes the (initial) time step for an differential-algebraic equation solver identified by an u...
integer(intg), parameter, public cmfe_solver_linear_direct_solve_type
Direct linear solver type.
integer(intg), parameter, public cmfe_no_global_deriv
No global derivative i.e., u.
subroutine cmfe_solver_geometrictransformationclearnumber(problemUserNumber, controlLoopIdentifier, solverIndex, err)
Clear transformation a geometric transformation identified by an user number.
integer(intg), parameter, public cmfe_solver_optimiser_type
An optimiser solver.
subroutine cmfe_dataprojection_startingxigetobj(dataProjection, startingXi, err)
Returns the starting xi of data projection identified an object.
subroutine cmfe_dataprojection_labelgetcinterfacenumber(dataProjectionUserNumber, parentRegionUserNumber, interfaceUserNumber, label, err)
Get the character string label of a data projection identified by a region user number.
subroutine cmfe_solver_quasinewtonjacobiancalculationtypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, jacobianCalculationType, err)
Sets/changes the Jacobian calculation type for an Quasi-Newton solver identified by an user number...
subroutine cmfe_dataprojection_numberofclosestelementssetnumber(dataProjectionUserNumber, regionUserNumber, numberOfClosestElements, err)
Sets/changes the number of closest elements of data projection identified by a region user number...
subroutine cmfe_generatedmesh_numberofelementssetobj(generatedMesh, numberOfElements, err)
Sets/changes the number of elements for a generated mesh identified by an object. ...
subroutine cmfe_basis_quadraturemultiplegaussxigetnumber(userNumber, quadratureScheme, GaussPoints, GaussXi, err)
Returns the xi positions of Gauss points on a basis quadrature identified by a user number...
integer(intg), parameter, public cmfe_equations_set_data_fitting_equation_type
Galerkin projection equations set type.
subroutine cmfe_datapoints_usernumbergetnumber(regionUserNumber, dataPointGlobalNumber, dataPointUserNumber, err)
Returns the user number for a data point in a set of data points identified by user number...
subroutine cmfe_boundaryconditions_destroynumber0(problemUserNumber, controlLoopIdentifier, solverIndex, err)
Destroys the boundary conditions for solver equations identified by a control loop identifier...
integer(intg), parameter, public cmfe_equations_set_multi_physics_class
Multi Physics equations set class.
subroutine cmfe_field_parametersetgetelementintgobj(field, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Returns from the given parameter set an integer value for the specified element of a field variable c...
subroutine cmfe_field_parametersetgetdatapointlnumberi(parentRegionUserNumber, interfaceUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Returns from the given parameter set a logical value for the specified data point of a field variable...
subroutine cmfe_analyticanalysis_absoluteerrorgetelementobj(field, variableType, elementNumber, componentNumber, VALUE, err)
Get absolute error value for the element in a field identified by an object compared to the analytic ...
subroutine cmfe_field_parametersetdatarestorespobj(field, variableType, fieldSetType, parameters, err)
Restores the specified field variable parameter set local single precision array that was obtained wi...
subroutine cmfe_distributedvector_datarestorespobj(vector, data, err)
Restore the data array for this vector once it has finished being used.
subroutine cmfe_nodes_labelsetcobj(nodes, nodeGlobalNumber, label, err)
Sets/changes the character label for a node in a set of nodes identified by an object.
integer(intg), parameter, public cmfe_solver_dynamic_second_degree
Dynamic solver uses a second degree polynomial for time interpolation.
Adds equations sets to solver equations.
subroutine cmfe_coordinatesystem_radialinterpolationgetnumber(coordinateSystemUserNumber, radialInterpolationType, err)
Returns the radial interpolation type of a coordinate system identified by a user number...
subroutine cmfe_field_parametersetdatagetlnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, parameters, err)
Returns a pointer to the specified field parameter set local logical data array for a field identifie...
integer(intg), parameter, public cmfe_problem_generalised_helmholtz_subtype
No source Helmholtz problem subtype.
subroutine cmfe_field_parametersetgetelementdpobj(field, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Returns from the given parameter set a double precision value for the specified element of a field va...
integer(intg), parameter, public cmfe_basis_fourier_lagrange_hermite_tp_type
Fourier-Lagrange tensor product basis type.
subroutine cmfe_nodes_labelsetcnumber(regionUserNumber, nodeGlobalNumber, label, err)
Sets/changes the character label for a node in a set of nodes identified by user number.
integer(intg), parameter, public cmfe_solver_sparse_matrices
Use sparse solver matrices.
subroutine cmfe_interfacecondition_operatorgetobj(interfaceCondition, interfaceConditionOperator, err)
Gets the operator for an interface condition identified by an object.
subroutine cmfe_coordinatesystem_focusgetnumber(coordinateSystemUserNumber, focus, err)
Returns the focus of a coordinate system identified by a user number.
integer(intg), parameter, public cmfe_problem_burgers_equation_type
Burgers equation problem type.
subroutine cmfe_cellml_createfieldtocellmlmapobjvs(CellML, field, variableType, componentNumber, fieldParameterSet, CellMLModelUserNumber, variableID, CellMLParameterSet, err)
Defines a field variable component to CellML model variable map by by object.
Sets/changes the nonlinear Quasi-Newton restart type.
Returns the coordinate system dimension.
integer(intg), parameter, public cmfe_problem_fe_contact_transform_reproject_subtype
linear elasticity problem subject to contact constraint, transform field at load increments and repro...
integer(intg), parameter, public cmfe_equations_nodal_matrix_output
All below and nodal matrices output.
subroutine cmfe_decomposition_elementdomainsetnumber(regionUserNumber, meshUserNumber, decompositionUserNumber, elementUserNumber, domain, err)
Sets/changes the domain for a given element in a decomposition identified by a user number...
subroutine cmfe_cellml_variablesetasknownobjvs(CellML, CellMLModelUserNumber, variableID, err)
Sets a CellML model variable to be known by object.
subroutine cmfe_field_parametersetgetdatapointspnumberr(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Returns from the given parameter set a single precision value for the specified data point of a field...
integer(intg), parameter, public cmfe_equations_set_characteristic_equation_type
Characteristic equation equations set type.
Sets/changes the label of a region.
Returns the coordinate system orign.
subroutine cmfe_datapoints_labelsetcobj(dataPoints, dataPointGlobalNumber, label, err)
Sets/changes the character label for a data point in a set of data points identified by an object...
subroutine cmfe_equationsset_materialscreatestartobj(equationsSet, materialsFieldUserNumber, materialsField, err)
Start the creation of materials for an equations set identified by an object.
integer(intg), parameter, public cmfe_solver_lusol_library
LUSOL solver library.
subroutine, public cmfe_equations_rhsvectorget(equations, rhsVector, err)
Get the right hand side vector for equations.
integer(intg), parameter, public cmfe_solver_dynamic_euler_scheme
Euler (explicit) dynamic solver.
Returns the projection distance for a data point identified by a given user number.
subroutine cmfe_solver_newtonlinearsolvergetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, linearSolverIndex, err)
Returns the linear solver associated with a Newton solver identified by an user number.
integer(intg), parameter, public cmfe_solver_dynamic_bossak_newmark1_scheme
1st Bossak-Newmark dynamic solver.
subroutine cmfe_meshnodes_numberofversionsgetnumber(regionUserNumber, meshUserNumber, meshComponentNumber, derivativeNumber, userNodeNumber, numberOfVersions, err)
Returns the number of version at a derivative for a node in a mesh identified by an user number...
Sets/changes the surrounding elements calculate flag for the mesh.
subroutine cmfe_fieldml_inputbasiscreatestartobjvs(fieldml, evaluatorName, userNumber, basis, err)
Create a basis using the given FieldML evaluator.
integer(intg), parameter, public cmfe_problem_fitting_class
Fitting problem class.
subroutine cmfe_fieldml_outputaddfieldwithtypenumberc(fieldml, baseName, dofFormat, regionNumber, fieldNumber, variableType, setType, typeHandle, err)
Add the given field to the given FieldML context, using the given FieldML type.
integer(intg), parameter, public cmfe_double_real_type
Double precision real data type.
Sets/changes the type of linear solver.
subroutine cmfe_interfacemeshconnectivity_destroynumber(regionUserNumber, interfaceUserNumber, err)
Destroys an interface meshes connectivity identified by a user number.
subroutine cmfe_dataprojection_labelsetcobj(dataProjection, label, err)
Sets/changes the character string label of a data projection identified an object.
subroutine cmfe_solverequations_boundaryconditionscreatestartnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, err)
Start the creation of boundary conditions for solver equations identified by user numbers...
integer(intg), parameter, public cmfe_control_loop_progress_output
Progress output from the control loop.
subroutine cmfe_solver_outputtypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, outputType, err)
Sets/changes the output type for a solver identified by an user number.
Sets/changes the trust region delta0 tolerance for a nonlinear Newton trust region solver...
integer(intg), parameter, public cmfe_solver_iterative_biconjugate_gradient
Bi-conjugate gradient iterative solver type.
Destroys the solver equations for a problem.
subroutine cmfe_field_componentvaluesinitialisespnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Initialises the values of parameter set of a field variable component to a single precision constant ...
subroutine cmfe_field_parametersetgetnodelobj(field, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Returns from the given parameter set a logical value for the specified node and derivative of a field...
subroutine, public cmfe_diagnosticssetoff(err)
Sets diagnostics off.
subroutine cmfe_distributedmatrix_datarestorelobj(matrix, data, err)
Restore the data array for this matrix once it has finished being used.
subroutine cmfe_interfaceequations_sparsitygetobj(interfaceEquations, sparsityType, err)
Gets the sparsity type for an interface equations identified by an object.
subroutine cmfe_controlloop_numberofsubloopsgetnumber0(problemUserNumber, controlLoopIdentifier, numberOfSubLoops, err)
Returns the number of sub-control loops for a control loop identified by user numbers.
subroutine cmfe_region_coordinatesystemsetobj(region, coordinateSystem, err)
Sets/changes the coordinate system for a region identified by an object.
subroutine cmfe_mesh_nodesgetnumber(regionUserNumber, meshUserNumber, meshComponentNumber, meshNodes, err)
Returns the mesh nodes for a mesh component on a mesh identified by an user number.
subroutine cmfe_equationsset_derivedcreatestartnumber(regionUserNumber, equationsSetUserNumber, derivedFieldUserNumber, err)
Start the creation of derived variables for an equations set identified by a user number...
subroutine cmfe_nodes_createfinishobj(nodes, err)
Finishes the creation of a nodes in a region for nodes identified by an object.
subroutine cmfe_fieldml_inputbasiscreatestartobjc(fieldml, evaluatorName, userNumber, basis, err)
Create a basis using the given FieldML evaluator.
subroutine cmfe_field_parametersetdatarestoreintgobj(field, variableType, fieldSetType, parameters, err)
Restores the specified field variable parameter set local integer array that was obtained with an Ope...
subroutine cmfe_equations_timedependencetypegetnumber(regionUserNumber, equationsSetUserNumber, timeDependenceType, err)
Gets the time dependence type for equations identified by a user number.
Sets/changes the type of line search for a nonlinear Newton solver.
subroutine cmfe_interfacepointsconnectivity_pointxisetobj(interfacePointsConnectivity, interfaceDataPointIndexNumber, coupledMeshIndexNumber, xi, err)
Sets the xi coordinate mapping between the interface data points and xi coordinates in a coupled regi...
subroutine cmfe_field_componentvaluesinitialiselobj(field, variableType, fieldSetType, componentNumber, value, err)
Initialises the values of parameter set of a field variable component to a logical constant value for...
Contains information on the boundary conditions for the equations set.
integer(intg), parameter, public cmfe_problem_coupled_source_diffusion_advec_diffusion_subtype
Coupled source diffusion & advection-diffusion problem subtype.
subroutine cmfe_interfacepointsconnectivity_pointxigetnumber(regionUserNumber, interfaceUserNumber, interfaceDataPointIndexNumber, coupledMeshIndexNumber, xi, err)
Gets the xi coordinate mapping between the data points in interface and xi coordinates in a coupled r...
integer(intg), parameter, public cmfe_equations_set_mooney_rivlin_activecontraction_subtype
Mooney-Rivlin constitutive law with steady-state active contraction for finite elasticity equations s...
subroutine cmfe_interfacemeshconnectivity_elementnumbersetobj(interfaceMeshConnectivity, interfaceElementNumber, coupledMeshIndexNumber, coupledMeshElementNumber, err)
Sets the connectivity between an element in a coupled mesh to an element in the interface mesh...
subroutine cmfe_interfaceequations_sparsitysetnumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, sparsityType, err)
Sets/changes the sparsity type for an interface equations identified by a user number.
subroutine cmfe_equationsset_independentcreatestartnumber(regionUserNumber, equationsSetUserNumber, independentFieldUserNumber, err)
Start the creation of independent variables for an equations set identified by a user number...
integer(intg), parameter, public cmfe_solver_dynamic_newmark2_scheme
2nd Newmark dynamic solver.
subroutine, public cmfe_timingsummaryoutput(err)
Outputs the timing summary.
subroutine cmfe_mesh_surroundingelementscalculatesetobj(mesh, surroundingElementsCalculateFlag, err)
Sets/changes the surrounding elements calculate flag.
subroutine cmfe_controlloop_outputtypesetnumber1(problemUserNumber, controlLoopIdentifiers, outputType, err)
Sets the output type for a control loop identified by user numbers.
subroutine cmfe_dataprojection_startingxigetnumber(dataProjectionUserNumber, regionUserNumber, startingXi, err)
Returns the starting xi of data projection identified by a data projection user number and region use...
subroutine cmfe_solver_dynamiclinearsolvergetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, linearSolverIndex, err)
Returns the linear solver associated with a linear dynamic solver identified by an user number...
integer(intg), parameter, public cmfe_global_deriv_s1_s2
Global Cross derivative in the s1 and s2 direction i.e., d^2u/ds1ds2.
subroutine cmfe_controlloop_maximumiterationssetnumber1(problemUserNumber, controlLoopIdentifiers, maximumIterations, err)
Sets/changes the maximum iterations for a while control loop identified by user numbers.
Returns the label of a region.
subroutine cmfe_problem_destroyobj(problem, err)
Destroys a problem identified by an object.
subroutine cmfe_interfacecondition_penaltyfieldcreatefinishobj(InterfaceCondition, err)
Finishes the creation of a penalty field for an interface condition identified by an object...
subroutine cmfe_solver_quasinewtonrestartsetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, quasiNewtonRestart, err)
Sets/changes the restart of a Quasi-Newton solver identified by an user number.
subroutine cmfe_solver_labelsetcobj(solver, label, err)
Sets/changes the character string label for a solver identified by an object.
subroutine cmfe_initialisenumber(worldCoordinateSystemUserNumber, worldRegionUserNumber, err)
Initialises CMISS returning a user number to the world coordinate system and region.
subroutine cmfe_controlloop_timesgetnumber1(problemUserNumber, controlLoopIdentifiers, startTime, stopTime, timeIncrement, currentTime, currentLoopIteration, outputIterationNumber, err)
Returns the time parameters for a time control loop identified by user numbers.
subroutine cmfe_dataprojection_elementsetinterfacenumber(dataProjectionUserNumber, parentRegionUserNumber, interfaceUserNumber, dataPointNumber, elementNumber, err)
Sets/changes the starting xi of data projection identified by a region user number.
subroutine cmfe_interfacemeshconnectivity_basissetobj(interfaceMeshConnectivity, interfaceMappingBasis, err)
Sets the basis for the mesh connectivity.
integer(intg), parameter, public cmfe_errors_output_error
Output the error traceback and return the error code.
integer(intg), parameter, public cmfe_problem_coupled1d0d_adv_navier_stokes_subtype
Coupled 1D-DAE Navier-Stokes problem subtype with Advection.
subroutine, public cmfe_interfacecondition_initialise(cmfe_InterfaceCondition, err)
Initialises a cmfe_InterfaceConditionType object.
integer(intg), parameter, public cmfe_basis_adaptive_gauss_legendre_quadrature
Adaptive Gauss-Legendre quadrature.
subroutine, public cmfe_solverequations_residualvectorget(solverEquations, residualVector, err)
Get the residual vector from the solver equations for nonlinear problems.
subroutine cmfe_field_variablelabelgetvsobj(field, variableType, label, err)
Returns the varying string label for a field variable for a field identified by an object...
integer(intg), parameter, public cmfe_problem_electromagnetics_class
Electromagnetics problem class.
Creates the region&#39;s coordinate system using the given FieldML evaluator.
subroutine cmfe_generatedmesh_numberofelementssetnumber(regionUserNumber, generatedMeshUserNumber, numberOfElements, err)
Sets/changes the number of elements for a generated mesh on a region identified by a user number...
subroutine cmfe_interfacecondition_createstartnumber(interfaceConditionUserNumber, regionUserNumber, interfaceUserNumber, geometricFieldUserNumber, err)
Starts the creation of an interface condition identified by a user number.
Starts the creation of a region.
integer(intg), parameter, public cmfe_problem_laplace_equation_type
Laplace problem type.
integer(intg), parameter, public cmfe_problem_div_free_vector_data_fitting_subtype
Standard Galerkin projection problem subtype.
subroutine cmfe_meshelements_nodesgetnumber(regionUserNumber, meshUserNumber, meshComponentNumber, globalElementNumber, elementUserNodes, err)
Returns the element nodes for an element in a mesh identified by an user number.
subroutine cmfe_controlloop_outputtypesetobj(controlLoop, outputType, err)
Sets the output type for a control loop identified by an object.
subroutine cmfe_equations_outputtypegetnumber(regionUserNumber, equationsSetUserNumber, outputType, err)
Gets the output type for equations identified by a user number.
subroutine cmfe_solver_newtonlinesearchmonitoroutputsetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, monitorLinesearchFlag, err)
Enables/disables output monitoring for a nonlinear Newton line search solver identified by an user nu...
integer(intg), parameter, public cmfe_solver_eigenproblem_type
A eigenproblem solver.
subroutine cmfe_problem_solverequationsdestroynumber(problemUserNumber, err)
Destroys the solver equations for a problem identified by an user number.
subroutine cmfe_analyticanalysis_integralabsoluteerrorgetnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, integralValue, ghostIntegralValue, err)
Get integral value for the absolute errors.
integer(intg), parameter, public cmfe_from_diag_type
Type for setting diagnostic output in one routine downwards.
subroutine cmfe_dataprojection_labelgetcobj(dataProjection, label, err)
Gets the character string label of a data projection identified an object.
subroutine cmfe_analyticanalysis_percentageerrorgetconstantobj(field, variableType, componentNumber, VALUE, err)
Get percentage error value for the constant in a field identified by an object compared to the analyt...
subroutine cmfe_cellml_statefieldcreatefinishnumber(regionUserNumber, CellMLUserNumber, err)
Finishes the creation of CellML state field for a CellML environment identified by a user number...
subroutine cmfe_solver_librarytypesetobj(solver, libraryType, err)
Sets/changes the library type for a solver identified by an object.
subroutine cmfe_field_destroynumber(regionUserNumber, fieldUserNumber, err)
Destroys a field identified by a user number.
subroutine cmfe_mesh_topologydatapointscalculateprojectionobj(Mesh, DataProjection, err)
Calculate mesh data points topology identified by object based on projection.
subroutine cmfe_field_parametersetgetnodedpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Returns from the given parameter set a double precision value for the specified node and derivative o...
subroutine cmfe_basis_collapsedxisetobj(basis, collapsedXi, err)
Sets/changes the collapsed Xi flags of a basis identified by an object.
subroutine cmfe_region_labelsetcobj(region, label, err)
Sets/changes the character string label for a region identified by an object.
subroutine cmfe_field_parametersetdatagetspobj(field, variableType, fieldSetType, parameters, err)
Returns a pointer to the specified field parameter set local single precision data array for a field ...
Sets/changes the sparsity type for solver equations.
Returns the projection element face number for a data point identified by a given user number...
subroutine cmfe_datapoints_labelgetvsobj(dataPoints, dataPointGlobalNumber, label, err)
Returns the varying string label for a data point in a set of data points identified by an object...
integer(intg), parameter, public cmfe_problem_classical_field_class
Classical field problem class.
Initialise a new FieldML context.
subroutine cmfe_field_positionnormaltangentcalculatenodeobj(field, variableType, componentNumber, localNodeNumber, position, normal, tangents, err)
Returns the position, normal and tangents for a field node for a field identified by an object...
subroutine, public cmfe_fieldml_outputaddimport(fieldml, name, handle, err)
Import a FieldML object from the library into the current session.
subroutine cmfe_solverequations_boundaryconditionsgetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, boundaryConditions, err)
Get the boundary conditions for solver equations identified by user numbers.
subroutine, public cmfe_interfacepointsconnectivity_finalise(cmfe_InterfacePointsConnectivity, err)
Finalise a cmfe_InterfaceMeshConnectivityType object.
subroutine cmfe_field_dimensionsetnumber(regionUserNumber, fieldUserNumber, variableType, dimension, err)
Sets/changes the dimension for a field identified by a user number.
subroutine cmfe_solver_dynamicdegreegetobj(solver, degree, err)
Returns the degree of the polynomial used to interpolate time for a dynamic solver identified by an o...
integer(intg), parameter, public cmfe_equations_set_linear_elasticity_type
Linear elasticity equations set type.
integer(intg), parameter, public cmfe_boundary_condition_sparse_matrices
Returns the problem specification array for a problem.
Sets/changes the maximum iteration update for a data projection.
subroutine cmfe_interfacecondition_methodsetobj(interfaceCondition, interfaceConditionMethod, err)
Sets/changes the method for an interface condition identified by an object.
subroutine cmfe_equationsset_materialsdestroyobj(equationsSet, err)
Destroy the materials for an equations set identified by an object.
subroutine cmfe_solverequations_boundaryconditionsgetobj(solverEquations, boundaryConditions, err)
Get the boundary conditions for solver equations.
subroutine cmfe_generatedmesh_basissetnumber1(regionUserNumber, generatedMeshUserNumber, basisUserNumbers, err)
Sets/changes the basis for a generated mesh on a region identified by a user number.
subroutine cmfe_field_parametersetupdatenodespnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Updates the given parameter set with the given single precision value for the node and derivative of ...
subroutine cmfe_dataprojection_labelsetvsobj(dataProjection, label, err)
Sets/changes the varying string label of a data projection identified an object.
subroutine cmfe_meshelements_usernumbersallsetobj(meshElements, elementUserNumbers, err)
Sets/changes the element user numbers for all elements in a mesh identified by an object...
subroutine cmfe_region_labelsetvsnumber(regionUserNumber, label, err)
Sets/changes the varying string label for a region identified by an user number.
integer(intg), parameter, public cmfe_equations_set_multiscale_active_strain_subtype
Isotropic active strain constitutive law based on multiplicative decomposition of the deformation gra...
integer(intg), parameter, public cmfe_equations_second_order_dynamic
The equations are a second order dynamic.
Sets/changes the local face gauss evaluatoin flag for a basis quadrature.
subroutine cmfe_field_variabletypesgetobj(field, variableTypes, err)
Returns the variable types for a field identified by an object.
subroutine cmfe_cellml_destroyobj(CellML, err)
Destroy a CellML environment identified by an object.
subroutine cmfe_fieldml_inputcoordinatesystemcreatestartnumbervs(fieldml, evaluatorName, userNumber, err)
Create a coordinate system using the given FieldML evaluator.
Set a CellML model variable as being known (the value will be set from an OpenCMISS field) ...
subroutine cmfe_solverequations_boundaryconditionscreatefinishnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, err)
Finish the creation of the boundary conditions for the solver equations identified by the user number...
subroutine cmfe_datapoints_createstartinterfaceobj(interface, numberOfDataPoints, dataPoints, err)
Starts the creation of a data points in a region for data points identified by an object...
integer(intg), parameter, public cmfe_solver_dae_type
A differential-algebraic equation solver.
integer(intg), parameter, public cmfe_equations_first_order_dynamic
The equations are first order dynamic.
subroutine cmfe_equationsset_createstartnumber(equationsSetUserNumber, regionUserNumber, geomFibreFieldUserNumber, equationsSetSpecification, equationsSetFieldUserNumber, err)
Start the creation of an equations set identified by a user number.
subroutine cmfe_equationsset_equationscreatefinishobj(equationsSet, err)
Finish the creation of equations for an equations set identified by an object.
subroutine cmfe_solver_lineariterativeabsolutetolerancesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, absoluteTolerance, err)
Sets/changes the maximum absolute tolerance for an iterative linear solver identified by an user numb...
integer(intg), parameter, public cmfe_integer_type
Integer data type.
Finish the creation of solver equations for a problem.
integer(intg), parameter, public cmfe_problem_linear_elastic_modal_type
Linear elastic modal problem type.
integer(intg), parameter, public cmfe_single_real_type
Single precision real data type.
subroutine cmfe_equations_destroynumber(regionUserNumber, equationsSetUserNumber, err)
Destroys equations for equations identified by a user number.
integer(intg), parameter, public cmfe_matrix_compressed_column_storage_type
Distributed matrix compressed column storage type.
subroutine cmfe_solver_newtontrustregiontolerancesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, tolerance, err)
Sets/changes the tolerance for a Newton trust region solver identified by an user number...
subroutine cmfe_field_parametersetinterpolatesinglexidpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, derivativeNumber, userElementNumber, xi, values, err)
Interpolates the given parameter set at a specified xi location for the specified element and derviat...
subroutine cmfe_equationsset_independentdestroynumber(regionUserNumber, equationsSetUserNumber, err)
Destroy the independent variables for an equations set identified by a user number.
subroutine cmfe_coordinatesystem_focussetnumber(coordinateSystemUserNumber, focus, err)
Sets/changes the focus of a coordinate system identified by a user number.
Returns the projection vector for a data point identified by a given user number. ...
integer(intg), parameter, public cmfe_problem_no_source_advection_diffusion_subtype
No source advection-Diffusion problem subtype.
integer(intg), parameter, public cmfe_solver_quasi_newton_linesearch_basic
Simple damping line search.
subroutine cmfe_region_labelsetcnumber(regionUserNumber, label, err)
Sets/changes the character string label for a region identified by an user number.
subroutine cmfe_interfaceequations_sparsitygetnumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, sparsityType, err)
Returns the sparsity type for an interface equations identified by a user number. ...
subroutine cmfe_field_parametersetupdateelementintgnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given integer value for the element of the field variable co...
Start the creation of a domain decomposition for a given mesh.
Gets the time dependence type for equations.
subroutine, public cmfe_mesh_initialise(cmfe_Mesh, err)
Initialises a cmfe_MeshType object.
subroutine cmfe_solver_lineardirecttypesetobj(solver, directSolverType, err)
Sets/changes the type of direct linear solver for a solver identified by an object.
subroutine cmfe_field_dimensiongetnumber(regionUserNumber, fieldUserNumber, variableType, dimension, err)
Returns the dimension for a field identified by a user number.
subroutine cmfe_meshelements_createstartobj(mesh, meshComponentNumber, basis, meshElements, err)
Starts creating elements for a mesh component of a mesh identified by an object.
subroutine cmfe_equationsset_sourcecreatestartobj(equationsSet, sourceFieldUserNumber, sourceField, err)
Start the creation of a source for an equations set identified by an object.
integer(intg), parameter, public cmfe_equations_set_burgers_equation_type
Burgers equation equations set type.
integer(intg), parameter, public cmfe_basis_xi_collapsed
The Xi direction is collapsed.
subroutine cmfe_field_parametersetnodescalefactorsgetnumber(regionUserNumber, fieldUserNumber, variableType, meshComponentNumber, scaleFactors, err)
Gets the scale factors for all nodes identified by a user number.
integer(intg), parameter, public cmfe_cellml_models_field
CellML models field type.
subroutine cmfe_field_parametersetgetnodeintgnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Returns from the given parameter set an integer value for the specified node and derivative of a fiel...
Finishes the creation of a CellML environment.
subroutine cmfe_interfacemeshconnectivity_createstartobj(interface, interfaceMesh, interfaceMeshConnectivity, err)
Starts the creation of an interface meshes connectivity identified by an object.
subroutine cmfe_fieldml_outputaddfieldnotypeobjvs(fieldml, baseName, dofFormat, field, variableType, setType, err)
Add the given field to the given FieldML context. The FieldML type will be inferred.
subroutine cmfe_interfacecondition_lagrangefieldcreatefinishnumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, err)
Finishes the creation of a Lagrange Multiplier Field for an interface condition identified by an user...
subroutine cmfe_solver_dynamicnonlinearsolvergetobj(solver, nonlinearSolver, err)
Returns the nonlinear solver associated with a nonlinear dynamic solver identified by an object...
subroutine cmfe_problem_createstartnumber(problemUserNumber, problemSpecification, err)
Starts the process of a problem identified by user number.
subroutine cmfe_cellml_createcellmltofieldmapnumbervs(regionUserNumber, CellMLUserNumber, CellMLModelUserNumber, variableID, CellMLParameterSet, fieldUserNumber, variableType, componentNumber, fieldParameterSet, err)
Defines a CellML model variable to field variable component map by user number.
subroutine cmfe_generatedmesh_typegetnumber(regionUserNumber, generatedMeshUserNumber, generatedMeshType, err)
Returns the type of a generated mesh on a region identified by a user number.
Finishes the creation of a new data projection.
subroutine cmfe_field_geometricfieldsetnumber(regionUserNumber, fieldUserNumber, geometricFieldUserNumber, err)
Sets/changes the geometric field for a field identified by a user number.
subroutine cmfe_basis_typesetobj(basis, basisType, err)
Sets/changes the type of a basis identified by an object.
subroutine cmfe_analyticanalysis_outputobj(field, fileName, err)
Output the analytic error analysis for a field identified by an object compared to the analytic value...
integer(intg), parameter, public cmfe_equations_linear
The equations are linear.
integer(intg), parameter, public cmfe_problem_generalised_data_fitting_subtype
Generalised Galerkin projection problem subtype.
Sets/changes whether lines should be calculated for the decomposition.
integer(intg), parameter, public cmfe_logical_type
Logical data type.
Get the data array for this matrix on this computational node.
subroutine cmfe_controlloop_labelgetcnumber0(problemUserNumber, controlLoopIdentifier, label, err)
Returns the character string label for a control loop identified by an user number.
integer(intg), parameter, public cmfe_problem_ale_stokes_subtype
ALE Stokes problem subtype.
Returns the degree of the polynomial used to interpolate time for a dynamic solver.
subroutine cmfe_solver_geometrictransformationrotationsetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, pivotPoint, axis, angle, err)
Sets the rotation for a geometric transformation identified by an user number, default to be the 1st ...
subroutine cmfe_solver_daetimessetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, startTime, endTime, err)
Sets/changes the times for an differential-algebraic equation solver identified by an user number...
subroutine cmfe_problem_solverequationsgetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, solverEquations, err)
Returns the solver equations from a problem identified by an user number.
Sets/changes the collapsed Xi flags for a basis.
subroutine cmfe_interfacecondition_equationscreatefinishobj(interfaceCondition, err)
Finishes the creation of interface equations for an interface condition identified by an object...
subroutine cmfe_analyticanalysis_absoluteerrorgetnodenumber(regionUserNumber, fieldUserNumber, variableType, versionNumber, derivativeNumber, nodeNumber, componentNumber, value, err)
Get absolute error value for the node in a field specified by a user number compared to the analytic ...
subroutine cmfe_decomposition_destroynumber(regionUserNumber, meshUserNumber, decompositionUserNumber, err)
Destroys a decomposition identified by a user number.
subroutine cmfe_field_destroyobj(field, err)
Destroys a field identified by an object.
subroutine cmfe_field_parametersetupdateelementlnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given logical value for the element of the field variable co...
subroutine cmfe_equationsset_derivedcreatefinishnumber(regionUserNumber, equationsSetUserNumber, err)
Finish the creation of derived variables for an equations set identified by a user number...
subroutine cmfe_nodes_usernumbersetnumber(regionUserNumber, nodeGlobalNumber, nodeUserNumber, err)
Sets/changes the user number for a node in a set of nodes identified by user number.
subroutine, public cmfe_history_initialise(cmfe_History, err)
Initialises a cmfe_HistoryType object.
subroutine cmfe_equationsset_analyticdestroynumber(regionUserNumber, equationsSetUserNumber, err)
Destroy the analytic solution for an equations set identified by a user number.
subroutine cmfe_datapoints_valuesgetnumber(regionUserNumber, dataPointGlobalNumber, dataPointValues, err)
Returns the values for a data point in a set of data points identified by user number.
subroutine, public cmfe_coordinatesystem_initialise(cmfe_CoordinateSystem, err)
Initialises a cmfe_CoordinateSystemType object.
integer(intg), parameter, public cmfe_boundary_condition_free_wall
integer(intg), parameter, public cmfe_problem_standard_darcy_subtype
Standard Darcy problem subtype.
integer(intg), parameter, public cmfe_problem_biharmonic_equation_type
Bi-harmonic equation problem type.
integer(intg), parameter, public cmfe_equations_lumped_matrices
The equations matrices are "mass" lumped.
subroutine cmfe_controlloop_numberofiterationssetnumber0(problemUserNumber, controlLoopIdentifier, numberOfIterations, err)
Sets the number of iterations for a time control loop identified by user number.
subroutine cmfe_field_createstartinterfaceobj(fieldUserNumber, interface, field, err)
Starts the creation of a field on an interface identified by an object.
subroutine cmfe_datapoints_weightssetnumber(regionUserNumber, dataPointGlobalNumber, dataPointWeights, err)
Sets/changes the weights for a data point in a set of data points identified by user number...
integer(intg), parameter, public cmfe_boundary_condition_fixed_inlet
subroutine cmfe_fields_elementsexportcvsobj(fields, fileName, method, err)
Export element information for fields set identified by an object.
integer(intg), parameter, public cmfe_solver_dynamic_hilbert_hughes_taylor2_scheme
1st Hilbert-Hughes-Taylor dynamic solver.
Destroys equations for an equations set.
subroutine cmfe_dataprojection_resultxigetobj(dataProjection, dataPointUserNumber, ProjectionXi, err)
Returns the projection xi for a data point in a set of data points identified by an object...
integer(intg), parameter, public cmfe_problem_static_stokes_subtype
Static Stokes problem subtype.
subroutine cmfe_fields_createinterface(interface, fields, err)
Creates a cmfe_FieldsType object for an inteface by an object reference.
subroutine cmfe_solver_dynamiclinearsolvergetobj(solver, linearSolver, err)
Returns the linear solver associated with a linear dynamic solver identified by an object...
subroutine cmfe_solver_daeeulersolvertypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, DAEEulerSolverType, err)
Sets/changes the solve type for an Euler differential-algebraic equation solver identified by an user...
Finishes the creation of a new basis.
subroutine cmfe_dataprojection_datapointsprojectionevaluateobj(dataProjection, projectionField, err)
Evaluate a data projection identified by an object.
subroutine cmfe_equations_sparsitytypegetnumber(regionUserNumber, equationsSetUserNumber, sparsityType, err)
Gets the sparsity type for equations identified by a user number.
integer(intg), parameter, public cmfe_equations_set_incompress_finite_elasticity_darcy_subtype
Incompressible version for finite elasticity coupled with Darcy equations set subtype.
subroutine cmfe_field_parametersetupdatelocaldofsdpobj(field, variableType, fieldSetType, values, err)
Updates the given parameter set with the given values for all local dofs of the field variable identi...
integer(intg), parameter, public cmfe_equations_set_navier_stokes_equation_type
Navier-Stokes equations set type.
subroutine cmfe_equationsset_deriveddestroyobj(equationsSet, err)
Destroy the derived variables for an equations set identified by an object.
integer(intg), parameter, public cmfe_problem_stokes_equation_type
Stokes equation problem type.
subroutine cmfe_region_labelgetcnumber(regionUserNumber, label, err)
Returns the character string label for a region identified by an user number.
integer(intg), parameter, public cmfe_matrix_diagonal_storage_type
Distributed matrix diagonal storage type.
integer(intg), parameter, public cmfe_equations_set_monodomain_strang_splitting_equation_type
Monodomain equation equations Strang Splitting set type.
subroutine cmfe_dataprojection_datapointspositionevaluateinterfacenumber(dataProjectionUserNumber, parentRegionUserNumber, interfaceUserNumber, fieldUserNumber, fieldVariableType, err)
Evaluate the data points position in a field based on data projection in an interface, identified by user number.
Contains information on the mesh decomposition.
integer(intg), parameter, public cmfe_problem_laplace_stokes_subtype
Laplace type Stokes problem subtype.
integer(intg), parameter, public cmfe_decomposition_calculated_type
The element decomposition is calculated by graph partitioning.
subroutine, public cmfe_equations_numberofdynamicmatricesget(equations, numberOfMatrices, err)
Get the number of dynamic matrices in the equations.
subroutine cmfe_interfacepointsconnectivity_createstartnumber(regionUserNumber, interfaceUserNumber, MeshNumber, err)
Starts the creation of an interface points connectivity identified by a user number.
integer(intg), parameter, public cmfe_equations_set_darcy_pressure_equation_type
Darcy pressure equation equations set type.
Sets/changes the user number for a node identified by a given global number.
subroutine, public cmfe_meshnodes_initialise(cmfe_MeshNodes, err)
Initialises a cmfe_MeshNodesType object.
subroutine cmfe_interfacepointsconnectivity_pointxigetobj(interfacePointsConnectivity, interfaceDataPointIndexNumber, coupledMeshIndexNumber, xi, err)
Gets the xi coordinate mapping between the interface data points and xi coordinates in a coupled regi...
subroutine cmfe_cellml_modelsfieldcreatestartobj(CellML, CellMLModelsFieldUserNumber, field, err)
Start the creation of CellML models field for a CellML environment identified by an object...
subroutine, public cmfe_dataprojection_initialise(cmfe_DataProjection, err)
Initialises a cmfe_DataProjectionType object.
subroutine cmfe_solver_lineariterativedivergencetolerancesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, divergenceTolerance, err)
Sets/changes the maximum divergence tolerance for an iterative linear solver identified by an user nu...
subroutine cmfe_coordinatesystem_focusgetobj(coordinateSystem, focus, err)
Returns the focus of a coordinate system identified by an object.
subroutine cmfe_fields_nodesexportvsvsobj(fields, fileName, method, err)
Export nodal information for fields set identified by an object.
subroutine cmfe_solver_quasinewtonrestarttypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, quasiNewtonRestartType, err)
Sets/changes the restart type of a Quasi-Newton solver identified by an user number.
subroutine cmfe_mesh_topologydatapointscalculateprojectionregionnumber(regionUserNumber, MeshUserNumber, DataProjection, err)
Calculate mesh data points topology in a region identified by a user number based on projection...
subroutine cmfe_solver_daesolvertypegetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, DAESolverType, err)
Returns the solve type for an differential-algebraic equation solver identified by an user number...
integer(intg), parameter, public cmfe_problem_ale_navier_stokes_subtype
ALE Navier-Stokes problem subtype.
integer(intg), parameter, public cmfe_basis_extended_lagrange_tp_type
Extendend Lagrange tensor product basis type.
subroutine cmfe_field_parametersetgetgausspointdpobj(field, variableType, fieldSetType, gaussPointNumber, userElementNumber, componentNumber, VALUE, err)
Returns from the given parameter set a double precision value for the specified element of a field va...
subroutine cmfe_distributedmatrix_storagelocationsgetobj(matrix, rowIndices, columnIndices, err)
Get the row indices and column indices for a sparse matrix.
subroutine cmfe_generatedmesh_createstartregionobj(generatedMeshUserNumber, region, generatedMesh, err)
Starts the creation of a generated mesh on a region identified by an object.
subroutine cmfe_field_variablelabelgetcobj(field, variableType, label, err)
Returns the character string label for a field variable for a field identified by an object...
subroutine cmfe_field_datatypesetobj(field, variableType, dataType, err)
Sets/changes the data type for a field variable for a field identified by an object.
integer(intg), parameter, public cmfe_solver_tao_library
TAO solver library.
subroutine cmfe_nodes_createfinishnumber(regionUserNumber, err)
Finishes the process of creating nodes in a region for nodes identified by user number.
subroutine cmfe_solver_dynamiclinearitytypegetobj(solver, linearityType, err)
Returns the linearity type for a dynamic solver identified by an object.
subroutine cmfe_fieldml_inputcreatemeshcomponentobjvs(fieldml, mesh, componentNumber, evaluatorName, err)
Use the given FieldML evaluator as a template to create a component on the given mesh.
subroutine cmfe_field_parametersetgetelementspnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Returns from the given parameter set a single precision value for the specified element of a field va...
subroutine cmfe_dataprojection_relativetolerancesetnumber(dataProjectionUserNumber, regionUserNumber, relativeTolerance, err)
Sets/changes the relative tolerance of data projection identified by a data projection user number an...
subroutine cmfe_controlloop_labelgetcobj(controlLoop, label, err)
Returns the character string label for a control loop identified by an object.
integer(intg), parameter, public cmfe_solver_dynamic_bossak_newmark2_scheme
2nd Bossak-Newmark dynamic solver.
integer(intg), parameter, public cmfe_coordinate_rectangular_cartesian_type
Rectangular Cartesian coordinate system type.
subroutine cmfe_solver_quasinewtonmaximumfunctionevaluationssetobj(solver, maximumFunctionEvaluations, err)
Sets/changes the maximum number of function evaluations for a Quasi-Newton solver identified by an ob...
Sets/changes the element user numbers for all element in a mesh.
subroutine cmfe_solver_quasinewtonrestartsetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, quasiNewtonRestart, err)
Sets/changes the restart of a Quasi-Newton solver identified by an user number.
subroutine, public cmfe_dataprojection_finalise(cmfe_DataProjection, err)
Finalises a cmfe_DataProjectionType object.
subroutine cmfe_analyticanalysis_rmserrorgetnodenumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, errorType, localValue, localGhostValue, globalValue, err)
Get rms error value for nodes in a field compared to the analytic value.
subroutine cmfe_cellml_modelimportobjvs(CellML, URI, modelIndex, err)
Imports a specified CellML model as specified by a varying string URI into a CellML environment ident...
subroutine cmfe_field_parametersetupdategausspointlnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, gaussPointNumber, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given logical value for the element Gauss point of the field...
Returns the maximum iteration update for a data projection.
subroutine cmfe_meshelements_basisgetnumber(regionUserNumber, meshUserNumber, meshComponentNumber, globalElementNumber, basisUserNumber, err)
Returns the basis for an element in a mesh identified by an user number.
subroutine cmfe_cellml_statefieldcreatestartobj(CellML, CellMLStateFieldUserNumber, field, err)
Start the creation of CellML state field for a CellML environment identified by an object...
subroutine cmfe_field_parametersetdatagetlobj(field, variableType, fieldSetType, parameters, err)
Returns a pointer to the specified field parameter set local logical data array for a field identifie...
integer(intg), parameter, public cmfe_solver_newton_trustregion
Newton trust region nonlinear solver type.
integer(intg), parameter, public cmfe_global_deriv_s2_s3
Global Cross derivative in the s2 and s3 direction i.e., d^2u/ds2ds3.
subroutine cmfe_controlloop_controlloopgetobj0(controlLoopRoot, controlLoopIdentifier, controlLoop, err)
Returns the specified control loop as indexed by the control loop identifier from the control loop ro...
subroutine cmfe_nodes_labelsetvsobj(nodes, nodeGlobalNumber, label, err)
Sets/changes the varying string label for a node in a set of nodes identified by an object...
subroutine cmfe_solver_nonlineartypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, nonlinearSolveType, err)
Sets/changes the type of a nonlinear solver identified by an user number.
subroutine cmfe_solver_quasinewtonabsolutetolerancesetobj(solver, absoluteTolerance, err)
Sets/changes the absolute tolerance for a Quasi-Newton solver identified by an object.
subroutine cmfe_dataprojection_projectiontypesetnumber(dataProjectionUserNumber, regionUserNumber, projectionType, err)
Sets/changes the projection type of data projection identified by a region user number.
subroutine cmfe_cellml_fieldmapscreatestartnumber(regionUserNumber, CellMLUserNumber, err)
Starts the creation of field maps for a CellML environment identified by a user number.
subroutine cmfe_decomposition_topologyelementdatapointlocalnumbergetobj(decomposition, elementNumber, dataPointIndex, dataPointLocalNumber, err)
Gets the local data point number for data points projected on an element.
subroutine cmfe_meshelements_usernumbergetnumber(regionUserNumber, meshUserNumber, meshComponentNumber, elementGlobalNumber, elementUserNumber, err)
Returns the user number for an element in a mesh identified by an user number.
subroutine cmfe_analyticanalysis_integralniderrorgetobj(field, variableType, componentNumber, integralValue, ghostIntegralValue, err)
Get integral value for the nid error.
subroutine cmfe_controlloop_timeoutputsetnumber1(problemUserNumber, controlLoopIdentifiers, outputFrequency, err)
Sets/changes the output parameters for a time control loop identified by user numbers.
subroutine, public cmfe_computationalworkgroup_initialise(cmfe_ComputationalWorkGroup, err)
Initialises a cmfe_ComputationalWorkGroupType object.
subroutine cmfe_solver_newtonmaximumfunctionevaluationssetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, maximumFunctionEvaluations, err)
Sets/changes the maximum number of function evaluations for a Newton solver identified by an user num...
Sets/changes the number of Gauss points in each Xi direction on a basis quadrature.
subroutine cmfe_field_parametersetcreatenumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, err)
Creates a new parameter set of type set type for a field variable for a field identified by a user nu...
integer(intg), parameter, public cmfe_problem_vector_data_pre_fitting_subtype
Standard Galerkin projection problem subtype.
Starts the creation of a mesh elements for a mesh component.
integer(intg), parameter, public cmfe_solver_iterative_sor_preconditioner
Successive over relaxation preconditioner type.
integer(intg), parameter, public cmfe_problem_monodomain_strang_split_subtype
Monodomain Gudunov split problem subtype.
integer(intg), parameter, public cmfe_problem_no_subtype
No problem subtype.
subroutine cmfe_nodes_usernumbersallsetnumber(regionUserNumber, nodeUserNumbers, err)
Sets/changes the user numbers for a set of nodes identified by user number.
subroutine cmfe_fields_nodesexportccobj(fields, fileName, method, err)
Export nodal information for fields set identified by an object.
subroutine cmfe_cellml_createstartnumber(CellMLUserNumber, regionUserNumber, err)
Starts the creation of a CellML environment identified by a user number.
subroutine cmfe_cellml_fieldcomponentgetobjvs(CellML, CellMLModelUserNumber, CellMLFieldType, variableID, fieldComponent, err)
Returns the field component number that corresponds to a varying string variable ID for a CellML envi...
Destroys a domain decomposition.
subroutine cmfe_controlloop_absolutetolerancesetnumber1(problemUserNumber, controlLoopIdentifiers, absoluteTolerance, err)
Sets/changes the maximum iterations for a while control loop identified by user numbers.
integer(intg), parameter, public cmfe_problem_nonlinear_source_ale_diffusion_subtype
Nonlinear source Diffusion problem subtype.
subroutine cmfe_basis_collapsedxisetnumber(userNumber, collapsedXi, err)
Sets/changes the collapsed Xi flags of a basis identified by a user number.
subroutine cmfe_problem_solversdestroyobj(problem, err)
Destroys the solvers for problem identified by an object.
integer(intg), parameter, public cmfe_solver_iterative_richardson
Richardson iterative solver type.
subroutine cmfe_interface_nodesgetobj(interface, nodes, err)
Returns the nodes for a interface identified by an object.
subroutine cmfe_generatedmesh_geometricparameterscalculatenumber(regionUserNumber, generatedMeshUserNumber, fieldUserNumber, err)
Calculates and sets the geometric field parameters for a generated mesh identified by a user number...
subroutine cmfe_field_componentmeshcomponentgetnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, meshComponent, err)
Returns the mesh component number for a field variable component for a field identified by a user num...
subroutine cmfe_solver_outputtypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, outputType, err)
Sets/changes the type of output for a solver identified by an user number.
integer(intg), parameter, public cmfe_solver_dae_adams_moulton
Adams-Moulton differential-algebraic equation solver.
subroutine cmfe_region_labelsetvsobj(region, label, err)
Sets/changes string label for a region identified by an object.
subroutine cmfe_meshnodes_numberofderivativesgetnumber(regionUserNumber, meshUserNumber, meshComponentNumber, userNodeNumber, numberOfDerivatives, err)
Returns the number of derivatives at a node in a mesh identified by an user number.
Returns the user number for a node identified by a given global number.
subroutine cmfe_fieldml_inputcoordinatesystemcreatestartobjc(fieldml, evaluatorName, coordinateSystem, userNumber, err)
Create a coordinate system using the given FieldML evaluator.
subroutine cmfe_analyticanalysis_integralniderrorgetnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, integralValue, ghostIntegralValue, err)
Get integral value for the nid error.
subroutine cmfe_interfacepointsconnectivity_elementnumbergetobj(interfacePointsConnectivity, interfaceDataPointIndexNumber, coupledMeshIndexNumber, meshComponentNumber, coupledMeshElementNumber, err)
Gets coupled mesh element number that the data point in the interface is connected to...
subroutine cmfe_solver_daeeulersolvertypegetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, DAEEulerSolverType, err)
Returns the solve type for an Euler differential-algebraic equation solver identified by an user numb...
integer(intg), parameter, public cmfe_solver_dynamic_second_degree_gear_scheme
2nd degree Gear dynamic solver.
subroutine cmfe_region_labelgetvsnumber(regionUserNumber, label, err)
Returns the varying string label for a region identified by an user number.
Returns the user number of an object.
integer(intg), parameter, public cmfe_equations_set_two_dimensional_plane_stress_subtype
Plane stress linear elasticity equations set subtype.
Get the interpolation type in each Xi directions for a basis.
integer(intg), parameter, public cmfe_solver_essl_library
ESSL solver library.
subroutine, public cmfe_equations_residualvectorget(equations, residualIndex, residualVector, err)
Get a residual vector for equations.
Constrain multiple nodal equations dependent field DOFs to be a single solver DOF in the solver equat...
subroutine, public cmfe_finalise(err)
Finalises CMISS.
subroutine cmfe_solver_quasinewtontypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, quasiNewtonType, err)
Sets/changes the type of a Quasi-Newton solver identified by an user number.
subroutine cmfe_interface_labelsetvsobj(interface, label, err)
Sets/changes string label for an interface identified by an object.
subroutine cmfe_meshelements_nodessetobj(meshElements, globalElementNumber, elementUserNodes, err)
Sets/changes the element nodes for an element in a mesh identified by an object.
integer(intg), parameter, public cmfe_problem_monodomain_gudunov_split_subtype
Monodomain Gudunov split problem subtype.
subroutine cmfe_equationsset_createstartobj(equationsSetUserNumber, region, geomFibreField, equationsSetSpecification, equationsSetFieldUserNumber, equationsSetFieldField, equationsSet, err)
Start the creation of an equations set identified by an object.
subroutine cmfe_solverequations_sparsitytypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, sparsityType, err)
Sets/changes the sparsity type for solver equations identified by an user number. ...
subroutine, public cmfe_fieldmlio_initialise(fieldml, err)
Initialises a Fieldml context.
integer(intg), parameter, public cmfe_equations_set_shell_subtype
Shell linear elasticity equations set subtype.
subroutine cmfe_datapoints_destroynumber(regionUserNumber, err)
Destroys the data points in a region for data points identified by user number.
subroutine cmfe_decomposition_calculatefacessetnumber(regionUserNumber, meshUserNumber, decompositionUserNumber, calculateFacesFlag, err)
Sets whether faces should be calculated.
subroutine cmfe_solver_quasinewtonrelativetolerancesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, relativeTolerance, err)
Sets/changes the relative tolerance for an Quasi-Newton solver identified by an user number...
subroutine cmfe_controlloop_labelsetcnumber0(problemUserNumber, controlLoopIdentifier, label, err)
Sets/changes the character string label for a control loop identified by an user number.
subroutine cmfe_field_parametersetdatarestorelnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, parameters, err)
Restores the specified field variable parameter set local logical array that was obtained with an Ope...
Starts the creation of a new data projection.
subroutine cmfe_field_parametersetcreateobj(field, variableType, fieldSetType, err)
Creates a new parameter set of type set type for a field variable for a field identified by an object...
subroutine cmfe_interfacemeshconnectivity_basissetnumber(regionUserNumber, interfaceUserNumber, interfaceBasisNumber, err)
Contains information on an equations set defined on a region.
subroutine cmfe_equationsset_tensorinterpolatexinumber(regionUserNumber, equationsSetUserNumber, tensorEvaluateType, userElementNumber, xi, values, err)
Evaluate a tensor at a given element xi location, for an equations set identified by a user number...
subroutine cmfe_interfacepointsconnectivity_destroynumber(regionUserNumber, interfaceUserNumber, err)
Destroys an interface points connectivity identified by a user number.
subroutine, public cmfe_meshnodes_finalise(cmfe_MeshNodes, err)
Finalises a cmfe_MeshNodesType object.
subroutine cmfe_problem_solvenumber(problemUserNumber, err)
Solves a problem identified by an user number.
integer(intg), parameter, public cmfe_problem_finite_elasticity_stokes_type
Finite Elasticity Stokes problem type.
subroutine cmfe_field_variablelabelgetcnumber(regionUserNumber, fieldUserNumber, variableType, label, err)
Returns the character string label for a field variable for a field identified by a user number...
subroutine cmfe_basis_quadraturenumberofgaussxisetnumber(userNumber, numberOfGaussXi, err)
Sets/changes the number of Gauss points in each Xi directions for a basis quadrature identified by a ...
subroutine cmfe_field_componentinterpolationsetobj(field, variableType, componentNumber, interpolationType, err)
Sets/changes the interpolation type for a field variable component for a field identified by an objec...
subroutine cmfe_solver_librarytypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, libraryType, err)
Sets/changes the library type for a solver identified by an user number.
subroutine cmfe_field_parametersetnodescalefactorsetnumber(regionUserNumber, fieldUserNumber, variableType, versionNumber, derivativeNumber, nodeUserNumber, componentNumber, scaleFactor, err)
Sets the scale factor for a particular node identified by a user number.
subroutine cmfe_field_parametersetupdateconstantlnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Updates the given parameter set with the given logical value for the constant of the field variable c...
subroutine cmfe_field_parametersetinterpolatemultiplexidpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, derivativeNumber, userElementNumber, xi, values, err)
Interpolates the given parameter set at a specified set of xi locations for the specified element and...
subroutine, public cmfe_computationalnumberofnodesget(numberOfNodes, err)
Returns the number of computational nodes for the running process.
Sets/changes the line search maximum step for a nonlinear Newton solver.
subroutine cmfe_solver_newtonlinesearchmaxstepsetobj(solver, maxStep, err)
Sets/changes the line search maximum step for a Newton line search solver identified by an object...
subroutine cmfe_basis_numberofxigetobj(basis, numberOfXi, err)
Returns the number of Xi directions in a basis identified by an object.
subroutine cmfe_solver_nonlineartypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, nonlinearSolveType, err)
Sets/changes the type of a nonlinear solver identified by an user number.
Sets/changes the coordinate system of region.
subroutine cmfe_meshelements_usernodeversionsetnumber(regionUserNumber, meshUserNumber, globalElementNumber, versionNumber, derivativeNumber, userNodeNumber, meshComponentNumber, err)
Sets/changes the element nodes for an element in a mesh identified by an user number.
Returns the number of Xi directions in a basis.
subroutine cmfe_field_componentvaluesinitialiseintgobj(field, variableType, fieldSetType, componentNumber, value, err)
Initialises the values of parameter set of a field variable component to an integer constant value fo...
subroutine cmfe_solverequations_interfaceconditionaddnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, interfaceRegionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, interfaceConditionIndex, err)
Adds an interface condition to solver equations identified by an user number.
subroutine cmfe_problem_solversdestroynumber(problemUserNumber, err)
Destroys the solvers for a problem identified by an user number.
Contains information for a region.
subroutine cmfe_solver_quasinewtonsolvetypesetobj(solver, quasiNewtonSolveType, err)
Sets/changes the type of a Quasi-Newton solver identified by an object.
Finishes the creation of a coordinate system.
Sets/changes a user node&#39;s derivative version for an element in a mesh.
subroutine cmfe_solver_daesolvertypegetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, DAESolverType, err)
Returns the solve type for an differential-algebraic equation solver identified by an user number...
subroutine, public cmfe_equations_dynamicmatrixgetbytype(equations, matrixType, matrix, err)
Get a dynamic equations matrix from equations using the dynamic matrix type.
integer(intg), parameter, public cmfe_matrix_vector_dp_type
Double precision real distributed matrix-vector data type.
subroutine cmfe_controlloop_numberofiterationsgetnumber1(problemUserNumber, controlLoopIdentifiers, numberOfIterations, err)
Gets the number of iterations for a time control loop identified by user numbers. ...
subroutine cmfe_solver_newtonlinearsolvergetobj(solver, linearSolver, err)
Returns the linear solver associated with a Newton solver identified by an object.
subroutine cmfe_equationsset_specificationgetobj(equationsSet, equationsSetSpecification, err)
Returns the equations set specification array for an equations set identified by an object...
subroutine cmfe_equationsset_equationsdestroynumber(regionUserNumber, equationsSetUserNumber, err)
Destroy the equations for an equations set identified by a user number.
subroutine cmfe_basis_quadraturesinglegaussxigetnumber(userNumber, quadratureScheme, GaussPoint, GaussXi, err)
Returns the xi position of a Gauss point on a basis quadrature identified by a user number...
subroutine cmfe_fields_nodesexportvscobj(fields, fileName, method, err)
Export nodal information for fields set identified by an object.
integer(intg), parameter, public cmfe_equations_jacobian_analytic_calculated
Evaluate Jacobian matrix using analytic expressions.
subroutine cmfe_solverequations_boundaryconditionscreatefinishobj(solverEquations, err)
Finish the creation of the boundary conditions for the solver equations.
Returns the time parameters for a time control loop.
subroutine cmfe_cellml_createfinishobj(CellML, err)
Finish the creation of a CellML environment identified by an object.
Returns the component for a given CellML field that corresponds to the specified CellML variable ID...
subroutine cmfe_solver_quasinewtonrestartsetobj(solver, quasiNewtonRestart, err)
Sets/changes the restart of a Quasi-Newton solver identified by an object.
subroutine, public cmfe_outputsetoff(err)
Sets output off.
subroutine cmfe_fieldml_inputfieldparametersupdatenumbervs(fieldml, regionNumber, fieldNumber, evaluatorName, variableType, setType, err)
Update the DOF parameters of field with the given user number, using the given FieldML evaluator...
subroutine cmfe_decomposition_typegetobj(decomposition, decompositionType, err)
Returns the type of a decomposition identified by an object.
subroutine, public cmfe_solverequations_rhsvectorget(solverEquations, rhsVector, err)
Get the right hand side vector from the solver equations.
integer(intg), parameter, public cmfe_problem_linear_source_advection_diffusion_subtype
Linear source advection-Diffusion problem subtype.
subroutine cmfe_boundaryconditions_constrainnodedofsequalobj(boundaryConditions, field, fieldVariableType, versionNumber, derivativeNumber, component, nodes, coefficient, err)
Constrain multiple nodal equations dependent field DOFs to be a single solver DOF in the solver equat...
integer(intg), parameter, public cmfe_solver_quasi_newton_goodbroyden
"Good" Broyden Quasi-Newton type
integer(intg), parameter, public cmfe_problem_poiseuille_equation_type
Poiseuille equation problem type.
subroutine cmfe_cellml_variablesetaswantednumberc(regionUserNumber, CellMLUserNumber, CellMLModelUserNumber, variableID, err)
Sets a CellML model variable to be wanted by user number.
subroutine cmfe_cellml_createfieldtocellmlmapnumberc(regionUserNumber, CellMLUserNumber, fieldUserNumber, variableType, componentNumber, fieldParameterSet, CellMLModelUserNumber, variableID, CellMLParameterSet, err)
Defines a field variable component to CellML model variable map by user number.
subroutine cmfe_dataprojection_resultdistancegetobj(dataProjection, dataPointUserNumber, ProjectionDistance, err)
Returns the projection distance for a data point in a set of data points identified by an object...
integer(intg), parameter, public cmfe_equations_set_classical_field_class
Classical Field equations set class.
Sets/changes the absolute tolerance for an iterative linear solver.
subroutine cmfe_field_numberofvariablesgetobj(field, numberOfVariables, err)
Returns the number of variables for a field identified by an object.
integer(intg), parameter, public cmfe_problem_modal_class
Modal problem class.
subroutine cmfe_field_parametersetgetconstantintgobj(field, variableType, fieldSetType, componentNumber, value, err)
Returns from the given parameter set an integer value for the specified constant of a field variable ...
subroutine cmfe_field_parametersetaddelementspobj(field, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Adds the given single precision value to an element in the given parameter set for field variable com...
subroutine cmfe_fields_elementsexportccobj(fields, fileName, method, err)
Export element information for fields set identified by an object.
subroutine cmfe_solver_newtonsolutiontolerancesetobj(solver, solutionTolerance, err)
Sets/changes the solution tolerance for a Newton solver identified by an object.
Start the creation of solver equations for a problem.
subroutine cmfe_solver_quasinewtonmaximumiterationssetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, maximumIterations, err)
Sets/changes the maximum number of iterations for an Quasi-Newton solver identified by an user number...
integer(intg), parameter, public cmfe_problem_reaction_diffusion_equation_type
Reaction-Diffusion equation problem type.
subroutine, public cmfe_controlloop_loadoutputset(controlLoop, outputFrequency, err)
Sets/changes the output parameters for a load control loop identified by an object.
subroutine cmfe_fieldml_inputnodescreatestartobjc(fieldml, nodesArgumentName, region, nodes, err)
Creates a region&#39;s nodes using the given FieldML evaluator.
integer(intg), parameter, public cmfe_solver_newton_linesearch_quadratic
Quadratic search for Newton line search nonlinear solves.
subroutine cmfe_interfacemeshconnectivity_nodenumbersetnumber(regionUserNumber, interfaceUserNumber, interfaceElementNumber, coupledMeshIndexNumber, coupledMeshElementNumber, err)
Sets the connectivity between an element in a coupled mesh to an element in the interface mesh...
subroutine cmfe_interfacepointsconnectivity_createstartobj(interface, interfaceMesh, interfacePointsConnectivity, err)
Starts the creation of an interface points connectivity identified by an object.
subroutine cmfe_controlloop_numberofsubloopssetnumber0(problemUserNumber, controlLoopIdentifier, numberOfSubLoops, err)
Sets/changes the number of sub-control loops for a control loop identified by user numbers...
integer(intg), parameter, public cmfe_coordinate_prolate_spheroidal_type
Prolate spheroidal coordinate system type.
subroutine, public cmfe_datapoints_initialise(cmfe_DataPoints, err)
Initialises a cmfe_DataPointsType object.
subroutine cmfe_equationsset_sourcedestroyobj(equationsSet, err)
Destroy the source for an equations set identified by an object.
subroutine cmfe_field_parametersetupdatedatapointspnumberr(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Update the given parameter set a single precision value for the specified data point of a field varia...
integer(intg), parameter, public cmfe_boundary_condition_cauchy
subroutine cmfe_field_parametersetgetdatapointdpnumberi(parentRegionUserNumber, interfaceUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Returns from the given parameter set a double precision value for the specified data point of a field...
type(varying_string) error
subroutine cmfe_solver_lineariterativemaximumiterationssetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, maximumIterations, err)
Sets/changes the maximum number of iterations for an iterative linear solver identified by an user nu...
subroutine cmfe_solver_quasinewtontrustregiondelta0setnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, delta0, err)
Sets/changes the delta0 for a Quasi-Newton trust region solver identified by an user number...
subroutine cmfe_field_dofordertypesetobj(field, variableType, DOFOrderType, err)
Sets/changes the DOF Order type for a field variable for a field identified by an object...
integer(intg), parameter, public cmfe_boundary_condition_neumann_point
Specify the normal derivative at a node, which is then integrated to find the nodal load term...
subroutine cmfe_field_parametersetupdatenodelnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Updates the given parameter set with the given logical value for the node and derivative of the field...
Returns the element nodes for an element in a mesh.
subroutine cmfe_decomposition_calculatelinessetobj(decomposition, calculateLinesFlag, err)
Sets whether lines should be calculated.
integer(intg), parameter, public cmfe_solver_umfpack_library
UMFPACK solver library.
subroutine cmfe_equationsset_analyticuserparamgetnumber(regionUserNumber, equationsSetUserNumber, paramIdx, param, err)
Sets the analytic problem user parameter.
integer(intg), parameter, public cmfe_character_type
Character data type.
Sets/Changes the time parameters for a time control loop.
Sets/changes the dynamic times for a dynamic solver.
integer(intg), parameter, public cmfe_problem_monodomain_1d3d_active_strain_subtype
Transient monodomain active strain elasticity problem subtype.
subroutine cmfe_solver_quasinewtonmaximumfunctionevaluationssetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, maximumFunctionEvaluations, err)
Sets/changes the maximum number of function evaluations for an Quasi-Newton solver identified by an u...
subroutine cmfe_coordinatesystem_orientationgetnumber(coordinateSystemUserNumber, orientation, err)
Returns the orientation of a coordinate system identified by a user number.
subroutine cmfe_dataprojection_labelgetcregionnumber(dataProjectionUserNumber, regionUserNumber, label, err)
Get the character string label of a data projection identified by a region user number.
subroutine cmfe_coordinatesystem_orientationsetobj(coordinateSystem, orientation, err)
Sets/changes the orientation of a coordinate system identified by an object.
Provides input and output of fields through the FieldML API.
subroutine cmfe_solver_quasinewtonlinearsolvergetobj(solver, linearSolver, err)
Returns the linear solver associated with a Quasi-Newton solver identified by an object.
subroutine cmfe_solver_newtonlinesearchmonitoroutputsetobj(solver, monitorLinesearchFlag, err)
Enables/disables output monitoring for a nonlinear Newton line search solver identified by an object...
subroutine cmfe_interfaceequations_outputtypesetnumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, outputType, err)
Sets/changes the output type for an interface equations identified by a user number.
subroutine cmfe_solver_dynamicthetasetnumber10(problemUserNumber, controlLoopIdentifiers, solverIndex, theta, err)
Sets/changes the theta for a dynamic solver identified by an user number.
subroutine cmfe_coordinatesystem_orientationsetnumber(coordinateSystemUserNumber, orientation, err)
Sets/changes the orientation of a coordinate system identified by a user number.
integer(intg), parameter, public cmfe_equations_no_output
No output from the equations.
subroutine cmfe_equationsset_analyticevaluateobj(equationsSet, err)
Evaluates the current analytic solution for an equations set identified by an object.
Returns the coordinate system orientation.
subroutine cmfe_cellml_variablesetasknownnumberc(regionUserNumber, CellMLUserNumber, CellMLModelUserNumber, variableID, err)
Sets a CellML model variable to be known by user number.
subroutine, public cmfe_diagnosticsseton(diagType, levelList, diagFilename, routineList, err)
Sets diagnostics on.
subroutine cmfe_field_parametersetupdateelementdatapointdpobj(field, variableType, fieldSetType, elementNumber, dataPointIndex, componentNumber, value, err)
Updates the given parameter set with the given double precision value for the element data point of t...
subroutine, public cmfe_solverequations_numberofmatricesget(solverEquations, numberOfMatrices, err)
Get the number of solver matrices for the solver equations.
subroutine cmfe_nodes_numberofnodesgetnumber(regionUserNumber, numberOfNodes, err)
Returns the number of nodes.
subroutine cmfe_dataprojection_elementsetregionnumber(dataProjectionUserNumber, regionUserNumber, dataPointNumber, elementNumber, err)
Sets/changes the starting xi of data projection identified by a region user number.
integer(intg), parameter, public cmfe_in_timing_type
Type for setting timing output in one routine.
subroutine cmfe_solver_geometrictransformationtranslationsetobj1(solver, translation, loadIncrementIdx, err)
Sets the translation vector at a specific load increment for a geometric transformation solver identi...
subroutine cmfe_solver_labelsetvsnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, label, err)
Sets/changes the varying string label for a solver identified by an user number.
integer(intg), parameter, public cmfe_solver_dae_index_1
Index 1 differential-algebraic equation.
integer(intg), parameter, public cmfe_solver_dynamic_linear
Dynamic solver has linear terms.
integer(intg), parameter, public cmfe_equations_matrix_output
All below and equation matrices output.
subroutine cmfe_field_parametersetupdateelementspnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given single precision value for the element of the field va...
A vector that may be distributed across multiple computational nodes.
integer(intg), parameter, public cmfe_problem_nonlinear_source_ale_advection_diffusion_subtype
Nonlinear source advection-Diffusion problem subtype.
subroutine cmfe_problem_specificationgetobj(problem, problemSpecification, err)
Returns the specification array for a problem identified by an object.
subroutine cmfe_problem_solvergetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, solver, err)
Returns a solver from a problem identified by an user number.
subroutine cmfe_field_variabletypessetnumber(regionUserNumber, fieldUserNumber, variableTypes, err)
Sets/changes the field variable types for a field identified by a user number.
subroutine cmfe_controlloop_labelsetcnumber1(problemUserNumber, controlLoopIdentifiers, label, err)
Sets/changes the character string label for a control loop identified by an user number.
subroutine cmfe_solver_newtonconvergencetesttypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, convergenceTestType, err)
Sets/changes the convergence test type for a Newton solver identified by an user number.
subroutine cmfe_field_parametersetupdatefinishnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, err)
Finishes the parameter set update for a field variable for a field identified by a user number...
subroutine cmfe_field_parametersetaddconstantspnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Adds the given single precision value to the given parameter set for the constant of the field variab...
subroutine cmfe_solver_quasinewtoncellmlsolvergetobj(solver, CellMLSolver, err)
Returns the CellML solver associated with a Quasi-Newton solver identified by an object.
subroutine cmfe_solver_quasinewtonmaximumiterationssetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, maximumIterations, err)
Sets/changes the maximum number of iterations for a Quasi-Newton solver identified by an user number...
integer(intg), parameter, public cmfe_equations_set_biharmonic_equation_type
Biharmonic equation equations set type.
integer(intg), parameter, public cmfe_solver_newton_jacobian_fd_calculated
The Jacobian values will be calcualted using finite differences for the nonlinear equations set...
subroutine, public cmfe_timingseton(timingType, timingSummaryFlag, timingFilename, routineList, err)
Sets timing on.
Contains information on a mesh nodes defined in a mesh.
subroutine cmfe_field_parametersetupdatenodeintgnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Updates the given parameter set with the given integer value for the node and derivative of the field...
subroutine cmfe_cellml_modelimportnumbervs(regionUserNumber, CellMLUserNumber, URI, modelIndex, err)
Imports a specified CellML model as specified by a varying string URI into a CellML environment ident...
subroutine cmfe_solver_lineariterativepreconditionertypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, preconditionerType, err)
Sets/changes the preconditioner type for an iterative linear solver identified by an user number...
Sets/changes the quadrature type for a basis quadrature.
subroutine cmfe_datapoints_labelsetvsobj(dataPoints, dataPointGlobalNumber, label, err)
Sets/changes the varying string label for a data point in a set of data points identified by an objec...
integer(intg), parameter, public cmfe_solver_linear_iterative_solve_type
Iterative linear solver type.
subroutine cmfe_coordinatesystem_origingetnumber(coordinateSystemUserNumber, origin, err)
Returns the origin of a coordinate system identified by a user number.
Returns the derivatives for a node in a mesh.
subroutine cmfe_solver_lineartypesetobj(solver, linearSolverType, err)
Sets/changes the type for a linear solver identified by an object.
subroutine cmfe_equationsset_solutionmethodgetnumber(regionUserNumber, equationsSetUserNumber, solutionMethod, err)
Returns the solution method for an equations set identified by a user number.
subroutine cmfe_field_parametersetaddnodelnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Adds the given logical value to an node in the given parameter set for field variable component for a...
Get the data array for this vector on this computational node.
integer, parameter, public cmfe_number_of_interface_matrix_types
integer(intg), parameter, public cmfe_basis_quadratic1_hermite_interpolation
Quadratic Hermite (no derivative at xi=0) interpolation specification.
Sets/changes the coordinate system orientation.
subroutine cmfe_mesh_createstartobj(meshUserNumber, region, numberOfDimensions, mesh, err)
Starts the creation of a mesh for a mesh identified by an object.
Gets the lumping type for equations.
subroutine, public cmfe_quadrature_initialise(cmfe_Quadrature, err)
Initialises a cmfe_QuadratureType object.
integer(intg), parameter, public cmfe_boundary_condition_fixed_wall
subroutine cmfe_solver_quasinewtonmaximumfunctionevaluationssetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, maximumFunctionEvaluations, err)
Sets/changes the maximum number of function evaluations for a Quasi-Newton solver identified by an us...
Sets/changes the element nodes for an element in a mesh.
subroutine cmfe_solver_quasinewtonsolutiontolerancesetobj(solver, solutionTolerance, err)
Sets/changes the solution tolerance for a Quasi-Newton solver identified by an object.
subroutine cmfe_equationsset_derivedvariablesetobj(equationsSet, derivedType, fieldVariableType, err)
Sets the field variable type of the derived field to be used to store a derived variable.
subroutine cmfe_mesh_elementexistsobj(mesh, meshComponentNumber, elementUserNumber, elementExists, err)
Checks if the given element exists on the given mesh component.
subroutine cmfe_basis_destroyobj(basis, err)
Destroys a basis identified by an object.
Starts the creation of a new basis.
subroutine cmfe_solver_newtonlinesearchalphasetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, alpha, err)
Sets/changes the line search alpha for an Newton linesearch solver identified by an user number...
integer(intg), parameter, public cmfe_global_deriv_s1_s2_s3
Cross derivative in the s1, s2 and s3 direction i.e., d^3u/ds1ds2ds3.
subroutine cmfe_cellml_generateobj(CellML, err)
Validiate and instantiate a CellML environment identified by an object.
subroutine cmfe_solver_newtonmaximumfunctionevaluationssetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, maximumFunctionEvaluations, err)
Sets/changes the maximum number of function evaluations for an Newton solver identified by an user nu...
subroutine cmfe_basis_numberoflocalnodesgetobj(basis, numberOfLocalNodes, err)
Returns the number of local nodes in a basis identified by an object.
subroutine cmfe_field_parametersetnodescalefactorssetobj(field, variableType, meshComponentNumber, scaleFactors, err)
Sets the scale factors for all nodes identified by an object.
subroutine cmfe_mesh_numberofcomponentssetobj(mesh, numberOfComponents, err)
Sets/changes the number of components in a mesh identified by an object.
subroutine cmfe_equations_outputtypegetobj(equations, outputType, err)
Gets the output type for equations identified by an object.
subroutine cmfe_generatedmesh_basisgetnumber(regionUserNumber, generatedMeshUserNumber, basisUserNumbers, err)
Returns the basis for a generated mesh on a region identified by a user number.
subroutine cmfe_solverequations_boundaryconditionsgetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, boundaryConditions, err)
Get the boundary conditions for solver equations identified by user numbers.
subroutine cmfe_field_labelsetvsobj(field, label, err)
Sets/changes the varying string label for a field identified by an object.
subroutine cmfe_field_scalingtypesetnumber(regionUserNumber, fieldUserNumber, scalingType, err)
Sets/changes the scaling type for a field identified by a user number.
subroutine cmfe_interfacepointsconnectivity_elementnumbersetnumber(regionUserNumber, interfaceUserNumber, interfaceDataPointIndexNumber, coupledMeshIndexNumber, coupledMeshElementNumber, meshComponentNumber, err)
Sets coupled mesh element number that the data point in the interface is connected to...
subroutine cmfe_coordinatesystem_dimensiongetobj(coordinateSystem, coordinateSystemDimension, err)
Returns the dimension of a coordinate system identified by an object.
subroutine cmfe_interfacepointsconnectivity_updatefromprojectionrnumber(regionUserNumber, interfaceUserNumber, dataPointsRegionUserNumber, dataProjectionUserNumber, coupledMeshIndex, err)
Update points connectivity with projection results, data projection identified by region user number...
subroutine cmfe_field_parametersetnodescalefactorsetobj(field, variableType, versionNumber, derivativeNumber, nodeUserNumber, componentNumber, scaleFactor, err)
Sets the scale factor for a particular node identified by an object.
subroutine cmfe_cellml_intermediatefieldcreatefinishobj(CellML, err)
Finish the creation of CellML intermediate field for a CellML environment identified by an object...
subroutine, public cmfe_meshembedding_initialise(meshEmbedding, err)
Initialises a EmbeddedMeshType object.
subroutine cmfe_distributedmatrix_datagetspobj(matrix, data, err)
Get the data array for this matrix on this computational node.
subroutine cmfe_field_componentinterpolationgetnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, interpolationType, err)
Returns the interpolation type for a field variable component for a field identified by a user number...
subroutine cmfe_solverequations_interfaceconditionaddobj(solverEquations, interfaceCondition, interfaceConditionIndex, err)
Adds an interface condition to solver equations identified by an object.
Sets/changes the solver type for an Euler differential-algebraic equation solver. ...
subroutine cmfe_equationsset_solutionmethodsetnumber(regionUserNumber, equationsSetUserNumber, solutionMethod, err)
Sets/changes the solution method for an equations set identified by a user number.
Finishes the creation of CellML intermediate field.
integer(intg), parameter, public cmfe_problem_diffusion_advection_diffusion_type
Diffusion Advection Diffusion problem type.
subroutine cmfe_field_geometricparameterselementlinelengthgetnumber(regionUserNumber, geometricFieldUserNumber, elementNumber, elementLineNumber, lineLength, err)
Gets the line length between nodes of a geometric field for a given element number and element basis ...
integer(intg), parameter, public cmfe_solver_dynamic_third_degree_gear_scheme
3rd degree Gear dynamic solver.
Returns the basis for an element in a mesh.
subroutine, public cmfe_boundaryconditions_initialise(cmfe_BoundaryConditions, err)
Initialises a cmfe_BoundaryConditionsType object.
subroutine cmfe_field_parametersetupdategausspointspobj(field, variableType, fieldSetType, gaussPointNumber, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given single precision value for the element Gauss point of ...
subroutine cmfe_problem_createstartobj(problemUserNumber, problemSpecification, problem, err)
Starts the creation of a problem identified by an object.
integer(intg), parameter, public cmfe_solver_nonlinear_bfgs_inverse
BFGS inverse nonlinear solver type.
subroutine cmfe_field_parametersetupdatedatapointdpnumberr(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Update the given parameter set a double precision value for the specified data point of a field varia...
integer(intg), parameter, public cmfe_problem_cellml_reac_eval_reac_diff_no_split_subtype
integer(intg), parameter, public cmfe_problem_nonlinear_source_diffusion_subtype
Nonlinear source Diffusion problem subtype.
subroutine cmfe_randomseedsget1(randomSeeds, err)
Returns the random seeds for OpenCMISS.
subroutine cmfe_solver_geometrictransformationmatrixsetnumber1(problemUserNumber, controlLoopIdentifier, solverIndex, matrix, loadIncrementIdx, err)
Sets the full transformation matrix at a specific increment for a geometric transformation identified...
subroutine cmfe_cellml_modelsfieldcreatestartnumber(regionUserNumber, CellMLUserNumber, CellMLModelsFieldUserNumber, err)
Starts the creation of CellML models field for a CellML environment identified by a user number...
integer(intg), parameter, public cmfe_basis_mid_quadrature_scheme
Identifier for a mid order quadrature scheme.
integer(intg), parameter, public cmfe_basis_cubic_simplex_interpolation
Cubic Simplex interpolation specification.
subroutine cmfe_equationsset_independentcreatestartobj(equationsSet, independentFieldUserNumber, independentField, err)
Start the creation of independent variables for an equations set identified by an object...
subroutine cmfe_fieldml_inputmeshcreatestartnumberc(fieldml, meshArgumentName, meshNumber, regionNumber, err)
Creates a mesh with the given user number using the given FieldML evaluator.
subroutine cmfe_datapoints_destroyobj(dataPoints, err)
Destroys the data points in a region for data points identified by an object.
subroutine cmfe_equationsset_independentcreatefinishnumber(regionUserNumber, equationsSetUserNumber, err)
Finish the creation of independent variables for an equations set identified by a user number...
integer(intg), parameter, public cmfe_problem_dynamic_burgers_subtype
dynamic Burgers problem subtype
integer(intg), parameter, public cmfe_from_timing_type
Type for setting timing output from one routine downwards.
subroutine cmfe_field_dimensiongetobj(field, variableType, dimension, err)
Returns the dimension for a field identified by an object.
subroutine cmfe_cellml_modelsfieldcreatefinishobj(CellML, err)
Finish the creation of CellML models field for a CellML environment identified by an object...
subroutine cmfe_fieldml_outputaddfieldnotypenumberc(fieldml, baseName, dofFormat, regionNumber, fieldNumber, variableType, setType, err)
Add the field with the given user number to the given FieldML context. The FieldML type will be infer...
integer(intg), parameter, public cmfe_basis_auxilliary_type
Auxillary basis type.
subroutine cmfe_interfacecondition_dependentvariableaddnumber(interfaceRegionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, meshIndex, equationsSetRegionUserNumber, equationsSetUserNumber, variableType, err)
Adds a dependent variable to an interface condition identified by a user number.
integer(intg), parameter, public cmfe_solver_iterative_bicgstab
Stabalised bi-conjugate gradient iterative solver type.
Sets/changes the type of decomposition.
integer(intg), parameter, public cmfe_equations_set_transverse_isotropic_active_subtype
Transverse isotropic, active-contraction constitutive law for finite elasticity equations set subtype...
integer(intg), parameter, public cmfe_equations_set_membrane_subtype
Compressible version for finite elasticity equations set subtype.
subroutine cmfe_solver_quasinewtonscaletypesetobj(solver, quasiNewtonScaleType, err)
Sets/changes the scale type of a Quasi-Newton solver identified by an object.
subroutine cmfe_solver_newtonjacobiancalculationtypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, jacobianCalculationType, err)
Sets/changes the Jacobian calculation type for a Newton solver identified by an user number...
subroutine, public cmfe_basis_finalise(cmfe_Basis, err)
Finalises a cmfe_BasisType object.
subroutine cmfe_nodes_createstartinterfaceobj(interface, numberOfNodes, nodes, err)
Starts the creation of a nodes in a region for nodes identified by an object.
Finishes the process of creating data points in a region.
subroutine cmfe_equations_timedependencetypegetobj(equations, timeDependenceType, err)
Gets the time dependence type for equations identified by an object.
subroutine cmfe_coordinatesystem_typegetobj(coordinateSystem, coordinateSystemType, err)
Returns the type of a coordinate system identified by an object.
integer(intg), parameter, public cmfe_problem_linear_source_diffusion_subtype
Linear source Diffusion problem subtype.
subroutine cmfe_analyticanalysis_absoluteerrorgetnodeobj(field, variableType, versionNumber, derivativeNumber, nodeNumber, componentNumber, value, err)
Get absolute error value for the node in a field identified by an object compared to the analytic val...
Sets/changes the basis for an element in a mesh.
integer(intg), parameter, public cmfe_equations_static
The equations are static and have no time dependence.
integer(intg), parameter, public cmfe_boundary_condition_impermeable_wall
Returns the linear solver associated with a nonlinear Newton solver.
integer(intg), parameter, public cmfe_basis_linear_simplex_interpolation
Linear Simplex interpolation specification.
integer(intg), parameter, public cmfe_equations_set_electrostatic_type
Electrostatic equations set type.
subroutine cmfe_analyticanalysis_integralrelativeerrorgetobj(field, variableType, componentNumber, integralValue, ghostIntegralValue, err)
Get integral value for the relative error.
Sets/change the convergence test for a nonlinear Quasi-Newton solver.
subroutine cmfe_field_parametersetupdateconstantspnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Updates the given parameter set with the given single precision value for the constant of the field v...
subroutine cmfe_controlloop_destroyobj(controlLoop, err)
Destroys a control loop identified by an object.
subroutine cmfe_field_parametersetgetgausspointcoordobj(meshEmbedding, componentNumber, numberOfGaussPoints, coords, err)
subroutine cmfe_field_componentlabelgetvsnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, label, err)
Returns the varying string label for a field variable component for a field identified by a user numb...
integer(intg), parameter, public cmfe_equations_set_activecontraction_subtype
Active contraction/costa-based law with quasistatic time loop for finite elasticity equations set sub...
subroutine cmfe_solver_newtonconvergencetesttypesetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, convergenceTestType, err)
Sets/changes the convergence test type for an Newton linesearch solver identified by an user number...
Sets/changes the maximum number of iterations for a nonlinear Newton solver.
subroutine cmfe_dataprojection_resultdistancegetnumber(regionUserNumber, dataProjectionUserNumber, dataPointUserNumber, ProjectionDistance, err)
Returns the projection distance for a data point in a set of data points identified by user number...
subroutine cmfe_field_variablelabelgetvsnumber(regionUserNumber, fieldUserNumber, variableType, label, err)
Returns the varying string label for a field variable for a field identified by a user number...
subroutine cmfe_distributedvector_datarestoreintgobj(vector, data, err)
Restore the data array for this vector once it has finished being used.
subroutine cmfe_field_parametersetupdateconstantintgobj(field, variableType, fieldSetType, componentNumber, value, err)
Updates the given parameter set with the given integer value for the constant of the field variable c...
integer(intg), parameter, public cmfe_problem_standard_data_fitting_subtype
Standard Galerkin projection problem subtype.
subroutine cmfe_cellml_createcellmltofieldmapobjvs(CellML, CellMLModelUserNumber, variableID, CellMLParameterSet, field, variableType, componentNumber, fieldParameterSet, err)
Defines a field variable component to CellML model variable map, by object.
subroutine cmfe_analyticanalysis_rmserrorgetnodeobj(field, variableType, componentNumber, errorType, localValue, localGhostValue, globalValue, err)
Get rms error value for nodes in a field identified by an object compared to the analytic value...
subroutine cmfe_field_parametersetgetnodespnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Returns from the given parameter set a single precision value for the specified node and derivative o...
subroutine cmfe_solver_newtonlinesearchsteptolsetobj(solver, stepTol, err)
Sets/changes the line search step tolerance for a Newton line search solver identified by an object...
subroutine cmfe_coordinatesystem_radialinterpolationgetobj(coordinateSystem, radialInterpolationType, err)
Returns the radial interpolation type of a coordinate system identified by an object.
integer(intg), parameter, public cmfe_equations_nonlinear_bcs
The equations have non-linear boundary conditions.
integer(intg), parameter, public cmfe_equations_set_bidomain_equation_type
Bidomain equation equations set type.
integer(intg), parameter, public cmfe_solver_newton_jacobian_equations_calculated
The Jacobian values will be calculated analytically for the nonlinear equations set.
integer(intg), parameter, public cmfe_solver_newton_linesearch
Newton line search nonlinear solver type.
subroutine, public cmfe_region_initialise(cmfe_Region, err)
Initialises a cmfe_RegionType object.
subroutine cmfe_solver_newtonlinesearchsteptolsetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, stepTol, err)
Sets/changes the line search step tolerance for an Newton linesearch solver identified by an user num...
integer(intg), parameter, public cmfe_problem_finite_elasticity_navier_stokes_ale_subtype
Coupled Finite Elasticity Navier Stokes moving mesh subtype.
Gets the output type for equations.
subroutine cmfe_nodes_createstartobj(region, numberOfNodes, nodes, err)
Starts the creation of a nodes in a region for nodes identified by an object.
Finishes the creation of a mesh.
integer(intg), parameter, public cmfe_problem_linear_elasticity_type
Linear elasticity problem type.
subroutine cmfe_field_parametersetgetnodedpobj(field, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Returns from the given parameter set a double precision value for the specified node and derivative o...
Start the creation of solver equations for a problem.
subroutine cmfe_solver_daetimessetobj(solver, startTime, endTime, err)
Sets/changes the times for an differential-algebraic equation solver identified by an object...
integer(intg), parameter, public cmfe_boundary_condition_pressure
subroutine cmfe_interface_destroynumber(regionUserNumber, interfaceUserNumber, err)
Destroys an interface identified by a user number.
subroutine cmfe_dataprojection_destroynumber(dataProjectionUserNumber, regionUserNumber, err)
Destroys a data projection identified by region user number.
subroutine cmfe_mesh_numberofelementsgetobj(mesh, numberOfElements, err)
Returns the number of elements in a mesh identified by an object.
Returns the output type for a control loop.
integer(intg), parameter, public cmfe_basis_default_quadrature_scheme
Identifier for the default quadrature scheme.
subroutine, public cmfe_field_initialise(cmfe_Field, err)
Initialises a cmfe_FieldType object.
Contains information on a coordinate system.
subroutine cmfe_cellml_fieldcomponentgetnumberc(regionUserNumber, CellMLUserNumber, CellMLModelUserNumber, CellMLFieldType, variableID, fieldComponent, err)
Returns the field component number that corresponds to a character string VariableID for a CellML env...
Contains information about an interface condition.
integer(intg), parameter, public cmfe_equations_set_diffusion_equation_type
Diffusion equation equations set type.
subroutine cmfe_cellml_modelsfieldcreatefinishnumber(regionUserNumber, CellMLUserNumber, err)
Finishes the creation of CellML models field for a CellML environment identified by a user number...
subroutine cmfe_datapoints_labelgetvsnumber(regionUserNumber, dataPointGlobalNumber, label, err)
Returns the varying string label for a data point in a set of data points identified by user number...
integer(intg), parameter, public cmfe_problem_nonlinear_source_poisson_subtype
Nonlinear source Poisson problem subtype.
subroutine cmfe_field_dofordertypegetobj(field, variableType, DOFOrderType, err)
Returns the DOF Order type for a field variable for a field identified by an object.
subroutine cmfe_interface_labelsetcnumber(parentRegionUserNumber, interfaceUserNumber, label, err)
Sets/changes the character string label for an interface identified by an user number.
integer(intg), parameter, public cmfe_problem_nonlinear_pressure_poisson_subtype
Vector source Poisson problem subtype.
subroutine cmfe_cellml_fieldmapscreatestartobj(CellML, err)
Start the creation of field maps for a CellML environment identified by an object.
subroutine cmfe_problem_controlloopdestroynumber(problemUserNumber, err)
Destroys the control loops for a problem identified by user number.
subroutine cmfe_fieldml_outputaddfieldnotypeobjc(fieldml, baseName, dofFormat, field, variableType, setType, err)
Add the given field to the given FieldML context. The FieldML type will be inferred.
subroutine cmfe_solver_quasinewtonrelativetolerancesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, relativeTolerance, err)
Sets/changes the relative tolerance for a Quasi-Newton solver identified by an user number...
subroutine cmfe_equationsset_dependentcreatefinishobj(equationsSet, err)
Finish the creation of dependent variables for an equations set identified by an object.
subroutine cmfe_analyticanalysis_integralabsoluteerrorgetobj(field, variableType, componentNumber, integralValue, ghostIntegralValue, err)
Get integral value for the absolute errors.
subroutine cmfe_field_geometricfieldgetnumber(regionUserNumber, fieldUserNumber, geometricFieldUserNumber, err)
Returns the geometric field for a field identified by a user number.
subroutine cmfe_datapoints_numberofdatapointsgetnumber(regionUserNumber, numberOfDataPoints, err)
Returns the number of data points.
subroutine cmfe_meshelements_usernumbersetobj(meshElements, elementGlobalNumber, elementUserNumber, err)
Sets/changes the element user number for an element in a mesh identified by an object.
subroutine cmfe_distributedvector_datagetlobj(vector, data, err)
Get the data array for this vector on this computational node.
subroutine cmfe_cellml_intermediatefieldgetnumber(regionUserNumber, CellMLUserNumber, CellMLIntermediateFieldUserNumber, err)
Returns the CellML intermediate field for a CellML environment identified by a user number...
subroutine cmfe_field_dofordertypegetnumber(regionUserNumber, fieldUserNumber, variableType, DOFOrderType, err)
Returns the DOF order type for a field variable for a field identified by a user number.
subroutine cmfe_field_dataprojectionsetobj(field, dataProjection, err)
Sets/changes the data projection for a field identified by an object.
integer(intg), parameter, public cmfe_solver_iterative_conjugate_gradient
Conjugate gradient iterative solver type.
Returns the type of decomposition.
subroutine cmfe_field_parametersetgetelementintgnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Returns from the given parameter set an integer value for the specified element of a field variable c...
subroutine cmfe_solver_newtonlinesearchalphasetobj(solver, alpha, err)
Sets/changes the line search alpha for a Newton line search solver identified by an object...
Sets/changes the type of line search for a nonlinear Quasi-Newton solver.
subroutine, public cmfe_interfaceequations_initialise(cmfe_InterfaceEquations, err)
Initialises a cmfe_InterfaceEquationsType object.
subroutine cmfe_cellml_createstartobj(CellMLUserNumber, region, CellML, err)
Start the creation of a CellML environment identified by an object.
integer(intg), parameter, public cmfe_boundary_condition_moved_wall
subroutine cmfe_extracterrormessagec(errorMessage, err)
Extracts the most recent error string for OpenCMISS.
subroutine cmfe_field_parametersetaddnodedpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Adds the given double precision value to an node in the given parameter set for field variable compon...
integer(intg), parameter, public cmfe_solver_quasi_newton_restart_powell
Restart based upon descent criteria.
integer(intg), parameter, public cmfe_cellml_state_field
CellML state field type.
subroutine cmfe_dataprojection_maximumnumberofiterationsgetobj(dataProjection, maximumNumberOfIterations, err)
Returns the maximum number of iterations of data projection identified an object. ...
subroutine cmfe_dataprojection_projectioncandidatessetregionnumber(dataProjectionUserNumber, regionUserNumber, candidateElements, localFaceLineNumbers, err)
Evaluate the data points position in a field based on data projection in a region, identified by user number.
Sets/changes the input parameters for a time control loop.
subroutine cmfe_boundaryconditions_destroyobj(boundaryConditions, err)
Destroys boundary conditions identified by an object.
Returns the user number for a data point identified by a given global number.
subroutine cmfe_solver_lineariterativemaximumiterationssetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, maximumIterations, err)
Sets/changes the maximum number of iterations for an iterative linear solver identified by an user nu...
Sets/changes the maximum number of iterations for an iterative linear solver.
subroutine cmfe_analyticanalysis_absoluteerrorgetconstantnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, value, err)
Get absolute error value for the constant in a field specified by a user number compared to the analy...
subroutine cmfe_solver_newtonlinesearchmaxstepsetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, maxStep, err)
Sets/changes the line search maximum step for an Newton linesearch solver identified by an user numbe...
integer(intg), parameter, public cmfe_solver_dae_rush_larson
Rush-Larson differential-algebraic equation solver.
subroutine cmfe_solver_daetimestepsetobj(solver, timeStep, err)
Sets/changes the (initial) time step for an differential-algebraic equation solver identified by an o...
subroutine, public cmfe_equations_numberoflinearmatricesget(equations, numberOfMatrices, err)
Get the number of linear matrices in the equations.
subroutine cmfe_analyticanalysis_percentageerrorgetnodeobj(field, variableType, versionNumber, derivativeNumber, nodeNumber, componentNumber, value, err)
Get percentage error value for the node in a field identified by an object compared to the analytic v...
Get the boundary conditions for solver equations.
subroutine cmfe_interfacecondition_lagrangefieldcreatestartnumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, lagrangeFieldUserNumber, err)
Starts the creation of a Lagrange multiplier field for an interface condition identified by a user nu...
subroutine cmfe_field_parametersetupdategausspointintgnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, gaussPointNumber, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given integer value for the element Gauss point of the field...
subroutine cmfe_analyticanalysis_percentageerrorgetelementobj(field, variableType, elementNumber, componentNumber, VALUE, err)
Get percentage error value for the element in a field identified by an object compared to the analyti...
subroutine cmfe_basis_quadraturelocalfacegaussevaluatesetobj(basis, faceGaussEvaluate, err)
Sets/changes the local face Gauss scheme calculation, on a basis identified by an object...
subroutine, public cmfe_solverequations_finalise(cmfe_SolverEquations, err)
Finalises a cmfe_SolverEquationsType object.
integer(intg), parameter, public cmfe_problem_laplace_navier_stokes_subtype
Laplace type Navier-Stokes problem subtype.
subroutine, public cmfe_solver_mumpsseticntl(solver, icntl, ivalue, err)
Sets/changes the MUMPS ICNTL(icntl)=ivalue integer control parameters through the PETSc-MUMPS interfa...
Starts the creation of a CellML environment.
Sets/changes the nonlinear Quasi-Newton type.
integer(intg), parameter, public cmfe_solver_iterative_incomplete_cholesky_preconditioner
Incomplete Cholesky preconditioner type.
subroutine cmfe_equationsset_equationscreatestartnumber(regionUserNumber, equationsSetUserNumber, err)
Start the creation of equations for an equations set identified by a user number. ...
integer(intg), parameter, public cmfe_solver_dynamic_nonlinear
Dynamic solver has nonlinear terms.
subroutine cmfe_controlloop_controlloopgetnumber11(problemUserNumber, controlLoopRootIdentifiers, controlLoopIdentifiers, controlLoop, err)
Returns the specified control loop as indexed by the control loop identifier from the control loop ro...
subroutine cmfe_generatedmesh_basisgetobj(generatedMesh, bases, err)
Returns the basis for a generated mesh identified by an object.
subroutine cmfe_solver_quasinewtonlinesearchsteptolsetobj(solver, stepTol, err)
Sets/changes the line search step tolerance for a Quasi-Newton line search solver identified by an ob...
subroutine cmfe_coordinatesystem_radialinterpolationsetnumber(coordinateSystemUserNumber, radialInterpolationType, err)
Sets/changes the radial interpolation type of a coordinate system identified by a user number...
subroutine, public cmfe_equations_dynamicmatrixtypeget(equations, matrixIndex, matrixType, err)
Get the type of a dynamic matrix from equations set equations.
subroutine cmfe_interfacepointsconnectivity_destroyobj(interfacePointsConnectivity, err)
Destroys an interface points connectivity identified by an object.
subroutine cmfe_cellml_parametersfieldcreatefinishobj(CellML, err)
Finish the creation of CellML parameters field for a CellML environment identified by an object...
subroutine cmfe_equationsset_sourcecreatefinishnumber(regionUserNumber, equationsSetUserNumber, err)
Finish the creation of a source for an equations set identified by a user number. ...
subroutine cmfe_solver_geometrictransformationarbitrarypathsetobj(solver, arbitraryPath, err)
Sets the arbitrary path logical for a geometric transformation solver identified by an object...
subroutine cmfe_fieldml_inputmeshcreatestartobjvs(fieldml, meshArgumentName, mesh, meshNumber, region, err)
Creates a mesh using the given FieldML evaluator.
subroutine cmfe_field_meshdecompositiongetobj(field, meshDecomposition, err)
Returns the mesh decomposition for a field identified by an object.
subroutine cmfe_controlloop_timeinputsetobj(controlLoop, inputOption, err)
Sets/changes the input parameters for a time control loop identified by an object.
subroutine cmfe_basis_quadraturelocalfacegaussevaluatesetnumber(userNumber, faceGaussEvaluate, err)
Sets/changes the local face Gauss scheme calculation, on a basis identified by a user number...
subroutine, public cmfe_decomposition_initialise(cmfe_Decomposition, err)
Initialises a cmfe_DecompositionType object.
subroutine, public cmfe_fields_finalise(cmfe_Fields, err)
Finalises a cmfe_FieldsType object.
subroutine cmfe_decomposition_typesetobj(decomposition, decompositionType, err)
Sets/changes the type of a decomposition identified by an object.
subroutine cmfe_controlloop_controlloopgetnumber10(problemUserNumber, controlLoopRootIdentifiers, controlLoopIdentifier, controlLoop, err)
Returns the specified control loop as indexed by the control loop identifier from the control loop ro...
Returns the coordinate system focus.
subroutine cmfe_interfacecondition_integrationtypesetnumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, interfaceConditionIntegrationType, err)
Sets/changes the integration type for an interface condition identified by a user number...
subroutine cmfe_analyticanalysis_percentageerrorgetconstantnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, value, err)
Get percentage error value for the constant in a field specified by a user number compared to the ana...
subroutine cmfe_field_meshdecompositionsetobj(field, meshDecomposition, err)
Sets/changes the mesh decomposition for a field identified by an object.
integer(intg), parameter, public cmfe_problem_no_type
No problem type.
subroutine cmfe_field_parametersetdatagetspnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, parameters, err)
Returns a pointer to the specified field parameter set local single precision data array for a field ...
subroutine cmfe_solver_daesolvertypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, DAESolverType, err)
Sets/changes the solve type for an differential-algebraic equation solver identified by an user numbe...
subroutine cmfe_cellml_parametersfieldcreatefinishnumber(regionUserNumber, CellMLUserNumber, err)
Finishes the creation of CellML parameters field for a CellML environment identified by a user number...
subroutine cmfe_fieldml_outputaddfieldcomponentsnumberc(fieldml, typeHandle, baseName, dofFormat, regionNumber, fieldNumber, fieldComponentNumbers, variableType, setType, err)
Add the field with the given user number to the current FieldML context, only including the given com...
subroutine cmfe_solver_dynamicnonlinearsolvergetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, nonlinearSolverIndex, err)
Returns the nonlinear solver associated with a nonlinear dynamic solver identified by an user number...
Adds an interface condition to solver equations.
subroutine cmfe_mesh_elementsgetnumber(regionUserNumber, meshUserNumber, meshComponentNumber, meshElements, err)
Returns the mesh elements for a mesh component on a mesh identified by an user number.
subroutine cmfe_interfacemeshconnectivity_elementnumbersetnumber(regionUserNumber, interfaceUserNumber, interfaceElementNumber, coupledMeshIndexNumber, coupledMeshElementNumber, err)
Sets the connectivity between an element in a coupled mesh to an element in the interface mesh...
subroutine cmfe_solverequations_sparsitytypesetnumber1(problemUserNumber, controlLoopIdentifiers, solverIndex, sparsityType, err)
Sets/changes the sparsity type for solver equations identified by an user number. ...
subroutine cmfe_mesh_numberofcomponentssetnumber(regionUserNumber, meshUserNumber, numberOfComponents, err)
Sets/changes the number of components in a mesh identified by a user number.
subroutine cmfe_field_parametersetgetconstantintgnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, componentNumber, value, err)
Returns from the given parameter set an integer value for the specified constant of a field variable ...
Returns the starting xi for a data projection.
subroutine cmfe_field_parametersetupdatedatapointlnumberr(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Update the given parameter set a logical value for the specified data point of a field variable compo...
subroutine cmfe_problem_controlloopgetnumber1(problemUserNumber, controlLoopIdentifiers, controlLoop, err)
Returns a control loop from a problem identified by an user number.
integer(intg), parameter, public cmfe_boundary_condition_moved_wall_incremented
subroutine cmfe_equationsset_createfinishobj(equationsSet, err)
Finish the creation of an equations set identified by an object.
subroutine cmfe_field_parametersetupdatedatapointdpobj(field, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Update the given parameter set a double precision value for the specified constant of a field variabl...
Sets/changes the label of a control loop.
subroutine cmfe_solver_daetimestepsetnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, timeStep, err)
Sets/changes the (initial) time step for an differential-algebraic equation solver identified by an u...
subroutine cmfe_coordinatesystem_typesetobj(coordinateSystem, coordinateSystemType, err)
Sets/changes the type of a coordinate system identified by an object.
integer(intg), parameter, public cmfe_equations_set_incompress_elasticity_driven_darcy_subtype
Incompressible finite elasticity with Darcy flow driven by solid hydrostatic pressure.
subroutine cmfe_solverequations_equationssetaddobj(solverEquations, equationsSet, equationsSetIndex, err)
Adds equations sets to solver equations identified by an object.
subroutine cmfe_meshelements_usernumbergetobj(meshElements, elementGlobalNumber, elementUserNumber, err)
Returns the element user number for an element in a mesh identified by an object. ...
subroutine cmfe_field_parametersetupdatenodespobj(field, variableType, fieldSetType, versionNumber, derivativeNumber, userNodeNumber, componentNumber, value, err)
Updates the given parameter set with the given single precision value for the node and derivative of ...
integer(intg), parameter, public cmfe_equations_set_orthotropic_material_costa_subtype
Orthotropic Costa constitutive law for finite elasticity equations set subtype.
subroutine cmfe_mesh_destroynumber(regionUserNumber, meshUserNumber, err)
Destroys a mesh identified by a user number.
integer(intg), parameter, public cmfe_problem_pgm_transient_darcy_subtype
PGM Transient Darcy problem subtype.
subroutine cmfe_boundaryconditions_setelementnumber(regionUserNumber, problemUserNumber, controlLoopIdentifiers, solverIndex, fieldUserNumber, variableType, elementUserNumber, componentNumber, condition, value, err)
Sets the value of the specified element as a boundary condition on the specified element for boundary...
subroutine cmfe_dataprojection_labelgetvsobj(dataProjection, label, err)
Gets the varying string label of a data projection identified an object.
subroutine, public cmfe_solverequations_matrixget(solverEquations, matrixIndex, matrix, err)
Get a solver matrix from the solver equations matrices.
Map a CellML model variable to a field variable component in this CellML environment.
subroutine cmfe_basis_typegetobj(basis, basisType, err)
Returns the type of a basis identified by an object.
integer(intg), parameter, public cmfe_global_deriv_s2
First global derivative in the s2 direction i.e., du/ds2.
subroutine cmfe_field_parametersetupdatedatapointintgnumberr(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userDataPointNumber, componentNumber, value, err)
Update the given parameter set a integer value for the specified data point of a field variable compo...
subroutine cmfe_problem_solverscreatefinishnumber(problemUserNumber, err)
Finishes the process of creating solvers for a problem identified by user number. ...
subroutine, public cmfe_interfacematrices_timedependencetypeset(interfaceCondition, interfaceMatrixIndex, hasTranspose, timeDependenceTypes, Err)
Set the time dependence type of interface matrices.
subroutine cmfe_field_parametersetinterpolatemultiplegaussdpnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, derivativeNumber, userElementNumber, quadratureScheme, GaussPoints, values, err)
Interpolates the given parameter set at a specified set of Gauss points for the specified element and...
subroutine cmfe_controlloop_outputtypesetnumber0(problemUserNumber, controlLoopIdentifier, outputType, err)
Sets the output type for a control loop identified by user numbers.
subroutine cmfe_field_parametersetupdategausspointspnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, gaussPointNumber, userElementNumber, componentNumber, value, err)
Updates the given parameter set with the given single precision value for the element Gauss point of ...
subroutine cmfe_field_variablelabelsetvsobj(field, variableType, label, err)
Sets/changes the varying string label for a field variable for a field identified by an object...
Sets/changes the user number for a data point identified by a given global number.
Destroy the solvers for a problem.
subroutine cmfe_solver_newtonmaximumiterationssetobj(solver, maximumIterations, err)
Sets/changes the maximum number of iterations for a Newton solver identified by an object...
subroutine cmfe_cellmlequations_cellmladdnumber0(problemUserNumber, controlLoopIdentifier, solverIndex, regionUserNumber, CellMLUserNumber, CellMLIndex, err)
Adds a CellML environment to CellML equations identified by an user number.
Contains information about a solver.
subroutine cmfe_meshelements_adjacentelementgetobj(meshElements, globalElementNumber, adjacentElementXi, adjacentElement, err)
Returns the adjacent element number of a mesh identified by an object.
integer(intg), parameter, public cmfe_boundary_condition_correction_mass_increase
subroutine, public cmfe_equationsset_initialise(cmfe_EquationsSet, err)
Initialises a cmfe_EquationsSetType object.
integer(intg), parameter, public cmfe_equations_set_bioelectrics_class
Bioelectrics equations set class.
subroutine cmfe_field_parametersetaddelementspnumber(regionUserNumber, fieldUserNumber, variableType, fieldSetType, userElementNumber, componentNumber, value, err)
Adds the given single precision value to an element in the given parameter set for field variable com...
Contains information for a field defined on a region.
subroutine cmfe_field_parameterstofieldparameterscomponentcopyobj(fromField, fromVariableType, fromParameterSetType, fromComponentNumber, toField, toVariableType, toParameterSetType, toComponentNumber, err)
Copy the parameters from the parameter set of a component of a field variable to the paramters of a p...
subroutine, public cmfe_bioelectricsfiniteelasticity_updategeometricfield(controlLoop, calcClosestGaussPoint, err)
Update the bioelectrics geometric field by interpolating the finite elasticity geometric field...
subroutine cmfe_field_componentlabelsetvsnumber(regionUserNumber, fieldUserNumber, variableType, componentNumber, label, err)
Sets/changes the varying string label for a field variable component for a field identified by a user...
subroutine cmfe_field_dimensionsetobj(field, variableType, dimension, err)
Sets/changes the dimension for a field identified by an object.
Contains information for a fields defined on a region.
subroutine cmfe_dataprojection_labelsetcinterfacenumber(dataProjectionUserNumber, parentRegionUserNumber, interfaceUserNumber, label, err)
Sets/changes the character string label of a data projection identified by a region user number...
Returns the values for a data point identified by a given global number.
integer(intg), parameter, public cmfe_solver_cmiss_library
CMISS (internal) solver library.
integer(intg), parameter, public cmfe_problem_multi_compartment_transport_type
Multi-compartment transport problem type.
subroutine, public cmfe_mesh_finalise(cmfe_Mesh, err)
Finalises a cmfe_MeshType object.
subroutine cmfe_field_componentvaluesinitialisespobj(field, variableType, fieldSetType, componentNumber, value, err)
Initialises the values of parameter set of a field variable component to a single precision constant ...
integer(intg), parameter, public cmfe_equations_set_magnetostatic_type
Magnetostatic equations set type.
integer(intg), parameter, public cmfe_problem_maxwells_equations_type
Maxwell&#39;s equations problem type.
Sets/changes the solution tolerance for a nonlinear Newton solver.
integer(intg), parameter, public cmfe_solver_quasi_newton_linesearch_l2
Secant line search over the L2 norm of the function.
Returns the quadrature type for a basis quadrature.
integer(intg), parameter, public cmfe_basis_gauss_simplex_quadrature
Gauss-Legendre for Simplex elements quadrature.
subroutine cmfe_solver_solverequationsgetobj(solver, solverEquations, err)
Returns the solver equations for a solver identified by an object.
subroutine cmfe_interfacecondition_equationscreatefinishnumber(regionUserNumber, interfaceUserNumber, interfaceConditionUserNumber, err)
Finishes the creation of equations for an interface condition identified by an user number...
subroutine cmfe_meshelements_adjacentelementgetnumber(regionUserNumber, meshUserNumber, meshComponentNumber, globalElementNumber, adjacentElementXi, adjacentElement, err)
Returns the adjacent element number of a mesh identified by a user number.
subroutine cmfe_interfaceequations_outputtypesetobj(interfaceEquations, outputType, err)
Sets/changes the output type for an interface equations identified by an object.
subroutine cmfe_generatedmesh_basissetobj0(generatedMesh, basis, err)
Sets/changes the basis for a generated mesh identified by an object.
Sets the matrix sparsity type for Neumann integration matrices, used when integrating Neumann point v...