Commit bcfb4472 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Removed methods save and load from MeshFunction, MeshFunctionView and VectorField

Notes:

- saving and loading distributed mesh functions is commented out in
  various problems - PVTI reader/writer is needed
- disabled compilation of DistributedVectorField and DistributedGridIO
  (the tests were already broken and not executed anyway)
parent c6898329
Loading
Loading
Loading
Loading
+62 −66
Original line number Diff line number Diff line
@@ -133,11 +133,7 @@ setInitialCondition( const Config::ParameterContainer& parameters,
   const String& initialConditionFile = parameters.getParameter< String >( "initial-condition" );
   MeshFunctionViewType u;
   u.bind( this->getMesh(), *dofsPointer );
   try
   {
      u.boundLoad( initialConditionFile );
   }
   catch(...)
   if( ! Functions::readMeshFunction( u, "u", initialConditionFile ) )
   {
      std::cerr << "I am not able to load the initial condition from the file " << initialConditionFile << "." << std::endl;
      return false;
@@ -189,11 +185,11 @@ makeSnapshot( const RealType& time,

   FileName fileName;
   fileName.setFileNameBase( "u-" );
   fileName.setExtension( "tnl" );
   fileName.setExtension( "vti" );
   fileName.setIndex( step );

   //FileNameBaseNumberEnding( "u-", step, 5, ".tnl", fileName );
   u.save( fileName.getFileName() );
   u.write( "u", fileName.getFileName() );
   return true;
}

+1 −3
Original line number Diff line number Diff line
@@ -9,11 +9,9 @@ tnl-grid-setup --dimensions 2 \
               --size-y 100

tnl-init --test-function sin-wave \
         --output-file init.tnl
         --output-file init.vti
./HeatEquationBenchmark --time-discretisation explicit \
              --boundary-conditions-constant 0 \
              --discrete-solver merson \
              --snapshot-period 0.01 \
              --final-time 1.0

tnl-view --mesh mesh.tnl --input-files *tnl     
+3 −3
Original line number Diff line number Diff line
@@ -329,7 +329,7 @@ bool solveHeatEquationCuda( const Config::ParameterContainer& parameters,
   vecU.bind( cuda_u, gridXSize * gridYSize );
   Functions::MeshFunctionView< GridType > meshFunction;
   meshFunction.bind( gridPointer, vecU );
   meshFunction.save( "simple-heat-equation-initial.tnl" );
   meshFunction.write( "u", "simple-heat-equation-initial.vti" );

   Containers::VectorView< Real, Devices::Cuda, Index > vecAux;
   vecAux.bind( cuda_aux, gridXSize * gridYSize );
@@ -416,7 +416,7 @@ bool solveHeatEquationCuda( const Config::ParameterContainer& parameters,
   if( verbose )
     std::cout << "Saving result..." << std::endl;

   meshFunction.save( "simple-heat-equation-result.tnl" );
   meshFunction.write( "u", "simple-heat-equation-result.vti" );

   /***
    * Freeing allocated memory
@@ -556,7 +556,7 @@ bool solveHeatEquationHost( const Config::ParameterContainer& parameters,
   vecU.bind( u, gridXSize * gridYSize );
   Functions::MeshFunctionView< GridType > meshFunction;
   meshFunction.bind( gridPointer, vecU );
   meshFunction.save( "simple-heat-equation-result.tnl" );
   meshFunction.write( "u", "simple-heat-equation-result.vti" );

   /***
    * Freeing allocated memory
+4 −5
Original line number Diff line number Diff line
@@ -123,7 +123,7 @@ setInitialCondition( const Config::ParameterContainer& parameters,
{
  this->bindDofs( mesh, dofs );
  const String& initialConditionFile = parameters.getParameter< String >( "initial-condition" );
  if( ! this->solution.boundLoad( initialConditionFile ) )
  if( ! Functions::readMeshFunction( this->solution, "u", initialConditionFile ) )
  {
    std::cerr << "I am not able to load the initial condition from the file " << initialConditionFile << "." <<std::endl;
    return false;
@@ -147,8 +147,7 @@ makeSnapshot( const RealType& time,

   String fileName;
   FileNameBaseNumberEnding( "u-", step, 5, ".tnl", fileName );
   if( ! this->solution.save( fileName ) )
	   return false;
   this->solution.write( "u", fileName );

   return true;
}
+17 −16
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@

#pragma once
#include <TNL/FileName.h>
#include <TNL/Exceptions/NotImplementedError.h>

#include "tnlDirectEikonalProblem.h"

@@ -127,20 +128,17 @@ setInitialCondition( const Config::ParameterContainer& parameters,
  if( CommunicatorType::isDistributed() )
  {
    std::cout<<"Nodes Distribution: " << initialData->getMesh().getDistributedMesh()->printProcessDistr() << std::endl;
    if(distributedIOType==Meshes::DistributedMeshes::MpiIO)
      Meshes::DistributedMeshes::DistributedGridIO<MeshFunctionType,Meshes::DistributedMeshes::MpiIO> ::load(inputFile, *initialData );
    if(distributedIOType==Meshes::DistributedMeshes::LocalCopy)
      Meshes::DistributedMeshes::DistributedGridIO<MeshFunctionType,Meshes::DistributedMeshes::LocalCopy> ::load(inputFile, *initialData );
    throw Exceptions::NotImplementedError( "PVTI reader is not implemented yet." );
//    if(distributedIOType==Meshes::DistributedMeshes::MpiIO)
//      Meshes::DistributedMeshes::DistributedGridIO<MeshFunctionType,Meshes::DistributedMeshes::MpiIO> ::load(inputFile, *initialData );
//    if(distributedIOType==Meshes::DistributedMeshes::LocalCopy)
//      Meshes::DistributedMeshes::DistributedGridIO<MeshFunctionType,Meshes::DistributedMeshes::LocalCopy> ::load(inputFile, *initialData );
    synchronizer.setDistributedGrid( initialData->getMesh().getDistributedMesh() );
    synchronizer.synchronize( *initialData );
  }
  else
  {
      try
      {
          this->initialData->boundLoad( inputFile );
      }
      catch(...)
      if( ! Functions::readMeshFunction( *this->initialData, "u", inputFile ) )
      {
         std::cerr << "I am not able to load the initial condition from the file " << inputFile << "." << std::endl;
         return false;
@@ -164,17 +162,20 @@ makeSnapshot( )

   FileName fileName;
   fileName.setFileNameBase( "u-" );
   fileName.setExtension( "tnl" );

   if(CommunicatorType::isDistributed())
   {
      if(distributedIOType==Meshes::DistributedMeshes::MpiIO)
        Meshes::DistributedMeshes::DistributedGridIO<MeshFunctionType,Meshes::DistributedMeshes::MpiIO> ::save(fileName.getFileName(), *u );
      if(distributedIOType==Meshes::DistributedMeshes::LocalCopy)
        Meshes::DistributedMeshes::DistributedGridIO<MeshFunctionType,Meshes::DistributedMeshes::LocalCopy> ::save(fileName.getFileName(), *u );
      fileName.setExtension( "pvti" );
      throw Exceptions::NotImplementedError( "PVTI writer is not implemented yet." );
//      if(distributedIOType==Meshes::DistributedMeshes::MpiIO)
//        Meshes::DistributedMeshes::DistributedGridIO<MeshFunctionType,Meshes::DistributedMeshes::MpiIO> ::save(fileName.getFileName(), *u );
//      if(distributedIOType==Meshes::DistributedMeshes::LocalCopy)
//        Meshes::DistributedMeshes::DistributedGridIO<MeshFunctionType,Meshes::DistributedMeshes::LocalCopy> ::save(fileName.getFileName(), *u );
   }
   else {
      fileName.setExtension( "vti" );
      this->u->write( "u", fileName.getFileName() );
   }
   else
      this->u->save( fileName.getFileName() );
   return true;
}

Loading