OpenCMISS-Iron Internal API Documentation
distributed_matrix_vector Module Reference

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

Data Types

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

Functions/Subroutines

subroutine 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_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_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_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_cmiss_create_finish (CMISS_MATRIX, ERR, ERROR,)
 Finishes the creation of a CMISS distributed matrix. More...
 
subroutine distributed_matrix_cmiss_finalise (CMISS_MATRIX, ERR, ERROR,)
 Finalise a CMISS distributed matrix. More...
 
subroutine distributed_matrix_cmiss_initialise (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Intialises a CMISS distributed matrix. More...
 
subroutine, public distributed_matrix_create_finish (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Finishes the creation of a distributed matrix. More...
 
subroutine, public 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_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_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_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_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_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_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_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_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 distributedmatrix_datatypeget (matrix, dataType, err, error,)
 Gets the data type of a distributed matrix. More...
 
subroutine, public distributed_matrix_data_type_set (DISTRIBUTED_MATRIX, DATA_TYPE, ERR, ERROR,)
 Sets/changes the data type of a distributed matrix. More...
 
subroutine, public distributedmatrix_dimensionsget (distributedMatrix, m, n, err, error,)
 Gets the dimensions of a matrix on this computational node. More...
 
subroutine, public distributed_matrix_destroy (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Destroys a distributed matrix. More...
 
subroutine, public 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_finalise (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Finalises a distributed matrix and deallocates all memory. More...
 
subroutine, public 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_ghosting_type_set (DISTRIBUTED_MATRIX, GHOSTING_TYPE, ERR, ERROR,)
 Sets/changes the ghosting type for a distributed matrix. More...
 
subroutine, public distributed_matrix_library_type_set (DISTRIBUTED_MATRIX, LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the library type for a distributed matrix. More...
 
subroutine distributed_matrix_initialise (ROW_DOMAIN_MAPPING, COLUMN_DOMAIN_MAPPING, DISTRIBUTED_MATRIX, ERR, ERROR,)
 Intialises a distributed matrix. More...
 
subroutine, public 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_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_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_linklist_set (DISTRIBUTED_MATRIX, LIST, ERR, ERROR,)
 Sets/changes the LIST STRUCTURE for a distributed matrix. More...
 
subroutine, public distributed_matrix_linklist_get (DISTRIBUTED_MATRIX, LIST, ERR, ERROR,)
 Gets the LINKLIST STURUCTURE for a distributed matrix. More...
 
subroutine, public distributed_matrix_output (ID, DISTRIBUTED_MATRIX, ERR, ERROR,)
 Outputs a distributed matrix. More...
 
subroutine, public distributed_matrix_override_set_on (DISTRIBUTED_MATRIX, OVERRIDE_MATRIX, ERR, ERROR,)
 Sets the override matrix for a distributed matrix. More...
 
subroutine, public distributed_matrix_override_set_off (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Turns off the override matrix for a distributed matrix. More...
 
subroutine distributed_matrix_petsc_create_finish (PETSC_MATRIX, ERR, ERROR,)
 Finishes the creation of a CMISS distributed matrix. More...
 
subroutine distributed_matrix_petsc_finalise (PETSC_MATRIX, ERR, ERROR,)
 Finalise a PETSc distributed matrix. More...
 
subroutine distributed_matrix_petsc_initialise (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Intialises a PETSc distributed matrix. More...
 
subroutine, public 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_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_storage_type_get (DISTRIBUTED_MATRIX, STORAGE_TYPE, ERR, ERROR,)
 Gets the storage type of a distributed matrix. More...
 
subroutine, public 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_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_update_isfinished (DISTRIBUTED_MATRIX, ISFINISHED, ERR, ERROR,)
 Tests to see if a distributed matrix update has finised. More...
 
subroutine, public distributed_matrix_update_waitfinished (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Waits until a distributed matrix update has finised. More...
 
subroutine, public distributed_matrix_update_start (DISTRIBUTED_MATRIX, ERR, ERROR,)
 Starts the update procedure for a distributed matrix. More...
 
subroutine 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_values_add_intg1 (DISTRIBUTED_MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Adds one value to a distributed integer matrix. More...
 
subroutine 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_values_add_sp (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds values to a distributed single precision matrix. More...
 
subroutine 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_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_values_add_dp (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds values to a distributed double precision matrix. More...
 
subroutine 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_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_values_add_l (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds values to a distributed logical matrix. More...
 
subroutine 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_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_values_get_intg (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed integer matrix. More...
 
subroutine 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_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_values_get_sp (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed single precision matrix. More...
 
subroutine 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_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_values_get_dp (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed double precision matrix. More...
 
subroutine 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_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_values_get_l (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed logical matrix. More...
 
subroutine 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_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_values_set_intg (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed integer matrix. More...
 
subroutine 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_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_values_set_sp (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed single precision matrix. More...
 
subroutine 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_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_values_set_dp (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed double precision matrix. More...
 
subroutine 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_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_values_set_l (DISTRIBUTED_MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed logical matrix. More...
 
subroutine 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_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_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_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_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_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_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_vector_copy_intg (FROM_VECTOR, TO_VECTOR, ALPHA, ERR, ERROR,)
 Copies alpha times an integer distributed vector to another distributed vector. More...
 
subroutine 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_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_vector_copy_l (FROM_VECTOR, TO_VECTOR, ALPHA, ERR, ERROR,)
 Copies alpha times a logical distributed vector to another distributed vector. More...
 
subroutine distributed_vector_cmiss_finalise (CMISS_VECTOR, ERR, ERROR,)
 Finalise a CMISS distributed vector. More...
 
subroutine distributed_vector_cmiss_initialise (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Intialises a CMISS distributed vector. More...
 
subroutine distributed_vector_cmiss_create_finish (CMISS_VECTOR, ERR, ERROR,)
 Finishes the creation of a CMISS distributed vector. More...
 
subroutine, public distributed_vector_create_finish (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Finishes the creation a distributed vector. More...
 
subroutine, public distributed_vector_create_start (DOMAIN_MAPPING, DISTRIBUTED_VECTOR, ERR, ERROR,)
 Starts the creation a distributed vector. More...
 
subroutine, public distributedvector_datatypeget (vector, dataType, err, error,)
 Gets the data type of a distributed vector. More...
 
subroutine, public distributed_vector_data_type_set (DISTRIBUTED_VECTOR, DATA_TYPE, ERR, ERROR,)
 Sets/changes the data type of a distributed vector. More...
 
subroutine, public distributed_vector_destroy (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Destroys a distributed vector. More...
 
subroutine, public 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_vector_finalise (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Finalises a distributed vector and deallocates all memory. More...
 
subroutine distributed_vector_initialise (DOMAIN_MAPPING, DISTRIBUTED_VECTOR, ERR, ERROR,)
 Initialises a distributed vector. More...
 
subroutine 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_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_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_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_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_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_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_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_vector_ghosting_type_set (DISTRIBUTED_VECTOR, GHOSTING_TYPE, ERR, ERROR,)
 Sets/changes the ghosting type for a distributed vector. More...
 
subroutine, public distributed_vector_library_type_set (DISTRIBUTED_VECTOR, LIBRARY_TYPE, ERR, ERROR,)
 Sets/changes the library type for a distributed vector. More...
 
subroutine, public distributed_vector_output (ID, DISTRIBUTED_VECTOR, ERR, ERROR,)
 Outputs a distributed vector to the specified output ID. More...
 
subroutine, public distributed_vector_override_set_on (DISTRIBUTED_VECTOR, OVERRIDE_VECTOR, ERR, ERROR,)
 Sets the override vector for a distributed vector. More...
 
subroutine, public distributed_vector_override_set_off (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Turns off the override vector for a distributed vector. More...
 
subroutine distributed_vector_petsc_create_finish (PETSC_VECTOR, ERR, ERROR,)
 Finishes the creation of a PETSc distributed vector. More...
 
subroutine distributed_vector_petsc_finalise (PETSC_VECTOR, ERR, ERROR,)
 Finalise a PETSc distributed vector. More...
 
subroutine distributed_vector_petsc_initialise (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Intialises a PETSc distributed vector. More...
 
subroutine distributed_vector_cmiss_transfer_finalise (CMISS_VECTOR, domain_idx, ERR, ERROR,)
 Finalises a CMISS distributed vector transfer information and deallocates all memory. More...
 
subroutine distributedvector_cmisstransferinitialise (CMISS_VECTOR, domain_idx, ERR, ERROR,)
 Initialises a CMISS distributed vector transfer information. More...
 
subroutine, public 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_vector_update_isfinished (DISTRIBUTED_VECTOR, ISFINISHED, ERR, ERROR,)
 Tests to see if a distributed vector update has finised! More...
 
subroutine, public distributed_vector_update_waitfinished (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Waits until a distributed vector update has finised. More...
 
subroutine, public distributed_vector_update_start (DISTRIBUTED_VECTOR, ERR, ERROR,)
 Starts the (ghost) update procedure for a distributed vector. More...
 
subroutine, public distributedvector_l2norm (distributedVector, norm, err, error,)
 Calculates the L2 norm of a distributed vector values on this computational node. More...
 
subroutine distributedvector_vecdotintg (distributedVectorA, distributedVectorB, dotProduct, err, error,)
 Calculates the dot product of 2 distributed integer vectors on this computational node. More...
 
subroutine distributedvector_vecdotsp (distributedVectorA, distributedVectorB, dotProduct, err, error,)
 Calculates the dot product of 2 distributed single-precision vectors on this computational node. More...
 
subroutine distributedvector_vecdotdp (distributedVectorA, distributedVectorB, dotProduct, err, error,)
 Calculates the dot product of 2 distributed double-precision vectors on this computational node. More...
 
subroutine distributed_vector_values_add_intg (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Adds values to a distributed integer vector. More...
 
subroutine distributed_vector_values_add_intg1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Adds one value to a distributed integer vector. More...
 
subroutine distributed_vector_values_add_sp (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Adds values to a distributed single precision vector. More...
 
subroutine distributed_vector_values_add_sp1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Adds one value to a distributed single precision vector. More...
 
subroutine distributed_vector_values_add_dp (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Adds values to a distributed double precision vector. More...
 
subroutine distributed_vector_values_add_dp1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Adds one value to a distributed double precision vector. More...
 
subroutine distributed_vector_values_add_l (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Adds values to a distributed logical vector. More...
 
subroutine distributed_vector_values_add_l1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Adds one value to a distributed logical vector. More...
 
subroutine distributed_vector_values_get_intg (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed integer vector. More...
 
subroutine distributed_vector_values_get_intg1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Gets one value in a distributed integer vector. More...
 
subroutine distributed_vector_values_get_sp (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed single precision vector. More...
 
subroutine distributed_vector_values_get_sp1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Gets one value in a distributed single precision vector. More...
 
subroutine distributed_vector_values_get_dp (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed double precision vector. More...
 
subroutine distributed_vector_values_get_dp1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Gets one value in a distributed double precision vector. More...
 
subroutine distributed_vector_values_get_l (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Gets values in a distributed logical vector. More...
 
subroutine distributed_vector_values_get_l1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Gets one value in a distributed logical vector. More...
 
subroutine distributed_vector_values_set_intg (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed integer vector. More...
 
subroutine distributed_vector_values_set_intg1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Sets one value in a distributed integer vector. More...
 
subroutine distributed_vector_values_set_sp (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed single precision vector. More...
 
subroutine distributed_vector_values_set_sp1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Sets one value in a distributed single precision vector. More...
 
subroutine distributed_vector_values_set_dp (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed double precision vector. More...
 
subroutine distributed_vector_values_set_dp1 (DISTRIBUTED_VECTOR, INDEX, VALUE, ERR, ERROR,)
 Sets one value in a distributed double precision vector. More...
 
subroutine distributed_vector_values_set_l (DISTRIBUTED_VECTOR, INDICES, VALUES, ERR, ERROR,)
 Sets values in a distributed logical vector. More...
 
subroutine 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_cmiss_type =LIBRARY_CMISS_TYPE
 CMISS distributed matrix-vector library type. More...
 
integer(intg), parameter, public distributed_matrix_vector_petsc_type =LIBRARY_PETSC_TYPE
 PETSc distributed matrix-vector library type. More...
 
integer(intg), parameter, public distributed_matrix_vector_intg_type =MATRIX_VECTOR_INTG_TYPE
 Integer distributed matrix-vector data type. More...
 
integer(intg), parameter, public 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_dp_type =MATRIX_VECTOR_DP_TYPE
 Double precision real distributed matrix-vector data type. More...
 
integer(intg), parameter, public distributed_matrix_vector_l_type =MATRIX_VECTOR_L_TYPE
 Logical distributed matrix-vector data type. More...
 
integer(intg), parameter, public distributed_matrix_block_storage_type =MATRIX_BLOCK_STORAGE_TYPE
 Distributed matrix block storage type. More...
 
integer(intg), parameter, public distributed_matrix_diagonal_storage_type =MATRIX_DIAGONAL_STORAGE_TYPE
 Distributed matrix diagonal storage type. More...
 
integer(intg), parameter, public distributed_matrix_column_major_storage_type =MATRIX_COLUMN_MAJOR_STORAGE_TYPE
 Distributed matrix column major storage type. More...
 
integer(intg), parameter, public distributed_matrix_row_major_storage_type =MATRIX_ROW_MAJOR_STORAGE_TYPE
 Distributed matrix row major storage type. More...
 
integer(intg), parameter, public distributed_matrix_compressed_row_storage_type =MATRIX_COMPRESSED_ROW_STORAGE_TYPE
 Distributed matrix compressed row storage type. More...
 
integer(intg), parameter, public distributed_matrix_compressed_column_storage_type =MATRIX_COMPRESSED_COLUMN_STORAGE_TYPE
 Distributed matrix compressed column storage type. More...
 
integer(intg), parameter, public 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_include_ghosts_type =1
 Include ghost values in the distributed matrix/vector. More...
 
integer(intg), parameter, public distributed_matrix_vector_no_ghosts_type =2
 Do not include ghost values/rows in the distributed matrix/vector. More...
 
integer(intg), save distributed_data_id =100000000
 

Detailed Description

This module handles all distributed matrix vector routines.

Function/Subroutine Documentation

subroutine distributed_matrix_vector::distributed_matrix_all_values_set_dp ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
real(dp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets all values in a double precision distributed matrix to the specified value.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]valueThe value to set
[out]errThe error code
[out]errorThe error string

Definition at line 786 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_matzeroentries().

subroutine distributed_matrix_vector::distributed_matrix_all_values_set_intg ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets all values in an integer distributed matrix to the specified value.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]valueThe value to set
[out]errThe error code
[out]errorThe error string

Definition at line 694 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_all_values_set_l ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
logical, intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets all values in a logical distributed matrix to the specified value.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]valueThe value to set
[out]errThe error code
[out]errorThe error string

Definition at line 844 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_all_values_set_sp ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
real(sp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets all values in a single precision distributed matrix to the specified value.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]valueThe value to set
[out]errThe error code
[out]errorThe error string

Definition at line 740 of file distributed_matrix_vector.f90.

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

subroutine, public distributed_matrix_vector::distributed_matrix_by_vector_add ( integer(intg), intent(in)  ROW_SELECTION_TYPE,
real(dp), intent(in)  ALPHA,
type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
type(distributed_vector_type), pointer  DISTRIBUTED_PRODUCT,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  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.

Parameters
[in]row_selection_typeThe row selection for the matrix-vector product
See also
DISTRIBUTED_MATRIX_VECTOR::GhostingTypes,DISTRIBUTED_MATRIX_VECTOR
Parameters
[in]alphaThe multiplicative factor for the distributed matrix
distributed_matrixA pointer to the distributed matrix
distributed_vectorA pointer to the distributed vector
distributed_productOn exit, the value of the matrix vector product added to the distributed product vector.
[out]errThe error code
[out]errorThe error string

Definition at line 5387 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_dp_type, distributed_matrix_vector_include_ghosts_type, distributed_matrix_vector_intg_type, distributed_matrix_vector_l_type, distributed_matrix_vector_no_ghosts_type, distributed_matrix_vector_petsc_type, distributed_matrix_vector_sp_type, base_routines::enters(), base_routines::exits(), matrix_vector::matrix_block_storage_type, matrix_vector::matrix_column_major_storage_type, matrix_vector::matrix_compressed_column_storage_type, matrix_vector::matrix_compressed_row_storage_type, matrix_vector::matrix_diagonal_storage_type, matrix_vector::matrix_row_column_storage_type, and matrix_vector::matrix_row_major_storage_type.

subroutine distributed_matrix_vector::distributed_matrix_cmiss_create_finish ( type(distributed_matrix_cmiss_type), pointer  CMISS_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finishes the creation of a CMISS distributed matrix.

Parameters
cmiss_matrixA pointer to the distributed CMISS matrix
[out]errThe error code
[out]errorThe error string

Definition at line 890 of file distributed_matrix_vector.f90.

References distributed_data_id, distributed_matrix_cmiss_finalise(), base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_create_finish().

Referenced by distributed_matrix_create_finish().

subroutine distributed_matrix_vector::distributed_matrix_cmiss_finalise ( type(distributed_matrix_cmiss_type), pointer  CMISS_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalise a CMISS distributed matrix.

Parameters
cmiss_matrixA pointer to the CMISS distributed matrix
[out]errThe error code
[out]errorThe error string

Definition at line 933 of file distributed_matrix_vector.f90.

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

Referenced by distributed_matrix_cmiss_create_finish(), distributed_matrix_cmiss_initialise(), distributed_matrix_finalise(), and distributed_matrix_library_type_set().

subroutine distributed_matrix_vector::distributed_matrix_cmiss_initialise ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private
subroutine, public distributed_matrix_vector::distributed_matrix_create_finish ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public distributed_matrix_vector::distributed_matrix_create_start ( type(domain_mapping_type), pointer  ROW_DOMAIN_MAPPING,
type(domain_mapping_type), pointer  COLUMN_DOMAIN_MAPPING,
type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Starts the creation of a distributed matrix.

Parameters
row_domain_mappingA pointer to the row domain mapping to be used for the distribution
column_domain_mappingA pointer to the column domain mapping to be used for the distribution
distributed_matrixOn return a pointer to the distributed matrix being created
[out]errThe error code
[out]errorThe error string

Definition at line 1069 of file distributed_matrix_vector.f90.

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

Referenced by distributed_matrix_duplicate(), equations_matrices_routines::equations_matrices_create_finish(), and solver_matrices_routines::solver_matrices_create_finish().

subroutine distributed_matrix_vector::distributed_matrix_data_get_dp ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
real(dp), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

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.

Parameters
distributed_matrixA pointer to the distributed matrix
dataOn return a pointer to the distributed matrix data for this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 1220 of file distributed_matrix_vector.f90.

References distributed_matrix_block_storage_type, distributed_matrix_column_major_storage_type, distributed_matrix_compressed_column_storage_type, distributed_matrix_compressed_row_storage_type, distributed_matrix_diagonal_storage_type, distributed_matrix_row_column_storage_type, distributed_matrix_row_major_storage_type, distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), cmisspetsc::petsc_matdensegetarrayf90(), and cmisspetsc::petsc_matseqaijgetarrayf90().

subroutine distributed_matrix_vector::distributed_matrix_data_get_intg ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

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.

Parameters
distributed_matrixA pointer to the distributed matrix
dataOn return a pointer to the distributed matrix data for this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 1118 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_data_get_l ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
logical, dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

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.

Parameters
distributed_matrixA pointer to the distributed matrix
dataOn return a pointer to the distributed matrix data for this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 1347 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_data_get_sp ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
real(sp), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

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.

Parameters
distributed_matrixA pointer to the distributed matrix
dataOn return a pointer to the distributed matrix data for this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 1169 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_data_restore_dp ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
real(dp), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Restores the double precision data pointer returned from DISTRIBUTED_MATRIX_DATA_GET once the data has finished being used.

Parameters
distributed_matrixA pointer to the distributed matrix
dataA pointer to the distributed matrix data for this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 1490 of file distributed_matrix_vector.f90.

References distributed_matrix_block_storage_type, distributed_matrix_column_major_storage_type, distributed_matrix_compressed_column_storage_type, distributed_matrix_compressed_row_storage_type, distributed_matrix_diagonal_storage_type, distributed_matrix_row_column_storage_type, distributed_matrix_row_major_storage_type, distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), cmisspetsc::petsc_matdenserestorearrayf90(), and cmisspetsc::petsc_matseqaijrestorearrayf90().

subroutine distributed_matrix_vector::distributed_matrix_data_restore_intg ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Restores the integer data pointer returned from DISTRIBUTED_MATRIX_DATA_GET once the data has finished being used.

Parameters
distributed_matrixA pointer to the distributed matrix
dataThe a pointer to the distributed matrix data for this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 1398 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_data_restore_l ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
logical, dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Restores the logical data pointer returned from DISTRIBUTED_MATRIX_DATA_GET once the data has finished being used.

Parameters
distributed_matrixA pointer to the distributed matrix
dataA pointer to the distributed matrix data for this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 1610 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_data_restore_sp ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
real(sp), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Restores the single precision data pointer returned from DISTRIBUTED_MATRIX_DATA_GET once the data has finished being used.

Parameters
distributed_matrixA pointer to the distributed matrix
dataA pointer to the distributed matrix data for this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 1444 of file distributed_matrix_vector.f90.

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

subroutine, public distributed_matrix_vector::distributed_matrix_data_type_set ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  DATA_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the data type of a distributed matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]data_typeThe data type to set.
See also
MATRIX_VECTOR::DataTypes,MATRIX_VECTOR
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 1687 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_dp_type, distributed_matrix_vector_intg_type, distributed_matrix_vector_l_type, distributed_matrix_vector_petsc_type, distributed_matrix_vector_sp_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_data_type_set().

Referenced by equations_matrices_routines::equations_matrices_create_finish(), and solver_matrices_routines::solver_matrices_create_finish().

subroutine, public distributed_matrix_vector::distributed_matrix_destroy ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Destroys a distributed matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[out]errThe error code
[out]errorThe error string

Definition at line 1807 of file distributed_matrix_vector.f90.

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

Referenced by equations_matrices_routines::equations_jacobian_finalise(), equations_matrices_routines::equations_matrix_finalise(), and solver_matrices_routines::solver_matrix_finalise().

subroutine, public distributed_matrix_vector::distributed_matrix_duplicate ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
type(distributed_matrix_type), pointer  NEW_DISTRIBUTED_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Duplicates the structure of a distributed matrix and returns a pointer to the new matrix in NEW_DISTRIBUTED_MATRIX.

Parameters
distributed_matrixA pointer to the distributed matrix to duplicate
new_distributed_matrixOn return a pointer to the new duplicated distributed matrix
[out]errThe error code
[out]errorThe error string

Definition at line 1834 of file distributed_matrix_vector.f90.

References distributed_matrix_create_finish(), distributed_matrix_create_start(), distributed_matrix_finalise(), distributed_matrix_library_type_set(), distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_duplicate().

subroutine distributed_matrix_vector::distributed_matrix_finalise ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalises a distributed matrix and deallocates all memory.

Parameters
distributed_matrixA pointer to the distributed matrix
[out]errThe error code
[out]errorThe error string

Definition at line 1888 of file distributed_matrix_vector.f90.

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

Referenced by distributed_matrix_create_finish(), distributed_matrix_create_start(), distributed_matrix_destroy(), distributed_matrix_duplicate(), and distributed_matrix_initialise().

subroutine, public distributed_matrix_vector::distributed_matrix_form ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public distributed_matrix_vector::distributed_matrix_ghosting_type_set ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  GHOSTING_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the ghosting type for a distributed matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]ghosting_typeThe ghosting type
See also
DISTRIBUTED_MATRIX_VECTOR::GhostingTypes,DISTRIBUTED_MATRIX_VECTOR
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 2007 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_include_ghosts_type, distributed_matrix_vector_no_ghosts_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_size_set().

subroutine distributed_matrix_vector::distributed_matrix_initialise ( type(domain_mapping_type), pointer  ROW_DOMAIN_MAPPING,
type(domain_mapping_type), pointer  COLUMN_DOMAIN_MAPPING,
type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Intialises a distributed matrix.

Parameters
row_domain_mappingA pointer to the row domain mapping used to distribute this matrix
column_domain_mappingA pointer to the column domain mapping used to distribute this matrix
distributed_matrixA pointer to the distributed matrix
[out]errThe error code
[out]errorThe error string

Definition at line 2151 of file distributed_matrix_vector.f90.

References distributed_matrix_cmiss_initialise(), distributed_matrix_finalise(), distributed_matrix_vector_include_ghosts_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_dp_type.

Referenced by distributed_matrix_create_start().

subroutine, public distributed_matrix_vector::distributed_matrix_library_type_set ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  LIBRARY_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the library type for a distributed matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]library_typeThe library type
See also
DISTRIBUTED_MATRIX_VECTOR::LibraryTypes,DISTRIBUTED_MATRIX_VECTOR
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 2087 of file distributed_matrix_vector.f90.

References distributed_matrix_cmiss_finalise(), distributed_matrix_cmiss_initialise(), distributed_matrix_petsc_finalise(), distributed_matrix_petsc_initialise(), distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), and base_routines::exits().

Referenced by distributed_matrix_duplicate(), and solver_matrices_routines::solver_matrices_create_finish().

subroutine, public distributed_matrix_vector::distributed_matrix_linklist_get ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
type(linkedlist), dimension(:), pointer  LIST,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the LINKLIST STURUCTURE for a distributed matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[out]errThe error code
[out]errorThe error string

Definition at line 2418 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_linklist_get().

subroutine, public distributed_matrix_vector::distributed_matrix_linklist_set ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
type(linkedlist), dimension(:), pointer  LIST,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the LIST STRUCTURE for a distributed matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[out]errThe error code
[out]errorThe error string

Definition at line 2359 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_linklist_set().

Referenced by equations_matrices_routines::equations_matrices_create_finish().

subroutine, public distributed_matrix_vector::distributed_matrix_max_columns_per_row_get ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  MAX_COLUMNS_PER_ROW,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the maximum number of columns in each row of a distributed matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[out]max_columns_per_rowOn return, the maximum number of columns in each row
[out]errThe error code
[out]errorThe error string

Definition at line 2201 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_max_columns_per_row_get().

Referenced by solver_matrices_routines::solver_matrix_structure_calculate().

subroutine, public distributed_matrix_vector::distributed_matrix_number_non_zeros_get ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  NUMBER_NON_ZEROS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the number of non zeros for a distributed matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[out]number_non_zerosOn return, the number of non zeros in the matrix to get
[out]errThe error code
[out]errorThe error string

Definition at line 2307 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_number_non_zeros_get().

subroutine, public distributed_matrix_vector::distributed_matrix_number_non_zeros_set ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  NUMBER_NON_ZEROS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the number of non zeros for a distributed matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]number_non_zerosThe number of non zeros in the matrix to set
[out]errThe error code
[out]errorThe error string

Definition at line 2251 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_number_non_zeros_set().

Referenced by equations_matrices_routines::equations_matrices_create_finish(), and solver_matrices_routines::solver_matrices_create_finish().

subroutine, public distributed_matrix_vector::distributed_matrix_output ( integer(intg), intent(in)  ID,
type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Outputs a distributed matrix.

Parameters
[in]idThe ID of the output stream
distributed_matrixA pointer to the distributed matrix
[out]errThe error code
[out]errorThe error string

Definition at line 2469 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), matrix_vector::matrix_output(), and cmisspetsc::petsc_matview().

Referenced by equations_matrices_routines::equations_matrices_jacobian_output(), equations_matrices_routines::equations_matrices_output(), and solver_matrices_routines::solver_matrices_output().

subroutine, public distributed_matrix_vector::distributed_matrix_override_set_off ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Turns off the override matrix for a distributed matrix.

Parameters
distributed_matrixA pointer to the distributed matrix to override
[out]errThe error code
[out]errorThe error string

Definition at line 2601 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_matinitialise().

subroutine, public distributed_matrix_vector::distributed_matrix_override_set_on ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
type(petscmattype), intent(in)  OVERRIDE_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the override matrix for a distributed matrix.

Parameters
distributed_matrixA pointer to the distributed matrix to override
[in]override_matrixThe override matrix
[out]errThe error code
[out]errorThe error string

Definition at line 2554 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_petsc_create_finish ( type(distributed_matrix_petsc_type), pointer  PETSC_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private
subroutine distributed_matrix_vector::distributed_matrix_petsc_finalise ( type(distributed_matrix_petsc_type), pointer  PETSC_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalise a PETSc distributed matrix.

Parameters
petsc_matrixA pointer to the PETSc distributed matrix
[out]errThe error code
[out]errorThe error string

Definition at line 2768 of file distributed_matrix_vector.f90.

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

Referenced by distributed_matrix_finalise(), distributed_matrix_library_type_set(), distributed_matrix_petsc_create_finish(), and distributed_matrix_petsc_initialise().

subroutine distributed_matrix_vector::distributed_matrix_petsc_initialise ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private
subroutine, public distributed_matrix_vector::distributed_matrix_storage_locations_get ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), pointer  ROW_INDICES,
integer(intg), dimension(:), pointer  COLUMN_INDICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public distributed_matrix_vector::distributed_matrix_storage_locations_set ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the storage locations (sparsity pattern) in a distributed matrix to that specified by the row and column indices.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The i'th row index of the matrix storage locations
[in]column_indicesCOLUMN_INDICES(i). The i'th column index of the matrix storage locations
[out]errThe error code
[out]errorThe error string

Definition at line 2945 of file distributed_matrix_vector.f90.

References base_routines::diagnostic_output_type, base_routines::diagnostics3, distributed_matrix_block_storage_type, distributed_matrix_column_major_storage_type, distributed_matrix_compressed_column_storage_type, distributed_matrix_compressed_row_storage_type, distributed_matrix_diagonal_storage_type, distributed_matrix_row_column_storage_type, distributed_matrix_row_major_storage_type, distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_storage_locations_set().

Referenced by equations_matrices_routines::equations_matrices_create_finish(), and solver_matrices_routines::solver_matrices_create_finish().

subroutine, public distributed_matrix_vector::distributed_matrix_storage_type_get ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  STORAGE_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the storage type of a distributed matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[out]storage_typeOn return, the storage (sparsity) type of the distributed matrix.
See also
MATRIX_VECTOR::StorageTypes,MATRIX_VECTOR
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 3143 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_storage_type_get().

Referenced by equations_set_routines::equations_set_backsubstitute(), solver_matrices_routines::solver_matrix_equations_matrix_add(), solver_matrices_routines::solver_matrix_interface_matrix_add(), solver_matrices_routines::solver_matrix_jacobian_matrix_add(), and solver_matrices_routines::solver_matrix_structure_calculate().

subroutine, public distributed_matrix_vector::distributed_matrix_storage_type_set ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  STORAGE_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public distributed_matrix_vector::distributed_matrix_update_finish ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Finishes the update procedure for a distributed matrix. This routine will wait until all transfers have completed!

Parameters
distributed_matrixA pointer to the distributed matrix
[out]errThe error code
[out]errorThe error string

Definition at line 3262 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_matassemblyend().

subroutine, public distributed_matrix_vector::distributed_matrix_update_isfinished ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
logical, intent(out)  ISFINISHED,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Tests to see if a distributed matrix update has finised.

Parameters
distributed_matrixA pointer to the distributed matrix
[out]isfinishedOn return ISFINISHED will be .TRUE. if the distributed matrix update has finished or .FALSE. if it has not
[out]errThe error code
[out]errorThe error string

Definition at line 3311 of file distributed_matrix_vector.f90.

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

subroutine, public distributed_matrix_vector::distributed_matrix_update_start ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Starts the update procedure for a distributed matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[out]errThe error code
[out]errorThe error string

Definition at line 3376 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_matassemblybegin().

subroutine, public distributed_matrix_vector::distributed_matrix_update_waitfinished ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Waits until a distributed matrix update has finised.

Parameters
distributed_matrixA pointer to the distributed matrix
[out]errThe error code
[out]errorThe error string

Definition at line 3345 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_add_dp ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(dp), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds values to a distributed double precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The i'th row index to add
[in]column_indicesCOLUMN_INDICES(i). The i'th column index to add
[in]valuesVALUES(i). The i'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 3713 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_matsetvalues().

subroutine distributed_matrix_vector::distributed_matrix_values_add_dp1 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
real(dp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds one value to a distributed double precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indexThe row index to add a value to
[in]column_indexThe column index to add a value to
[in]valueThe value to add at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 3796 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_matsetvalue().

subroutine distributed_matrix_vector::distributed_matrix_values_add_dp2 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(dp), dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds a matrix of values to a distributed double precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The ij'th row index to add
[in]column_indicesCOLUMN_INDICES(j). The ij'th column index to add
[in]valuesVALUES(i,j). The ij'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 3859 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_matsetvalues().

subroutine distributed_matrix_vector::distributed_matrix_values_add_intg ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
integer(intg), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds values to a distributed integer matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The i'th row index to add
[in]column_indicesCOLUMN_INDICES(i). The i'th column index to add
[in]valuesVALUES(i). The i'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 3425 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_add_intg1 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
integer(intg), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds one value to a distributed integer matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indexThe row index to add a value to
[in]column_indexThe column index to add a value to
[in]valueThe value to add at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 3473 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_add_intg2 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
integer(intg), dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds a matrix of values to a distributed integer matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The ij'th row index to add
[in]column_indicesCOLUMN_INDICES(j). The ij'th column index to add
[in]valuesVALUES(i,j). The ij'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 3521 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_add_l ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
logical, dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds values to a distributed logical matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The i'th row index to add
[in]column_indicesCOLUMN_INDICES(i). The i'th column index to add
[in]valuesVALUES(i). The i'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 3937 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_add_l1 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
logical, intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds one value to a distributed logical matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indexThe row index to add a value to
[in]column_indexThe column index to add a value to
[in]valueThe value to add at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 3985 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_add_l2 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
logical, dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds a matrix of values to a distributed logical matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The ij'th row index to add
[in]column_indicesCOLUMN_INDICES(j). The ij'th column index to add
[in]valuesVALUES(i,j). The ij'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 4033 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_add_sp ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(sp), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds values to a distributed single precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The i'th row index to add
[in]column_indicesCOLUMN_INDICES(i). The i'th column index to add
[in]valuesVALUES(i). The i'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 3569 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_add_sp1 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
real(sp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds one value to a distributed single precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indexThe row index to add a value to
[in]column_indexThe column index to add a value to
[in]valueThe value to add at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 3617 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_add_sp2 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(sp), dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds a matrix of values to a distributed single precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The ij'th row index to add
[in]column_indicesCOLUMN_INDICES(j). The ij'th column index to add
[in]valuesVALUES(i,j). The ij'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 3665 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_get_dp ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(dp), dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets values in a distributed double precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The i'th row index to get
[in]column_indicesCOLUMN_INDICES(i). The i'th column index to get
[out]valuesVALUES(i). On return the i'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 4369 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_matgetvalues().

subroutine distributed_matrix_vector::distributed_matrix_values_get_dp1 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
real(dp), intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets one value in a distributed double precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indexThe row index to get a value from
[in]column_indexThe column index to get a value from
[out]valueOn return the value of the matrix at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 4449 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_matgetvalues().

subroutine distributed_matrix_vector::distributed_matrix_values_get_dp2 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(dp), dimension(:,:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets a matrix of values in a distributed double precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The ij'th row index to get
[in]column_indicesCOLUMN_INDICES(j). The ij'th column index to get
[out]valuesVALUES(i,j). On return the ij'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 4512 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_matgetvalues().

subroutine distributed_matrix_vector::distributed_matrix_values_get_intg ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
integer(intg), dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets values in a distributed integer matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The i'th row index to get
[in]column_indicesCOLUMN_INDICES(i). The i'th column index to get
[out]valuesVALUES(i). On return the i'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 4081 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_get_intg1 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
integer(intg), intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets one value in a distributed integer matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indexThe row index to get a value from
[in]column_indexThe column index to get a value from
[out]valueOn return the value of the matrix at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 4129 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_get_intg2 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
integer(intg), dimension(:,:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets a matrix of values in a distributed integer matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The ij'th row index to get
[in]column_indicesCOLUMN_INDICES(j). The ij'th column index to get
[out]valuesVALUES(i,j). On return the ij'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 4177 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_get_l ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
logical, dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets values in a distributed logical matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The i'th row index to get
[in]column_indicesCOLUMN_INDICES(i). The i'th column index to get
[out]valuesVALUES(i). On return the i'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 4591 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_get_l1 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
logical, intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets one value in a distributed logical matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indexThe row index to get a value from
[in]column_indexThe column index to get a value from
[out]valueOn return the value of the matrix at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 4639 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_get_l2 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
logical, dimension(:,:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets a matrix of values in a distributed logical matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The ij'th row index to get
[in]column_indicesCOLUMN_INDICES(j). The ij'th column index to get
[out]valuesVALUES(i,j). On return the ij'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 4687 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_get_sp ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(sp), dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets values in a distributed single precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesThe row index to get a value from
[in]column_indicesThe column index to get a value from
[out]valuesOn return the value of the matrix at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 4225 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_get_sp1 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
real(sp), intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets one value in a distributed single precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indexThe row index to get a value from
[in]column_indexThe column index to get a value from
[out]valueOn return the value of the matrix at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 4273 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_get_sp2 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(sp), dimension(:,:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets a matrix of values in a distributed single precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The ij'th row index to get
[in]column_indicesCOLUMN_INDICES(j). The ij'th column index to get
[out]valuesVALUES(i,j). On return the ij'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 4321 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_set_dp ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(dp), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets values in a distributed double precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The i'th row index to set
[in]column_indicesCOLUMN_INDICES(i). The i'th column index to set
[in]valuesVALUES(i). The i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 5023 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_matsetvalues().

subroutine distributed_matrix_vector::distributed_matrix_values_set_dp1 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
real(dp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets one value in a distributed double precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indexThe row index to set a value to
[in]column_indexThe column index to set a value to
[in]valueThe value of the matrix to be set at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 5103 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_matsetvalues().

subroutine distributed_matrix_vector::distributed_matrix_values_set_dp2 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(dp), dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets a matrix of values in a distributed double precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The ij'th row index to set
[in]column_indicesCOLUMN_INDICES(j). The ij'th column index to set
[in]valuesVALUES(i,j). The ij'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 5161 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_matsetvalues().

subroutine distributed_matrix_vector::distributed_matrix_values_set_intg ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
integer(intg), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets values in a distributed integer matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The i'th row index to set
[in]column_indicesCOLUMN_INDICES(i). The i'th column index to set
[in]valuesVALUES(i). The i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4735 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_set_intg1 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
integer(intg), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets one value in a distributed integer matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indexThe row index to set a value to
[in]column_indexThe column index to set a value to
[in]valueThe value of the matrix to be set at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 4783 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_set_intg2 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
integer(intg), dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets a matrix of values in a distributed integer matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The ij'th row index to set
[in]column_indicesCOLUMN_INDICES(j). The ij'th column index to set
[in]valuesVALUES(i,j). The ij'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4831 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_set_l ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
logical, dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets values in a distributed logical matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The i'th row index to set
[in]column_indicesCOLUMN_INDICES(i). The i'th column index to set
[in]valuesVALUES(i). The i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 5239 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_set_l1 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
logical, intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets one value in a distributed logical matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indexThe row index to set a value to
[in]column_indexThe column index to set a value to
[in]valueThe value of the matrix to be set at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 5287 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_set_l2 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
logical, dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets a matrix of values in a distributed logical matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The ij'th row index to set
[in]column_indicesCOLUMN_INDICES(j). The ij'th column index to set
[in]valuesVALUES(i,j). The ij'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 5335 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_set_sp ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(sp), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets values in a distributed single precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The i'th row index to set
[in]column_indicesCOLUMN_INDICES(i). The i'th column index to set
[in]valuesVALUES(i). The i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4879 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_set_sp1 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
real(sp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets one value in a distributed single precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indexThe row index to set a value to
[in]column_indexThe column index to set a value to
[in]valueThe value of the matrix to be set at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 4927 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_matrix_values_set_sp2 ( type(distributed_matrix_type), pointer  DISTRIBUTED_MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(sp), dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets a matrix of values in a distributed single precision matrix.

Parameters
distributed_matrixA pointer to the distributed matrix
[in]row_indicesROW_INDICES(i). The ij'th row index to set
[in]column_indicesCOLUMN_INDICES(j). The ij'th column index to set
[in]valuesVALUES(i,j). The ij'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4975 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_vector_all_values_set_dp ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
real(dp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets all values in a double precision distributed vector to the specified value.

Parameters
distributed_vectorA pointer to the distributed vector
[in]valueThe value to be set
[out]errThe error code
[out]errorThe error string

Definition at line 5720 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), matrix_vector::matrix_vector_dp_type, and cmisspetsc::petsc_vecset().

subroutine distributed_matrix_vector::distributed_vector_all_values_set_intg ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets all values in an integer distributed vector to the specified value.

Parameters
distributed_vectorA pointer to the distributed vector
[in]valueThe value to be set
[out]errThe error code
[out]errorThe error string

Definition at line 5616 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_intg_type.

subroutine distributed_matrix_vector::distributed_vector_all_values_set_l ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
logical, intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets all values in a logical distributed_vector to the specified value.

Parameters
distributed_vectorA pointer to the distributed vector
[in]valueThe value to be set
[out]errThe error code
[out]errorThe error string

Definition at line 5780 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_l_type.

subroutine distributed_matrix_vector::distributed_vector_all_values_set_sp ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
real(sp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets all values in a single precision distributed vector to the specified value.

Parameters
distributed_vectorA pointer to the distributed vector
[in]valueThe value to be set
[out]errThe error code
[out]errorThe error string

Definition at line 5668 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_sp_type.

subroutine distributed_matrix_vector::distributed_vector_cmiss_create_finish ( type(distributed_vector_cmiss_type), pointer  CMISS_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private
subroutine distributed_matrix_vector::distributed_vector_cmiss_finalise ( type(distributed_vector_cmiss_type), pointer  CMISS_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalise a CMISS distributed vector.

Parameters
cmiss_vectorA pointer to the CMISS distributed vector
[out]errThe error code
[out]errorThe error string

Definition at line 6192 of file distributed_matrix_vector.f90.

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

Referenced by distributed_vector_cmiss_create_finish(), distributed_vector_cmiss_initialise(), distributed_vector_finalise(), and distributed_vector_library_type_set().

subroutine distributed_matrix_vector::distributed_vector_cmiss_initialise ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Intialises a CMISS distributed vector.

Parameters
distributed_vectorA pointer to the distributed vector
[out]errThe error code
[out]errorThe error string

Definition at line 6228 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_include_ghosts_type, distributed_matrix_vector_no_ghosts_type, distributed_vector_cmiss_finalise(), base_routines::enters(), and base_routines::exits().

Referenced by distributed_vector_initialise(), and distributed_vector_library_type_set().

subroutine distributed_matrix_vector::distributed_vector_cmiss_transfer_finalise ( type(distributed_vector_cmiss_type), pointer  CMISS_VECTOR,
integer(intg), intent(in)  domain_idx,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalises a CMISS distributed vector transfer information and deallocates all memory.

Parameters
cmiss_vectorA pointer to the CMISS distributed vector
[in]domain_idxThe domain index of the distributed vector to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 7620 of file distributed_matrix_vector.f90.

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

Referenced by distributed_vector_cmiss_finalise().

subroutine distributed_matrix_vector::distributed_vector_copy_dp ( type(distributed_vector_type), pointer  FROM_VECTOR,
type(distributed_vector_type), pointer  TO_VECTOR,
real(dp), intent(in)  ALPHA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Copies alpha times a double precision distributed vector to another distributed vector.

Parameters
from_vectorA pointer to the distributed vector to copy from
to_vectorA pointer to the distributed vector to copy to
[in]alphaThe multiplicative factor for the copy.
[out]errThe error code
[out]errorThe error string

Definition at line 5916 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_dp_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), cmisspetsc::petsc_veccopy(), and cmisspetsc::petsc_vecscale().

subroutine distributed_matrix_vector::distributed_vector_copy_intg ( type(distributed_vector_type), pointer  FROM_VECTOR,
type(distributed_vector_type), pointer  TO_VECTOR,
integer(intg), intent(in)  ALPHA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Copies alpha times an integer distributed vector to another distributed vector.

Parameters
from_vectorA pointer to the distributed vector to copy from
to_vectorA pointer to the distributed vector to copy to
[in]alphaThe multiplicative factor for the copy.
[out]errThe error code
[out]errorThe error string

Definition at line 5832 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_intg_type, distributed_matrix_vector_petsc_type, base_routines::enters(), and base_routines::exits().

subroutine distributed_matrix_vector::distributed_vector_copy_l ( type(distributed_vector_type), pointer  FROM_VECTOR,
type(distributed_vector_type), pointer  TO_VECTOR,
logical, intent(in)  ALPHA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Copies alpha times a logical distributed vector to another distributed vector.

Parameters
from_vectorA pointer to the distributed vector to copy from
to_vectorA pointer to the distributed vector to copy to
[in]alphaThe multiplicative factor for the copy.
[out]errThe error code
[out]errorThe error string

Definition at line 6108 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_l_type, distributed_matrix_vector_petsc_type, base_routines::enters(), and base_routines::exits().

subroutine distributed_matrix_vector::distributed_vector_copy_sp ( type(distributed_vector_type), pointer  FROM_VECTOR,
type(distributed_vector_type), pointer  TO_VECTOR,
real(sp), intent(in)  ALPHA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Copies alpha times a single precision distributed vector to another distributed vector.

Parameters
from_vectorA pointer to the distributed vector to copy from
to_vectorA pointer to the distributed vector to copy to
[in]alphaThe multiplicative factor for the copy.
[out]errThe error code
[out]errorThe error string

Definition at line 6024 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, distributed_matrix_vector_sp_type, base_routines::enters(), and base_routines::exits().

subroutine, public distributed_matrix_vector::distributed_vector_create_finish ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public distributed_matrix_vector::distributed_vector_create_start ( type(domain_mapping_type), pointer  DOMAIN_MAPPING,
type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Starts the creation a distributed vector.

Parameters
domain_mappingA pointer to the domain mapping used to distribute this vector
distributed_vectorOn return, a pointer to the created distributed vector
[out]errThe error code
[out]errorThe error string

Definition at line 6475 of file distributed_matrix_vector.f90.

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

Referenced by distributed_vector_duplicate(), equations_matrices_routines::equations_matrices_create_finish(), solver_routines::solver_dynamic_create_finish(), and solver_matrices_routines::solver_matrices_create_finish().

subroutine distributed_matrix_vector::distributed_vector_data_get_dp ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
real(dp), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

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.

Parameters
distributed_vectorA pointer to the distributed vector
dataOn return, a pointer to the data of the distributed vector
[out]errThe error code
[out]errorThe error string

Definition at line 6860 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), matrix_vector::matrix_vector_dp_type, and cmisspetsc::petsc_vecgetarrayreadf90().

subroutine distributed_matrix_vector::distributed_vector_data_get_intg ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

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.

Parameters
distributed_vectorA pointer to the distributed vector
dataOn return, a pointer to the data of the distributed vector
[out]errThe error code
[out]errorThe error string

Definition at line 6744 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_intg_type.

subroutine distributed_matrix_vector::distributed_vector_data_get_l ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
logical, dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

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.

Parameters
distributed_vectorA pointer to the distributed vector
dataOn return, a pointer to the data of the distributed vector
[out]errThe error code
[out]errorThe error string

Definition at line 6926 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_l_type.

subroutine distributed_matrix_vector::distributed_vector_data_get_sp ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
real(sp), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

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.

Parameters
distributed_vectorA pointer to the distributed vector
dataOn return, a pointer to the data of the distributed vector
[out]errThe error code
[out]errorThe error string

Definition at line 6802 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_sp_type.

subroutine distributed_matrix_vector::distributed_vector_data_restore_dp ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
real(dp), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Restores the double precision data pointer returned from DISTRIBUTED_VECTOR_DATA_GET once the data has finished being used.

Parameters
distributed_vectorA pointer to the distributed vector
dataA pointer to the distributed vector data for this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 7075 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_vecrestorearrayreadf90().

subroutine distributed_matrix_vector::distributed_vector_data_restore_intg ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Restores the integer data pointer returned from DISTRIBUTED_VECTOR_DATA_GET once the data has finished being used.

Parameters
distributed_vectorA pointer to the distributed vector
dataThe a pointer to the distributed vector data for this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 6983 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_vector_data_restore_l ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
logical, dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Restores the logical data pointer returned from DISTRIBUTED_VECTOR_DATA_GET once the data has finished being used.

Parameters
distributed_vectorA pointer to the distributed vector
dataA pointer to the distributed vector data for this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 7129 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_vector_data_restore_sp ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
real(sp), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Restores the single precision data pointer returned from DISTRIBUTED_VECTOR_DATA_GET once the data has finished being used.

Parameters
distributed_vectorA pointer to the distributed vector
dataA pointer to the distributed vector data for this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 7029 of file distributed_matrix_vector.f90.

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

subroutine, public distributed_matrix_vector::distributed_vector_data_type_set ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  DATA_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public distributed_matrix_vector::distributed_vector_destroy ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public distributed_matrix_vector::distributed_vector_duplicate ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
type(distributed_vector_type), pointer  NEW_DISTRIBUTED_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Duplicates the structure of a distributed vector and returns a pointer to the new distributed vector in NEW_DISTRIBUTED_VECTOR.

Parameters
distributed_vectorA pointer to the distributed vector to duplicate
new_distributed_vectorOn return a pointer to the new duplicated distributed vector
[out]errThe error code
[out]errorThe error string

Definition at line 6635 of file distributed_matrix_vector.f90.

References distributed_vector_create_finish(), distributed_vector_create_start(), distributed_vector_data_type_set(), distributed_vector_finalise(), distributed_vector_library_type_set(), base_routines::enters(), and base_routines::exits().

subroutine distributed_matrix_vector::distributed_vector_finalise ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalises a distributed vector and deallocates all memory.

Parameters
distributed_vectorA pointer to the distributed vector
[out]errThe error code
[out]errorThe error string

Definition at line 6673 of file distributed_matrix_vector.f90.

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

Referenced by distributed_vector_create_finish(), distributed_vector_create_start(), distributed_vector_destroy(), distributed_vector_duplicate(), and distributed_vector_initialise().

subroutine, public distributed_matrix_vector::distributed_vector_ghosting_type_set ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  GHOSTING_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the ghosting type for a distributed vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]ghosting_typeThe ghosting type
See also
DISTRIBUTED_MATRIX_VECTOR::GhostingTypes,DISTRIBUTED_MATRIX_VECTOR
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 7175 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_include_ghosts_type, distributed_matrix_vector_no_ghosts_type, distributed_matrix_vector_petsc_type, base_routines::enters(), and base_routines::exits().

subroutine distributed_matrix_vector::distributed_vector_initialise ( type(domain_mapping_type), pointer  DOMAIN_MAPPING,
type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialises a distributed vector.

Parameters
domain_mappingA pointer to the domain mapping used to distribute this vector
distributed_vectorA pointer to the distributed vector
[out]errThe error code
[out]errorThe error string

Definition at line 6700 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_include_ghosts_type, distributed_vector_cmiss_initialise(), distributed_vector_finalise(), base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_dp_type.

Referenced by distributed_vector_create_start().

subroutine, public distributed_matrix_vector::distributed_vector_library_type_set ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  LIBRARY_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the library type for a distributed vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]library_typeThe library type
See also
DISTRIBUTED_MATRIX_VECTOR::LibraryTypes,DISTRIBUTED_MATRIX_VECTOR
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 7246 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, distributed_vector_cmiss_finalise(), distributed_vector_cmiss_initialise(), distributed_vector_petsc_finalise(), distributed_vector_petsc_initialise(), base_routines::enters(), and base_routines::exits().

Referenced by distributed_vector_duplicate(), and solver_matrices_routines::solver_matrices_create_finish().

subroutine, public distributed_matrix_vector::distributed_vector_output ( integer(intg), intent(in)  ID,
type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public distributed_matrix_vector::distributed_vector_override_set_off ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Turns off the override vector for a distributed vector.

Parameters
distributed_vectorA pointer to the distributed vector to override
[out]errThe error code
[out]errorThe error string

Definition at line 7438 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_vecinitialise().

subroutine, public distributed_matrix_vector::distributed_vector_override_set_on ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
type(petscvectype), intent(in)  OVERRIDE_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the override vector for a distributed vector.

Parameters
distributed_vectorA pointer to the distributed vector to override
[in]override_vectorThe override vector
[out]errThe error code
[out]errorThe error string

Definition at line 7391 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributed_vector_petsc_create_finish ( type(distributed_vector_petsc_type), pointer  PETSC_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finishes the creation of a PETSc distributed vector.

Parameters
petsc_vectorA pointer to the distributed PETSc vector
[out]errThe error code
[out]errorThe error string

Definition at line 7484 of file distributed_matrix_vector.f90.

References comp_environment::computational_environment, distributed_vector_petsc_finalise(), base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_veccreatempi().

Referenced by distributed_vector_create_finish().

subroutine distributed_matrix_vector::distributed_vector_petsc_finalise ( type(distributed_vector_petsc_type), pointer  PETSC_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalise a PETSc distributed vector.

Parameters
petsc_vectorA pointer to the PETSc distributed vector
[out]errThe error code
[out]errorThe error string

Definition at line 7533 of file distributed_matrix_vector.f90.

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

Referenced by distributed_vector_finalise(), distributed_vector_library_type_set(), distributed_vector_petsc_create_finish(), and distributed_vector_petsc_initialise().

subroutine distributed_matrix_vector::distributed_vector_petsc_initialise ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Intialises a PETSc distributed vector.

Parameters
distributed_vectorA pointer to the distributed vector
[out]errThe error code
[out]errorThe error string

Definition at line 7561 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_include_ghosts_type, distributed_matrix_vector_no_ghosts_type, distributed_matrix_vector_petsc_type, distributed_vector_petsc_finalise(), base_routines::enters(), base_routines::exits(), and cmisspetsc::petsc_vecinitialise().

Referenced by distributed_vector_library_type_set().

subroutine, public distributed_matrix_vector::distributed_vector_update_finish ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public distributed_matrix_vector::distributed_vector_update_isfinished ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
logical, intent(out)  ISFINISHED,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Tests to see if a distributed vector update has finised!

Todo:
USE MPI_TESTALL and store the request handles as big array.
Parameters
distributed_vectorA pointer to the distributed vector
[out]isfinishedOn return, is .TRUE. if all the transfer operations for the distributed vector have completed, .FALSE. if not
[out]errThe error code
[out]errorThe error string

Definition at line 7870 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmiss_mpi::mpi_error_check().

subroutine, public distributed_matrix_vector::distributed_vector_update_start ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public distributed_matrix_vector::distributed_vector_update_waitfinished ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Waits until a distributed vector update has finised.

Parameters
distributed_vectorA pointer to the distributed vector
[out]errThe error code
[out]errorThe error string

Definition at line 7931 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and cmiss_mpi::mpi_error_check().

Referenced by distributed_vector_update_finish().

subroutine distributed_matrix_vector::distributed_vector_values_add_dp ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
real(dp), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds values to a distributed double precision vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indicesINDICES(i). The i'th index to be added
[in]valuesVALUES(i). The i'th value to added
[out]errThe error code
[out]errorThe error string

Definition at line 8865 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), matrix_vector::matrix_vector_dp_type, and cmisspetsc::petsc_vecsetvalues().

subroutine distributed_matrix_vector::distributed_vector_values_add_dp1 ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  INDEX,
real(dp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds one value to a distributed double precision vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indexThe index to be added
[in]valueThe value to be added
[out]errThe error code
[out]errorThe error string

Definition at line 8946 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), matrix_vector::matrix_vector_dp_type, and cmisspetsc::petsc_vecsetvalues().

subroutine distributed_matrix_vector::distributed_vector_values_add_intg ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
integer(intg), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds values to a distributed integer vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indicesINDICES(i). The i'th index to add
[in]valuesVALUES(i). The i'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 8599 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_intg_type.

subroutine distributed_matrix_vector::distributed_vector_values_add_intg1 ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  INDEX,
integer(intg), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds one value to a distributed integer vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indexThe index to be added at
[in]valueThe value to be added
[out]errThe error code
[out]errorThe error string

Definition at line 8670 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_intg_type.

subroutine distributed_matrix_vector::distributed_vector_values_add_l ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
logical, dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds values to a distributed logical vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indicesINDICES(i). The i'th index to be added
[in]valuesVALUES(i). The i'th value to added
[out]errThe error code
[out]errorThe error string

Definition at line 9020 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_l_type.

subroutine distributed_matrix_vector::distributed_vector_values_add_l1 ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  INDEX,
logical, intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds one value to a distributed logical vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indexThe index to be added
[in]valueThe value to be added
[out]errThe error code
[out]errorThe error string

Definition at line 9091 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_l_type.

subroutine distributed_matrix_vector::distributed_vector_values_add_sp ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
real(sp), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds values to a distributed single precision vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indicesINDICES(i). The i'th index to be added
[in]valuesVALUES(i). The i'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 8732 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_sp_type.

subroutine distributed_matrix_vector::distributed_vector_values_add_sp1 ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  INDEX,
real(sp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Adds one value to a distributed single precision vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indexThe index to be added
[in]valueThe value to be added
[out]errThe error code
[out]errorThe error string

Definition at line 8803 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_sp_type.

subroutine distributed_matrix_vector::distributed_vector_values_get_dp ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
real(dp), dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets values in a distributed double precision vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indicesINDICES(i). The i'th index to be get
[out]valuesVALUES(i). On return, the value at the i'th specified index
[out]errThe error code
[out]errorThe error string

Definition at line 9416 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), matrix_vector::matrix_vector_dp_type, and cmisspetsc::petsc_vecgetvalues().

subroutine distributed_matrix_vector::distributed_vector_values_get_dp1 ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  INDEX,
real(dp), intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets one value in a distributed double precision vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indexThe index to be get
[out]valueOn return, the value at the specified index
[out]errThe error code
[out]errorThe error string

Definition at line 9498 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), matrix_vector::matrix_vector_dp_type, and cmisspetsc::petsc_vecgetvalues().

subroutine distributed_matrix_vector::distributed_vector_values_get_intg ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
integer(intg), dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets values in a distributed integer vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indicesINDICES(i). The i'th index to be get
[out]valuesVALUES(i). On return, the value at the i'th specified index
[out]errThe error code
[out]errorThe error string

Definition at line 9153 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_intg_type.

subroutine distributed_matrix_vector::distributed_vector_values_get_intg1 ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  INDEX,
integer(intg), intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets one value in a distributed integer vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indexThe index to be get
[out]valueOn return, the value at the specified index
[out]errThe error code
[out]errorThe error string

Definition at line 9224 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_intg_type.

subroutine distributed_matrix_vector::distributed_vector_values_get_l ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
logical, dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets values in a distributed logical vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indicesINDICES(i). The i'th index to be get
[out]valuesVALUES(i). On return, the value in the i'th specified index
[out]errThe error code
[out]errorThe error string

Definition at line 9571 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_l_type.

subroutine distributed_matrix_vector::distributed_vector_values_get_l1 ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  INDEX,
logical, intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets one value in a distributed logical vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indexThe index to be get
[out]valueOn return, the value in the specified index
[out]errThe error code
[out]errorThe error string

Definition at line 9641 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_l_type.

subroutine distributed_matrix_vector::distributed_vector_values_get_sp ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
real(sp), dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets values in a distributed single precision vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indicesINDICES(i). The i'th index to be get
[out]valuesVALUES(i). On return, the value at the i'th specified index
[out]errThe error code
[out]errorThe error string

Definition at line 9285 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_sp_type.

subroutine distributed_matrix_vector::distributed_vector_values_get_sp1 ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  INDEX,
real(sp), intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets one value in a distributed single precision vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indexThe index to be get
[out]valueOn return, the value at the specified index
[out]errThe error code
[out]errorThe error string

Definition at line 9355 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_sp_type.

subroutine distributed_matrix_vector::distributed_vector_values_set_dp ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
real(dp), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets values in a distributed double precision vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indicesINDICES(i). The i'th index to be set
[in]valuesVALUES(i). The i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 9968 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), matrix_vector::matrix_vector_dp_type, and cmisspetsc::petsc_vecsetvalues().

subroutine distributed_matrix_vector::distributed_vector_values_set_dp1 ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  INDEX,
real(dp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets one value in a distributed double precision vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indexThe index to be set
[in]valueThe value to be set
[out]errThe error code
[out]errorThe error string

Definition at line 10049 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), matrix_vector::matrix_vector_dp_type, and cmisspetsc::petsc_vecsetvalues().

subroutine distributed_matrix_vector::distributed_vector_values_set_intg ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
integer(intg), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets values in a distributed integer vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indicesINDICES(i). The i'th index to be set
[in]valuesVALUES(i). The i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 9702 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_intg_type.

subroutine distributed_matrix_vector::distributed_vector_values_set_intg1 ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  INDEX,
integer(intg), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets one value in a distributed integer vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indexThe index to be set
[in]valueThe value to be set
[out]errThe error code
[out]errorThe error string

Definition at line 9773 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_intg_type.

subroutine distributed_matrix_vector::distributed_vector_values_set_l ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
logical, dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets values in a distributed logical vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indicesINDICES(i). The i'th index to be set
[in]valuesVALUES(i). The i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 10125 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_l_type.

subroutine distributed_matrix_vector::distributed_vector_values_set_l1 ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  INDEX,
logical, intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets one value in a distributed logical vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indexThe index to be set
[in]valueThe value to be set
[out]errThe error code
[out]errorThe error string

Definition at line 10196 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_l_type.

subroutine distributed_matrix_vector::distributed_vector_values_set_sp ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
real(sp), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets values in a distributed single precision vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indicesINDICES(i). The i'th index to be set
[in]valuesVALUES(i). The i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 9835 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_sp_type.

subroutine distributed_matrix_vector::distributed_vector_values_set_sp1 ( type(distributed_vector_type), pointer  DISTRIBUTED_VECTOR,
integer(intg), intent(in)  INDEX,
real(sp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets one value in a distributed single precision vector.

Parameters
distributed_vectorA pointer to the distributed vector
[in]indexThe index to be set
[in]valueThe value to be set
[out]errThe error code
[out]errorThe error string

Definition at line 9906 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_sp_type.

subroutine, public distributed_matrix_vector::distributedmatrix_datatypeget ( type(distributed_matrix_type), pointer  matrix,
integer(intg), intent(out)  dataType,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Gets the data type of a distributed matrix.

Parameters
matrixA pointer to the distributed matrix
[out]datatypeOn return, the data type of the matrix.
See also
DISTRIBUTED_MATRIX_VECTOR::DataTypes,MATRIX_VECTOR
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 1656 of file distributed_matrix_vector.f90.

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

subroutine, public distributed_matrix_vector::distributedmatrix_dimensionsget ( type(distributed_matrix_type), pointer  distributedMatrix,
integer(intg), intent(out)  m,
integer(intg), intent(out)  n,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Gets the dimensions of a matrix on this computational node.

Parameters
distributedmatrixA pointer to the distributed matrix to get dimensions for
[out]mOn return, the number of rows in the matrix for this domain
[out]nOn return, the number of columns in the matrix for this domain
[out]errThe error code
[out]errorThe error string

Definition at line 1746 of file distributed_matrix_vector.f90.

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

subroutine distributed_matrix_vector::distributedvector_cmisstransferinitialise ( type(distributed_vector_cmiss_type), pointer  CMISS_VECTOR,
integer(intg), intent(in)  domain_idx,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialises a CMISS distributed vector transfer information.

Parameters
cmiss_vectorA pointer to the CMISS distributed vector
[in]domain_idxThe domain index to initialise
[out]errThe error code
[out]errorThe error string

Definition at line 7678 of file distributed_matrix_vector.f90.

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

Referenced by distributed_vector_cmiss_create_finish().

subroutine, public distributed_matrix_vector::distributedvector_datatypeget ( type(distributed_vector_type), pointer  vector,
integer(intg), intent(out)  dataType,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Gets the data type of a distributed vector.

Parameters
vectorA pointer to the distributed vector
[out]datatypeOn return, the data type of the vector.
See also
DISTRIBUTED_MATRIX_VECTOR::DataTypes,MATRIX_VECTOR
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 6511 of file distributed_matrix_vector.f90.

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

Referenced by distributedvector_vecdotdp(), distributedvector_vecdotintg(), and distributedvector_vecdotsp().

subroutine, public distributed_matrix_vector::distributedvector_l2norm ( type(distributed_vector_type), intent(in), pointer  distributedVector,
real(dp), intent(out)  norm,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Calculates the L2 norm of a distributed vector values on this computational node.

Parameters
[in]distributedvectorA pointer to the distributed vector
[out]normThe L2 norm of values from this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 8322 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, base_routines::enters(), base_routines::exits(), matrix_vector::matrix_vector_dp_type, matrix_vector::matrix_vector_intg_type, matrix_vector::matrix_vector_l_type, and matrix_vector::matrix_vector_sp_type.

Referenced by equations_set_routines::equationsset_finiteelementjacobianevaluatefd().

subroutine distributed_matrix_vector::distributedvector_vecdotdp ( type(distributed_vector_type), intent(in), pointer  distributedVectorA,
type(distributed_vector_type), intent(in), pointer  distributedVectorB,
real(dp), intent(out)  dotProduct,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)
private

Calculates the dot product of 2 distributed double-precision vectors on this computational node.

Parameters
[in]distributedvectoraA pointer to the distributed vector A
[in]distributedvectorbA pointer to the distributed vector B
[out]dotproductThe dot product on this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 8525 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, distributedvector_datatypeget(), base_routines::enters(), base_routines::exits(), matrix_vector::matrix_vector_dp_type, and cmisspetsc::petsc_vecdot().

subroutine distributed_matrix_vector::distributedvector_vecdotintg ( type(distributed_vector_type), intent(in), pointer  distributedVectorA,
type(distributed_vector_type), intent(in), pointer  distributedVectorB,
integer(intg), intent(out)  dotProduct,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)
private

Calculates the dot product of 2 distributed integer vectors on this computational node.

Parameters
[in]distributedvectoraA pointer to the distributed vector A
[in]distributedvectorbA pointer to the distributed vector B
[out]dotproductThe dot product on this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 8387 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, distributedvector_datatypeget(), base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_intg_type.

subroutine distributed_matrix_vector::distributedvector_vecdotsp ( type(distributed_vector_type), intent(in), pointer  distributedVectorA,
type(distributed_vector_type), intent(in), pointer  distributedVectorB,
real(sp), intent(out)  dotProduct,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)
private

Calculates the dot product of 2 distributed single-precision vectors on this computational node.

Parameters
[in]distributedvectoraA pointer to the distributed vector A
[in]distributedvectorbA pointer to the distributed vector B
[out]dotproductThe dot product on this computational node
[out]errThe error code
[out]errorThe error string

Definition at line 8456 of file distributed_matrix_vector.f90.

References distributed_matrix_vector_cmiss_type, distributed_matrix_vector_petsc_type, distributedvector_datatypeget(), base_routines::enters(), base_routines::exits(), and matrix_vector::matrix_vector_sp_type.

Variable Documentation

integer(intg), save distributed_matrix_vector::distributed_data_id =100000000
private