Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
9b4d9c0
Fixes for dataprojections
PrasadBabarendaGamage Jun 3, 2018
3c7f4ac
Adding EQUATIONS_SET_FIBRE_FITTING_EQUATION_TYPE
PrasadBabarendaGamage Jun 3, 2018
9ce6f3b
Revert "Adding EQUATIONS_SET_FIBRE_FITTING_EQUATION_TYPE"
PrasadBabarendaGamage Jun 3, 2018
c13410f
Adding EQUATIONS_SET_DIFFUSION_TENSOR_FIBRE_FITTING_SUBTYPE
PrasadBabarendaGamage Jun 4, 2018
88fba79
Adding EquationsSet setup for EQUATIONS_SET_DIFFUSION_TENSOR_FIBRE_F…
PrasadBabarendaGamage Jun 4, 2018
b6e131f
Renaming existing Fitting_FiniteElementCalculate to LinearFitting_Fin…
PrasadBabarendaGamage Jun 4, 2018
b8f44a2
Adding skeleton for NonlinearFitting_FiniteElementResidualEvaluate
PrasadBabarendaGamage Jun 4, 2018
bd50d78
Adding PROBLEM_STATIC_NONLINEAR_FITTING_SUBTYPE
PrasadBabarendaGamage Jun 4, 2018
ef6993c
Removing linear and nonlinear prefix from fitting equation sets
PrasadBabarendaGamage Jun 5, 2018
aa5d1b7
Adding code use for linear fitting as a place holder to Fitting_Finit…
PrasadBabarendaGamage Jun 16, 2018
f7a7f91
Adding PROBLEM_FIBRE_FITTING_TYPE
PrasadBabarendaGamage Jun 16, 2018
72f5d18
Bug fixes for diffusion tesnor fibre fitting problem and equation set…
PrasadBabarendaGamage Jun 16, 2018
0c572d0
Nullifying indpendent field parameters pointers
PrasadBabarendaGamage Jun 21, 2018
322fdbd
Updating fibre fitting equation set setup
PrasadBabarendaGamage Jun 21, 2018
94ac1a6
Updating fibre fitting residual evaluate
PrasadBabarendaGamage Jun 21, 2018
44fe489
Setting fibre fitting to use data_point_based_interpolation
PrasadBabarendaGamage Jun 21, 2018
3f46a99
Removing references to equationsMatrix/updateMatrix in fitting residu…
PrasadBabarendaGamage Jun 21, 2018
61ff08c
Updating pre and post solve residual evaluate for nonlinear fitting p…
PrasadBabarendaGamage Jun 21, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 49 additions & 38 deletions src/data_projection_routines.f90

Large diffs are not rendered by default.

19 changes: 10 additions & 9 deletions src/equations_set_constants.f90
Original file line number Diff line number Diff line change
Expand Up @@ -317,15 +317,16 @@ MODULE EquationsSetConstants
!Fitting class
!Data fitting
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_DATA_POINT_FITTING_SUBTYPE=1
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_GENERALISED_DATA_FITTING_SUBTYPE=2
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_MAT_PROPERTIES_DATA_FITTING_SUBTYPE=3
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_MAT_PROPERTIES_INRIA_MODEL_DATA_FITTING_SUBTYPE=4
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_VECTOR_DATA_FITTING_SUBTYPE=5
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_DIVFREE_VECTOR_DATA_FITTING_SUBTYPE=6
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_VECTOR_DATA_PRE_FITTING_SUBTYPE=7
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_DIVFREE_VECTOR_DATA_PRE_FITTING_SUBTYPE=8
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_DATA_POINT_VECTOR_STATIC_FITTING_SUBTYPE=9
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_DATA_POINT_VECTOR_QUASISTATIC_FITTING_SUBTYPE=10
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_DIFFUSION_TENSOR_FIBRE_FITTING_SUBTYPE=2
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_GENERALISED_DATA_FITTING_SUBTYPE=3
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_MAT_PROPERTIES_DATA_FITTING_SUBTYPE=4
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_MAT_PROPERTIES_INRIA_MODEL_DATA_FITTING_SUBTYPE=5
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_VECTOR_DATA_FITTING_SUBTYPE=6
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_DIVFREE_VECTOR_DATA_FITTING_SUBTYPE=7
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_VECTOR_DATA_PRE_FITTING_SUBTYPE=8
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_DIVFREE_VECTOR_DATA_PRE_FITTING_SUBTYPE=9
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_DATA_POINT_VECTOR_STATIC_FITTING_SUBTYPE=10
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_DATA_POINT_VECTOR_QUASISTATIC_FITTING_SUBTYPE=11
!Gauss fitting
INTEGER(INTG), PARAMETER :: EQUATIONS_SET_GAUSS_POINT_FITTING_SUBTYPE=1
!Fitting smoothing parameters
Expand Down
4 changes: 4 additions & 0 deletions src/equations_set_routines.f90
Original file line number Diff line number Diff line change
Expand Up @@ -2773,6 +2773,8 @@ SUBROUTINE EquationsSet_FiniteElementJacobianEvaluate(equationsSet,elementNumber
CALL FlagError("Not implemented.",err,error,*999)
CASE(EQUATIONS_SET_CLASSICAL_FIELD_CLASS)
CALL ClassicalField_FiniteElementJacobianEvaluate(equationsSet,elementNumber,err,error,*999)
CASE(EQUATIONS_SET_FITTING_CLASS)
CALL FlagError("Not implemented.",err,error,*999)
CASE(EQUATIONS_SET_BIOELECTRICS_CLASS)
CALL FlagError("Not implemented.",err,error,*999)
CASE(EQUATIONS_SET_MODAL_CLASS)
Expand Down Expand Up @@ -3012,6 +3014,8 @@ SUBROUTINE EquationsSet_FiniteElementResidualEvaluate(equationsSet,elementNumber
CALL FlagError("Not implemented.",err,error,*999)
CASE(EQUATIONS_SET_CLASSICAL_FIELD_CLASS)
CALL ClassicalField_FiniteElementResidualEvaluate(equationsSet,elementNumber,err,error,*999)
CASE(EQUATIONS_SET_FITTING_CLASS)
CALL Fitting_FiniteElementResidualEvaluate(equationsSet,elementNumber,err,error,*999)
CASE(EQUATIONS_SET_BIOELECTRICS_CLASS)
CALL FlagError("Not implemented.",err,error,*999)
CASE(EQUATIONS_SET_MODAL_CLASS)
Expand Down
1,336 changes: 1,212 additions & 124 deletions src/fitting_routines.f90

Large diffs are not rendered by default.

13 changes: 10 additions & 3 deletions src/opencmiss_iron.f90
Original file line number Diff line number Diff line change
Expand Up @@ -2750,6 +2750,8 @@ MODULE OpenCMISS_Iron
INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_SECOND_BIDOMAIN_SUBTYPE = EQUATIONS_SET_SECOND_BIDOMAIN_SUBTYPE !<Second bidomain equations set subtype \see OpenCMISS_EquationsSetSubtypes,OpenCMISS
INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DATA_POINT_FITTING_SUBTYPE = &
& EQUATIONS_SET_DATA_POINT_FITTING_SUBTYPE !<Data point fitting equations set subtype \see OpenCMISS_EquationsSetSubtypes,OpenCMISS
INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_DIFFUSION_TENSOR_FIBRE_FITTING_SUBTYPE = &
& EQUATIONS_SET_DIFFUSION_TENSOR_FIBRE_FITTING_SUBTYPE !<Diffusion tensor fibre fitting equations set subtype \see OpenCMISS_EquationsSetSubtypes,OpenCMISS
INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_GENERALISED_DATA_FITTING_SUBTYPE = &
& EQUATIONS_SET_GENERALISED_DATA_FITTING_SUBTYPE !<Generalised Galerkin Projection equations set subtype \see OpenCMISS_EquationsSetSubtypes,OpenCMISS
INTEGER(INTG), PARAMETER :: CMFE_EQUATIONS_SET_MAT_PROPERTIES_DATA_FITTING_SUBTYPE = &
Expand Down Expand Up @@ -3148,7 +3150,8 @@ MODULE OpenCMISS_Iron
& CMFE_EQUATIONS_SET_FIRST_BIDOMAIN_SUBTYPE,CMFE_EQUATIONS_SET_SECOND_BIDOMAIN_SUBTYPE, &
& CMFE_EQUATIONS_SET_MONODOMAIN_BUENOOROVIO_SUBTYPE,&
& CMFE_EQUATIONS_SET_MONODOMAIN_TENTUSSCHER06_SUBTYPE ,&
& CMFE_EQUATIONS_SET_DATA_POINT_FITTING_SUBTYPE,CMFE_EQUATIONS_SET_GENERALISED_DATA_FITTING_SUBTYPE, &
& CMFE_EQUATIONS_SET_DATA_POINT_FITTING_SUBTYPE,CMFE_EQUATIONS_SET_DIFFUSION_TENSOR_FIBRE_FITTING_SUBTYPE, &
& CMFE_EQUATIONS_SET_GENERALISED_DATA_FITTING_SUBTYPE, &
& CMFE_EQUATIONS_SET_VECTOR_DATA_FITTING_SUBTYPE,CMFE_EQUATIONS_SET_DIVFREE_VECTOR_DATA_FITTING_SUBTYPE, &
& CMFE_EQUATIONS_SET_VECTOR_DATA_PRE_FITTING_SUBTYPE,CMFE_EQUATIONS_SET_DIVFREE_VECTOR_DATA_PRE_FITTING_SUBTYPE, &
& CMFE_EQUATIONS_SET_MAT_PROPERTIES_DATA_FITTING_SUBTYPE,CMFE_EQUATIONS_SET_MAT_PROP_INRIA_MODEL_DATA_FITTING_SUBTYPE, &
Expand Down Expand Up @@ -5821,6 +5824,7 @@ MODULE OpenCMISS_Iron
INTEGER(INTG), PARAMETER :: CMFE_PROBLEM_BIDOMAIN_EQUATION_TYPE = PROBLEM_BIDOMAIN_EQUATION_TYPE !<Bidomain equation problem type \see OpenCMISS_ProblemTypes,OpenCMISS
INTEGER(INTG), PARAMETER :: CMFE_PROBLEM_LINEAR_ELASTIC_MODAL_TYPE = PROBLEM_LINEAR_ELASTIC_MODAL_TYPE !<Linear elastic modal problem type \see OpenCMISS_ProblemTypes,OpenCMISS
INTEGER(INTG), PARAMETER :: CMFE_PROBLEM_DATA_FITTING_TYPE = PROBLEM_DATA_FITTING_TYPE !<Galerkin projection problem type \see OpenCMISS_ProblemTypes,OpenCMISS
INTEGER(INTG), PARAMETER :: CMFE_PROBLEM_FIBRE_FITTING_TYPE = PROBLEM_FIBRE_FITTING_TYPE !<Galerkin projection problem type \see OpenCMISS_ProblemTypes,OpenCMISS
INTEGER(INTG), PARAMETER :: CMFE_PROBLEM_FINITE_ELASTICITY_DARCY_TYPE = PROBLEM_FINITE_ELASTICITY_DARCY_TYPE !<Finite Elasticity Darcy problem type \see OpenCMISS_ProblemTypes,OpenCMISS
INTEGER(INTG), PARAMETER :: CMFE_PROBLEM_FINITE_ELASTICITY_STOKES_TYPE = PROBLEM_FINITE_ELASTICITY_STOKES_TYPE !<Finite Elasticity Stokes problem type \see OpenCMISS_ProblemTypes,OpenCMISS
INTEGER(INTG), PARAMETER :: CMFE_PROBLEM_FINITE_ELASTICITY_NAVIER_STOKES_TYPE = PROBLEM_FINITE_ELASTICITY_NAVIER_STOKES_TYPE !<Finite Elasticity NavierStokes problem type \see OpenCMISS_ProblemTypes,OpenCMISS
Expand Down Expand Up @@ -5914,6 +5918,8 @@ MODULE OpenCMISS_Iron

INTEGER(INTG), PARAMETER :: CMFE_PROBLEM_STATIC_FITTING_SUBTYPE = &
& PROBLEM_STATIC_FITTING_SUBTYPE !<Static fitting problem subtype \see OpenCMISS_ProblemSubtypes,OpenCMISS
INTEGER(INTG), PARAMETER :: CMFE_PROBLEM_STATIC_NONLINEAR_FITTING_SUBTYPE = &
& PROBLEM_STATIC_NONLINEAR_FITTING_SUBTYPE !<Static nonlinear fitting problem subtype \see OpenCMISS_ProblemSubtypes,OpenCMISS
INTEGER(INTG), PARAMETER :: CMFE_PROBLEM_STANDARD_DATA_FITTING_SUBTYPE = &
& PROBLEM_STANDARD_DATA_FITTING_SUBTYPE !<Standard Galerkin projection problem subtype \see OpenCMISS_ProblemSubtypes,OpenCMISS
INTEGER(INTG), PARAMETER :: CMFE_PROBLEM_VECTOR_DATA_FITTING_SUBTYPE = &
Expand Down Expand Up @@ -6034,7 +6040,7 @@ MODULE OpenCMISS_Iron

PUBLIC CMFE_PROBLEM_LINEAR_ELASTIC_MODAL_TYPE

PUBLIC CMFE_PROBLEM_DATA_FITTING_TYPE
PUBLIC CMFE_PROBLEM_DATA_FITTING_TYPE,CMFE_PROBLEM_FIBRE_FITTING_TYPE

PUBLIC CMFE_PROBLEM_FINITE_ELASTICITY_DARCY_TYPE, &
& CMFE_PROBLEM_FINITE_ELASTICITY_STOKES_TYPE, CMFE_PROBLEM_FINITE_ELASTICITY_NAVIER_STOKES_TYPE, &
Expand Down Expand Up @@ -6097,7 +6103,8 @@ MODULE OpenCMISS_Iron
& CMFE_PROBLEM_CELLML_REAC_EVAL_REAC_DIFF_NO_SPLIT_SUBTYPE, &
& CMFE_PROBLEM_CONSTANT_REAC_DIFF_NO_SPLIT_SUBTYPE

PUBLIC CMFE_PROBLEM_STATIC_FITTING_SUBTYPE,CMFE_PROBLEM_STANDARD_DATA_FITTING_SUBTYPE, &
PUBLIC CMFE_PROBLEM_STATIC_FITTING_SUBTYPE,CMFE_PROBLEM_STATIC_NONLINEAR_FITTING_SUBTYPE, &
& CMFE_PROBLEM_STANDARD_DATA_FITTING_SUBTYPE, &
& CMFE_PROBLEM_GENERALISED_DATA_FITTING_SUBTYPE, &
& CMFE_PROBLEM_VECTOR_DATA_FITTING_SUBTYPE,CMFE_PROBLEM_DIV_FREE_VECTOR_DATA_FITTING_SUBTYPE, &
& CMFE_PROBLEM_VECTOR_DATA_PRE_FITTING_SUBTYPE,CMFE_PROBLEM_DIV_FREE_VECTOR_DATA_PRE_FITTING_SUBTYPE, &
Expand Down
22 changes: 12 additions & 10 deletions src/problem_constants.f90
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,8 @@ MODULE PROBLEM_CONSTANTS
INTEGER(INTG), PARAMETER :: PROBLEM_REACTION_DIFFUSION_EQUATION_TYPE=8
INTEGER(INTG), PARAMETER :: PROBLEM_BIHARMONIC_EQUATION_TYPE=9
INTEGER(INTG), PARAMETER :: PROBLEM_DATA_FITTING_TYPE=10
INTEGER(INTG), PARAMETER :: PROBLEM_HJ_EQUATION_TYPE=11
INTEGER(INTG), PARAMETER :: PROBLEM_FIBRE_FITTING_TYPE=11
INTEGER(INTG), PARAMETER :: PROBLEM_HJ_EQUATION_TYPE=12

!Bioelectrics class
INTEGER(INTG), PARAMETER :: PROBLEM_MONODOMAIN_EQUATION_TYPE=1
Expand Down Expand Up @@ -234,15 +235,16 @@ MODULE PROBLEM_CONSTANTS
!Modal class
! Galerkin projection
INTEGER(INTG), PARAMETER :: PROBLEM_STATIC_FITTING_SUBTYPE=1
INTEGER(INTG), PARAMETER :: PROBLEM_STANDARD_DATA_FITTING_SUBTYPE=2
INTEGER(INTG), PARAMETER :: PROBLEM_GENERALISED_DATA_FITTING_SUBTYPE=3
INTEGER(INTG), PARAMETER :: PROBLEM_MAT_PROPERTIES_DATA_FITTING_SUBTYPE=4
INTEGER(INTG), PARAMETER :: PROBLEM_VECTOR_DATA_FITTING_SUBTYPE=5
INTEGER(INTG), PARAMETER :: PROBLEM_DIV_FREE_VECTOR_DATA_FITTING_SUBTYPE=6
INTEGER(INTG), PARAMETER :: PROBLEM_VECTOR_DATA_PRE_FITTING_SUBTYPE=7
INTEGER(INTG), PARAMETER :: PROBLEM_DIV_FREE_VECTOR_DATA_PRE_FITTING_SUBTYPE=8
INTEGER(INTG), PARAMETER :: PROBLEM_DATA_POINT_VECTOR_STATIC_FITTING_SUBTYPE=9
INTEGER(INTG), PARAMETER :: PROBLEM_DATA_POINT_VECTOR_QUASISTATIC_FITTING_SUBTYPE=10
INTEGER(INTG), PARAMETER :: PROBLEM_STATIC_NONLINEAR_FITTING_SUBTYPE=2
INTEGER(INTG), PARAMETER :: PROBLEM_STANDARD_DATA_FITTING_SUBTYPE=3
INTEGER(INTG), PARAMETER :: PROBLEM_GENERALISED_DATA_FITTING_SUBTYPE=4
INTEGER(INTG), PARAMETER :: PROBLEM_MAT_PROPERTIES_DATA_FITTING_SUBTYPE=5
INTEGER(INTG), PARAMETER :: PROBLEM_VECTOR_DATA_FITTING_SUBTYPE=6
INTEGER(INTG), PARAMETER :: PROBLEM_DIV_FREE_VECTOR_DATA_FITTING_SUBTYPE=7
INTEGER(INTG), PARAMETER :: PROBLEM_VECTOR_DATA_PRE_FITTING_SUBTYPE=8
INTEGER(INTG), PARAMETER :: PROBLEM_DIV_FREE_VECTOR_DATA_PRE_FITTING_SUBTYPE=9
INTEGER(INTG), PARAMETER :: PROBLEM_DATA_POINT_VECTOR_STATIC_FITTING_SUBTYPE=10
INTEGER(INTG), PARAMETER :: PROBLEM_DATA_POINT_VECTOR_QUASISTATIC_FITTING_SUBTYPE=11
! Multi physics (subtype numbers must be different from Darcy ones)
INTEGER(INTG), PARAMETER :: PROBLEM_STANDARD_ELASTICITY_DARCY_SUBTYPE=101
INTEGER(INTG), PARAMETER :: PROBLEM_PGM_ELASTICITY_DARCY_SUBTYPE=102
Expand Down
4 changes: 4 additions & 0 deletions src/problem_routines.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1474,6 +1474,8 @@ SUBROUTINE PROBLEM_PRE_RESIDUAL_EVALUATE(SOLVER,err,error,*)
!Pre residual evaluate not used
CASE(EQUATIONS_SET_CLASSICAL_FIELD_CLASS)
!Pre residual evaluate not used
CASE(PROBLEM_FITTING_CLASS)
!do nothing
CASE(EQUATIONS_SET_BIOELECTRICS_CLASS)
!Pre residual evaluate not used
CASE(EQUATIONS_SET_MODAL_CLASS)
Expand Down Expand Up @@ -1615,6 +1617,8 @@ SUBROUTINE PROBLEM_POST_RESIDUAL_EVALUATE(SOLVER,err,error,*)
!Post residual evaluate not used
CASE(EQUATIONS_SET_CLASSICAL_FIELD_CLASS)
!Post residual evaluate not used
CASE(PROBLEM_FITTING_CLASS)
!do nothing
CASE(EQUATIONS_SET_BIOELECTRICS_CLASS)
!Post residual evaluate not used
CASE(EQUATIONS_SET_MODAL_CLASS)
Expand Down