Skip to content
Snippets Groups Projects
Commit 75483c9f authored by Dmitri Naumov's avatar Dmitri Naumov
Browse files

[PL] TM: Explicit tpl decl for createTMProcess.

parent 271f857a
No related branches found
No related tags found
No related merge requests found
...@@ -23,12 +23,6 @@ namespace ProcessLib ...@@ -23,12 +23,6 @@ namespace ProcessLib
{ {
namespace ThermoMechanics namespace ThermoMechanics
{ {
template <int DisplacementDim>
class ThermoMechanicsProcess;
extern template class ThermoMechanicsProcess<2>;
extern template class ThermoMechanicsProcess<3>;
template <int DisplacementDim> template <int DisplacementDim>
std::unique_ptr<Process> createThermoMechanicsProcess( std::unique_ptr<Process> createThermoMechanicsProcess(
MeshLib::Mesh& mesh, MeshLib::Mesh& mesh,
...@@ -182,11 +176,10 @@ std::unique_ptr<Process> createThermoMechanicsProcess( ...@@ -182,11 +176,10 @@ std::unique_ptr<Process> createThermoMechanicsProcess(
ProcessLib::parseSecondaryVariables(config, secondary_variables, ProcessLib::parseSecondaryVariables(config, secondary_variables,
named_function_caller); named_function_caller);
return std::unique_ptr<ThermoMechanicsProcess<DisplacementDim>>{ return std::make_unique<ThermoMechanicsProcess<DisplacementDim>>(
new ThermoMechanicsProcess<DisplacementDim>{ mesh, std::move(jacobian_assembler), parameters, integration_order,
mesh, std::move(jacobian_assembler), parameters, integration_order, std::move(process_variables), std::move(process_data),
std::move(process_variables), std::move(process_data), std::move(secondary_variables), std::move(named_function_caller));
std::move(secondary_variables), std::move(named_function_caller)}};
} }
template std::unique_ptr<Process> createThermoMechanicsProcess<2>( template std::unique_ptr<Process> createThermoMechanicsProcess<2>(
......
...@@ -9,7 +9,24 @@ ...@@ -9,7 +9,24 @@
#pragma once #pragma once
#include "ProcessLib/Process.h" #include <memory>
#include <vector>
namespace BaseLib
{
class ConfigTree;
}
namespace MeshLib
{
class Mesh;
}
namespace ProcessLib
{
class AbstractJacobianAssembler;
struct ParameterBase;
class Process;
class ProcessVariable;
}
namespace ProcessLib namespace ProcessLib
{ {
...@@ -24,5 +41,21 @@ std::unique_ptr<Process> createThermoMechanicsProcess( ...@@ -24,5 +41,21 @@ std::unique_ptr<Process> createThermoMechanicsProcess(
unsigned const integration_order, unsigned const integration_order,
BaseLib::ConfigTree const& config); BaseLib::ConfigTree const& config);
extern template std::unique_ptr<Process> createThermoMechanicsProcess<2>(
MeshLib::Mesh& mesh,
std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
std::vector<ProcessVariable> const& variables,
std::vector<std::unique_ptr<ParameterBase>> const& parameters,
unsigned const integration_order,
BaseLib::ConfigTree const& config);
extern template std::unique_ptr<Process> createThermoMechanicsProcess<3>(
MeshLib::Mesh& mesh,
std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
std::vector<ProcessVariable> const& variables,
std::vector<std::unique_ptr<ParameterBase>> const& parameters,
unsigned const integration_order,
BaseLib::ConfigTree const& config);
} // namespace ThermoMechanics } // namespace ThermoMechanics
} // namespace ProcessLib } // namespace ProcessLib
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