OpenCMISS-Iron Internal API Documentation
equations_matrices_routines.f90 File Reference

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

Go to the source code of this file.

Data Types

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

Modules

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

Functions/Subroutines

subroutine equations_matrices_routines::equations_jacobian_finalise (EQUATIONS_JACOBIAN, ERR, ERROR,)
 Finalise the equations Jacobian and deallocate all memory. More...
 
subroutine equations_matrices_routines::equations_jacobian_initialise (NONLINEAR_MATRICES, MATRIX_NUMBER, ERR, ERROR,)
 Initialise the equations Jacobian. More...
 
subroutine, public equations_matrices_routines::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_routines::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_routines::equations_matrices_destroy (EQUATIONS_MATRICES, ERR, ERROR,)
 Destroy the equations matrices. More...
 
subroutine, public equations_matrices_routines::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_routines::equations_matrices_element_matrix_finalise (ELEMENT_MATRIX, ERR, ERROR,)
 Finalise an element matrix and deallocate all memory. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_elementmatrixinitialise (ELEMENT_MATRIX, ERR, ERROR,)
 Initialise the element matrix. More...
 
subroutine, public equations_matrices_routines::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_routines::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_routines::equations_matrices_element_vector_finalise (ELEMENT_VECTOR, ERR, ERROR,)
 Finalise an element vector and deallocate all memory. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_elementvectorinitialise (ELEMENT_VECTOR, ERR, ERROR,)
 Initialise the element vector. More...
 
subroutine, public equations_matrices_routines::equations_matrices_element_vector_setup (elementVector, rowsFieldVariable, err, error,)
 Sets up the element vector for the row field variables. More...
 
subroutine, public equations_matrices_routines::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_routines::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 equations_matrices_routines::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 equations_matrices_routines::equationsmatrices_nodalmatrixcalculate (nodalMatrix, updateMatrix, rowNodeNumber, columnNodeNumber, rowsFieldVariable, colsFieldVariable, err, error,)
 Calculate the positions in the equations matrices of the nodal matrix. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_nodalvectorcalculate (nodalVector, updateVector, rowNodeNumber, rowsFieldVariable, err, error,)
 Calculate the positions in the equations rhs of the nodal rhs vector. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_nodeadd (equationsMatrices, err, error,)
 Adds the nodal matrices and rhs vector into the equations matrices and rhs vector. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_nodalinitialise (equationsMatrices, err, error,)
 Initialise the nodal calculation information for the equations matrices. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_nodalmatrixsetup (nodalMatrix, rowsFieldVariable, colsFieldVariable, err, error,)
 Sets up the nodal matrix for the row and column field variables. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_nodalvectorsetup (nodalVector, rowsFieldVariable, err, error,)
 Sets up the nodal vector for the row field variables. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_nodalfinalise (equationsMatrices, err, error,)
 Finalise the nodal calculation information and deallocate all memory. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_nodalmatrixinitialise (nodalMatrix, err, error,)
 Initialise the nodal matrix. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_nodalmatrixfinalise (nodalMatrix, err, error,)
 Finalise an nodal matrix and deallocate all memory. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_nodalvectorinitialise (nodalVector, err, error,)
 Initialise the nodal vector. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_nodalvectorfinalise (nodalVector, err, error,)
 Finalise an nodal vector and deallocate all memory. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_jacobiannodeadd (equationsMatrices, err, error,)
 Adds the Jacobian matrices into the equations Jacobian. More...
 
subroutine, public equations_matrices_routines::equations_matrices_element_finalise (EQUATIONS_MATRICES, ERR, ERROR,)
 Finalise the element calculation information and deallocate all memory. More...
 
subroutine, public equations_matrices_routines::equations_matrices_element_initialise (EQUATIONS_MATRICES, ERR, ERROR,)
 Initialise the element calculation information for the equations matrices. More...
 
subroutine equations_matrices_routines::equations_matrix_finalise (EQUATIONS_MATRIX, ERR, ERROR,)
 Finalise a equations matrix and deallocate all memory. More...
 
subroutine equations_matrices_routines::equations_matrix_dynamic_initialise (DYNAMIC_MATRICES, MATRIX_NUMBER, ERR, ERROR,)
 Initialise the dynamic equations matrix. More...
 
subroutine equations_matrices_routines::equations_matrix_linear_initialise (LINEAR_MATRICES, MATRIX_NUMBER, ERR, ERROR,)
 Initialise the linear equations matrix. More...
 
subroutine equations_matrices_routines::equations_matrices_dynamic_finalise (DYNAMIC_MATRICES, ERR, ERROR,)
 Finalises the equations matrices dynamic matrices and deallocates all memory. More...
 
subroutine equations_matrices_routines::equations_matrices_dynamic_initialise (EQUATIONS_MATRICES, ERR, ERROR,)
 Initialises the equations matrices dynamic matrices. More...
 
subroutine, public equations_matrices_routines::equations_matrices_jacobian_element_add (EQUATIONS_MATRICES, ERR, ERROR,)
 Adds the Jacobain matrices into the equations Jacobian. More...
 
subroutine, public equations_matrices_routines::equations_matrices_jacobian_output (ID, EQUATIONS_MATRICES, ERR, ERROR,)
 Outputs the equations Jacobian matrices. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_jacobiantypesset (equationsMatrices, jacobianTypes, err, error,)
 Sets the Jacobian calculation types of the residual variables. More...
 
subroutine equations_matrices_routines::equations_matrices_linear_finalise (LINEAR_MATRICES, ERR, ERROR,)
 Finalises the equations matrices linear matrices and deallocates all memory. More...
 
subroutine equations_matrices_routines::equations_matrices_linear_initialise (EQUATIONS_MATRICES, ERR, ERROR,)
 Initialises the equations matrices linear matrices. More...
 
subroutine equations_matrices_routines::equations_matrices_nonlinear_finalise (NONLINEAR_MATRICES, ERR, ERROR,)
 Finalises the equations matrices nonlinear matrices and deallocates all memory. More...
 
subroutine equations_matrices_routines::equations_matrices_nonlinear_initialise (EQUATIONS_MATRICES, ERR, ERROR,)
 Initialises the equations matrices nonlinear matrices. More...
 
subroutine, public equations_matrices_routines::equations_matrices_output (ID, EQUATIONS_MATRICES, ERR, ERROR,)
 Outputs the equations matrices. More...
 
subroutine equations_matrices_routines::equations_matrices_rhs_finalise (RHS_VECTOR, ERR, ERROR,)
 Finalises the equations matrices RHS vector and deallocates all memory. More...
 
subroutine equations_matrices_routines::equations_matrices_rhs_initialise (EQUATIONS_MATRICES, ERR, ERROR,)
 Initialises the equations matrices RHS vector. More...
 
subroutine equations_matrices_routines::equations_matrices_source_finalise (SOURCE_VECTOR, ERR, ERROR,)
 Finalises the equations matrices source vector and deallocates all memory. More...
 
subroutine equations_matrices_routines::equations_matrices_source_initialise (EQUATIONS_MATRICES, ERR, ERROR,)
 Initialises the equations matrices source vector. More...
 
subroutine, public equations_matrices_routines::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_routines::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_routines::equations_matrices_linear_storage_type_set (EQUATIONS_MATRICES, STORAGE_TYPE, ERR, ERROR,)
 Sets the storage type (sparsity) of the linear equations matrices. More...
 
subroutine equations_matrices_routines::equationsmatrices_nonlinearstoragetypeset0 (EQUATIONS_MATRICES, STORAGE_TYPE, ERR, ERROR,)
 Sets the storage type (sparsity) of the nonlinear (Jacobian) equations matrices. More...
 
subroutine equations_matrices_routines::equationsmatrices_nonlinearstoragetypeset1 (EQUATIONS_MATRICES, STORAGE_TYPE, ERR, ERROR,)
 Sets the storage type (sparsity) of all nonlinear (Jacobian) equations matrices. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_dynamicstructuretypeset (EQUATIONS_MATRICES, STRUCTURE_TYPE, ERR, ERROR,)
 Sets the structure (sparsity) of the dynamic equations matrices. More...
 
subroutine, public equations_matrices_routines::equationsmatrices_linearstructuretypeset (EQUATIONS_MATRICES, STRUCTURE_TYPE, ERR, ERROR,)
 Sets the structure (sparsity) of the linear equations matrices. More...
 
subroutine equations_matrices_routines::equationsmatrices_nonlinearstructuretypeset0 (EQUATIONS_MATRICES, STRUCTURE_TYPE, ERR, ERROR,)
 Sets the structure (sparsity) of the nonlinear (Jacobian) equations matrices. More...
 
subroutine equations_matrices_routines::equationsmatrices_nonlinearstructuretypeset1 (EQUATIONS_MATRICES, STRUCTURE_TYPE, ERR, ERROR,)
 Sets the structure (sparsity) of all nonlinear (Jacobian) equations matrices. More...
 
subroutine equations_matrices_routines::equations_matrices_finalise (EQUATIONS_MATRICES, ERR, ERROR,)
 Finalise the equations matrices and deallocate all memory. More...
 
subroutine equations_matrices_routines::equations_matrices_initialise (EQUATIONS, ERR, ERROR,)
 Initialise the equations matrices for the equations. More...
 
subroutine, public equations_matrices_routines::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 equations_matrices_routines::equationsmatrix_structurecalculate (equationsMatrix, numberOfNonZeros, rowIndices, columnIndices, list, err, error,)
 Caclulates the matrix structure (sparsity) for a equations matrix. More...
 
subroutine equations_matrices_routines::jacobianmatrix_structurecalculate (jacobianMatrix, numberOfNonZeros, rowIndices, columnIndices, err, error,)
 Caclulates the matrix structure (sparsity) for a Jacobian matrix. More...
 

Variables

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

Detailed Description

This module handles all equations matrix and rhs routines.

Author
Chris Bradley

LICENSE

Version: MPL 1.1/GPL 2.0/LGPL 2.1

The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/

Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

The Original Code is OpenCMISS

The Initial Developer of the Original Code is University of Auckland, Auckland, New Zealand, the University of Oxford, Oxford, United Kingdom and King's College, London, United Kingdom. Portions created by the University of Auckland, the University of Oxford and King's College, London are Copyright (C) 2007-2010 by the University of Auckland, the University of Oxford and King's College, London. All Rights Reserved.

Contributor(s): David Ladd

Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in which case the provisions of the GPL or the LGPL are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of either the GPL or the LGPL, and not to allow others to use your version of this file under the terms of the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the GPL or the LGPL. If you do not delete the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL.

Definition in file equations_matrices_routines.f90.