KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
Macros
checks.h File Reference
#include <cstring>
#include <limits>
#include <cmath>
#include "includes/exception.h"
Include dependency graph for checks.h:

Go to the source code of this file.

Macros

#define KRATOS_CHECKS_H_INCLUDED
 
macros
#define KRATOS_CHECK(IsTrue)   if(!(IsTrue)) KRATOS_ERROR << "Check failed because " << #IsTrue << " is not true" << std::endl;
 
#define KRATOS_CHECK_IS_FALSE(IsFalse)   if(IsFalse) KRATOS_ERROR << "Check failed because " << #IsFalse << " is not false" << std::endl;
 
#define KRATOS_CHECK_EQUAL(a, b)   if(!((a) == (b))) KRATOS_ERROR << "Check failed because " << #a << " is not equal to " << #b
 
#define KRATOS_CHECK_NOT_EQUAL(a, b)   if((a) == (b)) KRATOS_ERROR << "Check failed because " << #a << " is equal to " << #b
 
#define KRATOS_CHECK_STRING_EQUAL(a, b)   if(a.compare(b) != 0) KRATOS_ERROR << "Check failed because \"" << a << "\" is not equal to \"" << b << "\"" << std::endl;
 
#define KRATOS_CHECK_STRING_NOT_EQUAL(a, b)   if(a.compare(b) == 0) KRATOS_ERROR << "Check failed because \"" << a << "\" is equal to \"" << b << "\"" << std::endl;
 
#define KRATOS_CHECK_C_STRING_EQUAL(a, b)   if((strcmp(a,b) != 0)) KRATOS_ERROR << "Check failed because \"" << a << "\" is not equal to \"" << b << "\"" << std::endl;
 
#define KRATOS_CHECK_C_STRING_NOT_EQUAL(a, b)   if((strcmp(a,b) == 0)) KRATOS_ERROR << "Check failed because \"" << a << "\" is equal to \"" << b << "\"" << std::endl;
 
#define KRATOS_CHECK_LESS(a, b)   if(!(a < b)) KRATOS_ERROR << "Check failed because " << #a << " is greater than or equal to " << #b << std::endl;
 
#define KRATOS_CHECK_LESS_EQUAL(a, b)   if(!(a <= b)) KRATOS_ERROR << "Check failed because " << #a << " is greater than " << #b << std::endl;
 
#define KRATOS_CHECK_GREATER(a, b)   if(!(a > b)) KRATOS_ERROR << "Check failed because " << #a << " is less than or equal to " << #b
 
#define KRATOS_CHECK_GREATER_EQUAL(a, b)   if(!(a >= b)) KRATOS_ERROR << "Check failed because " << #a << " is less than " << #b
 
#define KRATOS_CHECK_STRING_CONTAIN_SUB_STRING(TheString, SubString)
 
#define KRATOS_CHECK_NEAR(a, b, tolerance)
 
#define KRATOS_CHECK_RELATIVE_NEAR(a, b, tolerance)
 
#define KRATOS_CHECK_DOUBLE_EQUAL(a, b)   KRATOS_CHECK_NEAR(a,b,std::numeric_limits<double>::epsilon())
 
#define KRATOS_CHECK_VECTOR_NEAR(a, b, tolerance)
 
#define KRATOS_CHECK_VECTOR_RELATIVE_NEAR(a, b, tolerance)
 
#define KRATOS_CHECK_VECTOR_EQUAL(a, b)   KRATOS_CHECK_VECTOR_NEAR(a,b,std::numeric_limits<double>::epsilon())
 
#define KRATOS_CHECK_MATRIX_NEAR(a, b, tolerance)
 
#define KRATOS_CHECK_MATRIX_RELATIVE_NEAR(a, b, tolerance)
 
#define KRATOS_CHECK_MATRIX_EQUAL(a, b)   KRATOS_CHECK_MATRIX_NEAR(a,b,std::numeric_limits<double>::epsilon())
 
#define KRATOS_CHECK_EXCEPTION_IS_THROWN(TheStatement, TheErrorMessage)
 
#define KRATOS_CHECK_VARIABLE_IN_NODAL_DATA(TheVariable, TheNode)
 
#define KRATOS_CHECK_DOF_IN_NODE(TheVariable, TheNode)
 
#define KRATOS_DEBUG_CHECK(IsTrue)   if(false) KRATOS_CHECK(IsTrue)
 
#define KRATOS_DEBUG_CHECK_IS_FALSE(IsFalse)   if(false) KRATOS_CHECK_IS_FALSE(IsFalse)
 
#define KRATOS_DEBUG_CHECK_EQUAL(a, b)   if(false) KRATOS_CHECK_EQUAL(a,b)
 
#define KRATOS_DEBUG_CHECK_NOT_EQUAL(a, b)   if(false) KRATOS_CHECK_NOT_EQUAL(a,b)
 
#define KRATOS_DEBUG_CHECK_C_STRING_EQUAL(a, b)   if(false) KRATOS_CHECK_C_STRING_EQUAL(a,b)
 
#define KRATOS_DEBUG_CHECK_C_STRING_NOT_EQUAL(a, b)   if(false) KRATOS_CHECK_C_STRING_NOT_EQUAL(a,b)
 
#define KRATOS_DEBUG_CHECK_LESS(a, b)   if(false) KRATOS_CHECK_LESS(a,b)
 
#define KRATOS_DEBUG_CHECK_LESS_EQUAL(a, b)   if(false) KRATOS_CHECK_LESS_EQUAL(a,b)
 
#define KRATOS_DEBUG_CHECK_GREATER(a, b)   if(false) KRATOS_CHECK_GREATER(a,b)
 
#define KRATOS_DEBUG_CHECK_GREATER_EQUAL(a, b)   if(false) KRATOS_CHECK_GREATER_EQUAL(a,b)
 
#define KRATOS_DEBUG_CHECK_STRING_CONTAIN_SUB_STRING(TheString, SubString)   if(false) KRATOS_CHECK_STRING_CONTAIN_SUB_STRING(TheString, SubString)
 
#define KRATOS_DEBUG_CHECK_NEAR(a, b, tolerance)   if(false) KRATOS_CHECK_NEAR(a,b, tolerance)
 
#define KRATOS_DEBUG_CHECK_DOUBLE_EQUAL(a, b)   if(false) KRATOS_CHECK_DOUBLE_EQUAL(a,b)
 
#define KRATOS_DEBUG_CHECK_VECTOR_NEAR(a, b, tolerance)   if (false) KRATOS_CHECK_VECTOR_NEAR(a, b, tolerance)
 
#define KRATOS_DEBUG_CHECK_VECTOR_EQUAL(a, b)   if (false) KRATOS_CHECK_VECTOR_EQUAL(a, b)
 
#define KRATOS_DEBUG_CHECK_MATRIX_NEAR(a, b, tolerance)   if (false) KRATOS_CHECK_MATRIX_NEAR(a, b, tolerance)
 
#define KRATOS_DEBUG_CHECK_MATRIX_EQUAL(a, b)   if (false) KRATOS_CHECK_MATRIX_EQUAL(a, b)
 
#define KRATOS_DEBUG_CHECK_EXCEPTION_IS_THROWN(TheStatement, TheErrorMessage)   if(false) KRATOS_CHECK_EXCEPTION_IS_THROWN(TheStatement, TheErrorMessage)
 
#define KRATOS_DEBUG_CHECK_VARIABLE_IN_NODAL_DATA(TheVariable, TheNode)   if(false) KRATOS_CHECK_VARIABLE_IN_NODAL_DATA(TheVariable, TheNode)
 
#define KRATOS_DEBUG_CHECK_DOF_IN_NODE(TheVariable, TheNode)   if(false) KRATOS_CHECK_DOF_IN_NODE(TheVariable, TheNode)
 

Macro Definition Documentation

◆ KRATOS_CHECKS_H_INCLUDED

#define KRATOS_CHECKS_H_INCLUDED