MDStressLab++
Loading...
Searching...
No Matches
testGrid.cpp

This example demonstrates the Grid class.

  1. Construct two grids in a rectangular region defined by the lower and upper limits that describe the region's body diagonal endpoints. 'grid1' is a 3D Reference grid, while 'grid2' is a 1D Current grid
    15 Vector3d lowerLimit(1,2,3);
    16 Vector3d upperLimit(2,4,6);
    17 int ngrid= 10;
    18 Grid<Reference> grid1(lowerLimit,upperLimit,ngrid,ngrid,ngrid);
    19 Grid<Current> grid2(lowerLimit,upperLimit,ngrid);
    Definition Grid.h:31
    Eigen::Matrix< double, 1, DIM, Eigen::RowMajor > Vector3d
    Definition typedef.h:60
  2. Write the coordinates of grids to files grid1.grid and grid2.grid
    23 grid1.write("grid1");
    24 grid2.write("grid2");
  3. An alternate way to construct a grid is to read its coordinates from a file. The following snippet initializes a 3D Current grid and reads its coordinates from a file
    28 Grid<Current> grid3(ngrid*ngrid*ngrid);
    29 grid3.read("grid1.grid");
  4. We can keep track of the total number of Reference and Current grids using static variables.
    33 std::cout << "Number of Current grids = " << Grid<Current>::numberOfCurrentGrids << std::endl;
    34 std::cout << "Number of Reference grids = " << Grid<Reference>::numberOfReferenceGrids << std::endl;

Full code:

1/*
2 * grid_test.cpp
3 *
4 * Created on: Nov 29, 2019
5 * Author: Nikhil
6 */
7#include "Grid.h"
8#include <iostream>
9#include "typedef.h"
10#include <fstream>
11
12int main()
13{
15 Vector3d lowerLimit(1,2,3);
16 Vector3d upperLimit(2,4,6);
17 int ngrid= 10;
18 Grid<Reference> grid1(lowerLimit,upperLimit,ngrid,ngrid,ngrid);
19 Grid<Current> grid2(lowerLimit,upperLimit,ngrid);
23 grid1.write("grid1");
24 grid2.write("grid2");
28 Grid<Current> grid3(ngrid*ngrid*ngrid);
29 grid3.read("grid1.grid");
33 std::cout << "Number of Current grids = " << Grid<Current>::numberOfCurrentGrids << std::endl;
34 std::cout << "Number of Reference grids = " << Grid<Reference>::numberOfReferenceGrids << std::endl;
36}
37
38
39
40
41
void read(std::string)
Definition Grid.cpp:133
void write(std::string) const
Definition Grid.cpp:122
int main()