OpenCMISS-Iron Internal API Documentation
|
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... | |
This module handles all control loop routines.
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.
[in] | control_loop | A pointer to the control loop to finish. |
[out] | err | The error code |
[out] | error | The 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.
[in,out] | problem | A pointer to the problem to initialise the control for. |
[in,out] | control_loop | On exit, a pointer to the control loop. Must not be associated on entry. |
[out] | err | The error code |
[out] | error | The 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.
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.
[in,out] | control_loop | A pointer to the control loop to destroy. |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 288 of file control_loop_routines.f90.
References control_loop_finalise(), base_routines::enters(), and base_routines::exits().
|
private |
Finalise a control loop and deallocate all memory.
[in,out] | control_loop | A pointer to the control loop to finalise. |
[out] | err | The error code |
[out] | error | The 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().
|
private |
Finalises a fixed control loop and deallocates all memory.
[in,out] | fixed_loop | A pointer to the fixed control loop to finalise |
[out] | err | The error code |
[out] | error | The 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().
|
private |
Initialises a fixed loop for a control loop.
[in,out] | control_loop | A pointer to the control loop to initialise the fixed loop for |
[out] | err | The error code |
[out] | error | The 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().
|
private |
Returns the specified control loop as indexed by the control loop identifier from the control loop root.
[in] | control_loop_root | A pointer to the control loop to root |
[in] | control_loop_identifier | The control loop identifier |
control_loop | On exit, the specified control loop | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 435 of file control_loop_routines.f90.
References control_loop_get_1(), base_routines::enters(), and base_routines::exits().
|
private |
Returns the specified control loop as indexed by the control loop identifier from the control loop root.
[in] | control_loop_root | A pointer to the control loop to root |
[in] | control_loop_identifier | The control loop identifier |
control_loop | On exit, the specified control loop. Must not be associated on entry. | |
[out] | err | The error code |
[out] | error | The 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().
|
private |
Initialise the control for a problem.
[in,out] | problem | A pointer to the problem to initialise the control for. |
[out] | err | The error code |
[out] | error | The 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.
[in] | control_loop | A pointer to fixed control loop to set the iterations for |
[in] | start_iteration | The start iteration for the fixed control loop. |
[in] | stop_iteration | The stop iteration for the fixed control loop. |
[in] | iteration_increment | The iteration increment for the fixed control loop. |
[out] | err | The error code |
[out] | error | The 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.
|
private |
Returns the label of a control loop.
control_loop | A pointer to the control loop to get the label for | |
[out] | label | On return, the control loop label. |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 651 of file control_loop_routines.f90.
References base_routines::enters(), and base_routines::exits().
|
private |
Returns the label of a control loop.
control_loop | A pointer to the control loop to get the label for | |
[out] | label | On return, the control loop label. |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 687 of file control_loop_routines.f90.
References base_routines::enters(), and base_routines::exits().
|
private |
Sets the label of a control loop.
control_loop | A pointer to the control loop to set the label for | |
[in] | label | The label to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 716 of file control_loop_routines.f90.
References base_routines::enters(), and base_routines::exits().
|
private |
Sets the label of a control loop.
control_loop | A pointer to the control loop to set the label for | |
[in] | label | The label to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 749 of file control_loop_routines.f90.
References base_routines::enters(), and base_routines::exits().
|
private |
Finalises a load increment loop and deallocates all memory.
[in,out] | load_increment_loop | A pointer to the load increment control loop to finalise |
[out] | err | The error code |
[out] | error | The 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().
|
private |
Initialises a load increment loop for a control loop.
[in,out] | control_loop | A pointer to the control loop to initialise the load increment loop for |
[out] | err | The error code |
[out] | error | The 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.
[in] | control_loop | A pointer to the load incremented control loop to set the maximum iterations for |
[in] | output_frequency | The output frequency modulo to set |
[out] | err | The error code |
[out] | error | The 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.
[in] | control_loop | A pointer to the while or load incremented control loop to set the maximum iterations for |
[in] | maximum_iterations | The maximum number of iterations for the while or load incremented control loop. |
[out] | err | The error code |
[out] | error | The 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.
[in] | control_loop | A pointer to time control loop to set the number of iterations for |
[out] | number_of_iterations | The number of iterations for the time control loop. |
[out] | err | The error code |
[out] | error | The 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.
[in] | control_loop | A pointer to time control loop to set the number of iterations for |
[in] | number_of_iterations | The number of iterations for the time control loop. |
[out] | err | The error code |
[out] | error | The 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.
[in] | control_loop | A pointer to control loop to get the number of sub loops for |
[out] | number_of_sub_loops | On return, the number of sub loops for the specified control loop |
[out] | err | The error code |
[out] | error | The 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.
[in,out] | control_loop | A pointer to control loop to set the number of sub loops for |
[in] | number_of_sub_loops | The number of sub loops to set |
[out] | err | The error code |
[out] | error | The 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.
[in] | control_loop | A pointer to the control loop to get the output type for. |
[out] | output_type | On exit, the output type of the control loop |
[out] | err | The error code |
[out] | error | The 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.
[in] | control_loop | A pointer the control loop to set the output type for |
[in] | output_type | The type of control loop output to be set |
[out] | err | The error code |
[out] | error | The 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().
|
private |
Finalises a simple control loop and deallocates all memory.
[in,out] | simple_loop | A pointer to the simple control loop to finalise |
[out] | err | The error code |
[out] | error | The 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().
|
private |
Initialises a simple loop for a control loop.
[in,out] | control_loop | A pointer to the control loop to initialise the simple loop for |
[out] | err | The error code |
[out] | error | The 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.
[in] | control_loop | A pointer to control loop to destroy the solver for. |
[out] | err | The error code |
[out] | error | The 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.
[in] | control_loop | A pointer to control loop to destroy the solvers for. |
[out] | err | The error code |
[out] | error | The 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.
[in] | control_loop | A pointer to control loop to get the solvers for. |
solvers | On exit, a pointer to the control loop solvers. Must not be associated on entry. | |
[out] | err | The error code |
[out] | error | The 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 | ||
) |
Gets/returns a pointer to the sub loops as specified by the sub loop index for a control loop.
[in] | control_loop | A pointer to control loop to get the sub loop for |
[in] | sub_loop_index | The sub loop index to get |
sub_loop | On return, a pointer to the specified sub loop. Must not be associated on entry. | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1417 of file control_loop_routines.f90.
References base_routines::enters(), and base_routines::exits().
Referenced by bioelectric_finite_elasticity_routines::bioelectric_finite_elasticity_compute_titin(), bioelectric_finite_elasticity_routines::bioelectric_finite_elasticity_problem_setup(), bioelectric_finite_elasticity_routines::bioelectricfiniteelasticity_controllooppostloop(), bioelectric_finite_elasticity_routines::bioelectricfiniteelasticity_independentfieldinterpolate(), bioelectric_finite_elasticity_routines::bioelectricfiniteelasticity_updategeometricfield(), 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().
|
private |
Finalises a time control loop and deallocates all memory.
[in,out] | time_loop | A pointer to the time control loop to finalise |
[out] | err | The error code |
[out] | error | The 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().
|
private |
Initialises a time loop for a control loop.
[in,out] | control_loop | A pointer to the control loop to initialise the time loop for |
[out] | err | The error code |
[out] | error | The 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.
[in] | control_loop | A pointer to control loop to set the times for |
input_option | The input option modulo to set | |
[out] | err | The error code |
[out] | error | The 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.
[in] | control_loop | A pointer to control loop to set the times for |
output_frequency | The output frequency modulo to set | |
[out] | err | The error code |
[out] | error | The 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 | ||
) |
Gets the current time parameters for a time control loop.
Definition at line 1532 of file control_loop_routines.f90.
References base_routines::enters(), base_routines::exits(), and problem_constants::problem_control_time_loop_type.
Referenced by advection_equation_routines::advection_pre_solve_update_bc(), navier_stokes_equations_routines::NAVIER_STOKES_POST_SOLVE::navier_stokes_post_solve(), navier_stokes_equations_routines::NAVIER_STOKES_POST_SOLVE_OUTPUT_DATA::navier_stokes_post_solve_output_data(), and navier_stokes_equations_routines::NavierStokes_CoupleCharacteristics::navierstokes_couplecharacteristics().
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.
[in] | control_loop | A pointer to control loop to set the times for |
[in] | start_time | The start time for the time control loop. |
[in] | stop_time | The stop time for the time control loop. |
[in] | time_increment | The time increment for the time control loop. |
[out] | err | The error code |
[out] | error | The 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.
[in,out] | control_loop | A pointer to control loop to set the type of |
[in] | loop_type | The type of loop type to set |
[out] | err | The error code |
[out] | error | The 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().
|
private |
Finalises a while control loop and deallocates all memory.
[in,out] | while_loop | A pointer to the while control loop to finalise |
[out] | err | The error code |
[out] | error | The 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().
|
private |
Initialises a while loop for a control loop.
[in,out] | control_loop | A pointer to the control loop to initialise the while loop for |
[out] | err | The error code |
[out] | error | The 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.
[in] | controlloop | A pointer to while control loop to set the maximum iterations for |
[in] | absolutetolerance | The absolute tolerance value for a while control loop. |
[out] | err | The error code |
[out] | error | The 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().