OpenCMISS-Iron Internal API Documentation
solver_routines.f90 File Reference

This module handles all solver routines. More...

Go to the source code of this file.

Data Types

interface  solver_routines::SOLVER_DAE_EXTERNAL_INTEGRATE
 
interface  solver_routines::solver_dynamic_theta_set
 
interface  solver_routines::solver_label_get
 
interface  solver_routines::solver_label_set
 

Modules

module  solver_routines
 This module handles all solver routines.
 

Functions/Subroutines

subroutine, public solver_routines::cellml_equations_cellml_add (CELLML_EQUATIONS, CELLML, CELLML_INDEX, ERR, ERROR,)
 Adds a CellML environment to a solvers CellML equations. More...
 
subroutine, public solver_routines::cellml_equations_create_finish (CELLML_EQUATIONS, ERR, ERROR,)
 Finishes the process of creating CellML equations. More...
 
subroutine, public solver_routines::cellml_equations_create_start (SOLVER, CELLML_EQUATIONS, ERR, ERROR,)
 Starts the process of creating CellML equations. More...
 
subroutine, public solver_routines::cellml_equations_destroy (CELLML_EQUATIONS, ERR, ERROR,)
 Destroys the CellML equations. More...
 
subroutine solver_routines::cellml_equations_finalise (CELLML_EQUATIONS, ERR, ERROR,)
 Finalises the CellML equations and deallocates all memory. More...
 
subroutine solver_routines::cellml_equations_initialise (SOLVER, ERR, ERROR,)
 Initialises the CellML equations for a solver. More...
 
subroutine, public solver_routines::solver_cellml_equations_get (SOLVER, CELLML_EQUATIONS, ERR, ERROR,)
 Returns a pointer to the CellML equations for a solver. More...
 
subroutine solver_routines::solver_cellml_evaluator_create_finish (CELLML_EVALUATOR_SOLVER, ERR, ERROR,)
 Finishes the process of creating a CellML evaluator solver. More...
 
subroutine, public solver_routines::solver_cellml_evaluator_finalise (CELLML_EVALUATOR_SOLVER, ERR, ERROR,)
 Finalise a CellML evaluator solver. More...
 
subroutine solver_routines::solver_cellml_evaluator_initialise (SOLVER, ERR, ERROR,)
 Initialise a CellML evaluator solver for a solver. More...
 
subroutine solver_routines::solver_cellml_evaluator_library_type_get (CELLML_EVALUATOR_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for a CellML evaluator solver. More...
 
subroutine solver_routines::solver_cellml_evaluator_library_type_set (CELLML_EVALUATOR_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the type of library to use for a CellML evaluator solver. More...
 
subroutine solver_routines::solver_cellml_evaluator_time_get (CELLML_EVALUATOR_SOLVER, TIME, ERR, ERROR,)
 Returns the time for a CellML evaluator solver. More...
 
subroutine solver_routines::solver_cellml_evaluator_time_set (CELLML_EVALUATOR_SOLVER, TIME, ERR, ERROR,)
 Sets/changes the time for a CellML evaluator solver. More...
 
subroutine solver_routines::solver_cellml_evaluator_solve (CELLML_EVALUATOR_SOLVER, ERR, ERROR,)
 Solve a CellML evaluator solver. More...
 
subroutine solver_routines::solver_cellml_evaluate (CELLML_EVALUATOR_SOLVER, CELLML, N, ONLY_ONE_MODEL_INDEX, MODELS_DATA, MAX_NUMBER_STATES, STATE_DATA, MAX_NUMBER_PARAMETERS, PARAMETERS_DATA, MAX_NUMBER_INTERMEDIATES, INTERMEDIATE_DATA, ERR, ERROR,)
 Evaluate the CellML equations. More...
 
subroutine solver_routines::solver_create_finish (SOLVER, ERR, ERROR,)
 Finishes the process of creating a solver. More...
 
subroutine solver_routines::solver_dae_adams_moulton_finalise (ADAMS_MOULTON_SOLVER, ERR, ERROR,)
 Finalise an Adams-Moulton differential-algebraic equation solver and deallocate all memory. More...
 
subroutine solver_routines::solver_dae_adams_moulton_initialise (DAE_SOLVER, ERR, ERROR,)
 Initialise an Adams-Moulton solver for a differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_adams_moulton_solve (ADAMS_MOULTON_SOLVER, ERR, ERROR,)
 Solve using an Adams-Moulton differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_create_finish (DAE_SOLVER, ERR, ERROR,)
 Finishes the process of creating a differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_euler_backward_finalise (BACKWARD_EULER_SOLVER, ERR, ERROR,)
 Finalise a backward Euler differential-algebraic equation and deallocate all memory. More...
 
subroutine solver_routines::solver_dae_euler_backward_initialise (EULER_DAE_SOLVER, ERR, ERROR,)
 Initialise a backward Euler solver for a differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_euler_backward_solve (BACKWARD_EULER_SOLVER, ERR, ERROR,)
 Solve using a backward Euler differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_euler_finalise (EULER_SOLVER, ERR, ERROR,)
 Finalise an Euler differential-algebraic equation solver and deallocate all memory. More...
 
subroutine solver_routines::solver_dae_euler_forward_finalise (FORWARD_EULER_SOLVER, ERR, ERROR,)
 Finalise a forward Euler differential-algebraic equation and deallocate all memory. More...
 
subroutine solver_routines::solver_dae_euler_forward_initialise (EULER_DAE_SOLVER, ERR, ERROR,)
 Initialise a forward Euler solver for a differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_euler_forward_integrate (FORWARD_EULER_SOLVER, CELLML, N, START_TIME, END_TIME, TIME_INCREMENT, ONLY_ONE_MODEL_INDEX, MODELS_DATA, MAX_NUMBER_STATES, STATE_DATA, MAX_NUMBER_PARAMETERS, PARAMETERS_DATA, MAX_NUMBER_INTERMEDIATES, INTERMEDIATE_DATA, ERR, ERROR,)
 Integrate using a forward Euler differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_euler_forward_solve (FORWARD_EULER_SOLVER, ERR, ERROR,)
 Solve using a forward Euler differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_euler_improved_finalise (IMPROVED_EULER_SOLVER, ERR, ERROR,)
 Finalise an improved Euler differential-algebaic equation and deallocate all memory. More...
 
subroutine solver_routines::solver_dae_euler_improved_initialise (EULER_DAE_SOLVER, ERR, ERROR,)
 Initialise an improved Euler solver for a differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_euler_improved_solve (IMPROVED_EULER_SOLVER, ERR, ERROR,)
 Solve using an improved Euler differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_euler_initialise (DAE_SOLVER, ERR, ERROR,)
 Initialise an Euler solver for a differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_euler_library_type_get (EULER_DAE_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for an Euler differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_euler_library_type_set (EULER_DAE_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the type of library to use for an Euler differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_euler_solve (EULER_SOLVER, ERR, ERROR,)
 Solve using an Euler differential-algebraic equation solver. More...
 
subroutine, public solver_routines::solver_dae_euler_solver_type_get (SOLVER, DAE_EULER_TYPE, ERR, ERROR,)
 Returns the solve type for an Euler differential-algebraic equation solver. More...
 
subroutine, public solver_routines::solver_dae_euler_solver_type_set (SOLVER, DAE_EULER_TYPE, ERR, ERROR,)
 Sets/changes the solve type for an Euler differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_finalise (DAE_SOLVER, ERR, ERROR,)
 Finalise a differential-algebraic equation solver and deallocate all memory. More...
 
subroutine solver_routines::solver_dae_initialise (SOLVER, ERR, ERROR,)
 Initialise a differential-algebraic equation solver for a solver. More...
 
subroutine solver_routines::solver_dae_library_type_get (DAE_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for a differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_library_type_set (DAE_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the type of library to use for a differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_bdf_finalise (BDF_SOLVER, ERR, ERROR,)
 Finalise a BDF differential-algebraic equation solver and deallocate all memory. More...
 
subroutine solver_routines::solver_dae_bdf_initialise (DAE_SOLVER, ERR, ERROR,)
 Initialise a BDF solver for a differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_daecellmlpetsccontextfinalise (ctx, err, error,)
 Finalise a CellML PETSc solver context. More...
 
subroutine solver_routines::solver_daecellmlpetsccontextinitialise (ctx, err, error,)
 Initialise a CellML PETSc context. More...
 
subroutine solver_routines::solver_daecellmlpetsccontextset (ctx, solver, cellml, dofIdx, err, error,)
 Set a CellML PETSc context. More...
 
subroutine solver_routines::solver_dae_bdf_integrate (BDF_SOLVER, CELLML, N, START_TIME, END_TIME, TIME_INCREMENT, ONLY_ONE_MODEL_INDEX, MODELS_DATA, MAX_NUMBER_STATES, STATE_DATA, MAX_NUMBER_PARAMETERS, PARAMETERS_DATA, MAX_NUMBER_INTERMEDIATES, INTERMEDIATE_DATA, ERR, ERROR,)
 Integrate using a BDF differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_bdf_solve (BDF_SOLVER, ERR, ERROR,)
 Solve using a BDF differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_crank_nicolson_finalise (CRANK_NICOLSON_SOLVER, ERR, ERROR,)
 Finalise a Crank-Nicolson differential-algebraic equation solver and deallocate all memory. More...
 
subroutine solver_routines::solver_dae_crank_nicolson_initialise (DAE_SOLVER, ERR, ERROR,)
 Initialise a Crank-Nicolson solver for a differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_crank_nicolson_solve (CRANK_NICOLSON_SOLVER, ERR, ERROR,)
 Solve using a Crank-Nicolson differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_external_finalise (EXTERNAL_SOLVER, ERR, ERROR,)
 Finalise an external differential-algebraic equation solver and deallocate all memory. More...
 
subroutine solver_routines::solver_dae_external_initialise (DAE_SOLVER, ERR, ERROR,)
 Initialise an external solver for a differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_external_solve (EXTERNAL_SOLVER, ERR, ERROR,)
 Solve using an external differential-algebraic equation solver. More...
 
subroutine, public solver_routines::solver_daecellmlrhsevaluate (model, time, stateStartIdx, stateDataOffset, stateData, parameterStartIdx, parameterDataOffset, parameterData, intermediateStartIdx, intermediateDataOffset, intermediateData, rateStartIdx, rateDataOffset, rateData, err, error,)
 Integrate using a forward Euler differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_runge_kutta_finalise (RUNGE_KUTTA_SOLVER, ERR, ERROR,)
 Finalise a Runge-Kutta differential-algebraic equation solver and deallocate all memory. More...
 
subroutine solver_routines::solver_dae_runge_kutta_initialise (DAE_SOLVER, ERR, ERROR,)
 Initialise a Runge-Kutta solver for a differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_runge_kutta_solve (RUNGE_KUTTA_SOLVER, ERR, ERROR,)
 Solve using a Runge-Kutta differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_rush_larson_finalise (RUSH_LARSON_SOLVER, ERR, ERROR,)
 Finalise a Rush-Larson differential-algebraic equation solver and deallocate all memory. More...
 
subroutine solver_routines::solver_dae_rush_larson_initialise (DAE_SOLVER, ERR, ERROR,)
 Initialise an Rush-Larson solver for a differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_rush_larson_solve (RUSH_LARSON_SOLVER, ERR, ERROR,)
 Solve using a Rush-Larson differential-algebraic equation solver. More...
 
subroutine solver_routines::solver_dae_solve (DAE_SOLVER, ERR, ERROR,)
 Solve a differential-algebraic equation solver. More...
 
subroutine, public solver_routines::solver_dae_solver_type_get (SOLVER, DAE_SOLVE_TYPE, ERR, ERROR,)
 Returns the solve type for an differential-algebraic equation solver. More...
 
subroutine, public solver_routines::solver_dae_solver_type_set (SOLVER, DAE_SOLVE_TYPE, ERR, ERROR,)
 Sets/changes the solve type for an differential-algebraic equation solver. More...
 
subroutine, public solver_routines::solver_dae_times_set (SOLVER, START_TIME, END_TIME, ERR, ERROR,)
 Set/change the times for a differential-algebraic equation solver. More...
 
subroutine, public solver_routines::solver_dae_time_step_set (SOLVER, TIME_STEP, ERR, ERROR,)
 Set/change the (initial) time step size for a differential-algebraic equation solver. More...
 
subroutine, public solver_routines::solver_destroy (SOLVER, ERR, ERROR,)
 Destroys a solver. More...
 
subroutine solver_routines::solver_dynamic_create_finish (DYNAMIC_SOLVER, ERR, ERROR,)
 Finishes the process of creating a dynamic solver. More...
 
subroutine, public solver_routines::solver_dynamic_degree_get (SOLVER, DEGREE, ERR, ERROR,)
 Returns the degree of the polynomial used to interpolate time for a dynamic solver. More...
 
subroutine, public solver_routines::solver_dynamic_degree_set (SOLVER, DEGREE, ERR, ERROR,)
 Sets/changes the degree of the polynomial used to interpolate time for a dynamic solver. More...
 
recursive subroutine solver_routines::solver_dynamic_finalise (DYNAMIC_SOLVER, ERR, ERROR,)
 Finalise a dynamic solver and deallocates all memory. More...
 
subroutine solver_routines::solver_dynamic_initialise (SOLVER, ERR, ERROR,)
 Initialise a dynamic solver for a solver. More...
 
subroutine solver_routines::solver_dynamic_library_type_get (DYNAMIC_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for a dynamic solver. More...
 
subroutine solver_routines::solver_dynamic_library_type_set (DYNAMIC_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the type of library to use for a dynamic solver. More...
 
subroutine, public solver_routines::solver_dynamic_linearity_type_get (SOLVER, LINEARITY_TYPE, ERR, ERROR,)
 Returns the linearity type for the dynamic solver. More...
 
subroutine, public solver_routines::solver_dynamic_linearity_type_set (SOLVER, LINEARITY_TYPE, ERR, ERROR,)
 Sets/changes the linearity type for the dynamic solver. More...
 
subroutine, public solver_routines::solver_dynamic_nonlinear_solver_get (SOLVER, NONLINEAR_SOLVER, ERR, ERROR,)
 Returns the nonlinear solver associated with a dynamic solver. More...
 
subroutine, public solver_routines::solver_dynamic_linear_solver_get (SOLVER, LINEAR_SOLVER, ERR, ERROR,)
 Returns the linear solver associated with a dynamic solver. More...
 
subroutine solver_routines::solver_dynamic_mean_predicted_calculate (SOLVER, ERR, ERROR,)
 Copies the current to previous time-step, calculates mean predicted values, predicted values and previous residual values. More...
 
subroutine, public solver_routines::solver_dynamic_restart_get (SOLVER, RESTART, ERR, ERROR,)
 Returns the restart value for a dynamic solver. More...
 
subroutine, public solver_routines::solver_dynamic_restart_set (SOLVER, RESTART, ERR, ERROR,)
 Sets/changes the restart value for a dynamic solver. More...
 
subroutine, public solver_routines::solver_time_stepping_monitor (DAE_SOLVER, STEPS, TIME, ERR, ERROR,)
 Monitors the differential-algebraic equations solve. More...
 
subroutine, public solver_routines::solver_dynamic_order_set (SOLVER, ORDER, ERR, ERROR,)
 Sets/changes the order for a dynamic solver. More...
 
subroutine, public solver_routines::solver_dynamic_scheme_set (SOLVER, SCHEME, ERR, ERROR,)
 Sets/changes the scheme for a dynamic solver. More...
 
subroutine solver_routines::solver_dynamic_solve (DYNAMIC_SOLVER, ERR, ERROR,)
 Solve a dynamic solver. More...
 
subroutine solver_routines::solver_dynamic_theta_set_dp1 (SOLVER, THETA, ERR, ERROR,)
 Sets/changes a single theta value for a dynamic solver. More...
 
subroutine solver_routines::solver_dynamic_theta_set_dp (SOLVER, THETA, ERR, ERROR,)
 Sets/changes the theta value for a dynamic solver. More...
 
subroutine, public solver_routines::solver_dynamic_ale_set (SOLVER, ALE, ERR, ERROR,)
 Sets/changes the ALE flag for a dynamic solver. More...
 
subroutine, public solver_routines::solver_dynamic_update_bc_set (SOLVER, UPDATE_BC, ERR, ERROR,)
 Sets/changes the bc flag for a dynamic solver. More...
 
subroutine, public solver_routines::solver_dynamic_times_set (SOLVER, CURRENT_TIME, TIME_INCREMENT, ERR, ERROR,)
 Sets/changes the dynamic times for a dynamic solver. More...
 
subroutine solver_routines::solver_eigenproblem_create_finish (EIGENPROBLEM_SOLVER, ERR, ERROR,)
 Finishes the process of creating a eigenproblem solver. More...
 
subroutine solver_routines::solver_eigenproblem_finalise (EIGENPROBLEM_SOLVER, ERR, ERROR,)
 Finalise a eigenproblem solver for a solver. More...
 
subroutine solver_routines::solver_eigenproblem_initialise (SOLVER, ERR, ERROR,)
 Initialise a eigenproblem solver for a solver. More...
 
subroutine solver_routines::solver_eigenproblem_library_type_get (EIGENPROBLEM_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for an eigenproblem solver. More...
 
subroutine solver_routines::solver_eigenproblem_library_type_set (EIGENPROBLEM_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the type of library to use for an eigenproblem solver. More...
 
subroutine solver_routines::solver_eigenproblemmatriceslibrarytypeget (EIGENPROBLEM_SOLVER, MATRICES_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for an eigenproblem solver matrices. More...
 
subroutine solver_routines::solver_eigenproblem_solve (EIGENPROBLEM_SOLVER, ERR, ERROR,)
 Solve a eigenproblem solver. More...
 
subroutine, public solver_routines::solver_equations_boundary_conditions_get (SOLVER_EQUATIONS, BOUNDARY_CONDITIONS, ERR, ERROR,)
 Gets the boundary conditions for solver equations. More...
 
subroutine, public solver_routines::solver_equations_create_finish (SOLVER_EQUATIONS, ERR, ERROR,)
 Finishes the process of creating solver equations. More...
 
subroutine, public solver_routines::solver_equations_create_start (SOLVER, SOLVER_EQUATIONS, ERR, ERROR,)
 Starts the process of creating solver equations. More...
 
subroutine, public solver_routines::solver_equations_destroy (SOLVER_EQUATIONS, ERR, ERROR,)
 Destroys the solver equations. More...
 
subroutine, public solver_routines::solver_equations_equations_set_add (SOLVER_EQUATIONS, EQUATIONS_SET, EQUATIONS_SET_INDEX, ERR, ERROR,)
 Adds equations sets to solver equations. More...
 
subroutine solver_routines::solver_equations_finalise (SOLVER_EQUATIONS, ERR, ERROR,)
 Finalises the solver equations and deallocates all memory. More...
 
subroutine solver_routines::solver_equations_initialise (SOLVER, ERR, ERROR,)
 Initialises the solver equations for a solver. More...
 
subroutine, public solver_routines::solver_equations_interface_condition_add (SOLVER_EQUATIONS, INTERFACE_CONDITION, INTERFACE_CONDITION_INDEX, ERR, ERROR,)
 Adds an interface condition to the solver equations. More...
 
subroutine, public solver_routines::solver_equations_linearity_type_set (SOLVER_EQUATIONS, LINEARITY_TYPE, ERR, ERROR,)
 Sets/changes the linearity type for solver equations. More...
 
subroutine, public solver_routines::solverequations_boundaryconditionscreatefinish (SOLVER_EQUATIONS, ERR, ERROR,)
 Finishes the creation of boundary conditions for the given solver equations. More...
 
subroutine, public solver_routines::solverequations_boundaryconditionscreatestart (SOLVER_EQUATIONS, BOUNDARY_CONDITIONS, ERR, ERROR,)
 Starts the creation of boundary conditions for the given solver equations, and returns a pointer to the boundary conditions. More...
 
subroutine, public solver_routines::solver_equations_sparsity_type_set (SOLVER_EQUATIONS, SPARSITY_TYPE, ERR, ERROR,)
 Sets/changes the sparsity type for solver equations. More...
 
subroutine, public solver_routines::solver_equations_time_dependence_type_set (SOLVER_EQUATIONS, TIME_DEPENDENCE_TYPE, ERR, ERROR,)
 Sets/changes the time dependence type for solver equations. More...
 
subroutine, public solver_routines::solverequations_numberofmatricesget (solverEquations, numberOfMatrices, err, error,)
 Get the number of solver matrices for the solver equations. More...
 
subroutine, public solver_routines::solverequations_matrixget (solverEquations, matrixIndex, matrix, err, error,)
 Get a solver matrix from the solver equations matrices. More...
 
subroutine, public solver_routines::solverequations_jacobianmatrixget (solverEquations, matrix, err, error,)
 Get the Jacobian matrix from the solver equations matrices for nonlinear solver equations. More...
 
subroutine, public solver_routines::solverequations_vectorget (solverEquations, matrixIndex, vector, err, error,)
 Get the vector assiciated with a solver matrix from the solver equations matrices. More...
 
subroutine, public solver_routines::solverequations_residualvectorget (solverEquations, residualVector, err, error,)
 Get the residual vector from the solver equations for nonlinear problems. More...
 
subroutine, public solver_routines::solverequations_rhsvectorget (solverEquations, rhsVector, err, error,)
 Get the right hand side vector from the solver equations. More...
 
recursive subroutine solver_routines::solver_finalise (SOLVER, ERR, ERROR,)
 Finalises a solver and deallocates all memory. More...
 
subroutine, public solver_routines::solver_geometrictransformationarbitrarypathset (solver, arbitraryPath, err, error,)
 Set the arbitrary path logical for geometric transformation solver. More...
 
subroutine, public solver_routines::solver_geometrictransformationclear (solver, err, error,)
 Clear transformation for a geometric transformation solver. More...
 
subroutine, public solver_routines::solver_geometrictransformationfieldset (solver, field, variableType, err, error,)
 Set the field and field variable type for geometric transformation solver. More...
 
subroutine, public solver_routines::solver_geometrictransformationmatrixset (solver, matrix, incrementIdx, err, error,)
 Set the full transformation matrix for a geometric transformation at a load increment. More...
 
subroutine, public solver_routines::solver_geometrictransformationnumberofloadincrementsset (solver, numberOfIncrements, err, error,)
 Set the number of load increments for geometric transformation solver. More...
 
subroutine, public solver_routines::solver_geometrictransformationrotationset (solver, pt, axis, theta, incrementIdx, err, error,)
 Set the rotation for a geometric transformation. More...
 
subroutine, public solver_routines::solver_geometrictransformationscalingsset (solver, scalings, err, error,)
 Set the scalings for geometric transformation solver. More...
 
subroutine, public solver_routines::solver_geometrictransformationtranslationset (solver, translation, incrementIdx, err, error,)
 Set the translation for a geometric transformation. More...
 
subroutine solver_routines::solver_geometrictransformationfinalise (geometricTransformationSolver, err, error,)
 Finalise a geometric transformation solver for a solver. More...
 
subroutine solver_routines::solver_geometrictransformationinitialise (solver, err, error,)
 Initialise a geometric transformation solver for a solver. More...
 
subroutine, public solver_routines::solver_newton_cellml_evaluator_create (SOLVER, CELLML_SOLVER, ERR, ERROR,)
 Create a CellML evaluator solver for the Newton solver. More...
 
subroutine solver_routines::solver_initialise (SOLVERS, SOLVER_INDEX, ERR, ERROR,)
 Initialise a solver for a control loop. More...
 
subroutine solver_routines::solver_initialise_ptr (SOLVER, ERR, ERROR,)
 Initialise a solver. More...
 
subroutine solver_routines::solver_label_get_c (SOLVER, LABEL, ERR, ERROR,)
 Returns the label of a solver. More...
 
subroutine solver_routines::solver_label_get_vs (SOLVER, LABEL, ERR, ERROR,)
 Returns the label of a solver. More...
 
subroutine solver_routines::solver_label_set_c (SOLVER, LABEL, ERR, ERROR,)
 Sets the label of a solver. More...
 
subroutine solver_routines::solver_label_set_vs (SOLVER, LABEL, ERR, ERROR,)
 Sets the label of a solver. More...
 
subroutine, public solver_routines::solver_library_type_get (SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Gets the type of library to use for the solver. More...
 
subroutine, public solver_routines::solver_library_type_set (SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the type of library type to use for the solver. More...
 
subroutine solver_routines::solver_linear_create_finish (LINEAR_SOLVER, ERR, ERROR,)
 Finishes the process of creating a linear solver. More...
 
subroutine solver_routines::solver_linear_direct_cholesky_finalise (DIRECT_SOLVER, ERR, ERROR,)
 Finalise a Cholesky direct linear solver and deallocate all memory. More...
 
subroutine solver_routines::solver_linear_direct_cholesky_initialise (DIRECT_SOLVER, ERR, ERROR,)
 Initialise a Cholesky direct linear solver for a direct linear solver. More...
 
subroutine solver_routines::solver_linear_direct_create_finish (LINEAR_DIRECT_SOLVER, ERR, ERROR,)
 Finishes the process of creating a linear direct solver. More...
 
subroutine solver_routines::solver_linear_direct_finalise (LINEAR_DIRECT_SOLVER, ERR, ERROR,)
 Finalise a direct linear solver for a linear solver and deallocate all memory. More...
 
subroutine solver_routines::solver_linear_direct_initialise (LINEAR_SOLVER, ERR, ERROR,)
 Initialise a direct linear solver for a lienar solver. More...
 
subroutine solver_routines::solver_linear_direct_library_type_get (DIRECT_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for a direct linear solver. More...
 
subroutine solver_routines::solver_linear_direct_library_type_set (DIRECT_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the type of library to use for a direct linear solver. More...
 
subroutine solver_routines::solver_linear_direct_lu_finalise (DIRECT_SOLVER, ERR, ERROR,)
 Finalise a LU direct linear solver and deallocate all memory. More...
 
subroutine solver_routines::solver_linear_direct_lu_initialise (DIRECT_SOLVER, ERR, ERROR,)
 Initialise a LU direct linear solver for a direct linear solver. More...
 
subroutine solver_routines::solver_lineardirectmatriceslibrarytypeget (DIRECT_SOLVER, MATRICES_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for a direct linear solver matrices. More...
 
subroutine, public solver_routines::solver_mumpsseticntl (solver, icntl, ivalue, err, error,)
 Sets MUMPS ICNTL(icntl)=ivalue through PETSc Mat API (see MUMPS user guide for more info). Must be called after the boundary conditions have been set up. More...
 
subroutine, public solver_routines::solver_mumpssetcntl (solver, icntl, val, err, error,)
 Sets MUMPS CNTL(icntl)=val through PETSc Mat API (see MUMPS user guide for more info). Must be called after the boundary conditions have been set up. More...
 
subroutine solver_routines::solver_linear_direct_solve (LINEAR_DIRECT_SOLVER, ERR, ERROR,)
 Solve a linear direct solver. More...
 
subroutine solver_routines::solver_linear_direct_svd_finalise (LINEAR_DIRECT_SOLVER, ERR, ERROR,)
 Finalise a SVD direct linear solver and deallocate all memory. More...
 
subroutine solver_routines::solver_linear_direct_svd_initialise (DIRECT_SOLVER, ERR, ERROR,)
 Initialise a SVD direct linear solver for a direct linear solver. More...
 
subroutine, public solver_routines::solver_linear_direct_type_set (SOLVER, DIRECT_SOLVER_TYPE, ERR, ERROR,)
 Sets/changes the type of direct linear solver. More...
 
subroutine solver_routines::solver_linear_finalise (LINEAR_SOLVER, ERR, ERROR,)
 Finalise a linear solver for a solver. More...
 
subroutine solver_routines::solver_linear_initialise (SOLVER, ERR, ERROR,)
 Initialise a linear solver for a solver. More...
 
subroutine, public solver_routines::solver_lineariterativeabsolutetoleranceset (SOLVER, ABSOLUTE_TOLERANCE, ERR, ERROR,)
 Sets/changes the maximum absolute tolerance for an iterative linear solver. More...
 
subroutine solver_routines::solver_linear_iterative_create_finish (LINEAR_ITERATIVE_SOLVER, ERR, ERROR,)
 Finishes the process of creating a linear iterative solver. More...
 
subroutine, public solver_routines::solver_lineariterativedivergencetoleranceset (SOLVER, DIVERGENCE_TOLERANCE, ERR, ERROR,)
 Sets/changes the maximum divergence tolerance for an iterative linear solver. More...
 
subroutine solver_routines::solver_linear_iterative_finalise (LINEAR_ITERATIVE_SOLVER, ERR, ERROR,)
 Finalise an iterative linear solver for a linear solver and deallocate all memory. More...
 
subroutine, public solver_routines::solver_linear_iterative_gmres_restart_set (SOLVER, GMRES_RESTART, ERR, ERROR,)
 Sets/changes the GMRES restart value for a GMRES iterative linear solver. More...
 
subroutine solver_routines::solver_linear_iterative_initialise (LINEAR_SOLVER, ERR, ERROR,)
 Initialise an iterative linear solver for a linear solver. More...
 
subroutine solver_routines::solver_linear_iterative_library_type_get (ITERATIVE_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for an iterative linear solver. More...
 
subroutine solver_routines::solver_linear_iterative_library_type_set (ITERATIVE_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the type of library to use for an iterative linear solver. More...
 
subroutine solver_routines::solver_lineariterativematriceslibrarytypeget (ITERATIVE_SOLVER, MATRICES_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for an iterative linear solver matrices. More...
 
subroutine, public solver_routines::solver_lineariterativemaximumiterationsset (SOLVER, MAXIMUM_ITERATIONS, ERR, ERROR,)
 Sets/changes the maximum number of iterations for an iterative linear solver. More...
 
subroutine, public solver_routines::solver_lineariterativepreconditionertypeset (SOLVER, ITERATIVE_PRECONDITIONER_TYPE, ERR, ERROR,)
 Sets/changes the type of preconditioner for an iterative linear solver. More...
 
subroutine, public solver_routines::solver_lineariterativerelativetoleranceset (SOLVER, RELATIVE_TOLERANCE, ERR, ERROR,)
 Sets/changes the relative tolerance for an iterative linear solver. More...
 
subroutine, public solver_routines::solver_lineariterativesolutioninittypeset (SOLVER, SOLUTION_INITIALISE_TYPE, ERR, ERROR,)
 Sets/changes the solution initialise type for an iterative linear solver. More...
 
subroutine solver_routines::solver_linear_iterative_solve (LINEAR_ITERATIVE_SOLVER, ERR, ERROR,)
 Solves a linear iterative linear solver. More...
 
subroutine, public solver_routines::solver_linear_iterative_type_set (SOLVER, ITERATIVE_SOLVER_TYPE, ERR, ERROR,)
 Sets/changes the type of iterative linear solver. More...
 
subroutine solver_routines::solver_linear_library_type_get (LINEAR_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for a linear solver. More...
 
subroutine solver_routines::solver_linear_library_type_set (LINEAR_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the type of library to use for a linear solver. More...
 
subroutine solver_routines::solver_linear_matrices_library_type_get (LINEAR_SOLVER, MATRICES_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for a linear solver matrices. More...
 
subroutine solver_routines::solver_linear_solve (LINEAR_SOLVER, ERR, ERROR,)
 Solve a linear solver. More...
 
subroutine, public solver_routines::solver_linear_type_set (SOLVER, LINEAR_SOLVE_TYPE, ERR, ERROR,)
 Sets/changes the type of linear solver. More...
 
subroutine, public solver_routines::solver_matrices_dynamic_assemble (SOLVER, SELECTION_TYPE, ERR, ERROR,)
 Assembles the solver matrices and rhs from the dynamic equations. More...
 
subroutine, public solver_routines::solver_matrices_static_assemble (SOLVER, SELECTION_TYPE, ERR, ERROR,)
 Assembles the solver matrices and rhs from the static equations. More...
 
subroutine solver_routines::solver_matrices_library_type_get (SOLVER, MATRICES_LIBRARY_TYPE, ERR, ERROR,)
 Gets the type of library to use for the solver matrices. More...
 
subroutine, public solver_routines::solver_quasi_newton_absolute_tolerance_set (SOLVER, ABSOLUTE_TOLERANCE, ERR, ERROR,)
 Sets/changes the maximum absolute tolerance for a nonlinear Quasi-Newton solver. More...
 
subroutine, public solver_routines::solver_quasinewtonlinesearchmonitoroutputset (solver, linesearchMonitorOutputFlag, err, error,)
 Enables/disables output monitoring for a nonlinear Quasi-Newton line search solver. More...
 
subroutine solver_routines::solver_quasi_newton_create_finish (QUASI_NEWTON_SOLVER, ERR, ERROR,)
 Finishes the process of creating a Quasi-Newton solver. More...
 
recursive subroutine solver_routines::solver_quasi_newton_finalise (QUASI_NEWTON_SOLVER, ERR, ERROR,)
 Finalise a Quasi-Newton solver and deallocate all memory. More...
 
subroutine solver_routines::solver_quasi_newton_initialise (NONLINEAR_SOLVER, ERR, ERROR,)
 Initialise a Quasi-Newton solver for a nonlinear solver. More...
 
subroutine, public solver_routines::solver_quasinewtonjacobiancalculationtypeset (SOLVER, JACOBIAN_CALCULATION_TYPE, ERR, ERROR,)
 Sets/changes the type of Jacobian calculation type for a Quasi-Newton solver. More...
 
subroutine solver_routines::solver_quasi_newton_library_type_get (QUASI_NEWTON_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for a Quasi-Newton solver. More...
 
subroutine solver_routines::solver_quasi_newton_library_type_set (QUASI_NEWTON_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the type of library to use for a Quasi-Newton solver. More...
 
subroutine, public solver_routines::solver_quasi_newton_linear_solver_get (SOLVER, LINEAR_SOLVER, ERR, ERROR,)
 Returns the linear solver associated with a Quasi-Newton solver. More...
 
subroutine, public solver_routines::solver_quasi_newton_cellml_solver_get (SOLVER, CELLML_SOLVER, ERR, ERROR,)
 Returns the CellML solver associated with a Quasi-Newton solver. More...
 
subroutine, public solver_routines::solver_quasinewtonconvergencetesttypeset (solver, convergenceTestType, err, error,)
 Sets/changes the convergence test for a Quasi-Newton nonlinear solver. More...
 
subroutine solver_routines::solver_quasinewtonlinesearchcreatefinish (LINESEARCH_SOLVER, ERR, ERROR,)
 Finishes the process of creating nonlinear Quasi-Newton line search solver. More...
 
subroutine solver_routines::solver_quasinewtonlinesearchfinalise (linesearchSolver, err, error,)
 Finalise a nonlinear Quasi-Newton line search solver and deallocate all memory. More...
 
subroutine solver_routines::solver_quasi_newton_linesearch_initialise (QUASI_NEWTON_SOLVER, ERR, ERROR,)
 Initialise a nonlinear Quasi-Newton line search solver for a Quasi-Newton solver. More...
 
subroutine, public solver_routines::solver_quasi_newton_linesearch_maxstep_set (SOLVER, LINESEARCH_MAXSTEP, ERR, ERROR,)
 Sets/changes the line search maximum step for a nonlinear Quasi-Newton linesearch solver. More...
 
subroutine solver_routines::solver_quasi_newton_linesearch_solve (LINESEARCH_SOLVER, ERR, ERROR,)
 
subroutine, public solver_routines::solver_quasi_newton_linesearch_steptol_set (SOLVER, LINESEARCH_STEPTOL, ERR, ERROR,)
 Sets/changes the line search step tolerance for a nonlinear Quasi-Newton line search solver. More...
 
subroutine, public solver_routines::solver_quasi_newton_linesearch_type_set (SOLVER, LINESEARCH_TYPE, ERR, ERROR,)
 Sets/changes the line search type for a nonlinear Quasi-Newton linesearch solver. More...
 
subroutine solver_routines::solver_quasinewtonmatriceslibrarytypeget (QUASI_NEWTON_SOLVER, MATRICES_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for a Quasi-Newton solver matrices. More...
 
subroutine, public solver_routines::solver_quasinewtonmaximumfunctionevaluationsset (SOLVER, MAXIMUM_FUNCTION_EVALUATIONS, ERR, ERROR,)
 Sets/changes the maximum number of function evaluations for a nonlinear Quasi-Newton solver. More...
 
subroutine, public solver_routines::solver_quasi_newton_maximum_iterations_set (SOLVER, MAXIMUM_ITERATIONS, ERR, ERROR,)
 Sets/changes the maximum number of iterations for a nonlinear Quasi-Newton solver. More...
 
subroutine, public solver_routines::solver_quasi_newton_relative_tolerance_set (SOLVER, RELATIVE_TOLERANCE, ERR, ERROR,)
 Sets/changes the relative tolerance for a nonlinear Quasi-Newton solver. More...
 
subroutine, public solver_routines::solver_quasi_newton_solution_init_type_set (SOLVER, SOLUTION_INITIALISE_TYPE, ERR, ERROR,)
 Sets/changes the solution initialisation for a nonlinear Quasi-Newton solver. More...
 
subroutine, public solver_routines::solver_quasi_newton_solution_tolerance_set (SOLVER, SOLUTION_TOLERANCE, ERR, ERROR,)
 Sets/changes the solution tolerance for a nonlinear Quasi-Newton solver. More...
 
subroutine solver_routines::solver_quasi_newton_solve (QUASI_NEWTON_SOLVER, ERR, ERROR,)
 
subroutine solver_routines::solver_quasinewtontrustregioncreatefinish (TRUSTREGION_SOLVER, ERR, ERROR,)
 Finishes the process of creating nonlinear Quasi-Newton trust region solver. More...
 
subroutine, public solver_routines::solver_quasi_newton_trustregion_delta0_set (SOLVER, TRUSTREGION_DELTA0, ERR, ERROR,)
 Sets/changes the trust region delta0 for a nonlinear Quasi-Newton trust region solver solver. More...
 
subroutine solver_routines::solver_quasi_newton_trustregion_finalise (TRUSTREGION_SOLVER, ERR, ERROR,)
 Finalise a nonlinear Quasi-Newton trust region solver and deallocate all memory. More...
 
subroutine solver_routines::solver_quasi_newton_trustregion_initialise (QUASI_NEWTON_SOLVER, ERR, ERROR,)
 Initialise a Quaso-Newton trust region solver for a nonlinear solver. More...
 
subroutine solver_routines::solver_quasi_newton_trustregion_solve (TRUSTREGION_SOLVER, ERR, ERROR,)
 
subroutine, public solver_routines::solver_quasinewtontrustregiontoleranceset (SOLVER, TRUSTREGION_TOLERANCE, ERR, ERROR,)
 Sets/changes the trust region tolerance for a nonlinear Quasi-Newton trust region solver. More...
 
subroutine, public solver_routines::solver_quasi_newton_restart_set (SOLVER, RESTART, ERR, ERROR,)
 Sets/changes the restart of nonlinear Quasi-Newton solver. More...
 
subroutine, public solver_routines::solver_quasi_newton_restart_type_set (SOLVER, QUASI_NEWTON_RESTART_TYPE, ERR, ERROR,)
 Sets/changes the restart type of nonlinear Quasi-Newton solver. More...
 
subroutine, public solver_routines::solver_quasi_newton_scale_type_set (SOLVER, QUASI_NEWTON_SCALE_TYPE, ERR, ERROR,)
 Sets/changes the scale type of nonlinear Quasi-Newton solver. More...
 
subroutine, public solver_routines::solver_quasi_newton_type_set (SOLVER, QUASI_NEWTON_TYPE, ERR, ERROR,)
 Sets/changes the type of nonlinear Quasi-Newton solver. More...
 
subroutine, public solver_routines::solver_quasi_newton_solve_type_set (SOLVER, QUASI_NEWTON_SOLVE_TYPE, ERR, ERROR,)
 Sets/changes the solve type of nonlinear Quasi-Newton solver. More...
 
subroutine, public solver_routines::solver_newton_absolute_tolerance_set (SOLVER, ABSOLUTE_TOLERANCE, ERR, ERROR,)
 Sets/changes the maximum absolute tolerance for a nonlinear Newton solver. More...
 
subroutine, public solver_routines::solver_newtonlinesearchmonitoroutputset (solver, linesearchMonitorOutputFlag, err, error,)
 Enables/disables output monitoring for a nonlinear Newton line search solver. More...
 
subroutine solver_routines::solver_newton_create_finish (NEWTON_SOLVER, ERR, ERROR,)
 Finishes the process of creating a Newton solver. More...
 
recursive subroutine solver_routines::solver_newton_finalise (NEWTON_SOLVER, ERR, ERROR,)
 Finalise a Newton solver and deallocate all memory. More...
 
subroutine solver_routines::solver_newton_initialise (NONLINEAR_SOLVER, ERR, ERROR,)
 Initialise a Newton solver for a nonlinear solver. More...
 
subroutine, public solver_routines::solver_newton_jacobian_calculation_type_set (SOLVER, JACOBIAN_CALCULATION_TYPE, ERR, ERROR,)
 Sets/changes the type of Jacobian calculation type for a Newton solver. More...
 
subroutine solver_routines::solver_newton_library_type_get (NEWTON_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for a Newton solver. More...
 
subroutine solver_routines::solver_newton_library_type_set (NEWTON_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the type of library to use for a Newton solver. More...
 
subroutine, public solver_routines::solver_newton_linear_solver_get (SOLVER, LINEAR_SOLVER, ERR, ERROR,)
 Returns the linear solver associated with a Newton solver. More...
 
subroutine, public solver_routines::solver_newton_cellml_solver_get (SOLVER, CELLML_SOLVER, ERR, ERROR,)
 Returns the CellML solver associated with a Newton solver. More...
 
subroutine, public solver_routines::solver_newtonconvergencetesttypeset (solver, convergenceTestType, err, error,)
 Sets/changes the convergence test for a Newton nonlinear solver. More...
 
subroutine, public solver_routines::solver_newton_linesearch_alpha_set (SOLVER, LINESEARCH_ALPHA, ERR, ERROR,)
 Sets/changes the line search alpha for a Newton linesearch solver. More...
 
subroutine solver_routines::solver_newton_linesearch_create_finish (LINESEARCH_SOLVER, ERR, ERROR,)
 Finishes the process of creating nonlinear Newton line search solver. More...
 
subroutine solver_routines::solver_newton_linesearch_finalise (LINESEARCH_SOLVER, ERR, ERROR,)
 Finalise a nonlinear Newton line search solver and deallocate all memory. More...
 
subroutine solver_routines::solver_newton_linesearch_initialise (NEWTON_SOLVER, ERR, ERROR,)
 Initialise a nonlinear Newton line search solver for a Newton solver. More...
 
subroutine, public solver_routines::solver_newton_linesearch_maxstep_set (SOLVER, LINESEARCH_MAXSTEP, ERR, ERROR,)
 Sets/changes the line search maximum step for a nonlinear Newton linesearch solver. More...
 
subroutine solver_routines::solver_newton_linesearch_solve (LINESEARCH_SOLVER, ERR, ERROR,)
 
subroutine, public solver_routines::solver_newton_linesearch_steptol_set (SOLVER, LINESEARCH_STEPTOL, ERR, ERROR,)
 Sets/changes the line search step tolerance for a nonlinear Newton line search solver. More...
 
subroutine, public solver_routines::solver_newton_linesearch_type_set (SOLVER, LINESEARCH_TYPE, ERR, ERROR,)
 Sets/changes the line search type for a nonlinear Newton linesearch solver. More...
 
subroutine solver_routines::solver_newton_matrices_library_type_get (NEWTON_SOLVER, MATRICES_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for a Newton solver matrices. More...
 
subroutine, public solver_routines::solver_newtonmaximumfunctionevaluationsset (SOLVER, MAXIMUM_FUNCTION_EVALUATIONS, ERR, ERROR,)
 Sets/changes the maximum number of function evaluations for a nonlinear Newton solver. More...
 
subroutine, public solver_routines::solver_newton_maximum_iterations_set (SOLVER, MAXIMUM_ITERATIONS, ERR, ERROR,)
 Sets/changes the maximum number of iterations for a nonlinear Newton solver. More...
 
subroutine, public solver_routines::solver_newton_relative_tolerance_set (SOLVER, RELATIVE_TOLERANCE, ERR, ERROR,)
 Sets/changes the relative tolerance for a nonlinear Newton solver. More...
 
subroutine, public solver_routines::solver_newton_solution_init_type_set (SOLVER, SOLUTION_INITIALISE_TYPE, ERR, ERROR,)
 Sets/changes the solution initialisation for a nonlinear Newton solver. More...
 
subroutine, public solver_routines::solver_newton_solution_tolerance_set (SOLVER, SOLUTION_TOLERANCE, ERR, ERROR,)
 Sets/changes the solution tolerance for a nonlinear Newton solver. More...
 
subroutine solver_routines::solver_newton_solve (NEWTON_SOLVER, ERR, ERROR,)
 
subroutine solver_routines::solver_newton_trustregion_create_finish (TRUSTREGION_SOLVER, ERR, ERROR,)
 Finishes the process of creating nonlinear Newton trust region solver. More...
 
subroutine, public solver_routines::solver_newton_trustregion_delta0_set (SOLVER, TRUSTREGION_DELTA0, ERR, ERROR,)
 Sets/changes the trust region delta0 for a nonlinear Newton trust region solver solver. More...
 
subroutine solver_routines::solver_newton_trustregion_finalise (TRUSTREGION_SOLVER, ERR, ERROR,)
 Finalise a nonlinear Newton trust region solver and deallocate all memory. More...
 
subroutine solver_routines::solver_newton_trustregion_initialise (NEWTON_SOLVER, ERR, ERROR,)
 Initialise a Newton trust region solver for a nonlinear solver. More...
 
subroutine solver_routines::solver_newton_trustregion_solve (TRUSTREGION_SOLVER, ERR, ERROR,)
 
subroutine, public solver_routines::solver_newton_trustregion_tolerance_set (SOLVER, TRUSTREGION_TOLERANCE, ERR, ERROR,)
 Sets/changes the trust region tolerance for a nonlinear Newton trust region solver. More...
 
subroutine, public solver_routines::solver_newton_type_set (SOLVER, NEWTON_SOLVE_TYPE, ERR, ERROR,)
 Sets/changes the type of nonlinear Newton solver. More...
 
subroutine solver_routines::solver_nonlinear_create_finish (NONLINEAR_SOLVER, ERR, ERROR,)
 Finishes the process of creating a nonlinear solver. More...
 
subroutine, public solver_routines::solver_nonlinear_divergence_exit (SOLVER, ERR, ERROR,)
 Instead of warning on nonlinear divergence, exit with error. More...
 
recursive subroutine solver_routines::solver_nonlinear_finalise (NONLINEAR_SOLVER, ERR, ERROR,)
 Finalise a nonlinear solver for a solver. More...
 
subroutine solver_routines::solver_nonlinear_initialise (SOLVER, ERR, ERROR,)
 Initialise a nonlinear solver for a solver. More...
 
subroutine solver_routines::solver_nonlinear_library_type_get (NONLINEAR_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for a nonlinear solver. More...
 
subroutine solver_routines::solver_nonlinear_library_type_set (NONLINEAR_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the type of library to use for a nonlinear solver. More...
 
subroutine solver_routines::solver_nonlinear_matrices_library_type_get (NONLINEAR_SOLVER, MATRICES_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for a nonlinear solver matrices. More...
 
subroutine, public solver_routines::solver_nonlinear_monitor (nonlinearSolver, its, norm, err, error,)
 Monitors the nonlinear solve. More...
 
subroutine solver_routines::solver_nonlinear_solve (NONLINEAR_SOLVER, ERR, ERROR,)
 
subroutine, public solver_routines::solver_nonlinear_type_set (SOLVER, NONLINEAR_SOLVE_TYPE, ERR, ERROR,)
 Sets/changes the type of nonlinear solver. More...
 
subroutine solver_routines::solver_optimiser_create_finish (OPTIMISER_SOLVER, ERR, ERROR,)
 Finishes the process of creating an optimiser solver. More...
 
subroutine solver_routines::solver_optimiser_finalise (OPTIMISER_SOLVER, ERR, ERROR,)
 Finalise a optimiser solver. More...
 
subroutine solver_routines::solver_optimiser_initialise (SOLVER, ERR, ERROR,)
 Initialise an optimiser solver for a solver. More...
 
subroutine solver_routines::solver_optimiser_library_type_get (OPTIMISER_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for an optimiser solver. More...
 
subroutine solver_routines::solver_optimiser_library_type_set (OPTIMISER_SOLVER, SOLVER_LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the type of library to use for an optimisation solver. More...
 
subroutine solver_routines::solver_optimiser_matrices_library_type_get (OPTIMISER_SOLVER, MATRICES_LIBRARY_TYPE, ERR, ERROR,)
 Returns the type of library to use for an optimiser solver matrices. More...
 
subroutine solver_routines::solver_optimiser_solve (OPTIMISER_SOLVER, ERR, ERROR,)
 Solve an optimiser solver. More...
 
subroutine, public solver_routines::solver_output_type_set (SOLVER, OUTPUT_TYPE, ERR, ERROR,)
 Sets/changes the output type for a solver. More...
 
subroutine, public solver_routines::solver_solution_update (SOLVER, ERR, ERROR,)
 Updates the solver solution from the field variables. More...
 
subroutine, public solver_routines::solver_solver_equations_get (SOLVER, SOLVER_EQUATIONS, ERR, ERROR,)
 Returns a pointer to the solver equations for a solver. More...
 
recursive subroutine, public solver_routines::solver_solve (SOLVER, ERR, ERROR,)
 Solve the problem. More...
 
subroutine, public solver_routines::solver_type_set (SOLVER, SOLVE_TYPE, ERR, ERROR,)
 Sets/changes the type for a solver. More...
 
subroutine, public solver_routines::solver_variables_dynamic_field_update (SOLVER, ERR, ERROR,)
 Updates the dependent variables from the solver solution for dynamic solvers. More...
 
subroutine, public solver_routines::solver_variablesdynamicfieldpreviousvaluesupdate (SOLVER, ERR, ERROR,)
 Updates the previous values from the solver solution for dynamic solvers. More...
 
subroutine, public solver_routines::solver_variables_dynamic_nonlinear_update (SOLVER, ERR, ERROR,)
 Update the field values form the dynamic factor * current solver values AND add in mean predicted displacements. More...
 
subroutine, public solver_routines::solver_variables_field_update (SOLVER, ERR, ERROR,)
 Updates the dependent variables from the solver solution for static solvers. More...
 
subroutine, public solver_routines::solvers_create_finish (SOLVERS, ERR, ERROR,)
 Finish the creation of solvers. More...
 
subroutine, public solver_routines::solvers_create_start (CONTROL_LOOP, SOLVERS, ERR, ERROR,)
 Start the creation of a solvers for the control loop. More...
 
subroutine, public solver_routines::solvers_destroy (SOLVERS, ERR, ERROR,)
 Destroys the solvers. More...
 
subroutine solver_routines::solvers_finalise (SOLVERS, ERR, ERROR,)
 Finalises the solvers and deallocates all memory. More...
 
subroutine solver_routines::solvers_initialise (CONTROL_LOOP, ERR, ERROR,)
 Initialises the solvers for a control loop. More...
 
subroutine, public solver_routines::solvers_number_set (SOLVERS, NUMBER_OF_SOLVERS, ERR, ERROR,)
 Sets/changes the number of solvers. More...
 
subroutine, public solver_routines::solvers_solver_get (SOLVERS, SOLVER_INDEX, SOLVER, ERR, ERROR,)
 Returns a pointer to the specified solver in the list of solvers. More...
 
subroutine, public solver_routines::solver_linked_solver_add (SOLVER, SOLVER_TO_LINK, SOLV_TYPE, ERR, ERROR,)
 Adds a linked solver to the solver. Also sets the solver type for the linked solver, als well as its linking solver. More...
 
subroutine, public solver_routines::solver_linked_solver_remove (SOLVER, SOLV_TYPE, ERR, ERROR,)
 Adds a linked solver to the solver. Also sets the solver type for the linked solver, als well as its linking solver. More...
 
subroutine solver_time_stepping_monitor_petsc (ts, STEPS, TIME, X, CTX, ERR)
 Called from the PETSc TS solvers to monitor the dynamic solver. More...
 
subroutine solver_nonlinear_monitor_petsc (snes, ITS, NORM, CTX, ERR)
 Called from the PETSc SNES solvers to monitor the Newton nonlinear solver. More...
 

Variables

integer(intg), parameter, public solver_routines::solver_number_of_solver_types =9
 Number of different solver types possible. More...
 
integer(intg), parameter, public solver_routines::solver_linear_type =1
 A linear solver. More...
 
integer(intg), parameter, public solver_routines::solver_nonlinear_type =2
 A nonlinear solver. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_type =3
 A dynamic solver. More...
 
integer(intg), parameter, public solver_routines::solver_dae_type =4
 A differential-algebraic equation solver. More...
 
integer(intg), parameter, public solver_routines::solver_eigenproblem_type =5
 A eigenproblem solver. More...
 
integer(intg), parameter, public solver_routines::solver_optimiser_type =6
 An optimiser solver. More...
 
integer(intg), parameter, public solver_routines::solver_cellml_evaluator_type =7
 A CellML evaluation solver. More...
 
integer(intg), parameter solver_routines::solver_state_iteration_type =8
 An state iteration solver. More...
 
integer(intg), parameter, public solver_routines::solver_geometric_transformation_type =9
 An geometric transformation solver. More...
 
integer(intg), parameter, public solver_routines::solver_cmiss_library =LIBRARY_CMISS_TYPE
 CMISS (internal) solver library. More...
 
integer(intg), parameter, public solver_routines::solver_petsc_library =LIBRARY_PETSC_TYPE
 PETSc solver library. More...
 
integer(intg), parameter, public solver_routines::solver_mumps_library =LIBRARY_MUMPS_TYPE
 MUMPS solver library. More...
 
integer(intg), parameter, public solver_routines::solver_superlu_library =LIBRARY_SUPERLU_TYPE
 SuperLU solver library. More...
 
integer(intg), parameter, public solver_routines::solver_spooles_library =LIBRARY_SPOOLES_TYPE
 Spooles solver library. More...
 
integer(intg), parameter, public solver_routines::solver_umfpack_library =LIBRARY_UMFPACK_TYPE
 UMFPACK solver library. More...
 
integer(intg), parameter, public solver_routines::solver_lusol_library =LIBRARY_LUSOL_TYPE
 LUSOL solver library. More...
 
integer(intg), parameter, public solver_routines::solver_essl_library =LIBRARY_ESSL_TYPE
 ESSL solver library. More...
 
integer(intg), parameter, public solver_routines::solver_lapack_library =LIBRARY_LAPACK_TYPE
 LAPACK solver library. More...
 
integer(intg), parameter, public solver_routines::solver_tao_library =LIBRARY_TAO_TYPE
 TAO solver library. More...
 
integer(intg), parameter, public solver_routines::solver_hypre_library =LIBRARY_HYPRE_TYPE
 Hypre solver library. More...
 
integer(intg), parameter, public solver_routines::solver_pastix_library =LIBRARY_PASTIX_TYPE
 PaStiX solver library. More...
 
integer(intg), parameter, public solver_routines::solver_linear_direct_solve_type =1
 Direct linear solver type. More...
 
integer(intg), parameter, public solver_routines::solver_linear_iterative_solve_type =2
 Iterative linear solver type. More...
 
integer(intg), parameter, public solver_routines::solver_direct_lu =1
 LU direct linear solver. More...
 
integer(intg), parameter, public solver_routines::solver_direct_cholesky =2
 Cholesky direct linear solver. More...
 
integer(intg), parameter, public solver_routines::solver_direct_svd =3
 SVD direct linear solver. More...
 
integer(intg), parameter, public solver_routines::solver_iterative_richardson =1
 Richardson iterative solver type. More...
 
integer(intg), parameter, public solver_routines::solver_iterative_chebyshev =2
 Chebyshev iterative solver type. More...
 
integer(intg), parameter, public solver_routines::solver_iterative_conjugate_gradient =3
 Conjugate gradient iterative solver type. More...
 
integer(intg), parameter, public solver_routines::solver_iterative_biconjugate_gradient =4
 Bi-conjugate gradient iterative solver type. More...
 
integer(intg), parameter, public solver_routines::solver_iterative_gmres =5
 Generalised minimum residual iterative solver type. More...
 
integer(intg), parameter, public solver_routines::solver_iterative_bicgstab =6
 Stabalised bi-conjugate gradient iterative solver type. More...
 
integer(intg), parameter, public solver_routines::solver_iterative_conjgrad_squared =7
 Conjugate gradient squared iterative solver type. More...
 
integer(intg), parameter, public solver_routines::solver_iterative_no_preconditioner =0
 No preconditioner type. More...
 
integer(intg), parameter, public solver_routines::solver_iterative_jacobi_preconditioner =1
 Jacobi preconditioner type. More...
 
integer(intg), parameter, public solver_routines::solver_iterative_block_jacobi_preconditioner =2
 Iterative block Jacobi preconditioner type. More...
 
integer(intg), parameter, public solver_routines::solver_iterative_sor_preconditioner =3
 Successive over relaxation preconditioner type. More...
 
integer(intg), parameter, public solver_routines::solver_iterative_incomplete_cholesky_preconditioner =4
 Incomplete Cholesky preconditioner type. More...
 
integer(intg), parameter, public solver_routines::solver_iterative_incomplete_lu_preconditioner =5
 Incomplete LU preconditioner type. More...
 
integer(intg), parameter, public solver_routines::solver_iterative_additive_schwarz_preconditioner =6
 Additive Schwrz preconditioner type. More...
 
integer(intg), parameter, public solver_routines::solver_nonlinear_newton =1
 Newton nonlinear solver type. More...
 
integer(intg), parameter, public solver_routines::solver_nonlinear_bfgs_inverse =2
 BFGS inverse nonlinear solver type. More...
 
integer(intg), parameter, public solver_routines::solver_nonlinear_sqp =3
 Sequential Quadratic Program nonlinear solver type. More...
 
integer(intg), parameter, public solver_routines::solver_nonlinear_quasi_newton =4
 Sequential Quasi-Newton nonlinear solver type. More...
 
integer(intg), parameter, public solver_routines::solver_quasi_newton_linesearch =1
 Quasi-Newton line search nonlinear solver type. More...
 
integer(intg), parameter, public solver_routines::solver_quasi_newton_trustregion =2
 Quasi-Newton trust region nonlinear solver type. More...
 
integer(intg), parameter, public solver_routines::solver_quasi_newton_lbfgs =1
 LBFGS Quasi-Newton type. More...
 
integer(intg), parameter, public solver_routines::solver_quasi_newton_goodbroyden =2
 "Good" Broyden Quasi-Newton type More...
 
integer(intg), parameter, public solver_routines::solver_quasi_newton_badbroyden =3
 "Bad" Broyden Quasi-Newton type More...
 
integer(intg), parameter, public solver_routines::solver_quasi_newton_linesearch_basic =1
 Simple damping line search. More...
 
integer(intg), parameter, public solver_routines::solver_quasi_newton_linesearch_l2 =2
 Secant line search over the L2 norm of the function. More...
 
integer(intg), parameter, public solver_routines::solver_quasi_newton_linesearch_cp =3
 Critical point secant line search. More...
 
integer(intg), parameter, public solver_routines::solver_quasi_newton_restart_none =1
 Never restart. More...
 
integer(intg), parameter, public solver_routines::solver_quasi_newton_restart_powell =2
 Restart based upon descent criteria. More...
 
integer(intg), parameter, public solver_routines::solver_quasi_newton_restart_periodic =3
 Restart after a fixed number of iterations. More...
 
integer(intg), parameter, public solver_routines::solver_quasi_newton_scale_none =1
 Don't scale the problem. More...
 
integer(intg), parameter, public solver_routines::solver_quasi_newton_scale_shanno =2
 Use Shanno scaling. More...
 
integer(intg), parameter, public solver_routines::solver_quasi_newton_scale_linesearch =3
 Scale based upon line search lambda. More...
 
integer(intg), parameter, public solver_routines::solver_quasi_newton_scale_jacobian =4
 Scale by inverting a previously computed Jacobian. More...
 
integer(intg), parameter, public solver_routines::solver_newton_linesearch =1
 Newton line search nonlinear solver type. More...
 
integer(intg), parameter, public solver_routines::solver_newton_trustregion =2
 Newton trust region nonlinear solver type. More...
 
integer(intg), parameter, public solver_routines::solver_newton_linesearch_nonorms =1
 No norms line search for Newton line search nonlinear solves. More...
 
integer(intg), parameter, public solver_routines::solver_newton_linesearch_linear =2
 Linear search for Newton line search nonlinear solves. More...
 
integer(intg), parameter, public solver_routines::solver_newton_linesearch_quadratic =3
 Quadratic search for Newton line search nonlinear solves. More...
 
integer(intg), parameter, public solver_routines::solver_newton_linesearch_cubic =4
 Cubic search for Newton line search nonlinear solves. More...
 
integer(intg), parameter, public solver_routines::solver_newton_jacobian_not_calculated =1
 The Jacobian values will not be calculated for the nonlinear equations set. More...
 
integer(intg), parameter, public solver_routines::solver_newton_jacobian_equations_calculated =2
 The Jacobian values will be calculated analytically for the nonlinear equations set. More...
 
integer(intg), parameter, public solver_routines::solver_newton_jacobian_fd_calculated =3
 The Jacobian values will be calculated using finite differences for the nonlinear equations set. More...
 
integer(intg), parameter, public solver_routines::solver_newton_convergence_petsc_default =1
 Petsc default convergence test. More...
 
integer(intg), parameter, public solver_routines::solver_newton_convergence_energy_norm =2
 Energy norm convergence test. More...
 
integer(intg), parameter, public solver_routines::solver_newton_convergence_differentiated_ratio =3
 Sum of differentiated ratios of unconstrained to constrained residuals convergence test. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_first_order =1
 Dynamic solver has first order terms. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_second_order =2
 Dynamic solver has second order terms. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_linear =1
 Dynamic solver has linear terms. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_nonlinear =2
 Dynamic solver has nonlinear terms. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_first_degree =1
 Dynamic solver uses a first degree polynomial for time interpolation. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_second_degree =2
 Dynamic solver uses a second degree polynomial for time interpolation. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_third_degree =3
 Dynamic solver uses a third degree polynomial for time interpolation. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_euler_scheme =1
 Euler (explicit) dynamic solver. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_backward_euler_scheme =2
 Backward Euler (implicit) dynamic solver. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_crank_nicolson_scheme =3
 Crank-Nicolson dynamic solver. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_galerkin_scheme =4
 Galerkin dynamic solver. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_zlamal_scheme =5
 Zlamal dynamic solver. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_second_degree_gear_scheme =6
 2nd degree Gear dynamic solver More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_second_degree_liniger1_scheme =7
 1st 2nd degree Liniger dynamic solver More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_second_degree_liniger2_scheme =8
 2nd 2nd degree Liniger dynamic solver More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_newmark1_scheme =9
 1st Newmark dynamic solver More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_newmark2_scheme =10
 2nd Newmark dynamic solver More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_newmark3_scheme =11
 3rd Newmark dynamic solver More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_third_degree_gear_scheme =12
 3rd degree Gear dynamic solver More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_third_degree_liniger1_scheme =13
 1st 3rd degree Liniger dynamic solver More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_third_degree_liniger2_scheme =14
 2nd 3rd degree Liniger dynamic solver More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_houbolt_scheme =15
 Houbolt dynamic solver. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_wilson_scheme =16
 Wilson dynamic solver. More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_bossak_newmark1_scheme =17
 1st Bossak-Newmark dynamic solver More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_bossak_newmark2_scheme =18
 2nd Bossak-Newmark dynamic solver More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_hilbert_hughes_taylor1_scheme =19
 1st Hilbert-Hughes-Taylor dynamic solver More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_hilbert_hughes_taylor2_scheme =20
 1st Hilbert-Hughes-Taylor dynamic solver More...
 
integer(intg), parameter, public solver_routines::solver_dynamic_user_defined_scheme =21
 User specified degree and theta dynamic solver. More...
 
integer(intg), parameter, public solver_routines::solver_dae_differential_only =0
 Differential equations only. More...
 
integer(intg), parameter, public solver_routines::solver_dae_index_1 =1
 Index 1 differential-algebraic equation. More...
 
integer(intg), parameter, public solver_routines::solver_dae_index_2 =2
 Index 2 differential-algebraic equation. More...
 
integer(intg), parameter, public solver_routines::solver_dae_index_3 =3
 Index 3 differential-algebraic equation. More...
 
integer(intg), parameter, public solver_routines::solver_dae_euler =1
 Euler differential-algebraic equation solver. More...
 
integer(intg), parameter, public solver_routines::solver_dae_crank_nicolson =2
 Crank-Nicolson differential-algebraic equation solver. More...
 
integer(intg), parameter, public solver_routines::solver_dae_runge_kutta =3
 Runge-Kutta differential-algebraic equation solver. More...
 
integer(intg), parameter, public solver_routines::solver_dae_adams_moulton =4
 Adams-Moulton differential-algebraic equation solver. More...
 
integer(intg), parameter, public solver_routines::solver_dae_bdf =5
 General BDF differential-algebraic equation solver. More...
 
integer(intg), parameter, public solver_routines::solver_dae_rush_larson =6
 Rush-Larson differential-algebraic equation solver. More...
 
integer(intg), parameter, public solver_routines::solver_dae_external =7
 External (e.g., CellML generated) differential-algebraic equation solver. More...
 
integer(intg), parameter, public solver_routines::solver_dae_euler_forward =1
 Forward Euler differential equation solver. More...
 
integer(intg), parameter, public solver_routines::solver_dae_euler_backward =2
 Backward Euler differential equation solver. More...
 
integer(intg), parameter, public solver_routines::solver_dae_euler_improved =3
 Improved Euler differential equation solver. More...
 
integer(intg), parameter, public solver_routines::solver_solution_initialise_zero =0
 Initialise the solution by zeroing it before a solve. More...
 
integer(intg), parameter, public solver_routines::solver_solution_initialise_current_field =1
 Initialise the solution by copying in the current dependent field values. More...
 
integer(intg), parameter, public solver_routines::solver_solution_initialise_no_change =2
 Do not change the solution before a solve. More...
 
integer(intg), parameter, public solver_routines::solver_no_output =0
 No output from the solver routines. More...
 
integer(intg), parameter, public solver_routines::solver_progress_output =1
 Progress output from solver routines. More...
 
integer(intg), parameter, public solver_routines::solver_timing_output =2
 Timing output from the solver routines plus below. More...
 
integer(intg), parameter, public solver_routines::solver_solver_output =3
 Solver specific output from the solver routines plus below. More...
 
integer(intg), parameter, public solver_routines::solver_matrix_output =4
 Solver matrices output from the solver routines plus below. More...
 
integer(intg), parameter, public solver_routines::solver_sparse_matrices =1
 Use sparse solver matrices. More...
 
integer(intg), parameter, public solver_routines::solver_full_matrices =2
 Use fully populated solver matrices. More...
 

Detailed Description

This module handles all solver routines.

Author
Chris Bradley

LICENSE

Version: MPL 1.1/GPL 2.0/LGPL 2.1

The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/

Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

The Original Code is OpenCMISS

The Initial Developer of the Original Code is University of Auckland, Auckland, New Zealand, the University of Oxford, Oxford, United Kingdom and King's College, London, United Kingdom. Portions created by the University of Auckland, the University of Oxford and King's College, London are Copyright (C) 2007-2010 by the University of Auckland, the University of Oxford and King's College, London. All Rights Reserved.

Contributor(s):

Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in which case the provisions of the GPL or the LGPL are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of either the GPL or the LGPL, and not to allow others to use your version of this file under the terms of the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the GPL or the LGPL. If you do not delete the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL.

Definition in file solver_routines.f90.

Function/Subroutine Documentation

subroutine solver_nonlinear_monitor_petsc ( type(petscsnestype), intent(inout)  snes,
integer(intg), intent(inout)  ITS,
real(dp), intent(inout)  NORM,
type(solver_type), pointer  CTX,
integer(intg), intent(inout)  ERR 
)

Called from the PETSc SNES solvers to monitor the Newton nonlinear solver.

Parameters
[in,out]snesThe PETSc SNES type
[in,out]itsThe iteration number
[in,out]normThe residual norm
ctxThe passed through context
[in,out]errThe error code

Definition at line 23114 of file solver_routines.f90.

References solver_routines::solver_nonlinear_monitor(), and solver_routines::solver_nonlinear_type.

subroutine solver_time_stepping_monitor_petsc ( type(petsctstype), intent(inout)  ts,
integer(intg), intent(inout)  STEPS,
real(dp), intent(inout)  TIME,
type(petscvectype), intent(inout)  X,
type(solver_type), pointer  CTX,
integer(intg), intent(inout)  ERR 
)
private

Called from the PETSc TS solvers to monitor the dynamic solver.

Parameters
[in,out]tsThe PETSc ts type
[in,out]stepsThe iteration number
[in,out]timeThe current time
[in,out]xThe current iterate
ctxThe passed through context
[in,out]errThe error code

Definition at line 23065 of file solver_routines.f90.

References solver_routines::solver_dae_type, and solver_routines::solver_time_stepping_monitor().