/[escript]/branches/trilinos_from_5897/dudley/src/Assemble_getAssembleParameters.cpp
ViewVC logotype

Diff of /branches/trilinos_from_5897/dudley/src/Assemble_getAssembleParameters.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 6089 by caltinay, Tue Mar 22 06:58:00 2016 UTC revision 6090 by caltinay, Wed Mar 23 06:35:54 2016 UTC
# Line 60  AssembleParameters::AssembleParameters(c Line 60  AssembleParameters::AssembleParameters(c
60      // get the number of equations and components      // get the number of equations and components
61      if (sm == NULL) {      if (sm == NULL) {
62          if (rhs.isEmpty()) {          if (rhs.isEmpty()) {
63              numEqu = numComp = 1;              numEqu = 1;
64          } else {          } else {
65              numEqu = numComp = rhs.getDataPointSize();              numEqu = rhs.getDataPointSize();
66          }          }
67      } else {      } else {
68          if (!rhs.isEmpty() && rhs.getDataPointSize() != sm->getRowBlockSize()) {          if (!rhs.isEmpty() && rhs.getDataPointSize() != sm->getRowBlockSize()) {
69              throw DudleyException("AssembleParameters: matrix row block size "              throw DudleyException("AssembleParameters: matrix row block size "
70                     "and number of components of right hand side don't match.");                     "and number of components of right hand side don't match.");
71          }          }
72            if (sm->getRowBlockSize() != sm->getColumnBlockSize())
73                throw DudleyException("Dudley requires number of equations == number of solutions.");
74          numEqu = sm->getRowBlockSize();          numEqu = sm->getRowBlockSize();
         numComp = sm->getColumnBlockSize();  
75      }      }
76      DOF = nodes->borrowTargetDegreesOfFreedom();      DOF = nodes->borrowTargetDegreesOfFreedom();
77      DOF_UpperBound = nodes->getNumDegreesOfFreedom();      DOF_UpperBound = nodes->getNumDegreesOfFreedom();
# Line 88  AssembleParameters::AssembleParameters(c Line 89  AssembleParameters::AssembleParameters(c
89                                    "degrees of freedom in mesh");                                    "degrees of freedom in mesh");
90          }          }
91          // Make sure # cols in matrix == num local DOF          // Make sure # cols in matrix == num local DOF
92          if (numCols != numComp * nodes->getNumDegreesOfFreedom()) {          if (numCols != numRows) {
93              throw DudleyException("AssembleParameters: number of columns in "              throw DudleyException("AssembleParameters: number of columns in "
94                                    "matrix does not match the number of "                                    "matrix does not match the number of "
95                                    "degrees of freedom in mesh");                                    "degrees of freedom in mesh");

Legend:
Removed from v.6089  
changed lines
  Added in v.6090

  ViewVC Help
Powered by ViewVC 1.1.26