Added constants, assert
This commit is contained in:
parent
b1495f4e12
commit
6ce400c7e2
@ -13,7 +13,7 @@ add_definitions(-DTRACER=1)
|
||||
# add_definitions(-DTRACER_IN_COMMON)
|
||||
|
||||
add_definitions(-DTASMET_FLOAT=64)
|
||||
|
||||
add_definitions(-DTASMET_DEBUG=1)
|
||||
#====================================================
|
||||
# Compiler settings ************************************************
|
||||
#====================================================
|
||||
|
@ -32,7 +32,7 @@ add_subdirectory(material)
|
||||
# add_subdirectory(sys)
|
||||
# add_subdirectory(var)
|
||||
|
||||
add_library(tasmet_src tasmet_tracer.cpp tasmet_exception.cpp)
|
||||
add_library(tasmet_src tasmet_tracer.cpp tasmet_exception.cpp tasmet_assert.cpp)
|
||||
target_link_libraries(tasmet_src
|
||||
# duct
|
||||
# mech
|
||||
|
22
src/tasmet_assert.cpp
Normal file
22
src/tasmet_assert.cpp
Normal file
@ -0,0 +1,22 @@
|
||||
// tasmet_assert.cpp
|
||||
//
|
||||
// last-edit-by: J.A. de Jong
|
||||
//
|
||||
// Description:
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "tasmet_assert.h"
|
||||
|
||||
#if TASMET_DEBUG == 1
|
||||
#include <cassert>
|
||||
|
||||
void tasmet_assertfailed(const char* filename,size_t linenr,const char* statement) {
|
||||
cout << "ASSERT: file " << filename << ", line " << linenr <<". " << statement << endl;
|
||||
assert(false);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
37
src/tasmet_assert.h
Normal file
37
src/tasmet_assert.h
Normal file
@ -0,0 +1,37 @@
|
||||
// tasmet_assert.h
|
||||
//
|
||||
// Author: J.A. de Jong
|
||||
//
|
||||
// Description:
|
||||
// Implementation of asserts
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
#pragma once
|
||||
#ifndef TASMET_ASSERT_H
|
||||
#define TASMET_ASSERT_H
|
||||
|
||||
#ifndef TASMET_DEBUG
|
||||
#include <type_traits>
|
||||
static_assert(false, "TASMET_DEBUG macro not defined. Please set it to 1 or 0");
|
||||
#endif
|
||||
|
||||
#if TASMET_DEBUG == 1
|
||||
#include <cassert>
|
||||
#include "tasmet_io.h"
|
||||
|
||||
void tasmet_assertfailed(const char* filename,size_t linenr,const char* statement);
|
||||
|
||||
#define tasmet_assert(assertion,txt) \
|
||||
if (!(assertion)) \
|
||||
{ \
|
||||
tasmet_assertfailed(__FILE__, __LINE__, txt ); \
|
||||
} \
|
||||
} \
|
||||
|
||||
#else
|
||||
#define tasmet_assert(assertion,txt)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#endif // TASMET_ASSERT_H
|
||||
//////////////////////////////////////////////////////////////////////
|
97
src/tasmet_constants.h
Normal file
97
src/tasmet_constants.h
Normal file
@ -0,0 +1,97 @@
|
||||
// constants.h
|
||||
//
|
||||
// Author: J.A. de Jong
|
||||
//
|
||||
// Description:
|
||||
// Definition of important constants
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
#pragma once
|
||||
#ifndef CONSTANTS_H
|
||||
#define CONSTANTS_H
|
||||
#include "tasmet_enum.h"
|
||||
#include "tasmet_types.h"
|
||||
|
||||
template<typename T>
|
||||
T max(T t1,T t2) { return t1>t2?t1:t2;}
|
||||
template<typename T>
|
||||
T min(T t1,T t2) { return t1>t2?t2:t1;}
|
||||
|
||||
// Variables and their names
|
||||
// Unfortunately to let the code compile with Swig v 2.0, strongly
|
||||
// typed enums are not supported. Therefore this is a normal
|
||||
// enumerated type and not an enum class.
|
||||
DECLARE_ENUM(Varnr,
|
||||
none, // None
|
||||
rho, // Density
|
||||
m, // Mass flow (rho*U)
|
||||
T, // Temperature
|
||||
p, // Pressure
|
||||
Ts, // Temperature of the solid
|
||||
Tw, // Temperature of the solid wall
|
||||
mH, // Enthalpy flow (Watts)
|
||||
U, // Volume flow (m^3/s)
|
||||
u, // Velocity (U/Sf)
|
||||
mu, // Momentum flux
|
||||
Q, // Heat flow
|
||||
Qs, // Solid heat Flow
|
||||
F, // A mechanical domain force [N]
|
||||
x, // A mechanical displacement [m]
|
||||
Z, // A mechanical impedance [N/m]
|
||||
mEkin // Kinetic energy flow (Watts)
|
||||
);
|
||||
|
||||
DECLARE_ENUM(Pos,left=0,right=1);
|
||||
|
||||
DECLARE_ENUM(EqType,
|
||||
Con, // Continuity
|
||||
Mom, // Momentum
|
||||
Ene, // Energy-like equation
|
||||
Ise, // Isentropic
|
||||
Sta, // State
|
||||
Sol, // SolidEnergy
|
||||
SolTwEq, // Solid wall temperature equation
|
||||
Mu_is_m_u, // momentumflow is massflow_squared div
|
||||
// density*cs_area
|
||||
BcEqP,
|
||||
BcEqu,
|
||||
BcEqStateBc
|
||||
);
|
||||
|
||||
|
||||
|
||||
namespace constants {
|
||||
|
||||
typedef unsigned us;
|
||||
|
||||
const us mingp=4; // Minimum number of gridpoints
|
||||
const us maxgp=3000; // Maximum number of gridpoints
|
||||
|
||||
const us maxNf=100; // Maximum number of frequencies
|
||||
const d minomg=1e-3; // Minimal oscillation frequency
|
||||
const d maxomg=1e5;
|
||||
|
||||
const int maxsegs=30; // Maximum number of segments in a TaSystem
|
||||
const int maxndofs=600000; // Maximum number of DOFS
|
||||
|
||||
const d minp=1e0;
|
||||
const d maxp=1e7;
|
||||
const d minT=2; // Minimal temperature
|
||||
const d maxT=2000; // Maximal temperature
|
||||
|
||||
const d p0=101325; // Reference pressure [Pa]
|
||||
const d T0=293.15; // Reference temperature [K]
|
||||
|
||||
// These variable numbers are important, as they determine the
|
||||
// position of these variables in the array in cell.h
|
||||
// const int rho=1;
|
||||
// const int m=2;
|
||||
// const int T=3;
|
||||
// const int p=4;
|
||||
// const int Ts=5;
|
||||
// Number of variables
|
||||
const int nvars_reserve=7;
|
||||
const int neqs_reserve=7;
|
||||
|
||||
} // namespace constants
|
||||
|
||||
#endif // CONSTANTS_H
|
Loading…
Reference in New Issue
Block a user