Add tests for all datasetypes for 3D
This commit is contained in:
parent
699dbae5ca
commit
fb72ab097b
@ -20,11 +20,7 @@ namespace
|
||||
|
||||
std::vector<vtkm::cont::DataSet> MakeDataSets()
|
||||
{
|
||||
vtkm::Float64 xmin = 0, xmax = 10;
|
||||
vtkm::Float64 ymin = 0, ymax = 10;
|
||||
vtkm::Float64 zmin = 0, zmax = 10;
|
||||
|
||||
vtkm::Bounds bounds(xmin, xmax, ymin, ymax, zmin, zmax);
|
||||
vtkm::Bounds bounds(0, 10, 0, 10, 0, 10);
|
||||
const vtkm::Id3 dims(16, 16, 16);
|
||||
auto dataSets = vtkm::worklet::testing::CreateAllDataSets(bounds, dims, false);
|
||||
|
||||
|
@ -11,8 +11,8 @@
|
||||
#include <iostream>
|
||||
#include <vtkm/cont/DataSetBuilderUniform.h>
|
||||
#include <vtkm/cont/testing/Testing.h>
|
||||
|
||||
#include <vtkm/filter/LagrangianStructures.h>
|
||||
#include <vtkm/worklet/testing/GenerateTestDataSets.h>
|
||||
|
||||
namespace auxiliary
|
||||
{
|
||||
@ -350,40 +350,37 @@ void Test2DLCS()
|
||||
void Test3DLCS()
|
||||
{
|
||||
/*Construct dataset and vector field*/
|
||||
vtkm::cont::DataSet inputData;
|
||||
vtkm::Bounds bounds(0, 10, 0, 10, 0, 10);
|
||||
vtkm::Id3 dims(5, 5, 5);
|
||||
vtkm::Vec3f origin(0.0f, 0.0f, 0.0f);
|
||||
vtkm::Vec3f spacing;
|
||||
spacing[0] = 10.0f / static_cast<vtkm::FloatDefault>(dims[0] - 1);
|
||||
spacing[1] = 10.0f / static_cast<vtkm::FloatDefault>(dims[1] - 1);
|
||||
spacing[2] = 10.0f / static_cast<vtkm::FloatDefault>(dims[2] - 1);
|
||||
vtkm::cont::DataSetBuilderUniform dataBuilder;
|
||||
inputData = dataBuilder.Create(dims, origin, spacing);
|
||||
|
||||
std::vector<vtkm::FloatDefault> diffVec;
|
||||
std::vector<vtkm::FloatDefault> visitVec;
|
||||
std::vector<vtkm::Vec3f> fieldVec;
|
||||
auto dataSets = vtkm::worklet::testing::CreateAllDataSets(bounds, dims, false);
|
||||
for (auto& input : dataSets)
|
||||
{
|
||||
std::vector<vtkm::FloatDefault> diffVec;
|
||||
std::vector<vtkm::FloatDefault> visitVec;
|
||||
std::vector<vtkm::Vec3f> fieldVec;
|
||||
|
||||
auxiliary::PopulateData(fieldVec, visitVec, diffVec, auxiliary::Option::_3D);
|
||||
auxiliary::PopulateData(fieldVec, visitVec, diffVec, auxiliary::Option::_3D);
|
||||
|
||||
vtkm::cont::ArrayHandle<vtkm::FloatDefault> diffHandle =
|
||||
vtkm::cont::make_ArrayHandle(diffVec, vtkm::CopyFlag::On);
|
||||
vtkm::cont::ArrayHandle<vtkm::FloatDefault> visitHandle =
|
||||
vtkm::cont::make_ArrayHandle(visitVec, vtkm::CopyFlag::On);
|
||||
vtkm::cont::ArrayHandle<vtkm::Vec3f> fieldHandle =
|
||||
vtkm::cont::make_ArrayHandle(fieldVec, vtkm::CopyFlag::On);
|
||||
inputData.AddPointField("velocity", fieldHandle);
|
||||
vtkm::cont::ArrayHandle<vtkm::FloatDefault> diffHandle =
|
||||
vtkm::cont::make_ArrayHandle(diffVec, vtkm::CopyFlag::On);
|
||||
vtkm::cont::ArrayHandle<vtkm::FloatDefault> visitHandle =
|
||||
vtkm::cont::make_ArrayHandle(visitVec, vtkm::CopyFlag::On);
|
||||
vtkm::cont::ArrayHandle<vtkm::Vec3f> fieldHandle =
|
||||
vtkm::cont::make_ArrayHandle(fieldVec, vtkm::CopyFlag::On);
|
||||
input.AddPointField("velocity", fieldHandle);
|
||||
|
||||
vtkm::filter::LagrangianStructures lagrangianStructures;
|
||||
lagrangianStructures.SetStepSize(0.01f);
|
||||
lagrangianStructures.SetNumberOfSteps(500);
|
||||
lagrangianStructures.SetAdvectionTime(0.01f * 500);
|
||||
lagrangianStructures.SetActiveField("velocity");
|
||||
vtkm::cont::DataSet outputData = lagrangianStructures.Execute(inputData);
|
||||
vtkm::filter::LagrangianStructures lagrangianStructures;
|
||||
lagrangianStructures.SetStepSize(0.01f);
|
||||
lagrangianStructures.SetNumberOfSteps(500);
|
||||
lagrangianStructures.SetAdvectionTime(0.01f * 500);
|
||||
lagrangianStructures.SetActiveField("velocity");
|
||||
vtkm::cont::DataSet outputData = lagrangianStructures.Execute(input);
|
||||
|
||||
vtkm::cont::ArrayHandle<vtkm::FloatDefault> FTLEField;
|
||||
outputData.GetField("FTLE").GetData().CopyTo(FTLEField);
|
||||
auxiliary::ValidateLCSFilterResult(FTLEField, visitHandle, diffHandle);
|
||||
vtkm::cont::ArrayHandle<vtkm::FloatDefault> FTLEField;
|
||||
outputData.GetField("FTLE").GetData().CopyTo(FTLEField);
|
||||
auxiliary::ValidateLCSFilterResult(FTLEField, visitHandle, diffHandle);
|
||||
}
|
||||
}
|
||||
|
||||
void TestLagrangianStructures()
|
||||
|
Loading…
Reference in New Issue
Block a user