Skip to content
Snippets Groups Projects
Commit 48a064a1 authored by Tomáš Oberhuber's avatar Tomáš Oberhuber Committed by Jakub Klinkovský
Browse files

Fixed DistributedMesh setup call in Time(In)dependentPDESolver.

parent 25081b90
No related branches found
No related tags found
1 merge request!10Periodic BC in distributed grid
This commit is part of merge request !10. Comments created here will be created in the context of that merge request.
......@@ -86,7 +86,7 @@ class TimeDependentPDESolver
MeshPointer meshPointer;
Meshes::DistributedMeshes::DistributedMesh<MeshType> distrMesh;
Meshes::DistributedMeshes::DistributedMesh<MeshType> distributedMesh;
DofVectorPointer dofsPointer;
......
......@@ -56,13 +56,14 @@ setup( const Config::ParameterContainer& parameters,
BaseType::setup( parameters, prefix );
/****
* Load the mesh from the mesh file
*/
/////
// Load the mesh from the mesh file
//
const String& meshFile = parameters.getParameter< String >( "mesh" );
if( ! Meshes::loadMesh< typename Problem::CommunicatorType >( meshFile, *this->meshPointer, distrMesh ) )
this->distributedMesh.setup( parameters, prefix );
if( ! Meshes::loadMesh< typename Problem::CommunicatorType >( meshFile, *this->meshPointer, distributedMesh ) )
return false;
if( ! Meshes::decomposeMesh< Problem >( parameters, prefix, *this->meshPointer, distrMesh, *problem ) )
if( ! Meshes::decomposeMesh< Problem >( parameters, prefix, *this->meshPointer, distributedMesh, *problem ) )
return false;
problem->setMesh( this->meshPointer );
......
......@@ -67,7 +67,9 @@ class TimeIndependentPDESolver : public PDESolver< typename Problem::RealType,
protected:
MeshPointer mesh;
MeshPointer meshPointer;
Meshes::DistributedMeshes::DistributedMesh<MeshType> distributedMesh;
CommonDataPointer commonDataPointer;
......
......@@ -45,21 +45,17 @@ TimeIndependentPDESolver< Problem >::
setup( const Config::ParameterContainer& parameters,
const String& prefix )
{
/****
* Load the mesh from the mesh file
*/
/////
// Load the mesh from the mesh file
//
const String& meshFile = parameters.getParameter< String >( "mesh" );
std::cout << "Loading a mesh from the file " << meshFile << "...";
if( ! this->mesh->load( meshFile ) )
{
std::cerr << std::endl;
std::cerr << "I am not able to load the mesh from the file " << meshFile << "." << std::endl;
std::cerr << " You may create it with tools like tnl-grid-setup or tnl-mesh-convert." << std::endl;
this->distributedMesh.setup( parameters, prefix );
if( ! Meshes::loadMesh< typename Problem::CommunicatorType >( meshFile, *this->meshPointer, distributedMesh ) )
return false;
if( ! Meshes::decomposeMesh< Problem >( parameters, prefix, *this->meshPointer, distributedMesh, *problem ) )
return false;
}
std::cout << " [ OK ] " << std::endl;
problem->setMesh( this->mesh );
problem->setMesh( this->meshPointer );
/****
* Set-up common data
......@@ -110,7 +106,7 @@ writeProlog( Logger& logger,
logger.writeHeader( problem->getPrologHeader() );
problem->writeProlog( logger, parameters );
logger.writeSeparator();
mesh->writeProlog( logger );
meshPointer->writeProlog( logger );
logger.writeSeparator();
const String& solverName = parameters. getParameter< String >( "discrete-solver" );
logger.writeParameter< String >( "Discrete solver:", "discrete-solver", parameters );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment