You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

36 lines
1.2 KiB

#include <spdlog/spdlog.h>
#include "Util.h"
int main() {
using namespace da::sha::top;
std::string ex_name = "Lshape";
std::filesystem::path out_dir(OUTPUT_DIR);
std::filesystem::path assets_dir(ASSETS_DIR);
int len_x = 2;
int len_y = 30;
int len_z = 20;
// NOTE: USER DEFINE GRID HERE
//e.g. L-shape mesh
Tensor3d L_shape_grid(len_x, len_y, len_z);
L_shape_grid.setConstant(1);
// set the initial voxel model
for (int k = 0; k < len_z; ++k) {
for (int j = 0; j < len_y; ++j) {
for (int i = 0; i < len_x; ++i) {
if (j >= len_y * 0.5 & k >= len_z * 0.5) {
L_shape_grid(i, j, k) = 0;
}
}
}
}
std::filesystem::path txt_path =
assets_dir / "voxel_model" / (ex_name + "_model.txt");
WriteTensor3d(txt_path, L_shape_grid);
spdlog::info("Write user defined grid to file: {}", txt_path.string());
// vtk
std::filesystem::path vtk_path =
assets_dir / "voxel_model" / (ex_name + "_model.vtk");
WriteTensorToVtk(vtk_path, L_shape_grid);
spdlog::info("Visualize user defined grid to file: {}", vtk_path.string());
}