Commit Graph

11496 Commits

Author SHA1 Message Date
brown
cd962a7e08 Updated this matlab script to also write out vector files using write_vector.m
Peter Brown, 12-19-97
1997-12-19 19:51:02 +00:00
brown
24b27e6503 write_vector.m - new matlab function for writing vectors to input file format
for parallel smg code

Similar to write_matrix.m

Author:  Peter Brown, 12-19-97
1997-12-19 19:50:04 +00:00
brown
8ffc7551f6 fixed some minor bugs, and corrected errors in comments
Peter Brown, 12-19-97
1997-12-19 19:48:21 +00:00
brown
96633be513 one_to_many_vector - converts one input vector file into many subfiles
similar to one_to_many

Author: Peter Brown, 12-19-97
1997-12-19 19:46:41 +00:00
falgout
657c2593b7 Converted several macros to functions. 1997-12-19 16:59:03 +00:00
jjones
da2e65fbb0 added code to wrappers to call dimension specific (2 and 3) RAP
routines
1997-12-18 20:40:15 +00:00
falgout
730745506f Adding skeleton of file for other developers to work on. 1997-12-18 19:19:52 +00:00
jjones
16d8dfbadc Initial check in of smg1_setup_rap.c 1997-12-18 19:00:03 +00:00
jjones
a22ec98a9f Bug fixes in smg3_setup_rap.c
First relatively complete (i.e. compiles) version of smg2_setup_rap.c
1997-12-18 17:25:03 +00:00
falgout
5b0b8fab4c Fix SBoxSize macro. 1997-12-18 13:43:39 +00:00
brown
57717479c0 This file contains the prob 1 matrix for the ardra_write_matrix matlab script
file.

Author:  Peter Brown, 12-17-97
1997-12-18 00:26:39 +00:00
brown
cdf4647b77 This file is a matlab function for writing out a matlab stencil-based
matrix to a file.  It is called by the ardra_write_matrix and
laplacian_write_matrix matlab script files.

Author: Peter Brown, 12-17-97
1997-12-18 00:25:44 +00:00
brown
16b0a82781 This file is a matlab script for generating either a 2d or 3d matrix for
the Laplacian and writing it to a file for the paralel smg code.  It is
different from create_2d_laplacian.c and create_3d_laplacian.c in that
the appropriate stencil coefficients are zero at boundaries, unlike the
'c' codes.

Author: Peter Brown, 12-17-97
1997-12-18 00:24:14 +00:00
brown
6efac58032 This file is a matlab script that writes out a diffusion matrix from ardra
to a file for the parallel smg code.  It can be used as a template for
others to modify for writing out any matlab stencil-based matrix to a file
for the parallel smg code.

Author:  Peter Brown, 12-17-97
1997-12-18 00:21:14 +00:00
brown
6ab738e25f Fixed bug involving grid extents for sub_grids. It would not recreate the
entire grid among the sub_grids sometimes.

-Peter Brown, 12-17-97
1997-12-17 22:55:06 +00:00
brown
702aa5309f Added prototype for CopyBoxArrayData routine in box.c
-Peter Brown, 12-17-97
1997-12-17 22:53:40 +00:00
falgout
95f324246b Added zzz_StructMatrixExtractPointerByIndex routine. 1997-12-17 19:48:57 +00:00
falgout
ee946cc21b Updating repository for developers. 1997-12-17 19:48:26 +00:00
jjones
448277a9b4 First check-in that is mostly complete. The file contains 4 routines.
1) zzz_SMGExtractPointerByIndex

    Routine to get pointer to data using a stencil index. This
    routine is likely misplaced in this file as its not dimension
    specific and could be used in contexts outside of building RAP.

 2) zzz_SMG3NewRAPOp

    Routine to initialize new coarse grid operator stucture.

 3) zzz_SMG3BuildRAPSym

    Routine to set RAP coefficients. Only sets the lower triangular
    part (lower triangular part of matrix in standard lexicalgraphic
    ordering) and the diagonal.

 4) zzz_SMG3BuildRAPNoSym

    Another routine to set RAP coefficients. Only sets the upper
    triangular part.
1997-12-17 19:09:19 +00:00
falgout
40fc1cf1b0 Use zzz_GetSBoxSize instead of extracting the box from compute_sbox and
using zzz_GetBoxSize.
1997-12-17 16:39:52 +00:00
falgout
2973528584 Changed arguments to BoxLoop macros.
These arguments are more intuitive, but most importantly, they work
in a straightforward manner for SBoxes.  Also, the new loops are
probably more efficient.
1997-12-17 15:42:38 +00:00
brown
1f44f76561 Added blocks to make one_to_many, create_2d_laplacian, and create_3d_laplacian
Peter Brown, 12-17-97
1997-12-16 23:51:56 +00:00
brown
fd4fdffdbc Fixed bug in writing stencil information to files. The stencil index x: was
incorrectly written to the files.

pnb 12/17/97
1997-12-16 23:50:21 +00:00
brown
0be4785c96 The create_3d_laplacian module generates a 3d Laplacian matrix. The usage
syntax is as follows:

  Usage:

    create_3d_laplacian filename nx ny nz xlength ylength zlength

    where filename = output file containing matrix,
          nx = number of pts in x direction,
          ny = number of pts in y direction,
          nz = number of pts in z direction,
          xlength = total length in x, and
          ylength = total length in y.
          zlength = total length in z.

  The matrix generated is for the 3-d Laplacian on a
  (0,xlength) x (0,ylength) x (0,zlength) box using a 7-pt stencil
  with delta_x = xlength/nx, delta_y = ylength/ny,
  and delta_z = zlength/nz.

By changing the xlength, ylength and zlength parameters, one can make the
corresponding stencil elements of varying size (i.e., badly scaled).

The file 'filename' can then be used as input to one_to_many to generate
files for the parallel smg code.

Author: Peter Brown, 12-16-97
1997-12-16 19:01:00 +00:00
brown
a84d329b68 The create_2d_laplacian module generates a 2d Laplacian matrix. The
usage is as follows:

  Usage:

       create_2d_laplacian filename nx ny xlength ylength

       where filename = output file containing matrix,
             nx = number of pts in x direction,
             ny = number of pts in y direction,
             xlength = total length in x, and
             ylength = total length in y.

  The matrix generated is for the 2-d Laplacian on a
  (0,xlength) x (0,ylength) rectangle using a 5-pt stencil
  with delta_x = xlength/nx and delta_y = ylength/ny.

The file 'filename' can then be used as input for the one_to_many module
to generate input files for the parallel smg code.

Author: Peter Brown, 12-16-97
1997-12-16 18:58:20 +00:00
brown
b4c64be82a Added extra module called zzz_CopyBoxArrayData:
It copies data from one box, box_array_in, to another box, box_array_out.
 This function assumes only one box in box_array_in and
 that box_array_out consists of a sub_grid to that in box_array_in.
 This routine then copies data values from box_array_in to box_array_out.

 Author: Peter Brown, 12-16-97
1997-12-16 18:54:54 +00:00
brown
67c4bf2899 This file takes an input file containing matrix data from one block and one
grid and subdivides it into several files for use as input to the parallel
smg code.  The usage syntax is

Usage:

     mpirun -np 1 one_to_many filename sub_i sub_j sub_k

     where filename = file containing matrix to subdivide,
           sub_i = number of subdivisions in i,
           sub_j = number of subdivisions in j, and
           sub_k = number of subdivisions in i.
The number of files written is sub_i*sub_j*sub_k.

The files written all use the filename given as the root, and append .xxxxx
for the different submatices.  These files can then be read by the parallel
code.

Written and committed bu Peter Brown
12/16/97
1997-12-16 18:52:07 +00:00
falgout
45bf4cfb05 Changed names from dimension specific to general names.
Added more code (getting closer).
1997-12-12 17:56:39 +00:00
jjones
928f321362 added some upper level details 1997-12-11 21:56:20 +00:00
falgout
f26123e24d Fixed problems with previous version.
This version seems to be working.
1997-12-10 23:20:58 +00:00
falgout
3b5f7d1219 This version currently doesn't work.
Updating to make available to other developers.
1997-12-10 20:45:11 +00:00
falgout
e65f4aca73 Updating repository for other developers. 1997-12-10 20:38:24 +00:00
falgout
6c1f180621 Update of code to make available to other developers. 1997-12-08 19:18:49 +00:00
falgout
e66504fefb Update of code to make available to other developers. 1997-12-08 19:07:07 +00:00
falgout
31a0ff397e Added a SetIndex and CopyIndex routine and modified routines to use them.
Added the -Wall option to the Makefile and cleaned up the compile.
1997-12-03 16:51:29 +00:00
cleary
a6b951c38b Initial version of PETSc based solvers 1997-12-02 23:39:31 +00:00
cleary
0ef6b30008 Initial version of PETSc based block solvers with structured interface. 1997-12-02 23:33:42 +00:00
falgout
b27487efe4 Added a matvec, copy, scale, and axpy routine.
Removed ComputeInfo structure.
Removed StencilSpace from StructMatrix structure.
1997-12-01 21:29:43 +00:00
falgout
f07ce10d27 Fixed zzz_SetStructVectorBoxValues.
Modified I/O routines to include read routines for matrices and vectors.
Modified driver_internal to read and write matrix and vector.
1997-11-28 19:08:31 +00:00
falgout
b57abe2ae8 This version seems to work. The tests have still been somewhat simple,
but the main communications routines have been stressed somewhat.
1997-11-27 08:04:14 +00:00
falgout
516f7ba7e8 This revision is almost working. 1997-11-25 20:30:53 +00:00
jjones
363ad46261 Added sketch of code to calculate 3d coarse grid operator to smg3_setup_rap.c
Initial check in for similar sketch of 2d code in smg2_setup_rap.c
1997-11-21 22:50:00 +00:00
falgout
b6c513e2be Initial checkin. 1997-11-13 21:54:48 +00:00
falgout
089d1324cc Initial checkin. 1997-11-13 15:59:20 +00:00
vhenson
1d9151cd36 Used sparse identity for more efficient memory utilization 1997-10-02 18:52:41 +00:00
vhenson
5fa61659dc Timing routine callable from fortran added. 1997-09-30 17:07:49 +00:00
vhenson
be409a26e7 Improved (but not yet ideal) timing routines 1997-09-30 17:03:48 +00:00
vhenson
32cc862966 Improved (but not ideal) timing routines 1997-09-30 16:55:34 +00:00
vhenson
da2ec75352 Added casts in calls to PrintTiming, so that timer
is DEC compatible.
1997-09-16 19:58:32 +00:00
vhenson
69ff026480 Reset definitions of NDIM macros to be reasonable 1997-09-16 16:04:59 +00:00