OpenCMISS-Iron Internal API Documentation
equations_matrices_routines Module Reference

This module handles all equations matrix and rhs routines. More...

Data Types

interface  equationsmatrices_createfinish
 
interface  equationsmatrices_createstart
 
interface  equationsmatrices_destroy
 
interface  equationsmatrices_dynamiclumpingtypeset
 
interface  equationsmatrices_dynamicstoragetypeset
 
interface  equationsmatrices_elementadd
 
interface  equationsmatrices_elementcalculate
 
interface  equationsmatrices_elementfinalise
 
interface  equationsmatrices_elementinitialise
 
interface  equationsmatrices_elementmatrixcalculate
 
interface  equationsmatrices_elementmatrixfinalise
 
interface  equationsmatrices_elementmatrixsetup
 
interface  equationsmatrices_elementvectorcalculate
 
interface  equationsmatrices_elementvectorfinalise
 
interface  equationsmatrices_elementvectorsetup
 
interface  equationsmatrices_jacobianelementadd
 
interface  equationsmatrices_jacobianoutput
 
interface  equationsmatrices_linearstoragetypeset
 
interface  equationsmatrices_nonlinearstoragetypeset
 Sets the storage type (sparsity) of the nonlinear (Jacobian) equations matrices. More...
 
interface  equationsmatrices_nonlinearstructuretypeset
 Sets the structure (sparsity) of the nonlinear (Jacobian) equations matrices. More...
 
interface  equationsmatrices_output
 
interface  equationsmatrices_valuesinitialise
 

Functions/Subroutines

subroutine equations_jacobian_finalise (EQUATIONS_JACOBIAN, ERR, ERROR,)
 Finalise the equations Jacobian and deallocate all memory. More...
 
subroutine equations_jacobian_initialise (NONLINEAR_MATRICES, MATRIX_NUMBER, ERR, ERROR,)
 Initialise the equations Jacobian. More...
 
subroutine, public equations_matrices_create_finish (EQUATIONS_MATRICES, ERR, ERROR,)
 Finishes the creation of the equations matrices and RHS for the the equations. More...
 
subroutine, public equations_matrices_create_start (EQUATIONS, EQUATIONS_MATRICES, ERR, ERROR,)
 Starts the creation of the equations matrices and rhs for the the equations. More...
 
subroutine, public equations_matrices_destroy (EQUATIONS_MATRICES, ERR, ERROR,)
 Destroy the equations matrices. More...
 
subroutine, public equations_matrices_element_matrix_calculate (ELEMENT_MATRIX, UPDATE_MATRIX, ROW_ELEMENT_NUMBERS, COLUMN_ELEMENT_NUMBERS, ROWS_FIELD_VARIABLE, COLS_FIELD_VARIABLE, ERR, ERROR,)
 Calculate the positions in the equations matrices of the element matrix. Old CMISS name MELGE. More...
 
subroutine, public equations_matrices_element_matrix_finalise (ELEMENT_MATRIX, ERR, ERROR,)
 Finalise an element matrix and deallocate all memory. More...
 
subroutine, public equationsmatrices_elementmatrixinitialise (ELEMENT_MATRIX, ERR, ERROR,)
 Initialise the element matrix. More...
 
subroutine, public equations_matrices_element_matrix_setup (elementMatrix, rowsFieldVariable, columnsFieldVariable, rowsNumberOfElements, colsNumberOfElements, err, error,)
 Sets up the element matrix for the row and column field variables. More...
 
subroutine, public equations_matrices_element_vector_calculate (ELEMENT_VECTOR, UPDATE_VECTOR, ELEMENT_NUMBER, ROWS_FIELD_VARIABLE, ERR, ERROR,)
 Calculate the positions in the equations rhs of the element rhs vector. Old CMISS name MELGE. More...
 
subroutine, public equations_matrices_element_vector_finalise (ELEMENT_VECTOR, ERR, ERROR,)
 Finalise an element vector and deallocate all memory. More...
 
subroutine, public equationsmatrices_elementvectorinitialise (ELEMENT_VECTOR, ERR, ERROR,)
 Initialise the element vector. More...
 
subroutine, public equations_matrices_element_vector_setup (elementVector, rowsFieldVariable, err, error,)
 Sets up the element vector for the row field variables. More...
 
subroutine, public equations_matrices_element_add (EQUATIONS_MATRICES, ERR, ERROR,)
 Adds the element matrices and rhs vector into the equations matrices and rhs vector. More...
 
subroutine, public equations_matrices_element_calculate (EQUATIONS_MATRICES, ELEMENT_NUMBER, ERR, ERROR,)
 Calculate the positions in the equations matrices and rhs of the element matrices and rhs vector. Old CMISS name MELGE. More...
 
subroutine, public equationsmatrices_nodalcalculate (equationsMatrices, nodeNumber, err, error,)
 Calculate the positions in the equations matrices and rhs of the nodal matrices and rhs vector. Old CMISS name MELGE. More...
 
subroutine, public equationsmatrices_nodalmatrixcalculate (nodalMatrix, updateMatrix, rowNodeNumber, columnNodeNumber, rowsFieldVariable, colsFieldVariable, err, error,)
 Calculate the positions in the equations matrices of the nodal matrix. More...
 
subroutine, public equationsmatrices_nodalvectorcalculate (nodalVector, updateVector, rowNodeNumber, rowsFieldVariable, err, error,)
 Calculate the positions in the equations rhs of the nodal rhs vector. More...
 
subroutine, public equationsmatrices_nodeadd (equationsMatrices, err, error,)
 Adds the nodal matrices and rhs vector into the equations matrices and rhs vector. More...
 
subroutine, public equationsmatrices_nodalinitialise (equationsMatrices, err, error,)
 Initialise the nodal calculation information for the equations matrices. More...
 
subroutine, public equationsmatrices_nodalmatrixsetup (nodalMatrix, rowsFieldVariable, colsFieldVariable, err, error,)
 Sets up the nodal matrix for the row and column field variables. More...
 
subroutine, public equationsmatrices_nodalvectorsetup (nodalVector, rowsFieldVariable, err, error,)
 Sets up the nodal vector for the row field variables. More...
 
subroutine, public equationsmatrices_nodalfinalise (equationsMatrices, err, error,)
 Finalise the nodal calculation information and deallocate all memory. More...
 
subroutine, public equationsmatrices_nodalmatrixinitialise (nodalMatrix, err, error,)
 Initialise the nodal matrix. More...
 
subroutine, public equationsmatrices_nodalmatrixfinalise (nodalMatrix, err, error,)
 Finalise an nodal matrix and deallocate all memory. More...
 
subroutine, public equationsmatrices_nodalvectorinitialise (nodalVector, err, error,)
 Initialise the nodal vector. More...
 
subroutine, public equationsmatrices_nodalvectorfinalise (nodalVector, err, error,)
 Finalise an nodal vector and deallocate all memory. More...
 
subroutine, public equationsmatrices_jacobiannodeadd (equationsMatrices, err, error,)
 Adds the Jacobian matrices into the equations Jacobian. More...
 
subroutine, public equations_matrices_element_finalise (EQUATIONS_MATRICES, ERR, ERROR,)
 Finalise the element calculation information and deallocate all memory. More...
 
subroutine, public equations_matrices_element_initialise (EQUATIONS_MATRICES, ERR, ERROR,)
 Initialise the element calculation information for the equations matrices. More...
 
subroutine equations_matrix_finalise (EQUATIONS_MATRIX, ERR, ERROR,)
 Finalise a equations matrix and deallocate all memory. More...
 
subroutine equations_matrix_dynamic_initialise (DYNAMIC_MATRICES, MATRIX_NUMBER, ERR, ERROR,)
 Initialise the dynamic equations matrix. More...
 
subroutine equations_matrix_linear_initialise (LINEAR_MATRICES, MATRIX_NUMBER, ERR, ERROR,)
 Initialise the linear equations matrix. More...
 
subroutine equations_matrices_dynamic_finalise (DYNAMIC_MATRICES, ERR, ERROR,)
 Finalises the equations matrices dynamic matrices and deallocates all memory. More...
 
subroutine equations_matrices_dynamic_initialise (EQUATIONS_MATRICES, ERR, ERROR,)
 Initialises the equations matrices dynamic matrices. More...
 
subroutine, public equations_matrices_jacobian_element_add (EQUATIONS_MATRICES, ERR, ERROR,)
 Adds the Jacobain matrices into the equations Jacobian. More...
 
subroutine, public equations_matrices_jacobian_output (ID, EQUATIONS_MATRICES, ERR, ERROR,)
 Outputs the equations Jacobian matrices. More...
 
subroutine, public equationsmatrices_jacobiantypesset (equationsMatrices, jacobianTypes, err, error,)
 Sets the Jacobian calculation types of the residual variables. More...
 
subroutine equations_matrices_linear_finalise (LINEAR_MATRICES, ERR, ERROR,)
 Finalises the equations matrices linear matrices and deallocates all memory. More...
 
subroutine equations_matrices_linear_initialise (EQUATIONS_MATRICES, ERR, ERROR,)
 Initialises the equations matrices linear matrices. More...
 
subroutine equations_matrices_nonlinear_finalise (NONLINEAR_MATRICES, ERR, ERROR,)
 Finalises the equations matrices nonlinear matrices and deallocates all memory. More...
 
subroutine equations_matrices_nonlinear_initialise (EQUATIONS_MATRICES, ERR, ERROR,)
 Initialises the equations matrices nonlinear matrices. More...
 
subroutine, public equations_matrices_output (ID, EQUATIONS_MATRICES, ERR, ERROR,)
 Outputs the equations matrices. More...
 
subroutine equations_matrices_rhs_finalise (RHS_VECTOR, ERR, ERROR,)
 Finalises the equations matrices RHS vector and deallocates all memory. More...
 
subroutine equations_matrices_rhs_initialise (EQUATIONS_MATRICES, ERR, ERROR,)
 Initialises the equations matrices RHS vector. More...
 
subroutine equations_matrices_source_finalise (SOURCE_VECTOR, ERR, ERROR,)
 Finalises the equations matrices source vector and deallocates all memory. More...
 
subroutine equations_matrices_source_initialise (EQUATIONS_MATRICES, ERR, ERROR,)
 Initialises the equations matrices source vector. More...
 
subroutine, public equations_matrices_dynamic_lumping_type_set (EQUATIONS_MATRICES, LUMPING_TYPE, ERR, ERROR,)
 Sets the lumping of the linear equations matrices. More...
 
subroutine, public equations_matrices_dynamic_storage_type_set (EQUATIONS_MATRICES, STORAGE_TYPE, ERR, ERROR,)
 Sets the storage type (sparsity) of the dynamic equations matrices. More...
 
subroutine, public equations_matrices_linear_storage_type_set (EQUATIONS_MATRICES, STORAGE_TYPE, ERR, ERROR,)
 Sets the storage type (sparsity) of the linear equations matrices. More...
 
subroutine equationsmatrices_nonlinearstoragetypeset0 (EQUATIONS_MATRICES, STORAGE_TYPE, ERR, ERROR,)
 Sets the storage type (sparsity) of the nonlinear (Jacobian) equations matrices. More...
 
subroutine equationsmatrices_nonlinearstoragetypeset1 (EQUATIONS_MATRICES, STORAGE_TYPE, ERR, ERROR,)
 Sets the storage type (sparsity) of all nonlinear (Jacobian) equations matrices. More...
 
subroutine, public equationsmatrices_dynamicstructuretypeset (EQUATIONS_MATRICES, STRUCTURE_TYPE, ERR, ERROR,)
 Sets the structure (sparsity) of the dynamic equations matrices. More...
 
subroutine, public equationsmatrices_linearstructuretypeset (EQUATIONS_MATRICES, STRUCTURE_TYPE, ERR, ERROR,)
 Sets the structure (sparsity) of the linear equations matrices. More...
 
subroutine equationsmatrices_nonlinearstructuretypeset0 (EQUATIONS_MATRICES, STRUCTURE_TYPE, ERR, ERROR,)
 Sets the structure (sparsity) of the nonlinear (Jacobian) equations matrices. More...
 
subroutine equationsmatrices_nonlinearstructuretypeset1 (EQUATIONS_MATRICES, STRUCTURE_TYPE, ERR, ERROR,)
 Sets the structure (sparsity) of all nonlinear (Jacobian) equations matrices. More...
 
subroutine equations_matrices_finalise (EQUATIONS_MATRICES, ERR, ERROR,)
 Finalise the equations matrices and deallocate all memory. More...
 
subroutine equations_matrices_initialise (EQUATIONS, ERR, ERROR,)
 Initialise the equations matrices for the equations. More...
 
subroutine, public equations_matrices_values_initialise (EQUATIONS_MATRICES, SELECTION_TYPE, VALUE, ERR, ERROR,)
 Initialise the values of the equations matrices and vectors to the given value e.g., 0.0_DP. More...
 
subroutine equationsmatrix_structurecalculate (equationsMatrix, numberOfNonZeros, rowIndices, columnIndices, list, err, error,)
 Caclulates the matrix structure (sparsity) for a equations matrix. More...
 
subroutine jacobianmatrix_structurecalculate (jacobianMatrix, numberOfNonZeros, rowIndices, columnIndices, err, error,)
 Caclulates the matrix structure (sparsity) for a Jacobian matrix. More...
 

Variables

integer(intg), parameter, public equations_matrix_no_structure =1
 No matrix structure - all elements can contain a value. More...
 
integer(intg), parameter, public equations_matrix_fem_structure =2
 Finite element matrix structure. More...
 
integer(intg), parameter, public equations_matrix_diagonal_structure =3
 Diagonal matrix structure. More...
 
integer(intg), parameter, public equations_matrix_nodal_structure =4
 Nodal matrix structure. More...
 
integer(intg), parameter, public equations_matrix_unlumped =1
 The matrix is not lumped. More...
 
integer(intg), parameter, public equations_matrix_lumped =2
 The matrix is "mass" lumped. More...
 
integer(intg), parameter, public equations_matrices_sparse_matrices =1
 Use sparse equations matrices. More...
 
integer(intg), parameter, public equations_matrices_full_matrices =2
 Use fully populated equation matrices. More...
 
integer(intg), parameter, public equations_matrices_all =1
 Select all the equations matrices and vectors. More...
 
integer(intg), parameter equations_matrices_dynamic_only =2
 Select only the dynamic equations matrices and vectors. More...
 
integer(intg), parameter, public equations_matrices_linear_only =3
 Select only the linear equations matrices and vectors. More...
 
integer(intg), parameter, public equations_matrices_nonlinear_only =4
 Select only the nonlinear equations matrices and vectors. More...
 
integer(intg), parameter, public equations_matrices_jacobian_only =5
 Select only the Jacobian equations matrix. More...
 
integer(intg), parameter, public equations_matrices_residual_only =6
 Select only the residual equations vector. More...
 
integer(intg), parameter, public equations_matrices_rhs_only =7
 Select only the RHS equations vector. More...
 
integer(intg), parameter, public equations_matrices_source_only =8
 Select only the RHS equations vector. More...
 
integer(intg), parameter, public equations_matrices_rhs_residual_only =9
 Select only the RHS and residual equations vectors. More...
 
integer(intg), parameter, public equations_matrices_rhs_source_only =10
 Assemble only the RHS and source equations vectors. More...
 
integer(intg), parameter, public equations_matrices_residual_source_only =11
 Assemble only the residual and source equations vectors. More...
 
integer(intg), parameter, public equations_matrices_vectors_only =12
 Assemble only the equations vectors. More...
 
integer(intg), parameter, public equations_jacobian_finite_difference_calculated =1
 Use finite differencing to calculate the Jacobian. More...
 
integer(intg), parameter, public equations_jacobian_analytic_calculated =2
 Use an analytic Jacobian evaluation. More...
 

Detailed Description

This module handles all equations matrix and rhs routines.

Function/Subroutine Documentation

subroutine equations_matrices_routines::equations_jacobian_finalise ( type(equations_jacobian_type), pointer  EQUATIONS_JACOBIAN,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalise the equations Jacobian and deallocate all memory.

Parameters
equations_jacobianA pointer to the equations Jacobian to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 303 of file equations_matrices_routines.f90.

References distributed_matrix_vector::distributed_matrix_destroy(), base_routines::enters(), equations_matrices_element_matrix_finalise(), equationsmatrices_nodalmatrixfinalise(), and base_routines::exits().

Referenced by equations_jacobian_initialise(), and equations_matrices_nonlinear_finalise().

subroutine equations_matrices_routines::equations_jacobian_initialise ( type(equations_matrices_nonlinear_type), pointer  NONLINEAR_MATRICES,
integer(intg), intent(in)  MATRIX_NUMBER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialise the equations Jacobian.

Parameters
nonlinear_matricesA pointer to the equations matrices nonlinear matrices to initialise the Jacobian for
[in]matrix_numberThe index of the Jacobian matrix to initialise for the nonlinear matrices
[out]errThe error code
[out]errorThe error string

Definition at line 330 of file equations_matrices_routines.f90.

References base_routines::enters(), equations_jacobian_finalise(), equations_jacobian_finite_difference_calculated, equations_matrix_no_structure, equationsmatrices_elementmatrixinitialise(), equationsmatrices_nodalmatrixinitialise(), base_routines::exits(), and matrix_vector::matrix_block_storage_type.

Referenced by equations_matrices_nonlinear_initialise().

subroutine, public equations_matrices_routines::equations_matrices_create_finish ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Finishes the creation of the equations matrices and RHS for the the equations.

Parameters
equations_matricesThe pointer to the equations matrices
[out]errThe error code
[out]errorThe error string

Definition at line 404 of file equations_matrices_routines.f90.

References distributed_matrix_vector::distributed_matrix_block_storage_type, distributed_matrix_vector::distributed_matrix_create_finish(), distributed_matrix_vector::distributed_matrix_create_start(), distributed_matrix_vector::distributed_matrix_data_type_set(), distributed_matrix_vector::distributed_matrix_diagonal_storage_type, distributed_matrix_vector::distributed_matrix_linklist_set(), distributed_matrix_vector::distributed_matrix_number_non_zeros_set(), distributed_matrix_vector::distributed_matrix_storage_locations_set(), distributed_matrix_vector::distributed_matrix_storage_type_set(), distributed_matrix_vector::distributed_vector_create_finish(), distributed_matrix_vector::distributed_vector_create_start(), distributed_matrix_vector::distributed_vector_data_type_set(), base_routines::enters(), equations_matrices_finalise(), equationsmatrix_structurecalculate(), base_routines::exits(), jacobianmatrix_structurecalculate(), and matrix_vector::matrix_vector_dp_type.

Referenced by advection_equation_routines::advection_equationssetlinearsetup(), advection_diffusion_equation_routines::advectiondiffusion_equationssetlinearsetup(), biodomain_equation_routines::biodomain_equationssetsetup(), burgers_equation_routines::burgers_equation_equations_set_setup(), characteristic_equation_routines::characteristic_equationssetsetup(), darcy_equations_routines::darcy_equation_equations_set_setup(), darcy_pressure_equations_routines::darcy_pressure_equation_equations_set_setup(), diffusion_equation_routines::diffusion_equationssetlinearsetup(), diffusion_equation_routines::diffusion_equationssetnonlinearsetup(), finite_elasticity_routines::finite_elasticity_equations_set_setup(), fitting_routines::fitting_equations_set_mat_properties_setup(), fitting_routines::fitting_equations_set_standard_setup(), fitting_routines::fitting_equations_set_vectordata_setup(), helmholtz_equations_routines::Helmholtz_EquationsSetStandardSetup::helmholtz_equationssetstandardsetup(), hamilton_jacobi_equations_routines::HJ_EQUATION_EQUATIONS_SET_STANDARD_SETUP::hj_equation_equations_set_standard_setup(), laplace_equations_routines::laplace_equationssetgeneralisedsetup(), laplace_equations_routines::laplace_equationssetmovingmeshsetup(), laplace_equations_routines::laplace_equationssetstandardsetup(), linear_elasticity_routines::linear_elasticity_equations_set_setup(), monodomain_equations_routines::Monodomain_EquationsSetSubtypeSetup::monodomain_equationssetsubtypesetup(), navier_stokes_equations_routines::NAVIER_STOKES_EQUATIONS_SET_SETUP::navier_stokes_equations_set_setup(), poiseuille_equations_routines::poiseuille_equationssetstaticsetup(), poisson_equations_routines::poisson_equationssetextracellularbidomainsetup(), poisson_equations_routines::poisson_equationssetlinearsourcesetup(), poisson_equations_routines::poisson_equationssetnonlinearsourcesetup(), poisson_equations_routines::poisson_equationssetpressurepoissonsetup(), reaction_diffusion_equation_routines::ReactionDiffusion_EquationsSetSetup::reactiondiffusion_equationssetsetup(), stokes_equations_routines::stokes_equations_set_setup(), and stree_equation_routines::stree_equationssetsetup().

subroutine, public equations_matrices_routines::equations_matrices_create_start ( type(equations_type), pointer  EQUATIONS,
type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Starts the creation of the equations matrices and rhs for the the equations.

Parameters
equationsThe pointer to the equations to create the equations matrices for
equations_matricesOn return, a pointer to the equations matrices being created.
[out]errThe error code
[out]errorThe error string

Definition at line 615 of file equations_matrices_routines.f90.

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

Referenced by advection_equation_routines::advection_equationssetlinearsetup(), advection_diffusion_equation_routines::advectiondiffusion_equationssetlinearsetup(), biodomain_equation_routines::biodomain_equationssetsetup(), burgers_equation_routines::burgers_equation_equations_set_setup(), characteristic_equation_routines::characteristic_equationssetsetup(), darcy_equations_routines::darcy_equation_equations_set_setup(), darcy_pressure_equations_routines::darcy_pressure_equation_equations_set_setup(), diffusion_equation_routines::diffusion_equationssetlinearsetup(), diffusion_equation_routines::diffusion_equationssetnonlinearsetup(), finite_elasticity_routines::finite_elasticity_equations_set_setup(), fitting_routines::fitting_equations_set_mat_properties_setup(), fitting_routines::fitting_equations_set_standard_setup(), fitting_routines::fitting_equations_set_vectordata_setup(), helmholtz_equations_routines::Helmholtz_EquationsSetStandardSetup::helmholtz_equationssetstandardsetup(), hamilton_jacobi_equations_routines::HJ_EQUATION_EQUATIONS_SET_STANDARD_SETUP::hj_equation_equations_set_standard_setup(), laplace_equations_routines::laplace_equationssetgeneralisedsetup(), laplace_equations_routines::laplace_equationssetmovingmeshsetup(), laplace_equations_routines::laplace_equationssetstandardsetup(), linear_elasticity_routines::linear_elasticity_equations_set_setup(), monodomain_equations_routines::Monodomain_EquationsSetSubtypeSetup::monodomain_equationssetsubtypesetup(), navier_stokes_equations_routines::NAVIER_STOKES_EQUATIONS_SET_SETUP::navier_stokes_equations_set_setup(), poiseuille_equations_routines::poiseuille_equationssetstaticsetup(), poisson_equations_routines::poisson_equationssetextracellularbidomainsetup(), poisson_equations_routines::poisson_equationssetlinearsourcesetup(), poisson_equations_routines::poisson_equationssetnonlinearsourcesetup(), poisson_equations_routines::poisson_equationssetpressurepoissonsetup(), reaction_diffusion_equation_routines::ReactionDiffusion_EquationsSetSetup::reactiondiffusion_equationssetsetup(), stokes_equations_routines::stokes_equations_set_setup(), and stree_equation_routines::stree_equationssetsetup().

subroutine, public equations_matrices_routines::equations_matrices_destroy ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Destroy the equations matrices.

Parameters
equations_matricesA pointer the equations matrices to destroy
[out]errThe error code
[out]errorThe error string

Definition at line 657 of file equations_matrices_routines.f90.

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

Referenced by equations_routines::equations_finalise().

subroutine equations_matrices_routines::equations_matrices_dynamic_finalise ( type(equations_matrices_dynamic_type), pointer  DYNAMIC_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalises the equations matrices dynamic matrices and deallocates all memory.

Parameters
dynamic_matricesA pointer to the equation matrices dynamic matrices to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 3088 of file equations_matrices_routines.f90.

References distributed_matrix_vector::distributed_vector_destroy(), base_routines::enters(), equations_matrix_finalise(), and base_routines::exits().

Referenced by equations_matrices_dynamic_initialise(), and equations_matrices_finalise().

subroutine equations_matrices_routines::equations_matrices_dynamic_initialise ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialises the equations matrices dynamic matrices.

Parameters
equations_matricesA pointer to the equation matrices to initialise the dynamic matrices for
[out]errThe error code
[out]errorThe error string

Definition at line 3121 of file equations_matrices_routines.f90.

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

Referenced by equations_matrices_initialise().

subroutine, public equations_matrices_routines::equations_matrices_dynamic_lumping_type_set ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), dimension(:), intent(in)  LUMPING_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public equations_matrices_routines::equations_matrices_dynamic_storage_type_set ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), dimension(:), intent(in)  STORAGE_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the storage type (sparsity) of the dynamic equations matrices.

Parameters
equations_matricesA pointer to the eqautions matrices
[in]storage_typeSTORAGE_TYPE(matrix_idx). The storage type for the matrix_idx'th dynamic equations matrix
[out]errThe error code
[out]errorThe error string

Definition at line 3824 of file equations_matrices_routines.f90.

References distributed_matrix_vector::distributed_matrix_block_storage_type, distributed_matrix_vector::distributed_matrix_column_major_storage_type, distributed_matrix_vector::distributed_matrix_compressed_column_storage_type, distributed_matrix_vector::distributed_matrix_compressed_row_storage_type, distributed_matrix_vector::distributed_matrix_diagonal_storage_type, distributed_matrix_vector::distributed_matrix_row_column_storage_type, distributed_matrix_vector::distributed_matrix_row_major_storage_type, base_routines::enters(), and base_routines::exits().

Referenced by advection_equation_routines::advection_equationssetlinearsetup(), advection_diffusion_equation_routines::advectiondiffusion_equationssetlinearsetup(), biodomain_equation_routines::biodomain_equationssetsetup(), burgers_equation_routines::burgers_equation_equations_set_setup(), darcy_equations_routines::darcy_equation_equations_set_setup(), diffusion_equation_routines::diffusion_equationssetlinearsetup(), diffusion_equation_routines::diffusion_equationssetnonlinearsetup(), monodomain_equations_routines::Monodomain_EquationsSetSubtypeSetup::monodomain_equationssetsubtypesetup(), navier_stokes_equations_routines::NAVIER_STOKES_EQUATIONS_SET_SETUP::navier_stokes_equations_set_setup(), reaction_diffusion_equation_routines::ReactionDiffusion_EquationsSetSetup::reactiondiffusion_equationssetsetup(), and stokes_equations_routines::stokes_equations_set_setup().

subroutine, public equations_matrices_routines::equations_matrices_element_add ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public equations_matrices_routines::equations_matrices_element_calculate ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(in)  ELEMENT_NUMBER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public equations_matrices_routines::equations_matrices_element_finalise ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public equations_matrices_routines::equations_matrices_element_matrix_calculate ( type(element_matrix_type)  ELEMENT_MATRIX,
logical  UPDATE_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_ELEMENT_NUMBERS,
integer(intg), dimension(:), intent(in)  COLUMN_ELEMENT_NUMBERS,
type(field_variable_type), pointer  ROWS_FIELD_VARIABLE,
type(field_variable_type), pointer  COLS_FIELD_VARIABLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Calculate the positions in the equations matrices of the element matrix. Old CMISS name MELGE.

Parameters
element_matrixThe element matrix to calculate
update_matrixIs .TRUE. if the element matrix is to be updated, .FALSE. if not.
[in]row_element_numbersThe row element number to calculate
[in]column_element_numbersThe column element number to calculate
rows_field_variableA pointer to the field variable associated with the rows
cols_field_variableA pointer to the field variable associated with the columns
[out]errThe error code
[out]errorThe error string

Definition at line 686 of file equations_matrices_routines.f90.

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

Referenced by equations_matrices_element_calculate().

subroutine, public equations_matrices_routines::equations_matrices_element_matrix_finalise ( type(element_matrix_type)  ELEMENT_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Finalise an element matrix and deallocate all memory.

Parameters
element_matrixThe element matrix to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 943 of file equations_matrices_routines.f90.

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

Referenced by equations_jacobian_finalise(), equations_matrices_element_finalise(), equations_matrices_element_matrix_setup(), and equations_matrix_finalise().

subroutine, public equations_matrices_routines::equations_matrices_element_matrix_setup ( type(element_matrix_type)  elementMatrix,
type(field_variable_type), pointer  rowsFieldVariable,
type(field_variable_type), pointer  columnsFieldVariable,
integer(intg), intent(in)  rowsNumberOfElements,
integer(intg), intent(in)  colsNumberOfElements,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Sets up the element matrix for the row and column field variables.

Parameters
elementmatrixThe element matrix to setup
rowsfieldvariableA pointer to the field variable associated with the rows
columnsfieldvariableA pointer to the field variable associated with the columns
[in]rowsnumberofelementsNumber of elements in the row variables whose dofs are present in this element matrix
[in]colsnumberofelementsNumber of elements in the col variables whose dofs are present in this element matrix
[out]errThe error code
[out]errorThe error string

Definition at line 998 of file equations_matrices_routines.f90.

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

Referenced by equations_matrices_element_initialise().

subroutine, public equations_matrices_routines::equations_matrices_element_vector_calculate ( type(element_vector_type)  ELEMENT_VECTOR,
logical  UPDATE_VECTOR,
integer(intg), intent(in)  ELEMENT_NUMBER,
type(field_variable_type), pointer  ROWS_FIELD_VARIABLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Calculate the positions in the equations rhs of the element rhs vector. Old CMISS name MELGE.

Parameters
element_vectorThe element vector to calculate.
update_vectorIs .TRUE. if the element vector is to be updated, .FALSE. if not.
[in]element_numberThe element number to calculate
rows_field_variableA pointer to the field variable associated with the rows
[out]errThe error code
[out]errorThe error string

Definition at line 1066 of file equations_matrices_routines.f90.

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

Referenced by equations_matrices_element_calculate().

subroutine, public equations_matrices_routines::equations_matrices_element_vector_finalise ( type(element_vector_type)  ELEMENT_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Finalise an element vector and deallocate all memory.

Parameters
element_vectorThe element vector to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 1164 of file equations_matrices_routines.f90.

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

Referenced by equations_matrices_element_vector_setup(), equations_matrices_nonlinear_finalise(), equations_matrices_rhs_finalise(), and equations_matrices_source_finalise().

subroutine, public equations_matrices_routines::equations_matrices_element_vector_setup ( type(element_vector_type)  elementVector,
type(field_variable_type), pointer  rowsFieldVariable,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Sets up the element vector for the row field variables.

Parameters
elementvectorThe element vector to setup
rowsfieldvariableA pointer to the field variable associated with the rows
[out]errThe error code
[out]errorThe error string

Definition at line 1213 of file equations_matrices_routines.f90.

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

Referenced by equations_matrices_element_initialise().

subroutine equations_matrices_routines::equations_matrices_finalise ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalise the equations matrices and deallocate all memory.

Parameters
equations_matricesA pointer to the equations matrices
[out]errThe error code
[out]errorThe error string

Definition at line 4345 of file equations_matrices_routines.f90.

References base_routines::enters(), equations_matrices_dynamic_finalise(), equations_matrices_linear_finalise(), equations_matrices_nonlinear_finalise(), equations_matrices_rhs_finalise(), equations_matrices_source_finalise(), and base_routines::exits().

Referenced by equations_matrices_create_finish(), equations_matrices_create_start(), equations_matrices_destroy(), and equations_matrices_initialise().

subroutine equations_matrices_routines::equations_matrices_initialise ( type(equations_type), pointer  EQUATIONS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialise the equations matrices for the equations.

Parameters
equationsA pointer to the equations to initialise the equations matrices for
[out]errThe error code
[out]errorThe error string

Definition at line 4375 of file equations_matrices_routines.f90.

References base_routines::enters(), equations_matrices_dynamic_initialise(), equations_matrices_finalise(), equations_matrices_linear_initialise(), equations_matrices_nonlinear_initialise(), equations_matrices_rhs_initialise(), equations_matrices_source_initialise(), and base_routines::exits().

Referenced by equations_matrices_create_start().

subroutine, public equations_matrices_routines::equations_matrices_jacobian_element_add ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Adds the Jacobain matrices into the equations Jacobian.

Parameters
equations_matricesA pointer to the equations matrices
[out]errThe error code
[out]errorThe error string

Definition at line 3175 of file equations_matrices_routines.f90.

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

Referenced by equations_set_routines::equations_set_jacobian_evaluate_dynamic_fem(), and equations_set_routines::equations_set_jacobian_evaluate_static_fem().

subroutine, public equations_matrices_routines::equations_matrices_jacobian_output ( integer(intg), intent(in)  ID,
type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Outputs the equations Jacobian matrices.

Parameters
[in]idThe ID of the ouptut stream
equations_matricesA pointer to the equations Jacobian matrices
[out]errThe error code
[out]errorThe error string

Definition at line 3232 of file equations_matrices_routines.f90.

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

Referenced by equations_set_routines::equations_set_jacobian_evaluate_dynamic_fem(), equations_set_routines::equations_set_jacobian_evaluate_static_fem(), and equations_set_routines::equationsset_jacobianevaluatestaticnodal().

subroutine equations_matrices_routines::equations_matrices_linear_finalise ( type(equations_matrices_linear_type), pointer  LINEAR_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalises the equations matrices linear matrices and deallocates all memory.

Parameters
linear_matricesA pointer to the equation matrices linear matrices to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 3338 of file equations_matrices_routines.f90.

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

Referenced by equations_matrices_finalise(), and equations_matrices_linear_initialise().

subroutine equations_matrices_routines::equations_matrices_linear_initialise ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialises the equations matrices linear matrices.

Parameters
equations_matricesA pointer to the equation matrices to initialise the linear matrices for
[out]errThe error code
[out]errorThe error string

Definition at line 3370 of file equations_matrices_routines.f90.

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

Referenced by equations_matrices_initialise().

subroutine, public equations_matrices_routines::equations_matrices_linear_storage_type_set ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), dimension(:), intent(in)  STORAGE_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the storage type (sparsity) of the linear equations matrices.

Parameters
equations_matricesA pointer to the equations matrices
[in]storage_typeSTORAGE_TYPE(matrix_idx). The storage type for the matrix_idx'th linear equations matrix
[out]errThe error code
[out]errorThe error string

Definition at line 3898 of file equations_matrices_routines.f90.

References distributed_matrix_vector::distributed_matrix_block_storage_type, distributed_matrix_vector::distributed_matrix_column_major_storage_type, distributed_matrix_vector::distributed_matrix_compressed_column_storage_type, distributed_matrix_vector::distributed_matrix_compressed_row_storage_type, distributed_matrix_vector::distributed_matrix_diagonal_storage_type, distributed_matrix_vector::distributed_matrix_row_column_storage_type, distributed_matrix_vector::distributed_matrix_row_major_storage_type, base_routines::enters(), and base_routines::exits().

Referenced by advection_equation_routines::advection_equationssetlinearsetup(), advection_diffusion_equation_routines::advectiondiffusion_equationssetlinearsetup(), biodomain_equation_routines::biodomain_equationssetsetup(), burgers_equation_routines::burgers_equation_equations_set_setup(), characteristic_equation_routines::characteristic_equationssetsetup(), darcy_equations_routines::darcy_equation_equations_set_setup(), diffusion_equation_routines::diffusion_equationssetlinearsetup(), fitting_routines::fitting_equations_set_mat_properties_setup(), fitting_routines::fitting_equations_set_standard_setup(), fitting_routines::fitting_equations_set_vectordata_setup(), helmholtz_equations_routines::Helmholtz_EquationsSetStandardSetup::helmholtz_equationssetstandardsetup(), hamilton_jacobi_equations_routines::HJ_EQUATION_EQUATIONS_SET_STANDARD_SETUP::hj_equation_equations_set_standard_setup(), laplace_equations_routines::laplace_equationssetgeneralisedsetup(), laplace_equations_routines::laplace_equationssetmovingmeshsetup(), laplace_equations_routines::laplace_equationssetstandardsetup(), linear_elasticity_routines::linear_elasticity_equations_set_setup(), monodomain_equations_routines::Monodomain_EquationsSetSubtypeSetup::monodomain_equationssetsubtypesetup(), navier_stokes_equations_routines::NAVIER_STOKES_EQUATIONS_SET_SETUP::navier_stokes_equations_set_setup(), poiseuille_equations_routines::poiseuille_equationssetstaticsetup(), poisson_equations_routines::poisson_equationssetextracellularbidomainsetup(), poisson_equations_routines::poisson_equationssetlinearsourcesetup(), poisson_equations_routines::poisson_equationssetnonlinearsourcesetup(), poisson_equations_routines::poisson_equationssetpressurepoissonsetup(), stokes_equations_routines::stokes_equations_set_setup(), and stree_equation_routines::stree_equationssetsetup().

subroutine equations_matrices_routines::equations_matrices_nonlinear_finalise ( type(equations_matrices_nonlinear_type), pointer  NONLINEAR_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalises the equations matrices nonlinear matrices and deallocates all memory.

Parameters
nonlinear_matricesA pointer to the equation matrices nonlinear matrices to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 3423 of file equations_matrices_routines.f90.

References distributed_matrix_vector::distributed_vector_destroy(), base_routines::enters(), equations_jacobian_finalise(), equations_matrices_element_vector_finalise(), equationsmatrices_nodalvectorfinalise(), and base_routines::exits().

Referenced by equations_matrices_finalise(), and equations_matrices_nonlinear_initialise().

subroutine equations_matrices_routines::equations_matrices_nonlinear_initialise ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialises the equations matrices nonlinear matrices.

Parameters
equations_matricesA pointer to the equation matrices to initialise the nonlinear matrices for
[out]errThe error code
[out]errorThe error string

Definition at line 3458 of file equations_matrices_routines.f90.

References base_routines::enters(), equations_jacobian_initialise(), equations_matrices_nonlinear_finalise(), equationsmatrices_elementvectorinitialise(), equationsmatrices_nodalvectorinitialise(), and base_routines::exits().

Referenced by equations_matrices_initialise().

subroutine, public equations_matrices_routines::equations_matrices_output ( integer(intg), intent(in)  ID,
type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine equations_matrices_routines::equations_matrices_rhs_finalise ( type(equations_matrices_rhs_type), pointer  RHS_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalises the equations matrices RHS vector and deallocates all memory.

Parameters
rhs_vectorA pointer to the equation matrices RHS vector to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 3604 of file equations_matrices_routines.f90.

References distributed_matrix_vector::distributed_vector_destroy(), base_routines::enters(), equations_matrices_element_vector_finalise(), equationsmatrices_nodalvectorfinalise(), and base_routines::exits().

Referenced by equations_matrices_finalise(), and equations_matrices_rhs_initialise().

subroutine equations_matrices_routines::equations_matrices_rhs_initialise ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialises the equations matrices RHS vector.

Parameters
equations_matricesA pointer to the equation matrices to initialise the rhs vector for
[out]errThe error code
[out]errorThe error string

Definition at line 3632 of file equations_matrices_routines.f90.

References base_routines::enters(), equations_matrices_rhs_finalise(), equationsmatrices_elementvectorinitialise(), equationsmatrices_nodalvectorinitialise(), and base_routines::exits().

Referenced by equations_matrices_initialise().

subroutine equations_matrices_routines::equations_matrices_source_finalise ( type(equations_matrices_source_type), pointer  SOURCE_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalises the equations matrices source vector and deallocates all memory.

Parameters
source_vectorA pointer to the equation matrices source vector to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 3682 of file equations_matrices_routines.f90.

References distributed_matrix_vector::distributed_vector_destroy(), base_routines::enters(), equations_matrices_element_vector_finalise(), equationsmatrices_nodalvectorfinalise(), and base_routines::exits().

Referenced by equations_matrices_finalise(), and equations_matrices_source_initialise().

subroutine equations_matrices_routines::equations_matrices_source_initialise ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialises the equations matrices source vector.

Parameters
equations_matricesA pointer to the equation matrices to initialise the source vector for
[out]errThe error code
[out]errorThe error string

Definition at line 3710 of file equations_matrices_routines.f90.

References base_routines::enters(), equations_matrices_source_finalise(), equationsmatrices_elementvectorinitialise(), equationsmatrices_nodalvectorinitialise(), and base_routines::exits().

Referenced by equations_matrices_initialise().

subroutine, public equations_matrices_routines::equations_matrices_values_initialise ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(in)  SELECTION_TYPE,
real(dp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Initialise the values of the equations matrices and vectors to the given value e.g., 0.0_DP.

Parameters
equations_matricesA pointer to the equations matrices to initialise the values for
[in]selection_typeThe selection of equations matrices to be initialised
See also
EQUATIONS_MATRICES_ROUTINES::SelectMatricesTypes,EQUATION_MATRICES_ROUTINES
Parameters
[in]valueThe value to initialise
[out]errThe error code
[out]errorThe error string

Definition at line 4437 of file equations_matrices_routines.f90.

References base_routines::enters(), equations_matrices_all, equations_matrices_dynamic_only, equations_matrices_jacobian_only, equations_matrices_linear_only, equations_matrices_nonlinear_only, equations_matrices_residual_only, equations_matrices_residual_source_only, equations_matrices_rhs_only, equations_matrices_rhs_residual_only, equations_matrices_rhs_source_only, equations_matrices_source_only, equations_matrices_vectors_only, and base_routines::exits().

Referenced by equations_set_routines::equations_set_assemble_dynamic_linear_fem(), equations_set_routines::equations_set_assemble_static_linear_fem(), equations_set_routines::equations_set_assemble_static_nonlinear_fem(), equations_set_routines::equations_set_jacobian_evaluate_dynamic_fem(), equations_set_routines::equations_set_jacobian_evaluate_static_fem(), equations_set_routines::equations_set_residual_evaluate_dynamic_fem(), equations_set_routines::equations_set_residual_evaluate_static_fem(), equations_set_routines::equationsset_assemblequasistaticlinearfem(), equations_set_routines::equationsset_assemblestaticnonlinearnodal(), equations_set_routines::equationsset_jacobianevaluatestaticnodal(), and equations_set_routines::equationsset_residualevaluatestaticnodal().

subroutine equations_matrices_routines::equations_matrix_dynamic_initialise ( type(equations_matrices_dynamic_type), pointer  DYNAMIC_MATRICES,
integer(intg)  MATRIX_NUMBER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialise the dynamic equations matrix.

Parameters
dynamic_matricesA pointer to the dynamic matrices to initialise the dynamic equations matrix for
matrix_numberThe dynamic matrix number in the dynamic equations matrices to initialise.
[out]errThe error code
[out]errorThe error string

Definition at line 2930 of file equations_matrices_routines.f90.

References base_routines::enters(), equations_matrix_finalise(), equations_matrix_no_structure, equationsmatrices_elementmatrixinitialise(), equationsmatrices_nodalmatrixinitialise(), base_routines::exits(), and matrix_vector::matrix_block_storage_type.

Referenced by equations_matrices_dynamic_initialise().

subroutine equations_matrices_routines::equations_matrix_finalise ( type(equations_matrix_type), pointer  EQUATIONS_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private
subroutine equations_matrices_routines::equations_matrix_linear_initialise ( type(equations_matrices_linear_type), pointer  LINEAR_MATRICES,
integer(intg)  MATRIX_NUMBER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialise the linear equations matrix.

Parameters
linear_matricesA pointer to the linear matrices to initialise the linear equations matrix for
matrix_numberThe linear matrix number in the linear equations matrices to initialise.
[out]errThe error code
[out]errorThe error string

Definition at line 3009 of file equations_matrices_routines.f90.

References base_routines::enters(), equations_matrix_finalise(), equations_matrix_no_structure, equationsmatrices_elementmatrixinitialise(), equationsmatrices_nodalmatrixinitialise(), base_routines::exits(), and matrix_vector::matrix_block_storage_type.

Referenced by equations_matrices_linear_initialise().

subroutine, public equations_matrices_routines::equationsmatrices_dynamicstructuretypeset ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), dimension(:), intent(in)  STRUCTURE_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public equations_matrices_routines::equationsmatrices_elementmatrixinitialise ( type(element_matrix_type)  ELEMENT_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Initialise the element matrix.

Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 970 of file equations_matrices_routines.f90.

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

Referenced by equations_jacobian_initialise(), equations_matrix_dynamic_initialise(), and equations_matrix_linear_initialise().

subroutine, public equations_matrices_routines::equationsmatrices_elementvectorinitialise ( type(element_vector_type)  ELEMENT_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Initialise the element vector.

Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 1189 of file equations_matrices_routines.f90.

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

Referenced by equations_matrices_nonlinear_initialise(), equations_matrices_rhs_initialise(), and equations_matrices_source_initialise().

subroutine, public equations_matrices_routines::equationsmatrices_jacobiannodeadd ( type(equations_matrices_type), pointer  equationsMatrices,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Adds the Jacobian matrices into the equations Jacobian.

Parameters
equationsmatricesA pointer to the equations matrices
[out]errThe error code
[out]errorThe error string

Definition at line 2601 of file equations_matrices_routines.f90.

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

Referenced by equations_set_routines::equationsset_jacobianevaluatestaticnodal().

subroutine, public equations_matrices_routines::equationsmatrices_jacobiantypesset ( type(equations_matrices_type), pointer  equationsMatrices,
integer(intg), dimension(:), intent(in)  jacobianTypes,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Sets the Jacobian calculation types of the residual variables.

Parameters
equationsmatricesA pointer to the equations matrices to set the Jacobian type for.
[in]jacobiantypesjacobianTypes(matrix_idx). The Jacobian calculation type for the matrix_idx'th Jacobian matrix.
[out]errThe error code
[out]errorThe error string

Definition at line 3283 of file equations_matrices_routines.f90.

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

Referenced by burgers_equation_routines::burgers_equation_equations_set_setup(), characteristic_equation_routines::characteristic_equationssetsetup(), diffusion_equation_routines::diffusion_equationssetnonlinearsetup(), finite_elasticity_routines::finite_elasticity_equations_set_setup(), navier_stokes_equations_routines::NAVIER_STOKES_EQUATIONS_SET_SETUP::navier_stokes_equations_set_setup(), and poisson_equations_routines::poisson_equationssetnonlinearsourcesetup().

subroutine, public equations_matrices_routines::equationsmatrices_linearstructuretypeset ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), dimension(:), intent(in)  STRUCTURE_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the structure (sparsity) of the linear equations matrices.

Parameters
equations_matricesA pointer to the equations matrices
[in]structure_typeSTRUCTURE_TYPE(matrix_idx). The storage type for the matrix_idx'th linear equations matrix
[out]errThe error code
[out]errorThe error string

Definition at line 4160 of file equations_matrices_routines.f90.

References base_routines::enters(), equations_matrix_diagonal_structure, equations_matrix_fem_structure, equations_matrix_no_structure, equations_matrix_nodal_structure, and base_routines::exits().

Referenced by advection_diffusion_equation_routines::advectiondiffusion_equationssetlinearsetup(), biodomain_equation_routines::biodomain_equationssetsetup(), burgers_equation_routines::burgers_equation_equations_set_setup(), characteristic_equation_routines::characteristic_equationssetsetup(), darcy_equations_routines::darcy_equation_equations_set_setup(), diffusion_equation_routines::diffusion_equationssetlinearsetup(), fitting_routines::fitting_equations_set_mat_properties_setup(), fitting_routines::fitting_equations_set_standard_setup(), fitting_routines::fitting_equations_set_vectordata_setup(), helmholtz_equations_routines::Helmholtz_EquationsSetStandardSetup::helmholtz_equationssetstandardsetup(), hamilton_jacobi_equations_routines::HJ_EQUATION_EQUATIONS_SET_STANDARD_SETUP::hj_equation_equations_set_standard_setup(), laplace_equations_routines::laplace_equationssetgeneralisedsetup(), laplace_equations_routines::laplace_equationssetmovingmeshsetup(), laplace_equations_routines::laplace_equationssetstandardsetup(), linear_elasticity_routines::linear_elasticity_equations_set_setup(), navier_stokes_equations_routines::NAVIER_STOKES_EQUATIONS_SET_SETUP::navier_stokes_equations_set_setup(), poiseuille_equations_routines::poiseuille_equationssetstaticsetup(), poisson_equations_routines::poisson_equationssetextracellularbidomainsetup(), poisson_equations_routines::poisson_equationssetlinearsourcesetup(), poisson_equations_routines::poisson_equationssetnonlinearsourcesetup(), poisson_equations_routines::poisson_equationssetpressurepoissonsetup(), stokes_equations_routines::stokes_equations_set_setup(), and stree_equation_routines::stree_equationssetsetup().

subroutine, public equations_matrices_routines::equationsmatrices_nodalcalculate ( type(equations_matrices_type), pointer  equationsMatrices,
integer(intg), intent(in)  nodeNumber,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Calculate the positions in the equations matrices and rhs of the nodal matrices and rhs vector. Old CMISS name MELGE.

Parameters
equationsmatricesA pointer to the equations matrices
[in]nodenumberThe nodal number to calculate the mappings for
[out]errThe error code
[out]errorThe error string

Definition at line 1555 of file equations_matrices_routines.f90.

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

Referenced by equations_set_routines::equationsset_assemblestaticnonlinearnodal(), equations_set_routines::equationsset_jacobianevaluatestaticnodal(), and equations_set_routines::equationsset_residualevaluatestaticnodal().

subroutine, public equations_matrices_routines::equationsmatrices_nodalfinalise ( type(equations_matrices_type), pointer  equationsMatrices,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Finalise the nodal calculation information and deallocate all memory.

Parameters
equationsmatricesThe equations matrices for which to finalise the nodals
[out]errThe error code
[out]errorThe error string

Definition at line 2396 of file equations_matrices_routines.f90.

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

Referenced by equations_set_routines::equationsset_assemblestaticnonlinearnodal(), equations_set_routines::equationsset_jacobianevaluatestaticnodal(), and equations_set_routines::equationsset_residualevaluatestaticnodal().

subroutine, public equations_matrices_routines::equationsmatrices_nodalinitialise ( type(equations_matrices_type), pointer  equationsMatrices,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)
subroutine, public equations_matrices_routines::equationsmatrices_nodalmatrixcalculate ( type(nodalmatrixtype)  nodalMatrix,
logical  updateMatrix,
integer(intg), intent(in)  rowNodeNumber,
integer(intg), intent(in)  columnNodeNumber,
type(field_variable_type), pointer  rowsFieldVariable,
type(field_variable_type), pointer  colsFieldVariable,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Calculate the positions in the equations matrices of the nodal matrix.

Parameters
nodalmatrixThe nodal matrix to calculate
updatematrixIs .TRUE. if the nodal matrix is to be updated, .FALSE. if not.
[in]rownodenumberThe row nodal number to calculate
[in]columnnodenumberThe column nodal number to calculate
rowsfieldvariableA pointer to the field variable associated with the rows
colsfieldvariableA pointer to the field variable associated with the columns
[out]errThe error code
[out]errorThe error string

Definition at line 1708 of file equations_matrices_routines.f90.

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

Referenced by equationsmatrices_nodalcalculate().

subroutine, public equations_matrices_routines::equationsmatrices_nodalmatrixfinalise ( type(nodalmatrixtype)  nodalMatrix,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Finalise an nodal matrix and deallocate all memory.

Parameters
nodalmatrixThe nodal matrix to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 2527 of file equations_matrices_routines.f90.

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

Referenced by equations_jacobian_finalise(), equations_matrix_finalise(), and equationsmatrices_nodalmatrixsetup().

subroutine, public equations_matrices_routines::equationsmatrices_nodalmatrixinitialise ( type(nodalmatrixtype)  nodalMatrix,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Initialise the nodal matrix.

Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 2500 of file equations_matrices_routines.f90.

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

Referenced by equations_jacobian_initialise(), equations_matrix_dynamic_initialise(), and equations_matrix_linear_initialise().

subroutine, public equations_matrices_routines::equationsmatrices_nodalmatrixsetup ( type(nodalmatrixtype)  nodalMatrix,
type(field_variable_type), pointer  rowsFieldVariable,
type(field_variable_type), pointer  colsFieldVariable,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Sets up the nodal matrix for the row and column field variables.

Parameters
nodalmatrixThe nodal matrix to setup
rowsfieldvariableA pointer to the field variable associated with the rows
colsfieldvariableA pointer to the field variable associated with the columns
[out]errThe error code
[out]errorThe error string

Definition at line 2295 of file equations_matrices_routines.f90.

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

Referenced by equationsmatrices_nodalinitialise().

subroutine, public equations_matrices_routines::equationsmatrices_nodalvectorcalculate ( type(nodalvectortype)  nodalVector,
logical  updateVector,
integer(intg), intent(in)  rowNodeNumber,
type(field_variable_type), pointer  rowsFieldVariable,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Calculate the positions in the equations rhs of the nodal rhs vector.

Parameters
nodalvectorThe nodal vector to calculate.
updatevectorIs .TRUE. if the nodal vector is to be updated, .FALSE. if not.
[in]rownodenumberThe nodal number to calculate
rowsfieldvariableA pointer to the field variable associated with the rows
[out]errThe error code
[out]errorThe error string

Definition at line 1920 of file equations_matrices_routines.f90.

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

Referenced by equationsmatrices_nodalcalculate().

subroutine, public equations_matrices_routines::equationsmatrices_nodalvectorfinalise ( type(nodalvectortype)  nodalVector,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Finalise an nodal vector and deallocate all memory.

Parameters
nodalvectorThe nodal vector to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 2576 of file equations_matrices_routines.f90.

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

Referenced by equations_matrices_nonlinear_finalise(), equations_matrices_rhs_finalise(), equations_matrices_source_finalise(), and equationsmatrices_nodalvectorsetup().

subroutine, public equations_matrices_routines::equationsmatrices_nodalvectorinitialise ( type(nodalvectortype)  nodalVector,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Initialise the nodal vector.

Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 2552 of file equations_matrices_routines.f90.

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

Referenced by equations_matrices_nonlinear_initialise(), equations_matrices_rhs_initialise(), and equations_matrices_source_initialise().

subroutine, public equations_matrices_routines::equationsmatrices_nodalvectorsetup ( type(nodalvectortype)  nodalVector,
type(field_variable_type), pointer  rowsFieldVariable,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Sets up the nodal vector for the row field variables.

Parameters
nodalvectorThe nodal vector to setup
rowsfieldvariableA pointer to the field variable associated with the rows
[out]errThe error code
[out]errorThe error string

Definition at line 2352 of file equations_matrices_routines.f90.

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

Referenced by equationsmatrices_nodalinitialise().

subroutine, public equations_matrices_routines::equationsmatrices_nodeadd ( type(equations_matrices_type), pointer  equationsMatrices,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Adds the nodal matrices and rhs vector into the equations matrices and rhs vector.

Parameters
equationsmatricesA pointer to the equations matrices
[out]errThe error code
[out]errorThe error string

Definition at line 2007 of file equations_matrices_routines.f90.

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

Referenced by equations_set_routines::equationsset_assemblestaticnonlinearnodal(), and equations_set_routines::equationsset_residualevaluatestaticnodal().

subroutine equations_matrices_routines::equationsmatrices_nonlinearstoragetypeset0 ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), dimension(:), intent(in)  STORAGE_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private
subroutine equations_matrices_routines::equationsmatrices_nonlinearstoragetypeset1 ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(in)  STORAGE_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets the storage type (sparsity) of all nonlinear (Jacobian) equations matrices.

Parameters
equations_matricesA pointer to the eqautions matrices
[in]storage_typeSTORAGE_TYPE. The storage type for all Jacobian equations matrices
[out]errThe error code
[out]errorThe error string

Definition at line 4046 of file equations_matrices_routines.f90.

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

subroutine equations_matrices_routines::equationsmatrices_nonlinearstructuretypeset0 ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), dimension(:), intent(in)  STRUCTURE_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets the structure (sparsity) of the nonlinear (Jacobian) equations matrices.

Parameters
equations_matricesA pointer to the equations matrices
[in]structure_typeSTRUCTURE_TYPE(matrix_idx). The structure type for the matrix_idx'th Jacobian equations matrix
[out]errThe error code
[out]errorThe error string

Definition at line 4230 of file equations_matrices_routines.f90.

References base_routines::enters(), equations_matrix_diagonal_structure, equations_matrix_fem_structure, equations_matrix_no_structure, equations_matrix_nodal_structure, base_routines::errors(), and base_routines::exits().

Referenced by equationsmatrices_nonlinearstructuretypeset1().

subroutine equations_matrices_routines::equationsmatrices_nonlinearstructuretypeset1 ( type(equations_matrices_type), pointer  EQUATIONS_MATRICES,
integer(intg), intent(in)  STRUCTURE_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets the structure (sparsity) of all nonlinear (Jacobian) equations matrices.

Parameters
equations_matricesA pointer to the equations matrices
[in]structure_typeThe structure type for all Jacobian equations matrices
[out]errThe error code
[out]errorThe error string

Definition at line 4300 of file equations_matrices_routines.f90.

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

subroutine equations_matrices_routines::equationsmatrix_structurecalculate ( type(equations_matrix_type), pointer  equationsMatrix,
integer(intg), intent(out)  numberOfNonZeros,
integer(intg), dimension(:), pointer  rowIndices,
integer(intg), dimension(:), pointer  columnIndices,
type(linkedlist), dimension(:), pointer  list,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)
private

Caclulates the matrix structure (sparsity) for a equations matrix.

Parameters
equationsmatrixA pointer to the equations matrix to calculate the structure for
[out]numberofnonzerosOn return the number of non-zeros in the matrix
rowindicesOn return a pointer to row location indices in compressed row format. The pointer must be NULL on entry and the calling routine is responsible for deallocation.
columnindicesOn return a pointer to the column location indices in compressed row format. The pointer must be NULL on entry and the calling routine is responsible for deallocation.
[out]errThe error code
[out]errorThe error string

Definition at line 4569 of file equations_matrices_routines.f90.

References base_routines::diagnostic_output_type, base_routines::diagnostics1, base_routines::enters(), equations_matrix_diagonal_structure, equations_matrix_fem_structure, equations_matrix_no_structure, equations_matrix_nodal_structure, base_routines::exits(), lists::list_create_finish(), lists::list_create_start(), lists::list_data_type_set(), lists::list_destroy(), lists::list_initial_size_set(), lists::list_intg_type, lists::list_number_of_items_get(), lists::list_remove_duplicates(), and matrix_vector::matrix_compressed_row_storage_type.

Referenced by equations_matrices_create_finish().

subroutine equations_matrices_routines::jacobianmatrix_structurecalculate ( type(equations_jacobian_type), pointer  jacobianMatrix,
integer(intg), intent(out)  numberOfNonZeros,
integer(intg), dimension(:), pointer  rowIndices,
integer(intg), dimension(:), pointer  columnIndices,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)
private

Caclulates the matrix structure (sparsity) for a Jacobian matrix.

Parameters
jacobianmatrixA pointer to the Jacobian matrix to calculate the strucute for
[out]numberofnonzerosOn return the number of non-zeros in the matrix
rowindicesOn return a pointer to row location indices in compressed row format. The pointer must be NULL on entry and the calling routine is responsible for deallocation.
columnindicesOn return a pointer to the column location indices in compressed row format. The pointer must be NULL on entry and the calling routine is responsible for deallocation.
[out]errThe error code
[out]errorThe error string

Definition at line 5045 of file equations_matrices_routines.f90.

References base_routines::diagnostic_output_type, base_routines::diagnostics1, base_routines::enters(), equations_matrix_fem_structure, equations_matrix_no_structure, equations_matrix_nodal_structure, base_routines::exits(), lists::list_create_finish(), lists::list_create_start(), lists::list_data_type_set(), lists::list_destroy(), lists::list_initial_size_set(), lists::list_intg_type, lists::list_number_of_items_get(), lists::list_remove_duplicates(), and matrix_vector::matrix_compressed_row_storage_type.

Referenced by equations_matrices_create_finish().