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(-DTRACER_IN_COMMON)
|
||||||
|
|
||||||
add_definitions(-DTASMET_FLOAT=64)
|
add_definitions(-DTASMET_FLOAT=64)
|
||||||
|
add_definitions(-DTASMET_DEBUG=1)
|
||||||
#====================================================
|
#====================================================
|
||||||
# Compiler settings ************************************************
|
# Compiler settings ************************************************
|
||||||
#====================================================
|
#====================================================
|
||||||
|
@ -32,7 +32,7 @@ add_subdirectory(material)
|
|||||||
# add_subdirectory(sys)
|
# add_subdirectory(sys)
|
||||||
# add_subdirectory(var)
|
# 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
|
target_link_libraries(tasmet_src
|
||||||
# duct
|
# duct
|
||||||
# mech
|
# 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