Memosa-FVM  0.2
Tangent.h File Reference
#include "NumType.h"
#include "misc.h"
Include dependency graph for Tangent.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Tangent
 

Macros

#define TANGENT_RELATIONAL_OPS(opname, _op_)
 
#define TANGENT_BINARY_OP(opname, _op_)
 

Functions

 TANGENT_BINARY_OP (operator+,+=)
 
 TANGENT_BINARY_OP (operator-,-=)
 
 TANGENT_BINARY_OP (operator*,*=)
 
 TANGENT_BINARY_OP (operator/,/=)
 
Tangent operator+ (const Tangent &a)
 
Tangent operator- (const Tangent &a)
 
ostream & operator<< (ostream &os, const Tangent &a)
 
Tangent sin (const Tangent &a)
 
Tangent fabs (const Tangent &a)
 
Tangent sqrt (const Tangent &a)
 

Macro Definition Documentation

#define TANGENT_BINARY_OP (   opname,
  _op_ 
)
Value:
Tangent opname(const Tangent& a, const Tangent& b) \
{ \
return Tangent(a) _op_ b; \
} \
Tangent opname(const Tangent& a, const double& b) \
{ \
return Tangent(a) _op_ b; \
} \
Tangent opname(const double& a, const Tangent& b) \
{ \
return Tangent(a) _op_ b; \
} \
Tangent opname(const Tangent& a, const int& b) \
{ \
return Tangent(a) _op_ b; \
} \
Tangent opname(const int& a, const Tangent& b) \
{ \
return Tangent(a) _op_ b; \
} \

Definition at line 264 of file Tangent.h.

#define TANGENT_RELATIONAL_OPS (   opname,
  _op_ 
)
Value:
bool opname(const Tangent& o) const \
{ \
return (_v _op_ o._v); \
} \
bool opname(const double& o) const \
{ \
return (_v _op_ o); \
} \
bool opname(const int& o) const \
{ \
return (_v _op_ double(o)); \
}

Definition at line 161 of file Tangent.h.

Function Documentation

Tangent fabs ( const Tangent a)

Definition at line 312 of file Tangent.h.

References Tangent::_dv, and Tangent::_v.

Referenced by NumTypeTraits< double >::accumulateOneNorm(), NumTypeTraits< float >::accumulateOneNorm(), KSConnectivity< T >::addToOther(), KSConnectivity< T >::addToSelf(), COMETDiscretizer< T >::ArrayAbs(), COMETESBGKDiscretizer< T >::ArrayAbs(), Octree::borderDistance(), Kspace< T >::calcBandTemp(), COMETModel< T >::calcDomainStats(), Kspace< T >::calcModeTemp(), Kspace< T >::calcPhononTemp(), Kspace< T >::calcTemp(), ElectricModel< T >::Impl::calculateEquilibriumParameters(), COMETDiscretizer< T >::COMETSolveCoarse(), COMETDiscretizer< T >::COMETSolveFine(), COMETDiscretizer< T >::COMETSolveFull(), MeshMetricsCalculator< T >::computeGridInterpolationMatrices(), MeshMetricsCalculator< T >::computeIBInterpolationMatricesCells(), MeshMetricsCalculator< T >::computeSolidInterpolationMatrices(), ElectricModel< T >::Impl::computeSolidSurfaceForce(), CRMatrix< T_Diag, T_OffDiag, X >::createCoarsening(), TrapBandTunnelingDiscretization< X, Diag, OffDiag >::discretize(), InjectionDiscretization< X, Diag, OffDiag >::discretize(), TunnelingDiscretization< X, Diag, OffDiag >::discretize(), NumTypeTraits< double >::doubleMeasure(), NumTypeTraits< float >::doubleMeasure(), COMETESBGKDiscretizer< T >::findResid(), COMETDiscretizer< T >::findResidCoarse(), COMETDiscretizer< T >::findResidFine(), COMETESBGKDiscretizer< T >::findResidFine(), COMETDiscretizer< T >::findResidFull(), ShockTube< T >::getRoeFlux(), ShockTube< T >::getRoeFlux_Frink(), ArrowHeadMatrix< X, K >::getTraceAbs(), SquareMatrixESBGK< T >::getTraceAbs(), CometMatrix< T >::getTraceAbs(), SquareMatrix< T, N >::getTraceAbs(), ScatteringKernel< T >::getTypeIIsource(), ScatteringKernel< T >::getTypeIsource(), inverseGauss(), ScatteringKernel< T >::IterateToEquilibrium(), KineticModel< T >::NewtonsMethodBGK(), COMETModel< T >::NewtonsMethodBGK(), KineticModel< T >::NewtonsMethodESBGK(), COMETModel< T >::NewtonsMethodESBGK(), Kspace< T >::NewtonSolve(), vanLeer::operator()(), ScatteringKernel< T >::ReadType1(), ScatteringKernel< T >::ReadType2(), COMETDiscretizer< T >::scaledResid(), SquareMatrix< T, N >::Solve(), SquareMatrixESBGK< T >::Solve(), ScatteringKernel< T >::updateSource(), and ScatteringKernel< T >::updateSource2().

313 {
314  return Tangent(fabs(a._v), (a._v > 0 ? a._dv : -a._dv));
315 }
double _dv
Definition: Tangent.h:260
double _v
Definition: Tangent.h:259
Tangent fabs(const Tangent &a)
Definition: Tangent.h:312
Tangent operator+ ( const Tangent a)

Definition at line 291 of file Tangent.h.

292 {
293  return a;
294 }
Tangent operator- ( const Tangent a)

Definition at line 296 of file Tangent.h.

References Tangent::_dv, and Tangent::_v.

297 {
298  return Tangent(-a._v,-a._dv);
299 }
double _dv
Definition: Tangent.h:260
double _v
Definition: Tangent.h:259
ostream& operator<< ( ostream &  os,
const Tangent a 
)
inline

Definition at line 301 of file Tangent.h.

References Tangent::print().

302 {
303  a.print(os);
304  return os;
305 }
void print(ostream &os) const
Definition: Tangent.h:184
Tangent sin ( const Tangent a)

Definition at line 307 of file Tangent.h.

References Tangent::_dv, and Tangent::_v.

Referenced by Kspace< T >::Kspace(), Quadrature< X >::Quadrature(), and MPM::setandwriteParticles().

308 {
309  return Tangent(sin(a._v), a._dv*cos(a._v));
310 }
double _dv
Definition: Tangent.h:260
Tangent sin(const Tangent &a)
Definition: Tangent.h:307
double _v
Definition: Tangent.h:259
Tangent sqrt ( const Tangent a)

Definition at line 317 of file Tangent.h.

References Tangent::_dv, and Tangent::_v.

Referenced by PhononInterface< X >::applyInterfaceCondition(), PhononBoundary< X >::applyReflectingWall(), ElectricModel< T >::Impl::calculateEquilibriumParameters(), Mesh::COMETfindCommonFaces(), KineticModel< T >::computeIBFaceDsf(), COMETModel< T >::computeIBFaceDsf(), KineticModel< T >::computeSolidFaceDsf(), COMETModel< T >::computeSolidFaceDsf(), StructureModel< T >::Impl::computeVMStress(), StructureModel< T >::Impl::creepInit(), TrapBandTunnelingDiscretization< X, Diag, OffDiag >::discretize(), CaptureDiscretization< X, Diag, OffDiag >::discretize(), EmissionDiscretization< X, Diag, OffDiag >::discretize(), InjectionDiscretization< X, Diag, OffDiag >::discretize(), TunnelingDiscretization< X, Diag, OffDiag >::discretize(), WallDiscretization< X, Diag, OffDiag >::discretize(), StructurePlasticDiscretization< T, Diag, OffDiag >::discretize(), PlateSourceDiscretization< T, Diag, OffDiag >::discretize(), Kspace< T >::findKnStats(), COMETInterface< T >::findWallTemp(), COMETModel< T >::FinishCoarseMesh(), PlateModel< T >::Impl::getMoment(), Octree::getNode(), ShockTube< T >::getRoeFlux(), ShockTube< T >::getRoeFlux_Frink(), PhononModel< T >::init(), COMETModel< T >::init(), Distance::inverse_of_transformed_distance(), mag(), main(), COMETInterface< T >::makeDMMcoeffs(), COMETModel< T >::MakeInteriorCoarseMesh(), Octree::Naive_getNode(), Vector< int, 2 >::normalize(), Quadrature< X >::Quadrature(), slipJumpMomentumBC(), ShockTube< T >::solve(), NumTypeTraits< int >::sqrt(), NumTypeTraits< double >::sqrt(), and NumTypeTraits< float >::sqrt().

318 {
319  double sqv = sqrt(a._v);
320  return Tangent(sqv, sqv==0.0 ? 0 : 0.5*a._dv/sqv);
321 }
Tangent sqrt(const Tangent &a)
Definition: Tangent.h:317
double _dv
Definition: Tangent.h:260
double _v
Definition: Tangent.h:259
TANGENT_BINARY_OP ( operator+  ,
 
)
TANGENT_BINARY_OP ( operator-  ,
 
)
TANGENT_BINARY_OP ( operator*  ,
 
)
TANGENT_BINARY_OP ( operator/  ,
 
)