OpenCMISS-Iron Internal API Documentation
control_loop_routines Module Reference

This module handles all control loop routines. More...

Data Types

interface  control_loop_get
 Returns the specified control loop as indexed by the control loop identifier from the control loop root. More...
 
interface  control_loop_label_get
 
interface  control_loop_label_set
 

Functions/Subroutines

recursive subroutine, public control_loop_create_finish (CONTROL_LOOP, ERR, ERROR,)
 Finish the process of creating a control loop. More...
 
subroutine, public control_loop_create_start (PROBLEM, CONTROL_LOOP, ERR, ERROR,)
 Start the process of creating a control loop for a problem. More...
 
subroutine, public control_loop_current_times_get (CONTROL_LOOP, CURRENT_TIME, TIME_INCREMENT, ERR, ERROR,)
 Gets the current time parameters for a time control loop. More...
 
subroutine, public control_loop_destroy (CONTROL_LOOP, ERR, ERROR,)
 Destroy a control loop. More...
 
recursive subroutine control_loop_finalise (CONTROL_LOOP, ERR, ERROR,)
 Finalise a control loop and deallocate all memory. More...
 
subroutine control_loop_initialise (PROBLEM, ERR, ERROR,)
 Initialise the control for a problem. More...
 
subroutine control_loop_fixed_finalise (FIXED_LOOP, ERR, ERROR,)
 Finalises a fixed control loop and deallocates all memory. More...
 
subroutine control_loop_get_0 (CONTROL_LOOP_ROOT, CONTROL_LOOP_IDENTIFIER, CONTROL_LOOP, ERR, ERROR,)
 Returns the specified control loop as indexed by the control loop identifier from the control loop root. More...
 
subroutine control_loop_get_1 (CONTROL_LOOP_ROOT, CONTROL_LOOP_IDENTIFIER, CONTROL_LOOP, ERR, ERROR,)
 Returns the specified control loop as indexed by the control loop identifier from the control loop root. More...
 
subroutine control_loop_fixed_initialise (CONTROL_LOOP, ERR, ERROR,)
 Initialises a fixed loop for a control loop. More...
 
subroutine, public control_loop_iterations_set (CONTROL_LOOP, START_ITERATION, STOP_ITERATION, ITERATION_INCREMENT, ERR, ERROR,)
 Sets the iteration parameters for a fixed control loop. More...
 
subroutine control_loop_label_get_c (CONTROL_LOOP, LABEL, ERR, ERROR,)
 Returns the label of a control loop. More...
 
subroutine control_loop_label_get_vs (CONTROL_LOOP, LABEL, ERR, ERROR,)
 Returns the label of a control loop. More...
 
subroutine control_loop_label_set_c (CONTROL_LOOP, LABEL, ERR, ERROR,)
 Sets the label of a control loop. More...
 
subroutine control_loop_label_set_vs (CONTROL_LOOP, LABEL, ERR, ERROR,)
 Sets the label of a control loop. More...
 
subroutine, public control_loop_maximum_iterations_set (CONTROL_LOOP, MAXIMUM_ITERATIONS, ERR, ERROR,)
 Sets the maximum number of iterations for a while or load increment control loop. More...
 
subroutine, public control_loop_load_output_set (CONTROL_LOOP, OUTPUT_FREQUENCY, ERR, ERROR,)
 Sets/changes the output for a load incremented control loop identified by an object. More...
 
subroutine, public controlloop_absolutetoleranceset (controlLoop, absoluteTolerance, err, error,)
 Sets the absolute tolerance (convergence condition tolerance) for a while control loop. More...
 
subroutine, public control_loop_number_of_iterations_set (CONTROL_LOOP, NUMBER_OF_ITERATIONS, ERR, ERROR,)
 Sets the number of iterations for a time type control loop. If set to 0 (default), it will be computed by start and stop time and time increment. More...
 
subroutine, public control_loop_number_of_iterations_get (CONTROL_LOOP, NUMBER_OF_ITERATIONS, ERR, ERROR,)
 Gets the number of iterations for a time type control loop. If the value is not set to something /=0, it will be computed the first time the loop is executed. If it is retrieved earlier and 0 is returned, this means the value was not yet computed. More...
 
subroutine, public control_loop_number_of_sub_loops_get (CONTROL_LOOP, NUMBER_OF_SUB_LOOPS, ERR, ERROR,)
 Gets the number of sub loops for a control loop. More...
 
subroutine, public control_loop_number_of_sub_loops_set (CONTROL_LOOP, NUMBER_OF_SUB_LOOPS, ERR, ERROR,)
 Sets/changes the number of sub loops in a control loop. More...
 
subroutine, public control_loop_output_type_get (CONTROL_LOOP, OUTPUT_TYPE, ERR, ERROR,)
 Gets the output type for a control loop. More...
 
subroutine, public control_loop_output_type_set (CONTROL_LOOP, OUTPUT_TYPE, ERR, ERROR,)
 Sets/changes the output type for a control loop. More...
 
subroutine control_loop_simple_finalise (SIMPLE_LOOP, ERR, ERROR,)
 Finalises a simple control loop and deallocates all memory. More...
 
subroutine control_loop_simple_initialise (CONTROL_LOOP, ERR, ERROR,)
 Initialises a simple loop for a control loop. More...
 
recursive subroutine, public control_loop_solvers_destroy (CONTROL_LOOP, ERR, ERROR,)
 Recursively destroys the solvers for a control loop and all sub control loops. More...
 
recursive subroutine, public control_loop_solvers_get (CONTROL_LOOP, SOLVERS, ERR, ERROR,)
 Returns a pointer to the solvers for a control loop. More...
 
recursive subroutine, public control_loop_solver_equations_destroy (CONTROL_LOOP, ERR, ERROR,)
 Recursively destroys the solver equations for a control loop and all sub control loops. More...
 
subroutine, public control_loop_sub_loop_get (CONTROL_LOOP, SUB_LOOP_INDEX, SUB_LOOP, ERR, ERROR,)
 Gets/returns a pointer to the sub loops as specified by the sub loop index for a control loop. More...
 
subroutine control_loop_time_finalise (TIME_LOOP, ERR, ERROR,)
 Finalises a time control loop and deallocates all memory. More...
 
subroutine control_loop_time_initialise (CONTROL_LOOP, ERR, ERROR,)
 Initialises a time loop for a control loop. More...
 
subroutine, public control_loop_times_get (CONTROL_LOOP, START_TIME, STOP_TIME, CURRENT_TIME, TIME_INCREMENT, CURRENT_LOOP_ITERATION, OUTPUT_ITERATION_NUMBER, ERR, ERROR,)
 Gets the current time parameters for a time control loop. More...
 
subroutine, public control_loop_times_set (CONTROL_LOOP, START_TIME, STOP_TIME, TIME_INCREMENT, ERR, ERROR,)
 Sets the time parameters for a time control loop. More...
 
subroutine, public control_loop_time_output_set (CONTROL_LOOP, OUTPUT_FREQUENCY, ERR, ERROR,)
 Sets the output parameters for a time control loop. More...
 
subroutine, public control_loop_time_input_set (CONTROL_LOOP, INPUT_OPTION, ERR, ERROR,)
 Sets the input parameters for a time control loop. More...
 
subroutine, public control_loop_type_set (CONTROL_LOOP, LOOP_TYPE, ERR, ERROR,)
 Sets/changes the control loop type. More...
 
subroutine control_loop_while_finalise (WHILE_LOOP, ERR, ERROR,)
 Finalises a while control loop and deallocates all memory. More...
 
subroutine control_loop_while_initialise (CONTROL_LOOP, ERR, ERROR,)
 Initialises a while loop for a control loop. More...
 
subroutine control_loop_load_increment_finalise (LOAD_INCREMENT_LOOP, ERR, ERROR,)
 Finalises a load increment loop and deallocates all memory. More...
 
subroutine control_loop_load_increment_initialise (CONTROL_LOOP, ERR, ERROR,)
 Initialises a load increment loop for a control loop. More...
 

Variables

integer(intg), parameter, public control_loop_node =0
 The identifier for a each "leaf" node in a control loop. More...
 
integer(intg), parameter, public control_loop_no_output =0
 No output from the control loop. More...
 
integer(intg), parameter, public control_loop_progress_output =1
 Progress output from control loop. More...
 
integer(intg), parameter, public control_loop_timing_output =2
 Timing output from the control loop. More...
 

Detailed Description

This module handles all control loop routines.

Function/Subroutine Documentation

recursive subroutine, public control_loop_routines::control_loop_create_finish ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Finish the process of creating a control loop.

Parameters
[in]control_loopA pointer to the control loop to finish.
[out]errThe error code
[out]errorThe error string

Definition at line 153 of file control_loop_routines.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by advection_equation_routines::advection_equation_problem_linear_setup(), advection_diffusion_equation_routines::advectiondiffusion_problemlinearsetup(), biodomain_equation_routines::biodomain_equation_problem_setup(), bioelectric_finite_elasticity_routines::bioelectric_finite_elasticity_problem_setup(), burgers_equation_routines::burgers_equation_problem_setup(), darcy_equations_routines::darcy_equation_problem_setup(), diffusion_advection_diffusion_routines::diffusion_advection_diffusion_problem_setup(), diffusion_diffusion_routines::diffusion_diffusion_problem_setup(), diffusion_equation_routines::diffusion_equation_problem_linear_setup(), diffusion_equation_routines::diffusion_equation_problem_nonlinear_setup(), finite_elasticity_darcy_routines::elasticity_darcy_problem_setup(), finite_elasticity_fluid_pressure_routines::elasticity_fluid_pressure_problem_setup(), finite_elasticity_routines::finite_elasticity_problem_setup(), finite_elasticity_routines::finiteelasticity_contactproblemsetup(), fitting_routines::fitting_problem_standard_setup(), fitting_routines::fitting_problem_vectordata_setup(), fsi_routines::fsi_problem_setup(), helmholtz_equations_routines::HELMHOLTZ_EQUATION_PROBLEM_STANDARD_SETUP::helmholtz_equation_problem_standard_setup(), hamilton_jacobi_equations_routines::HJ_EQUATION_PROBLEM_STANDARD_SETUP::hj_equation_problem_standard_setup(), laplace_equations_routines::laplace_equation_problem_generalised_setup(), laplace_equations_routines::laplace_equation_problem_standard_setup(), linear_elasticity_routines::linear_elasticity_problem_setup(), monodomain_equations_routines::MONODOMAIN_EQUATION_PROBLEM_SUBTYPE_SETUP::monodomain_equation_problem_subtype_setup(), multi_compartment_transport_routines::MULTI_COMPARTMENT_TRANSPORT_PROBLEM_SETUP::multi_compartment_transport_problem_setup(), navier_stokes_equations_routines::NAVIER_STOKES_PROBLEM_SETUP::navier_stokes_problem_setup(), poiseuille_equations_routines::poiseuille_equation_problem_static_setup(), poisson_equations_routines::poisson_problemextracellularbidomainsetup(), poisson_equations_routines::poisson_problemlinearsourcesetup(), poisson_equations_routines::poisson_problemnonlinearsourcesetup(), poisson_equations_routines::poisson_problempressurepoissonsetup(), reaction_diffusion_equation_routines::REACTION_DIFFUSION_EQUATION_PROBLEM_SETUP::reaction_diffusion_equation_problem_setup(), and stokes_equations_routines::stokes_problem_setup().

subroutine, public control_loop_routines::control_loop_create_start ( type(problem_type), intent(inout), pointer  PROBLEM,
type(control_loop_type), intent(inout), pointer  CONTROL_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Start the process of creating a control loop for a problem.

Parameters
[in,out]problemA pointer to the problem to initialise the control for.
[in,out]control_loopOn exit, a pointer to the control loop. Must not be associated on entry.
[out]errThe error code
[out]errorThe error string

Definition at line 194 of file control_loop_routines.f90.

References control_loop_finalise(), control_loop_initialise(), base_routines::enters(), and base_routines::exits().

Referenced by advection_equation_routines::advection_equation_problem_linear_setup(), advection_diffusion_equation_routines::advectiondiffusion_problemlinearsetup(), biodomain_equation_routines::biodomain_equation_problem_setup(), bioelectric_finite_elasticity_routines::bioelectric_finite_elasticity_problem_setup(), burgers_equation_routines::burgers_equation_problem_setup(), darcy_equations_routines::darcy_equation_problem_setup(), diffusion_advection_diffusion_routines::diffusion_advection_diffusion_problem_setup(), diffusion_diffusion_routines::diffusion_diffusion_problem_setup(), diffusion_equation_routines::diffusion_equation_problem_linear_setup(), diffusion_equation_routines::diffusion_equation_problem_nonlinear_setup(), finite_elasticity_darcy_routines::elasticity_darcy_problem_setup(), finite_elasticity_fluid_pressure_routines::elasticity_fluid_pressure_problem_setup(), finite_elasticity_routines::finite_elasticity_problem_setup(), finite_elasticity_routines::finiteelasticity_contactproblemsetup(), fitting_routines::fitting_problem_standard_setup(), fitting_routines::fitting_problem_vectordata_setup(), fsi_routines::fsi_problem_setup(), helmholtz_equations_routines::HELMHOLTZ_EQUATION_PROBLEM_STANDARD_SETUP::helmholtz_equation_problem_standard_setup(), hamilton_jacobi_equations_routines::HJ_EQUATION_PROBLEM_STANDARD_SETUP::hj_equation_problem_standard_setup(), laplace_equations_routines::laplace_equation_problem_generalised_setup(), laplace_equations_routines::laplace_equation_problem_standard_setup(), linear_elasticity_routines::linear_elasticity_problem_setup(), monodomain_equations_routines::MONODOMAIN_EQUATION_PROBLEM_SUBTYPE_SETUP::monodomain_equation_problem_subtype_setup(), multi_compartment_transport_routines::MULTI_COMPARTMENT_TRANSPORT_PROBLEM_SETUP::multi_compartment_transport_problem_setup(), navier_stokes_equations_routines::NAVIER_STOKES_PROBLEM_SETUP::navier_stokes_problem_setup(), poiseuille_equations_routines::poiseuille_equation_problem_static_setup(), poisson_equations_routines::poisson_problemextracellularbidomainsetup(), poisson_equations_routines::poisson_problemlinearsourcesetup(), poisson_equations_routines::poisson_problemnonlinearsourcesetup(), poisson_equations_routines::poisson_problempressurepoissonsetup(), reaction_diffusion_equation_routines::REACTION_DIFFUSION_EQUATION_PROBLEM_SETUP::reaction_diffusion_equation_problem_setup(), and stokes_equations_routines::stokes_problem_setup().

subroutine, public control_loop_routines::control_loop_current_times_get ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
real(dp), intent(out)  CURRENT_TIME,
real(dp), intent(out)  TIME_INCREMENT,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the current time parameters for a time control loop.

See also
OPENCMISS_CMISSControlLoopCurrentTimesGet

Definition at line 231 of file control_loop_routines.f90.

References base_routines::enters(), base_routines::exits(), and problem_constants::problem_control_time_loop_type.

Referenced by advection_diffusion_equation_routines::advection_diffusion_post_solve_output_data(), advection_diffusion_equation_routines::advection_diffusion_pre_solve_update_bc(), advection_diffusion_equation_routines::advectiondiffusion_presolvealeupdatemesh(), biodomain_equation_routines::biodomain_pre_solve(), burgers_equation_routines::burgers_equation_post_solve_output_data(), burgers_equation_routines::burgers_presolveupdateanalyticvalues(), darcy_equations_routines::darcy_equation_post_solve_output_data(), darcy_equations_routines::darcy_equation_post_solve_set_mass_increase(), darcy_equations_routines::darcy_equation_pre_solve_ale_update_mesh(), darcy_equations_routines::darcy_presolvegetsoliddisplacement(), darcy_equations_routines::darcy_presolveupdateanalyticvalues(), darcy_equations_routines::darcy_presolveupdateboundaryconditions(), diffusion_equation_routines::diffusion_equation_post_solve_output_data(), diffusion_equation_routines::diffusion_presolvealeupdatemesh(), diffusion_equation_routines::diffusion_presolveupdateanalyticvalues(), elasticity_routines::elasticity_control_loop_pre_loop(), finite_elasticity_darcy_routines::elasticity_darcy_control_loop_pre_loop(), finite_elasticity_routines::finite_elasticity_pre_solve(), finite_elasticity_routines::finiteelasticity_presolvegetsoliddisplacement(), finite_elasticity_routines::finiteelasticity_presolveupdateboundaryconditions(), fitting_routines::fitting_post_solve_output_data(), fitting_routines::fitting_pre_solve_update_input_data(), multi_compartment_transport_routines::MultiCompartmentTransport_PreSolveUpdateAnalyticValues::multicompartmenttransport_presolveupdateanalyticvalues(), navier_stokes_equations_routines::NAVIER_STOKES_POST_SOLVE_OUTPUT_DATA::navier_stokes_post_solve_output_data(), navier_stokes_equations_routines::NAVIER_STOKES_PRE_SOLVE::navier_stokes_pre_solve(), navier_stokes_equations_routines::NAVIER_STOKES_PRE_SOLVE_ALE_UPDATE_MESH::navier_stokes_pre_solve_ale_update_mesh(), navier_stokes_equations_routines::NavierStokes_PreSolveALEUpdateParameters::navierstokes_presolvealeupdateparameters(), navier_stokes_equations_routines::NavierStokes_PreSolveUpdateBoundaryConditions::navierstokes_presolveupdateboundaryconditions(), navier_stokes_equations_routines::NavierStokes_UpdateMultiscaleBoundary::navierstokes_updatemultiscaleboundary(), poisson_equations_routines::poisson_post_solve_output_data(), poisson_equations_routines::poisson_pre_solve_update_input_data(), poisson_equations_routines::poisson_pre_solve_update_ppe_mesh(), poisson_equations_routines::poisson_pre_solve_update_ppe_source(), reaction_diffusion_equation_routines::REACTION_DIFFUSION_POST_SOLVE_OUTPUT_DATA::reaction_diffusion_post_solve_output_data(), reaction_diffusion_equation_routines::REACTION_DIFFUSION_PRE_SOLVE::reaction_diffusion_pre_solve(), stokes_equations_routines::stokes_post_solve_output_data(), stokes_equations_routines::stokes_pre_solve_ale_update_mesh(), stokes_equations_routines::stokes_pre_solve_ale_update_parameters(), stokes_equations_routines::stokes_pre_solve_update_boundary_conditions(), and stree_equation_routines::stree_pre_solve().

subroutine, public control_loop_routines::control_loop_destroy ( type(control_loop_type), intent(inout), pointer  CONTROL_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Destroy a control loop.

Parameters
[in,out]control_loopA pointer to the control loop to destroy.
[out]errThe error code
[out]errorThe error string

Definition at line 288 of file control_loop_routines.f90.

References control_loop_finalise(), base_routines::enters(), and base_routines::exits().

recursive subroutine control_loop_routines::control_loop_finalise ( type(control_loop_type), intent(inout), pointer  CONTROL_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalise a control loop and deallocate all memory.

Parameters
[in,out]control_loopA pointer to the control loop to finalise.
[out]errThe error code
[out]errorThe error string

Definition at line 315 of file control_loop_routines.f90.

References control_loop_fixed_finalise(), control_loop_load_increment_finalise(), control_loop_simple_finalise(), control_loop_time_finalise(), control_loop_while_finalise(), base_routines::enters(), base_routines::exits(), and solver_routines::solvers_destroy().

Referenced by control_loop_create_start(), control_loop_destroy(), control_loop_initialise(), and control_loop_number_of_sub_loops_set().

subroutine control_loop_routines::control_loop_fixed_finalise ( type(control_loop_fixed_type), intent(inout), pointer  FIXED_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalises a fixed control loop and deallocates all memory.

Parameters
[in,out]fixed_loopA pointer to the fixed control loop to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 410 of file control_loop_routines.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by control_loop_finalise(), control_loop_fixed_initialise(), and control_loop_type_set().

subroutine control_loop_routines::control_loop_fixed_initialise ( type(control_loop_type), intent(inout), pointer  CONTROL_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialises a fixed loop for a control loop.

Parameters
[in,out]control_loopA pointer to the control loop to initialise the fixed loop for
[out]errThe error code
[out]errorThe error string

Definition at line 541 of file control_loop_routines.f90.

References control_loop_fixed_finalise(), base_routines::enters(), and base_routines::exits().

Referenced by control_loop_type_set().

subroutine control_loop_routines::control_loop_get_0 ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP_ROOT,
integer(intg), intent(in)  CONTROL_LOOP_IDENTIFIER,
type(control_loop_type), pointer  CONTROL_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Returns the specified control loop as indexed by the control loop identifier from the control loop root.

Parameters
[in]control_loop_rootA pointer to the control loop to root
[in]control_loop_identifierThe control loop identifier
control_loopOn exit, the specified control loop
[out]errThe error code
[out]errorThe error string

Definition at line 435 of file control_loop_routines.f90.

References control_loop_get_1(), base_routines::enters(), and base_routines::exits().

subroutine control_loop_routines::control_loop_get_1 ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP_ROOT,
integer(intg), dimension(:), intent(in)  CONTROL_LOOP_IDENTIFIER,
type(control_loop_type), pointer  CONTROL_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Returns the specified control loop as indexed by the control loop identifier from the control loop root.

Parameters
[in]control_loop_rootA pointer to the control loop to root
[in]control_loop_identifierThe control loop identifier
control_loopOn exit, the specified control loop. Must not be associated on entry.
[out]errThe error code
[out]errorThe error string

Definition at line 461 of file control_loop_routines.f90.

References control_loop_node, base_routines::enters(), and base_routines::exits().

Referenced by control_loop_get_0().

subroutine control_loop_routines::control_loop_initialise ( type(problem_type), intent(inout), pointer  PROBLEM,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialise the control for a problem.

Parameters
[in,out]problemA pointer to the problem to initialise the control for.
[out]errThe error code
[out]errorThe error string

Definition at line 359 of file control_loop_routines.f90.

References control_loop_finalise(), control_loop_no_output, control_loop_simple_initialise(), base_routines::enters(), base_routines::exits(), and problem_constants::problem_control_simple_type.

Referenced by control_loop_create_start().

subroutine, public control_loop_routines::control_loop_iterations_set ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
integer(intg), intent(in)  START_ITERATION,
integer(intg), intent(in)  STOP_ITERATION,
integer(intg), intent(in)  ITERATION_INCREMENT,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the iteration parameters for a fixed control loop.

See also
OPENCMISS_CMISSControlLoopIterationsSet
Parameters
[in]control_loopA pointer to fixed control loop to set the iterations for
[in]start_iterationThe start iteration for the fixed control loop.
[in]stop_iterationThe stop iteration for the fixed control loop.
[in]iteration_incrementThe iteration increment for the fixed control loop.
[out]errThe error code
[out]errorThe error string

Definition at line 581 of file control_loop_routines.f90.

References base_routines::enters(), base_routines::exits(), and problem_constants::problem_control_fixed_loop_type.

subroutine control_loop_routines::control_loop_label_get_c ( type(control_loop_type), pointer  CONTROL_LOOP,
character(len=*), intent(out)  LABEL,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Returns the label of a control loop.

See also
OPENCMISS::CMISSControlLoopLabelGet
Parameters
control_loopA pointer to the control loop to get the label for
[out]labelOn return, the control loop label.
[out]errThe error code
[out]errorThe error string

Definition at line 651 of file control_loop_routines.f90.

References base_routines::enters(), and base_routines::exits().

subroutine control_loop_routines::control_loop_label_get_vs ( type(control_loop_type), pointer  CONTROL_LOOP,
type(varying_string), intent(out)  LABEL,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Returns the label of a control loop.

See also
OPENCMISS::CMISSControlLoopLabelGet
Parameters
control_loopA pointer to the control loop to get the label for
[out]labelOn return, the control loop label.
[out]errThe error code
[out]errorThe error string

Definition at line 687 of file control_loop_routines.f90.

References base_routines::enters(), and base_routines::exits().

subroutine control_loop_routines::control_loop_label_set_c ( type(control_loop_type), pointer  CONTROL_LOOP,
character(len=*), intent(in)  LABEL,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets the label of a control loop.

See also
OPENCMISS::CMISSControlLoopLabelSet
Parameters
control_loopA pointer to the control loop to set the label for
[in]labelThe label to set
[out]errThe error code
[out]errorThe error string

Definition at line 716 of file control_loop_routines.f90.

References base_routines::enters(), and base_routines::exits().

subroutine control_loop_routines::control_loop_label_set_vs ( type(control_loop_type), pointer  CONTROL_LOOP,
type(varying_string), intent(in)  LABEL,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets the label of a control loop.

See also
OPENCMISS::CMISSControlLoopLabelSet
Parameters
control_loopA pointer to the control loop to set the label for
[in]labelThe label to set
[out]errThe error code
[out]errorThe error string

Definition at line 749 of file control_loop_routines.f90.

References base_routines::enters(), and base_routines::exits().

subroutine control_loop_routines::control_loop_load_increment_finalise ( type(control_loop_load_increment_type), intent(inout), pointer  LOAD_INCREMENT_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalises a load increment loop and deallocates all memory.

Parameters
[in,out]load_increment_loopA pointer to the load increment control loop to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 1882 of file control_loop_routines.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by control_loop_finalise(), control_loop_load_increment_initialise(), and control_loop_type_set().

subroutine control_loop_routines::control_loop_load_increment_initialise ( type(control_loop_type), intent(inout), pointer  CONTROL_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialises a load increment loop for a control loop.

Parameters
[in,out]control_loopA pointer to the control loop to initialise the load increment loop for
[out]errThe error code
[out]errorThe error string

Definition at line 1907 of file control_loop_routines.f90.

References control_loop_load_increment_finalise(), base_routines::enters(), and base_routines::exits().

Referenced by control_loop_type_set().

subroutine, public control_loop_routines::control_loop_load_output_set ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
integer(intg), intent(in)  OUTPUT_FREQUENCY,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the output for a load incremented control loop identified by an object.

See also
OPENCMISS_CMISSControlLoopLoadOutputSet
Parameters
[in]control_loopA pointer to the load incremented control loop to set the maximum iterations for
[in]output_frequencyThe output frequency modulo to set
[out]errThe error code
[out]errorThe error string

Definition at line 861 of file control_loop_routines.f90.

References base_routines::enters(), base_routines::exits(), and problem_constants::problem_control_load_increment_loop_type.

subroutine, public control_loop_routines::control_loop_maximum_iterations_set ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
integer(intg), intent(in)  MAXIMUM_ITERATIONS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the maximum number of iterations for a while or load increment control loop.

See also
OPENCMISS_CMISSControlLoopMaximumIterationsSet
Parameters
[in]control_loopA pointer to the while or load incremented control loop to set the maximum iterations for
[in]maximum_iterationsThe maximum number of iterations for the while or load incremented control loop.
[out]errThe error code
[out]errorThe error string

Definition at line 782 of file control_loop_routines.f90.

References base_routines::enters(), base_routines::exits(), problem_constants::problem_control_load_increment_loop_type, and problem_constants::problem_control_while_loop_type.

Referenced by finite_elasticity_darcy_routines::elasticity_darcy_problem_setup(), navier_stokes_equations_routines::NAVIER_STOKES_PROBLEM_SETUP::navier_stokes_problem_setup(), and poisson_equations_routines::poisson_problempressurepoissonsetup().

subroutine, public control_loop_routines::control_loop_number_of_iterations_get ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
integer(intg), intent(out)  NUMBER_OF_ITERATIONS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the number of iterations for a time type control loop. If the value is not set to something /=0, it will be computed the first time the loop is executed. If it is retrieved earlier and 0 is returned, this means the value was not yet computed.

See also
OPENCMISS_CMISSControlLoopNumberOfIterationsGet
Parameters
[in]control_loopA pointer to time control loop to set the number of iterations for
[out]number_of_iterationsThe number of iterations for the time control loop.
[out]errThe error code
[out]errorThe error string

Definition at line 1002 of file control_loop_routines.f90.

References base_routines::enters(), base_routines::exits(), and problem_constants::problem_control_time_loop_type.

subroutine, public control_loop_routines::control_loop_number_of_iterations_set ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
integer(intg), intent(in)  NUMBER_OF_ITERATIONS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the number of iterations for a time type control loop. If set to 0 (default), it will be computed by start and stop time and time increment.

See also
OPENCMISS_CMISSControlLoopNumberOfIterationsSet
Parameters
[in]control_loopA pointer to time control loop to set the number of iterations for
[in]number_of_iterationsThe number of iterations for the time control loop.
[out]errThe error code
[out]errorThe error string

Definition at line 951 of file control_loop_routines.f90.

References base_routines::enters(), base_routines::exits(), and problem_constants::problem_control_time_loop_type.

subroutine, public control_loop_routines::control_loop_number_of_sub_loops_get ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
integer(intg), intent(out)  NUMBER_OF_SUB_LOOPS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the number of sub loops for a control loop.

See also
OPENCMISS_CMISSCMISSControlLoopNumberOfSubLoopsGet
Parameters
[in]control_loopA pointer to control loop to get the number of sub loops for
[out]number_of_sub_loopsOn return, the number of sub loops for the specified control loop
[out]errThe error code
[out]errorThe error string

Definition at line 1041 of file control_loop_routines.f90.

References base_routines::enters(), and base_routines::exits().

subroutine, public control_loop_routines::control_loop_number_of_sub_loops_set ( type(control_loop_type), intent(inout), pointer  CONTROL_LOOP,
integer(intg), intent(in)  NUMBER_OF_SUB_LOOPS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the number of sub loops in a control loop.

See also
OPENCMISS_CMISSCMISSControlLoopNumberOfSubLoopsSet
Parameters
[in,out]control_loopA pointer to control loop to set the number of sub loops for
[in]number_of_sub_loopsThe number of sub loops to set
[out]errThe error code
[out]errorThe error string

Definition at line 1073 of file control_loop_routines.f90.

References control_loop_finalise(), control_loop_simple_initialise(), base_routines::enters(), base_routines::exits(), and problem_constants::problem_control_simple_type.

Referenced by bioelectric_finite_elasticity_routines::bioelectric_finite_elasticity_problem_setup(), finite_elasticity_darcy_routines::elasticity_darcy_problem_setup(), navier_stokes_equations_routines::NAVIER_STOKES_PROBLEM_SETUP::navier_stokes_problem_setup(), and poisson_equations_routines::poisson_problempressurepoissonsetup().

subroutine, public control_loop_routines::control_loop_output_type_get ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
integer(intg), intent(out)  OUTPUT_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the output type for a control loop.

See also
OPENCMISS::CMISSControlLoopOutputTypeGet
Parameters
[in]control_loopA pointer to the control loop to get the output type for.
[out]output_typeOn exit, the output type of the control loop
See also
CONTROL_LOOP_ROUTINES::OutputTypes,CONTROL_LOOP_ROUTINES
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 1158 of file control_loop_routines.f90.

References base_routines::enters(), and base_routines::exits().

subroutine, public control_loop_routines::control_loop_output_type_set ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
integer(intg), intent(in)  OUTPUT_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the output type for a control loop.

See also
OPENCMISS::CMISSControlLoopOutputTypeSet
Parameters
[in]control_loopA pointer the control loop to set the output type for
[in]output_typeThe type of control loop output to be set
See also
CONTROL_LOOP_ROUTINES::OutputTypes,CONTROL_LOOP_ROUTINES
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 1190 of file control_loop_routines.f90.

References control_loop_no_output, control_loop_progress_output, control_loop_timing_output, base_routines::enters(), base_routines::exits(), solver_routines::solver_progress_output, and solver_routines::solver_timing_output.

Referenced by bioelectric_finite_elasticity_routines::bioelectric_finite_elasticity_problem_setup(), finite_elasticity_darcy_routines::elasticity_darcy_problem_setup(), and fsi_routines::fsi_problem_setup().

subroutine control_loop_routines::control_loop_simple_finalise ( type(control_loop_simple_type), intent(inout), pointer  SIMPLE_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalises a simple control loop and deallocates all memory.

Parameters
[in,out]simple_loopA pointer to the simple control loop to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 1235 of file control_loop_routines.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by control_loop_finalise(), control_loop_simple_initialise(), and control_loop_type_set().

subroutine control_loop_routines::control_loop_simple_initialise ( type(control_loop_type), intent(inout), pointer  CONTROL_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialises a simple loop for a control loop.

Parameters
[in,out]control_loopA pointer to the control loop to initialise the simple loop for
[out]errThe error code
[out]errorThe error string

Definition at line 1260 of file control_loop_routines.f90.

References control_loop_simple_finalise(), base_routines::enters(), and base_routines::exits().

Referenced by control_loop_initialise(), control_loop_number_of_sub_loops_set(), and control_loop_type_set().

recursive subroutine, public control_loop_routines::control_loop_solver_equations_destroy ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Recursively destroys the solver equations for a control loop and all sub control loops.

Todo:
Create solvers_solver_equations_destory and call?
Parameters
[in]control_loopA pointer to control loop to destroy the solver for.
[out]errThe error code
[out]errorThe error string

Definition at line 1368 of file control_loop_routines.f90.

References base_routines::enters(), base_routines::exits(), and solver_routines::solver_equations_destroy().

recursive subroutine, public control_loop_routines::control_loop_solvers_destroy ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Recursively destroys the solvers for a control loop and all sub control loops.

Parameters
[in]control_loopA pointer to control loop to destroy the solvers for.
[out]errThe error code
[out]errorThe error string

Definition at line 1296 of file control_loop_routines.f90.

References base_routines::enters(), base_routines::exits(), and solver_routines::solvers_destroy().

recursive subroutine, public control_loop_routines::control_loop_solvers_get ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
type(solvers_type), pointer  SOLVERS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Returns a pointer to the solvers for a control loop.

Parameters
[in]control_loopA pointer to control loop to get the solvers for.
solversOn exit, a pointer to the control loop solvers. Must not be associated on entry.
[out]errThe error code
[out]errorThe error string

Definition at line 1333 of file control_loop_routines.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by advection_equation_routines::advection_equation_problem_linear_setup(), advection_diffusion_equation_routines::advectiondiffusion_problemlinearsetup(), biodomain_equation_routines::biodomain_control_loop_post_loop(), biodomain_equation_routines::biodomain_equation_problem_setup(), bioelectric_finite_elasticity_routines::bioelectric_finite_elasticity_compute_titin(), bioelectric_finite_elasticity_routines::bioelectric_finite_elasticity_problem_setup(), bioelectric_finite_elasticity_routines::bioelectricfiniteelasticity_computefibrestretch(), bioelectric_finite_elasticity_routines::bioelectricfiniteelasticity_controllooppostloop(), bioelectric_finite_elasticity_routines::bioelectricfiniteelasticity_convergencecheck(), bioelectric_finite_elasticity_routines::bioelectricfiniteelasticity_forcelengthvelocityrelation(), bioelectric_finite_elasticity_routines::bioelectricfiniteelasticity_independentfieldinterpolate(), bioelectric_finite_elasticity_routines::bioelectricfiniteelasticity_updategeometricfield(), burgers_equation_routines::burgers_equation_problem_setup(), darcy_equations_routines::darcy_equation_problem_setup(), diffusion_advection_diffusion_routines::diffusion_advection_diffusion_problem_setup(), diffusion_diffusion_routines::diffusion_diffusion_problem_setup(), diffusion_equation_routines::diffusion_equation_control_loop_post_loop(), diffusion_equation_routines::diffusion_equation_problem_linear_setup(), diffusion_equation_routines::diffusion_equation_problem_nonlinear_setup(), finite_elasticity_darcy_routines::elasticity_darcy_problem_setup(), finite_elasticity_fluid_pressure_routines::elasticity_fluid_pressure_problem_setup(), finite_elasticity_routines::finite_elasticity_problem_setup(), finite_elasticity_routines::finiteelasticity_contactproblemsetup(), fitting_routines::fitting_problem_standard_setup(), fitting_routines::fitting_problem_vectordata_setup(), fsi_routines::fsi_problem_setup(), helmholtz_equations_routines::HELMHOLTZ_EQUATION_PROBLEM_STANDARD_SETUP::helmholtz_equation_problem_standard_setup(), hamilton_jacobi_equations_routines::HJ_EQUATION_PROBLEM_STANDARD_SETUP::hj_equation_problem_standard_setup(), laplace_equations_routines::laplace_equation_problem_generalised_setup(), laplace_equations_routines::laplace_equation_problem_standard_setup(), linear_elasticity_routines::linear_elasticity_problem_setup(), monodomain_equations_routines::MONODOMAIN_CONTROL_LOOP_POST_LOOP::monodomain_control_loop_post_loop(), monodomain_equations_routines::MONODOMAIN_EQUATION_PROBLEM_SUBTYPE_SETUP::monodomain_equation_problem_subtype_setup(), multi_compartment_transport_routines::MULTI_COMPARTMENT_TRANSPORT_PROBLEM_SETUP::multi_compartment_transport_problem_setup(), navier_stokes_equations_routines::NAVIER_STOKES_PROBLEM_SETUP::navier_stokes_problem_setup(), poiseuille_equations_routines::poiseuille_equation_problem_static_setup(), poisson_equations_routines::poisson_problemextracellularbidomainsetup(), poisson_equations_routines::poisson_problemlinearsourcesetup(), poisson_equations_routines::poisson_problemnonlinearsourcesetup(), poisson_equations_routines::poisson_problempressurepoissonsetup(), reaction_diffusion_equation_routines::REACTION_DIFFUSION_EQUATION_PROBLEM_SETUP::reaction_diffusion_equation_problem_setup(), and stokes_equations_routines::stokes_problem_setup().

subroutine, public control_loop_routines::control_loop_sub_loop_get ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
integer(intg), intent(in)  SUB_LOOP_INDEX,
type(control_loop_type), pointer  SUB_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine control_loop_routines::control_loop_time_finalise ( type(control_loop_time_type), intent(inout), pointer  TIME_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalises a time control loop and deallocates all memory.

Parameters
[in,out]time_loopA pointer to the time control loop to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 1460 of file control_loop_routines.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by control_loop_finalise(), control_loop_time_initialise(), and control_loop_type_set().

subroutine control_loop_routines::control_loop_time_initialise ( type(control_loop_type), intent(inout), pointer  CONTROL_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialises a time loop for a control loop.

Parameters
[in,out]control_loopA pointer to the control loop to initialise the time loop for
[out]errThe error code
[out]errorThe error string

Definition at line 1485 of file control_loop_routines.f90.

References control_loop_time_finalise(), base_routines::enters(), and base_routines::exits().

Referenced by control_loop_type_set().

subroutine, public control_loop_routines::control_loop_time_input_set ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
integer(intg)  INPUT_OPTION,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the input parameters for a time control loop.

See also
OPENCMISS_CMISSControlLoopTimeInputSet
Parameters
[in]control_loopA pointer to control loop to set the times for
input_optionThe input option modulo to set
[out]errThe error code
[out]errorThe error string

Definition at line 1708 of file control_loop_routines.f90.

References base_routines::enters(), base_routines::exits(), and problem_constants::problem_control_time_loop_type.

subroutine, public control_loop_routines::control_loop_time_output_set ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
integer(intg)  OUTPUT_FREQUENCY,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the output parameters for a time control loop.

See also
OPENCMISS_CMISSControlLoopTimeOutputSet
Parameters
[in]control_loopA pointer to control loop to set the times for
output_frequencyThe output frequency modulo to set
[out]errThe error code
[out]errorThe error string

Definition at line 1661 of file control_loop_routines.f90.

References base_routines::enters(), base_routines::exits(), and problem_constants::problem_control_time_loop_type.

subroutine, public control_loop_routines::control_loop_times_get ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
real(dp), intent(out)  START_TIME,
real(dp), intent(out)  STOP_TIME,
real(dp), intent(out)  CURRENT_TIME,
real(dp), intent(out)  TIME_INCREMENT,
integer(intg), intent(out)  CURRENT_LOOP_ITERATION,
integer(intg), intent(out)  OUTPUT_ITERATION_NUMBER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public control_loop_routines::control_loop_times_set ( type(control_loop_type), intent(in), pointer  CONTROL_LOOP,
real(dp), intent(in)  START_TIME,
real(dp), intent(in)  STOP_TIME,
real(dp), intent(in)  TIME_INCREMENT,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the time parameters for a time control loop.

See also
OPENCMISS_CMISSControlLoopTimesSet
Parameters
[in]control_loopA pointer to control loop to set the times for
[in]start_timeThe start time for the time control loop.
[in]stop_timeThe stop time for the time control loop.
[in]time_incrementThe time increment for the time control loop.
[out]errThe error code
[out]errorThe error string

Definition at line 1596 of file control_loop_routines.f90.

References base_routines::enters(), base_routines::exits(), and problem_constants::problem_control_time_loop_type.

subroutine, public control_loop_routines::control_loop_type_set ( type(control_loop_type), intent(inout), pointer  CONTROL_LOOP,
integer(intg), intent(in)  LOOP_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the control loop type.

Parameters
[in,out]control_loopA pointer to control loop to set the type of
[in]loop_typeThe type of loop type to set
See also
PROBLEM_CONSTANTS::ControlLoopTypes,PROBLEM_CONSTANTS
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 1750 of file control_loop_routines.f90.

References control_loop_fixed_finalise(), control_loop_fixed_initialise(), control_loop_load_increment_finalise(), control_loop_load_increment_initialise(), control_loop_simple_finalise(), control_loop_simple_initialise(), control_loop_time_finalise(), control_loop_time_initialise(), control_loop_while_finalise(), control_loop_while_initialise(), base_routines::enters(), base_routines::exits(), problem_constants::problem_control_fixed_loop_type, problem_constants::problem_control_load_increment_loop_type, problem_constants::problem_control_simple_type, problem_constants::problem_control_time_loop_type, and problem_constants::problem_control_while_loop_type.

Referenced by advection_equation_routines::advection_equation_problem_linear_setup(), advection_diffusion_equation_routines::advectiondiffusion_problemlinearsetup(), biodomain_equation_routines::biodomain_equation_problem_setup(), bioelectric_finite_elasticity_routines::bioelectric_finite_elasticity_problem_setup(), burgers_equation_routines::burgers_equation_problem_setup(), darcy_equations_routines::darcy_equation_problem_setup(), diffusion_advection_diffusion_routines::diffusion_advection_diffusion_problem_setup(), diffusion_diffusion_routines::diffusion_diffusion_problem_setup(), diffusion_equation_routines::diffusion_equation_problem_linear_setup(), diffusion_equation_routines::diffusion_equation_problem_nonlinear_setup(), finite_elasticity_darcy_routines::elasticity_darcy_problem_setup(), finite_elasticity_fluid_pressure_routines::elasticity_fluid_pressure_problem_setup(), finite_elasticity_routines::finite_elasticity_problem_setup(), finite_elasticity_routines::finiteelasticity_contactproblemsetup(), fitting_routines::fitting_problem_vectordata_setup(), fsi_routines::fsi_problem_setup(), monodomain_equations_routines::MONODOMAIN_EQUATION_PROBLEM_SUBTYPE_SETUP::monodomain_equation_problem_subtype_setup(), multi_compartment_transport_routines::MULTI_COMPARTMENT_TRANSPORT_PROBLEM_SETUP::multi_compartment_transport_problem_setup(), navier_stokes_equations_routines::NAVIER_STOKES_PROBLEM_SETUP::navier_stokes_problem_setup(), poisson_equations_routines::poisson_problempressurepoissonsetup(), reaction_diffusion_equation_routines::REACTION_DIFFUSION_EQUATION_PROBLEM_SETUP::reaction_diffusion_equation_problem_setup(), and stokes_equations_routines::stokes_problem_setup().

subroutine control_loop_routines::control_loop_while_finalise ( type(control_loop_while_type), intent(inout), pointer  WHILE_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalises a while control loop and deallocates all memory.

Parameters
[in,out]while_loopA pointer to the while control loop to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 1817 of file control_loop_routines.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by control_loop_finalise(), control_loop_type_set(), and control_loop_while_initialise().

subroutine control_loop_routines::control_loop_while_initialise ( type(control_loop_type), intent(inout), pointer  CONTROL_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialises a while loop for a control loop.

Parameters
[in,out]control_loopA pointer to the control loop to initialise the while loop for
[out]errThe error code
[out]errorThe error string

Definition at line 1842 of file control_loop_routines.f90.

References control_loop_while_finalise(), base_routines::enters(), and base_routines::exits().

Referenced by control_loop_type_set().

subroutine, public control_loop_routines::controlloop_absolutetoleranceset ( type(control_loop_type), intent(in), pointer  controlLoop,
real(dp), intent(in)  absoluteTolerance,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Sets the absolute tolerance (convergence condition tolerance) for a while control loop.

See also
OPENCMISS_CMISSControlLoopAbsoluteToleranceSet
Parameters
[in]controlloopA pointer to while control loop to set the maximum iterations for
[in]absolutetoleranceThe absolute tolerance value for a while control loop.
[out]errThe error code
[out]errorThe error string

Definition at line 903 of file control_loop_routines.f90.

References base_routines::enters(), base_routines::exits(), and problem_constants::problem_control_while_loop_type.

Referenced by navier_stokes_equations_routines::NAVIER_STOKES_PROBLEM_SETUP::navier_stokes_problem_setup().