OpenCMISS-Iron Internal API Documentation
diffusion_equation_routines Module Reference

This module handles all diffusion equation routines. More...

Functions/Subroutines

subroutine, public diffusion_boundaryconditionanalyticcalculate (EQUATIONS_SET, BOUNDARY_CONDITIONS, ERR, ERROR,)
 Calculates the analytic solution and sets the boundary conditions for an analytic problem. More...
 
subroutine, public diffusion_analyticfunctionsevaluate (EQUATIONS_SET, ANALYTIC_FUNCTION_TYPE, X, TANGENTS, NORMAL, TIME, VARIABLE_TYPE, GLOBAL_DERIVATIVE, COMPONENT_NUMBER, ANALYTIC_PARAMETERS, MATERIALS_PARAMETERS, VALUE, ERR, ERROR,)
 Evaluate the analytic solutions for a diffusion equation. More...
 
subroutine, public diffusion_equation_equations_set_setup (EQUATIONS_SET, EQUATIONS_SET_SETUP, ERR, ERROR,)
 Sets up the diffusion equation type of a classical field equations set class. More...
 
subroutine, public diffusion_equationssetsolutionmethodset (EQUATIONS_SET, SOLUTION_METHOD, ERR, ERROR,)
 Sets/changes the solution method for a diffusion equation type of an classical field equations set class. More...
 
subroutine, public diffusion_equationssetspecificationset (equationsSet, specification, err, error,)
 Sets the equation specification for a diffusion equation type of a classical field equations set class. More...
 
subroutine diffusion_equationssetlinearsetup (EQUATIONS_SET, EQUATIONS_SET_SETUP, ERR, ERROR,)
 Sets up the linear diffusion equation. More...
 
subroutine diffusion_equationssetnonlinearsetup (EQUATIONS_SET, EQUATIONS_SET_SETUP, ERR, ERROR,)
 Sets up the non-linear diffusion equation. More...
 
subroutine, public diffusion_equation_problem_setup (PROBLEM, PROBLEM_SETUP, ERR, ERROR,)
 Sets up the diffusion problem. More...
 
subroutine, public diffusion_equation_pre_solve (CONTROL_LOOP, SOLVER, ERR, ERROR,)
 Sets up the diffusion problem pre-solve. More...
 
subroutine diffusion_presolveupdateboundaryconditions (CONTROL_LOOP, SOLVER, ERR, ERROR,)
 Within the diffusion pre-solve, update the boundary conditions. More...
 
subroutine diffusion_presolveupdateanalyticvalues (CONTROL_LOOP, SOLVER, ERR, ERROR,)
 
subroutine diffusion_presolvealeupdatemesh (CONTROL_LOOP, SOLVER, ERR, ERROR,)
 Update mesh position and velocity for ALE diffusion problem. More...
 
subroutine, public diffusion_presolvestorecurrentsolution (CONTROL_LOOP, SOLVER, ERR, ERROR,)
 
subroutine, public diffusion_presolvegetsourcevalue (CONTROL_LOOP, SOLVER, ERR, ERROR,)
 
subroutine, public diffusion_equation_post_solve (CONTROL_LOOP, SOLVER, ERR, ERROR,)
 Sets up the diffusion problem post solve. More...
 
subroutine diffusion_equation_post_solve_output_data (CONTROL_LOOP, SOLVER, ERR, ERROR,)
 Output data post solve. More...
 
subroutine, public diffusion_equation_finite_element_calculate (EQUATIONS_SET, ELEMENT_NUMBER, ERR, ERROR,)
 Calculates the element stiffness matrices and RHS for a diffusion equation finite element equations set. More...
 
subroutine, public diffusion_problemspecificationset (problem, problemSpecification, err, error,)
 Sets the problem specification for a diffusion equation problem. More...
 
subroutine diffusion_equation_problem_linear_setup (PROBLEM, PROBLEM_SETUP, ERR, ERROR,)
 Sets up the diffusion equations. More...
 
subroutine diffusion_equation_problem_nonlinear_setup (PROBLEM, PROBLEM_SETUP, ERR, ERROR,)
 Sets up the nonlinear diffusion problem. More...
 
subroutine, public diffusion_finiteelementjacobianevaluate (EQUATIONS_SET, ELEMENT_NUMBER, ERR, ERROR,)
 Evaluates the Jacobian element stiffness matrices for a diffusion equation finite element equations set. More...
 
subroutine, public diffusion_finiteelementresidualevaluate (EQUATIONS_SET, ELEMENT_NUMBER, ERR, ERROR,)
 Evaluates the residual element stiffness matrices and RHS for a Diffusion equation finite element equations set. More...
 
subroutine, public diffusion_equation_control_loop_post_loop (CONTROL_LOOP, ERR, ERROR,)
 Runs after each control loop iteration. More...
 

Detailed Description

This module handles all diffusion equation routines.

Function/Subroutine Documentation

subroutine, public diffusion_equation_routines::diffusion_analyticfunctionsevaluate ( type(equations_set_type), intent(in), pointer  EQUATIONS_SET,
integer(intg), intent(in)  ANALYTIC_FUNCTION_TYPE,
real(dp), dimension(:), intent(in)  X,
real(dp), dimension(:,:), intent(in)  TANGENTS,
real(dp), dimension(:), intent(in)  NORMAL,
real(dp), intent(in)  TIME,
integer(intg), intent(in)  VARIABLE_TYPE,
integer(intg), intent(in)  GLOBAL_DERIVATIVE,
integer(intg), intent(in)  COMPONENT_NUMBER,
real(dp), dimension(:), intent(in)  ANALYTIC_PARAMETERS,
real(dp), dimension(:), intent(in)  MATERIALS_PARAMETERS,
real(dp), intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Evaluate the analytic solutions for a diffusion equation.

Parameters
[in]equations_setThe equations set to evaluate
[in]analytic_function_typeThe type of analytic function to evaluate
[in]xX(dimention_idx). The geometric position to evaluate at
[in]tangentsTANGENTS(dimention_idx,xi_idx). The geometric tangents at the point to evaluate at.
[in]normalNORMAL(dimension_idx). The normal vector at the point to evaluate at.
[in]timeThe time to evaluate at
[in]variable_typeThe field variable type to evaluate at
[in]global_derivativeThe global derivative direction to evaluate at
[in]component_numberThe dependent field component number to evaluate
[in]analytic_parametersA pointer to any analytic field parameters
[in]materials_parametersA pointer to any materials field parameters
[out]valueOn return, the analytic function value.
[out]errThe error code
[out]errorThe error string

Definition at line 375 of file diffusion_equation_routines.f90.

References base_routines::enters(), equations_set_constants::equations_set_constant_source_diffusion_subtype, equations_set_constants::equations_set_diffusion_equation_one_dim_1, equations_set_constants::equations_set_diffusion_equation_three_dim_1, equations_set_constants::equations_set_diffusion_equation_two_dim_1, equations_set_constants::equations_set_exponential_source_ale_diffusion_subtype, equations_set_constants::equations_set_exponential_source_diffusion_equation_one_dim_1, equations_set_constants::equations_set_exponential_source_diffusion_subtype, equations_set_constants::equations_set_linear_source_ale_diffusion_subtype, equations_set_constants::equations_set_linear_source_diffusion_equation_three_dim_1, equations_set_constants::equations_set_linear_source_diffusion_subtype, equations_set_constants::equations_set_multi_comp_diffusion_three_comp_three_dim, equations_set_constants::equations_set_multi_comp_diffusion_two_comp_three_dim, equations_set_constants::equations_set_multi_comp_diffusion_two_comp_two_dim, equations_set_constants::equations_set_multi_comp_transport_diffusion_subtype, equations_set_constants::equations_set_no_source_ale_diffusion_subtype, equations_set_constants::equations_set_no_source_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_ale_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_diffusion_equation_one_dim_1, equations_set_constants::equations_set_quadratic_source_diffusion_subtype, base_routines::exits(), constants::global_deriv_s1, constants::global_deriv_s1_s2, constants::global_deriv_s2, constants::no_global_deriv, and constants::pi.

Referenced by classical_field_routines::classical_field_analytic_functions_evaluate(), diffusion_boundaryconditionanalyticcalculate(), diffusion_presolveupdateanalyticvalues(), and multi_compartment_transport_routines::MultiCompartmentTransport_PreSolveUpdateAnalyticValues::multicompartmenttransport_presolveupdateanalyticvalues().

subroutine, public diffusion_equation_routines::diffusion_boundaryconditionanalyticcalculate ( type(equations_set_type), pointer  EQUATIONS_SET,
type(boundary_conditions_type), pointer  BOUNDARY_CONDITIONS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public diffusion_equation_routines::diffusion_equation_control_loop_post_loop ( type(control_loop_type), pointer  CONTROL_LOOP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public diffusion_equation_routines::diffusion_equation_equations_set_setup ( type(equations_set_type), pointer  EQUATIONS_SET,
type(equations_set_setup_type), intent(inout)  EQUATIONS_SET_SETUP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets up the diffusion equation type of a classical field equations set class.

Parameters
equations_setA pointer to the equations set to setup a diffusion equation on.
[in,out]equations_set_setupThe equations set setup information
[out]errThe error code
[out]errorThe error string

Definition at line 990 of file diffusion_equation_routines.f90.

References diffusion_equationssetlinearsetup(), diffusion_equationssetnonlinearsetup(), base_routines::enters(), equations_set_constants::equations_set_constant_source_ale_diffusion_subtype, equations_set_constants::equations_set_constant_source_diffusion_subtype, equations_set_constants::equations_set_coupled_source_diffusion_advec_diffusion_subtype, equations_set_constants::equations_set_exponential_source_ale_diffusion_subtype, equations_set_constants::equations_set_exponential_source_diffusion_subtype, equations_set_constants::equations_set_linear_source_ale_diffusion_subtype, equations_set_constants::equations_set_linear_source_diffusion_subtype, equations_set_constants::equations_set_multi_comp_transport_advec_diff_subtype, equations_set_constants::equations_set_multi_comp_transport_advec_diff_supg_subtype, equations_set_constants::equations_set_multi_comp_transport_diffusion_subtype, equations_set_constants::equations_set_no_source_ale_diffusion_subtype, equations_set_constants::equations_set_no_source_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_ale_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_diffusion_subtype, and base_routines::exits().

Referenced by classical_field_routines::classical_field_equations_set_setup().

subroutine, public diffusion_equation_routines::diffusion_equation_finite_element_calculate ( type(equations_set_type), pointer  EQUATIONS_SET,
integer(intg), intent(in)  ELEMENT_NUMBER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Calculates the element stiffness matrices and RHS for a diffusion equation finite element equations set.

Parameters
equations_setA pointer to the equations set to perform the finite element calculations on
[in]element_numberThe element number to calculate
[out]errThe error code
[out]errorThe error string

Definition at line 4514 of file diffusion_equation_routines.f90.

References basis_routines::basis_default_quadrature_scheme, base_routines::enters(), equations_set_constants::equations_set_constant_source_ale_diffusion_subtype, equations_set_constants::equations_set_constant_source_diffusion_subtype, equations_set_constants::equations_set_coupled_source_diffusion_advec_diffusion_subtype, equations_set_constants::equations_set_exponential_source_ale_diffusion_subtype, equations_set_constants::equations_set_exponential_source_diffusion_subtype, equations_set_constants::equations_set_linear_source_ale_diffusion_subtype, equations_set_constants::equations_set_linear_source_diffusion_subtype, equations_set_constants::equations_set_multi_comp_transport_diffusion_subtype, equations_set_constants::equations_set_no_source_ale_diffusion_subtype, equations_set_constants::equations_set_no_source_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_ale_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_diffusion_subtype, base_routines::exits(), constants::first_part_deriv, constants::no_part_deriv, and constants::partial_derivative_first_derivative_map.

Referenced by classical_field_routines::classical_field_finite_element_calculate().

subroutine, public diffusion_equation_routines::diffusion_equation_post_solve ( type(control_loop_type), pointer  CONTROL_LOOP,
type(solver_type), pointer  SOLVER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine diffusion_equation_routines::diffusion_equation_post_solve_output_data ( type(control_loop_type), pointer  CONTROL_LOOP,
type(solver_type), pointer  SOLVER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private
subroutine, public diffusion_equation_routines::diffusion_equation_pre_solve ( type(control_loop_type), pointer  CONTROL_LOOP,
type(solver_type), pointer  SOLVER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine diffusion_equation_routines::diffusion_equation_problem_linear_setup ( type(problem_type), pointer  PROBLEM,
type(problem_setup_type), intent(inout)  PROBLEM_SETUP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets up the diffusion equations.

Parameters
problemA pointer to the problem to setup
[in,out]problem_setupThe problem setup information
[out]errThe error code
[out]errorThe error string

Definition at line 5145 of file diffusion_equation_routines.f90.

References control_loop_routines::control_loop_create_finish(), control_loop_routines::control_loop_create_start(), control_loop_routines::control_loop_node, control_loop_routines::control_loop_solvers_get(), control_loop_routines::control_loop_type_set(), base_routines::enters(), base_routines::exits(), problem_constants::problem_control_time_loop_type, problem_constants::problem_linear_source_ale_diffusion_subtype, problem_constants::problem_linear_source_diffusion_subtype, problem_constants::problem_no_source_ale_diffusion_subtype, problem_constants::problem_no_source_diffusion_subtype, problem_constants::problem_setup_control_type, problem_constants::problem_setup_finish_action, problem_constants::problem_setup_initial_type, problem_constants::problem_setup_solver_equations_type, problem_constants::problem_setup_solvers_type, problem_constants::problem_setup_start_action, solver_routines::solver_cmiss_library, solver_routines::solver_dynamic_crank_nicolson_scheme, solver_routines::solver_dynamic_degree_set(), solver_routines::solver_dynamic_first_degree, solver_routines::solver_dynamic_first_order, solver_routines::solver_dynamic_order_set(), solver_routines::solver_dynamic_scheme_set(), solver_routines::solver_dynamic_type, solver_routines::solver_equations_create_finish(), solver_routines::solver_equations_create_start(), problem_constants::solver_equations_first_order_dynamic, problem_constants::solver_equations_linear, solver_routines::solver_equations_linearity_type_set(), solver_routines::solver_equations_sparsity_type_set(), solver_routines::solver_equations_time_dependence_type_set(), solver_routines::solver_library_type_set(), solver_routines::solver_solver_equations_get(), solver_routines::solver_sparse_matrices, solver_routines::solver_type_set(), solver_routines::solvers_create_finish(), solver_routines::solvers_create_start(), solver_routines::solvers_number_set(), and solver_routines::solvers_solver_get().

Referenced by diffusion_equation_problem_setup().

subroutine diffusion_equation_routines::diffusion_equation_problem_nonlinear_setup ( type(problem_type), pointer  PROBLEM,
type(problem_setup_type), intent(inout)  PROBLEM_SETUP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets up the nonlinear diffusion problem.

Parameters
problemA pointer to the problem to setup
[in,out]problem_setupThe problem setup information
[out]errThe error code
[out]errorThe error string

Definition at line 5292 of file diffusion_equation_routines.f90.

References control_loop_routines::control_loop_create_finish(), control_loop_routines::control_loop_create_start(), control_loop_routines::control_loop_node, control_loop_routines::control_loop_solvers_get(), control_loop_routines::control_loop_type_set(), base_routines::enters(), base_routines::exits(), problem_constants::problem_control_time_loop_type, problem_constants::problem_nonlinear_source_diffusion_subtype, problem_constants::problem_setup_control_type, problem_constants::problem_setup_finish_action, problem_constants::problem_setup_initial_type, problem_constants::problem_setup_solver_equations_type, problem_constants::problem_setup_solvers_type, problem_constants::problem_setup_start_action, solver_routines::solver_cmiss_library, solver_routines::solver_dynamic_crank_nicolson_scheme, solver_routines::solver_dynamic_degree_set(), solver_routines::solver_dynamic_first_degree, solver_routines::solver_dynamic_first_order, solver_routines::solver_dynamic_linearity_type_set(), solver_routines::solver_dynamic_nonlinear, solver_routines::solver_dynamic_order_set(), solver_routines::solver_dynamic_scheme_set(), solver_routines::solver_dynamic_type, solver_routines::solver_equations_create_finish(), solver_routines::solver_equations_create_start(), problem_constants::solver_equations_first_order_dynamic, solver_routines::solver_equations_linearity_type_set(), problem_constants::solver_equations_nonlinear, solver_routines::solver_equations_sparsity_type_set(), solver_routines::solver_equations_time_dependence_type_set(), solver_routines::solver_library_type_set(), solver_routines::solver_solver_equations_get(), solver_routines::solver_sparse_matrices, solver_routines::solver_type_set(), solver_routines::solvers_create_finish(), solver_routines::solvers_create_start(), solver_routines::solvers_number_set(), and solver_routines::solvers_solver_get().

Referenced by diffusion_equation_problem_setup().

subroutine, public diffusion_equation_routines::diffusion_equation_problem_setup ( type(problem_type), pointer  PROBLEM,
type(problem_setup_type), intent(inout)  PROBLEM_SETUP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine diffusion_equation_routines::diffusion_equationssetlinearsetup ( type(equations_set_type), pointer  EQUATIONS_SET,
type(equations_set_setup_type), intent(inout)  EQUATIONS_SET_SETUP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets up the linear diffusion equation.

Parameters
equations_setA pointer to the equations set to setup
[in,out]equations_set_setupThe equations set setup information
[out]errThe error code
[out]errorThe error string

Definition at line 1194 of file diffusion_equation_routines.f90.

References diffusion_equationssetsolutionmethodset(), distributed_matrix_vector::distributed_matrix_block_storage_type, distributed_matrix_vector::distributed_matrix_compressed_row_storage_type, distributed_matrix_vector::distributed_matrix_diagonal_storage_type, base_routines::enters(), equations_routines::equations_create_finish(), equations_routines::equations_create_start(), equations_set_constants::equations_first_order_dynamic, equations_set_constants::equations_linear, equations_routines::equations_linearity_type_set(), equations_routines::equations_lumped_matrices, equations_mapping_routines::equations_mapping_create_finish(), equations_mapping_routines::equations_mapping_create_start(), equations_mapping_routines::equations_mapping_dynamic_variable_type_set(), equations_mapping_routines::equations_mapping_rhs_variable_type_set(), equations_mapping_routines::equations_mapping_source_variable_type_set(), equations_matrices_routines::equations_matrices_create_finish(), equations_matrices_routines::equations_matrices_create_start(), equations_matrices_routines::equations_matrices_dynamic_lumping_type_set(), equations_matrices_routines::equations_matrices_dynamic_storage_type_set(), equations_matrices_routines::equations_matrices_full_matrices, equations_matrices_routines::equations_matrices_linear_storage_type_set(), equations_matrices_routines::equations_matrices_sparse_matrices, equations_matrices_routines::equations_matrix_diagonal_structure, equations_matrices_routines::equations_matrix_fem_structure, equations_matrices_routines::equations_matrix_lumped, equations_matrices_routines::equations_matrix_unlumped, equations_set_constants::equations_set_bem_solution_method, equations_set_constants::equations_set_constant_source_ale_diffusion_subtype, equations_set_constants::equations_set_constant_source_diffusion_subtype, equations_set_constants::equations_set_coupled_source_diffusion_advec_diffusion_subtype, equations_set_constants::equations_set_diffusion_equation_one_dim_1, equations_set_constants::equations_set_diffusion_equation_three_dim_1, equations_set_constants::equations_set_diffusion_equation_two_dim_1, equations_routines::equations_set_equations_get(), equations_set_constants::equations_set_fd_solution_method, equations_set_constants::equations_set_fem_solution_method, equations_set_constants::equations_set_fv_solution_method, equations_set_constants::equations_set_gfem_solution_method, equations_set_constants::equations_set_gfv_solution_method, equations_set_constants::equations_set_linear_source_ale_diffusion_subtype, equations_set_constants::equations_set_linear_source_diffusion_equation_three_dim_1, equations_set_constants::equations_set_linear_source_diffusion_subtype, equations_set_constants::equations_set_multi_comp_diffusion_four_comp_three_dim, equations_set_constants::equations_set_multi_comp_diffusion_three_comp_three_dim, equations_set_constants::equations_set_multi_comp_diffusion_two_comp_three_dim, equations_set_constants::equations_set_multi_comp_diffusion_two_comp_two_dim, equations_set_constants::equations_set_multi_comp_transport_advec_diff_subtype, equations_set_constants::equations_set_multi_comp_transport_advec_diff_supg_subtype, equations_set_constants::equations_set_multi_comp_transport_diffusion_subtype, equations_set_constants::equations_set_no_source_ale_diffusion_subtype, equations_set_constants::equations_set_no_source_diffusion_subtype, equations_set_constants::equations_set_setup_analytic_type, equations_set_constants::equations_set_setup_dependent_type, equations_set_constants::equations_set_setup_equations_type, equations_set_constants::equations_set_setup_finish_action, equations_set_constants::equations_set_setup_geometry_type, equations_set_constants::equations_set_setup_initial_type, equations_set_constants::equations_set_setup_materials_type, equations_set_constants::equations_set_setup_source_type, equations_set_constants::equations_set_setup_start_action, equations_routines::equations_time_dependence_type_set(), equations_mapping_routines::equationsmapping_linearmatricesnumberset(), equations_mapping_routines::equationsmapping_linearmatricesvariabletypesset(), equations_matrices_routines::equationsmatrices_dynamicstructuretypeset(), equations_matrices_routines::equationsmatrices_linearstructuretypeset(), base_routines::exits(), and fluid_mechanics_io_routines::source_field.

Referenced by diffusion_equation_equations_set_setup().

subroutine diffusion_equation_routines::diffusion_equationssetnonlinearsetup ( type(equations_set_type), pointer  EQUATIONS_SET,
type(equations_set_setup_type), intent(inout)  EQUATIONS_SET_SETUP,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets up the non-linear diffusion equation.

Parameters
equations_setA pointer to the equations set to setup
[in,out]equations_set_setupThe equations set setup information
[out]errThe error code
[out]errorThe error string

Definition at line 2429 of file diffusion_equation_routines.f90.

References diffusion_equationssetsolutionmethodset(), distributed_matrix_vector::distributed_matrix_block_storage_type, distributed_matrix_vector::distributed_matrix_compressed_row_storage_type, distributed_matrix_vector::distributed_matrix_diagonal_storage_type, base_routines::enters(), equations_routines::equations_create_finish(), equations_routines::equations_create_start(), equations_set_constants::equations_first_order_dynamic, equations_matrices_routines::equations_jacobian_analytic_calculated, equations_routines::equations_linearity_type_set(), equations_routines::equations_lumped_matrices, equations_mapping_routines::equations_mapping_create_finish(), equations_mapping_routines::equations_mapping_create_start(), equations_mapping_routines::equations_mapping_dynamic_variable_type_set(), equations_mapping_routines::equations_mapping_rhs_variable_type_set(), equations_matrices_routines::equations_matrices_create_finish(), equations_matrices_routines::equations_matrices_create_start(), equations_matrices_routines::equations_matrices_dynamic_lumping_type_set(), equations_matrices_routines::equations_matrices_dynamic_storage_type_set(), equations_matrices_routines::equations_matrices_full_matrices, equations_matrices_routines::equations_matrices_sparse_matrices, equations_matrices_routines::equations_matrix_diagonal_structure, equations_matrices_routines::equations_matrix_fem_structure, equations_matrices_routines::equations_matrix_lumped, equations_matrices_routines::equations_matrix_unlumped, equations_set_constants::equations_nonlinear, equations_set_constants::equations_set_bem_solution_method, equations_routines::equations_set_equations_get(), equations_set_constants::equations_set_exponential_source_diffusion_equation_one_dim_1, equations_set_constants::equations_set_exponential_source_diffusion_subtype, equations_set_constants::equations_set_fd_solution_method, equations_set_constants::equations_set_fem_solution_method, equations_set_constants::equations_set_fv_solution_method, equations_set_constants::equations_set_gfem_solution_method, equations_set_constants::equations_set_gfv_solution_method, equations_set_constants::equations_set_quadratic_source_diffusion_equation_one_dim_1, equations_set_constants::equations_set_quadratic_source_diffusion_subtype, equations_set_constants::equations_set_setup_analytic_type, equations_set_constants::equations_set_setup_dependent_type, equations_set_constants::equations_set_setup_equations_type, equations_set_constants::equations_set_setup_finish_action, equations_set_constants::equations_set_setup_geometry_type, equations_set_constants::equations_set_setup_initial_type, equations_set_constants::equations_set_setup_materials_type, equations_set_constants::equations_set_setup_source_type, equations_set_constants::equations_set_setup_start_action, equations_routines::equations_time_dependence_type_set(), equations_mapping_routines::equationsmapping_residualvariabletypesset(), equations_matrices_routines::equationsmatrices_dynamicstructuretypeset(), equations_matrices_routines::equationsmatrices_jacobiantypesset(), base_routines::errors(), base_routines::exits(), and constants::zero_tolerance.

Referenced by diffusion_equation_equations_set_setup().

subroutine, public diffusion_equation_routines::diffusion_equationssetsolutionmethodset ( type(equations_set_type), pointer  EQUATIONS_SET,
integer(intg), intent(in)  SOLUTION_METHOD,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the solution method for a diffusion equation type of an classical field equations set class.

Parameters
equations_setA pointer to the equations set to set the solution method for
[in]solution_methodThe solution method to set
[out]errThe error code
[out]errorThe error string

Definition at line 1062 of file diffusion_equation_routines.f90.

References base_routines::enters(), equations_set_constants::equations_set_bem_solution_method, equations_set_constants::equations_set_constant_source_ale_diffusion_subtype, equations_set_constants::equations_set_constant_source_diffusion_subtype, equations_set_constants::equations_set_coupled_source_diffusion_advec_diffusion_subtype, equations_set_constants::equations_set_exponential_source_ale_diffusion_subtype, equations_set_constants::equations_set_exponential_source_diffusion_subtype, equations_set_constants::equations_set_fd_solution_method, equations_set_constants::equations_set_fem_solution_method, equations_set_constants::equations_set_fv_solution_method, equations_set_constants::equations_set_gfem_solution_method, equations_set_constants::equations_set_gfv_solution_method, equations_set_constants::equations_set_linear_source_ale_diffusion_subtype, equations_set_constants::equations_set_linear_source_diffusion_subtype, equations_set_constants::equations_set_multi_comp_transport_advec_diff_subtype, equations_set_constants::equations_set_multi_comp_transport_advec_diff_supg_subtype, equations_set_constants::equations_set_multi_comp_transport_diffusion_subtype, equations_set_constants::equations_set_no_source_ale_diffusion_subtype, equations_set_constants::equations_set_no_source_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_ale_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_diffusion_subtype, base_routines::errors(), and base_routines::exits().

Referenced by classical_field_routines::classicalfield_equationssetsolutionmethodset(), diffusion_equationssetlinearsetup(), and diffusion_equationssetnonlinearsetup().

subroutine, public diffusion_equation_routines::diffusion_equationssetspecificationset ( type(equations_set_type), pointer  equationsSet,
integer(intg), dimension(:), intent(in)  specification,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Sets the equation specification for a diffusion equation type of a classical field equations set class.

Parameters
equationssetA pointer to the equations set to set the specification for
[in]specificationThe equations set specification to set
[out]errThe error code
[out]errorThe error string

Definition at line 1129 of file diffusion_equation_routines.f90.

References base_routines::enters(), equations_set_constants::equations_set_classical_field_class, equations_set_constants::equations_set_constant_source_ale_diffusion_subtype, equations_set_constants::equations_set_constant_source_diffusion_subtype, equations_set_constants::equations_set_coupled_source_diffusion_advec_diffusion_subtype, equations_set_constants::equations_set_diffusion_equation_type, equations_set_constants::equations_set_exponential_source_ale_diffusion_subtype, equations_set_constants::equations_set_exponential_source_diffusion_subtype, equations_set_constants::equations_set_linear_source_ale_diffusion_subtype, equations_set_constants::equations_set_linear_source_diffusion_subtype, equations_set_constants::equations_set_multi_comp_transport_advec_diff_subtype, equations_set_constants::equations_set_multi_comp_transport_advec_diff_supg_subtype, equations_set_constants::equations_set_multi_comp_transport_diffusion_subtype, equations_set_constants::equations_set_no_source_ale_diffusion_subtype, equations_set_constants::equations_set_no_source_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_ale_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_diffusion_subtype, base_routines::errors(), and base_routines::exits().

Referenced by classical_field_routines::classicalfield_equationssetspecificationset().

subroutine, public diffusion_equation_routines::diffusion_finiteelementjacobianevaluate ( type(equations_set_type), pointer  EQUATIONS_SET,
integer(intg), intent(in)  ELEMENT_NUMBER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Evaluates the Jacobian element stiffness matrices for a diffusion equation finite element equations set.

Parameters
equations_setA pointer to the equations set to perform the finite element Jacobian evaluation on
[in]element_numberThe element number to evaluate the Jacobian for
[out]errThe error code
[out]errorThe error string

Definition at line 5434 of file diffusion_equation_routines.f90.

References basis_routines::basis_default_quadrature_scheme, base_routines::enters(), equations_set_constants::equations_set_constant_source_ale_diffusion_subtype, equations_set_constants::equations_set_constant_source_diffusion_subtype, equations_set_constants::equations_set_exponential_source_ale_diffusion_subtype, equations_set_constants::equations_set_exponential_source_diffusion_subtype, equations_set_constants::equations_set_linear_source_ale_diffusion_subtype, equations_set_constants::equations_set_linear_source_diffusion_subtype, equations_set_constants::equations_set_multi_comp_transport_diffusion_subtype, equations_set_constants::equations_set_no_source_ale_diffusion_subtype, equations_set_constants::equations_set_no_source_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_ale_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_diffusion_subtype, base_routines::errors(), base_routines::exits(), constants::first_part_deriv, and constants::no_part_deriv.

Referenced by classical_field_routines::classicalfield_finiteelementjacobianevaluate().

subroutine, public diffusion_equation_routines::diffusion_finiteelementresidualevaluate ( type(equations_set_type), pointer  EQUATIONS_SET,
integer(intg), intent(in)  ELEMENT_NUMBER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Evaluates the residual element stiffness matrices and RHS for a Diffusion equation finite element equations set.

Parameters
equations_setA pointer to the equations set to perform the finite element calculations on
[in]element_numberThe element number to evaluate the residual for
[out]errThe error code
[out]errorThe error string

Definition at line 5637 of file diffusion_equation_routines.f90.

References basis_routines::basis_default_quadrature_scheme, base_routines::enters(), equations_set_constants::equations_set_constant_source_ale_diffusion_subtype, equations_set_constants::equations_set_constant_source_diffusion_subtype, equations_set_constants::equations_set_exponential_source_ale_diffusion_subtype, equations_set_constants::equations_set_exponential_source_diffusion_subtype, equations_set_constants::equations_set_linear_source_ale_diffusion_subtype, equations_set_constants::equations_set_linear_source_diffusion_subtype, equations_set_constants::equations_set_multi_comp_transport_diffusion_subtype, equations_set_constants::equations_set_no_source_ale_diffusion_subtype, equations_set_constants::equations_set_no_source_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_ale_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_diffusion_subtype, base_routines::errors(), base_routines::exits(), constants::first_part_deriv, constants::no_part_deriv, and constants::partial_derivative_first_derivative_map.

Referenced by classical_field_routines::classicalfield_finiteelementresidualevaluate().

subroutine diffusion_equation_routines::diffusion_presolvealeupdatemesh ( type(control_loop_type), pointer  CONTROL_LOOP,
type(solver_type), pointer  SOLVER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Update mesh position and velocity for ALE diffusion problem.

Parameters
control_loopA pointer to the control loop to solve.
solverA pointer to the solvers
[out]errThe error code
[out]errorThe error string

Definition at line 3871 of file diffusion_equation_routines.f90.

References control_loop_routines::control_loop_current_times_get(), base_routines::diagnostic_output_type, base_routines::diagnostics1, base_routines::enters(), equations_set_constants::equations_set_constant_source_ale_diffusion_subtype, equations_set_constants::equations_set_constant_source_diffusion_subtype, equations_set_constants::equations_set_exponential_source_ale_diffusion_subtype, equations_set_constants::equations_set_exponential_source_diffusion_subtype, equations_set_constants::equations_set_linear_source_ale_diffusion_subtype, equations_set_constants::equations_set_linear_source_diffusion_subtype, equations_set_constants::equations_set_no_source_ale_diffusion_subtype, equations_set_constants::equations_set_no_source_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_ale_diffusion_subtype, equations_set_constants::equations_set_quadratic_source_diffusion_subtype, base_routines::exits(), base_routines::general_output_type, problem_constants::problem_control_time_loop_type, problem_constants::problem_linear_source_ale_diffusion_subtype, problem_constants::problem_linear_source_diffusion_subtype, problem_constants::problem_no_source_ale_diffusion_subtype, problem_constants::problem_no_source_diffusion_subtype, problem_constants::problem_nonlinear_source_ale_diffusion_subtype, and problem_constants::problem_nonlinear_source_diffusion_subtype.

Referenced by diffusion_equation_pre_solve().

subroutine, public diffusion_equation_routines::diffusion_presolvegetsourcevalue ( type(control_loop_type), pointer  CONTROL_LOOP,
type(solver_type), pointer  SOLVER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public diffusion_equation_routines::diffusion_presolvestorecurrentsolution ( type(control_loop_type), pointer  CONTROL_LOOP,
type(solver_type), pointer  SOLVER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine diffusion_equation_routines::diffusion_presolveupdateanalyticvalues ( type(control_loop_type), pointer  CONTROL_LOOP,
type(solver_type), pointer  SOLVER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private
subroutine diffusion_equation_routines::diffusion_presolveupdateboundaryconditions ( type(control_loop_type), pointer  CONTROL_LOOP,
type(solver_type), pointer  SOLVER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Within the diffusion pre-solve, update the boundary conditions.

Parameters
control_loopA pointer to the control loop to solve.
solverA pointer to the solver
[out]errThe error code
[out]errorThe error string

Definition at line 3215 of file diffusion_equation_routines.f90.

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

subroutine, public diffusion_equation_routines::diffusion_problemspecificationset ( type(problem_type), pointer  problem,
integer(intg), dimension(:), intent(in)  problemSpecification,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)