muMECH
1.0
|
The header file of usefull macros. More...
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <float.h>
#include <limits.h>
#include "gelib.h"
Go to the source code of this file.
Namespaces | |
mumech | |
Macros | |
#define | WIN32_LEAN_AND_MEAN |
#define | _NOCASE |
Case sensitive. More... | |
#define | CASE false |
#define | _STRCMP _STRCASECMP |
#define | _STRNCMP strncmp |
#define | MACHINE_EPS 1E-16 |
#define | MACHINE_EPS_PRN 1E-8 |
#define | PI 3.14159265358979323846 |
#define | SQRT_2 1.41421356237309504880168872 |
#define | _1_BY_SQRT_2 0.70710678118654752440084436 |
#define | FileError(fmode, name) fprintf(stderr,"\033[31mCannot %s file %s in file %s line %d\033[0m\n", fmode, name, __FILE__,__LINE__); exit( 1 ); |
#define | FOPEN(file, name, mode) if( ( file = fopen(name,mode) ) == NULL) {FileError("open", name)} |
#define | FCLOSE(file) if (( fclose(file) ) == EOF) {FileError("close","")} |
#define | FREAD(var, number, file) fread ( &var, sizeof ( var ), number, file ) |
#define | FWRITE(var, number, file) fwrite ( &var, sizeof ( var ), number, file ) |
#define | NotImplementedFunction(name) _errorr2( "Function %s : not implemented yet\n", name ); |
#define | Dprintf(format, var) printf (" %s = ", #var ); printf ( format, var ) |
#define | Dfprintf(file, format, var) fprintf (file," %s = ", #var ); fprintf ( file, format, var ) |
#define | NfoPrint(string, value) fprintf( stderr, "\033[31mNotice : \033[0m" ); fprintf(stderr,string,value); |
#define | SWAP(a, b, dummy) dummy=a;a=b;b=dummy |
#define | SQR(a) ( ( a ) * ( a ) ) |
#define | CUB(a) ( ( a ) * ( a ) * ( a ) ) |
#define | MIN(a, b) ( ( ( a ) < ( b ) ) ? ( a ) : ( b ) ) |
#define | MAX(a, b) ( ( ( a ) > ( b ) ) ? ( a ) : ( b ) ) |
#define | MID(a, b, c) MIN( MIN(MAX(a,b), MAX(b,c)), MIN(MAX(b,c), MAX(c,a)) ) |
#define | CDMAX(a, b) (((SQR(real(a))+SQR(imag(a)))>(SQR(real(b))+SQR(imag(b)))) ? (a) : (b)) |
#define | CReMAX(a, b) ( ( real( a ) > real( b ) ) ? ( a ) : ( b ) ) |
#define | CImMAX(a, b) ( ( imag( a ) > imag( b ) ) ? ( a ) : ( b ) ) |
#define | ABS(a) ( ( ( a ) > 0 ) ? ( a ) : ( -1 * ( a ) ) ) |
#define | odd_or_even(a) ( ( ( ( a ) % 2 ) > 0 ) ? ODD : EVEN ) |
#define | DEG2RAD(a) ( ( a ) * PI / 180. ) |
#define | RAD2DEG(a) ( ( a ) * 180. / PI ) |
#define | INFTY 1e+36 |
#define | delta(i, j) ( ( i == j ) ? 1. : 0. ) |
#define | jump_empties(p_str) while( ( * p_str ) <= ' ' && ( * p_str ) != '\0' ){ p_str++; } |
#define | jump_word(p_str) while( ( * p_str ) > ' ' && ( * p_str ) != '\0' ){ p_str++; } |
#define | sscanff(p_str, format, p_var) jump_empties( p_str ); sscanf( p_str, format, p_var ); jump_word( p_str ) |
#define | VEC_SQR_NORM_2D(x, y) ( SQR( x ) + SQR( y ) ) |
#define | VEC_SQR_NORM_3D(x, y, z) ( SQR( x ) + SQR( y ) + SQR( z ) ) |
#define | VEC_NORM(x, y, z) sqrt( VEC_SQR_NORM_3D( x, y, z ) ) |
#define | DIST_POINTS_SQR_2D(P1, P2) ( SQR( P1[0] - P2[0] ) + SQR( P1[1] - P2[1] ) ) |
#define | DIST_POINTS_SQR_3D(P1, P2) ( SQR( P1[0] - P2[0] ) + SQR( P1[1] - P2[1] ) + SQR( P1[2] - P2[2] ) ) |
The header file of usefull macros.
Definition in file macros.h.
#define _STRCMP _STRCASECMP |
Definition at line 57 of file macros.h.
Referenced by mumech::cmp_vtk_file(), mumech::Mesh::file_type_s2e(), mumech::Problem::file_type_s2e(), parameters(), mumech::Mesh::read_geometry_file_vtk(), and mumech::Problem::read_input_file().
#define _STRNCMP strncmp |
Definition at line 58 of file macros.h.
Referenced by mumech::Problem::read_input_file().
#define ABS | ( | a | ) | ( ( ( a ) > 0 ) ? ( a ) : ( -1 * ( a ) ) ) |
Definition at line 118 of file macros.h.
Referenced by mumech::polynomialRootSolution::GetCubicPolyRoots(), mumech::eshelbySoluLambda::giveLambda(), mumech::InclusionRecord3D::point_is_affected(), mumech::MatrixOperations::printAnisoField(), mumech::MatrixOperations::printField(), mumech::printMatrix(), mumech::printVector(), mumech::printVectorRowForm(), mumech::legendreIntegrals::rc(), mumech::legendreIntegrals::rd(), mumech::legendreIntegrals::rf(), and mumech::legendreIntegrals::rj().
#define CASE false |
Definition at line 56 of file macros.h.
Referenced by mumech::cmp_vtk_file(), mumech::Mesh::read_geometry_file_vtk(), mumech::Problem::read_input_file(), mumech::scan_DATA_field_head(), and mumech::scan_FIELD_head().
#define CImMAX | ( | a, | |
b | |||
) | ( ( imag( a ) > imag( b ) ) ? ( a ) : ( b ) ) |
#define CReMAX | ( | a, | |
b | |||
) | ( ( real( a ) > real( b ) ) ? ( a ) : ( b ) ) |
Definition at line 110 of file macros.h.
Referenced by mumech::eshelbySoluLambda::giveLambda().
#define CUB | ( | a | ) | ( ( a ) * ( a ) * ( a ) ) |
Definition at line 98 of file macros.h.
Referenced by mumech::polynomialRootSolution::GetCubicPolyRoots(), and mumech::eshelbySoluLambda::giveLambdaSeccondDerivative().
#define DEG2RAD | ( | a | ) | ( ( a ) * PI / 180. ) |
Definition at line 132 of file macros.h.
Referenced by mumech::Inclusion::EAdeg2rad().
#define delta | ( | i, | |
j | |||
) | ( ( i == j ) ? 1. : 0. ) |
Definition at line 187 of file macros.h.
Referenced by tinyxml2::XMLUtil::GetCharacterRef(), mumech::Comparison::give_energy_MM(), tinyxml2::XMLDocument::Parse(), and meso3d::transform_from_global_to_local().
#define Dfprintf | ( | file, | |
format, | |||
var | |||
) | fprintf (file," %s = ", #var ); fprintf ( file, format, var ) |
Definition at line 209 of file macros.h.
Referenced by mumech::Inclusion::find_overlap().
#define DIST_POINTS_SQR_3D | ( | P1, | |
P2 | |||
) | ( SQR( P1[0] - P2[0] ) + SQR( P1[1] - P2[1] ) + SQR( P1[2] - P2[2] ) ) |
Definition at line 210 of file macros.h.
Referenced by mumech::Inclusion::find_overlap().
#define Dprintf | ( | format, | |
var | |||
) | printf (" %s = ", #var ); printf ( format, var ) |
#define FCLOSE | ( | file | ) | if (( fclose(file) ) == EOF) {FileError("close","")} |
#define FileError | ( | fmode, | |
name | |||
) | fprintf(stderr,"\033[31mCannot %s file %s in file %s line %d\033[0m\n", fmode, name, __FILE__,__LINE__); exit( 1 ); |
Definition at line 77 of file macros.h.
Referenced by mumech::CloseFile(), and mumech::OpenFile().
#define FOPEN | ( | file, | |
name, | |||
mode | |||
) | if( ( file = fopen(name,mode) ) == NULL) {FileError("open", name)} |
#define FREAD | ( | var, | |
number, | |||
file | |||
) | fread ( &var, sizeof ( var ), number, file ) |
#define FWRITE | ( | var, | |
number, | |||
file | |||
) | fwrite ( &var, sizeof ( var ), number, file ) |
#define INFTY 1e+36 |
Definition at line 143 of file macros.h.
Referenced by mumech::InclusionRecord3D::giveInclusionGeometry(), mumech::InclusionRecord2D::giveInclusionGeometry(), mumech::eshelbySoluLambda::giveLambda(), mumech::Inclusion::input_data_initialize_and_check_consistency(), and mumech::Problem::set_semiaxes_max_difference().
#define jump_empties | ( | p_str | ) | while( ( * p_str ) <= ' ' && ( * p_str ) != '\0' ){ p_str++; } |
#define jump_word | ( | p_str | ) | while( ( * p_str ) > ' ' && ( * p_str ) != '\0' ){ p_str++; } |
#define MACHINE_EPS 1E-16 |
Definition at line 68 of file macros.h.
Referenced by mumech::eshelbySoluEllipticIntegralsFlatEllipsoid::giveEllipticIntegrals(), mumech::eshelbySoluEllipticIntegralsPenny::giveEllipticIntegrals(), and mumech::eshelbySoluLambda::giveLambda().
#define MACHINE_EPS_PRN 1E-8 |
Definition at line 69 of file macros.h.
Referenced by mumech::MatrixOperations::printAnisoField(), mumech::MatrixOperations::printField(), mumech::printMatrix(), mumech::printVector(), and mumech::printVectorRowForm().
#define MAX | ( | a, | |
b | |||
) | ( ( ( a ) > ( b ) ) ? ( a ) : ( b ) ) |
Definition at line 101 of file macros.h.
Referenced by mumech::eshelbySoluEllipticIntegralsEllipsoid::getLambda(), mumech::eshelbySoluLambda::giveLambda(), mumech::legendreIntegrals::rd(), mumech::legendreIntegrals::rf(), and mumech::legendreIntegrals::rj().
#define MIN | ( | a, | |
b | |||
) | ( ( ( a ) < ( b ) ) ? ( a ) : ( b ) ) |
Definition at line 100 of file macros.h.
Referenced by mumech::legendreIntegrals::rd(), mumech::legendreIntegrals::rf(), and mumech::legendreIntegrals::rj().
#define NfoPrint | ( | string, | |
value | |||
) | fprintf( stderr, "\033[31mNotice : \033[0m" ); fprintf(stderr,string,value); |
#define NotImplementedFunction | ( | name | ) | _errorr2( "Function %s : not implemented yet\n", name ); |
#define odd_or_even | ( | a | ) | ( ( ( ( a ) % 2 ) > 0 ) ? ODD : EVEN ) |
#define PI 3.14159265358979323846 |
Definition at line 71 of file macros.h.
Referenced by mumech::InclusionRecord2D::compute_D(), mumech::InclusionRecord2D::compute_I_S(), mumech::InclusionRecord2D::compute_S_int(), mumech::InclusionRecord3D::computeVolume(), mumech::InclusionRecord2D::computeVolume(), deg2rad(), mumech::eshelbySoluUniformField::eshelbySoluUniformField(), mumech::polynomialRootSolution::GauHerQ(), mumech::polynomialRootSolution::GauLegF(), mumech::Mesh::generate_regularSphereMesh_2d(), mumech::Mesh::generate_regularSphereMesh_3d(), mumech::polynomialRootSolution::GetCubicPolyRoots(), mumech::InclusionRecord2D::getDisplacement(), mumech::eshelbySoluEllipticIntegralsEllipsoid::getLambda(), mumech::give_curvature(), mumech::eshelbySoluEllipticIntegralsEllipsoid::give_Iijpq_Derivative(), mumech::eshelbySoluEllipticIntegralsEllipsoid::give_Iipq_Derivative(), mumech::eshelbySoluEllipticIntegralsEllipsoid::giveDerivativesOfEllipticIntegrals(), mumech::eshelbySoluEllipticIntegralsSphere::giveDerivativesOfEllipticIntegrals(), mumech::eshelbySoluEllipticIntegralsSphere::giveEllipticIntegrals(), mumech::eshelbySoluUniformField::giveSijkl(), mumech::giveVolumeEllipsoid(), mumech::eshelbySoluEllipticIntegralsOblateSpheroid::I1(), mumech::eshelbySoluEllipticIntegralsOblateSpheroid::I12(), mumech::eshelbySoluEllipticIntegralsProlateSpheroid::I2(), mumech::eshelbySoluEllipticIntegralsCylinder::I2(), mumech::eshelbySoluEllipticIntegralsCylinder::I22(), mumech::eshelbySoluEllipticIntegralsProlateSpheroid::I33(), speedtest2Dx3D(), and mumech::bod_pomocny::spocitat().
#define SQR | ( | a | ) | ( ( a ) * ( a ) ) |
Definition at line 97 of file macros.h.
Referenced by mumech::eshelbySoluLambda::c_dLambda(), mumech::eshelbySoluEllipticIntegralsSphere::cIi_i(), mumech::eshelbySoluEllipticIntegralsEllipsoid::cIi_i(), mumech::eshelbySoluEllipticIntegralsSphere::cIij_i(), mumech::eshelbySoluEllipticIntegralsEllipsoid::cIij_i(), mumech::eshelbySoluEllipticIntegralsOblateSpheroid::eI(), mumech::eshelbySoluEllipticIntegralsProlateSpheroid::eI(), mumech::eshelbySoluEllipticIntegralsEllipsoid::eI(), mumech::legendreIntegrals::elle(), mumech::legendreIntegrals::ellf(), mumech::legendreIntegrals::ellpi(), mumech::eshelbySoluUniformFieldCylinder::eshelbyTensCompUniformField(), mumech::eshelbySoluUniformFieldEllipticCylinder::eshelbyTensCompUniformField(), mumech::eshelbySoluUniformFieldFlatEllipsoid::eshelbyTensCompUniformField(), mumech::eshelbySoluUniformFieldOblateSpheroid::eshelbyTensCompUniformField(), mumech::eshelbySoluUniformFieldPenny::eshelbyTensCompUniformField(), mumech::eshelbySoluUniformFieldProlateSpheroid::eshelbyTensCompUniformField(), mumech::eshelbySoluUniformField::eshelbyTensCompUniformField(), mumech::eshelbySoluEllipticIntegralsOblateSpheroid::get_b(), mumech::eshelbySoluEllipticIntegralsProlateSpheroid::get_b(), mumech::eshelbySoluEllipticIntegralsOblateSpheroid::get_d(), mumech::eshelbySoluEllipticIntegralsProlateSpheroid::get_d(), mumech::eshelbySoluEllipticIntegralsOblateSpheroid::get_delta_lambda(), mumech::eshelbySoluEllipticIntegralsProlateSpheroid::get_delta_lambda(), mumech::polynomialRootSolution::GetCubicPolyRoots(), mumech::eshelbySoluEllipticIntegralsCylinder::getLambda(), mumech::eshelbySoluEllipticIntegralsEllipticCylinder::getLambda(), mumech::eshelbySoluEllipticIntegralsOblateSpheroid::getLambda(), mumech::eshelbySoluEllipticIntegralsProlateSpheroid::getLambda(), mumech::eshelbySoluEllipticIntegralsSphere::getLambda(), mumech::eshelbySoluEllipticIntegralsEllipsoid::getLambda(), mumech::eshelbySoluEllipticIntegralsEllipsoid::give_Iijp_Derivative(), mumech::eshelbySoluEllipticIntegralsEllipsoid::give_Iijpq_Derivative(), mumech::eshelbySoluEllipticIntegralsEllipsoid::give_Iip_Derivative(), mumech::eshelbySoluEllipticIntegralsEllipsoid::give_Iipq_Derivative(), mumech::give_quadNormTwoVectors(), mumech::TransformTensors::give_Te(), mumech::TransformTensors::give_Te_3d(), mumech::eshelbySoluEllipticIntegralsSphere::giveDerivativesOfEllipticIntegrals(), mumech::eshelbySoluUniformFieldOblateSpheroid::giveDijkl(), mumech::eshelbySoluUniformFieldProlateSpheroid::giveDijkl(), mumech::eshelbySoluUniformFieldCylinder::giveDijkl(), mumech::eshelbySoluUniformFieldEllipticCylinder::giveDijkl(), mumech::eshelbySoluUniformFieldSphere::giveDijkl(), mumech::eshelbySoluUniformField::giveDijkl(), mumech::eshelbySoluEllipticIntegralsFlatEllipsoid::giveEllipticIntegrals(), mumech::eshelbySoluEllipticIntegralsPenny::giveEllipticIntegrals(), mumech::eshelbySoluEllipticIntegralsEllipsoid::giveEllipticIntegrals(), mumech::eshelbySoluEllipticIntegralsSphere::giveEllipticIntegrals(), mumech::eshelbySoluUniformFieldSphere::giveEshelbyTensorInverse(), mumech::InclusionRecord2D::giveExtStrainPert(), mumech::eshelbySoluLambda::giveLambda(), mumech::eshelbySoluLambda::giveLambdaFirstDerivative(), mumech::eshelbySoluLambda::giveLambdaSeccondDerivative(), mumech::eshelbySoluUniformFieldOblateSpheroid::giveLijkEXT(), mumech::eshelbySoluUniformFieldProlateSpheroid::giveLijkEXT(), mumech::eshelbySoluUniformFieldSphere::giveLijkEXT(), mumech::eshelbySoluUniformField::giveLijkEXT(), mumech::eshelbySoluUniformFieldOblateSpheroid::giveLijkINT(), mumech::eshelbySoluUniformFieldProlateSpheroid::giveLijkINT(), mumech::eshelbySoluUniformFieldSphere::giveLijkINT(), mumech::eshelbySoluUniformField::giveLijkINT(), mumech::eshelbySoluUniformFieldPenny::giveSijkl(), mumech::eshelbySoluUniformFieldFlatEllipsoid::giveSijkl(), mumech::eshelbySoluUniformFieldProlateSpheroid::giveSijkl(), mumech::eshelbySoluUniformFieldOblateSpheroid::giveSijkl(), mumech::eshelbySoluUniformFieldCylinder::giveSijkl(), mumech::eshelbySoluUniformFieldEllipticCylinder::giveSijkl(), mumech::eshelbySoluUniformFieldSphere::giveSijkl(), mumech::eshelbySoluUniformField::giveSijkl(), mumech::giveVectorLength(), mumech::eshelbySoluEllipticIntegralsOblateSpheroid::I1(), mumech::eshelbySoluEllipticIntegralsProlateSpheroid::I1(), mumech::eshelbySoluEllipticIntegralsEllipsoid::I1(), mumech::eshelbySoluEllipticIntegralsProlateSpheroid::I11(), mumech::eshelbySoluEllipticIntegralsEllipsoid::I11(), mumech::eshelbySoluEllipticIntegralsOblateSpheroid::I12(), mumech::eshelbySoluEllipticIntegralsEllipsoid::I12(), mumech::eshelbySoluEllipticIntegralsOblateSpheroid::I13(), mumech::eshelbySoluEllipticIntegralsProlateSpheroid::I13(), mumech::eshelbySoluEllipticIntegralsEllipsoid::I13(), mumech::eshelbySoluEllipticIntegralsProlateSpheroid::I2(), mumech::eshelbySoluEllipticIntegralsEllipticCylinder::I2(), mumech::eshelbySoluEllipticIntegralsCylinder::I2(), mumech::eshelbySoluEllipticIntegralsEllipticCylinder::I22(), mumech::eshelbySoluEllipticIntegralsCylinder::I22(), mumech::eshelbySoluEllipticIntegralsEllipsoid::I22(), mumech::eshelbySoluEllipticIntegralsEllipticCylinder::I23(), mumech::eshelbySoluEllipticIntegralsEllipsoid::I23(), mumech::eshelbySoluEllipticIntegralsOblateSpheroid::I3(), mumech::eshelbySoluEllipticIntegralsEllipticCylinder::I3(), mumech::eshelbySoluEllipticIntegralsEllipsoid::I3(), mumech::eshelbySoluEllipticIntegralsEllipticCylinder::I33(), mumech::eshelbySoluEllipticIntegralsProlateSpheroid::I33(), mumech::eshelbySoluEllipticIntegralsOblateSpheroid::I33(), mumech::eshelbySoluEllipticIntegralsEllipsoid::I33(), mumech::InclusionRecord3D::initialize(), mumech::Inclusion::input_data_initialize_and_check_consistency(), mumech::eshelbySoluEllipticIntegralsEllipsoid::nIi_i(), mumech::eshelbySoluEllipticIntegralsEllipsoid::nIij_i(), mumech::Inclusion::point_is_inside(), mumech::legendreIntegrals::rj(), and mumech::Problem::updateEpsTauInSBal().
#define sscanff | ( | p_str, | |
format, | |||
p_var | |||
) | jump_empties( p_str ); sscanf( p_str, format, p_var ); jump_word( p_str ) |
#define SWAP | ( | a, | |
b, | |||
dummy | |||
) | dummy=a;a=b;b=dummy |
Definition at line 94 of file macros.h.
Referenced by mumech::eshelbySoluLambda::giveLambdaSeccondDerivative().
#define VEC_NORM | ( | x, | |
y, | |||
z | |||
) | sqrt( VEC_SQR_NORM_3D( x, y, z ) ) |
Definition at line 204 of file macros.h.
Referenced by mumech::InclusionRecord2D::point_is_affected().
Definition at line 206 of file macros.h.
Referenced by mumech::InclusionRecord3D::point_is_affected().