Skip to content
Merged
Changes from all commits
Commits
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
18 changes: 12 additions & 6 deletions src/fortran/uniaxial_extension.F90
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ PROGRAM UNIAXIAL_EXTENSION

CONTAINS

SUBROUTINE SOLVE_MODEL(compressible, useGeneratedMesh, zeroLoad, useSimplex, usePressureBasis)
SUBROUTINE SOLVE_MODEL(numberOfDimensions, compressible, useGeneratedMesh, zeroLoad, useSimplex, usePressureBasis)

LOGICAL, INTENT(IN) :: compressible
LOGICAL, INTENT(IN) :: useGeneratedMesh
Expand Down Expand Up @@ -114,7 +114,8 @@ SUBROUTINE SOLVE_MODEL(compressible, useGeneratedMesh, zeroLoad, useSimplex, use

! Set all diganostic levels on for testing
CALL cmfe_DiagnosticsSetOn(CMFE_FROM_DIAG_TYPE,[1,2,3,4,5],"Diagnostics", &
& ["DOMAIN_MAPPINGS_LOCAL_FROM_GLOBAL_CALCULATE"],Err)
& ["FiniteElasticity_FiniteElementResidualEvaluateNew", &
& "FiniteElasticity_FiniteElementJacobianEvaluateNew"],Err)

IF (usePressureBasis) THEN
numberOfMeshComponents = 2
Expand All @@ -136,8 +137,8 @@ SUBROUTINE SOLVE_MODEL(compressible, useGeneratedMesh, zeroLoad, useSimplex, use
END IF

! Get the number of computational nodes and this computational node number
CALL cmfe_ComputationalNumberOfNodesGet(numberOfComputationalNodes,Err)
CALL cmfe_ComputationalNodeNumberGet(computationalNodeNumber,Err)
CALL cmfe_ComputationalNumberOfNodesGet(numberOfComputationalNodes,err)
CALL cmfe_ComputationalNodeNumberGet(computationalNodeNumber,err)

CALL cmfe_CoordinateSystem_Initialise(coordinateSystem,Err)
CALL cmfe_CoordinateSystem_CreateStart(coordinateSystemUserNumber,coordinateSystem,Err)
Expand Down Expand Up @@ -484,7 +485,7 @@ SUBROUTINE SOLVE_MODEL(compressible, useGeneratedMesh, zeroLoad, useSimplex, use
IF (.NOT.compressible) THEN
CALL cmfe_Field_ComponentValuesInitialise( &
& dependentField,CMFE_FIELD_U_VARIABLE_TYPE,CMFE_FIELD_VALUES_SET_TYPE, &
& 4,-8.0_CMISSRP,Err)
& 4,0.0_CMISSRP,Err)
END IF

! Create a deformed geometry field, as cmgui doesn't like displaying
Expand Down Expand Up @@ -529,6 +530,9 @@ SUBROUTINE SOLVE_MODEL(compressible, useGeneratedMesh, zeroLoad, useSimplex, use
CALL cmfe_Equations_OutputTypeSet(equations,CMFE_EQUATIONS_NO_OUTPUT,Err)
CALL cmfe_EquationsSet_EquationsCreateFinish(equationsSet,Err)

CALL cmfe_Equations_JacobianCalculationTypeSet(equations,1,CMFE_FIELD_U_VARIABLE_TYPE, &
& CMFE_EQUATIONS_JACOBIAN_ANALYTIC_CALCULATED,Err)

! Define the problem
CALL cmfe_Problem_Initialise(problem,Err)
CALL cmfe_Problem_CreateStart(problemUserNumber, &
Expand All @@ -547,8 +551,10 @@ SUBROUTINE SOLVE_MODEL(compressible, useGeneratedMesh, zeroLoad, useSimplex, use
CALL cmfe_Problem_SolversCreateStart(problem,Err)
CALL cmfe_Problem_SolverGet(problem,CMFE_CONTROL_LOOP_NODE,1,nonLinearSolver,Err)
CALL cmfe_Solver_OutputTypeSet(nonlinearSolver,CMFE_SOLVER_PROGRESS_OUTPUT,Err)
!CALL cmfe_Solver_NewtonJacobianCalculationTypeSet(nonlinearSolver, &
! & CMFE_SOLVER_NEWTON_JACOBIAN_FD_CALCULATED,Err)
CALL cmfe_Solver_NewtonJacobianCalculationTypeSet(nonlinearSolver, &
& CMFE_SOLVER_NEWTON_JACOBIAN_FD_CALCULATED,Err)
& CMFE_SOLVER_NEWTON_JACOBIAN_EQUATIONS_CALCULATED,Err)
CALL cmfe_Solver_NewtonLinearSolverGet(nonlinearSolver,linearSolver,Err)
CALL cmfe_Solver_NewtonAbsoluteToleranceSet(nonlinearSolver,1.0E-14_CMISSRP,Err)
CALL cmfe_Solver_NewtonSolutionToleranceSet(nonlinearSolver,1.0E-14_CMISSRP,Err)
Expand Down