/[escript]/trunk/esys2/finley/src/finleyC/Assemble_getAssembleParameters.c
ViewVC logotype

Diff of /trunk/esys2/finley/src/finleyC/Assemble_getAssembleParameters.c

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

revision 82 by jgs, Tue Oct 26 06:53:54 2004 UTC revision 97 by jgs, Tue Dec 14 05:39:33 2004 UTC
# Line 31  void Assemble_getAssembleParameters(Finl Line 31  void Assemble_getAssembleParameters(Finl
31    parm->numDim=nodes->numDim;    parm->numDim=nodes->numDim;
32    parm->numElementDim=parm->referenceElement->Type->numDim;    parm->numElementDim=parm->referenceElement->Type->numDim;
33    
34    if (!isExpanded(F) ) {    if (!isEmpty(F) && !isExpanded(F) ) {
35        Finley_ErrorCode=TYPE_ERROR;        Finley_ErrorCode=TYPE_ERROR;
36        sprintf(Finley_ErrorMsg,"Right hand side is not expanded.");        sprintf(Finley_ErrorMsg,"Right hand side is not expanded.");
37        return;        return;
38    }    }
39    /*  check the dimensions of S and F */    /*  check the dimensions of S and F */
40    if (S!=NULL && !isEmpty(F)) {    if (S!=NULL && !isEmpty(F)) {
41      if ( getDataPointSize(F)!=S->total_row_block_size) {      if ( getDataPointSize(F)!=S->logical_row_block_size) {
42        Finley_ErrorCode=TYPE_ERROR;        Finley_ErrorCode=TYPE_ERROR;
43        sprintf(Finley_ErrorMsg,"matrix rows and number of components of right hand side don't match.");        sprintf(Finley_ErrorMsg,"matrix row block size and number of components of right hand side don't match.");
44        return;        return;
45      }      }
46      if (! numSamplesEqual(F,1,S->num_rows*S->row_block_size)) {      if (! numSamplesEqual(F,1,(S->num_rows*S->row_block_size)/S->logical_row_block_size)) {
47        Finley_ErrorCode=TYPE_ERROR;        Finley_ErrorCode=TYPE_ERROR;
48        sprintf(Finley_ErrorMsg,"number of rows of matrix and length of right hand side don't match.");        sprintf(Finley_ErrorMsg,"number of rows of matrix and length of right hand side don't match.");
49        return;        return;
# Line 51  void Assemble_getAssembleParameters(Finl Line 51  void Assemble_getAssembleParameters(Finl
51    }    }
52    /* get the number of equations and components */    /* get the number of equations and components */
53    if (S!=NULL) {    if (S!=NULL) {
54      parm->numEqu=S->total_row_block_size;      parm->numEqu=S->logical_row_block_size;
55      parm->numComp=S->total_col_block_size;      parm->numComp=S->logical_col_block_size;
56    } else {    } else {
57      parm->numEqu=1;      parm->numEqu=1;
58      parm->numComp=1;      parm->numComp=1;
# Line 125  void Assemble_getAssembleParameters(Finl Line 125  void Assemble_getAssembleParameters(Finl
125    
126  /*  /*
127   * $Log$   * $Log$
128   * Revision 1.1  2004/10/26 06:53:57  jgs   * Revision 1.2  2004/12/14 05:39:29  jgs
129   * Initial revision   * *** empty log message ***
130     *
131     * Revision 1.1.1.1.2.2  2004/11/12 06:58:18  gross
132     * a lot of changes to get the linearPDE class running: most important change is that there is no matrix format exposed to the user anymore. the format is chosen by the Domain according to the solver and symmetry
133     *
134     * Revision 1.1.1.1.2.1  2004/10/28 22:59:24  gross
135     * finley's RecTest.py is running now: problem in SystemMatrixAdapater fixed
136     *
137     * Revision 1.1.1.1  2004/10/26 06:53:57  jgs
138     * initial import of project esys2
139   *   *
140   * Revision 1.2  2004/07/21 05:00:54  gross   * Revision 1.2  2004/07/21 05:00:54  gross
141   * name changes in DataC   * name changes in DataC

Legend:
Removed from v.82  
changed lines
  Added in v.97

  ViewVC Help
Powered by ViewVC 1.1.26