Set
Set entries of MatrixField.
Calling example:
Set(
MatrixField_::obj
int::globalNode(:)
real::value(:,:)
int::storageFMT
<real::scale>
<bool::addContribution>
)
CALL Set(
MatrixField_::obj
<int::globalNode(:)>
real::value
<int::scale >
<bool::addContribution>
)
CALL Set(
MatrixField_ :: obj
int :: iNodeNum
int :: jNodeNum
int :: idof
int :: jdof
real :: value
<real :: scale>
<bool :: addContribution>
)
Set(
MatrixField_ :: obj
int :: iNodeNum(:)
int :: jNodeNum(:)
int :: ivar
int :: jvar
real:: value(:,:)
<real:: scale>
<bool:: addContribution>
)
CALL Set(
MatrixField_ :: obj
int :: iNodeNum(:)
int :: jNodeNum(:)
int :: ivar
int :: jvar
int :: idof
int :: jdof
real:: value(:,:)
<real:: scale>
<bool:: addContribution>
)
CALL Set(
MatrixField_:: obj
int :: iNodeNum(:)
int :: jNodeNum(:)
int :: ivar
int :: jvar
int :: idof
int :: jdof
real :: value(:,:)
<real :: scale>
<bool :: addContribution>
)
Interface 1β
- π Set 1
INTERFACE
MODULE SUBROUTINE Set( obj, globalNode, value, storageFMT, scale, &
& addContribution )
CLASS( MatrixField_ ), INTENT( INOUT ) :: obj
INTEGER( I4B ), INTENT( IN ) :: globalNode(:)
REAL( DFP ), INTENT( IN ) :: value(:,:)
INTEGER( I4B ), INTENT( IN ) :: storageFMT
REAL( DFP ), OPTIONAL, INTENT( IN ) :: scale
LOGICAL( LGT ), OPTIONAL, INTENT( IN ) :: addContribution
END SUBROUTINE Set
END INTERFACE
IF addContribution and scale is ABSENT then:
- This subroutine sets a block of data to matrix.
- This block data is contained in
value(:,:) - The size of
valueshould betdof *size( globalNode ), wheretdofis the total degrees of freedom globalNodecontains the global node numberstorageFMTis the storage format ofvalue(:,:), it can beDOF_FMT, orFMT_NODES.
If addContribution and scale are present then:
- This subroutine adds a block of data to matrix.
- This block data is contained in
value(:,:) - The size of
valueshould betdof* size( globalNode ) globalNodecontains the global node numberstorageFMTis the storage format ofvalue(:,:), it can beDOF_FMT, orFMT_NODES.scaleis scaling used for value.
This method cannot be called for Rectangle MatrixField
Interface 2β
- π Set 2
INTERFACE
MODULE SUBROUTINE Set( obj, globalNode, value, scale, &
& addContribution )
CLASS( MatrixField_ ), INTENT( INOUT ) :: obj
INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: globalNode(:)
REAL( DFP ), INTENT( IN ) :: value
REAL( DFP ), OPTIONAL, INTENT( IN ) :: scale
LOGICAL( LGT ), OPTIONAL, INTENT( IN ) :: addContribution
END SUBROUTINE Set
END INTERFACE
IF addContribution and scale are ABSENT then:
- This subroutine sets a scalar value
valueto all or selected the entries of the matrix. - If
globalNodeis present then this routine sets a scalar valuevalueto select the entries of the matrix. These entries are spacified by theglobalNode(:)vector, which denotes the global node numbers. Then, symbolically, we performobj(glocalNode)=value. - If
globalNodeis absent then all entries are set to the scalar values. Then, symbolically, we peformobj=value
IF addContribution and scale NOT PRESENT
- If
globalNodeis not present then, this subroutine adds a scalar valuevalueto all the entries of the matrix. Symbolically, we performobj=obj+scale*value - If
globalNodeis present then, This subroutine adds a scalar valuevalueto select the entries of the matrix. These entries are spacified by theglobalNode(:)vector, which denotes the global node numbers. Symbolically, we performobj(glocalNode)=obj(globalNode)+scale*value
globalNode is present, then this method cannot be called for Rectangle MatrixField.Interface 3β
- π Set 3
INTERFACE
MODULE SUBROUTINE Set( obj, iNodeNum, jNodeNum, idof, &
& jdof, value, scale, addContribution )
CLASS( MatrixField_ ), INTENT( INOUT ) :: obj
INTEGER( I4B ), INTENT( IN ) :: iNodeNum
INTEGER( I4B ), INTENT( IN ) :: jNodeNum
INTEGER( I4B ), INTENT( IN ) :: idof
INTEGER( I4B ), INTENT( IN ) :: jdof
REAL( DFP ), INTENT( IN ) :: value
REAL( DFP ), OPTIONAL, INTENT( IN ) :: scale
LOGICAL( LGT ), OPTIONAL, INTENT( IN ) :: addContribution
END SUBROUTINE Set
END INTERFACE
This routine can be called for rectangle matrix.
- If addContribution and scale not present then
- This subroutine sets a scalar value
valueto a single entry of the matrix. - This entry is specified by the
iNodeNumandjNodeNum, which are global node number. - The exact location of the entry is computed using
iNodeNum,iDOF,jNodeNumandjDOF.
- This subroutine sets a scalar value
- If addContribution and scale present then:
- This subroutine adds a scalar value
valueto a single entry of the matrix. - This entry is specified by the
iNodeNumandjNodeNum. - The exact location of the entry is computed using
iNodeNum,iDOF,jNodeNumandjDOF.
- This subroutine adds a scalar value
Interface 4β
- π Set 4
INTERFACE
MODULE SUBROUTINE Set( obj, iNodeNum, jNodeNum, ivar, &
& jvar, value, scale, addContribution )
CLASS( MatrixField_ ), INTENT( INOUT ) :: obj
INTEGER( I4B ), INTENT( IN ) :: iNodeNum(:)
INTEGER( I4B ), INTENT( IN ) :: jNodeNum(:)
INTEGER( I4B ), INTENT( IN ) :: ivar
INTEGER( I4B ), INTENT( IN ) :: jvar
REAL( DFP ), INTENT( IN ) :: value(:,:)
REAL( DFP ), OPTIONAL, INTENT( IN ) :: scale
LOGICAL( LGT ), OPTIONAL, INTENT( IN ) :: addContribution
END SUBROUTINE Set
END INTERFACE
This routine can be called for rectangle matrix.
- If addContribution and scale not present then
- This subroutine sets a block of data to matrix.
- This block data is contained in
value(:,:). - The number of rows in
valueshould beSIZE( iNodeNum ) * itdof, whereitdofis the total degrees of freedom in row dimension. - The number of columns in
valueshould beSIZE( jNodeNum ) * jtdof, wherejtdofis the total degrees of freedom in column dimension. - globalNode contains the global node number
- This entry is specified by the
iNodeNumandjNodeNum, which are global node number. - The exact location of the entry is computed using
iNodeNum,ivar,jNodeNumandjvar.
- If addContribution and scale present then we add contribution to matrix, instead of setting the value.
Storage format of value should be FMT_NODES because the storage format of MatrixField_ is FMT_NODES.
Interface 5β
- π Set 5
INTERFACE
MODULE SUBROUTINE Set( obj, iNodeNum, jNodeNum, ivar, &
& jvar, idof, jdof, value, scale, addContribution )
CLASS( MatrixField_ ), INTENT( INOUT ) :: obj
INTEGER( I4B ), INTENT( IN ) :: iNodeNum(:)
INTEGER( I4B ), INTENT( IN ) :: jNodeNum(:)
INTEGER( I4B ), INTENT( IN ) :: ivar
INTEGER( I4B ), INTENT( IN ) :: jvar
INTEGER( I4B ), INTENT( IN ) :: idof
INTEGER( I4B ), INTENT( IN ) :: jdof
REAL( DFP ), INTENT( IN ) :: value(:,:)
REAL( DFP ), OPTIONAL, INTENT( IN ) :: scale
LOGICAL( LGT ), OPTIONAL, INTENT( IN ) :: addContribution
END SUBROUTINE Set
END INTERFACE
This routine can be called for rectangle matrix.
- If addContribution and scale not present then
- This subroutine sets a block of data to matrix.
- This block data is contained in
value(:,:) - The size of
valueshould beSIZE(iNodeNum),SIZE(jNodeNum) - globalNode contains the global node number
- This entry is specified by the
iNodeNumandjNodeNum, which are global node number. - The exact location of the entry is computed using
iNodeNum,ivar,idof,jNodeNumandjvar,jdof.
- If addContribution and scale present then we add contribution to matrix, instead of setting the value.
Interface 6β
- π Set 6
INTERFACE
MODULE SUBROUTINE Set( obj, iNodeNum, jNodeNum, ivar, jvar, &
& idof, jdof, value, scale, addContribution )
CLASS( MatrixField_ ), INTENT( INOUT ) :: obj
INTEGER( I4B ), INTENT( IN ) :: iNodeNum
INTEGER( I4B ), INTENT( IN ) :: jNodeNum
INTEGER( I4B ), INTENT( IN ) :: ivar
INTEGER( I4B ), INTENT( IN ) :: jvar
INTEGER( I4B ), INTENT( IN ) :: idof
INTEGER( I4B ), INTENT( IN ) :: jdof
REAL( DFP ), INTENT( IN ) :: value
REAL( DFP ), OPTIONAL, INTENT( IN ) :: scale
LOGICAL( LGT ), OPTIONAL, INTENT( IN ) :: addContribution
END SUBROUTINE Set
END INTERFACE
If addContribution and scale NOT PRESENT, then:
- This subroutine sets a scalar value
valueto a single entry of the matrix. - This entry is specified by the
iNodeNumandjNodeNum. - The exact location of the entry is computed using
iNodeNum,idof,ivar, andjNodeNum,jdof,jvar.
If addContribution and scale are PRESENT then:
- This subroutine adds a scalar value
valueto a single entry of the matrix. - This entry is specified by the
iNodeNumandjNodeNum. - The exact location of the entry is computed using
iNodeNum,idof,ivar, andjNodeNum,jdof,jvar.
Interface 7β
- π Set 7
INTERFACE
MODULE SUBROUTINE Set( obj, iNodeNum, jNodeNum, ivar, jvar, &
& ispacecompo, itimecompo, jspacecompo, jtimecompo, value, scale, &
& addContribution )
CLASS( MatrixField_ ), INTENT( INOUT ) :: obj
INTEGER( I4B ), INTENT( IN ) :: iNodeNum
INTEGER( I4B ), INTENT( IN ) :: jNodeNum
INTEGER( I4B ), INTENT( IN ) :: ivar
INTEGER( I4B ), INTENT( IN ) :: jvar
INTEGER( I4B ), INTENT( IN ) :: ispacecompo
INTEGER( I4B ), INTENT( IN ) :: itimecompo
INTEGER( I4B ), INTENT( IN ) :: jspacecompo
INTEGER( I4B ), INTENT( IN ) :: jtimecompo
REAL( DFP ), INTENT( IN ) :: value
REAL( DFP ), OPTIONAL, INTENT( IN ) :: scale
LOGICAL( LGT ), OPTIONAL, INTENT( IN ) :: addContribution
END SUBROUTINE Set
END INTERFACE
If addContribution and scale are not present then:
- This subroutine sets a scalar value
valueto a single entry of the matrix. - This entry is specified by the
iNodeNumandjNodeNum. - The exact location of the entry is computed using (
iNodeNum,ivar,ispacecompo,itimecompo) and (jNodeNum,jvar,jspacecompo,jtimecompo).
If addContribution and scale present, then this subroutine adds a scalar value value to a single entry of the matrix.
Interface 8β
- π Set 8
INTERFACE
MODULE SUBROUTINE Set( obj, iNodeNum, jNodeNum, ivar, jvar, &
& ispacecompo, itimecompo, jspacecompo, jtimecompo, value, scale, &
& addContribution )
CLASS( MatrixField_ ), INTENT( INOUT ) :: obj
INTEGER( I4B ), INTENT( IN ) :: iNodeNum(:)
INTEGER( I4B ), INTENT( IN ) :: jNodeNum(:)
INTEGER( I4B ), INTENT( IN ) :: ivar
INTEGER( I4B ), INTENT( IN ) :: jvar
INTEGER( I4B ), INTENT( IN ) :: ispacecompo
INTEGER( I4B ), INTENT( IN ) :: itimecompo
INTEGER( I4B ), INTENT( IN ) :: jspacecompo
INTEGER( I4B ), INTENT( IN ) :: jtimecompo
REAL( DFP ), INTENT( IN ) :: value
REAL( DFP ), OPTIONAL, INTENT( IN ) :: scale
LOGICAL( LGT ), OPTIONAL, INTENT( IN ) :: addContribution
END SUBROUTINE Set
END INTERFACE
If addContribution and scale are not present then:
- This subroutine sets
valueto the matrix. - This entry is specified by the
iNodeNumandjNodeNum. - The exact location of the entry is computed using (
iNodeNum,ivar,ispacecompo,itimecompo) and (jNodeNum,jvar,jspacecompo,jtimecompo).
If addContribution and scale present, then this subroutine adds value to the matrix.
Interface 9β
- π Set 9
INTERFACE
MODULE SUBROUTINE Set( obj, iNodeNum, jNodeNum, ivar, jvar, &
& ispacecompo, itimecompo, jspacecompo, jtimecompo, value, scale, &
& addContribution )
CLASS( MatrixField_ ), INTENT( INOUT ) :: obj
INTEGER( I4B ), INTENT( IN ) :: iNodeNum(:)
INTEGER( I4B ), INTENT( IN ) :: jNodeNum(:)
INTEGER( I4B ), INTENT( IN ) :: ivar
INTEGER( I4B ), INTENT( IN ) :: jvar
INTEGER( I4B ), INTENT( IN ) :: ispacecompo
INTEGER( I4B ), INTENT( IN ) :: itimecompo(:)
INTEGER( I4B ), INTENT( IN ) :: jspacecompo
INTEGER( I4B ), INTENT( IN ) :: jtimecompo(:)
REAL( DFP ), INTENT( IN ) :: value
REAL( DFP ), OPTIONAL, INTENT( IN ) :: scale
LOGICAL( LGT ), OPTIONAL, INTENT( IN ) :: addContribution
END SUBROUTINE Set
END INTERFACE
If addContribution and scale are not present then:
- This subroutine sets
valueto the matrix. - This entry is specified by the
iNodeNumandjNodeNum. - The exact location of the entry is computed using (
iNodeNum,ivar,ispacecompo,itimecompo) and (jNodeNum,jvar,jspacecompo,jtimecompo).
If addContribution and scale present, then this subroutine adds value to the matrix.
Interface 10β
- π Set 10
INTERFACE
MODULE SUBROUTINE Set( obj, iNodeNum, jNodeNum, ivar, jvar, &
& ispacecompo, itimecompo, jspacecompo, jtimecompo, value, scale, &
& addContribution )
CLASS( MatrixField_ ), INTENT( INOUT ) :: obj
INTEGER( I4B ), INTENT( IN ) :: iNodeNum(:)
INTEGER( I4B ), INTENT( IN ) :: jNodeNum(:)
INTEGER( I4B ), INTENT( IN ) :: ivar
INTEGER( I4B ), INTENT( IN ) :: jvar
INTEGER( I4B ), INTENT( IN ) :: ispacecompo(:)
INTEGER( I4B ), INTENT( IN ) :: itimecompo
INTEGER( I4B ), INTENT( IN ) :: jspacecompo(:)
INTEGER( I4B ), INTENT( IN ) :: jtimecompo
REAL( DFP ), INTENT( IN ) :: value
REAL( DFP ), OPTIONAL, INTENT( IN ) :: scale
LOGICAL( LGT ), OPTIONAL, INTENT( IN ) :: addContribution
END SUBROUTINE Set
END INTERFACE
If addContribution and scale are not present then:
- This subroutine sets
valueto the matrix. - This entry is specified by the
iNodeNumandjNodeNum. - The exact location of the entry is computed using (
iNodeNum,ivar,ispacecompo,itimecompo) and (jNodeNum,jvar,jspacecompo,jtimecompo).
If addContribution and scale present, then this subroutine adds value to the matrix.