OpenCMISS-Iron Internal API Documentation
|
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... | |
This module handles all diffusion equation routines.
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.
[in] | equations_set | The equations set to evaluate |
[in] | analytic_function_type | The type of analytic function to evaluate |
[in] | x | X(dimention_idx). The geometric position to evaluate at |
[in] | tangents | TANGENTS(dimention_idx,xi_idx). The geometric tangents at the point to evaluate at. |
[in] | normal | NORMAL(dimension_idx). The normal vector at the point to evaluate at. |
[in] | time | The time to evaluate at |
[in] | variable_type | The field variable type to evaluate at |
[in] | global_derivative | The global derivative direction to evaluate at |
[in] | component_number | The dependent field component number to evaluate |
[in] | analytic_parameters | A pointer to any analytic field parameters |
[in] | materials_parameters | A pointer to any materials field parameters |
[out] | value | On return, the analytic function value. |
[out] | err | The error code |
[out] | error | The 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 | ||
) |
Calculates the analytic solution and sets the boundary conditions for an analytic problem.
[out] | err | The error code |
[out] | error | The error string |
Definition at line 126 of file diffusion_equation_routines.f90.
References boundary_conditions_routines::boundary_condition_fixed, diffusion_analyticfunctionsevaluate(), base_routines::enters(), equations_set_constants::equations_set_multi_comp_transport_diffusion_subtype, base_routines::errors(), and base_routines::exits().
Referenced by classical_field_routines::classicalfield_boundaryconditionsanalyticcalculate().
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 | ||
) |
Runs after each control loop iteration.
control_loop | A pointer to the control loop. | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 5963 of file diffusion_equation_routines.f90.
References control_loop_routines::control_loop_progress_output, control_loop_routines::control_loop_solvers_get(), base_routines::enters(), base_routines::exits(), field_io_routines::field_io_nodes_export(), 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, problem_constants::problem_control_while_loop_type, and solver_routines::solvers_solver_get().
Referenced by classical_field_routines::classical_field_control_loop_post_loop().
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.
equations_set | A pointer to the equations set to setup a diffusion equation on. | |
[in,out] | equations_set_setup | The equations set setup information |
[out] | err | The error code |
[out] | error | The 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.
equations_set | A pointer to the equations set to perform the finite element calculations on | |
[in] | element_number | The element number to calculate |
[out] | err | The error code |
[out] | error | The 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 | ||
) |
Sets up the diffusion problem post solve.
control_loop | A pointer to the control loop to solve. | |
solver | A pointer to the solver | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 4345 of file diffusion_equation_routines.f90.
References base_routines::enters(), base_routines::exits(), 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 classical_field_routines::classical_field_post_solve().
|
private |
Output data post solve.
control_loop | A pointer to the control loop to solve. | |
solver | A pointer to the solver | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 4403 of file diffusion_equation_routines.f90.
References analytic_analysis_routines::analyticanalysis_output(), control_loop_routines::control_loop_current_times_get(), base_routines::enters(), equations_set_constants::equations_set_diffusion_equation_two_dim_1, equations_set_constants::equations_set_linear_source_diffusion_equation_three_dim_1, base_routines::exits(), problem_constants::problem_linear_source_diffusion_subtype, problem_constants::problem_no_source_diffusion_subtype, and problem_constants::problem_nonlinear_source_diffusion_subtype.
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 | ||
) |
Sets up the diffusion problem pre-solve.
control_loop | A pointer to the control loop to solve. | |
solver | A pointer to the solver | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3142 of file diffusion_equation_routines.f90.
References diffusion_presolvealeupdatemesh(), diffusion_presolveupdateanalyticvalues(), base_routines::exits(), base_routines::general_output_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 classical_field_routines::classical_field_pre_solve().
|
private |
Sets up the diffusion equations.
problem | A pointer to the problem to setup | |
[in,out] | problem_setup | The problem setup information |
[out] | err | The error code |
[out] | error | The 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().
|
private |
Sets up the nonlinear diffusion problem.
problem | A pointer to the problem to setup | |
[in,out] | problem_setup | The problem setup information |
[out] | err | The error code |
[out] | error | The 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 | ||
) |
Sets up the diffusion problem.
problem | A pointer to the problem set to setup a diffusion equation on. | |
[in,out] | problem_setup | The problem setup information |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3091 of file diffusion_equation_routines.f90.
References diffusion_equation_problem_linear_setup(), diffusion_equation_problem_nonlinear_setup(), base_routines::enters(), base_routines::exits(), 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 classical_field_routines::classical_field_problem_setup().
|
private |
Sets up the linear diffusion equation.
equations_set | A pointer to the equations set to setup | |
[in,out] | equations_set_setup | The equations set setup information |
[out] | err | The error code |
[out] | error | The 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().
|
private |
Sets up the non-linear diffusion equation.
equations_set | A pointer to the equations set to setup | |
[in,out] | equations_set_setup | The equations set setup information |
[out] | err | The error code |
[out] | error | The 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.
equations_set | A pointer to the equations set to set the solution method for | |
[in] | solution_method | The solution method to set |
[out] | err | The error code |
[out] | error | The 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.
equationsset | A pointer to the equations set to set the specification for | |
[in] | specification | The equations set specification to set |
[out] | err | The error code |
[out] | error | The 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.
equations_set | A pointer to the equations set to perform the finite element Jacobian evaluation on | |
[in] | element_number | The element number to evaluate the Jacobian for |
[out] | err | The error code |
[out] | error | The 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.
equations_set | A pointer to the equations set to perform the finite element calculations on | |
[in] | element_number | The element number to evaluate the residual for |
[out] | err | The error code |
[out] | error | The 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().
|
private |
Update mesh position and velocity for ALE diffusion problem.
control_loop | A pointer to the control loop to solve. | |
solver | A pointer to the solvers | |
[out] | err | The error code |
[out] | error | The 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 | ||
) |
control_loop | A pointer to the control loop to solve. | |
solver | A pointer to the solvers | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 4198 of file diffusion_equation_routines.f90.
References base_routines::enters(), base_routines::exits(), base_routines::general_output_type, problem_constants::problem_coupled_source_diffusion_diffusion_subtype, problem_constants::problem_linear_source_diffusion_subtype, problem_constants::problem_no_source_diffusion_subtype, problem_constants::problem_nonlinear_source_diffusion_subtype, and solver_routines::solvers_solver_get().
Referenced by diffusion_diffusion_routines::diffusion_diffusion_pre_solve().
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 | ||
) |
control_loop | A pointer to the control loop to solve. | |
solver | A pointer to the solvers | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 4034 of file diffusion_equation_routines.f90.
References base_routines::enters(), base_routines::errors(), base_routines::exits(), base_routines::general_output_type, problem_constants::problem_coupled_source_diffusion_advec_diffusion_subtype, problem_constants::problem_coupled_source_diffusion_diffusion_subtype, problem_constants::problem_linear_source_diffusion_subtype, problem_constants::problem_no_source_diffusion_subtype, problem_constants::problem_nonlinear_source_diffusion_subtype, and solver_routines::solvers_solver_get().
Referenced by diffusion_advection_diffusion_routines::diffusion_advection_diffusion_pre_solve(), and diffusion_diffusion_routines::diffusion_diffusion_pre_solve().
|
private |
control_loop | A pointer to the control loop to solve. | |
solver | A pointer to the solver | |
[out] | err | The error code |
[out] | error | The error string |
Set the source field to a specified analytical function
Definition at line 3539 of file diffusion_equation_routines.f90.
References boundary_conditions_routines::boundary_condition_fixed, boundary_conditions_routines::boundary_conditions_variable_get(), control_loop_routines::control_loop_current_times_get(), diffusion_analyticfunctionsevaluate(), base_routines::enters(), equations_set_constants::equations_set_diffusion_equation_three_dim_1, base_routines::errors(), base_routines::exits(), problem_constants::problem_linear_source_diffusion_subtype, problem_constants::problem_no_source_diffusion_subtype, and problem_constants::problem_nonlinear_source_diffusion_subtype.
Referenced by diffusion_equation_pre_solve().
|
private |
Within the diffusion pre-solve, update the boundary conditions.
control_loop | A pointer to the control loop to solve. | |
solver | A pointer to the solver | |
[out] | err | The error code |
[out] | error | The 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 | ||
) |
Sets the problem specification for a diffusion equation problem.
problem | A pointer to the problem to set the problem specification for | |
[in] | problemspecification | The problem specification to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 5089 of file diffusion_equation_routines.f90.
References base_routines::enters(), base_routines::errors(), base_routines::exits(), problem_constants::problem_classical_field_class, problem_constants::problem_diffusion_equation_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 classical_field_routines::classicalfield_problemspecificationset().