OpenCMISS-Iron Internal API Documentation
distributed_matrix_vector.f90 File Reference

This module handles all distributed matrix vector routines. More...

Go to the source code of this file.

Data Types

interface  distributed_matrix_vector::distributed_matrix_all_values_set
 
interface  distributed_matrix_vector::distributedmatrix_allvaluesset
 
interface  distributed_matrix_vector::distributedmatrix_createfinish
 
interface  distributed_matrix_vector::distributedmatrix_createstart
 
interface  distributed_matrix_vector::distributed_matrix_data_get
 
interface  distributed_matrix_vector::distributedmatrix_dataget
 
interface  distributed_matrix_vector::distributed_matrix_data_restore
 
interface  distributed_matrix_vector::distributedmatrix_datarestore
 
interface  distributed_matrix_vector::distributedmatrix_datatypeset
 
interface  distributed_matrix_vector::distributedmatrix_destroy
 
interface  distributed_matrix_vector::distributedmatrix_duplicate
 
interface  distributed_matrix_vector::distributedmatrix_form
 
interface  distributed_matrix_vector::distributedmatrix_ghostingtypeset
 
interface  distributed_matrix_vector::distributedmatrix_librarytypeset
 
interface  distributed_matrix_vector::distributedmatrix_maxcolumnsperrowget
 
interface  distributed_matrix_vector::distributedmatrix_numbernonzerosget
 
interface  distributed_matrix_vector::distributedmatrix_numbernonzerosset
 
interface  distributed_matrix_vector::distributedmatrix_output
 
interface  distributed_matrix_vector::distributedmatrix_overrideseton
 
interface  distributed_matrix_vector::distributedmatrix_overridesetoff
 
interface  distributed_matrix_vector::distributedmatrix_storagelocationsget
 
interface  distributed_matrix_vector::distributedmatrix_storagelocationsset
 
interface  distributed_matrix_vector::distributedmatrix_storagetypeget
 
interface  distributed_matrix_vector::distributedmatrix_storagetypeset
 
interface  distributed_matrix_vector::distributedmatrix_updatefinish
 
interface  distributed_matrix_vector::distributedmatrix_updatestart
 
interface  distributed_matrix_vector::distributedmatrix_updateisfinished
 
interface  distributed_matrix_vector::distributedmatrix_updatewaitfinished
 
interface  distributed_matrix_vector::distributed_matrix_values_add
 
interface  distributed_matrix_vector::distributedmatrix_valuesadd
 
interface  distributed_matrix_vector::distributed_matrix_values_get
 
interface  distributed_matrix_vector::distributedmatrix_valuesget
 
interface  distributed_matrix_vector::distributed_matrix_values_set
 
interface  distributed_matrix_vector::distributedmatrix_valuesset
 
interface  distributed_matrix_vector::distributedmatrix_matrixbyvectoradd
 
interface  distributed_matrix_vector::distributed_vector_all_values_set
 
interface  distributed_matrix_vector::distributedvector_allvaluesset
 
interface  distributed_matrix_vector::distributed_vector_copy
 
interface  distributed_matrix_vector::distributedvector_copy
 
interface  distributed_matrix_vector::distributedvector_createfinish
 
interface  distributed_matrix_vector::distributedvector_createstart
 
interface  distributed_matrix_vector::distributed_vector_data_get
 
interface  distributed_matrix_vector::distributedvector_dataget
 
interface  distributed_matrix_vector::distributed_vector_data_restore
 
interface  distributed_matrix_vector::distributedvector_datarestore
 
interface  distributed_matrix_vector::distributedvector_destroy
 
interface  distributed_matrix_vector::distributedvector_duplicate
 
interface  distributed_matrix_vector::distributedvector_ghostingtypeset
 
interface  distributed_matrix_vector::distributedvector_librarytypeset
 
interface  distributed_matrix_vector::distributedvector_output
 
interface  distributed_matrix_vector::distributedvector_overrideseton
 
interface  distributed_matrix_vector::distributedvector_overridesetoff
 
interface  distributed_matrix_vector::distributedvector_updatefinish
 
interface  distributed_matrix_vector::distributedvector_updatestart
 
interface  distributed_matrix_vector::distributedvector_updateisfinished
 
interface  distributed_matrix_vector::distributedvector_updatewaitfinished
 
interface  distributed_matrix_vector::distributed_vector_values_add
 
interface  distributed_matrix_vector::distributedvector_valuesadd
 
interface  distributed_matrix_vector::distributed_vector_values_get
 
interface  distributed_matrix_vector::distributedvector_valuesget
 
interface  distributed_matrix_vector::distributed_vector_values_set
 
interface  distributed_matrix_vector::distributedvector_valuesset
 
interface  distributed_matrix_vector::distributedvector_vecdot
 

Modules

module  distributed_matrix_vector
 This module handles all distributed matrix vector routines.
 

Functions/Subroutines

subroutine distributed_matrix_vector::distributed_matrix_all_values_set_intg (DISTRIBUTED_MATRIX, VALUE, ERR, ERROR,)
 Sets all values in an integer distributed matrix to the specified value. More...
 
subroutine distributed_matrix_vector::distributed_matrix_all_values_set_sp (DISTRIBUTED_MATRIX, VALUE, ERR, ERROR,)
 Sets all values in a single precision distributed matrix to the specified value. More...
 
subroutine distributed_matrix_vector::distributed_matrix_all_values_set_dp (DISTRIBUTED_MATRIX, VALUE, ERR, ERROR,)
 Sets all values in a double precision distributed matrix to the specified value. More...
 
subroutine distributed_matrix_vector::distributed_matrix_all_values_set_l (DISTRIBUTED_MATRIX, VALUE, ERR, ERROR,)
 Sets all values in a logical distributed matrix to the specified value. More...
 
subroutine distributed_matrix_vector::distributed_matrix_cmiss_create_finish (CMISS_MATRIX, ERR, ERROR,)
 Finishes the creation of a CMISS distributed matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_cmiss_finalise (CMISS_MATRIX, ERR, ERROR,)
 Finalise a CMISS distributed matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_cmiss_initialise (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Intialises a CMISS distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_create_finish (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Finishes the creation of a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_create_start (ROW_DOMAIN_MAPPING, COLUMN_DOMAIN_MAPPING, DISTRIBUTED_MATRIX, ERR, ERROR,)
 Starts the creation of a distributed matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_data_get_intg (DISTRIBUTED_MATRIX, DATA, ERR, ERROR,)
 Returns a pointer to the data of an integer distributed matrix. Note: the values can be used for read operations but a DISTRIBUTED_MATRIX_VALUES_SET call must be used to change any values. The pointer should not be deallocated and a DISTRIBUTED_MATRIX_DATA_RESTORE call must be used after the data has finished being used. More...
 
subroutine distributed_matrix_vector::distributed_matrix_data_get_sp (DISTRIBUTED_MATRIX, DATA, ERR, ERROR,)
 Returns a pointer to the data of a single precision distributed matrix. Note: the values can be used for read operations but a DISTRIBUTED_MATRIX_VALUES_SET call must be used to change any values. The pointer should not be deallocated and a DISTRIBUTED_MATRIX_DATA_RESTORE call must be used after the data has finished being used. More...
 
subroutine distributed_matrix_vector::distributed_matrix_data_get_dp (DISTRIBUTED_MATRIX, DATA, ERR, ERROR,)
 Returns a pointer to the data of a double precision distributed matrix. Note: the values can be used for read operations but a DISTRIBUTED_MATRIX_VALUES_SET call must be used to change any values. The pointer should not be deallocated and a DISTRIBUTED_MATRIX_DATA_RESTORE call must be used after the data has finished being used. More...
 
subroutine distributed_matrix_vector::distributed_matrix_data_get_l (DISTRIBUTED_MATRIX, DATA, ERR, ERROR,)
 Returns a pointer to the data of a logical distributed matrix. Note: the values can be used for read operations but a DISTRIBUTED_MATRIX_VALUES_SET call must be used to change any values. The pointer should not be deallocated and a DISTRIBUTED_MATRIX_DATA_RESTORE call must be used after the data has finished being used. More...
 
subroutine distributed_matrix_vector::distributed_matrix_data_restore_intg (DISTRIBUTED_MATRIX, DATA, ERR, ERROR,)
 Restores the integer data pointer returned from DISTRIBUTED_MATRIX_DATA_GET once the data has finished being used. More...
 
subroutine distributed_matrix_vector::distributed_matrix_data_restore_sp (DISTRIBUTED_MATRIX, DATA, ERR, ERROR,)
 Restores the single precision data pointer returned from DISTRIBUTED_MATRIX_DATA_GET once the data has finished being used. More...
 
subroutine distributed_matrix_vector::distributed_matrix_data_restore_dp (DISTRIBUTED_MATRIX, DATA, ERR, ERROR,)
 Restores the double precision data pointer returned from DISTRIBUTED_MATRIX_DATA_GET once the data has finished being used. More...
 
subroutine distributed_matrix_vector::distributed_matrix_data_restore_l (DISTRIBUTED_MATRIX, DATA, ERR, ERROR,)
 Restores the logical data pointer returned from DISTRIBUTED_MATRIX_DATA_GET once the data has finished being used. More...
 
subroutine, public distributed_matrix_vector::distributedmatrix_datatypeget (matrix, dataType, err, error,)
 Gets the data type of a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_data_type_set (DISTRIBUTED_MATRIX, DATA_TYPE, ERR, ERROR,)
 Sets/changes the data type of a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributedmatrix_dimensionsget (distributedMatrix, m, n, err, error,)
 Gets the dimensions of a matrix on this computational node. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_destroy (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Destroys a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_duplicate (DISTRIBUTED_MATRIX, NEW_DISTRIBUTED_MATRIX, ERR, ERROR,)
 Duplicates the structure of a distributed matrix and returns a pointer to the new matrix in NEW_DISTRIBUTED_MATRIX. More...
 
subroutine distributed_matrix_vector::distributed_matrix_finalise (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Finalises a distributed matrix and deallocates all memory. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_form (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Forms a distributed matrix by initialising the structure of the matrix to zero. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_ghosting_type_set (DISTRIBUTED_MATRIX, GHOSTING_TYPE, ERR, ERROR,)
 Sets/changes the ghosting type for a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_library_type_set (DISTRIBUTED_MATRIX, LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the library type for a distributed matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_initialise (ROW_DOMAIN_MAPPING, COLUMN_DOMAIN_MAPPING, DISTRIBUTED_MATRIX, ERR, ERROR,)
 Intialises a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_max_columns_per_row_get (DISTRIBUTED_MATRIX, MAX_COLUMNS_PER_ROW, ERR, ERROR,)
 Gets the maximum number of columns in each row of a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_number_non_zeros_set (DISTRIBUTED_MATRIX, NUMBER_NON_ZEROS, ERR, ERROR,)
 Sets/changes the number of non zeros for a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_number_non_zeros_get (DISTRIBUTED_MATRIX, NUMBER_NON_ZEROS, ERR, ERROR,)
 Gets the number of non zeros for a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_linklist_set (DISTRIBUTED_MATRIX, LIST, ERR, ERROR,)
 Sets/changes the LIST STRUCTURE for a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_linklist_get (DISTRIBUTED_MATRIX, LIST, ERR, ERROR,)
 Gets the LINKLIST STURUCTURE for a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_output (ID, DISTRIBUTED_MATRIX, ERR, ERROR,)
 Outputs a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_override_set_on (DISTRIBUTED_MATRIX, OVERRIDE_MATRIX, ERR, ERROR,)
 Sets the override matrix for a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_override_set_off (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Turns off the override matrix for a distributed matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_petsc_create_finish (PETSC_MATRIX, ERR, ERROR,)
 Finishes the creation of a CMISS distributed matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_petsc_finalise (PETSC_MATRIX, ERR, ERROR,)
 Finalise a PETSc distributed matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_petsc_initialise (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Intialises a PETSc distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_storage_locations_get (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, ERR, ERROR,)
 Gets the storage locations (sparsity pattern) for a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_storage_locations_set (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, ERR, ERROR,)
 Sets the storage locations (sparsity pattern) in a distributed matrix to that specified by the row and column indices. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_storage_type_get (DISTRIBUTED_MATRIX, STORAGE_TYPE, ERR, ERROR,)
 Gets the storage type of a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_storage_type_set (DISTRIBUTED_MATRIX, STORAGE_TYPE, ERR, ERROR,)
 Sets/changes the storage type of a distributed matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_update_finish (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Finishes the update procedure for a distributed matrix. This routine will wait until all transfers have completed! More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_update_isfinished (DISTRIBUTED_MATRIX, ISFINISHED, ERR, ERROR,)
 Tests to see if a distributed matrix update has finised. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_update_waitfinished (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Waits until a distributed matrix update has finised. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_update_start (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Starts the update procedure for a distributed matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_add_intg (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds values to a distributed integer matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_add_intg1 (DISTRIBUTED_MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Adds one value to a distributed integer matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_add_intg2 (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds a matrix of values to a distributed integer matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_add_sp (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds values to a distributed single precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_add_sp1 (DISTRIBUTED_MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Adds one value to a distributed single precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_add_sp2 (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds a matrix of values to a distributed single precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_add_dp (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds values to a distributed double precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_add_dp1 (DISTRIBUTED_MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Adds one value to a distributed double precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_add_dp2 (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds a matrix of values to a distributed double precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_add_l (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds values to a distributed logical matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_add_l1 (DISTRIBUTED_MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Adds one value to a distributed logical matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_add_l2 (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds a matrix of values to a distributed logical matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_get_intg (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed integer matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_get_intg1 (DISTRIBUTED_MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Gets one value in a distributed integer matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_get_intg2 (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets a matrix of values in a distributed integer matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_get_sp (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed single precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_get_sp1 (DISTRIBUTED_MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Gets one value in a distributed single precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_get_sp2 (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets a matrix of values in a distributed single precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_get_dp (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed double precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_get_dp1 (DISTRIBUTED_MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Gets one value in a distributed double precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_get_dp2 (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets a matrix of values in a distributed double precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_get_l (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed logical matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_get_l1 (DISTRIBUTED_MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Gets one value in a distributed logical matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_get_l2 (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets a matrix of values in a distributed logical matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_set_intg (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed integer matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_set_intg1 (DISTRIBUTED_MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Sets one value in a distributed integer matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_set_intg2 (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets a matrix of values in a distributed integer matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_set_sp (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed single precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_set_sp1 (DISTRIBUTED_MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Sets one value in a distributed single precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_set_sp2 (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets a matrix of values in a distributed single precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_set_dp (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed double precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_set_dp1 (DISTRIBUTED_MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Sets one value in a distributed double precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_set_dp2 (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets a matrix of values in a distributed double precision matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_set_l (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed logical matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_set_l1 (DISTRIBUTED_MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Sets one value in a distributed logical matrix. More...
 
subroutine distributed_matrix_vector::distributed_matrix_values_set_l2 (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets a matrix of values in a distributed logical matrix. More...
 
subroutine, public distributed_matrix_vector::distributed_matrix_by_vector_add (ROW_SELECTION_TYPE, ALPHA, DISTRIBUTED_MATRIX, DISTRIBUTED_VECTOR, DISTRIBUTED_PRODUCT, ERR, ERROR,)
 Calculates the matrix vector product of a distrubted matrix times a distributed vector and adds it to the distributed product vector. NOTE: This will only work for specific CMISS distributed matrices i.e., ones in which the columns of the matrix are distributed in the same way as the rows of the multiplied vector are distributed, and the rows of the matrix are distributed in the same way as the rows of the product vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_all_values_set_intg (DISTRIBUTED_VECTOR, VALUE, ERR, ERROR,)
 Sets all values in an integer distributed vector to the specified value. More...
 
subroutine distributed_matrix_vector::distributed_vector_all_values_set_sp (DISTRIBUTED_VECTOR, VALUE, ERR, ERROR,)
 Sets all values in a single precision distributed vector to the specified value. More...
 
subroutine distributed_matrix_vector::distributed_vector_all_values_set_dp (DISTRIBUTED_VECTOR, VALUE, ERR, ERROR,)
 Sets all values in a double precision distributed vector to the specified value. More...
 
subroutine distributed_matrix_vector::distributed_vector_all_values_set_l (DISTRIBUTED_VECTOR, VALUE, ERR, ERROR,)
 Sets all values in a logical distributed_vector to the specified value. More...
 
subroutine distributed_matrix_vector::distributed_vector_copy_intg (FROM_VECTOR, TO_VECTOR, ALPHA, ERR, ERROR,)
 Copies alpha times an integer distributed vector to another distributed vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_copy_dp (FROM_VECTOR, TO_VECTOR, ALPHA, ERR, ERROR,)
 Copies alpha times a double precision distributed vector to another distributed vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_copy_sp (FROM_VECTOR, TO_VECTOR, ALPHA, ERR, ERROR,)
 Copies alpha times a single precision distributed vector to another distributed vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_copy_l (FROM_VECTOR, TO_VECTOR, ALPHA, ERR, ERROR,)
 Copies alpha times a logical distributed vector to another distributed vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_cmiss_finalise (CMISS_VECTOR, ERR, ERROR,)
 Finalise a CMISS distributed vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_cmiss_initialise (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Intialises a CMISS distributed vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_cmiss_create_finish (CMISS_VECTOR, ERR, ERROR,)
 Finishes the creation of a CMISS distributed vector. More...
 
subroutine, public distributed_matrix_vector::distributed_vector_create_finish (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Finishes the creation a distributed vector. More...
 
subroutine, public distributed_matrix_vector::distributed_vector_create_start (DOMAIN_MAPPING, DISTRIBUTED_VECTOR, ERR, ERROR,)
 Starts the creation a distributed vector. More...
 
subroutine, public distributed_matrix_vector::distributedvector_datatypeget (vector, dataType, err, error,)
 Gets the data type of a distributed vector. More...
 
subroutine, public distributed_matrix_vector::distributed_vector_data_type_set (DISTRIBUTED_VECTOR, DATA_TYPE, ERR, ERROR,)
 Sets/changes the data type of a distributed vector. More...
 
subroutine, public distributed_matrix_vector::distributed_vector_destroy (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Destroys a distributed vector. More...
 
subroutine, public distributed_matrix_vector::distributed_vector_duplicate (DISTRIBUTED_VECTOR, NEW_DISTRIBUTED_VECTOR, ERR, ERROR,)
 Duplicates the structure of a distributed vector and returns a pointer to the new distributed vector in NEW_DISTRIBUTED_VECTOR. More...
 
subroutine distributed_matrix_vector::distributed_vector_finalise (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Finalises a distributed vector and deallocates all memory. More...
 
subroutine distributed_matrix_vector::distributed_vector_initialise (DOMAIN_MAPPING, DISTRIBUTED_VECTOR, ERR, ERROR,)
 Initialises a distributed vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_data_get_intg (DISTRIBUTED_VECTOR, DATA, ERR, ERROR,)
 Returns a pointer to the data of an integer distributed vector. Note: the values can be used for read operations but a DISTRIBUTED_VECTOR_VALUES_SET call must be used to change any values. The pointer should not be deallocated. More...
 
subroutine distributed_matrix_vector::distributed_vector_data_get_sp (DISTRIBUTED_VECTOR, DATA, ERR, ERROR,)
 Returns a pointer to the data of a single precision distributed vector. Note: the values can be used for read operations but a DISTRIBUTED_VECTOR_VALUES_SET call must be used to change any values. The pointer should not be deallocated. More...
 
subroutine distributed_matrix_vector::distributed_vector_data_get_dp (DISTRIBUTED_VECTOR, DATA, ERR, ERROR,)
 Returns a pointer to the data of a double precision distributed vector. Note: the values can be used for read operations but a DISTRIBUTED_VECTOR_VALUES_SET call must be used to change any values. The pointer should not be deallocated. More...
 
subroutine distributed_matrix_vector::distributed_vector_data_get_l (DISTRIBUTED_VECTOR, DATA, ERR, ERROR,)
 Returns a pointer to the data of a logical distributed vector. Note: the values can be used for read operations but a DISTRIBUTED_VECTOR_VALUES_SET call must be used to change any values. The pointer should not be deallocated. More...
 
subroutine distributed_matrix_vector::distributed_vector_data_restore_intg (DISTRIBUTED_VECTOR, DATA, ERR, ERROR,)
 Restores the integer data pointer returned from DISTRIBUTED_VECTOR_DATA_GET once the data has finished being used. More...
 
subroutine distributed_matrix_vector::distributed_vector_data_restore_sp (DISTRIBUTED_VECTOR, DATA, ERR, ERROR,)
 Restores the single precision data pointer returned from DISTRIBUTED_VECTOR_DATA_GET once the data has finished being used. More...
 
subroutine distributed_matrix_vector::distributed_vector_data_restore_dp (DISTRIBUTED_VECTOR, DATA, ERR, ERROR,)
 Restores the double precision data pointer returned from DISTRIBUTED_VECTOR_DATA_GET once the data has finished being used. More...
 
subroutine distributed_matrix_vector::distributed_vector_data_restore_l (DISTRIBUTED_VECTOR, DATA, ERR, ERROR,)
 Restores the logical data pointer returned from DISTRIBUTED_VECTOR_DATA_GET once the data has finished being used. More...
 
subroutine, public distributed_matrix_vector::distributed_vector_ghosting_type_set (DISTRIBUTED_VECTOR, GHOSTING_TYPE, ERR, ERROR,)
 Sets/changes the ghosting type for a distributed vector. More...
 
subroutine, public distributed_matrix_vector::distributed_vector_library_type_set (DISTRIBUTED_VECTOR, LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the library type for a distributed vector. More...
 
subroutine, public distributed_matrix_vector::distributed_vector_output (ID, DISTRIBUTED_VECTOR, ERR, ERROR,)
 Outputs a distributed vector to the specified output ID. More...
 
subroutine, public distributed_matrix_vector::distributed_vector_override_set_on (DISTRIBUTED_VECTOR, OVERRIDE_VECTOR, ERR, ERROR,)
 Sets the override vector for a distributed vector. More...
 
subroutine, public distributed_matrix_vector::distributed_vector_override_set_off (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Turns off the override vector for a distributed vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_petsc_create_finish (PETSC_VECTOR, ERR, ERROR,)
 Finishes the creation of a PETSc distributed vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_petsc_finalise (PETSC_VECTOR, ERR, ERROR,)
 Finalise a PETSc distributed vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_petsc_initialise (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Intialises a PETSc distributed vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_cmiss_transfer_finalise (CMISS_VECTOR, domain_idx, ERR, ERROR,)
 Finalises a CMISS distributed vector transfer information and deallocates all memory. More...
 
subroutine distributed_matrix_vector::distributedvector_cmisstransferinitialise (CMISS_VECTOR, domain_idx, ERR, ERROR,)
 Initialises a CMISS distributed vector transfer information. More...
 
subroutine, public distributed_matrix_vector::distributed_vector_update_finish (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Finishes the (ghost) update procedure for a distributed vector. This routine will wait until all transfers have completed! More...
 
subroutine, public distributed_matrix_vector::distributed_vector_update_isfinished (DISTRIBUTED_VECTOR, ISFINISHED, ERR, ERROR,)
 Tests to see if a distributed vector update has finised! More...
 
subroutine, public distributed_matrix_vector::distributed_vector_update_waitfinished (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Waits until a distributed vector update has finised. More...
 
subroutine, public distributed_matrix_vector::distributed_vector_update_start (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Starts the (ghost) update procedure for a distributed vector. More...
 
subroutine, public distributed_matrix_vector::distributedvector_l2norm (distributedVector, norm, err, error,)
 Calculates the L2 norm of a distributed vector values on this computational node. More...
 
subroutine distributed_matrix_vector::distributedvector_vecdotintg (distributedVectorA, distributedVectorB, dotProduct, err, error,)
 Calculates the dot product of 2 distributed integer vectors on this computational node. More...
 
subroutine distributed_matrix_vector::distributedvector_vecdotsp (distributedVectorA, distributedVectorB, dotProduct, err, error,)
 Calculates the dot product of 2 distributed single-precision vectors on this computational node. More...
 
subroutine distributed_matrix_vector::distributedvector_vecdotdp (distributedVectorA, distributedVectorB, dotProduct, err, error,)
 Calculates the dot product of 2 distributed double-precision vectors on this computational node. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_add_intg (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Adds values to a distributed integer vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_add_intg1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Adds one value to a distributed integer vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_add_sp (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Adds values to a distributed single precision vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_add_sp1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Adds one value to a distributed single precision vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_add_dp (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Adds values to a distributed double precision vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_add_dp1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Adds one value to a distributed double precision vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_add_l (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Adds values to a distributed logical vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_add_l1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Adds one value to a distributed logical vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_get_intg (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed integer vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_get_intg1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Gets one value in a distributed integer vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_get_sp (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed single precision vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_get_sp1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Gets one value in a distributed single precision vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_get_dp (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed double precision vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_get_dp1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Gets one value in a distributed double precision vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_get_l (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed logical vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_get_l1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Gets one value in a distributed logical vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_set_intg (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed integer vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_set_intg1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Sets one value in a distributed integer vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_set_sp (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed single precision vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_set_sp1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Sets one value in a distributed single precision vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_set_dp (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed double precision vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_set_dp1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Sets one value in a distributed double precision vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_set_l (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed logical vector. More...
 
subroutine distributed_matrix_vector::distributed_vector_values_set_l1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Sets one value in a distributed logical vector. More...
 

Variables

integer(intg), parameter, public distributed_matrix_vector::distributed_matrix_vector_cmiss_type =LIBRARY_CMISS_TYPE
 CMISS distributed matrix-vector library type. More...
 
integer(intg), parameter, public distributed_matrix_vector::distributed_matrix_vector_petsc_type =LIBRARY_PETSC_TYPE
 PETSc distributed matrix-vector library type. More...
 
integer(intg), parameter, public distributed_matrix_vector::distributed_matrix_vector_intg_type =MATRIX_VECTOR_INTG_TYPE
 Integer distributed matrix-vector data type. More...
 
integer(intg), parameter, public distributed_matrix_vector::distributed_matrix_vector_sp_type =MATRIX_VECTOR_SP_TYPE
 Single precision real distributed matrix-vector data type. More...
 
integer(intg), parameter, public distributed_matrix_vector::distributed_matrix_vector_dp_type =MATRIX_VECTOR_DP_TYPE
 Double precision real distributed matrix-vector data type. More...
 
integer(intg), parameter, public distributed_matrix_vector::distributed_matrix_vector_l_type =MATRIX_VECTOR_L_TYPE
 Logical distributed matrix-vector data type. More...
 
integer(intg), parameter, public distributed_matrix_vector::distributed_matrix_block_storage_type =MATRIX_BLOCK_STORAGE_TYPE
 Distributed matrix block storage type. More...
 
integer(intg), parameter, public distributed_matrix_vector::distributed_matrix_diagonal_storage_type =MATRIX_DIAGONAL_STORAGE_TYPE
 Distributed matrix diagonal storage type. More...
 
integer(intg), parameter, public distributed_matrix_vector::distributed_matrix_column_major_storage_type =MATRIX_COLUMN_MAJOR_STORAGE_TYPE
 Distributed matrix column major storage type. More...
 
integer(intg), parameter, public distributed_matrix_vector::distributed_matrix_row_major_storage_type =MATRIX_ROW_MAJOR_STORAGE_TYPE
 Distributed matrix row major storage type. More...
 
integer(intg), parameter, public distributed_matrix_vector::distributed_matrix_compressed_row_storage_type =MATRIX_COMPRESSED_ROW_STORAGE_TYPE
 Distributed matrix compressed row storage type. More...
 
integer(intg), parameter, public distributed_matrix_vector::distributed_matrix_compressed_column_storage_type =MATRIX_COMPRESSED_COLUMN_STORAGE_TYPE
 Distributed matrix compressed column storage type. More...
 
integer(intg), parameter, public distributed_matrix_vector::distributed_matrix_row_column_storage_type =MATRIX_ROW_COLUMN_STORAGE_TYPE
 Distributed matrix row-column storage type. More...
 
integer(intg), parameter, public distributed_matrix_vector::distributed_matrix_vector_include_ghosts_type =1
 Include ghost values in the distributed matrix/vector. More...
 
integer(intg), parameter, public distributed_matrix_vector::distributed_matrix_vector_no_ghosts_type =2
 Do not include ghost values/rows in the distributed matrix/vector. More...
 
integer(intg), save distributed_matrix_vector::distributed_data_id =100000000
 

Detailed Description

This module handles all distributed matrix vector 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):

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 distributed_matrix_vector.f90.