Skip to content

Commit

Permalink
Merge pull request #951 from endJunction/MoveUpLinearSolver
Browse files Browse the repository at this point in the history
Move up common process variables/functions.
  • Loading branch information
endJunction committed Jan 15, 2016
2 parents a14a751 + 4727502 commit 99bc7a4
Show file tree
Hide file tree
Showing 4 changed files with 221 additions and 157 deletions.
3 changes: 0 additions & 3 deletions Applications/ApplicationsLib/ProjectData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,6 @@ ProjectData::~ProjectData()
{
delete _geoObjects;

for(ProcessLib::Process* p : _processes)
delete p;

for (MeshLib::Mesh* m : _mesh_vec)
delete m;
}
Expand Down
15 changes: 9 additions & 6 deletions Applications/ApplicationsLib/ProjectData.h
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ class ProjectData
// TODO at the moment we have only one mesh, later there can be
// several meshes. Then we have to assign the referenced mesh
// here.
_processes.push_back(
_processes.emplace_back(
new ProcessLib::GroundwaterFlowProcess<GlobalSetupType>(
*_mesh_vec[0], _process_variables, _parameters, pc));
}
Expand All @@ -110,24 +110,26 @@ class ProjectData

/// Iterator access for processes.
/// Provides read access to the process container.
std::vector<ProcessLib::Process*>::const_iterator
std::vector<
std::unique_ptr<ProcessLib::Process<GlobalSetupType>>>::const_iterator
processesBegin() const
{
return _processes.begin();
}
std::vector<ProcessLib::Process*>::iterator
std::vector<std::unique_ptr<ProcessLib::Process<GlobalSetupType>>>::iterator
processesBegin()
{
return _processes.begin();
}

/// Iterator access for processes as in processesBegin().
std::vector<ProcessLib::Process*>::const_iterator
std::vector<
std::unique_ptr<ProcessLib::Process<GlobalSetupType>>>::const_iterator
processesEnd() const
{
return _processes.end();
}
std::vector<ProcessLib::Process*>::iterator
std::vector<std::unique_ptr<ProcessLib::Process<GlobalSetupType>>>::iterator
processesEnd()
{
return _processes.end();
Expand Down Expand Up @@ -187,7 +189,8 @@ class ProjectData
private:
GeoLib::GEOObjects *_geoObjects = new GeoLib::GEOObjects();
std::vector<MeshLib::Mesh*> _mesh_vec;
std::vector<ProcessLib::Process*> _processes;
std::vector<std::unique_ptr<ProcessLib::Process<GlobalSetupType>>>
_processes;
std::vector<ProcessLib::ProcessVariable> _process_variables;

/// Buffer for each process' config used in the process building function.
Expand Down

0 comments on commit 99bc7a4

Please sign in to comment.