Skip to content

Commit

Permalink
Merge pull request #12614 from KratosMultiphysics/siapp/compilation/w…
Browse files Browse the repository at this point in the history
…indows

[SiApp] Enabling SIApp compilation in windows
  • Loading branch information
sunethwarna authored Sep 19, 2024
2 parents f30b065 + f056a61 commit f196a33
Show file tree
Hide file tree
Showing 14 changed files with 37 additions and 31 deletions.
1 change: 1 addition & 0 deletions .github/workflows/configure.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ set KRATOS_APPLICATIONS=%KRATOS_APPLICATIONS%%KRATOS_APP_DIR%\GeoMechanicsApplic
set KRATOS_APPLICATIONS=%KRATOS_APPLICATIONS%%KRATOS_APP_DIR%\DamApplication;
set KRATOS_APPLICATIONS=%KRATOS_APPLICATIONS%%KRATOS_APP_DIR%\PoromechanicsApplication;
set KRATOS_APPLICATIONS=%KRATOS_APPLICATIONS%%KRATOS_APP_DIR%\OptimizationApplication;
set KRATOS_APPLICATIONS=%KRATOS_APPLICATIONS%%KRATOS_APP_DIR%\SystemIdentificationApplication;

del /F /Q "%KRATOS_BUILD%\%KRATOS_BUILD_TYPE%\cmake_install.cmake"
del /F /Q "%KRATOS_BUILD%\%KRATOS_BUILD_TYPE%\CMakeCache.txt"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ file(GLOB_RECURSE KRATOS_DIGITAL_TWIN_APPLICATION_PYTHON_INTERFACE ${CMAKE_CURRE

add_library(KratosSystemIdentificationCore SHARED ${KRATOS_DIGITAL_TWIN_APPLICATION_CORE} ${KRATOS_DIGITAL_TWIN_APPLICATION_TESTING_SOURCES})
target_link_libraries(KratosSystemIdentificationCore PUBLIC KratosCore)
set_target_properties(KratosSystemIdentificationCore PROPERTIES COMPILE_DEFINITIONS "DIGITAL_TWIN_APPLICATION=EXPORT,API")
set_target_properties(KratosSystemIdentificationCore PROPERTIES COMPILE_DEFINITIONS "SYSTEM_IDENTIFICATION_APPLICATION=EXPORT,API")

###############################################################
## define library Kratos which defines the basic python interface
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ namespace Kratos
///@name Kratos Classes
///@{

class KRATOS_API(DIGITAL_TWIN_APPLICATION) DisplacementSensor : public Sensor
class KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) DisplacementSensor : public Sensor
{
public:
///@name Type Definitions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,4 +212,9 @@ void Sensor::PrintData(std::ostream& rOStream) const
DataValueContainer::PrintData(rOStream);
}

// template instantiations
template KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) void Sensor::AddContainerExpression<ModelPart::NodesContainerType>(const std::string&, typename ContainerExpression<ModelPart::NodesContainerType>::Pointer);
template KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) void Sensor::AddContainerExpression<ModelPart::ConditionsContainerType>(const std::string&, typename ContainerExpression<ModelPart::ConditionsContainerType>::Pointer);
template KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) void Sensor::AddContainerExpression<ModelPart::ElementsContainerType>(const std::string&, typename ContainerExpression<ModelPart::ElementsContainerType>::Pointer);

} /* namespace Kratos.*/
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ namespace Kratos {
///@name Kratos Classes
///@{

class Sensor: public AdjointResponseFunction, public DataValueContainer
class KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) Sensor: public AdjointResponseFunction, public DataValueContainer
{
public:
///@name Type Definitions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,8 +142,8 @@ void SensorView<TContainerType>::PrintData(std::ostream& rOStream) const
}

// template insantiations
template class SensorView<ModelPart::NodesContainerType>;
template class SensorView<ModelPart::ConditionsContainerType>;
template class SensorView<ModelPart::ElementsContainerType>;
template KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) class SensorView<ModelPart::NodesContainerType>;
template KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) class SensorView<ModelPart::ConditionsContainerType>;
template KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) class SensorView<ModelPart::ElementsContainerType>;

} /* namespace Kratos.*/
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ namespace Kratos {
///@{

template<class TContainerType>
class SensorView
class KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) SensorView
{
public:
///@name Type Definitions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ namespace Kratos
///@name Kratos Classes
///@{

class KRATOS_API(DIGITAL_TWIN_APPLICATION) StrainSensor : public Sensor
class KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) StrainSensor : public Sensor
{
public:
///@name Type Definitions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,11 @@ void ControlUtils::ClipContainerExpression(
}

// template instantiations
template void ControlUtils::AssignEquivalentProperties(ModelPart::ConditionsContainerType&, ModelPart::ConditionsContainerType&);
template void ControlUtils::AssignEquivalentProperties(ModelPart::ElementsContainerType&, ModelPart::ElementsContainerType&);
template KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) void ControlUtils::AssignEquivalentProperties(ModelPart::ConditionsContainerType&, ModelPart::ConditionsContainerType&);
template KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) void ControlUtils::AssignEquivalentProperties(ModelPart::ElementsContainerType&, ModelPart::ElementsContainerType&);

template void ControlUtils::ClipContainerExpression(ContainerExpression<ModelPart::NodesContainerType>&, const double, const double);
template void ControlUtils::ClipContainerExpression(ContainerExpression<ModelPart::ConditionsContainerType>&, const double, const double);
template void ControlUtils::ClipContainerExpression(ContainerExpression<ModelPart::ElementsContainerType>&, const double, const double);
template KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) void ControlUtils::ClipContainerExpression(ContainerExpression<ModelPart::NodesContainerType>&, const double, const double);
template KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) void ControlUtils::ClipContainerExpression(ContainerExpression<ModelPart::ConditionsContainerType>&, const double, const double);
template KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) void ControlUtils::ClipContainerExpression(ContainerExpression<ModelPart::ElementsContainerType>&, const double, const double);

} /* namespace Kratos.*/
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ namespace Kratos {
///@name Kratos Classes
///@{

class ControlUtils
class KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) ControlUtils
{
public:
///@name Public static operations
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,8 @@ ContainerExpression<TContainerType> SmoothClamper<TContainerType>::ProjectBackwa


// template instantiations
template class SmoothClamper<ModelPart::NodesContainerType>;
template class SmoothClamper<ModelPart::ConditionsContainerType>;
template class SmoothClamper<ModelPart::ElementsContainerType>;
template KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) class SmoothClamper<ModelPart::NodesContainerType>;
template KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) class SmoothClamper<ModelPart::ConditionsContainerType>;
template KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) class SmoothClamper<ModelPart::ElementsContainerType>;

} /* namespace Kratos.*/
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ namespace Kratos {
///@{

template<class TContainerType>
class SmoothClamper
class KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) SmoothClamper
{
public:
///@name Type definitions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace Kratos {
/// Short class definition.
/** Detail class definition.
*/
class KRATOS_API(DIGITAL_TWIN_APPLICATION) KratosSystemIdentificationApplication : public KratosApplication {
class KRATOS_API(SYSTEM_IDENTIFICATION_APPLICATION) KratosSystemIdentificationApplication : public KratosApplication {
public:
///@name Type Definitions
///@{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,17 @@
namespace Kratos
{
// Adjoint variables
KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(DIGITAL_TWIN_APPLICATION, ADJOINT_DISPLACEMENT)
KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(DIGITAL_TWIN_APPLICATION, ADJOINT_ROTATION)

KRATOS_DEFINE_APPLICATION_VARIABLE(DIGITAL_TWIN_APPLICATION, double, PERTURBATION_SIZE)
KRATOS_DEFINE_APPLICATION_VARIABLE(DIGITAL_TWIN_APPLICATION, bool, ADAPT_PERTURBATION_SIZE)
KRATOS_DEFINE_APPLICATION_VARIABLE(DIGITAL_TWIN_APPLICATION, bool, HAS_ROTATION_DOFS)

KRATOS_DEFINE_APPLICATION_VARIABLE(DIGITAL_TWIN_APPLICATION, std::string, SENSOR_NAME)
KRATOS_DEFINE_APPLICATION_VARIABLE(DIGITAL_TWIN_APPLICATION, std::string, TEST_ANALYSIS_NAME)
KRATOS_DEFINE_APPLICATION_VARIABLE(DIGITAL_TWIN_APPLICATION, double, SENSOR_MEASURED_VALUE)
KRATOS_DEFINE_APPLICATION_VARIABLE(DIGITAL_TWIN_APPLICATION, double, SENSOR_ERROR)
KRATOS_DEFINE_APPLICATION_VARIABLE(DIGITAL_TWIN_APPLICATION, int, SENSOR_ELEMENT_ID)
KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(SYSTEM_IDENTIFICATION_APPLICATION, ADJOINT_DISPLACEMENT)
KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(SYSTEM_IDENTIFICATION_APPLICATION, ADJOINT_ROTATION)

KRATOS_DEFINE_APPLICATION_VARIABLE(SYSTEM_IDENTIFICATION_APPLICATION, double, PERTURBATION_SIZE)
KRATOS_DEFINE_APPLICATION_VARIABLE(SYSTEM_IDENTIFICATION_APPLICATION, bool, ADAPT_PERTURBATION_SIZE)
KRATOS_DEFINE_APPLICATION_VARIABLE(SYSTEM_IDENTIFICATION_APPLICATION, bool, HAS_ROTATION_DOFS)

KRATOS_DEFINE_APPLICATION_VARIABLE(SYSTEM_IDENTIFICATION_APPLICATION, std::string, SENSOR_NAME)
KRATOS_DEFINE_APPLICATION_VARIABLE(SYSTEM_IDENTIFICATION_APPLICATION, std::string, TEST_ANALYSIS_NAME)
KRATOS_DEFINE_APPLICATION_VARIABLE(SYSTEM_IDENTIFICATION_APPLICATION, double, SENSOR_MEASURED_VALUE)
KRATOS_DEFINE_APPLICATION_VARIABLE(SYSTEM_IDENTIFICATION_APPLICATION, double, SENSOR_ERROR)
KRATOS_DEFINE_APPLICATION_VARIABLE(SYSTEM_IDENTIFICATION_APPLICATION, int, SENSOR_ELEMENT_ID)

} // namespace Kratos

0 comments on commit f196a33

Please sign in to comment.